new i3 setup
[~bandali/configs] / i3 / .i3 / config
1 # This file has been auto-generated by i3-config-wizard(1).
2 # It will not be overwritten, so edit it as you like.
3 #
4 # Should you change your keyboard layout some time, delete
5 # this file and re-run i3-config-wizard(1).
6 #
7
8 # i3 config file (v4)
9 #
10 # Please see http://i3wm.org/docs/userguide.html for a complete reference!
11
12 set $mod Mod4
13
14 # Font for window titles. Will also be used by the bar unless a different font
15 # is used in the bar {} block below.
16 # This font is widely installed, provides lots of unicode glyphs, right-to-left
17 # text rendering and scalability on retina/hidpi displays (thanks to pango).
18 font pango:DejaVu Sans Mono 8
19 # Before i3 v4.8, we used to recommend this one as the default:
20 # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
21 # The font above is very space-efficient, that is, it looks good, sharp and
22 # clear in small sizes. However, its unicode glyph coverage is limited, the old
23 # X core fonts rendering does not support right-to-left and this being a bitmap
24 # font, it doesn’t scale on retina/hidpi displays.
25
26 # Use Mouse+$mod to drag floating windows to their wanted position
27 floating_modifier $mod
28
29 set $lime #9FBC00
30 set $darklime #505e00
31 set $blue #131D24
32 set $lightblue #232D34
33 set $lightgray #DDEEDD
34 set $darkgray #444444
35 set $white #FFFFFF
36 set $urgentred #B33A3A
37
38 set $ws1 "1:"
39 set $ws2 "2:"
40 set $ws3 "3:"
41 set $ws4 "4:"
42 set $ws5 "5:"
43 set $ws6 "6:"
44
45 set $default_gap_size 10
46 gap_size $default_gap_size
47 smart_borders on
48
49 # start a terminal
50 #bindsym $mod+Return exec i3-sensible-terminal
51 bindsym $mod+Return exec urxvt
52
53 # kill focused window
54 bindsym $mod+q kill
55
56 # start dmenu (a program launcher)
57 bindsym $mod+space exec dmenu_run
58 # There also is the (new) i3-dmenu-desktop which only displays applications
59 # shipping a .desktop file. It is a wrapper around dmenu, so you need that
60 # installed.
61 # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
62
63 # change focus
64 bindsym $mod+h focus left
65 bindsym $mod+j focus down
66 bindsym $mod+k focus up
67 bindsym $mod+l focus right
68
69 # alternatively, you can use the cursor keys:
70 bindsym $mod+Left focus left
71 bindsym $mod+Down focus down
72 bindsym $mod+Up focus up
73 bindsym $mod+Right focus right
74
75 # move focused window
76 bindsym $mod+Shift+j move left
77 bindsym $mod+Shift+k move down
78 bindsym $mod+Shift+l move up
79 bindsym $mod+Shift+semicolon move right
80
81 # alternatively, you can use the cursor keys:
82 bindsym $mod+Shift+Left move left
83 bindsym $mod+Shift+Down move down
84 bindsym $mod+Shift+Up move up
85 bindsym $mod+Shift+Right move right
86
87 # split in horizontal orientation
88 bindsym $mod+comma split h
89
90 # split in vertical orientation
91 bindsym $mod+period split v
92
93 # enter fullscreen mode for the focused container
94 bindsym $mod+f fullscreen toggle
95
96 # change container layout (stacked, tabbed, toggle split)
97 bindsym $mod+s layout stacking
98 bindsym $mod+w layout tabbed
99 bindsym $mod+e layout toggle split
100
101 # toggle tiling / floating
102 bindsym $mod+Shift+space floating toggle
103
104 # change focus between tiling / floating windows
105 bindsym $mod+semicolon focus mode_toggle
106
107 # focus the parent container
108 bindsym $mod+a focus parent
109
110 # focus the child container
111 bindsym $mod+d focus child
112
113 # switch to workspace
114 bindsym $mod+1 workspace $ws1
115 bindsym $mod+2 workspace $ws2
116 bindsym $mod+3 workspace $ws3
117 bindsym $mod+4 workspace $ws4
118 bindsym $mod+5 workspace $ws5
119 bindsym $mod+6 workspace $ws6
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
125 bindsym $mod+braceleft workspace prev
126 bindsym $mod+braceright workspace next
127
128 # move focused container to workspace
129 bindsym $mod+Shift+1 move container to workspace number $ws1
130 bindsym $mod+Shift+2 move container to workspace number $ws2
131 bindsym $mod+Shift+3 move container to workspace number $ws3
132 bindsym $mod+Shift+4 move container to workspace number $ws4
133 bindsym $mod+Shift+5 move container to workspace number $ws5
134 bindsym $mod+Shift+6 move container to workspace number $ws6
135 bindsym $mod+Shift+7 move container to workspace 7
136 bindsym $mod+Shift+8 move container to workspace 8
137 bindsym $mod+Shift+9 move container to workspace 9
138 bindsym $mod+Shift+0 move container to workspace 10
139
140 bindsym $mod+Shift+braceleft move container to workspace prev
141 bindsym $mod+Shift+braceright move container to workspace next
142
143 # reload the configuration file
144 bindsym $mod+Shift+c reload
145 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
146 bindsym $mod+Shift+r restart
147 # exit i3 (logs you out of your X session)
148 bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
149
150 # resize window (you can also use the mouse for that)
151 mode "resize" {
152 # These bindings trigger as soon as you enter the resize mode
153
154 # Pressing left will shrink the window’s width.
155 # Pressing right will grow the window’s width.
156 # Pressing up will shrink the window’s height.
157 # Pressing down will grow the window’s height.
158 bindsym h resize shrink width 10 px or 10 ppt
159 bindsym j resize grow height 10 px or 10 ppt
160 bindsym k resize shrink height 10 px or 10 ppt
161 bindsym l resize grow width 10 px or 10 ppt
162
163 # same bindings, but for the arrow keys
164 bindsym Left resize shrink width 10 px or 10 ppt
165 bindsym Down resize grow height 10 px or 10 ppt
166 bindsym Up resize shrink height 10 px or 10 ppt
167 bindsym Right resize grow width 10 px or 10 ppt
168
169 # back to normal: Enter or Escape
170 bindsym Return mode "default"
171 bindsym Escape mode "default"
172 }
173
174 bindsym $mod+r mode "resize"
175
176 set $mode_gap_size Gap size: (+/-/d/0) locally, (Shift + +/-/d/0) globally
177 mode "$mode_gap_size" {
178 bindsym plus gap_size current plus 5
179 bindsym minus gap_size current minus 5
180 bindsym 0 gap_size current 0
181 bindsym d gap_size current $default_gap_size
182 bindsym Shift+plus gap_size plus 5
183 bindsym Shift+minus gap_size minus 5
184 bindsym Shift+0 gap_size 0
185 bindsym Shift+d gap_size $default_gap_size
186
187 bindsym Return mode "default"
188 bindsym Escape mode "default"
189 }
190 bindsym $mod+Shift+g mode "$mode_gap_size"
191
192 # fix graphics glitch
193 for_window [class="^.*"] border pixel 0
194 for_window [class="(?i)urxvt"] border pixel 3
195
196 # dialogs
197 for_window [class="(?i)gsimplecal"] floating enable
198 for_window [window_role="pop-up"] floating enable
199 for_window [window_role="task_dialog"] floating enable
200
201 # windows with no border
202 for_window [class="(?i)firefox"] border none
203 for_window [class="(?i)thunderbird"] border none
204 for_window [class="(?i)emacs"] border none
205
206
207 # assign certain applications to a specific workspace
208 assign [class="(?i)firefox"] $ws1
209 assign [class="(?i)urxvt"] $ws2
210 assign [class="(?i)emacs"] $ws3
211 assign [class="(?i)thunderbird"] $ws6
212
213 # Start i3bar to display a workspace bar (plus the system information i3status
214 # finds out, if available)
215 bar {
216 status_command i3status
217 strip_workspace_numbers yes
218 # height 20
219 colors {
220 statusline $lightgray
221 background $blue
222 separator $lime
223 # BORDER BACKGROUND TEXT
224 focused_workspace $lightblue $lightblue $lime
225 inactive_workspace $blue $blue $white
226 urgent_workspace $urgentred $urgentred $white
227 }
228 }
229
230 exec --no-startup-id nm-applet
231 exec --no-startup-id "pulseaudio --start"
232
233 # Sreen brightness controls
234 bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 # increase screen brightness
235 bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # decrease screen brightness
236
237 # Keyboard brightness controls
238 bindsym XF86KbdBrightnessUp exec --no-startup-id kbdlight up # increase screen brightness
239 bindsym XF86KbdBrightnessDown exec --no-startup-id kbdlight down # decrease screen brightness
240
241 # Pulse Audio controls
242 bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer --allow-boost --increase 5 #increase sound volume
243 bindsym XF86AudioLowerVolume exec --no-startup-id pamixer --allow-boost --decrease 5 #decrease sound volume
244 bindsym XF86AudioMute exec --no-startup-id pamixer --toggle-mute # mute sound
245
246 # MPD controls (using mpc)
247 bindsym XF86AudioPlay exec --no-startup-id mpc toggle
248 bindsym XF86AudioPrev exec --no-startup-id mpc prev
249 bindsym XF86AudioNext exec --no-startup-id mpc next