new i3 setup
[~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:"
41set $ws4 "4:"
42set $ws5 "5:"
43set $ws6 "6:"
44
45set $default_gap_size 10
46gap_size $default_gap_size
47smart_borders on
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)
57bindsym $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
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
118bindsym $mod+5 workspace $ws5
119bindsym $mod+6 workspace $ws6
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
133bindsym $mod+Shift+5 move container to workspace number $ws5
134bindsym $mod+Shift+6 move container to workspace number $ws6
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)
148bindsym $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)
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
176set $mode_gap_size Gap size: (+/-/d/0) locally, (Shift + +/-/d/0) globally
177mode "$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}
190bindsym $mod+Shift+g mode "$mode_gap_size"
191
192# fix graphics glitch
193for_window [class="^.*"] border pixel 0
194for_window [class="(?i)urxvt"] border pixel 3
195
196# dialogs
197for_window [class="(?i)gsimplecal"] floating enable
198for_window [window_role="pop-up"] floating enable
199for_window [window_role="task_dialog"] floating enable
200
201# windows with no border
202for_window [class="(?i)firefox"] border none
203for_window [class="(?i)thunderbird"] border none
204for_window [class="(?i)emacs"] border none
205
206
207# assign certain applications to a specific workspace
208assign [class="(?i)firefox"] $ws1
209assign [class="(?i)urxvt"] $ws2
210assign [class="(?i)emacs"] $ws3
211assign [class="(?i)thunderbird"] $ws6
212
213# Start i3bar to display a workspace bar (plus the system information i3status
214# finds out, if available)
215bar {
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
230exec --no-startup-id nm-applet
231exec --no-startup-id "pulseaudio --start"
232
233# Sreen brightness controls
234bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 # increase screen brightness
235bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # decrease screen brightness
236
237# Keyboard brightness controls
238bindsym XF86KbdBrightnessUp exec --no-startup-id kbdlight up # increase screen brightness
239bindsym XF86KbdBrightnessDown exec --no-startup-id kbdlight down # decrease screen brightness
240
241# Pulse Audio controls
242bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer --allow-boost --increase 5 #increase sound volume
243bindsym XF86AudioLowerVolume exec --no-startup-id pamixer --allow-boost --decrease 5 #decrease sound volume
244bindsym XF86AudioMute exec --no-startup-id pamixer --toggle-mute # mute sound
245
246# MPD controls (using mpc)
247bindsym XF86AudioPlay exec --no-startup-id mpc toggle
248bindsym XF86AudioPrev exec --no-startup-id mpc prev
249bindsym XF86AudioNext exec --no-startup-id mpc next