afab6397ed
We don't want to fallback to libwayland's defaults, so WAYLAND_DISPLAY needs to be set in env. Since IPC in the future is going to use XDG_RUNTIME_DIR, we also require it. Because these functions will be used in other parts of the code as well, we rework the build system slightly to accommodate it. Co-authored-by: Érico Nogueira <erico.erc@gmail.com> |
||
---|---|---|
include | ||
protocol | ||
.build.yml | ||
.gitignore | ||
event-loop.c | ||
ipc-addr.c | ||
ipc.c | ||
kanshi.1.scd | ||
kanshi.5.scd | ||
LICENSE | ||
main.c | ||
meson_options.txt | ||
meson.build | ||
parser.c | ||
README.md |
kanshi
kanshi allows you to define output profiles that are automatically enabled and disabled on hotplug. For instance, this can be used to turn a laptop's internal screen off when docked.
This is a Wayland equivalent for tools like autorandr. kanshi can be used on Wayland compositors supporting the wlr-output-management protocol.
Join the IRC channel: #emersion on Libera Chat.
Building
Dependencies:
- wayland-client
- scdoc (optional, for man pages)
- libvarlink (optional, for remote control functionality)
meson build
ninja -C build
Usage
mkdir -p ~/.config/kanshi && touch ~/.config/kanshi/config
kanshi
Configuration file
Each output profile is delimited by brackets. It contains several output
directives (whose syntax is similar to sway-output(5)
). A profile will be
enabled if all of the listed outputs are connected.
profile {
output LVDS-1 disable
output "Some Company ASDF 4242" mode 1600x900 position 0,0
}
profile {
output LVDS-1 enable scale 2
}
Contributing
The upstream repository can be found on SourceHut. Open tickets on the SourceHut tracker. Send patches on the mailing list or open pull requests on the GitHub mirror.
License
MIT