SKIPPY-XD(1)

NAME
skippy-xd - lightweight X11 window selector with switch/expose/paging.

SYNOPSIS
skippy-xd [COMMAND]

DESCRIPTION
skippy-xd is a lightweight, window-manager-agnostic window selector for the X server. It provides three window metaphors: switch (closest to Alt-Tab), expose (inspired by macOS), paging (overview of virtual desktops). These can be activated via toggle or pivot activation modes.

The application works as a daemon that can be controlled via command-line interface. When run without arguments, it activates expose mode once without connecting to the daemon.

  PARAMETERS

[NO PARAMETER]
    Activate expose mode without connecting to any daemon processes.

Daemon Management

  --start-daemon
Start skippy-xd as daemon. The daemon collects live preview
    snapshots of windows in the background. These are used for unmapped windows: usually windows that are minimized or shaded windows, or windows on other virtual desktops.

  --stop-daemon
Terminate the skippy-xd daemon.

Metaphors

  --switch
Connect to the daemon and activate switch.
    Switch is closest to Alt-Tab. Combine with --next or --prev to focus the next/previous window.

  --expose
Connect to the daemon and activate expose.
    In expose, inspired by MacOS, windows fly out and do not overlap, allowing selection by keyboard and/or mouse.

  --paging
Connect to the daemon and activate paging.
    Paging displays overview of all virtual desktops.

Activation Modes

  --toggle
Toggle skippy-xd on/off.

  --pivot
KEY Activate skippy-xd via pivot mode with the specified pivot key. For example in Alt-Tab, Alt is the pivot key, required to be held for activation. When the pivot key is released, the currently highlighted window is selected. By default, expose and paging activates on toggle mode, while switch activates on pivot mode with Alt as pivot key.

  --multi-select
Multi-select mode. Independent of toggle/pivot modes,
    multi-select mode allows selecting multiple windows/desktops, and returns all selected window/desktop IDs, enabling sophisticated scripting.

Window Filtering

  --wm-class
CLASS
    Display only windows belonging to the specified WM class. Use ',', '!' for OR, NOT logic. Use '*' for wildcard.

  --wm-title
TITLE
    Display only windows matching the specified title. Use ',', '!' for OR, NOT logic. Use '*' for wildcard.

  --wm-status
STATUS
    Display only windows with the specified status. Use ',', '!' for OR, NOT logic. Valid status values are:

    sticky
        Sticky windows (visible on all desktops)

    shaded
        Shaded windows

    minimized
        Minimized windows

    float
        Floating windows

    maximized_vert
        Vertically maximized windows

    maximized_horz
        Horizontally maximized windows

    maximized
        Fully maximized windows

  --desktop
DESKTOP
    Display only windows on the specified virtual desktop. Use ',', '!' for OR, NOT logic. Use -1 to show windows from all desktops.

Navigation

  --prev
Focus the previous window.

  --next
Focus the next window.

Configuration

  --config
PATH
    Loads config file at specified path.

  --config-reload
Reloads current config file without changing path.

Utilities

  --help
Display help message.

  --debug-log
Prints detailed debugging logs.

Return Value
    Skippy-xd returns values based on whether it is the activating process:

    If the skippy-xd command activated skippy-xd, it is guaranteed to return after the completion of skippy-xd selection, with the window ID (in case of switch and expose) or virtual desktop ID (in case of paging).

    If the skippy-xd command did not activate skippy-xd, e.g. with toggling off of expose, or --next invocations of switch, then the command will return immediately with -1.

FILES

~/.config/skippy-xd/skippy-xd.rc
    User configuration file.

/etc/xdg/skippy-xd.rc
    System wide configuration file.

EXAMPLES

  Starting the Daemon

skippy-xd --start-daemon

    Starts the skippy-xd daemon in the background.

skippy-xd --start-daemon --config ~/.config/skippy-xd/skippy-xd.rc

    Starts the skippy-xd daemon in the background using the specified configuration file.

  Window Switching

skippy-xd --switch --next

    Focus on the next window in switch mode.

skippy-xd --switch --prev

    Focus on the previous window in switch mode.

  Expose

skippy-xd --expose

    Show live preview of all windows on the current desktop.

  Paging

skippy-xd --paging

    Display overview of all virtual desktops.

  Filtered Window Selection

skippy-xd --expose --wm-class firefox

    Show only Firefox windows in expose mode.

skippy-xd --expose --desktop 1

    Show windows only from desktop 1.

  Additional Examples

skippy-xd --expose --pivot Super_L --next

    Activate expose via pivot mode with Super_L as the pivot key, highlighting the next window.

skippy-xd --expose --desktop -1 --wm-class firefox --wm-title '!firefox' --wm-status float,maximized_vert --config ~/.config/skippy-xd/other.rc

    Show Firefox windows from all desktops that are floating or vertically maximized, with custom config file, excluding those whose window title contains 'firefox'.

COMPATIBILITY
skippy-xd works with any X Window Manager and desktop environment. See the project wiki for a comprehensive compatibility list:

    https://github.com/felixfung/skippy-xd/wiki/Adoption

SUPPORTED IMAGE FORMATS
skippy-xd supports the following image formats for icons, backgrounds:

    PNG (with libpng support)

    JPEG (with libjpeg support)

    GIF (with libgif support)

FEATURES

\(bu
    Live window preview

\(bu
    Unmapped window preview

\(bu
    MacOS-inspired Exposé view

\(bu
    Virtual desktop overview

\(bu
    Advanced window filtering

\(bu
    Configurable invocation, activation, key bindings, behaviour

\(bu
    Scriptable and modular by design

SEE ALSO
skippy-xd can be set up for many advanced customizations and set ups, including invocation method, scripting, dashboard set up, multimonitor set up, config file options, combination with other apps. For detailed usage instructions, advanced tips, and configuration guidance, please see:

    Wiki: https://github.com/felixfung/skippy-xd/wiki/Advanced-Uses-and-Special-Set-Ups

    YouTube: https://www.youtube.com/@skippy-xd

AUTHORS
skippy-xd was originally developed by Hyriand and is currently maintained by Felix Fung.

LICENSE
skippy-xd is released under the GNU General Public License v2.0 or later. See the COPYING file included with the distribution for details.

BUGS
For bug reports and feature requests, visit:

    https://github.com/felixfung/skippy-xd/issues https://github.com/felixfung/skippy-xd/discussions

VERSION