]> git.sev.monster Git - dotfiles.git/blob - xdg/i3/config
af19cae2c18532bfcbae463d07c2a31f3844a804
[dotfiles.git] / xdg / i3 / config
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
This page took 0.041242 seconds and 2 git commands to generate.