mass update.
[my-dotfiles.git] / 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 ###########################
9 # xbindkeys -k #
10 # xprop | grep -i 'class' #
11 ###########################
12
13 # i3 config file (v4)
14 #
15 # Please see http://i3wm.org/docs/userguide.html for a complete reference!
16
17 # set modifiers
18 ##
19 ## Win to be used to issue commands application related, like launching programs
20 ## Alt to be used to issue commands desktop related, like modifying layout of windows
21 ## Ctrl in combination with the other two, to issue special commands.
22 set $win Mod4
23 set $alt Mod1
24 set $ctrl Ctrl
25
26 # browser variable
27 set $browser firefox
28 set $incognito-browser firefox --private-window
29 # editor variable
30 set $prog-editor sublime_text
31
32 # title alignment
33 #title_align center
34
35 #set $rofi "rofi -show run -font 'Droid Sans Mono 10' -theme Monokai -width 40 -location 2 -lines 7 -bw 2 -yoffset -2"
36 #set $rofissh "rofi -show ssh -font 'Droid Sans Mono 10' -theme Monokai"
37
38 # Workspace names
39 # # to display names or symbols instead of plain workspace numbers you can use
40 # # something like: set $ws1 1:mail
41 # # set $ws2 2:x
42 #
43 set $ws1 "web"
44 set $ws2 "editor"
45 set $ws3 "console"
46 set $ws4 "ssh"
47 set $ws5 "graphic"
48 set $ws6 "editor2"
49 set $ws7 "chat"
50 set $ws8 "music"
51
52 # per workspace gaps
53 workspace $ws1 gaps inner 0
54 workspace $ws1 gaps outer 0
55 workspace $ws2 gaps inner 0
56 workspace $ws2 gaps outer 0
57
58
59 # Font for window titles. Will also be used by the bar unless a different font
60 # is used in the bar {} block below.
61 font pango:"Droid Sans 10"
62
63 # Use Mouse+$win to drag floating windows to their wanted position
64 floating_modifier $win
65
66 # start a terminal
67 # macropad 5
68 bindsym $alt+Return exec --no-startup-id alacritty
69 # macropad Shift+5
70 bindsym Shift+$alt+Return exec --no-startup-id blackpearl-sshmenu.sh
71
72
73 # custom binding
74 # macropad 4
75 bindsym Shift+$ctrl+l exec --no-startup-id clipmenu -no-lazy-grab -show run -theme blackpearl/runner
76 bindsym $alt+Shift+$ctrl+l exec --no-startup-id xclip -o | qrencode -o - | feh -Z -
77 bindsym Print exec --no-startup-id blackpearl-scrotmenu.sh
78 bindsym $alt+Menu exec --no-startup-id blackpearl-utilsmenu.sh
79 bindsym $win+Menu exec --no-startup-id blackpearl-appsmenu.sh
80 bindsym $alt+Escape --release exec xkill
81 bindsym $win+e exec pcmanfm-qt
82 # macropad 3
83 bindsym $win+g exec gimp
84 #bindsym $win+x exec --no-startup-id i3-exit
85 #bindsym $win+s exec --no-startup-id wol d4:c9:ef:f1:c9:24
86 bindsym $win+l exec --no-startup-id i3lock-fancy
87 # macropad 1
88 bindsym $win+w exec $browser
89 # macropad Shift+1
90 bindsym $win+Shift+w exec $incognito-browser
91 bindsym XF86Calculator exec kcalc
92 bindsym XF86Sleep exec i3suspend
93 # macropad 2
94 bindsym $win+r exec $prog-editor
95 bindsym $win+Shift+r exec Typora
96 bindsym XF86HomePage exec --no-startup-id blackpearl-appsmenu.sh
97 #bindsym $win+p exec uxterm -T "spt" -geometry 90x30+800+30 -e spt
98 bindsym $win+m exec Telegram
99
100 # window switching bindings
101 bindsym $alt+Tab exec --no-startup-id "blackpearl-window.sh desktop"
102 bindsym $alt+Ctrl+Tab exec --no-startup-id "blackpearl-window.sh all"
103
104 # multimedia binding
105 # macropad top encoder
106 bindsym XF86AudioMute exec --no-startup-id pamixer -t
107 bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5
108 bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 5
109 # macropad bottom encoder
110 bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
111 bindsym XF86AudioPrev exec --no-startup-id playerctl previous
112 bindsym XF86AudioNext exec --no-startup-id playerctl next
113
114 # brightness bindings
115 # macropad Alt + top encoder
116 bindsym $alt+XF86AudioLowerVolume exec --no-startup-id monitor-light.sh dec 10
117 bindsym $alt+XF86AudioRaiseVolume exec --no-startup-id monitor-light.sh inc 10
118
119 # kill focused window
120 #bindsym $ctrl+Shift+q kill
121
122 # restart polybar
123 # macropad Alt + bottom encoder
124 bindsym $alt+XF86AudioPlay exec --no-startup-id polybar-msg cmd restart
125
126 # start rofi in dmenu mode (a program launcher)
127 bindsym $alt+F2 exec --no-startup-id blackpearl-runner.sh
128
129 # change focus
130 bindsym $alt+j focus left
131 bindsym $alt+k focus down
132 bindsym $alt+l focus up
133 bindsym $alt+ograve focus right
134
135 # alternatively, you can use the cursor keys:
136 bindsym $alt+Left focus left
137 bindsym $alt+Down focus down
138 bindsym $alt+Up focus up
139 bindsym $alt+Right focus right
140
141 # move focused window
142 bindsym $alt+Shift+j move left
143 bindsym $alt+Shift+k move down
144 bindsym $alt+Shift+l move up
145 bindsym $alt+Shift+ograve move right
146
147 # alternatively, you can use the cursor keys:
148 bindsym $alt+Shift+Left move left
149 bindsym $alt+Shift+Down move down
150 bindsym $alt+Shift+Up move up
151 bindsym $alt+Shift+Right move right
152
153 # split in horizontal orientation
154 bindsym $alt+h split h;exec notify-send 'splitting windows horizontally'
155 # split in vertical orientation
156 bindsym Shift+$alt+h split v;exec notify-send 'splitting windows vertically'
157
158 # enter fullscreen mode for the focused container
159 bindsym $alt+f fullscreen toggle
160
161 # change container layout (stacked, tabbed, toggle split)
162 bindsym $alt+w layout tabbed;exec notify-send 'layout tabbed'
163 bindsym Shift+$alt+w layout stacking;exec notify-send 'layout stacking'
164 bindsym Ctrl+$alt+w layout toggle split;exec notify-send 'layout split'
165
166 # toggle tiling / floating
167 bindsym $alt+Shift+space floating toggle
168
169 # change focus between tiling / floating windows
170 bindsym $alt+space focus mode_toggle
171
172 # focus the parent container
173 bindsym $alt+a focus parent
174
175 # focus the child container
176 #bindsym $win+d focus child
177
178 # switch to workspace
179 bindsym Ctrl+F1 workspace $ws1
180 bindsym Ctrl+F2 workspace $ws2
181 bindsym Ctrl+F3 workspace $ws3
182 bindsym Ctrl+F4 workspace $ws4
183 bindsym Shift+Ctrl+F1 workspace $ws5
184 bindsym Shift+Ctrl+F2 workspace $ws6
185 bindsym Shift+Ctrl+F3 workspace $ws7
186 bindsym Shift+Ctrl+F4 workspace $ws8
187
188 # move focused container to workspace
189 bindsym $win+Ctrl+F1 move container to workspace $ws1
190 bindsym $win+Ctrl+F2 move container to workspace $ws2
191 bindsym $win+Ctrl+F3 move container to workspace $ws3
192 bindsym $win+Ctrl+F4 move container to workspace $ws4
193 bindsym $win+Shift+Ctrl+F1 move container to workspace $ws5
194 bindsym $win+Shift+Ctrl+F2 move container to workspace $ws6
195 bindsym $win+Shift+Ctrl+F3 move container to workspace $ws7
196 bindsym $win+Shift+Ctrl+F4 move container to workspace $ws8
197
198 # navigate workspaces
199 #bindsym $win+Home workspace $ws1
200 #bindsym $win+End workspace $ws8
201 bindsym $win+XF86AudioPrev workspace prev
202 bindsym $win+XF86AudioNext workspace next
203
204 # assign programs to specific workspaces
205 assign [class="Firefox"] $ws1
206 assign [class="Sublime_text"] $ws2
207 for_window [title="^ssh*"] move to workspace $ws4
208 assign [class="Alacritty"] $ws3
209 assign [class="Gimp"] $ws5
210 assign [class="Typora"] $ws6
211 assign [class="trojita"] $ws6
212 assign [class="Joplin"] $ws8
213 assign [class="Telegram"] $ws7
214
215 # open specific apps in floating mode
216 for_window [class="kcalc"] floating enable border pixel 1
217 for_window [class="lxsudo"] floating enable border pixel 1
218 for_window [title="^spt$"] floating enable border pixel 1
219
220 # trojita starts in tabbed layout
221 for_window [class="trojita"] layout tabbed
222
223 # switch to workspace with urgent window automatically
224 for_window [urgent=latest] focus
225
226 client.focused #f57c00 #ffb74d #303030 #7986cb
227 client.focused_inactive #303030 #303030 #ffb74d #303030
228 client.unfocused #303030 #303030 #BDBDBD #303030
229 client.urgent #D32F2F #D32F2F #303030 #D32F2F
230
231 # window borders
232 hide_edge_borders both
233 for_window [class="^.*"] border pixel 0
234
235 gaps outer 0
236 gaps inner 10
237 workspace $ws1 gaps inner 0
238 workspace $ws2 gaps inner 0
239 workspace $ws5 gaps inner 0
240
241 # reload the configuration file
242 bindsym $alt+Shift+c reload
243
244 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
245 bindsym $alt+Shift+r restart
246
247 # exit i3 (logs you out of your X session)
248 #bindsym $win+Shift+e exec "i3-nagbar -t warning -m 'Exit i3? This will end your session.' -b 'Yes, exit i3' 'i3-msg exit'"
249
250 # Set shut down, restart and locking features
251 bindsym $win+x exec --no-startup-id blackpearl-powermenu.sh
252
253 # resize window (you can also use the mouse for that)
254 mode "resize" {
255 # These bindings trigger as soon as you enter the resize mode
256
257 bindsym j resize shrink width 10 px or 10 ppt
258 bindsym k resize grow height 10 px or 10 ppt
259 bindsym l resize shrink height 10 px or 10 ppt
260 bindsym ograve resize grow width 10 px or 10 ppt
261
262 # same bindings, but for the arrow keys
263 bindsym Left resize shrink width 10 px or 10 ppt
264 bindsym Down resize grow height 10 px or 10 ppt
265 bindsym Up resize shrink height 10 px or 10 ppt
266 bindsym Right resize grow width 10 px or 10 ppt
267
268 # back to normal: Enter or Escape
269 bindsym Return mode "default"
270 bindsym Escape mode "default"
271 }
272
273 bindsym $win+Ctrl+r mode "resize"
274
275 set $wine_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
276 set $wine_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
277 bindsym $win+Shift+g mode "$wine_gaps"
278
279 mode "$wine_gaps" {
280 bindsym o mode "$wine_gaps_outer"
281 bindsym i mode "$wine_gaps_inner"
282 bindsym Return mode "$wine_gaps"
283 bindsym Escape mode "default"
284 }
285
286
287 mode "$wine_gaps_outer" {
288 bindsym plus gaps outer current plus 5
289 bindsym minus gaps outer current minus 5
290 bindsym 0 gaps outer current set 0
291
292 bindsym Shift+plus gaps outer all plus 5
293 bindsym Shift+minus gaps outer all minus 5
294 bindsym Shift+0 gaps outer all set 0
295
296 bindsym Return mode "$wine_gaps"
297 bindsym Escape mode "default"
298 }
299 mode "$wine_gaps_inner" {
300 bindsym plus gaps inner current plus 5
301 bindsym minus gaps inner current minus 5
302 bindsym 0 gaps inner current set 0
303
304 bindsym Shift+plus gaps inner all plus 5
305 bindsym Shift+minus gaps inner all minus 5
306 bindsym Shift+0 gaps inner all set 0
307
308 bindsym Return mode "$wine_gaps"
309 bindsym Escape mode "default"
310 }
311
312 # start both polybar
313 exec_always --no-startup-id $HOME/bin/run-polybar.sh
314
315 # start networkmanager applet
316 exec --no-startup-id nm-applet
317
318 # start lxqt-notificationd
319 exec --no-startup-id lxqt-notificationd
320
321 # start pulseaudio daemon
322 exec --no-startup-id start-pulseaudio-x11
323
324 # start dunst
325 #exec --no-startup-id dunst
326
327 # start tint2 i3status
328 #exec --no-startup-id tint2 -c ~/.config/tint2/i3status.tint2rc
329
330 # start tint2 bar
331 #exec --no-startup-id tint2 -c ~/.config/tint2/minima.tint2rc
332
333 # start kdeconnect
334 #exec --no-startup-id kdeconnect-indicator
335
336 # start redshift applet
337 #exec --no-startup-id redshift-gtk
338
339 # start qtpass
340 #exec --no-startup-id qtpass
341
342 # start feh-blur
343 exec --no-startup-id feh-blur -b 7 --no-animate -d