G-dH / advanced-alttab-window-switcher

A highly customizable replacement for Gnome Shell's Alt-Tab window and app switchers.
GNU General Public License v3.0
151 stars 11 forks source link
gjs gnome gnome-shell-extension

AATWS - Advanced Alt-Tab Window Switcher

An extension for GNOME Shell that enhances its following built-in switchers:

Keyboard shortcuts for these switchers can be set in GNOME Settings > Keyboard Shortcuts.

AATWS - Advanced Alt-Tab Window Switcher offers effective and highly customizable navigation between windows, workspaces, monitors and also window control. With the built-in type to search feature you don't even need to see what's in the switcher list to find your window or app instantly. App Switcher has also built-in app launcher and can find application even if you don't exactly know its name. AATWS also offers activation using a mouse by hitting a top or bottom hot edge and can serve as an app launcher and replacement for dash or dock.

Window Switcher Popup

Features:

Video review on Linux Experience Youtube channel

Hotkeys

[A-Z] hotkeys can be customized in AATWS Preferences window, for each customizable action can be set up to two hotkeys for case you need to cover a non [a-zA-Z] keystroke with and without Shift modifier. You can disable any customizable hotkey by deleting its entry. Some core hotkeys cannot be customized nor disabled.

Default configuration:

Hotkey Description
H/L, Left/Right arrows - Window selection
J/K, Up/Down, PgUp/Down - Workspace selection
Ctrl+[PgUp/Down] - Reorder the current workspace - changes the workspace index -1/+1.
Shift+Arrow keys - Move the switcher popup to the adjacent monitor in corresponding direction.
Ctrl+Tab - Move the switcher popup to the next monitor, order is given by the Shell, Shift key changes direction.
Space, KP_0/KP_Ins - Toggle Shows selected window Preview mode on/off.
Q, Ctrl+Super - Switch the window Filter mode - ALL / WS / MONITOR (the Monitor mode is skipped if single monitor is used or if the secondary monitor is empty).
;/~ (the key above Tab) - In the Window mode - sort windows by application, each subsequent key press selects the first window of the next app.
-In the Application mode - iterate over windows of the selected application, Tab switches back to apps.
G - Toggle Sort windows by workspace, if Filter mode is set to ALL.
1/+/! - Toggle Single App mode - shows only windows of the selected application.
E/Insert - Toggle the Type to Search mode. If the search mode is activated by the hotkey, you can release the Alt key and the popup will not close. Selected item then must be activated using the Enter key, or you can close the popup without item activation using the Esc. Del key clears the entry.
W - Close the selected window or Quit selected application.
Ctrl+W - Close the application of the selected window.
Shift+Del - Force Close - sends a kill -9 signal to the application of selected window or to the selected application.
C - Close all windows in the list that belong to the same application as the selected window.
A - Toggle window Always on Top and also switch to window workspace and rise the window.
- The Above state is indicated by the front icon at the top instead of the bottom.
S - Toggle selected window Always on Visible Workspace. Ths state is indicated by the 'pin' icon at the top. Note, that this flag have all windows located on other than the primary monitor, when the GNOME Shell's option Workspaces on Primary Display Only is active.
X, Shift+Enter - Move selected window to the current workspace and monitor
-The current monitor is the one where the switcher popup is placed or where the mouse pointer is currently placed if the switcher was triggered by a mouse from the Custom Hot Corners - Extended extension.
M - Toggle full maximization of selected window on the current workspace and monitor. The current monitor is the one as described above.
N, Ctrl+Enter - Open new window of selected application, if the application supports it.
F - Move the selected window to a new empty workspace next to its current workspace and switches the window to the full-screen mode.
-Next use of this action on the same window moves the window back to its original workspace and turns off the full-screen mode.
Ctrl+;/~ - Toggle between Windows and Applications modes.
T - Create a thumbnail preview of the selected window and place it at the bottom right of the current monitor. You can remove the lastly created thumbnail using this hotkey while holding the Ctrl key pressed, or remove all created thumbnails while holding Ctrl and Shift keys pressed.
P - Open preferences window for this extension.
Ctrl+Up/Down/Left/Right - Move selected window/app to the adjacent workspace in front of or behind the current workspace.
Ctrl+Shift+Up/Down - Move selected window/app to the newly created workspace in front of or behind the current workspace.
Ctrl+Shift+Left/Right - In App mode with Favorites change the position of the selected favorite application in the Favorite apps list.
Shift+Super - Toggle Activities Overview
Ctrl+Shift+Super - Toggle App Grid Overview
Shift+Enter - Switch keyboard layout

Type to Search

Even in the search mode you can use all hotkeys if you press and hold the Shift modifier key.

Changelog

CHANGELOG.md

Installation

You can install this extension in several ways.

Installation from extensions.gnome.org

The easiest way to install AATWS: go to extensions.gnome.org and toggle the switch. This installation also gives you automatic updates in the future.

Installation from the latest Github release

Download the latest release archive using following command:

wget https://github.com/G-dH/advanced-alttab-window-switcher/releases/latest/download/advanced-alt-tab@G-dH.github.com.zip

Install the extension (--force switch needs to be used only if some version of the extension is already installed):

gnome-extensions install --force advanced-alttab-window-switcher@G-dH.github.com.zip

Installation of the latest development version

The most recent version in the repository is the one I'm currently running on my own systems, problems may occur, but usually nothing serious. Run following commands in the terminal (git needs to installed, navigate to the directory you want to download the source):

GNOME 45+

git clone https://github.com/G-dH/advanced-alttab-window-switcher.git
cd advanced-alttab-window-switcher/
make install

GNOME 42 - 44

git clone https://github.com/G-dH/advanced-alttab-window-switcher.git
cd advanced-alttab-window-switcher/
git checkout gnome-42-44
make install

GNOME 3.36 - 41 (no longer developed)

git clone https://github.com/G-dH/advanced-alttab-window-switcher.git
cd advanced-alttab-window-switcher/
git checkout gnome-3.36-44
make install

Enable installed extension

After installation you need to enable the extension. Only direct installation from extension.gnome.org loads the code and enables the extension immediately.

Contribution

Contributions are welcome and I will try my best to answer quickly to all suggestions.

Donations

If you like my work and want to keep me motivated, give me some feedback. But you can also buy me a coffee.