Config - felixfung/skippy-xd GitHub Wiki
Skippy-xd offers many configuration options, specified via a configuration file.
There are many options for you to customize. This is a Youtube video that provides a walkthrough of the config file:
HOWEVER, THIS WIKI IS MORE UP TO DATE THAN THE YOUTUBE VIDEO!
Config file location
When not specified, skippy-xd searches for the config file in these locations, in this order:
- $XDG_CONFIG_HOME/skippy-xd/skippy-xd.rc
- $HOME/.config/skippy-xd/skippy-xd.rc
- $XDG_CONFIG_DIRS/skippy-xd.rc
- /etc/xdg/skippy-xd.rc
In most case, you would want to copy from /etc/xdg/skippy-xd.sample.rc to ~/.config/skippy-xd/skippy-xd.rc, and edit to your liking.
Optionally, if no config file is found, default values are applied.
Config file reloading
Starting version 0.6.0, skippy-xd allows reloading the config file, and starting version 0.9.0, skippy-xd allows reloading the config file with a new path!
Use the --config and --config-reload command line options to specify the config file path, as follows:
- When used with
--start-daemonoption, the daemon reads the config file from the specified path - When
skippy-xd --config config_pathis invoked, it tells the daemon to reload the config file at the new path - When
skippy-xd --config-reloadis invoked, it tells the daemon to reload the config file at the existing path skippy-xd --configandskippy-xd --config-reloadmay be used in conjunction with skippy-xd invocation to achieve immediate effect, e.g.skippy-xd --config config_path --expose.
Notable config options
Below are some notable config options and explanations. The full list of config options are many, and you are free to explore them fully.
Client List
This option specifies how/what skippy-xd queries xlib or the window manager, regarding the list of windows, in order of z-order.
If you see that skippy-xd is displaying windows that you do not expect to see, or that skippy-xd is missing windows, or the z-order is wrong, or even crashes, please try XQueryTree, _NET_CLIENT_LIST, or _WIN_CLIENT_LIST.
Please see https://github.com/felixfung/skippy-xd/wiki/Adoption#compatible-desktop-environmentswindow-managers for known solutions in your environment.
Pseudo transparency
If you use standalone X compositors such as picom, skippy-xd can use these compositors to handle transparency. Otherwise, turn on pseudoTrans option for pseudo transparency.
In general, pseudo transparency consumes less resources and gives smoother skippy-xd animation, whereas real transparency offered by picom or similar may offer more visual cues during animation.
Some compositors, e.g. KDE compositor, are not compatible with skippy-xd transparency and requires using pseudo transparency.
Multimonitor
Skippy-xd supports multi-monitor setups. This includes both physical monitors, and XScreens. See https://github.com/felixfung/skippy-xd/wiki/Advanced-Uses-and-Special-Set-Ups#multi-monitor for detailed information.
Layout
Control the windowing layout for switch and expose with switchLayout and exposeLayout.
For switch, when switch layout is xd (default), there is no animation; when switch layout is cosmos, there is animation.
In addition, there are plenty more interesting options for you to explore.
Appearance
With animationRefresh, you can control the animation FPS.
With animationDuration, you can control the animation speed, in milliseconds.
Background option allows you to control the background when skippy-xd is activated. You have option to choose a wallpaper, tint (default), or leaving the background unchanged.
Filler/Livepreview
Filler windows are those never seen since the start of skippy-xd daemon, and are displayed as boxes with icons.
Livepreview are windows that have been shown at least once.
When livepreview windows are unmapped, or what skippy-xd calls "shadow": those that are minimized, shaded, or on different virtual desktops, it uses the opacity on filler/opacity.
Highlight/Multiselect
Starting version 0.10.2, the multi-select command parameter option allows selecting multiple windows, allowing extensive scripting possibilities. Multi-select mode is indicated by the multiselect tint.
Panel and desktop windows
Starting version 0.8.0, skippy-xd can show panels, of type _NET_WM_WINDOW_TYPE_DOCK, controlled in the panel section.
And starting version 0.9.0, desktop windows of type _NET_WM_WINDOW_TYPE_DESKTOP can be shown, controlled in the desktop section.
You may tint these windows with the backgroundTinting option, to be use in conjunction with the background, so that they are tinted together with the background.
For panels, setting reserveSpace = true would constrain the active desktop geometry within the panels. Desktop windows do not offer this option.
Label
Previously called "tooltip", it is renamed as "label".
Starting version 0.8.0, skippy-xd supports label to show the window name of all displayed window.
Starting version 0.10.3, label has option to display window class or window title.
Bindings
Configure keyboard keys to change highlighted windows (e.g. highlight the window left of current one), as well as mouse click actions (e.g. select that window).
Multiple key entries can be set up for each action, separated by space .
See the sample config file on valid key options and modifiers. Alternatively use xev program for valid key options and modifiers. This is case sensitive.
Full config file
See https://github.com/felixfung/skippy-xd/blob/master/skippy-xd.rc.
