]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | # master modifier key | |
3 | set $mod Mod4 | |
4 | ||
5 | ### important binds ### | |
6 | # reload the configuration file | |
7 | bindsym $mod+Shift+c reload | |
8 | # restart i3 inplace | |
9 | bindsym $mod+Shift+r restart | |
10 | # exit i3 | |
11 | bindsym $mod+Shift+e exec --no-startup-id i3-nagbar -t warning -m Exit? -b Yes 'i3-msg exit' | |
12 | ||
13 | ### applications ### | |
14 | # x220t bezel buttons | |
15 | bindcode 198 exec --no-startup-id rotate set normal | |
16 | bindcode 204 exec --no-startup-id rotate right | |
17 | ||
18 | # terminal | |
19 | bindsym $mod+Return exec --no-startup-id i3-sensible-terminal | |
20 | ||
21 | # dmenu | |
22 | bindsym $mod+d exec --no-startup-id $HOME/bin/dmenu_runsmart -p "%" | |
23 | ||
24 | # mpc | |
25 | bindsym XF86AudioPlay exec --no-startup-id mpc -h /var/mpd/socket play | |
26 | bindsym XF86AudioStop exec --no-startup-id mpc -h /var/mpd/socket pause | |
27 | bindsym XF86AudioPrev exec --no-startup-id mpc -h /var/mpd/socket cdprev | |
28 | bindsym XF86AudioNext exec --no-startup-id mpc -h /var/mpd/socket next | |
29 | ||
30 | ||
31 | ### window management ### | |
32 | # directional keys | |
33 | set $up k | |
34 | set $down j | |
35 | set $left h | |
36 | set $right l | |
37 | # arrow keys for completeness | |
38 | set $up2 Up | |
39 | set $down2 Down | |
40 | set $left2 Left | |
41 | set $right2 Right | |
42 | ||
43 | # change focus | |
44 | bindsym $mod+$left focus left | |
45 | bindsym $mod+$down focus down | |
46 | bindsym $mod+$up focus up | |
47 | bindsym $mod+$right focus right | |
48 | bindsym $mod+$left2 focus left | |
49 | bindsym $mod+$down2 focus down | |
50 | bindsym $mod+$up2 focus up | |
51 | bindsym $mod+$right2 focus right | |
52 | # move focused window | |
53 | bindsym $mod+Shift+$left move left | |
54 | bindsym $mod+Shift+$down move down | |
55 | bindsym $mod+Shift+$up move up | |
56 | bindsym $mod+Shift+$right move right | |
57 | bindsym $mod+Shift+$left2 move left | |
58 | bindsym $mod+Shift+$down2 move down | |
59 | bindsym $mod+Shift+$up2 move up | |
60 | bindsym $mod+Shift+$right2 move right | |
61 | ||
62 | # split in horizontal orientation | |
63 | bindsym $mod+i split h | |
64 | # split in vertical orientation | |
65 | bindsym $mod+o split v | |
66 | ||
67 | # mouse+$mod to drag floating windows | |
68 | floating_modifier $mod | |
69 | ||
70 | # enter fullscreen mode for the focused container | |
71 | bindsym $mod+f fullscreen toggle | |
72 | bindsym $mod+Shift+f fullscreen toggle global | |
73 | ||
74 | # change container layout (stacked, tabbed, toggle split) | |
75 | bindsym $mod+s layout stacking | |
76 | bindsym $mod+w layout tabbed | |
77 | bindsym $mod+e layout toggle split | |
78 | ||
79 | # toggle tiling / floating | |
80 | bindsym $mod+Shift+space floating toggle | |
81 | ||
82 | # change focus between tiling / floating windows | |
83 | bindsym $mod+space focus mode_toggle | |
84 | ||
85 | # focus the parent container | |
86 | bindsym $mod+a focus parent | |
87 | ||
88 | # focus the child container | |
89 | bindsym $mod+z focus child | |
90 | ||
91 | # kill focused window | |
92 | bindsym $mod+Shift+q kill | |
93 | ||
94 | # move the currently focused window to the scratchpad | |
95 | bindsym $mod+Shift+minus move scratchpad | |
96 | ||
97 | # Show the next scratchpad window or hide the focused scratchpad window. | |
98 | # If there are multiple scratchpad windows, this command cycles through them. | |
99 | bindsym $mod+minus scratchpad show | |
100 | ||
101 | # switch to workspace | |
102 | bindsym $mod+1 workspace 1 | |
103 | bindsym $mod+2 workspace 2 | |
104 | bindsym $mod+3 workspace 3 | |
105 | bindsym $mod+4 workspace 4 | |
106 | bindsym $mod+5 workspace 5 | |
107 | bindsym $mod+6 workspace 6 | |
108 | bindsym $mod+7 workspace 7 | |
109 | bindsym $mod+8 workspace 8 | |
110 | bindsym $mod+9 workspace 9 | |
111 | bindsym $mod+0 workspace 10 | |
112 | # repeat workspace to go back | |
113 | workspace_auto_back_and_forth yes | |
114 | ||
115 | # move focused container to workspace | |
116 | bindsym $mod+Shift+1 move container to workspace 1 | |
117 | bindsym $mod+Shift+2 move container to workspace 2 | |
118 | bindsym $mod+Shift+3 move container to workspace 3 | |
119 | bindsym $mod+Shift+4 move container to workspace 4 | |
120 | bindsym $mod+Shift+5 move container to workspace 5 | |
121 | bindsym $mod+Shift+6 move container to workspace 6 | |
122 | bindsym $mod+Shift+7 move container to workspace 7 | |
123 | bindsym $mod+Shift+8 move container to workspace 8 | |
124 | bindsym $mod+Shift+9 move container to workspace 9 | |
125 | Bindsym $mod+Shift+0 move container to workspace 10 | |
126 | ||
127 | # move and resize [floating] windows | |
128 | mode "translate" { | |
129 | bindsym $left resize shrink width 20 px | |
130 | bindsym $down resize grow height 20 px | |
131 | bindsym $up resize shrink height 20 px | |
132 | bindsym $right resize grow width 20 px | |
133 | bindsym $left2 resize shrink width 20 px | |
134 | bindsym $down2 resize grow height 20 px | |
135 | bindsym $up2 resize shrink height 20 px | |
136 | bindsym $right2 resize grow width 20 px | |
137 | ||
138 | bindsym Shift+$left move left 20 px | |
139 | bindsym Shift+$down move down 20 px | |
140 | bindsym Shift+$up move up 20 px | |
141 | bindsym Shift+$right move right 20 px | |
142 | bindsym Shift+$left2 move left 20 px | |
143 | bindsym Shift+$down2 move down 20 px | |
144 | bindsym Shift+$up2 move up 20 px | |
145 | bindsym Shift+$right2 move right 20 px | |
146 | ||
147 | # smaller movements | |
148 | bindsym Control+$left resize shrink width 1 px or 1 ppt | |
149 | bindsym Control+$down resize grow height 1 px or 1 ppt | |
150 | bindsym Control+$up resize shrink height 1 px or 1 ppt | |
151 | bindsym Control+$right resize grow width 1 px or 1 ppt | |
152 | bindsym Control+$left2 resize shrink width 1 px or 1 ppt | |
153 | bindsym Control+$down2 resize grow height 1 px or 1 ppt | |
154 | bindsym Control+$up2 resize shrink height 1 px or 1 ppt | |
155 | bindsym Control+$right2 resize grow width 1 px or 1 ppt | |
156 | ||
157 | bindsym Control+Shift+$left move left 1 px | |
158 | bindsym Control+Shift+$down move down 1 px | |
159 | bindsym Control+Shift+$up move up 1 px | |
160 | bindsym Control+Shift+$right move right 1 px | |
161 | bindsym Control+Shift+$left2 move left 1 px | |
162 | bindsym Control+Shift+$down2 move down 1 px | |
163 | bindsym Control+Shift+$up2 move up 1 px | |
164 | bindsym Control+Shift+$right2 move right 1 px | |
165 | ||
166 | # toggle tiling / floating | |
167 | bindsym $mod+Shift+space floating toggle | |
168 | ||
169 | # change focus between tiling / floating windows | |
170 | bindsym $mod+space focus mode_toggle | |
171 | ||
172 | # focus the parent container | |
173 | bindsym $mod+a focus parent | |
174 | ||
175 | # focus the child container | |
176 | bindsym $mod+z focus child | |
177 | ||
178 | # back to normal: Enter, Escape, or original key | |
179 | bindsym Return mode default | |
180 | bindsym Escape mode default | |
181 | bindsym $mod+r mode default | |
182 | } | |
183 | bindsym $mod+r mode "translate" | |
184 | ||
185 | ||
186 | ### appearance ### | |
187 | # font | |
188 | font pango:Dina 7 | |
189 | ||
190 | # windows | |
191 | for_window [class="Gsimplecal"] floating enable | |
192 | for_window [class="XMixer"] floating enable | |
193 | ||
194 | # borders | |
195 | hide_edge_borders smart | |
196 | new_window pixel 1 | |
197 | gaps inner 6 | |
198 | smart_gaps on | |
199 | ||
200 | # color definitions | |
201 | # generic | |
202 | set $bg #110800 | |
203 | set $fg #93a1a1 | |
204 | # focused | |
205 | set $f_bdr #cc6600 | |
206 | set $f_bg #aa5500 | |
207 | set $f_fg #eee8d5 | |
208 | set $f_ind #4466ff | |
209 | set $f_chb #cc6600 | |
210 | # inactive | |
211 | set $i_bdr #884400 | |
212 | set $i_bg #221100 | |
213 | set $i_fg $fg | |
214 | set $i_ind #264bd2 | |
215 | set $i_chb #884400 | |
216 | # urgent | |
217 | set $u_bdr #ff4444 | |
218 | set $u_bg #dc322f | |
219 | set $u_fg #000000 | |
220 | set $u_ind #4466ff | |
221 | set $u_chb #ff4444 | |
222 | # blue | |
223 | set $b_bdr #4466ff | |
224 | set $b_bg #268bd2 | |
225 | set $b_fg #fdf6e3 | |
226 | set $b_ind #264db2 | |
227 | set $b_chb #4466ff | |
228 | ||
229 | # TODO: deprecate in favor of tint2 | |
230 | bar { | |
231 | position top | |
232 | output LVDS1 | |
233 | tray_output primary | |
234 | status_command i3status | |
235 | separator_symbol "|" | |
236 | ||
237 | colors { | |
238 | background $bg | |
239 | statusline $fg | |
240 | separator $b_ind | |
241 | ||
242 | # class border backgr. text | |
243 | focused_workspace $f_bdr $f_bg $f_fg | |
244 | active_workspace $i_bdr $i_bg $i_fg | |
245 | inactive_workspace $i_bdr $i_bg $i_fg | |
246 | urgent_workspace $u_bdr $u_bg $u_fg | |
247 | binding_mode $b_bdr $b_bg $b_fg | |
248 | } | |
249 | } | |
250 | ||
251 | # apply colors | |
252 | # class border backgr. text indicator child_border | |
253 | client.focused $f_bdr $f_bg $f_fg $f_ind $f_chb | |
254 | client.focused_inactive $i_bdr $i_bg $i_fg $i_ind $i_chb | |
255 | client.unfocused $i_bdr $i_bg $i_fg $i_ind $i_chb | |
256 | client.urgent $u_bdr $u_bg $u_fg $u_ind $u_chb | |
257 | client.placeholder $b_bdr $b_bg $b_fg $b_ind $b_chb | |
258 | client.background #221100 | |
259 | # keep urgent colors around longer | |
260 | force_display_urgency_hint 2000 ms |