]>
Commit | Line | Data |
---|---|---|
1b8a4102 | 1 | # i3 config file (v4) |
2 | # Please see http://i3wm.org/docs/userguide.html for a complete reference! | |
3 | ||
4 | # Font for window titles. Will also be used by the bar unless a different font | |
5 | # is used in the bar {} block below. | |
6 | ||
7 | font pango:Dina, DejaVu Sans Mono, monospace 7 | |
8 | ||
9 | # This font is widely installed, provides lots of unicode glyphs, right-to-left | |
10 | # text rendering and scalability on retina/hidpi displays (thanks to pango). | |
11 | #font pango:DejaVu Sans Mono 8 | |
12 | ||
13 | # Before i3 v4.8, we used to recommend this one as the default: | |
14 | # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 | |
15 | # The font above is very space-efficient, that is, it looks good, sharp and | |
16 | # clear in small sizes. However, its unicode glyph coverage is limited, the old | |
17 | # X core fonts rendering does not support right-to-left and this being a bitmap | |
18 | # font, it doesn’t scale on retina/hidpi displays. | |
19 | ||
20 | # Modifier key | |
21 | set $mod Mod4 | |
22 | ||
23 | # use these keys for focus, movement, and resize directions | |
24 | set $up k | |
25 | set $down j | |
26 | set $left h | |
27 | set $right l | |
28 | # and arrow keys | |
29 | set $up2 Up | |
30 | set $down2 Down | |
31 | set $left2 Left | |
32 | set $right2 Right | |
33 | ||
34 | # use Mouse+$mod to drag floating windows to their wanted position | |
35 | floating_modifier $mod | |
36 | ||
37 | # start a terminal | |
38 | bindsym $mod+Return exec --no-startup-id i3-sensible-terminal | |
39 | ||
40 | # kill focused window | |
41 | bindsym $mod+Shift+q kill | |
42 | ||
43 | # start dmenu | |
44 | bindsym $mod+d exec --no-startup-id $HOME/bin/dmenu_runsmart -p "%" | |
45 | ||
46 | # change focus | |
47 | bindsym $mod+$left focus left | |
48 | bindsym $mod+$down focus down | |
49 | bindsym $mod+$up focus up | |
50 | bindsym $mod+$right focus right | |
51 | bindsym $mod+$left2 focus left | |
52 | bindsym $mod+$down2 focus down | |
53 | bindsym $mod+$up2 focus up | |
54 | bindsym $mod+$right2 focus right | |
55 | ||
56 | # move focused window | |
57 | bindsym $mod+Shift+$left move left | |
58 | bindsym $mod+Shift+$down move down | |
59 | bindsym $mod+Shift+$up move up | |
60 | bindsym $mod+Shift+$right move right | |
61 | bindsym $mod+Shift+$left2 move left | |
62 | bindsym $mod+Shift+$down2 move down | |
63 | bindsym $mod+Shift+$up2 move up | |
64 | bindsym $mod+Shift+$right2 move right | |
65 | ||
66 | # split in horizontal orientation | |
67 | bindsym $mod+i split h | |
68 | ||
69 | # split in vertical orientation | |
70 | bindsym $mod+o split v | |
71 | ||
72 | # enter fullscreen mode for the focused container | |
73 | bindsym $mod+f fullscreen toggle | |
74 | bindsym $mod+Shift+f fullscreen toggle global | |
75 | ||
76 | # change container layout (stacked, tabbed, toggle split) | |
77 | bindsym $mod+s layout stacking | |
78 | bindsym $mod+w layout tabbed | |
79 | bindsym $mod+e layout toggle split | |
80 | ||
81 | # toggle tiling / floating | |
82 | bindsym $mod+Shift+space floating toggle | |
83 | ||
84 | # change focus between tiling / floating windows | |
85 | bindsym $mod+space focus mode_toggle | |
86 | ||
87 | # focus the parent container | |
88 | bindsym $mod+a focus parent | |
89 | ||
90 | # focus the child container | |
91 | bindsym $mod+z focus child | |
92 | ||
93 | # move the currently focused window to the scratchpad | |
94 | bindsym $mod+Shift+minus move scratchpad | |
95 | ||
96 | # Show the next scratchpad window or hide the focused scratchpad window. | |
97 | # If there are multiple scratchpad windows, this command cycles through them. | |
98 | bindsym $mod+minus scratchpad show | |
99 | ||
100 | # switch to workspace | |
101 | bindsym $mod+1 workspace 1 | |
102 | bindsym $mod+2 workspace 2 | |
103 | bindsym $mod+3 workspace 3 | |
104 | bindsym $mod+4 workspace 4 | |
105 | bindsym $mod+5 workspace 5 | |
106 | bindsym $mod+6 workspace 6 | |
107 | bindsym $mod+7 workspace 7 | |
108 | bindsym $mod+8 workspace 8 | |
109 | bindsym $mod+9 workspace 9 | |
110 | bindsym $mod+0 workspace 10 | |
111 | ||
112 | # move focused container to workspace | |
113 | bindsym $mod+Shift+1 move container to workspace 1 | |
114 | bindsym $mod+Shift+2 move container to workspace 2 | |
115 | bindsym $mod+Shift+3 move container to workspace 3 | |
116 | bindsym $mod+Shift+4 move container to workspace 4 | |
117 | bindsym $mod+Shift+5 move container to workspace 5 | |
118 | bindsym $mod+Shift+6 move container to workspace 6 | |
119 | bindsym $mod+Shift+7 move container to workspace 7 | |
120 | bindsym $mod+Shift+8 move container to workspace 8 | |
121 | bindsym $mod+Shift+9 move container to workspace 9 | |
122 | Bindsym $mod+Shift+0 move container to workspace 10 | |
123 | ||
124 | # rename current window | |
125 | bindsym $mod+t --no-startup-id xrename | |
126 | ||
127 | # reload the configuration file | |
128 | bindsym $mod+Shift+c reload | |
129 | # restart i3 inplace | |
130 | bindsym $mod+Shift+r restart | |
131 | # exit i3 | |
132 | bindsym $mod+Shift+e exec --no-startup-id i3-nagbar -t warning -m Exit? -b Yes 'i3-msg exit' | |
133 | ||
134 | # x220t bezel buttons | |
135 | bindcode 198 exec --no-startup-id rotate set normal | |
136 | bindcode 204 exec --no-startup-id rotate right | |
137 | ||
138 | # volume buttons | |
139 | bindsym XF86AudioMute exec -no-startup-id mixer vol 0 | |
140 | bindsym XF86AudioRaiseVolume exec -no-startup-id mixer vol +5 | |
141 | bindsym XF86AudioLowerVolume exec -no-startup-id mixer vol -5 | |
142 | ||
143 | # move and resize [floating] windows | |
144 | mode "translate" { | |
145 | bindsym $left resize shrink width 20 px | |
146 | bindsym $down resize grow height 20 px | |
147 | bindsym $up resize shrink height 20 px | |
148 | bindsym $right resize grow width 20 px | |
149 | bindsym $left2 resize shrink width 20 px | |
150 | bindsym $down2 resize grow height 20 px | |
151 | bindsym $up2 resize shrink height 20 px | |
152 | bindsym $right2 resize grow width 20 px | |
153 | ||
154 | bindsym Shift+$left move left 20 px | |
155 | bindsym Shift+$down move down 20 px | |
156 | bindsym Shift+$up move up 20 px | |
157 | bindsym Shift+$right move right 20 px | |
158 | bindsym Shift+$left2 move left 20 px | |
159 | bindsym Shift+$down2 move down 20 px | |
160 | bindsym Shift+$up2 move up 20 px | |
161 | bindsym Shift+$right2 move right 20 px | |
162 | ||
163 | # smaller movements | |
164 | bindsym Control+$left resize shrink width 1 px or 1 ppt | |
165 | bindsym Control+$down resize grow height 1 px or 1 ppt | |
166 | bindsym Control+$up resize shrink height 1 px or 1 ppt | |
167 | bindsym Control+$right resize grow width 1 px or 1 ppt | |
168 | bindsym Control+$left2 resize shrink width 1 px or 1 ppt | |
169 | bindsym Control+$down2 resize grow height 1 px or 1 ppt | |
170 | bindsym Control+$up2 resize shrink height 1 px or 1 ppt | |
171 | bindsym Control+$right2 resize grow width 1 px or 1 ppt | |
172 | ||
173 | bindsym Control+Shift+$left move left 1 px | |
174 | bindsym Control+Shift+$down move down 1 px | |
175 | bindsym Control+Shift+$up move up 1 px | |
176 | bindsym Control+Shift+$right move right 1 px | |
177 | bindsym Control+Shift+$left2 move left 1 px | |
178 | bindsym Control+Shift+$down2 move down 1 px | |
179 | bindsym Control+Shift+$up2 move up 1 px | |
180 | bindsym Control+Shift+$right2 move right 1 px | |
181 | ||
182 | # toggle tiling / floating | |
183 | bindsym $mod+Shift+space floating toggle | |
184 | ||
185 | # change focus between tiling / floating windows | |
186 | bindsym $mod+space focus mode_toggle | |
187 | ||
188 | # focus the parent container | |
189 | bindsym $mod+a focus parent | |
190 | ||
191 | # focus the child container | |
192 | bindsym $mod+z focus child | |
193 | ||
194 | # back to normal: Enter, Escape, or original key | |
195 | bindsym return mode default | |
196 | bindsym escape mode default | |
197 | bindsym $mod+r mode default | |
198 | } | |
199 | bindsym $mod+r mode "translate" | |
200 | ||
201 | # borders | |
202 | hide_edge_borders smart | |
203 | #new_window normal 1 | |
204 | new_window pixel 1 | |
205 | gaps inner 6 | |
206 | smart_gaps on | |
207 | #for_window [class="^URxvt$"] border pixel 1 | |
208 | #for_window [class="^links$"] border pixel 1 | |
209 | ||
210 | # misc | |
211 | workspace_auto_back_and_forth yes | |
212 | force_display_urgency_hint 2000 ms | |
213 | ||
214 | # color definitions | |
215 | # class border backgr. text indicator child_border | |
216 | set $focused #cc6600 #aa5500 #eee8d5 #4466ff #cc6600 | |
217 | set $inactive #884400 #221100 #93a1a1 #264bd2 #884400 | |
218 | set $urgent #ff4444 #dc322f #000000 #4466ff #ff4444 | |
219 | set $blue #4466ff #264bd2 #fdf6e3 #264db2 #4466ff | |
220 | ||
221 | bar { | |
222 | position top | |
223 | tray_output primary | |
224 | status_command i3status | |
225 | separator_symbol "|" | |
226 | ||
227 | colors { | |
228 | background #110800 | |
229 | statusline #93a1a1 | |
230 | separator #268bd2 | |
231 | ||
232 | # class border backgr. text | |
233 | focused_workspace $focused | |
234 | active_workspace $inactive | |
235 | inactive_workspace $inactive | |
236 | urgent_workspace $urgent | |
237 | binding_mode $blue | |
238 | } | |
239 | } | |
240 | ||
241 | # colors | |
242 | # class border backgr. text indicator child_border | |
243 | client.focused $focused | |
244 | client.focused_inactive $inactive | |
245 | client.unfocused $inactive | |
246 | client.urgent $urgent | |
247 | client.placeholder $blue | |
248 | ||
249 | client.background #221100 |