Skip to content

Config file

Felix Fung edited this page Jun 26, 2023 · 13 revisions

Basic app usage

This is some hard-coded differences between the 3 app metaphors:

behaviour switch expose paging
layout always XD user config always grid
prev/next ordering always row-row always column-column always row-row
animation never animation user config user config
virtual desktop filtering user config user config all desktops

Lazy compositing

If you use standalone X compositors such as picom, you can allow them to handle transparency, by turning on lazyTrans.

Virtual desktop filtering

skippy-xd allows config option on whether to show windows only on current virtual desktop, or on all virtual desktops. For paging, all windows on all virtual desktops are always shown. For switch and expose, switchShowAllDesktops and exposeShowAllDesktops are config options to enable/disable filtering.

Layout

For expose, two layouts are available:

exposeLayout=xd uses the same layout as switch, maximizing screen estate.

exposeLayout=boxy tends to preserve window positions, thus guiding the eye more.

Sample config file

# Copy this to ~/.config/skippy-xd/skippy-xd.rc and edit it to your liking
#
# Notes:
#
# - File Syntax:
#   Comments must be on their own seperate lines that start with a #
#   You cannot append # comment after a settings line or a section header
#
# - colors can be anything XAllocNamedColor can handle
#   (like "black" or "#000000")
#
# - fonts are Xft font descriptions
#
# - booleans are "true" or anything but "true" (-> false)
#
# - opacity is an integer in the range of 0-255
#
# - brightness is a floating point number (with 0.0 as neutral)
#
# - Picture specification:
#   [WIDTHxHEIGHT] [orig|scale|scalek|tile] [left|mid|right] [left|mid|right]
#   [COLOR|#FFFFFFFF] [PATH]
#
# - keysUp, keysDown, keysLeft, keysRight:
#   selects the window in the direction compared to the current selected window,
#   without wrapping
#
# - keysPrev, keysNext:
#   selects window previous or next to current one, in up->down, left->right
#   ordering, wrapping per column and per row
#   
#   Examples:
#   background = 500x400 tile right mid #FF0000 /home/richard/screenshots/256.png
#   background = orig mid mid #FF000080
#
# - [bindings] for miwMouse[1,2,3] can bind to "no" (do nothing), "focus"
#   (focus to window), "iconify", "shade-ewmh" (toggle window shade state),
#   "close-icccm" (close window with ICCCM method), "close-ewmh" (close
#   window with EWMH method), or "destroy" (forcefully destroy the window).
#

[general]

# File path of skippy-xd pipe daemon communication
pipePath = /tmp/skippy-xd-fifo

# Background picture when skippy-xd is activated
background =

# Frequency to update pixmaps
updateFreq = 60.0

# Allow other compositors such as picom handle transparency
lazyTrans = false

# Move the mouse cursor when skippy is activated
movePointer = false

# Set = 0 to switch off animations
# for switch, there is never animation
animationDuration = 200

# Relative minimal distance between windows
distance = 50

# Whether to display window frames
includeFrame = true

# Whether to show the window bigger than its original size
allowUpscale = true

# Choose whether to show shadow windows:
# windows that are minimized, shaded, or on other virtual desktops
showShadow = true

# exposeLayout=xd uses the same layout as switcher, maximizing screen estate
# exposeLayout=boxy tends to preserve window positions, thus guiding the eye more
exposeLayout = boxy

# For switch and expose,
# Whether to limit window select on current virtual desktop
# Or allow window selection on all virtual desktops
# Paging always show all desktops
switchShowAllDesktops = true
exposeShowAllDesktops = false

# Show window previews with rounded corners,
# with corner radius in pixels
cornerRadius = 5

# Icon visual parameters
preferredIconSize = 48
showIconsOnThumbnails = true
iconFillSpec = orig mid mid #00FFFF
fillSpec = orig mid mid #FFFFFF

[xinerama]
showAll = true

[normal]
tint = black
tintOpacity = 0
opacity = 200

[highlight]
tint = #101020
tintOpacity = 64
opacity = 255

[shadow]
tint = #040404
tintOpacity = 0
opacity = 128

[tooltip]
show = true
followsMouse = true
offsetX = 20
offsetY = 20
align = left
border = #ffffff
background = #404040
opacity = 128
text = #ffffff
textShadow = black
font = fixed-11:weight=bold

[bindings]
miwMouse1 = focus
miwMouse2 = close-ewmh
miwMouse3 = iconify
keysUp = Up w
keysDown = Down s
keysLeft = Left a
keysRight = Right d
keysPrev = p b
keysNext = Tab n f
keysExitCancelOnPress = Escape BackSpace x q
keysExitCancelOnRelease =
keysExitSelectOnPress = Return space
keysExitSelectOnRelease = Super_L Super_R Alt_L Alt_R ISO_Level3_Shift

General

This section deals with generic configurations, which deals with window filtering, layout, display options.

Xinerama

Skippy-xd supports multimonitor through xinerama.

Normal/Highlight/Shadow

Display options for different windows. Highlighted window is the one to he selected. Shadow window are those that are "unmapped": those that are minimized, shaded, or on different virtual desktops, as managed by your window manager.

Tooltip

Skippy-xd supports tooltip to show the window name of the highlighted window.

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.

Alt-Tab setup

If you want to set up Alt-Tab to trigger switch (and Shift-Alt-Tab to trigger switch-prev), set up via your environmental hot keys, map Alt-Tab to skippy-xd --switch and Shift-Alt-Tab to skippy-xd --switch-prev. In the skippy-xd config file, set keysExitSelectOnRelease to Alt_L (and optionally also Alt_R).