1kanshi(5) File Formats Manual kanshi(5)
2
3
4
6 kanshi - configuration file
7
9 A kanshi configuration file is a list of profiles. Each profile has an
10 optional name and contains directives delimited by brackets ({ and }).
11
12 Example:
13
14 profile {
15 output LVDS-1 disable
16 output "Some Company ASDF 4242" mode 1600x900 position 0,0
17 }
18
19 profile nomad {
20 output LVDS-1 enable scale 2
21 }
22
24 Directives are followed by space-separated arguments. Arguments can be
25 quoted (with ") if they contain spaces.
26
27 output <criteria> <output-command...>
28 An output directive adds an output to the profile. The criteria can
29 either be an output name, an output description or "*". The latter
30 can be used to match any output.
31
32 On sway(1), output names and descriptions can be obtained via
33 swaymsg -t get_outputs.
34
35 exec <command>
36 An exec directive executes a command when the profile was success‐
37 fully applied. This can be used to update the compositor state to
38 the profile when not done automatically.
39
40 Commands are executed asynchronously and their order may not be
41 preserved. If you need to execute sequential commands, you should
42 collect in one exec statement or in a separate script.
43
44 On sway(1) for example, exec can be used to move workspaces to the
45 right output:
46
47 multihead {
48 output eDP-1 enable
49 output DP-1 enable transform 270
50 exec swaymsg workspace 1, move workspace to eDP-1
51 }
52
53 Note that some extra care must be taken with outputs identified by
54 an output description as the real name may change:
55
56 complex {
57 output "Some Other Company GTBZ 2525" mode 1920x1200
58 exec swaymsg workspace 1, move workspace to output '"Some Other Company GTBZ 2525"'
59 }
60
62 enable|disable
63 Enables or disables the specified output.
64
65 mode <width>x<height>[@<rate>[Hz]]
66 Configures the specified output to use the specified mode. Modes
67 are a combination of width and height (in pixels) and a refresh
68 rate (in Hz) that your display can be configured to use.
69
70 Examples:
71
72 output HDMI-A-1 mode 1920x1080 output HDMI-A-1 mode
73 1920x1080@60Hz
74
75 position <x>,<y>
76 Places the output at the specified position in the global coordi‐
77 nates space.
78
79 Example:
80
81 output HDMI-A-1 position 1600,0
82
83 scale <factor>
84 Scales the output by the specified scale factor.
85
86 transform <transform>
87 Sets the output transform. Can be one of "90", "180", "270" for a
88 rotation; or "flipped", "flipped-90", "flipped-180", "flipped-270"
89 for a rotation and a flip; or "normal" for no transform.
90
92 Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
93 open-source contributors. For more information about kanshi develop‐
94 ment, see https://github.com/emersion/kanshi.
95
97 kanshi(1)
98
99
100
101 2021-01-26 kanshi(5)