1
0
mirror of https://github.com/emersion/kanshi synced 2024-09-19 10:21:35 +02:00
Dynamic display configuration
Go to file
2018-09-16 14:38:46 +02:00
src Make notifier optional 2018-09-16 14:23:38 +02:00
.gitignore List saved and connected displays 2017-08-04 16:02:25 +02:00
Cargo.lock Add udev notifier 2018-09-16 14:17:04 +02:00
Cargo.toml Add udev notifier 2018-09-16 14:17:04 +02:00
README.md Add instructions to run as an udev rule 2018-09-16 14:38:46 +02:00

kanshi

Kanshi uses a configuration file and a list of available displays to choose the right settings for each display. It's useful if your window manager doesn't support multiple display configurations (e.g. i3/Sway).

For now, it only supports:

  • sysfs as backend
  • udev as notifier (optional)
  • Configuration file
    • GNOME (~/.config/monitors.xml)
    • Kanshi (see below)
  • Sway as frontend

Usage

cargo install kanshi
touch ~/.config/kanshi/config
kanshi

Configuration file

Each monitor configuration is delimited by brackets. Each line has the same syntax as sway(5).

{
	output LVDS-1 disable
	output VGA-1 resolution 1600x900 position 0,0
}

{
	output LVDS-1 vendor CMN product 0x1484 serial 0x0 resolution 1600x900 scale 2
}

Running as a udev rule

Edit /etc/udev/rules.d/95-monitor-hotplug.rules:

KERNEL=="card0", SUBSYSTEM=="drm", ENV{WAYLAND_DISPLAY}="wayland-0", RUN+="/usr/bin/kanshi -n none"

License

MIT