mass update.
[my-dotfiles.git] / i3 / config
... / ...
CommitLineData
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
26# browser variable
27set $browser firefox
28set $incognito-browser firefox --private-window
29# editor variable
30set $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#
43set $ws1 "web"
44set $ws2 "editor"
45set $ws3 "console"
46set $ws4 "ssh"
47set $ws5 "graphic"
48set $ws6 "editor2"
49set $ws7 "chat"
50set $ws8 "music"
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
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
72
73# custom binding
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 -
77bindsym Print exec --no-startup-id blackpearl-scrotmenu.sh
78bindsym $alt+Menu exec --no-startup-id blackpearl-utilsmenu.sh
79bindsym $win+Menu exec --no-startup-id blackpearl-appsmenu.sh
80bindsym $alt+Escape --release exec xkill
81bindsym $win+e exec pcmanfm-qt
82# macropad 3
83bindsym $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
86bindsym $win+l exec --no-startup-id i3lock-fancy
87# macropad 1
88bindsym $win+w exec $browser
89# macropad Shift+1
90bindsym $win+Shift+w exec $incognito-browser
91bindsym XF86Calculator exec kcalc
92bindsym XF86Sleep exec i3suspend
93# macropad 2
94bindsym $win+r exec $prog-editor
95bindsym $win+Shift+r exec Typora
96bindsym XF86HomePage exec --no-startup-id blackpearl-appsmenu.sh
97#bindsym $win+p exec uxterm -T "spt" -geometry 90x30+800+30 -e spt
98bindsym $win+m exec Telegram
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
104# multimedia binding
105# macropad top encoder
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
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
118
119# kill focused window
120#bindsym $ctrl+Shift+q kill
121
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)
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
154bindsym $alt+h split h;exec notify-send 'splitting windows horizontally'
155# split in vertical orientation
156bindsym Shift+$alt+h split v;exec notify-send 'splitting windows vertically'
157
158# enter fullscreen mode for the focused container
159bindsym $alt+f fullscreen toggle
160
161# change container layout (stacked, tabbed, toggle split)
162bindsym $alt+w layout tabbed;exec notify-send 'layout tabbed'
163bindsym Shift+$alt+w layout stacking;exec notify-send 'layout stacking'
164bindsym Ctrl+$alt+w layout toggle split;exec notify-send 'layout split'
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
183bindsym Shift+Ctrl+F1 workspace $ws5
184bindsym Shift+Ctrl+F2 workspace $ws6
185bindsym Shift+Ctrl+F3 workspace $ws7
186bindsym Shift+Ctrl+F4 workspace $ws8
187
188# move focused container to workspace
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
197
198# navigate workspaces
199#bindsym $win+Home workspace $ws1
200#bindsym $win+End workspace $ws8
201bindsym $win+XF86AudioPrev workspace prev
202bindsym $win+XF86AudioNext workspace next
203
204# assign programs to specific workspaces
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
210assign [class="Typora"] $ws6
211assign [class="trojita"] $ws6
212assign [class="Joplin"] $ws8
213assign [class="Telegram"] $ws7
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
220# trojita starts in tabbed layout
221for_window [class="trojita"] layout tabbed
222
223# switch to workspace with urgent window automatically
224for_window [urgent=latest] focus
225
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
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
312# start both polybar
313exec_always --no-startup-id $HOME/bin/run-polybar.sh
314
315# start networkmanager applet
316exec --no-startup-id nm-applet
317
318# start lxqt-notificationd
319exec --no-startup-id lxqt-notificationd
320
321# start pulseaudio daemon
322exec --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
343exec --no-startup-id feh-blur -b 7 --no-animate -d