use acpid for updating panel speaker/headset icon
[~bandali/configs] / i3 / .i3 / config
CommitLineData
cd3b4dc1
AB
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
12set $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).
18font 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
27floating_modifier $mod
28
29set $lime #9FBC00
30set $darklime #505e00
31set $blue #131D24
32set $lightblue #232D34
33set $lightgray #DDEEDD
34set $darkgray #444444
35set $white #FFFFFF
36set $urgentred #B33A3A
37
38set $ws1 "1:"
39set $ws2 "2:"
40set $ws3 "3:"
2a1ee0df 41set $ws4 "4:"
cd3b4dc1 42
eb0fc501
AB
43# set $default_gaps_inner 10
44# set $default_gaps_outer 0
45# gaps inner $default_gaps_inner
46# gaps outer $default_gaps_outer
fa74ff23 47#smart_borders on
cd3b4dc1
AB
48
49# start a terminal
50#bindsym $mod+Return exec i3-sensible-terminal
51bindsym $mod+Return exec urxvt
52
53# kill focused window
54bindsym $mod+q kill
55
56# start dmenu (a program launcher)
3d56a4bb 57bindsym $mod+space exec --no-startup-id dmenu_run
cd3b4dc1
AB
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
64bindsym $mod+h focus left
65bindsym $mod+j focus down
66bindsym $mod+k focus up
67bindsym $mod+l focus right
68
69# alternatively, you can use the cursor keys:
70bindsym $mod+Left focus left
71bindsym $mod+Down focus down
72bindsym $mod+Up focus up
73bindsym $mod+Right focus right
74
75# move focused window
76bindsym $mod+Shift+j move left
77bindsym $mod+Shift+k move down
78bindsym $mod+Shift+l move up
79bindsym $mod+Shift+semicolon move right
80
81# alternatively, you can use the cursor keys:
82bindsym $mod+Shift+Left move left
83bindsym $mod+Shift+Down move down
84bindsym $mod+Shift+Up move up
85bindsym $mod+Shift+Right move right
86
87# split in horizontal orientation
88bindsym $mod+comma split h
89
90# split in vertical orientation
91bindsym $mod+period split v
92
93# enter fullscreen mode for the focused container
94bindsym $mod+f fullscreen toggle
95
96# change container layout (stacked, tabbed, toggle split)
97bindsym $mod+s layout stacking
98bindsym $mod+w layout tabbed
99bindsym $mod+e layout toggle split
100
101# toggle tiling / floating
102bindsym $mod+Shift+space floating toggle
103
104# change focus between tiling / floating windows
105bindsym $mod+semicolon focus mode_toggle
106
107# focus the parent container
108bindsym $mod+a focus parent
109
110# focus the child container
111bindsym $mod+d focus child
112
113# switch to workspace
114bindsym $mod+1 workspace $ws1
115bindsym $mod+2 workspace $ws2
116bindsym $mod+3 workspace $ws3
117bindsym $mod+4 workspace $ws4
2a1ee0df
AB
118bindsym $mod+5 workspace 5
119bindsym $mod+6 workspace 6
cd3b4dc1
AB
120bindsym $mod+7 workspace 7
121bindsym $mod+8 workspace 8
122bindsym $mod+9 workspace 9
123bindsym $mod+0 workspace 10
124
125bindsym $mod+braceleft workspace prev
126bindsym $mod+braceright workspace next
127
128# move focused container to workspace
129bindsym $mod+Shift+1 move container to workspace number $ws1
130bindsym $mod+Shift+2 move container to workspace number $ws2
131bindsym $mod+Shift+3 move container to workspace number $ws3
132bindsym $mod+Shift+4 move container to workspace number $ws4
2a1ee0df
AB
133bindsym $mod+Shift+5 move container to workspace 5
134bindsym $mod+Shift+6 move container to workspace 6
cd3b4dc1
AB
135bindsym $mod+Shift+7 move container to workspace 7
136bindsym $mod+Shift+8 move container to workspace 8
137bindsym $mod+Shift+9 move container to workspace 9
138bindsym $mod+Shift+0 move container to workspace 10
139
140bindsym $mod+Shift+braceleft move container to workspace prev
141bindsym $mod+Shift+braceright move container to workspace next
142
143# reload the configuration file
144bindsym $mod+Shift+c reload
145# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
146bindsym $mod+Shift+r restart
147# exit i3 (logs you out of your X session)
db49043c 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'"
cd3b4dc1
AB
149
150# resize window (you can also use the mouse for that)
151mode "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
174bindsym $mod+r mode "resize"
175
fa74ff23
AB
176set $mode_gaps Gaps: (o) outer, (i) inner
177set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
178set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
179bindsym $mod+Shift+g mode "$mode_gaps"
180
181mode "$mode_gaps" {
182 bindsym o mode "$mode_gaps_outer"
183 bindsym i mode "$mode_gaps_inner"
184 bindsym Return mode "default"
185 bindsym Escape mode "default"
186}
187
188mode "$mode_gaps_inner" {
189 bindsym plus gaps inner current plus 5
190 bindsym minus gaps inner current minus 5
191 bindsym 0 gaps inner current set 0
192
193 bindsym Shift+plus gaps inner all plus 5
194 bindsym Shift+minus gaps inner all minus 5
195 bindsym Shift+0 gaps inner all set 0
196
197 bindsym Return mode "default"
198 bindsym Escape mode "default"
199}
200mode "$mode_gaps_outer" {
201 bindsym plus gaps outer current plus 5
202 bindsym minus gaps outer current minus 5
203 bindsym 0 gaps outer current set 0
204
205 bindsym Shift+plus gaps outer all plus 5
206 bindsym Shift+minus gaps outer all minus 5
207 bindsym Shift+0 gaps outer all set 0
cd3b4dc1
AB
208
209 bindsym Return mode "default"
210 bindsym Escape mode "default"
211}
cd3b4dc1
AB
212
213# fix graphics glitch
214for_window [class="^.*"] border pixel 0
215for_window [class="(?i)urxvt"] border pixel 3
216
217# dialogs
218for_window [class="(?i)gsimplecal"] floating enable
219for_window [window_role="pop-up"] floating enable
220for_window [window_role="task_dialog"] floating enable
221
222# windows with no border
223for_window [class="(?i)firefox"] border none
224for_window [class="(?i)thunderbird"] border none
225for_window [class="(?i)emacs"] border none
226
227
228# assign certain applications to a specific workspace
229assign [class="(?i)firefox"] $ws1
230assign [class="(?i)urxvt"] $ws2
231assign [class="(?i)emacs"] $ws3
cd3b4dc1
AB
232
233# Start i3bar to display a workspace bar (plus the system information i3status
234# finds out, if available)
235bar {
236 status_command i3status
237 strip_workspace_numbers yes
238# height 20
239 colors {
240 statusline $lightgray
241 background $blue
242 separator $lime
243# BORDER BACKGROUND TEXT
244 focused_workspace $lightblue $lightblue $lime
245 inactive_workspace $blue $blue $white
246 urgent_workspace $urgentred $urgentred $white
247 }
248}
249
ce84ebec 250set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown
db49043c
AB
251mode "$mode_system" {
252 bindsym l exec --no-startup-id i3exit lock, mode "default"
253 bindsym e exec --no-startup-id i3exit logout, mode "default"
254 bindsym r exec --no-startup-id i3exit reboot, mode "default"
ce84ebec 255 bindsym s exec --no-startup-id i3exit shutdown, mode "default"
db49043c
AB
256
257 # back to normal: Enter or Escape
258 bindsym Return mode "default"
259 bindsym Escape mode "default"
260}
261bindsym $mod+Shift+e mode "$mode_system"
262
cd3b4dc1
AB
263exec --no-startup-id nm-applet
264exec --no-startup-id "pulseaudio --start"
265
266# Sreen brightness controls
267bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 # increase screen brightness
268bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # decrease screen brightness
269
270# Keyboard brightness controls
271bindsym XF86KbdBrightnessUp exec --no-startup-id kbdlight up # increase screen brightness
272bindsym XF86KbdBrightnessDown exec --no-startup-id kbdlight down # decrease screen brightness
273
274# Pulse Audio controls
275bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer --allow-boost --increase 5 #increase sound volume
276bindsym XF86AudioLowerVolume exec --no-startup-id pamixer --allow-boost --decrease 5 #decrease sound volume
277bindsym XF86AudioMute exec --no-startup-id pamixer --toggle-mute # mute sound
278
279# MPD controls (using mpc)
280bindsym XF86AudioPlay exec --no-startup-id mpc toggle
281bindsym XF86AudioPrev exec --no-startup-id mpc prev
282bindsym XF86AudioNext exec --no-startup-id mpc next