-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathi3config
356 lines (294 loc) · 11.4 KB
/
i3config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
# i3 config file tuned for ZeLDA
#
# Complete i3 reference: http://i3wm.org/docs/userguide.html for a complete reference!
# ZeLDA layout for Planck keyboards: https://github.com/MicahElliott/ZeLDA
#set $mod Mod1
set $mod Mod4
#set the font
#exec xset fp+ /usr/share/fonts/local/ &
exec xset +fp ~/gitcontainer/projects/orp-font/misc
#exec xset +fp ~/gits/projects/orp-font/misc
exec xset +fp /usr/share/fonts/local
exec xset -b
# https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg#Using_xset
# msdelay rate
#exec xset r rate 250 60 # super fast keyboard cursor delay and rate!
exec xset r rate 250 2 # super slow (vim training)
# Not sure if this works; might have to paste manually
exec xmodmap -e 'keycode 138 = Multi_key'
# NOTE: some of these are being set in .xinitrc; could maybe move some here.
# Keyboard indicator icon; always on wrong statusbar and memory hog!
# exec fbxkb
# Too simple maybe?
exec volumeicon
# Wow, fancy!
#exec volti
#exec parcellite
exec clipit
#exec nm-applet
##exec wicd-client
#exec batti
exec batterymon
# Frequency not detected??
exec gatotray
# FIXME: check to see if this works, like in .xinitrc
#exec eval $(keychain --eval -Q --quiet id_rsa)
exec stty -ixon
# Growl On Linux
exec gol
# Alternative to standard notify-send
# https://github.com/knopwob/dunst
# https://faq.i3wm.org/question/5187/how-to-get-dunst-working/
exec --no-startup-id dunst
#exec shutter
#exec screengrab
# Too big and no real controls.
#exec gvolwheel
# EXP: only an icon; no functionality
#exec cbatticon
# Auto-mount usb disks, etc.
#exec udiskie
# font for window titles. ISO 10646 = Unicode
#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
font -misc-orp-bold-r-*--*-*-*-*-*-*-iso10646-1
# Big enough to see nm-applet's indicator in i3status
#font -*-tamsyn-bold-*-*-*-20-*-*-*-*-*-*-*
# https://faq.i3wm.org/question/183/how-to-get-i3wm-font-anti-aliasing/
#font xft:Droid Sans Mono 20
# Volume control
# http://blog.bstpierre.org/controlling-audio-with-i3
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec pactl -- set-sink-volume 0 -0.2
#bindsym XF86AudioRaiseVolume exec amixer -q set Master 2+ unmute
#bindsym XF86AudioLowerVolume exec amixer -q set Master 2- unmute
bindsym XF86Battery exec ~/bin/pm.zsh
# bindsym Menu exec mouse-script.zsh
# bindsym Mod3+y fullscreen toggle
bindsym XF86MonBrightnessDown exec xbacklight -dec 10
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
focus_follows_mouse yes
bindsym $mod+Tab workspace back_and_forth
workspace_auto_back_and_forth yes
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
#bindsym $mod+Return exec urxvtcd
# start dmenu (a program launcher)
#bindsym $mod+d exec dmenu_run -b -nb red
# try shellex instead: https://github.com/Merovius/shellex
bindsym $mod+n exec shellex -bg brown -fg yellow
# lock screen
# https://faq.i3wm.org/question/83/how-to-run-i3lock-after-computer-inactivity/
#exec xautolock -time 4 -locker 'i3lock -b -c 0000ff'
exec xautolock -time 22 -locker "i3lock -b -i $HOME/art/locked2.png"
bindsym Control+Mod1+$mod+l exec i3lock -b -i $HOME/art/locked2.png
# change focus
bindsym $mod+e focus up
bindsym $mod+d focus down
bindsym $mod+s focus left
bindsym $mod+f focus right
# move focused window
bindsym $mod+Shift+e move up
bindsym $mod+Shift+d move down
bindsym $mod+Shift+s move left
bindsym $mod+Shift+f move right
# split in horizontal orientation
bindsym $mod+h split horizontal
# split in vertical orientation
bindsym $mod+v split vertical
# enter fullscreen mode for the focused container (All of screen)
bindsym $mod+a fullscreen
# change container layout (stacked, tabbed, default)
# bindsym $mod+s layout stacking
bindsym $mod+t layout tabbed
bindsym $mod+g layout default
bindsym $mod+z layout stacking
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
# bindsym $mod+a focus parent
# bindsym $mod+Shift+a focus child
# focus the child container
#bindcode $mod+d focus child
# switch to workspace
bindsym $mod+u workspace 7
bindsym $mod+i workspace 8
bindsym $mod+o workspace 9
bindsym $mod+j workspace 4
bindsym $mod+k workspace 5
bindsym $mod+l workspace 6
bindsym $mod+m workspace 1
bindsym $mod+comma workspace 2
bindsym $mod+period workspace 3
bindsym $mod+p workspace 10
# move focused container to workspace
bindsym $mod+Shift+M move container to workspace 1
bindsym $mod+Shift+comma move container to workspace 2
bindsym $mod+Shift+period move container to workspace 3
bindsym $mod+Shift+J move container to workspace 4
bindsym $mod+Shift+K move container to workspace 5
bindsym $mod+Shift+L move container to workspace 6
bindsym $mod+Shift+U move container to workspace 7
bindsym $mod+Shift+I move container to workspace 8
bindsym $mod+Shift+O move container to workspace 9
bindsym $mod+Shift+P move container to workspace 10
# kill focused window
# bindsym $mod+Shift+Q kill
bindsym $mod+Shift+X kill
# reload the configuration file
# bindsym $mod+Shift+O reload
bindsym $mod+Shift+R reload
# bindsym $mod+Shift+r reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+Control+W restart
bindsym $mod+Shift+Control+R restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+Control+BackSpace exit
bindsym $mod+Shift+Control+Q exit
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# vim-style
bindsym h resize shrink width 3 px or 3 ppt
bindsym j resize grow height 3 px or 3 ppt
bindsym k resize shrink height 3 px or 3 ppt
bindsym l resize grow width 3 px or 3 ppt
# ZeLDA FESD
bindsym s resize shrink width 3 px or 3 ppt
bindsym d resize grow height 3 px or 3 ppt
bindsym e resize shrink height 3 px or 3 ppt
bindsym f resize grow width 3 px or 3 ppt
# same bindings, but for the typical arrow keys
bindsym 113 resize shrink width 3 px or 3 ppt
bindsym 116 resize grow height 3 px or 3 ppt
bindsym 111 resize shrink height 3 px or 3 ppt
bindsym 114 resize grow width 3 px or 3 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
# http://i3wm.org/docs/userguide.html#_configuring_i3bar
bar {
#output LVDS1
output EDP1
# Enable font awesome for icons
# font pango:DejaVu Sans Mono, Icons 8
font pango:DejaVu Sans Mono, Awesome 8
# status_command i3status --config ~/.i3status.conf
status_command my-i3status
# status_command net-speed.sh
position top
mode dock
modifier Mod4
colors {
#background #116600
#statusline #ffffff
#background #ffffff
#statusline #000000
#focused_workspace #4c7899 #285577 #ffffff
#active_workspace #333333 #5f676a #ffffff
#active_workspace #ff0000 #00ff00 #0000ff
#inactive_workspace #333333 #222222 #888888
#urgent_workspace #2f343a #900000 #ffffff
}
#tray_output LVDS1
tray_output EDP1
}
# Neat! Can have 2 bars.
# :( but often dies, and icons often shift around running xrandr
#bar {
#output VGA1
#mode hide
#status_command i3status --config ~/.i3status-vga1.conf
#}
bindsym $mod+b border toggle
# Remove to return to "normal" border.
#new_window 1pixel
#new_window pixel 2 # awesome if it works!
#new_window pixel 3
new_window pixel 4
# border background text
#client.focused #2B6473 #2B6473 #FFA000
# Gold
#client.focused #2B6473 #2B6473 #ffd700
#client.focused_inactive #004050 #004050 #FFA000
#client.unfocused #004050 #004050 #cccccc
client.urgent #900000 #900000 #ffffff
# colors gentoo
client.focused #7a5ada #7a5ada #ffff00
#client.focused #000000 #000000 #d7ff00
client.focused_inactive #45347b #45347b #aaaaaa
client.unfocused #333333 #333333 #666666
client.urgent #D11931 #D11931 #ffffff
# colours arch linux
# Important that vert/horiz blue is still apparent.
# yellow
#client.focused #ffff00 #ffff00 #0033ff
# green
client.focused #99ff33 #99ff33 #0033ff
# orange
client.focused_inactive #ff9900 #ff9900 #0044ff
# purple
client.unfocused #7a5ada #7a5ada #ffff00
# red
client.urgent #D11931 #D11931 #777777
# colours freebsd
#client.focused #990000 #990000 #ffffff
#client.focused_inactive #666666 #666666 #ffffff
#client.unfocused #333333 #333333 #ffffff
#client.urgent #D11931 #D11931 #ffffff
# Possible outputs: VGA1, HDMI1, HDMI2, eDP1
workspace "1" output eDP1
workspace "2" output eDP1
workspace "3" output eDP1
workspace "4" output HDMI2
workspace "5" output HDMI2
workspace "6" output HDMI2
workspace "7" output HDMI2
workspace "8" output HDMI1
workspace "9" output HDMI1
workspace "10" output HDMI1
# App-specific
# Use `xprop` (and maybe `xwininfo`) to determine class, title, etc.
for_window [title=".* LibreOffice .*"] floating enable; border normal
for_window [class="Firefox"] border normal
for_window [class="(?i)google-chrome"] border normal
for_window [class="(?i)chromium"] border normal
for_window [class="(?i)thunar"] floating enable; border normal
for_window [class="(?i)gimp"] floating enable; border normal
for_window [class="(?i)gnumeric"] border normal
for_window [class="(?i)soffice"] border normal
for_window [class="(?i)feh"] floating enable; border normal
for_window [class="(?i)s?mplayer"] floating enable; border normal
for_window [class="(?i)vlc"] floating enable; border normal
for_window [class="(?i)nautilus"] border normal
for_window [class="(?i)xvidcap"] floating enable; border normal
for_window [title=".* Pinboard - Save a Bookmark - Aurora"] floating enable; border normal
for_window [title="Mozilla Persona.*"] floating enable; border normal
for_window [title="gbdfed*"] floating enable; border normal
for_window [title="xfce4-notifyd"] floating enable; border normal
for_window [title="Wicd Network Manager"] floating enable; border normal
for_window [title="- Shutter"] floating enable; border normal
# key-mon
for_window [title="Keyboard Status Monitor"] floating enable
for_window [title="Text Import - "] floating enable
for_window [title="Cinelerra: "] floating enable; border normal
for_window [title="xfce4-notifyd"] floating enable; border none
for_window [title="^qiv: "] floating enable; border normal
#for_window [title="^ImageMagick: "] floating enable; border normal
for_window [title="^ImageMagick: "] border none
for_window [title=" - Geeqie"] border none
for_window [title="^GPG: "] floating enable; border normal
for_window [title=" - KeePassX"] floating enable; border normal
for_window [title=" - R Help"] floating enable; border normal
for_window [title=" - (ACTIVE)"] floating enable; border normal
#for_window [title="key-mon"] floating enable; border none