Commit | Line | Data |
---|---|---|
17d2cfa0 AB |
1 | exec --no-startup-id ~/.local/bin/startup-progs |
2 | ||
3 | # super | |
4 | set $mod Mod4 | |
5 | # alt | |
6 | set $mod2 Mod1 | |
7 | # hyper | |
8 | set $mod3 Mod3 | |
9 | ||
10 | # window title and bar font (unless specified differently in 'bar {}' | |
8060c968 AB |
11 | # font pango:Source Code Pro 9.5 |
12 | font pango:Inconsolata 11.5 | |
13 | # font -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso10646-1 | |
14 | # font -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 | |
17d2cfa0 AB |
15 | |
16 | # for dragging floating windows with mouse | |
17 | floating_modifier $mod | |
18 | ||
19 | # default tabbed | |
20 | workspace_layout tabbed | |
21 | ||
22 | # terminal | |
08b0fb0a AB |
23 | bindsym $mod+Return exec xterm |
24 | bindsym $mod+Shift+Return exec xterm -name floating | |
25 | for_window [class="XTerm" instance="floating"] floating enable | |
17d2cfa0 AB |
26 | |
27 | # kill focused window (not necessarily its application) | |
28 | bindsym $mod+Shift+w kill | |
29 | # kill an application | |
30 | #bindsym --release $mod+Shift+x exec xkill | |
31 | ||
4c4b967a AB |
32 | # launcher and pass |
33 | bindsym $mod+space exec dmenu_run | |
34 | bindsym $mod+backslash exec passmenu --type | |
17d2cfa0 AB |
35 | |
36 | # brightness | |
4c4b967a AB |
37 | bindsym $mod+apostrophe exec dmenu-light # brightness chooser |
38 | bindsym XF86MonBrightnessUp exec light -A 5 # increase brightness | |
39 | bindsym XF86MonBrightnessDown exec light -U 5 # decrease brightness | |
17d2cfa0 AB |
40 | |
41 | # volume | |
4c4b967a | 42 | bindsym $mod+semicolon exec dmenu-pamixer # volume chooser |
17d2cfa0 AB |
43 | bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5 |
44 | bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5 | |
45 | bindsym XF86AudioMute exec pamixer --toggle-mute | |
46 | bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle | |
47 | ||
48 | # window focus | |
49 | bindsym $mod+h focus left | |
50 | bindsym $mod+j focus down | |
51 | bindsym $mod+k focus up | |
52 | bindsym $mod+l focus right | |
53 | bindsym $mod+Left focus left | |
54 | bindsym $mod+Down focus down | |
55 | bindsym $mod+Up focus up | |
56 | bindsym $mod+Right focus right | |
57 | ||
58 | # window move | |
59 | bindsym $mod+Shift+h move left | |
60 | bindsym $mod+Shift+j move down | |
61 | bindsym $mod+Shift+k move up | |
62 | bindsym $mod+Shift+l move right | |
63 | bindsym $mod+Shift+Left move left | |
64 | bindsym $mod+Shift+Down move down | |
65 | bindsym $mod+Shift+Up move up | |
66 | bindsym $mod+Shift+Right move right | |
67 | ||
68 | # horizontal and vertical orientation | |
69 | bindsym $mod+shift+backslash split h | |
70 | bindsym $mod+minus split v | |
71 | ||
72 | # enter fullscreen mode for the focused container | |
73 | bindsym $mod+f fullscreen toggle | |
74 | ||
75 | # change container layout (stacked, tabbed, toggle split) | |
76 | bindsym $mod+s layout stacking | |
77 | bindsym $mod+w layout tabbed | |
78 | bindsym $mod+e layout toggle split | |
79 | ||
80 | # toggle tiling / floating | |
81 | bindsym $mod+Shift+f floating toggle | |
230f7fe8 | 82 | bindsym $mod+period floating toggle |
17d2cfa0 AB |
83 | # toggle tiling / floating focus |
84 | bindsym $mod+grave focus mode_toggle | |
230f7fe8 | 85 | bindsym $mod+comma focus mode_toggle |
17d2cfa0 AB |
86 | |
87 | # toggle sticky | |
88 | bindsym $mod+shift+s sticky toggle | |
89 | ||
90 | # focus parent / child | |
91 | bindsym $mod+a focus parent | |
92 | bindsym $mod+Shift+a focus child | |
93 | ||
94 | # switch to workspace | |
95 | bindsym $mod+1 workspace 1 | |
96 | bindsym $mod+2 workspace 2 | |
97 | bindsym $mod+3 workspace 3 | |
98 | bindsym $mod+4 workspace 4 | |
99 | bindsym $mod+5 workspace 5 | |
100 | bindsym $mod+6 workspace 6 | |
101 | bindsym $mod+7 workspace 7 | |
102 | bindsym $mod+8 workspace 8 | |
103 | bindsym $mod+9 workspace 9 | |
104 | bindsym $mod+0 workspace 10 | |
105 | bindsym $mod+bracketleft workspace prev | |
106 | bindsym $mod+bracketright workspace next | |
107 | ||
108 | # move focused container to workspace | |
109 | bindsym $mod+Shift+1 move container to workspace 1 | |
110 | bindsym $mod+Shift+2 move container to workspace 2 | |
111 | bindsym $mod+Shift+3 move container to workspace 3 | |
112 | bindsym $mod+Shift+4 move container to workspace 4 | |
113 | bindsym $mod+Shift+5 move container to workspace 5 | |
114 | bindsym $mod+Shift+6 move container to workspace 6 | |
115 | bindsym $mod+Shift+7 move container to workspace 7 | |
116 | bindsym $mod+Shift+8 move container to workspace 8 | |
117 | bindsym $mod+Shift+9 move container to workspace 9 | |
118 | bindsym $mod+Shift+0 move container to workspace 10 | |
119 | bindsym $mod+Shift+bracketleft move container to workspace prev | |
120 | bindsym $mod+Shift+bracketright move container to workspace next | |
121 | ||
122 | # bspwm-esque workspace switch and container move | |
123 | bindsym $mod2+bracketleft exec b-ws-util i3 switch prev | |
124 | bindsym $mod2+bracketright exec b-ws-util i3 switch next | |
125 | bindsym $mod2+Shift+bracketleft exec b-ws-util i3 move prev follow | |
126 | bindsym $mod2+Shift+bracketright exec b-ws-util i3 move next follow | |
127 | ||
128 | set $mode_system System (l)ock | (e)xit i3 | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown | |
129 | mode "$mode_system" { | |
130 | bindsym l exec i3lock, mode "default" | |
131 | bindsym e exec i3-msg exit, mode "default" | |
132 | bindsym s exec systemctl suspend, mode "default" | |
133 | bindsym h exec systemctl hibernate, mode "default" | |
134 | bindsym r exec systemctl reboot, mode "default" | |
135 | bindsym Shift+s exec systemctl poweroff -i, mode "default" | |
136 | ||
137 | bindsym Return mode "default" | |
138 | bindsym Escape mode "default" | |
139 | bindsym q mode "default" | |
140 | } | |
141 | ||
142 | bindsym $mod+Shift+c reload | |
143 | bindsym $mod+Shift+r restart | |
144 | bindsym $mod+Shift+e mode "$mode_system" | |
145 | ||
146 | # resize window (you can also use the mouse for that) | |
147 | mode "resize" { | |
148 | # These bindings trigger as soon as you enter the resize mode | |
149 | ||
150 | # Pressing left will shrink the window’s width. | |
151 | # Pressing right will grow the window’s width. | |
152 | # Pressing up will shrink the window’s height. | |
153 | # Pressing down will grow the window’s height. | |
154 | bindsym j resize shrink width 10 px or 10 ppt | |
155 | bindsym k resize grow height 10 px or 10 ppt | |
156 | bindsym l resize shrink height 10 px or 10 ppt | |
157 | bindsym semicolon resize grow width 10 px or 10 ppt | |
158 | ||
159 | # same bindings, but for the arrow keys | |
160 | bindsym Left resize shrink width 10 px or 10 ppt | |
161 | bindsym Down resize grow height 10 px or 10 ppt | |
162 | bindsym Up resize shrink height 10 px or 10 ppt | |
163 | bindsym Right resize grow width 10 px or 10 ppt | |
164 | ||
165 | # back to normal: Enter or Escape | |
166 | bindsym Return mode "default" | |
167 | bindsym Escape mode "default" | |
168 | } | |
169 | bindsym $mod+r mode "resize" | |
170 | ||
298f42fe AB |
171 | # change theme mode |
172 | set $mode_theme theme (d)ark | (l)ight | |
173 | mode "$mode_theme" { | |
174 | bindsym d exec change-theme dark, mode "default" | |
175 | bindsym l exec change-theme light, mode "default" | |
176 | bindsym Return mode "default" | |
177 | bindsym Escape mode "default" | |
178 | bindsym q mode "default" | |
179 | } | |
180 | bindsym $mod+t mode "$mode_theme" | |
181 | ||
17d2cfa0 AB |
182 | # application-specific window configurations |
183 | for_window [class="mpv"] floating enable | |
184 | for_window [class="Mumble"] floating enable | |
185 | for_window [class="Nm-connection-editor"] floating enable | |
186 | for_window [class="Virt-manager"] floating enable | |
187 | ||
188 | # no title bars | |
189 | for_window [class="^.*"] border pixel 4 | |
190 | ||
191 | # i3bar and system info from i3status | |
192 | bar { | |
193 | status_command i3status | my-i3status | |
194 | tray_output primary | |
195 | } |