]> git.friedersdorff.com Git - max/saltfiles.git/blob - states/sway/files/config.jinja
Config touchpad
[max/saltfiles.git] / states / sway / files / config.jinja
1 {% set host = grains['host'] %}
2 # Colors
3 set $black #000000
4 set $black_super #555555
5
6 set $red #f92672
7 set $red_super #dd4278
8
9 set $green #74e22e
10 set $green_super #9dc54b
11
12 set $yellow #e6db74
13 set $yellow_super #d1ca89
14
15 set $blue #66d9ef
16 set $blue_super #7accda
17
18 set $magenta #ae81ff
19 set $magenta_super #b392ef
20
21 set $cyan #00d9d9
22 set $cyan_super #c8f0f0
23
24 set $white #f5deb3
25 set $white_super #ffffff
26
27 client.focused $black $yellow_super $black $black $black
28 client.focused_inactive $black $black_super $white $black $black 
29
30 # Slight gaps around windows
31 gaps inner 6
32
33 # Read `man 5 sway` for a complete reference.
34
35 ### Variables
36 #
37 # Logo key. Use Mod1 for Alt.
38 set $mod Mod4
39 # Home row direction keys, like vim
40 set $left h
41 set $down j
42 set $up k
43 set $right l
44 # Your preferred terminal emulator
45 set $term foot
46 # Your preferred application launcher
47 # Note: pass the final command to swaymsg so that the resulting window can be opened
48 # on the original workspace that the command was run on.
49 set $menu rofi -show drun | xargs swaymsg exec --
50
51 include /etc/sway/config-vars.d/*
52
53 ### Output configuration
54 #
55 # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
56 output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
57 #
58 # Example configuration:
59 #
60 #   output HDMI-A-1 resolution 1920x1080 position 1920,0
61 #
62 # You can get the names of your outputs by running: swaymsg -t get_outputs
63
64 ### Idle configuration
65 #
66 # Example configuration:
67 #
68 # exec swayidle -w \
69 #          timeout 300 'swaylock -f -c 000000' \
70 #          timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
71 #          before-sleep 'swaylock -f -c 000000'
72 #
73 # This will lock your screen after 300 seconds of inactivity, then turn off
74 # your displays after another 300 seconds, and turn your screens back on when
75 # resumed. It will also lock your screen before your computer goes to sleep.
76
77 {% set lockcmd = "swaylock -e -f -i ~/Pictures/Backgrounds/DSC02113.jpg" %}
78
79 exec swayidle -w \
80 timeout 300 "{{lockcmd}}" \
81   timeout 600 'systemctl suspend' \
82     before-sleep "{{lockcmd}}"
83
84
85 ### Input configuration
86 #
87 # Example configuration:
88 #
89 #   input "2:14:SynPS/2_Synaptics_TouchPad" {
90 #       dwt enabled
91 #       tap enabled
92 #       natural_scroll enabled
93 #       middle_emulation enabled
94 #   }
95 #
96 # You can get the names of your inputs by running: swaymsg -t get_inputs
97 # Read `man 5 sway-input` for more information about this section.
98 # This keyboard has this layout on all machines:
99 input 1267:12356:ELAN1200:00_04F3:3044_Touchpad {
100     tap enabled
101     dwt enabled
102     natural_scroll enabled
103     tap_button_map lrm
104 }
105
106 input 1241:36:HOLDCHIP_USB_Keyboard {
107   xkb_layout us
108   xkb_variant colemak
109   xkb_options ctrl:nocaps
110 }
111
112 input 16700:8455:DELL_Dell_USB_Entry_Keyboard {
113   xkb_layout gb
114   xkb_variant colemak
115   xkb_options ctrl:nocaps
116 }
117
118 input 65261:4871:TMK/Cub_Ergodox {
119   xkb_layout gb
120 }
121
122 input 9494:21:CM_Storm_Quickfire_Pro_Ultimate_6_key {
123   xkb_layout gb
124   xkb_variant colemak
125   xkb_options ctrl:nocaps
126 }
127
128 input 1:1:AT_Translated_Set_2_keyboard {
129   xkb_layout gb
130   xkb_variant colemak
131   xkb_options ctrl:nocaps
132 }
133
134 input 9610:4102:Gaming_KB__Gaming_KB {
135   xkb_layout gb
136   xkb_variant colemak
137   xkb_options ctrl:nocaps
138 }
139
140
141 input 1133:49948:Logitech_USB_Keyboard {
142   xkb_layout gb
143   xkb_variant colemak
144   xkb_options ctrl:nocaps
145 }
146
147 ### Key bindings
148 #
149 # Basics:
150 #
151     # Start a terminal
152     bindsym $mod+Return exec $term
153
154     # Kill focused window
155     bindsym $mod+Shift+q kill
156
157     # Start your launcher
158     bindsym $mod+d exec $menu
159
160     # Drag floating windows by holding down $mod and left mouse button.
161     # Resize them with right mouse button + $mod.
162     # Despite the name, also works for non-floating windows.
163     # Change normal to inverse to use left mouse button for resizing and right
164     # mouse button for dragging.
165     floating_modifier $mod normal
166
167     # Reload the configuration file
168     bindsym $mod+Shift+c reload
169
170     # Exit sway (logs you out of your Wayland session)
171     bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
172 #
173 # Moving around:
174 #
175     # Move your focus around
176     bindsym $mod+$left focus left
177     bindsym $mod+$down focus down
178     bindsym $mod+$up focus up
179     bindsym $mod+$right focus right
180     # Or use $mod+[up|down|left|right]
181     bindsym $mod+Left focus left
182     bindsym $mod+Down focus down
183     bindsym $mod+Up focus up
184     bindsym $mod+Right focus right
185
186     # Move the focused window with the same, but add Shift
187     bindsym $mod+Shift+$left move left
188     bindsym $mod+Shift+$down move down
189     bindsym $mod+Shift+$up move up
190     bindsym $mod+Shift+$right move right
191     # Ditto, with arrow keys
192     bindsym $mod+Shift+Left move left
193     bindsym $mod+Shift+Down move down
194     bindsym $mod+Shift+Up move up
195     bindsym $mod+Shift+Right move right
196 #
197 # Workspaces:
198 #
199     # Switch to workspace
200     {% for i in range(10) %}
201         bindsym $mod+{{ i }} workspace number {{ i }}
202
203         # Move focused container to workspace
204         bindsym $mod+Shift+{{ i }} move container to workspace number {{ i }}
205     {% endfor %}
206
207 #
208 # Layout stuff:
209 #
210     # You can "split" the current object of your focus with
211     # $mod+b or $mod+v, for horizontal and vertical splits
212     # respectively.
213     bindsym $mod+b splith
214     bindsym $mod+v splitv
215
216     # Switch the current container between different layout styles
217     bindsym $mod+s layout stacking
218     bindsym $mod+w layout tabbed
219     bindsym $mod+e layout toggle split
220
221     # Make the current focus fullscreen
222     bindsym $mod+f fullscreen
223
224     # Toggle the current focus between tiling and floating mode
225     bindsym $mod+Shift+space floating toggle
226
227     # Swap focus between the tiling area and the floating area
228     bindsym $mod+space focus mode_toggle
229
230     # Move focus to the parent container
231     bindsym $mod+a focus parent
232 #
233 # Scratchpad:
234 #
235     # Sway has a "scratchpad", which is a bag of holding for windows.
236     # You can send windows there and get them back later.
237
238     # Move the currently focused window to the scratchpad
239     bindsym $mod+Shift+minus move scratchpad
240
241     # Show the next scratchpad window or hide the focused scratchpad window.
242     # If there are multiple scratchpad windows, this command cycles through them.
243     bindsym $mod+minus scratchpad show
244 #
245 # Resizing containers:
246 #
247 mode "resize" {
248     # left will shrink the containers width
249     # right will grow the containers width
250     # up will shrink the containers height
251     # down will grow the containers height
252     bindsym $left resize shrink width 10px
253     bindsym $down resize grow height 10px
254     bindsym $up resize shrink height 10px
255     bindsym $right resize grow width 10px
256
257     # Ditto, with arrow keys
258     bindsym Left resize shrink width 10px
259     bindsym Down resize grow height 10px
260     bindsym Up resize shrink height 10px
261     bindsym Right resize grow width 10px
262
263     # Return to default mode
264     bindsym Return mode "default"
265     bindsym Escape mode "default"
266 }
267 bindsym $mod+r mode "resize"
268
269 bindsym $mod+Alt+l exec '{{ lockcmd }}'
270
271
272 include /etc/sway/config.d/*
273 # host specific section
274 {%- do salt.log.error('sway/files/' + host) -%}
275
276 {% include 'sway/files/' + host %}
277
278 for_window [app_id="zoom" title="^zoom$"] border none, floating enable
279 for_window [app_id="zoom" title="^(Zoom|About)$"] border pixel, floating enable
280 for_window [app_id="zoom" title="Settings"] floating enable, floating_minimum_size 960 x 700
281 for_window [app_id="zoom" title="Zoom Meeting(.*)?"] floating disable, inhibit_idle open