6c2b3140c3858df22d590600a53cddd257022e1a
[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 # title alignment
27 #title_align center
28
29 #set $rofi "rofi -show run -font 'Droid Sans Mono 10' -theme Monokai -width 40 -location 2 -lines 7 -bw 2 -yoffset -2"
30 #set $rofissh "rofi -show ssh -font 'Droid Sans Mono 10' -theme Monokai"
31
32 # Workspace names
33 # # to display names or symbols instead of plain workspace numbers you can use
34 # # something like: set $ws1 1:mail
35 # # set $ws2 2:x
36 #
37 set $ws1 "1:web"
38 set $ws2 "2:editor"
39 set $ws3 "3:console"
40 set $ws4 "4:ssh"
41 set $ws5 "5:graphic"
42 set $ws6 "6:editor2"
43 set $ws7 "7:unused"
44 set $ws8 "8:music"
45
46 # per workspace gaps
47 workspace $ws1 gaps inner 0
48 workspace $ws1 gaps outer 0
49 workspace $ws2 gaps inner 0
50 workspace $ws2 gaps outer 0
51
52
53 # Font for window titles. Will also be used by the bar unless a different font
54 # is used in the bar {} block below.
55 font pango:"Droid Sans 10"
56
57 # Use Mouse+$win to drag floating windows to their wanted position
58 floating_modifier $win
59
60 # start a terminal
61 bindsym $alt+Return exec urxvt
62
63 # custom binding
64 bindsym Shift+$ctrl+l exec --no-startup-id xclip -o | qrencode -o - | feh -Z -
65 bindsym Print exec --no-startup-id blackpearl-scrotmenu.sh
66 bindsym $alt+Menu exec --no-startup-id blackpearl-utilsmenu.sh
67 bindsym $alt+Escape --release exec xkill
68 bindsym $win+e exec pcmanfm-qt
69 #bindsym $win+x exec --no-startup-id i3-exit
70 bindsym $win+l exec --no-startup-id i3lock-fancy
71 bindsym $win+t exec --no-startup-id typora
72 bindsym $win+w exec vivaldi
73 bindsym XF86Calculator exec kcalc
74 bindsym XF86Sleep exec i3suspend
75 bindsym $win+Shift+w exec "vivaldi --incognito"
76 bindsym $win+h exec --no-startup-id blackpearl-sshmenu.sh
77 bindsym $win+r exec atom
78 bindsym XF86HomePage exec --no-startup-id blackpearl-appsmenu.sh
79 bindsym $win+p exec uxterm -T "spt" -geometry 90x30+800+30 -e spt
80
81 # window switching bindings
82 bindsym $alt+Tab exec --no-startup-id "blackpearl-window.sh desktop"
83 bindsym $alt+Ctrl+Tab exec --no-startup-id "blackpearl-window.sh all"
84
85 # volume binding
86 bindsym XF86AudioMute exec --no-startup-id pamixer -t
87 bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5
88 bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 5
89
90 # kill focused window
91 #bindsym $ctrl+Shift+q kill
92
93 # start dmenu (a program launcher)
94 bindsym $alt+F2 exec --no-startup-id blackpearl-runner.sh
95
96 # change focus
97 bindsym $alt+j focus left
98 bindsym $alt+k focus down
99 bindsym $alt+l focus up
100 bindsym $alt+ograve focus right
101
102 # alternatively, you can use the cursor keys:
103 bindsym $alt+Left focus left
104 bindsym $alt+Down focus down
105 bindsym $alt+Up focus up
106 bindsym $alt+Right focus right
107
108 # move focused window
109 bindsym $alt+Shift+j move left
110 bindsym $alt+Shift+k move down
111 bindsym $alt+Shift+l move up
112 bindsym $alt+Shift+ograve move right
113
114 # alternatively, you can use the cursor keys:
115 bindsym $alt+Shift+Left move left
116 bindsym $alt+Shift+Down move down
117 bindsym $alt+Shift+Up move up
118 bindsym $alt+Shift+Right move right
119
120 # split in horizontal orientation
121 bindsym $alt+h split h;exec notify-send 'split horizontally'
122 # split in vertical orientation
123 bindsym $alt+v split v;exec notify-send 'split vertically'
124
125 # enter fullscreen mode for the focused container
126 bindsym $alt+f fullscreen toggle
127
128 # change container layout (stacked, tabbed, toggle split)
129 bindsym $alt+s layout stacking;exec notify-send 'layout stacking'
130 bindsym $alt+w layout tabbed;exec notify-send 'layout tabbed'
131 bindsym $alt+e layout toggle split;exec notify-send 'layout split'
132
133 # toggle tiling / floating
134 bindsym $alt+Shift+space floating toggle
135
136 # change focus between tiling / floating windows
137 bindsym $alt+space focus mode_toggle
138
139 # focus the parent container
140 bindsym $alt+a focus parent
141
142 # focus the child container
143 #bindsym $win+d focus child
144
145 # switch to workspace
146 bindsym Ctrl+F1 workspace $ws1
147 bindsym Ctrl+F2 workspace $ws2
148 bindsym Ctrl+F3 workspace $ws3
149 bindsym Ctrl+F4 workspace $ws4
150 bindsym Ctrl+F5 workspace $ws5
151 bindsym Ctrl+F6 workspace $ws6
152 bindsym Ctrl+F7 workspace $ws7
153 bindsym Ctrl+F8 workspace $ws8
154
155 # move focused container to workspace
156 bindsym $win+Shift+1 move container to workspace $ws1
157 bindsym $win+Shift+2 move container to workspace $ws2
158 bindsym $win+Shift+3 move container to workspace $ws3
159 bindsym $win+Shift+4 move container to workspace $ws4
160 bindsym $win+Shift+5 move container to workspace $ws5
161 bindsym $win+Shift+6 move container to workspace $ws6
162 bindsym $win+Shift+7 move container to workspace $ws7
163 bindsym $win+Shift+8 move container to workspace $ws8
164
165 # navigate workspaces
166 #bindsym $win+Home workspace $ws1
167 #bindsym $win+End workspace $ws8
168 bindsym $win+Prior workspace prev
169 bindsym $win+Next workspace next
170
171 # navigate workspaces next / previous
172 #bindsym $win+Ctrl+j workspace prev
173 #bindsym $win+Ctrl+ograve workspace next
174 #bindsym $win+Ctrl+Right workspace next
175 #bindsym $win+Ctrl+Left workspace prev
176
177 # assign programs to specific workspaces
178 assign [title="ssh"] $ws4
179 assign [class="URxvt"] $ws3
180 assign [class="Atom"] $ws2
181 assign [class="Typora"] $ws6
182 assign [class="vivaldi-stable"] $ws1
183 assign [class="gimp-2.10"] $ws5
184 assign [title="^spt$"] $ws8
185
186 # open specific apps in floating mode
187 for_window [class="kcalc"] floating enable border pixel 1
188 for_window [class="lxsudo"] floating enable border pixel 1
189 for_window [title="^spt$"] floating enable border pixel 1
190
191 # switch to workspace with urgent window automatically
192 for_window [urgent=latest] focus
193
194 client.focused #349f86 #349f85 #000088 #00C1FF
195 client.focused_inactive #2C2C2C #2C2C2C #ffffff #2C2C2C
196 client.unfocused #2C2C2C #2C2C2C #ffffff #2C2C2C
197 client.urgent #00C1FF #00C1FF #000088 #00C1FF
198
199 # window borders
200 hide_edge_borders both
201 for_window [class="^.*"] border pixel 0
202
203 gaps outer 0
204 gaps inner 10
205 workspace $ws1 gaps inner 0
206 workspace $ws2 gaps inner 0
207 workspace $ws5 gaps inner 0
208
209 # reload the configuration file
210 bindsym $alt+Shift+c reload
211
212 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
213 bindsym $alt+Shift+r restart
214
215 # exit i3 (logs you out of your X session)
216 #bindsym $win+Shift+e exec "i3-nagbar -t warning -m 'Exit i3? This will end your session.' -b 'Yes, exit i3' 'i3-msg exit'"
217
218 # Set shut down, restart and locking features
219 bindsym $win+x exec --no-startup-id blackpearl-powermenu.sh
220
221 # resize window (you can also use the mouse for that)
222 mode "resize" {
223 # These bindings trigger as soon as you enter the resize mode
224
225 bindsym j resize shrink width 10 px or 10 ppt
226 bindsym k resize grow height 10 px or 10 ppt
227 bindsym l resize shrink height 10 px or 10 ppt
228 bindsym ograve resize grow width 10 px or 10 ppt
229
230 # same bindings, but for the arrow keys
231 bindsym Left resize shrink width 10 px or 10 ppt
232 bindsym Down resize grow height 10 px or 10 ppt
233 bindsym Up resize shrink height 10 px or 10 ppt
234 bindsym Right resize grow width 10 px or 10 ppt
235
236 # back to normal: Enter or Escape
237 bindsym Return mode "default"
238 bindsym Escape mode "default"
239 }
240
241 bindsym $win+Ctrl+r mode "resize"
242
243 set $wine_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
244 set $wine_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
245 bindsym $win+Shift+g mode "$wine_gaps"
246
247 mode "$wine_gaps" {
248 bindsym o mode "$wine_gaps_outer"
249 bindsym i mode "$wine_gaps_inner"
250 bindsym Return mode "$wine_gaps"
251 bindsym Escape mode "default"
252 }
253
254
255 mode "$wine_gaps_outer" {
256 bindsym plus gaps outer current plus 5
257 bindsym minus gaps outer current minus 5
258 bindsym 0 gaps outer current set 0
259
260 bindsym Shift+plus gaps outer all plus 5
261 bindsym Shift+minus gaps outer all minus 5
262 bindsym Shift+0 gaps outer all set 0
263
264 bindsym Return mode "$wine_gaps"
265 bindsym Escape mode "default"
266 }
267 mode "$wine_gaps_inner" {
268 bindsym plus gaps inner current plus 5
269 bindsym minus gaps inner current minus 5
270 bindsym 0 gaps inner current set 0
271
272 bindsym Shift+plus gaps inner all plus 5
273 bindsym Shift+minus gaps inner all minus 5
274 bindsym Shift+0 gaps inner all set 0
275
276 bindsym Return mode "$wine_gaps"
277 bindsym Escape mode "default"
278 }
279
280
281 # start kdeconnect
282 exec --no-startup-id kdeconnect-indicator
283
284 # start tint2 i3status
285 exec --no-startup-id tint2 -c ~/.config/tint2/i3status.tint2rc
286
287 # start tint2 bar
288 exec --no-startup-id tint2 -c ~/.config/tint2/minima.tint2rc
289
290 # start pulseaudio daemon
291 exec --no-startup-id start-pulseaudio-x11
292
293 # start networkmanager applet
294 exec --no-startup-id nm-applet
295
296 # start lxqt-notificationd
297 #exec --no-startup-id lxqt-notificationd
298 exec --no-startup-id dunst
299
300 # start keepassxc
301 exec --no-startup-id keepassxc
302
303 # start audio icon
304 exec --no-startup-id pnmixer