Dynamic display configuration
Clone or download
emersion Merge pull request #19 from mlbullett/master
Added support for rotation
Latest commit c977157 Jan 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Changed transform option to enum and implemented matching in frontend Jan 9, 2019
.gitignore List saved and connected displays Aug 4, 2017
Cargo.lock Downgrade to nom 3 Nov 18, 2018
Cargo.toml Downgrade to nom 3 Nov 18, 2018
README.md readme: remove udev rule Nov 23, 2018



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


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

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