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. |
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" |
73f936b3 |
42 | set $ws6 "6:editor2" |
fdd76fc5 |
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 |
73f936b3 |
64 | bindsym Shift+$ctrl+l exec --no-startup-id xclip -o | qrencode -o - | feh -Z - |
fdd76fc5 |
65 | bindsym Print exec --no-startup-id blackpearl-scrotmenu.sh |
73f936b3 |
66 | bindsym $alt+Menu exec --no-startup-id blackpearl-utilsmenu.sh |
fdd76fc5 |
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 |
73f936b3 |
71 | bindsym $win+t exec --no-startup-id typora |
72 | bindsym $win+w exec vivaldi |
fdd76fc5 |
73 | bindsym XF86Calculator exec kcalc |
74 | bindsym XF86Sleep exec i3suspend |
73f936b3 |
75 | bindsym $win+Shift+w exec "vivaldi --incognito" |
fdd76fc5 |
76 | bindsym $win+h exec --no-startup-id blackpearl-sshmenu.sh |
73f936b3 |
77 | bindsym $win+r exec atom |
fdd76fc5 |
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 |
73f936b3 |
180 | assign [class="Atom"] $ws2 |
181 | assign [class="Typora"] $ws6 |
182 | assign [class="vivaldi-stable"] $ws1 |
fdd76fc5 |
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 | |
73f936b3 |
281 | # start kdeconnect |
282 | exec --no-startup-id kdeconnect-indicator |
fdd76fc5 |
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 | |
fdd76fc5 |
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 |