.\" Automatically generated by Pandoc 3.1.12.1 .\" .\" Define V font for inline verbatim, using C font in formats .\" that render this, and otherwise B font. .ie "\f[CB]x\f[]"x" \{\ . ftr V B . ftr VI BI . ftr VB B . ftr VBI BI .\} .el \{\ . ftr V CR . ftr VI CI . ftr VB CB . ftr VBI CBI .\} .ad l .TH "shikane" "1" "2025\-03\-04" "shikane 1.0.1" .nh .SH NAME shikane \- deterministic dynamic output configuration .SH SYNOPSIS \f[B]shikane\f[R] .PD 0 .P .PD \f[B]shikane\f[R] [\f[B]\-hV\f[R]] [\f[B]\-o\f[R]] [\f[B]\-c\f[R] \f[I]file\f[R]] .PD 0 .P .PD \f[B]shikane\f[R] [\f[B]\-\-oneshot\f[R]] [\f[B]\-\-config\f[R] \f[I]file\f[R]] .SH DESCRIPTION shikane (/ʃiˈkaːnə/) is a dynamic output configuration tool focusing on accuracy and determinism. .PP 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 \f[B]shikane\f[R](5) for details.) .PP 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). .SH OPTIONS .TP \f[B]\-h\f[R], \f[B]\-\-help\f[R] Print help information .TP \f[B]\-c\f[R], \f[B]\-\-config\f[R] \f[I]file\f[R] Path to a config \f[I]file\f[R] .TP \f[B]\-o\f[R], \f[B]\-\-oneshot\f[R] Enable oneshot mode .RS .PP Exit after a profile has been applied or if no profile was matched .RE .TP \f[B]\-s\f[R], \f[B]\-\-socket\f[R] \f[I]path\f[R] Override the default path of the IPC socket .TP \f[B]\-T\f[R], \f[B]\-\-timeout\f[R] \f[I]timeout\f[R] Wait for \f[I]timeout\f[R] milliseconds before processing changes [default: 0] .TP \f[B]\-V\f[R], \f[B]\-\-version\f[R] Print version information .SH ENVIRONMENT .TP \f[B]SHIKANE_LOG\f[R] Controls at what log level shikane and its modules print messages to stderr. Available log levels are \f[I]error\f[R], \f[I]warn\f[R], \f[I]info\f[R], \f[I]debug\f[R] and \f[I]trace\f[R]; sorted from highest to lowest priority. A lower log level includes messages from higher ones. Setting \f[B]SHIKANE_LOG\f[R] to \f[I]trace\f[R] will let you see everything. Setting it to \f[I]off\f[R] disables all logging. .RS .PP This variable allows filtering by modules and accepts a comma\-separated list: \f[B]SHIKANE_LOG\f[R]=\f[I]shikane=warn\f[R],\f[I]shikane::matching=debug\f[R] will only show \f[I]warn\f[R]ings and \f[I]error\f[R]s from shikane except for the matching module where log message of level \f[I]debug\f[R] and above are shown. .PP Note: The logging output and filtering is not a stable interface and may be subject to change at any time. .RE .TP \f[B]SHIKANE_LOG_STYLE\f[R] Controls if colors and styles with ANSI characters are used for log output. Possible values are \f[I]auto\f[R], \f[I]always\f[R] and \f[I]never\f[R]. Defaults to \f[I]auto\f[R]. .TP \f[B]SHIKANE_LOG_TIME\f[R] Enables logging of prefixed timestamps if set to \f[I]1\f[R]. .SH FILES shikane reads its configuration from \f[B]$XDG_CONFIG_HOME/shikane/config.toml\f[R] by default. The program exits with an error if no config \f[I]file\f[R] is found. The config file format is documented in \f[B]shikane\f[R](5). .SH BUGS Hopefully less than 4. .SH AUTHORS Hendrik Wolff \c .MT hendrik.wolff@agdsn.me .ME \c .SH SEE ALSO \f[B]shikane\f[R](5), \f[B]shikanectl\f[R](1)