summaryrefslogtreecommitdiffstats
path: root/.config/i3
diff options
context:
space:
mode:
Diffstat (limited to '.config/i3')
-rw-r--r--.config/i3/config##h.lowe282
1 files changed, 117 insertions, 165 deletions
diff --git a/.config/i3/config##h.lowe b/.config/i3/config##h.lowe
index 2e5a8c4..b486760 100644
--- a/.config/i3/config##h.lowe
+++ b/.config/i3/config##h.lowe
@@ -1,124 +1,137 @@
1# i3 config file (v4) 1# vim: filetype=i3config
2# Please see https://i3wm.org/docs/userguide.html for a complete reference! 2# https://i3wm.org/docs/userguide.html
3 3
4# set modifiers 4# set modifiers
5set $mod Mod4 5set $mod Mod4
6set $alt Mod1 6set $alt Mod1
7 7
8# launch polybar 8# use mouse+$mod to drag floating windows to their wanted position
9exec --no-startup-id $HOME/.config/polybar/launch.sh & 9floating_modifier $alt
10 10
11# launch spliffer + notification 11## autostart
12exec --no-startup-id $HOME/bin/watch_incoming.sh 12exec --no-startup-id xsettingsd &
13exec --no-startup-id picom -b
14exec --no-startup-id flashfocus &
15exec --no-startup-id nextcloud &
16exec --no-startup-id copyq &
17exec --no-startup-id redshift &
18exec --no-startup-id nm-applet &
19exec --no-startup-id udiskie --automount --file-manager thunar --tray --notify &
20exec --no-startup-id /usr/lib/pam_kwallet_init
21exec --no-startup-id remind -z -k'dunstify -i "calendar" "⏰ reminder!" "%s" &' ~/.reminders &
22exec --no-startup-id /home/yigit/.local/bin/pulse-volume-watcher.py | xob -m 80 &
23exec --no-startup-id $HOME/.config/polybar/launch.sh &
13 24
14# start the screensaver, '' at the end is not a typo 25# start the screensaver, '' at the end is not a typo
15exec --no-startup-id xidlehook --not-when-fullscreen --not-when-audio --timer normal 300 'betterlockscreen -l dimblur -t "Welcome Back"' '' 26exec --no-startup-id xidlehook --not-when-fullscreen --not-when-audio --timer normal 300 'betterlockscreen -l dimblur -t "Welcome Back"' ''
16 27
17# flash the active window 28# swap caps lock and escape, set keyboard layout
18exec_always--no-startup-id flashfocus 29exec --no-startup-id setxkbmap -model pc105 -layout us -variant colemak -option caps:backspace
19 30
20# Font for window titles 31# tap ctrl to esc, hold ctrl to ctrl
21font pango:Lato 11 32exec --no-startup-id xcape -e 'Control_L=Escape' &
22 33
23# Use Mouse+$mod to drag floating windows to their wanted position 34# set the wallpaper
24floating_modifier $alt 35exec --no-startup-id ~/.fehbg
36
37# font for window titles
38font pango:Iosevka 11
25 39
26gaps inner 5 40gaps inner 5
27gaps outer 0 41gaps outer 0
28 42
29############## 43## bindings
30# bindings # 44# done, {task,time}warrior control suite
31############## 45bindcode $mod+42 exec --no-startup-id ~/.local/bin/done
46
47# type the contents of the clipboard with mod+p
48bindcode --release $mod+27 exec --no-startup-id ~/.local/bin/type_clipboard.sh
32 49
33# i switched back to firefox can you tell 50# launch emoji picker with mod+c
34bindsym Ctrl+q exec --no-startup-id true 51bindcode $mod+54 exec --no-startup-id rofimoji --skin-tone neutral
35 52
36# get the mouse out of the way 53# get the mouse out of the way
37bindsym $mod+o exec --no-startup-id xdotool mousemove 1920 1080 54bindsym $mod+32 exec --no-startup-id xdotool mousemove 1920 1080
38 55
39# bookmark from clipboard 56# bookmark from clipboard
40bindsym $mod+u exec --no-startup-id ~/bin/bukuadd_c 57bindcode $mod+30 exec --no-startup-id ~/.local/bin/bukuadd_c
41
42# add taskwarrior/gtd calendar item
43bindsym $mod+Shift+t exec --no-startup-id ~/bin/td
44
45# add taskwarrior/gtd inbox item
46bindsym $mod+Shift+i exec --no-startup-id ~/bin/in
47
48# swap caps lock and escape, set keyboard layout, 35 is ]/ü (layout agnostic)
49bindcode $mod+35 exec --no-startup-id "setxkbmap -model pc105 -layout us,us,tr -variant ,colemak, -option grp:alt_shift_toggle,caps:backspace"
50 58
51# use flameshot with print screen 59# use flameshot with print screen
52bindsym Print exec flameshot gui 60bindsym Print exec flameshot gui
53 61
54# media keys 62# media keys
55bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer set Master 2%+ && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)" 63bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 2%+
56bindsym XF86AudioLowerVolume exec --no-startup-id "amixer set Master 2%- && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)" 64bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 2%-
57bindsym XF86AudioMute exec --no-startup-id "amixer set Master toggle && if amixer get Master | grep -Fq '[off]'; then volnoti-show -m; else volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1); fi" 65bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
58bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause 66bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause # for spotify
59bindsym XF86AudioPrev exec --no-startup-id playerctl previous 67bindsym XF86AudioPrev exec --no-startup-id playerctl previous
60bindsym XF86AudioNext exec --no-startup-id playerctl next 68bindsym XF86AudioNext exec --no-startup-id playerctl next
69bindsym XF86Tools exec --no-startup-id mpc toggle # for mpd/ncmpcpp
61 70
62# Make the currently focused window a scratchpad 71# make the currently focused window a scratchpad
63bindsym $mod+Shift+minus move scratchpad 72bindcode $mod+Shift+20 move scratchpad
64 73
65# Show the first scratchpad window 74# show the first scratchpad window
66bindsym $mod+minus scratchpad show 75bindcode $mod+20 scratchpad show
67 76
68# shortcuts for frequent programs 77# pause notifications for a while with mod+shift+y
69bindsym $mod+Shift+z exec zotero 78bindcode $mod+Shift+32 exec ~/.local/bin/toggle_notifications.sh
70bindsym $mod+Shift+f exec pcmanfm
71 79
80## shortcuts for frequent programs
81
82# zotero on mod+shift+z
83bindcode $mod+Shift+52 exec zotero
84# thunar on mod+shift+t
85bindcode $mod+Shift+41 exec thunar
72# start a terminal 86# start a terminal
73bindsym $mod+Return exec kitty 87bindsym $mod+Return exec kitty
88# start rofi with mod+s
89bindcode $mod+40 exec rofi -show combi
90# launch the poweroff menu
91bindsym $mod+Shift+Escape exec --no-startup-id ~/.local/bin/power.sh
74 92
75# kill focused window 93# kill focused window
76bindsym $mod+Shift+q kill 94bindcode $mod+Shift+24 kill
77bindsym --whole-window $mod+button2 kill 95bindsym --whole-window $mod+button2 kill
78 96
79# start rofi (a program launcher) 97# change focus on mod+hnei (qwerty hjkl)
80bindsym $mod+d exec rofi -show combi 98bindcode $mod+43 focus left
81 99bindcode $mod+44 focus down
82# change focus 100bindcode $mod+45 focus up
83bindsym $mod+h focus left 101bindcode $mod+46 focus right
84bindsym $mod+j focus down
85bindsym $mod+k focus up
86bindsym $mod+l focus right
87 102
88# move focused window 103# move focused window on mod+shift+hnei
89bindsym $mod+Shift+h move left 104bindcode $mod+Shift+43 move left
90bindsym $mod+Shift+j move down 105bindcode $mod+Shift+44 move down
91bindsym $mod+Shift+k move up 106bindcode $mod+Shift+45 move up
92bindsym $mod+Shift+l move right 107bindcode $mod+Shift+46 move right
93 108
94# split in horizontal orientation 109# split in horizontal orientation with mod+b
95bindsym $mod+b split h 110bindcode $mod+56 split h
96 111
97# split in vertical orientation 112# split in vertical orientation with mod+v
98bindsym $mod+v split v 113bindcode $mod+55 split v
99 114
100# enter fullscreen mode for the focused container 115# enter fullscreen mode for the focused container with mod+t
101bindsym $mod+f fullscreen toggle 116bindcode $mod+41 fullscreen toggle
102 117
103# change container layout (stacked, tabbed, toggle split) 118# change container layout (stacked, tabbed, toggle split)
104bindsym $mod+s layout stacking 119bindcode $mod+39 layout stacking
105bindsym $mod+w layout tabbed 120bindcode $mod+25 layout tabbed
106bindsym $mod+e layout toggle split 121bindcode $mod+26 layout toggle split
107 122
108# toggle tiling / floating 123# toggle tiling / floating
109bindsym $mod+Shift+space floating toggle 124bindsym $mod+Shift+space floating toggle
110 125
111# toggle sticky floating window 126# toggle sticky floating window with mod+a
112bindsym $mod+a sticky toggle 127bindcode $mod+38 sticky toggle
113 128
114# change focus between tiling / floating windows 129# change focus between tiling / floating windows
115bindsym $mod+space focus mode_toggle 130bindsym $mod+space focus mode_toggle
116 131
117# focus the parent container
118# bindsym $mod+a focus parent
119
120# Define names for default workspaces for which we configure key bindings later on. 132# Define names for default workspaces for which we configure key bindings later on.
121# We use variables to avoid repeating the names in multiple places. 133# We use variables to avoid repeating the names in multiple places.
134# Workspace icons are added at polybar
122set $ws1 "1" 135set $ws1 "1"
123set $ws2 "2" 136set $ws2 "2"
124set $ws3 "3" 137set $ws3 "3"
@@ -128,7 +141,11 @@ set $ws6 "6"
128set $ws7 "7" 141set $ws7 "7"
129set $ws8 "8" 142set $ws8 "8"
130set $ws9 "9" 143set $ws9 "9"
131set $ws10 "10" 144set $ws10 "0"
145set $wsmusic "music"
146set $wszotero "zotero"
147set $wsdesktop "desktop"
148set $wsbrowser "browser"
132 149
133# switch to workspace 150# switch to workspace
134bindsym $mod+1 workspace $ws1 151bindsym $mod+1 workspace $ws1
@@ -139,8 +156,12 @@ bindsym $mod+5 workspace $ws5
139bindsym $mod+6 workspace $ws6 156bindsym $mod+6 workspace $ws6
140bindsym $mod+7 workspace $ws7 157bindsym $mod+7 workspace $ws7
141bindsym $mod+8 workspace $ws8 158bindsym $mod+8 workspace $ws8
142bindsym $mod+9 workspace $ws9 159bindsym $mod+9 workspace $wssteam
143bindsym $mod+0 workspace $ws10 160bindsym $mod+0 workspace $ws10
161bindsym $mod+m workspace $wsmusic
162bindcode $mod+49 workspace $wszotero
163bindcode $mod+60 workspace $wsdesktop
164bindcode $mod+21 workspace $wsbrowser
144 165
145# move focused container to workspace 166# move focused container to workspace
146bindsym $mod+Shift+1 move container to workspace $ws1 167bindsym $mod+Shift+1 move container to workspace $ws1
@@ -151,111 +172,42 @@ bindsym $mod+Shift+5 move container to workspace $ws5
151bindsym $mod+Shift+6 move container to workspace $ws6 172bindsym $mod+Shift+6 move container to workspace $ws6
152bindsym $mod+Shift+7 move container to workspace $ws7 173bindsym $mod+Shift+7 move container to workspace $ws7
153bindsym $mod+Shift+8 move container to workspace $ws8 174bindsym $mod+Shift+8 move container to workspace $ws8
154bindsym $mod+Shift+9 move container to workspace $ws9 175bindsym $mod+Shift+9 move container to workspace $wssteam
155bindsym $mod+Shift+0 move container to workspace $ws10 176bindsym $mod+Shift+0 move container to workspace $ws10
177bindsym $mod+Shift+m move container to workspace $wsmusic
178bindcode $mod+Shift+49 move container to workspace $wszotero
179bindcode $mod+Shift+60 move container to workspace $wsdesktop
180bindcode $mod+Shift+21 move container to workspace $wsbrowser
156 181
157# reload the configuration file 182# reload the configuration file
158bindsym $mod+Shift+c reload 183bindcode $mod+Shift+54 reload
159# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 184# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
160bindsym $mod+Shift+r restart 185bindcode $mod+Shift+27 restart
161 186
162# resize window (you can also use the mouse for that) 187default_border pixel 2
163mode "resize" {
164 # These bindings trigger as soon as you enter the resize mode
165
166 # Pressing left will shrink the window’s width.
167 # Pressing right will grow the window’s width.
168 # Pressing up will shrink the window’s height.
169 # Pressing down will grow the window’s height.
170 bindsym h resize shrink width 10 px or 10 ppt
171 bindsym j resize grow height 10 px or 10 ppt
172 bindsym k resize shrink height 10 px or 10 ppt
173 bindsym l resize grow width 10 px or 10 ppt
174
175 # back to normal: Enter or Escape or $mod+r
176 bindsym Return mode "default"
177 bindsym Escape mode "default"
178 bindsym $mod+r mode "default"
179}
180bindsym $mod+r mode "resize"
181
182# session
183mode " (L)ock (S)ignout (R)eboot (P)oweroff" {
184 bindsym $mod+l exec betterlockscreen -l dimblur -t "Welcome back"
185 bindsym $mod+r exec systemctl reboot
186 bindsym $mod+p exec systemctl poweroff
187 bindsym $mod+s exit
188 bindcode 66 mode "default"
189}
190bindsym $mod+Shift+e mode " (L)ock (S)ignout (R)eboot (P)oweroff"
191
192bindsym $mod+Shift+Escape exec --no-startup-id ~/bin/power.sh
193
194set $mode_gaps Gaps: (o)uter, (i)nner
195#, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft
196set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
197set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
198# set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global)
199# set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global)
200# set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global)
201# set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global)
202# set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global)
203# set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global)
204bindsym $mod+Shift+g mode "$mode_gaps"
205
206mode "$mode_gaps" {
207 bindsym o mode "$mode_gaps_outer"
208 bindsym i mode "$mode_gaps_inner"
209 # bindsym h mode "$mode_gaps_horiz"
210 # bindsym v mode "$mode_gaps_verti"
211 # bindsym t mode "$mode_gaps_top"
212 # bindsym r mode "$mode_gaps_right"
213 # bindsym b mode "$mode_gaps_bottom"
214 # bindsym l mode "$mode_gaps_left"
215 # bindsym Return mode "$mode_gaps"
216 bindsym Escape mode "default"
217}
218
219mode "$mode_gaps_outer" {
220 bindsym plus gaps outer current plus 5
221 bindsym minus gaps outer current minus 5
222 bindsym 0 gaps outer current set 0
223
224 bindsym Shift+plus gaps outer all plus 5
225 bindsym Shift+minus gaps outer all minus 5
226 bindsym Shift+0 gaps outer all set 0
227
228 bindsym Return mode "$mode_gaps"
229 bindsym Escape mode "default"
230}
231mode "$mode_gaps_inner" {
232 bindsym plus gaps inner current plus 5
233 bindsym minus gaps inner current minus 5
234 bindsym 0 gaps inner current set 0
235
236 bindsym Shift+plus gaps inner all plus 5
237 bindsym Shift+minus gaps inner all minus 5
238 bindsym Shift+0 gaps inner all set 0
239
240 bindsym Return mode "$mode_gaps"
241 bindsym Escape mode "default"
242}
243
244for_window [class=".*"] border pixel 0
245for_window [class="Zotero" instance="Toplevel" title="Quick Format Citation"] floating enable 188for_window [class="Zotero" instance="Toplevel" title="Quick Format Citation"] floating enable
246for_window [class="Zotero" instance="Toplevel" title="Progress"] floating enable 189for_window [class="Zotero" instance="Toplevel" title="Progress"] floating enable
247assign [class="^Thunderbird$"] 8 190for_window [class="Zotero" window_role="pref"] floating enable
248 191for_window [class="zoom" title="Chat"] floating enable
249# class border backgr. text indicator child_border 192for_window [class="Dia" window_role="toolbox_window"] floating enable
250client.focused #458588 #285577 #ffffff #458588 #285577 193for_window [class="Pavucontrol" title="Volume Control"] floating enable
251client.focused_inactive #b16286 #5f676a #ffffff #484e50 #5f676a 194
252client.unfocused #927374 #222222 #888888 #292d2e #222222 195assign [class="^Brave-browser$"] $wsbrowser
253client.urgent #2f343a #900000 #ffffff #900000 #900000 196assign [class="^Zotero$"] $wszotero
254client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c 197for_window [class="Spotify"] move --no-auto-back-and-forth container to workspace $wsmusic
198
199# class border background text indicator child_border
200client.focused #ae81ff #080808 #85dc85 #ff5454 #ae81ff
201client.focused_inactive #ae81ff #9e9e9e #080808 #ff5454 #5f676a
202client.unfocused #ae81ff #323437 #b2b2b2 #ff5454 #222222
203client.urgent #ae81ff #900000 #b2b2b2 #ff5454 #900000
204client.placeholder #ae81ff #0c0c0c #b2b2b2 #ff5454 #0c0c0c
255 205
256client.background #ffffff 206client.background #ffffff
257 207
258# config 208# config
259hide_edge_borders smart 209hide_edge_borders none
260workspace_auto_back_and_forth yes 210workspace_auto_back_and_forth yes
261focus_follows_mouse no 211focus_follows_mouse no
212mouse_warping none
213focus_wrapping no