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