Is there a way to set shortcut-keys for specific opened windows in Gnome?

It is possible to achieve this with a python script. The script requires python-wnck and python-gtk to be installed in order to work, although I think these are installed by default anyway.

Copy and paste this into a text editor and save in a sensible place (eg. switch.py in your home folder):

#!/usr/bin/env python2
import wnck
import gtk
import sys
import time

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()

for w in windows:
    if len(sys.argv) > 1:
        if w.get_application().get_name() == sys.argv[1]:
            w.activate(int(time.time()+1))
            break
    else:
        print("Application name of window with title " + repr(w.get_name()) + " is " + repr(w.get_application().get_name()))

You can then set up the keyboard shortcut by opening Keyboard Shortcuts (System->Preferences->Keyboard Shortcuts).

Click add to create a new shortcut.

enter image description here

Use the command bash -c 'python ~/switch.py Terminal' (this is assuming you saved it as switch.py in your home folder). Replace 'Terminal' with the application name of the window you want to switch to. To find out the application names of the currently opened windows, run python ~/switch.py in a terminal.

enter image description here

You can then assign your preferred keyboard combination to this action.


If you prefer an existing package there is wmctrl which supports many different window managers:

The tool provides command line access to almost all the features defined in the EWMH specification. It can be used, for example, to get information about the window manager, to get a detailed list of desktops and managed windows, to switch and resize desktops, to make windows full-screen, always-above or sticky, and to activate, close, move, resize, maximize and minimize them.

Install it:

sudo apt-get install wmctrl

List existing windows:

wmctrl -l

And map:

wmctrl -a <WIN>

to a keyboard shortcut.


This is possible in Kubuntu (kwin)... click on the titlebar of an application choose "advanced->Window Shortcut". I know that doesn't exactly answer your question - I am curious to know if Gnome/Unity can do this as well.