Go to file
Simon Ser 57c135f203
readme: switch to new profile syntax
2020-04-02 11:05:06 +02:00
include Add `exec` to execute commands when a configuration is matched 2019-09-20 12:59:04 +03:00
protocol Listen to output-management events 2019-06-01 13:25:09 +03:00
.build.yml ci: add .build.yml 2019-06-01 13:33:46 +03:00
.gitignore Add basic parser 2019-06-01 13:25:09 +03:00
LICENSE Add missing LICENSE 2019-08-12 11:45:55 +03:00
README.md readme: switch to new profile syntax 2020-04-02 11:05:06 +02:00
kanshi.1.scd Use correct formatting for variable in man page 2019-12-09 11:15:03 +01:00
kanshi.5.scd Require profiles with a name to have a profile directive 2020-03-30 15:45:31 +02:00
main.c Select highest refresh rate for selected mode when none is specified. 2020-01-13 22:41:20 +01:00
meson.build Bump to v1.1.0 2020-04-02 11:03:08 +02:00
meson_options.txt Generate man pages 2019-06-01 13:25:09 +03:00
parser.c Require profiles with a name to have a profile directive 2020-03-30 15:45:31 +02:00

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 Freenode.

Building

Dependencies:

  • wayland-client
  • scdoc (optional, for man pages)
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
}

License

MIT