---
name: "shikane"
section: "1"
platform: "linux"
package: "shikane"
version: "1.1.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/shikane"
---

# shikane(1)

deterministic dynamic output configuration

## 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)](/shikane/5.md) 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 *warn*ings and *error*s 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)](/shikane/5.md).

## BUGS

Hopefully less than 4.

## AUTHORS

Hendrik Wolff ⟨hendrik.wolff@agdsn.me⟩\\c

## SEE ALSO

[**shikane**(5)](/shikane/5.md), [**shikanectl**(1)](/shikanectl/1.md)
