134
edits
Line 21: | Line 21: | ||
* A "selected tab" refers a tab to which a "multiple tab action" would be applied. | * A "selected tab" refers a tab to which a "multiple tab action" would be applied. | ||
* The SELECTED tab is, by default, selected and cannot be deselected. | * The SELECTED tab is, by default, selected and cannot be deselected. | ||
* By default, the anchor tab is the SELECTED tab. | * By default, the anchor tab is the SELECTED tab. | ||
* If the anchor tab is removed, the anchor tab is reset to the default. | * If the anchor tab is removed, the anchor tab is reset to the default. | ||
* There will no keyboard (non-mouse) shortcuts to handle multiple tab selection. | * There will no keyboard (non-mouse) shortcuts to handle multiple tab selection. | ||
* While the SELECTED tab is an app tab, multiple tab selection is disabled. | |||
* Tab duplication is only allowed when only one tab (the SELECTED tab) is selected. | * Tab duplication is only allowed when only one tab (the SELECTED tab) is selected. | ||
** It would be fantastic if we could remap tab duplication from ctrl+drag to alt+drag on Windows and Linux, solving both "mode within a mode" and cross-platform inconsistency problems, but the drag-and-drop code is deep down in C++, and it seems (to attempt) to adhere closely to the OS's mappings. | ** It would be fantastic if we could remap tab duplication from ctrl+drag to alt+drag on Windows and Linux, solving both "mode within a mode" and cross-platform inconsistency problems, but the drag-and-drop code is deep down in C++, and it seems (to attempt) to adhere closely to the OS's mappings. | ||
Line 30: | Line 30: | ||
Tab mousedown: | Tab mousedown: | ||
* SELECT tab | * SELECT tab | ||
* if this tab had been not already SELECTED: deselect all other tabs | * if this tab had been not already SELECTED: | ||
** deselect all other tabs | |||
* set tab as anchor tab | * set tab as anchor tab | ||
Line 43: | Line 44: | ||
Tab shift+mousedown: | Tab shift+mousedown: | ||
* deselect all tabs | * deselect all tabs | ||
* select all tabs from anchor tab to this tab | |||
Tab shift+ctrl+mousedown (shift+cmd+mousedown on OS X): | Tab shift+ctrl+mousedown (shift+cmd+mousedown on OS X): | ||
* if this tab is currently selected: deselect all tabs | * if this tab is currently selected: | ||
* otherwise: deselect all tabs | ** deselect all tabs | ||
* otherwise: | |||
** deselect all tabs | |||
** then select all tabs from anchor tab to this tab | |||
SELECTED tab drag or selected tab shift/ctrl+drag (shift/cmd+drag on OS X): | SELECTED tab drag or selected tab shift/ctrl+drag (shift/cmd+drag on OS X): | ||
* if dropped in tab container | * if dropped in tab container | ||
* if dropped in another window's tab container | ** move selected tabs to that location in the tab container | ||
* if dropped downward to the viewport | * if dropped in another window's tab container | ||
* these actions maintain the SELECTED tab | ** move selected tabs to that window at that location in the tab container | ||
* unmodified drags on non-SELECTED tabs will not work, because unmodified mousedown on a non-SELECTED tab SELECTS that tab already | * if dropped downward to the viewport or out of the window | ||
** detach selected tabs to new window; selected tabs will not be selected in new window | |||
* if dropped on the bookmarks toolbar or sidebar | |||
** bookmark the selected tabs | |||
* notes: | |||
** these actions maintain the SELECTED tab, the relative position, and the selection state of the selected tabs | |||
** unmodified drags on non-SELECTED tabs will not work, because unmodified mousedown on a non-SELECTED tab SELECTS that tab already | |||
=== Usage examples === | === Usage examples === |
edits