shikane(1)
π shikane(1) π
okay so bestie, welcome to shikane β that's pronounced /ΚiΛkaΛnΙ/ btw, say it with me β and it's a general commands manual page, which is just fancy speak for "here's how to use this thing from ur terminal." buckle up, she's iconic β¨
πΈ NAME πΈ
shikane β deterministic dynamic output configuration. yes. all of those words. she's giving accuracy, she's giving determinism, she's giving main character energy π
π¦ SYNOPSIS π¦
shikane
shikane [-hV] [-o] [-c file]
shikane [--oneshot] [--config file]
β¨ DESCRIPTION β¨
so shikane (/ΚiΛkaΛnΙ/) is a dynamic output configuration tool and her whole personality is accuracy and determinism. no cap.
she automatically detects and configures ur connected displays based on a set of profiles. each profile specifies a set of outputs plus extra parameters (like mode, position, scale β the works). a profile gets applied automatically if all the specified outputs and modes can be perfectly matched to whatever displays are currently connected and what they're capable of. (peep shikane(5) for the deets, iykyk π«Ά)
basically she's the Wayland equivalent of tools like autorandr. her goal? fully replace kanshi, surpass its inaccuracies, and add new features while she's at it. queen behavior honestly π. shikane works with Wayland compositors that support versions >=3 of the wlr-output-management protocol (e.g., compositors using wlroots v0.16).
π OPTIONS π
-h,--helpβ prints help information. ur little "what does this do again" button π-c,--config fileβ the path to a config file. tell her where ur settings live.-o,--oneshotβ turns on oneshot mode. she exits after a profile has been applied, or if no profile was matched at all. one and done, periodt β¨-s,--socket pathβ overrides the default path of the IPC socket. for when u wanna be picky about where the socket lives π₯-T,--timeout timeoutβ waits fortimeoutmilliseconds before processing changes [default:0]. patience is a virtue ig πΈ-V,--versionβ prints version information. know ur queen's era π
π ENVIRONMENT π
SHIKANE_LOGβ controls at what log levelshikaneand her modules print messages tostderr. the available log levels areerror,warn,info,debugandtrace; sorted from highest to lowest priority. a lower log level includes messages from higher ones. settingSHIKANE_LOGtotracewill let you see everything. setting it tooffdisables all logging entirely.
this variable also lets u filter by modules, and it accepts a comma-separated list:
SHIKANE_LOG=shikane=warn,shikane::matching=debug
the example above will only show warnings and errors from shikane except for the matching module, where log messages of level debug and above are shown. very demure, very mindful π§
Note: the logging output and filtering is not a stable interface and may be subject to change at any time. so don't get too attached bestie π
SHIKANE_LOG_STYLEβ controls if colors and styles with ANSI characters are used for log output. possible values areauto,alwaysandnever. defaults toauto. aesthetic choices are valid πSHIKANE_LOG_TIMEβ enables logging of prefixed timestamps if set to1. time stamps for the girlies β
π FILES π
shikane reads her configuration from $XDG_CONFIG_HOME/shikane/config.toml by default. the program exits with an error if no config file is found β so like, she needs her config, don't leave her hanging π. the config file format is documented in shikane(5).
π BUGS π
hopefully less than 4.
(i'm not kidding, that's genuinely what it says. iconic.)
π AUTHORS π
Hendrik Wolff hendrik.wolff@agdsn.me
π SEE ALSO π
okay that's the whole page bestie, go configure ur displays and slay π β¨
β this edition of the manual was brought to you by shikane 1.1.1, dated 2026-06-23. take care of her, she's a 1.1.1 girlie ππ·
π¦ where this page comes from
- arch rolling: shikane 1.1.1-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms