]>
Commit | Line | Data |
---|---|---|
d23b28eb | 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 | } | |
1b8a4102 | 41 | |
d23b28eb | 42 | ### binds |
e9e064df | 43 | set $mod Mod4 |
1b8a4102 | 44 | |
d23b28eb | 45 | bindsym $mod+Shift+r reload |
46 | bindsym $mod+Shift+e exec swaynag -t warning -m Exit? -b Yes 'swaymsg exit' | |
e9e064df | 47 | |
d23b28eb | 48 | ## terminal |
49 | bindsym $mod+Return exec [ -n "$$TERMINAL" ] && exec $$TERMINAL || exec footclient | |
1b8a4102 | 50 | |
d23b28eb | 51 | ## menu |
52 | bindsym $mod+d exec nwgdmenu | |
53 | bindsym $mod+Shift+d exec nwggrid | |
54 | bindsym $mod+Ctrl+d exec nwgbar | |
1b8a4102 | 55 | |
d23b28eb | 56 | ## special |
e9e064df | 57 | # mpc |
d23b28eb | 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 | |
e9e064df | 65 | |
d23b28eb | 66 | ## window management |
1b8a4102 | 67 | set $up k |
68 | set $down j | |
69 | set $left h | |
70 | set $right l | |
1b8a4102 | 71 | set $up2 Up |
72 | set $down2 Down | |
73 | set $left2 Left | |
74 | set $right2 Right | |
75 | ||
1b8a4102 | 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 | |
d23b28eb | 84 | bindsym $mod+a focus parent |
85 | bindsym $mod+z focus child | |
1b8a4102 | 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 | ||
1b8a4102 | 95 | bindsym $mod+i split h |
1b8a4102 | 96 | bindsym $mod+o split v |
97 | ||
e9e064df | 98 | floating_modifier $mod |
d23b28eb | 99 | bindsym $mod+Shift+space floating toggle |
100 | bindsym $mod+space focus mode_toggle | |
e9e064df | 101 | |
1b8a4102 | 102 | bindsym $mod+f fullscreen toggle |
103 | bindsym $mod+Shift+f fullscreen toggle global | |
104 | ||
1b8a4102 | 105 | bindsym $mod+s layout stacking |
106 | bindsym $mod+w layout tabbed | |
107 | bindsym $mod+e layout toggle split | |
108 | ||
e9e064df | 109 | bindsym $mod+Shift+q kill |
110 | ||
1b8a4102 | 111 | bindsym $mod+Shift+minus move scratchpad |
1b8a4102 | 112 | bindsym $mod+minus scratchpad show |
113 | ||
1b8a4102 | 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 | |
e9e064df | 124 | workspace_auto_back_and_forth yes |
1b8a4102 | 125 | |
1b8a4102 | 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 | |
d23b28eb | 135 | bindsym $mod+Shift+0 move container to workspace 10 |
1b8a4102 | 136 | |
1b8a4102 | 137 | mode "translate" { |
118fb6e0 | 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 | |
1b8a4102 | 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 | ||
118fb6e0 | 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 | |
1b8a4102 | 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 | |
118fb6e0 | 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 | |
1b8a4102 | 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 | ||
118fb6e0 | 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 | |
1b8a4102 | 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 | ||
d23b28eb | 175 | # focus |
1b8a4102 | 176 | bindsym $mod+a focus parent |
1b8a4102 | 177 | bindsym $mod+z focus child |
178 | ||
d23b28eb | 179 | # floating |
180 | bindsym $mod+Shift+space floating toggle | |
181 | bindsym $mod+space focus mode_toggle | |
182 | ||
183 | # exit | |
118fb6e0 | 184 | bindsym Return mode default |
185 | bindsym Escape mode default | |
1b8a4102 | 186 | bindsym $mod+r mode default |
187 | } | |
188 | bindsym $mod+r mode "translate" | |
189 | ||
e9e064df | 190 | |
d23b28eb | 191 | ### appearance |
192 | font pango:monospace 10 | |
193 | seat seat0 xcursor_theme Paper 16 | |
194 | ## borders | |
195 | default_border pixel 1 | |
1b8a4102 | 196 | hide_edge_borders smart |
1b8a4102 | 197 | gaps inner 6 |
198 | smart_gaps on | |
d23b28eb | 199 | ## colors |
e9e064df | 200 | # generic |
dcac60d9 | 201 | set $bg #110800 |
202 | set $fg #93a1a1 | |
e9e064df | 203 | # focused |
dcac60d9 | 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 | |
e9e064df | 209 | # inactive |
dcac60d9 | 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 | |
e9e064df | 215 | # urgent |
dcac60d9 | 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 | |
e9e064df | 221 | # blue |
dcac60d9 | 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 | |
1b8a4102 | 227 | # class border backgr. text indicator child_border |
dcac60d9 | 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 | |
1b8a4102 | 233 | client.background #221100 |
e9e064df | 234 | force_display_urgency_hint 2000 ms |
d23b28eb | 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/* |