mass update.
[my-dotfiles.git] / i3 / config
CommitLineData
fdd76fc5 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.
22set $win Mod4
23set $alt Mod1
24set $ctrl Ctrl
25
7abef725 26# browser variable
27set $browser firefox
28set $incognito-browser firefox --private-window
29# editor variable
30set $prog-editor sublime_text
31
fdd76fc5 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#
7abef725 43set $ws1 "web"
44set $ws2 "editor"
45set $ws3 "console"
46set $ws4 "ssh"
47set $ws5 "graphic"
48set $ws6 "editor2"
49set $ws7 "chat"
50set $ws8 "music"
fdd76fc5 51
52# per workspace gaps
53workspace $ws1 gaps inner 0
54workspace $ws1 gaps outer 0
55workspace $ws2 gaps inner 0
56workspace $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.
61font pango:"Droid Sans 10"
62
63# Use Mouse+$win to drag floating windows to their wanted position
64floating_modifier $win
65
66# start a terminal
7abef725 67# macropad 5
68bindsym $alt+Return exec --no-startup-id alacritty
69# macropad Shift+5
70bindsym Shift+$alt+Return exec --no-startup-id blackpearl-sshmenu.sh
71
fdd76fc5 72
73# custom binding
7abef725 74# macropad 4
75bindsym Shift+$ctrl+l exec --no-startup-id clipmenu -no-lazy-grab -show run -theme blackpearl/runner
76bindsym $alt+Shift+$ctrl+l exec --no-startup-id xclip -o | qrencode -o - | feh -Z -
fdd76fc5 77bindsym Print exec --no-startup-id blackpearl-scrotmenu.sh
73f936b3 78bindsym $alt+Menu exec --no-startup-id blackpearl-utilsmenu.sh
7abef725 79bindsym $win+Menu exec --no-startup-id blackpearl-appsmenu.sh
fdd76fc5 80bindsym $alt+Escape --release exec xkill
81bindsym $win+e exec pcmanfm-qt
7abef725 82# macropad 3
83bindsym $win+g exec gimp
fdd76fc5 84#bindsym $win+x exec --no-startup-id i3-exit
7abef725 85#bindsym $win+s exec --no-startup-id wol d4:c9:ef:f1:c9:24
fdd76fc5 86bindsym $win+l exec --no-startup-id i3lock-fancy
7abef725 87# macropad 1
88bindsym $win+w exec $browser
89# macropad Shift+1
90bindsym $win+Shift+w exec $incognito-browser
fdd76fc5 91bindsym XF86Calculator exec kcalc
92bindsym XF86Sleep exec i3suspend
7abef725 93# macropad 2
94bindsym $win+r exec $prog-editor
95bindsym $win+Shift+r exec Typora
fdd76fc5 96bindsym XF86HomePage exec --no-startup-id blackpearl-appsmenu.sh
7abef725 97#bindsym $win+p exec uxterm -T "spt" -geometry 90x30+800+30 -e spt
98bindsym $win+m exec Telegram
fdd76fc5 99
100# window switching bindings
101bindsym $alt+Tab exec --no-startup-id "blackpearl-window.sh desktop"
102bindsym $alt+Ctrl+Tab exec --no-startup-id "blackpearl-window.sh all"
103
7abef725 104# multimedia binding
105# macropad top encoder
fdd76fc5 106bindsym XF86AudioMute exec --no-startup-id pamixer -t
107bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5
108bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 5
7abef725 109# macropad bottom encoder
110bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
111bindsym XF86AudioPrev exec --no-startup-id playerctl previous
112bindsym XF86AudioNext exec --no-startup-id playerctl next
113
114# brightness bindings
115# macropad Alt + top encoder
116bindsym $alt+XF86AudioLowerVolume exec --no-startup-id monitor-light.sh dec 10
117bindsym $alt+XF86AudioRaiseVolume exec --no-startup-id monitor-light.sh inc 10
fdd76fc5 118
119# kill focused window
120#bindsym $ctrl+Shift+q kill
121
7abef725 122# restart polybar
123# macropad Alt + bottom encoder
124bindsym $alt+XF86AudioPlay exec --no-startup-id polybar-msg cmd restart
125
126# start rofi in dmenu mode (a program launcher)
fdd76fc5 127bindsym $alt+F2 exec --no-startup-id blackpearl-runner.sh
128
129# change focus
130bindsym $alt+j focus left
131bindsym $alt+k focus down
132bindsym $alt+l focus up
133bindsym $alt+ograve focus right
134
135# alternatively, you can use the cursor keys:
136bindsym $alt+Left focus left
137bindsym $alt+Down focus down
138bindsym $alt+Up focus up
139bindsym $alt+Right focus right
140
141# move focused window
142bindsym $alt+Shift+j move left
143bindsym $alt+Shift+k move down
144bindsym $alt+Shift+l move up
145bindsym $alt+Shift+ograve move right
146
147# alternatively, you can use the cursor keys:
148bindsym $alt+Shift+Left move left
149bindsym $alt+Shift+Down move down
150bindsym $alt+Shift+Up move up
151bindsym $alt+Shift+Right move right
152
153# split in horizontal orientation
7abef725 154bindsym $alt+h split h;exec notify-send 'splitting windows horizontally'
fdd76fc5 155# split in vertical orientation
7abef725 156bindsym Shift+$alt+h split v;exec notify-send 'splitting windows vertically'
fdd76fc5 157
158# enter fullscreen mode for the focused container
159bindsym $alt+f fullscreen toggle
160
161# change container layout (stacked, tabbed, toggle split)
fdd76fc5 162bindsym $alt+w layout tabbed;exec notify-send 'layout tabbed'
7abef725 163bindsym Shift+$alt+w layout stacking;exec notify-send 'layout stacking'
164bindsym Ctrl+$alt+w layout toggle split;exec notify-send 'layout split'
fdd76fc5 165
166# toggle tiling / floating
167bindsym $alt+Shift+space floating toggle
168
169# change focus between tiling / floating windows
170bindsym $alt+space focus mode_toggle
171
172# focus the parent container
173bindsym $alt+a focus parent
174
175# focus the child container
176#bindsym $win+d focus child
177
178# switch to workspace
179bindsym Ctrl+F1 workspace $ws1
180bindsym Ctrl+F2 workspace $ws2
181bindsym Ctrl+F3 workspace $ws3
182bindsym Ctrl+F4 workspace $ws4
7abef725 183bindsym Shift+Ctrl+F1 workspace $ws5
184bindsym Shift+Ctrl+F2 workspace $ws6
185bindsym Shift+Ctrl+F3 workspace $ws7
186bindsym Shift+Ctrl+F4 workspace $ws8
fdd76fc5 187
188# move focused container to workspace
7abef725 189bindsym $win+Ctrl+F1 move container to workspace $ws1
190bindsym $win+Ctrl+F2 move container to workspace $ws2
191bindsym $win+Ctrl+F3 move container to workspace $ws3
192bindsym $win+Ctrl+F4 move container to workspace $ws4
193bindsym $win+Shift+Ctrl+F1 move container to workspace $ws5
194bindsym $win+Shift+Ctrl+F2 move container to workspace $ws6
195bindsym $win+Shift+Ctrl+F3 move container to workspace $ws7
196bindsym $win+Shift+Ctrl+F4 move container to workspace $ws8
fdd76fc5 197
198# navigate workspaces
199#bindsym $win+Home workspace $ws1
200#bindsym $win+End workspace $ws8
7abef725 201bindsym $win+XF86AudioPrev workspace prev
202bindsym $win+XF86AudioNext workspace next
fdd76fc5 203
204# assign programs to specific workspaces
7abef725 205assign [class="Firefox"] $ws1
206assign [class="Sublime_text"] $ws2
207for_window [title="^ssh*"] move to workspace $ws4
208assign [class="Alacritty"] $ws3
209assign [class="Gimp"] $ws5
73f936b3 210assign [class="Typora"] $ws6
7abef725 211assign [class="trojita"] $ws6
212assign [class="Joplin"] $ws8
9ce54eaf 213assign [class="Telegram"] $ws7
fdd76fc5 214
215# open specific apps in floating mode
216for_window [class="kcalc"] floating enable border pixel 1
217for_window [class="lxsudo"] floating enable border pixel 1
218for_window [title="^spt$"] floating enable border pixel 1
219
7abef725 220# trojita starts in tabbed layout
221for_window [class="trojita"] layout tabbed
222
fdd76fc5 223# switch to workspace with urgent window automatically
224for_window [urgent=latest] focus
225
7abef725 226client.focused #f57c00 #ffb74d #303030 #7986cb
227client.focused_inactive #303030 #303030 #ffb74d #303030
228client.unfocused #303030 #303030 #BDBDBD #303030
229client.urgent #D32F2F #D32F2F #303030 #D32F2F
fdd76fc5 230
231# window borders
232hide_edge_borders both
233for_window [class="^.*"] border pixel 0
234
235gaps outer 0
236gaps inner 10
237workspace $ws1 gaps inner 0
238workspace $ws2 gaps inner 0
239workspace $ws5 gaps inner 0
240
241# reload the configuration file
242bindsym $alt+Shift+c reload
243
244# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
245bindsym $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
251bindsym $win+x exec --no-startup-id blackpearl-powermenu.sh
252
253# resize window (you can also use the mouse for that)
254mode "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
273bindsym $win+Ctrl+r mode "resize"
274
275set $wine_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
276set $wine_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
277bindsym $win+Shift+g mode "$wine_gaps"
278
279mode "$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
287mode "$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}
299mode "$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
7abef725 312# start both polybar
313exec_always --no-startup-id $HOME/bin/run-polybar.sh
fdd76fc5 314
315# start networkmanager applet
316exec --no-startup-id nm-applet
317
fdd76fc5 318# start lxqt-notificationd
9ce54eaf 319exec --no-startup-id lxqt-notificationd
7abef725 320
321# start pulseaudio daemon
322exec --no-startup-id start-pulseaudio-x11
323
324# start dunst
9ce54eaf 325#exec --no-startup-id dunst
fdd76fc5 326
7abef725 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
9ce54eaf 339# start qtpass
7abef725 340#exec --no-startup-id qtpass
fdd76fc5 341
7abef725 342# start feh-blur
343exec --no-startup-id feh-blur -b 7 --no-animate -d