shikane
Date: 2026-03-18

# NAME

shikane - deterministic dynamic output configuration

# SYNOPSIS

shikane
shikane [-hV] [-o] [-c file]
shikane [--oneshot] [--config file]

# DESCRIPTION

shikane (/ʃiˈkaːnə/) is a dynamic output configuration tool focusing on accuracy and determinism.

It automatically detects and configures connected displays based on a set of profiles. Each profile specifies a set of outputs with additional parameters (e.g., mode, position, scale). A profile will be applied automatically if all specified outputs and modes can be perfectly matched to the currently connected displays and their capabilities. (See shikane(5) for details.)

This is a Wayland equivalent for tools like autorandr. It aims to fully replace kanshi, surpass its inaccuracies and add new features. shikane works with Wayland compositors supporting versions >=3 of the wlr-output-management protocol (e.g., compositors using wlroots v0.16).

# OPTIONS

-h, --help

  Print help information

-c, --config file

  Path to a config file

-o, --oneshot

  Enable oneshot mode

  Exit after a profile has been applied or if no profile was matched

-s, --socket path

  Override the default path of the IPC socket

-T, --timeout timeout

  Wait for timeout milliseconds before processing changes [default: 0]

-V, --version

  Print version information

# ENVIRONMENT

SHIKANE_LOG

  Controls at what log level shikane and its modules print messages to stderr. Available log levels are error, warn, info, debug and trace; sorted from highest to lowest priority. A lower log level includes messages from higher ones. Setting SHIKANE_LOG to trace will let you see everything. Setting it to off disables all logging.

  This variable allows filtering by modules and accepts a comma-separated list: SHIKANE_LOG=shikane=warn,shikane::matching=debug will only show warnings and errors from shikane except for the matching module where log message of level debug and above are shown.

  Note: The logging output and filtering is not a stable interface and may be subject to change at any time.

SHIKANE_LOG_STYLE

  Controls if colors and styles with ANSI characters are used for log output. Possible values are auto, always and never. Defaults to auto.

SHIKANE_LOG_TIME

  Enables logging of prefixed timestamps if set to 1.

# FILES

shikane reads its configuration from $XDG_CONFIG_HOME/shikane/config.toml by default. The program exits with an error if no config file is found. The config file format is documented in shikane(5).

# BUGS

Hopefully less than 4.

# AUTHORS

Hendrik Wolff

# SEE ALSO

shikane(5), shikanectl(1)