QUICKSHELL(1)

NAME
quickshell - flexible QtQuick-based desktop shell toolkit

SYNOPSIS
quickshell [OPTIONS] [SUBCOMMAND]

DESCRIPTION
Quickshell is a toolkit for building status bars, widgets, lockscreens, and other desktop components using Qt6 and QtQuick. It supports both Wayland and X11, with integrations for PipeWire, MPRIS, system tray, PAM, Bluetooth, and compositor-specific features for Hyprland and Sway/i3. Configuration is done declaratively in QML with live hot-reloading.

OPTIONS

-h, --help
    Print help message and exit.

-V, --version
    Print quickshell's version and exit.

-n, --no-duplicate
    Exit immediately if another instance of the given config is running.

-d, --daemonize
    Detach from the controlling terminal.

  Config Selection
Quickshell detects configurations as named directories under each XDG config directory as <xdg dir>/quickshell/<config name>/shell.qml.

If <xdg dir>/quickshell/shell.qml exists, it will be registered as the 'default' configuration, and no subdirectories will be considered. If --config is not passed, 'default' will be assumed.

Alternatively, a config can be selected by path with --path.

-p, --path TEXT
    Path to a QML file or config folder. Excludes --config and --manifest. Environment variable: QS_CONFIG_PATH.

-c, --config TEXT
    Name of a quickshell configuration to run. Excludes --path. Environment variable: QS_CONFIG_NAME.

-m, --manifest TEXT
    [DEPRECATED] Path to a quickshell manifest. Excludes --path. Environment variable: QS_MANIFEST.

  Logging

--no-color
    Disables colored logging. Can also be disabled by setting the NO_COLOR environment variable.

--log-times
    Log timestamps with each message.

--log-rules TEXT
    Log rules to apply, in the format of QT_LOGGING_RULES.

-v, --verbose
    Increases log verbosity. -v shows INFO level internal logs. -vv shows DEBUG level internal logs.

  Debugging

--debug PORT
    Open the given port (0-65535) for a QML debugger connection.

--waitfordebug
    Wait for a QML debugger to connect before executing the configuration. Requires --debug.

  Subcommand Filtering
Subcommands that operate on running instances accept the following filter:

--any-display
    Do not restrict the match to instances launched on the current display.

SUBCOMMANDS

log Print quickshell logs.

list
    List running quickshell instances.

kill
    Kill quickshell instances.

ipc Communicate with other Quickshell instances. Includes per-handler listener subcommands for IpcHandler signals registered by the running shell.

msg [DEPRECATED] Moved to ipc call.

EXAMPLES

Run the default configuration:
    qs

Run a named configuration:
    qs -c myconfig

Run from a specific path:
    qs -p ~/myshell

Run a specific QML file:
    qs -p ~/myshell/randomfile.qml

ENVIRONMENT

QS_CONFIG_PATH
    Path to a QML file or config folder.

QS_CONFIG_NAME
    Name of a quickshell configuration to run.

NO_COLOR
    If set to a non-empty value, disables colored logging.

SEE ALSO
qs(1)

AUTHORS
Quickshell was written by outfoxxed <outfoxxed@outfoxxed.me>.