]> git.sev.monster Git - dotfiles.git/blob - etc/sway/config
install.sh: devnull mkfont* head to suppress error
[dotfiles.git] / etc / sway / config
1 ### load system
2 include /etc/sway/config.d/*
3
4 ### exports
5 # XXX: this works but I feel like it shouldn't
6 exec '\
7     export XDG_SESSION_TYPE=${XDG_SESSION_TYPE:-wayland}; \
8     export QT_QPA_PLATFORM=${QT_QPA_PLATFORM:-wayland-egl}; \
9     export QT_WAYLAND_DISABLE_WINDOWDECORATION=${QT_WAYLAND_DISABLE_WINDOWDECORATION:--1}; \
10     export SDL_VIDEODRIVER=${SDL_VIDEODRIVER:-wayland}; \
11     export TERMINAL=${TERMINAL:-footclient}'
12
13 ### daemons
14 exec dunst
15 exec foot --server
16 #exec mpc-notify -d
17 exec swayidle timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"'
18 # x220t
19 # TODO: check hostname to load auxillary things
20 # TODO: reformat for linux
21 #exec acpi_ac "0x0`sysctl -n hw.acpi.acline`"
22
23 ### Xorg config
24 xwayland force
25 # XXX: this works but I feel like it shouldn't
26 exec xrdb -merge ~/.Xresources
27 exec '\
28     find -L "$${XDG_DATA_HOME:-~/share}/fonts" -mindepth 1 -maxdepth 2 -type d | while read -r x; do \
29         [ -f "$$x/fonts.dir" ] && xset +fp "$$x"; \
30     done; \
31     xset fp rehash'
32
33 ### inputs
34 input 1:1:AT_Translated_Set_2_keyboard {
35         xkb_layout us
36         xkb_options caps:super
37         xkb_numlock enable
38         repeat_delay 290
39         repeat_rate 26
40 }
41
42 ### binds
43 set $mod Mod4
44
45 bindsym $mod+Shift+r reload
46 bindsym $mod+Shift+e exec swaynag -t warning -m Exit? -b Yes 'swaymsg exit'
47
48 ## terminal
49 bindsym $mod+Return exec [ -n "$$TERMINAL" ] && exec $$TERMINAL || exec footclient
50
51 ## menu
52 bindsym $mod+d exec nwgdmenu
53 bindsym $mod+Shift+d exec nwggrid
54 bindsym $mod+Ctrl+d exec nwgbar
55
56 ## special
57 # mpc
58 #bindsym XF86AudioPlay exec mpc -h /var/mpd/socket play
59 #bindsym XF86AudioStop exec mpc -h /var/mpd/socket pause
60 #bindsym XF86AudioPrev exec mpc -h /var/mpd/socket cdprev
61 #bindsym XF86AudioNext exec mpc -h /var/mpd/socket next
62 # x220t bezel buttons
63 #bindcode 198 exec rotate set normal
64 #bindcode 204 exec rotate right
65
66 ## window management
67 set $up k
68 set $down j
69 set $left h
70 set $right l
71 set $up2 Up
72 set $down2 Down
73 set $left2 Left
74 set $right2 Right
75
76 bindsym $mod+$left focus left
77 bindsym $mod+$down focus down
78 bindsym $mod+$up focus up
79 bindsym $mod+$right focus right
80 bindsym $mod+$left2 focus left
81 bindsym $mod+$down2 focus down
82 bindsym $mod+$up2 focus up
83 bindsym $mod+$right2 focus right
84 bindsym $mod+a focus parent
85 bindsym $mod+z focus child
86 bindsym $mod+Shift+$left move left
87 bindsym $mod+Shift+$down move down
88 bindsym $mod+Shift+$up move up
89 bindsym $mod+Shift+$right move right
90 bindsym $mod+Shift+$left2 move left
91 bindsym $mod+Shift+$down2 move down
92 bindsym $mod+Shift+$up2 move up
93 bindsym $mod+Shift+$right2 move right
94
95 bindsym $mod+i split h
96 bindsym $mod+o split v
97
98 floating_modifier $mod
99 bindsym $mod+Shift+space floating toggle
100 bindsym $mod+space focus mode_toggle
101
102 bindsym $mod+f fullscreen toggle
103 bindsym $mod+Shift+f fullscreen toggle global
104
105 bindsym $mod+s layout stacking
106 bindsym $mod+w layout tabbed
107 bindsym $mod+e layout toggle split
108
109 bindsym $mod+Shift+q kill
110
111 bindsym $mod+Shift+minus move scratchpad
112 bindsym $mod+minus scratchpad show
113
114 bindsym $mod+1 workspace 1
115 bindsym $mod+2 workspace 2
116 bindsym $mod+3 workspace 3
117 bindsym $mod+4 workspace 4
118 bindsym $mod+5 workspace 5
119 bindsym $mod+6 workspace 6
120 bindsym $mod+7 workspace 7
121 bindsym $mod+8 workspace 8
122 bindsym $mod+9 workspace 9
123 bindsym $mod+0 workspace 10
124 workspace_auto_back_and_forth yes
125
126 bindsym $mod+Shift+1 move container to workspace 1
127 bindsym $mod+Shift+2 move container to workspace 2
128 bindsym $mod+Shift+3 move container to workspace 3
129 bindsym $mod+Shift+4 move container to workspace 4
130 bindsym $mod+Shift+5 move container to workspace 5
131 bindsym $mod+Shift+6 move container to workspace 6
132 bindsym $mod+Shift+7 move container to workspace 7
133 bindsym $mod+Shift+8 move container to workspace 8
134 bindsym $mod+Shift+9 move container to workspace 9
135 bindsym $mod+Shift+0 move container to workspace 10
136
137 mode "translate" {
138         bindsym $left   resize shrink width  20 px
139         bindsym $down   resize grow   height 20 px
140         bindsym $up     resize shrink height 20 px
141         bindsym $right  resize grow   width  20 px
142         bindsym $left2  resize shrink width  20 px
143         bindsym $down2  resize grow   height 20 px
144         bindsym $up2    resize shrink height 20 px
145         bindsym $right2 resize grow   width  20 px
146
147         bindsym Shift+$left   move left  20 px
148         bindsym Shift+$down   move down  20 px
149         bindsym Shift+$up     move up    20 px
150         bindsym Shift+$right  move right 20 px
151         bindsym Shift+$left2  move left  20 px
152         bindsym Shift+$down2  move down  20 px
153         bindsym Shift+$up2    move up    20 px
154         bindsym Shift+$right2 move right 20 px
155
156         # smaller movements
157         bindsym Control+$left   resize shrink width  1 px or 1 ppt
158         bindsym Control+$down   resize grow   height 1 px or 1 ppt
159         bindsym Control+$up     resize shrink height 1 px or 1 ppt
160         bindsym Control+$right  resize grow   width  1 px or 1 ppt
161         bindsym Control+$left2  resize shrink width  1 px or 1 ppt
162         bindsym Control+$down2  resize grow   height 1 px or 1 ppt
163         bindsym Control+$up2    resize shrink height 1 px or 1 ppt
164         bindsym Control+$right2 resize grow   width  1 px or 1 ppt
165
166         bindsym Control+Shift+$left   move left  1 px
167         bindsym Control+Shift+$down   move down  1 px
168         bindsym Control+Shift+$up     move up    1 px
169         bindsym Control+Shift+$right  move right 1 px
170         bindsym Control+Shift+$left2  move left  1 px
171         bindsym Control+Shift+$down2  move down  1 px
172         bindsym Control+Shift+$up2    move up    1 px
173         bindsym Control+Shift+$right2 move right 1 px
174
175         # focus
176         bindsym $mod+a focus parent
177         bindsym $mod+z focus child
178
179         # floating
180         bindsym $mod+Shift+space floating toggle
181         bindsym $mod+space focus mode_toggle
182
183         # exit
184         bindsym Return mode default
185         bindsym Escape mode default
186         bindsym $mod+r mode default
187 }
188 bindsym $mod+r mode "translate"
189
190
191 ### appearance
192 font pango:monospace 10
193 seat seat0 xcursor_theme Paper 16
194 ## borders
195 default_border pixel 1
196 hide_edge_borders smart
197 gaps inner 6
198 smart_gaps on
199 ## colors
200 # generic
201 set $bg    #110800
202 set $fg    #93a1a1
203 # focused
204 set $f_bdr #cc6600
205 set $f_bg  #aa5500
206 set $f_fg  #eee8d5
207 set $f_ind #4466ff
208 set $f_chb #cc6600
209 # inactive
210 set $i_bdr #884400
211 set $i_bg  #221100
212 set $i_fg  $fg
213 set $i_ind #264bd2
214 set $i_chb #884400
215 # urgent
216 set $u_bdr #ff4444
217 set $u_bg  #dc322f
218 set $u_fg  #000000
219 set $u_ind #4466ff
220 set $u_chb #ff4444
221 # blue
222 set $b_bdr #4466ff
223 set $b_bg  #268bd2
224 set $b_fg  #fdf6e3
225 set $b_ind #264db2
226 set $b_chb #4466ff
227 # class                 border  backgr. text    indicator child_border
228 client.focused          $f_bdr  $f_bg   $f_fg   $f_ind    $f_chb
229 client.focused_inactive $i_bdr  $i_bg   $i_fg   $i_ind    $i_chb
230 client.unfocused        $i_bdr  $i_bg   $i_fg   $i_ind    $i_chb
231 client.urgent           $u_bdr  $u_bg   $u_fg   $u_ind    $u_chb
232 client.placeholder      $b_bdr  $b_bg   $b_fg   $b_ind    $b_chb
233 client.background       #221100
234 force_display_urgency_hint 2000 ms
235
236 bar {
237         position top
238         tray_output primary
239         status_command i3status
240         separator_symbol "|"
241
242         colors {
243                 background $bg
244                 statusline $fg
245                 separator  $b_ind
246
247                 # class            border  backgr. text
248                 focused_workspace  $f_bdr  $f_bg   $f_fg
249                 active_workspace   $i_bdr  $i_bg   $i_fg
250                 inactive_workspace $i_bdr  $i_bg   $i_fg
251                 urgent_workspace   $u_bdr  $u_bg   $u_fg
252                 binding_mode       $b_bdr  $b_bg   $b_fg
253         }
254 }
255
256 ### load site-local
257 include config.d/*
This page took 0.048979 seconds and 4 git commands to generate.