summaryrefslogtreecommitdiffstats
path: root/.config/i3/config##h.luchs
diff options
context:
space:
mode:
authorYigit Sever2021-10-08 00:53:07 +0300
committerYigit Sever2021-10-08 00:53:07 +0300
commit37b1bb345883939fcdad3c32d9e47050f5dc6c85 (patch)
tree4484bb8b1a195aca9d00c5cb14b422cdfce387b3 /.config/i3/config##h.luchs
parentd1a9c58ddb92c62e0651725f0ebabb139cdae05a (diff)
downloaddotfiles-37b1bb345883939fcdad3c32d9e47050f5dc6c85.tar.gz
dotfiles-37b1bb345883939fcdad3c32d9e47050f5dc6c85.tar.bz2
dotfiles-37b1bb345883939fcdad3c32d9e47050f5dc6c85.zip
i3: clean luchs config
Diffstat (limited to '.config/i3/config##h.luchs')
-rw-r--r--.config/i3/config##h.luchs308
1 files changed, 116 insertions, 192 deletions
diff --git a/.config/i3/config##h.luchs b/.config/i3/config##h.luchs
index e626ce6..b0e3d22 100644
--- a/.config/i3/config##h.luchs
+++ b/.config/i3/config##h.luchs
@@ -1,153 +1,148 @@
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# disable screensaver, beep and power saving 8# use mouse+$mod to drag floating windows to their wanted position
9exec --no-startup-id xset -dpms & 9floating_modifier $alt
10exec --no-startup-id xset s off &
11exec --no-startup-id xset -b &
12 10
13# start the network manager, useful for vpns 11## autostart
12# exec --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 clight &
14exec --no-startup-id nm-applet & 18exec --no-startup-id nm-applet &
15
16# removable media
17exec --no-startup-id udiskie --automount --file-manager pcmanfm --tray --notify & 19exec --no-startup-id udiskie --automount --file-manager pcmanfm --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 &
24exec --no-startup-id ~/.fehbg &
18 25
19# set the wallpaper and other visuals 26exec --no-startup-id gebaard -b &
20# exec --no-startup-id ~/.fehbg &
21exec --no-startup-id bwall -cup_dark &
22exec --no-startup-id compton -b &
23# exec --no-startup-id xsettingsd &
24 27
25exec --no-startup-id gebaard -b 28# swap caps lock and escape, set keyboard layout
26exec --no-startup-id volnoti & 29exec --no-startup-id setxkbmap -model pc105 -layout us -variant colemak -option caps:backspace
27 30
28# utilities 31# tap ctrl to esc, hold ctrl to ctrl
29exec --no-startup-id nextcloud & 32exec --no-startup-id xcape -e 'Control_L=Escape' &
30exec --no-startup-id copyq &
31# exec --no-startup-id conky --daemonize -c ~/.config/conky/conky.conf &
32# exec --no-startup-id conky --daemonize -c ~/.config/conky/task.conf &
33 33
34# keyboard with alt+shift us,tr switch, map escape to capslock 34# disable screensaver, beep and power saving
35exec --no-startup-id setxkbmap -model pc105 -layout us,us,tr -variant ,colemak, -option grp:alt_shift_toggle,caps:backspace & 35exec --no-startup-id xset -dpms &
36exec --no-startup-id xcape -e 'Control_L=Escape' 36exec --no-startup-id xset s off &
37exec --no-startup-id xset -b &
37 38
38exec --no-startup-id xinput set-prop "ELAN1200:00 04F3:3045 Touchpad" "libinput Natural Scrolling Enabled" 1 & 39exec --no-startup-id xinput set-prop "ELAN1200:00 04F3:3045 Touchpad" "libinput Natural Scrolling Enabled" 1 &
39exec --no-startup-id xinput set-prop "ELAN1200:00 04F3:3045 Touchpad" "libinput Tapping Enabled" 1 & 40exec --no-startup-id xinput set-prop "ELAN1200:00 04F3:3045 Touchpad" "libinput Tapping Enabled" 1 &
40 41
41# launch polybar
42exec --no-startup-id $HOME/.config/polybar/launch.sh &
43
44# start the screensaver, '' at the end is not a typo
45exec --no-startup-id xidlehook --not-when-fullscreen --not-when-audio --timer normal 300 'betterlockscreen -l dimblur -t "Welcome Back"' ''
46
47# start the brightness utility
48exec --no-startup-id clight &
49
50# flash the active window
51exec --no-startup-id flashfocus &
52
53gaps inner 5 42gaps inner 5
54gaps outer 2 43gaps outer 2
55 44
56# Font for window titles 45# font for window titles
57font pango:Lato 11 46font pango:Iosevka 11
58 47
59# Use Mouse+$mod to drag floating windows to their wanted position 48## bindings
60floating_modifier $alt 49# done, {task,time}warrior control suite
61 50bindcode $mod+42 exec --no-startup-id ~/.local/bin/done
62##############
63# bindings #
64##############
65 51
66# i switched back to firefox can you tell 52# type the contents of the clipboard with mod+p
67bindsym Ctrl+q exec --no-startup-id true 53bindcode --release $mod+27 exec --no-startup-id ~/.local/bin/type_clipboard.sh
68 54
69# get the mouse out of the way 55# launch emoji picker with mod+c
70bindsym $mod+o exec --no-startup-id xdotool mousemove 1920 1080 56bindcode $mod+54 exec --no-startup-id rofimoji --skin-tone neutral
71 57
72# bookmark from clipboard 58# get the mouse out of the way with mod+y
73bindsym $mod+u exec --no-startup-id ~/bin/bukuadd_c 59bindcode $mod+32 exec --no-startup-id xdotool mousemove 0 0
74 60
75# add taskwarrior/gtd calendar item 61# bookmark from clipboard with mod+l
76bindsym $mod+Shift+t exec --no-startup-id ~/bin/td 62bindcode $mod+30 exec --no-startup-id ~/.local/bin/bukuadd_c
77 63
78# swap caps lock and escape, set keyboard layout, 35 is ]/ü (layout agnostic) 64# swap caps lock and escape, set keyboard layout with mod+]
79bindcode $mod+35 exec --no-startup-id "setxkbmap -model pc105 -layout us,tr -option grp:alt_shift_toggle,caps:swapescape" 65bindcode $mod+35 exec --no-startup-id "setxkbmap -model pc105 -layout us,us,tr -variant ,colemak, -option grp:alt_shift_toggle,caps:backspace"
80 66
81# use flameshot with print screen 67# use flameshot with print screen
82bindsym Print exec flameshot gui 68bindsym Print exec flameshot gui
83 69
84# media keys 70# media keys
85bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer set Master 2%+ && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)" 71# TODO: test these for luchs keyboard <08-10-21, yigit> #
86bindsym XF86AudioLowerVolume exec --no-startup-id "amixer set Master 2%- && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)" 72bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 2%+
87bindsym 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" 73bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 2%-
88bindsym XF86AudioPlay exec mpc toggle 74bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
89bindsym XF86AudioPrev exec /home/yigit/bin/mpcPrevSong.sh 75bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause # for spotify
90bindsym XF86AudioNext exec mpc next 76bindsym XF86AudioPrev exec --no-startup-id playerctl previous
91 77bindsym XF86AudioNext exec --no-startup-id playerctl next
92bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 & 78bindsym XF86Tools exec --no-startup-id mpc toggle # for mpd/ncmpcpp
93bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 & 79
80bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5
81bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5
94 82
95bindsym XF86TouchpadToggle exec --no-startup-id perl -e '{`xinput list-props 11` =~ /^.*Device Enabled.+?(\d)$/m and {$1 ? `xinput --disable 11 && dunstify -a "touchpad" "disabled"` : `xinput --enable 11 && dunstify -a "touchpad" "enabled"`}} ' 83bindsym XF86TouchpadToggle exec --no-startup-id perl -e '{`xinput list-props 11` =~ /^.*Device Enabled.+?(\d)$/m and {$1 ? `xinput --disable 11 && dunstify -a "touchpad" "disabled"` : `xinput --enable 11 && dunstify -a "touchpad" "enabled"`}} '
96 84
97# Make the currently focused window a scratchpad 85# make the currently focused window a scratchpad
98bindsym $mod+Shift+minus move scratchpad 86bindcode $mod+Shift+20 move scratchpad
87
88# show the first scratchpad window
89bindcode $mod+20 scratchpad show
99 90
100# Show the first scratchpad window 91# pause notifications for a while with mod+shift+y
101bindsym $mod+minus scratchpad show 92bindcode $mod+Shift+32 exec ~/.local/bin/toggle_notifications.sh
102 93
103# shortcuts for frequent programs 94## shortcuts for frequent programs
104bindsym $mod+Shift+z exec zotero
105bindsym $mod+Shift+f exec pcmanfm
106 95
96# zotero on mod+shift+z
97bindcode $mod+Shift+52 exec zotero
98# thunar on mod+shift+t
99bindcode $mod+Shift+41 exec thunar
107# start a terminal 100# start a terminal
108bindsym $mod+Return exec kitty 101bindsym $mod+Return exec kitty
102# start rofi with mod+s
103bindcode $mod+40 exec rofi -show combi
104# launch the poweroff menu
105bindsym $mod+Shift+Escape exec --no-startup-id ~/.local/bin/power.sh
109 106
110# kill focused window 107# kill focused window
111bindsym $mod+Shift+q kill 108bindcode $mod+Shift+24 kill
109bindsym --whole-window $mod+button2 kill
112 110
113# start rofi (a program launcher) 111# change focus on mod+hnei (qwerty hjkl)
114bindsym $mod+d exec rofi -show combi 112bindcode $mod+43 focus left
113bindcode $mod+44 focus down
114bindcode $mod+45 focus up
115bindcode $mod+46 focus right
115 116
116# change focus 117# move focused window on mod+shift+hnei
117bindsym $mod+h focus left 118bindcode $mod+Shift+43 move left
118bindsym $mod+j focus down 119bindcode $mod+Shift+44 move down
119bindsym $mod+k focus up 120bindcode $mod+Shift+45 move up
120bindsym $mod+l focus right 121bindcode $mod+Shift+46 move right
121 122
122# move focused window 123# split in horizontal orientation with mod+b
123bindsym $mod+Shift+h move left 124bindcode $mod+56 split h
124bindsym $mod+Shift+j move down
125bindsym $mod+Shift+k move up
126bindsym $mod+Shift+l move right
127 125
128# split in horizontal orientation 126# split in vertical orientation with mod+v
129bindsym $mod+b split h 127bindcode $mod+55 split v
130 128
131# split in vertical orientation 129# enter fullscreen mode for the focused container with mod+t
132bindsym $mod+v split v 130bindcode $mod+41 fullscreen toggle
133
134# enter fullscreen mode for the focused container
135bindsym $mod+f fullscreen toggle
136 131
137# change container layout (stacked, tabbed, toggle split) 132# change container layout (stacked, tabbed, toggle split)
138bindsym $mod+s layout stacking 133bindcode $mod+39 layout stacking
139bindsym $mod+w layout tabbed 134bindcode $mod+25 layout tabbed
140bindsym $mod+e layout toggle split 135bindcode $mod+26 layout toggle split
141 136
142# toggle tiling / floating 137# toggle tiling / floating
143bindsym $mod+Shift+space floating toggle 138bindsym $mod+Shift+space floating toggle
144 139
140# toggle sticky floating window with mod+a
141bindcode $mod+38 sticky toggle
142
145# change focus between tiling / floating windows 143# change focus between tiling / floating windows
146bindsym $mod+space focus mode_toggle 144bindsym $mod+space focus mode_toggle
147 145
148# focus the parent container
149bindsym $mod+a focus parent
150
151# Define names for default workspaces for which we configure key bindings later on. 146# Define names for default workspaces for which we configure key bindings later on.
152# We use variables to avoid repeating the names in multiple places. 147# We use variables to avoid repeating the names in multiple places.
153set $ws1 "1" 148set $ws1 "1"
@@ -160,6 +155,9 @@ set $ws7 "7"
160set $ws8 "8" 155set $ws8 "8"
161set $ws9 "9" 156set $ws9 "9"
162set $ws10 "10" 157set $ws10 "10"
158set $wszotero "zotero"
159set $wsdesktop "desktop"
160set $wsbrowser "browser"
163 161
164# switch to workspace 162# switch to workspace
165bindsym $mod+1 workspace $ws1 163bindsym $mod+1 workspace $ws1
@@ -172,6 +170,9 @@ bindsym $mod+7 workspace $ws7
172bindsym $mod+8 workspace $ws8 170bindsym $mod+8 workspace $ws8
173bindsym $mod+9 workspace $ws9 171bindsym $mod+9 workspace $ws9
174bindsym $mod+0 workspace $ws10 172bindsym $mod+0 workspace $ws10
173bindcode $mod+49 workspace $wszotero
174bindcode $mod+60 workspace $wsdesktop
175bindcode $mod+21 workspace $wsbrowser
175 176
176# move focused container to workspace 177# move focused container to workspace
177bindsym $mod+Shift+1 move container to workspace $ws1 178bindsym $mod+Shift+1 move container to workspace $ws1
@@ -184,110 +185,32 @@ bindsym $mod+Shift+7 move container to workspace $ws7
184bindsym $mod+Shift+8 move container to workspace $ws8 185bindsym $mod+Shift+8 move container to workspace $ws8
185bindsym $mod+Shift+9 move container to workspace $ws9 186bindsym $mod+Shift+9 move container to workspace $ws9
186bindsym $mod+Shift+0 move container to workspace $ws10 187bindsym $mod+Shift+0 move container to workspace $ws10
188bindcode $mod+Shift+49 move container to workspace $wszotero
189bindcode $mod+Shift+60 move container to workspace $wsdesktop
190bindcode $mod+Shift+21 move container to workspace $wsbrowser
187 191
188# reload the configuration file 192# reload the configuration file
189bindsym $mod+Shift+c reload 193bindcode $mod+Shift+54 reload
190# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 194# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
191bindsym $mod+Shift+r restart 195bindcode $mod+Shift+27 restart
192 196
193# resize window (you can also use the mouse for that) 197default_border pixel 2
194mode "resize" {
195 # These bindings trigger as soon as you enter the resize mode
196
197 # Pressing left will shrink the window’s width.
198 # Pressing right will grow the window’s width.
199 # Pressing up will shrink the window’s height.
200 # Pressing down will grow the window’s height.
201 bindsym h resize shrink width 10 px or 10 ppt
202 bindsym j resize grow height 10 px or 10 ppt
203 bindsym k resize shrink height 10 px or 10 ppt
204 bindsym l resize grow width 10 px or 10 ppt
205
206 # back to normal: Enter or Escape or $mod+r
207 bindsym Return mode "default"
208 bindsym Escape mode "default"
209 bindsym $mod+r mode "default"
210}
211bindsym $mod+r mode "resize"
212
213# session
214mode " (L)ock (S)ignout (R)eboot (P)oweroff" {
215 bindsym $mod+l exec betterlockscreen -l dimblur -t "Welcome back"
216 bindsym $mod+r exec systemctl reboot
217 bindsym $mod+p exec systemctl poweroff
218 bindsym $mod+s exit
219 bindcode 66 mode "default"
220}
221bindsym $mod+Shift+e mode " (L)ock (S)ignout (R)eboot (P)oweroff"
222
223bindsym $mod+Shift+Escape exec --no-startup-id ~/bin/power.sh
224
225set $mode_gaps Gaps: (o)uter, (i)nner
226#, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft
227set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
228set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
229# set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global)
230# set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global)
231# set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global)
232# set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global)
233# set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global)
234# set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global)
235bindsym $mod+Shift+g mode "$mode_gaps"
236
237mode "$mode_gaps" {
238 bindsym o mode "$mode_gaps_outer"
239 bindsym i mode "$mode_gaps_inner"
240 # bindsym h mode "$mode_gaps_horiz"
241 # bindsym v mode "$mode_gaps_verti"
242 # bindsym t mode "$mode_gaps_top"
243 # bindsym r mode "$mode_gaps_right"
244 # bindsym b mode "$mode_gaps_bottom"
245 # bindsym l mode "$mode_gaps_left"
246 # bindsym Return mode "$mode_gaps"
247 bindsym Escape mode "default"
248}
249
250mode "$mode_gaps_outer" {
251 bindsym plus gaps outer current plus 5
252 bindsym minus gaps outer current minus 5
253 bindsym 0 gaps outer current set 0
254
255 bindsym Shift+plus gaps outer all plus 5
256 bindsym Shift+minus gaps outer all minus 5
257 bindsym Shift+0 gaps outer all set 0
258
259 bindsym Return mode "$mode_gaps"
260 bindsym Escape mode "default"
261}
262mode "$mode_gaps_inner" {
263 bindsym plus gaps inner current plus 5
264 bindsym minus gaps inner current minus 5
265 bindsym 0 gaps inner current set 0
266
267 bindsym Shift+plus gaps inner all plus 5
268 bindsym Shift+minus gaps inner all minus 5
269 bindsym Shift+0 gaps inner all set 0
270
271 bindsym Return mode "$mode_gaps"
272 bindsym Escape mode "default"
273}
274
275# disable borders for all windows
276for_window [class=".*"] border pixel 0
277
278# zotero citation dialogs and preferences windows should float
279for_window [class="Zotero" instance="Toplevel" title="Quick Format Citation"] floating enable 198for_window [class="Zotero" instance="Toplevel" title="Quick Format Citation"] floating enable
280for_window [class="Zotero" instance="Toplevel" title="Progress"] floating enable 199for_window [class="Zotero" instance="Toplevel" title="Progress"] floating enable
281for_window [class="Zotero" window_role="pref"] floating enable 200for_window [class="Zotero" window_role="pref"] floating enable
201for_window [class="zoom" title="Chat"] floating enable
202for_window [class="Dia" window_role="toolbox_window"] floating enable
203for_window [class="Pavucontrol" title="Volume Control"] floating enable
282 204
283assign [class="^Thunderbird$"] 8 205assign [class="^Brave-browser$"] $wsbrowser
206assign [class="^Zotero$"] $wszotero
284 207
285# class border backgr. text indicator child_border 208# class border background text indicator child_border
286client.focused #458588 #285577 #ffffff #458588 #285577 209client.focused #ae81ff #080808 #85dc85 #ff5454 #ae81ff
287client.focused_inactive #b16286 #5f676a #ffffff #484e50 #5f676a 210client.focused_inactive #ae81ff #9e9e9e #080808 #ff5454 #5f676a
288client.unfocused #927374 #222222 #888888 #292d2e #222222 211client.unfocused #ae81ff #323437 #b2b2b2 #ff5454 #222222
289client.urgent #2f343a #900000 #ffffff #900000 #900000 212client.urgent #ae81ff #900000 #b2b2b2 #ff5454 #900000
290client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c 213client.placeholder #ae81ff #0c0c0c #b2b2b2 #ff5454 #0c0c0c
291 214
292client.background #ffffff 215client.background #ffffff
293 216
@@ -295,3 +218,4 @@ client.background #ffffff
295hide_edge_borders smart 218hide_edge_borders smart
296workspace_auto_back_and_forth yes 219workspace_auto_back_and_forth yes
297focus_follows_mouse no 220focus_follows_mouse no
221mouse_warping none