Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to configure ubuntu budgie for graphical alt-tab with external program 'skippy-xd'

How to configure Ubuntu Budgie for Alt-Tab with Skippy-XD

This guide assumes that you have already compiled and installed skippy-xd from here. You will probably need to compile it from source, then sudo make install. Because there is no PPA / .deb package made for it yet.

  • Check that you have the right version of skippy, by typing on the cmdline:
skippy-xd --help | grep -i 'puzzlebox'

Now you will need to configure your desktop environment, to launch skippy-xd-runner as the program for Alt-Tab. This can be a somewhat 'messy' process. Because the configuration settings for controlling Alt-Tab behaviour are spread all around. In many different places.

1. Disable budgie-extras/budgie-wprviews applet

  • If you are running Budgie Desktop, with the bugie-extras package. You might have added a Window Previews applet to a panel.
  • That applet, while it is installed in the Panels list of Applets will be identified as Expose - show overview of windows
  • This applet overrides global keyboard shortcuts. To launch a python program on Alt-Tab.
  • You should either remove this applet, or check its settings box labelled Disable keyboard shortcuts.
  • This will stop the budgie-wprviews-applet from interfering with global Alt-Tab behaviours.

2. Disable Budgie's basic / default Alt-Tab switcher

  • Open gnome-control-center GUI program
  • Navigate to Devices --> Keyboard
  • Disable the keybinding for Switch applications (set '<Super>Tab' to '').

3. Skippy - Create new Startup Entry

  • Open the Gnome Startup Applications utility - gnome-session-properties
  • Create a new startup entry as follows:
name:    Skippy XD
command: skippy-xd --start-daemon
comment: Alt-Tab Switcher

The above step (adding an entry startup applications), is not strictly required. Because the wrapper script skippy-xd-runner will automatically start the daemon in the background, on the first invokation of alt-tab. However since that occurs an extra delay the first time you press alt-tab key. Then this startup item might be preferred.

4. Skippy - Create new Global Keyboard Shortcuts

  • Open dconf-editor GUI program
  • Navigate to the KEY at /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings
  • Be sure to check for any existing entries in this [array] and save them!

The existing entry might look something like this:

[
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-window/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-visualspace-right/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-area/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-window-clipboard/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-tilix-quake1/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-tilix-quake2/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-show-files-test/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-visualspace-left/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/windowshuffler/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-show-desktop/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-area-clipboard/'
]
  • Then append some more entries on the end, for our 4 alt-tab global keyboard shortcuts. re-save the KEY string value to something like this:
[
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-window/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-visualspace-right/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-area/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-window-clipboard/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-tilix-quake1/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-tilix-quake2/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-show-files-test/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-visualspace-left/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/windowshuffler/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-show-desktop/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/budgie-screenshot-area-clipboard/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/',
'/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/'
]
  • Navigate to the SUBFOLDER at /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings
  • You might need to create a new SUBFOLDER for custom-bindings, if it does not exist already.
  • Make sure the KEY value includes all the entries in this folder, otherwise they will stop working.
  • Setup the 4 new custom keybindings for Alt-Tab, as follows:
custom0:
  binding: <Super>Tab
  command: skippy-xd-runner --activate --next
  name: Skippy XD

custom1:
  binding: <Shift><Super>Tab
  command: skippy-xd-runner --activate --prev
  name: Skippy XD

custom2:
  binding: <Alt>Tab
  command: skippy-xd-runner --activate --next
  name: Skippy XD

custom3:
  binding: <Shift><Alt>Tab
  command: skippy-xd-runner --activate --prev
  name: Skippy XD

These are global keybindings. They are controlled by the gnome-settings-daemon. Which is a DBUS Program.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment