mavak / superswitcher

Automatically exported from code.google.com/p/superswitcher
GNU General Public License v2.0
0 stars 0 forks source link

SuperSwitcher is a (more feature-ful) replacement for the Alt-Tab window switching behavior and Ctrl-Alt-Left/Right/Up/Down workspace switching behavior that is currently provided by Metacity.

When running, use the "Super" key (also known as the "Windows" key) to switch between windows and workspaces. This key is usually found between the Ctrl and Alt keys on the keyboard.

Super-Tab works just like Alt-Tab does (with and without Shift), but also:

Super-Up and Super-Down cycles through all windows in the current workspace in a fixed order (as opposed to Alt-Tab or Super-Tab, whose list of windows is ordered by most-recently-used first - which is good if you want recently used windows, but it's clumsy to cycle through, for example, all three or four windows in the one workspace). Hold down Shift to re-order the list instead of switching between windows.

Super-PageUp and Super-PageDown maximize and minimize the active window (or restores them if it was already maximized or minimized). Super-Ctrl-PageUp and Super-Ctrl-PageDown do this to all windows on the current workspace, not just the active one.

Super-Left and Super-Right cycles through your workspaces. Hold down Shift to also bring across the active window into the new workspace. Hold down Shift and Ctrl to bring across all windows from one workspace to the next. Unlike Metacity's Ctrl-Alt-Left and Ctrl-Alt-Right, this "loops" so that, when you get to the end of the list, you cycle back to the start.

Super-F1 moves to workspace number 1, Super-F2 moves to workspace number 2, and so on, up to Super-F12. Again, hold down Shift to bring across the active window, and both Shift and Ctrl to bring across a flock of windows, just like as described above.

Super-Insert creates a new, empty workspace. Again, hold down Shift to also bring across the active window (if there is one) into the new workspace.

Super-Delete deletes the current workspace, if it is empty. Super-Shift-Delete will delete all empty workspaces, down to a minimum of one.

Super-Escape closes the active window. Super-Ctrl-Escape will close all windows on this workspace.

Whilst holding down Super, typing regular letters or numbers will show you only those windows whose titles match that pattern. Pressing Enter (whilst still holding down Super) will then cycle through the matches, regardless of which workspace you are on. For example, if you have a lot of windows open, and you want to get to your web browser window that is showing planet.gnome.org, then hold down Super, then type "p" "l" "a" "Enter" and then release the Super key. Shift-Enter goes in the other direction than Enter (i.e., up and left with Shift, versus down and right without Shift). Use the Space key to enter multiple word fragments, such as "pla gn", to further refine your search.

Finally, when holding down Super, click on image or text representing a window or a workspace to activate it.


Building, Installing, Running...

To build (and install), the standard ./autogen.sh --prefix=/usr make (and optionally) sudo make install should work. After that, just run src/superswitcher. This will listen indefinitely for Super key presses, until you kill the process (e.g., with Ctrl-C). SuperSwitcher is best enjoyed if you automatically start the program whenever you log in. To do this, from System -> Preferences -> Sessions, go to the Startup Programs tab and add superswitcher.


Caveats

This is a alpha-version release that has been tested only on my own computer and my own keyboard, with my own preferences and my own workflow. This means that it may not work perfectly with:

Pinned aka "show on all workspaces" windows.

Workspaces arranged in more than one row.

Non en_US locales, especially non-latin and/or right-to-left languages.

Focus-follows-mouse or any other non-default focus policy.

Window managers other than metacity.

Of course, ideally it should work with all of the above. Feedback is most welcome.

Finally, since it is based solely on libwnck, it does not share the same most- recently-used windows list as metacity, and metacity handles Alt-Tab. Thus, Alt-Tab and Super-Tab may disagree on MRU ordering. As a workaround, don't use Alt-Tab anymore. :)


For users of capital-W Windows, you may also want to check out the open-sourced http://www.ntwind.com/taskswitchxp/


Updated on 2006-04-17. Nigel Tao (nigel tao myrealbox com)