From 0806b6150cab08cb0525eef337cd88c969054ae1 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Wed, 13 Oct 2021 16:34:04 +0300 Subject: lowe: setup --- .config/i3/config##h.lowe | 282 +++++++++++++++++++--------------------------- 1 file changed, 117 insertions(+), 165 deletions(-) (limited to '.config/i3') 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 @@ -# i3 config file (v4) -# Please see https://i3wm.org/docs/userguide.html for a complete reference! +# vim: filetype=i3config +# https://i3wm.org/docs/userguide.html # set modifiers set $mod Mod4 set $alt Mod1 -# launch polybar -exec --no-startup-id $HOME/.config/polybar/launch.sh & +# use mouse+$mod to drag floating windows to their wanted position +floating_modifier $alt -# launch spliffer + notification -exec --no-startup-id $HOME/bin/watch_incoming.sh +## autostart +exec --no-startup-id xsettingsd & +exec --no-startup-id picom -b +exec --no-startup-id flashfocus & +exec --no-startup-id nextcloud & +exec --no-startup-id copyq & +exec --no-startup-id redshift & +exec --no-startup-id nm-applet & +exec --no-startup-id udiskie --automount --file-manager thunar --tray --notify & +exec --no-startup-id /usr/lib/pam_kwallet_init +exec --no-startup-id remind -z -k'dunstify -i "calendar" "⏰ reminder!" "%s" &' ~/.reminders & +exec --no-startup-id /home/yigit/.local/bin/pulse-volume-watcher.py | xob -m 80 & +exec --no-startup-id $HOME/.config/polybar/launch.sh & # start the screensaver, '' at the end is not a typo exec --no-startup-id xidlehook --not-when-fullscreen --not-when-audio --timer normal 300 'betterlockscreen -l dimblur -t "Welcome Back"' '' -# flash the active window -exec_always--no-startup-id flashfocus +# swap caps lock and escape, set keyboard layout +exec --no-startup-id setxkbmap -model pc105 -layout us -variant colemak -option caps:backspace -# Font for window titles -font pango:Lato 11 +# tap ctrl to esc, hold ctrl to ctrl +exec --no-startup-id xcape -e 'Control_L=Escape' & -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $alt +# set the wallpaper +exec --no-startup-id ~/.fehbg + +# font for window titles +font pango:Iosevka 11 gaps inner 5 gaps outer 0 -############## -# bindings # -############## +## bindings +# done, {task,time}warrior control suite +bindcode $mod+42 exec --no-startup-id ~/.local/bin/done + +# type the contents of the clipboard with mod+p +bindcode --release $mod+27 exec --no-startup-id ~/.local/bin/type_clipboard.sh -# i switched back to firefox can you tell -bindsym Ctrl+q exec --no-startup-id true +# launch emoji picker with mod+c +bindcode $mod+54 exec --no-startup-id rofimoji --skin-tone neutral # get the mouse out of the way -bindsym $mod+o exec --no-startup-id xdotool mousemove 1920 1080 +bindsym $mod+32 exec --no-startup-id xdotool mousemove 1920 1080 # bookmark from clipboard -bindsym $mod+u exec --no-startup-id ~/bin/bukuadd_c - -# add taskwarrior/gtd calendar item -bindsym $mod+Shift+t exec --no-startup-id ~/bin/td - -# add taskwarrior/gtd inbox item -bindsym $mod+Shift+i exec --no-startup-id ~/bin/in - -# swap caps lock and escape, set keyboard layout, 35 is ]/ü (layout agnostic) -bindcode $mod+35 exec --no-startup-id "setxkbmap -model pc105 -layout us,us,tr -variant ,colemak, -option grp:alt_shift_toggle,caps:backspace" +bindcode $mod+30 exec --no-startup-id ~/.local/bin/bukuadd_c # use flameshot with print screen bindsym Print exec flameshot gui # media keys -bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer set Master 2%+ && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)" -bindsym XF86AudioLowerVolume exec --no-startup-id "amixer set Master 2%- && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)" -bindsym 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" -bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause +bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 2%+ +bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 2%- +bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle +bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause # for spotify bindsym XF86AudioPrev exec --no-startup-id playerctl previous bindsym XF86AudioNext exec --no-startup-id playerctl next +bindsym XF86Tools exec --no-startup-id mpc toggle # for mpd/ncmpcpp -# Make the currently focused window a scratchpad -bindsym $mod+Shift+minus move scratchpad +# make the currently focused window a scratchpad +bindcode $mod+Shift+20 move scratchpad -# Show the first scratchpad window -bindsym $mod+minus scratchpad show +# show the first scratchpad window +bindcode $mod+20 scratchpad show -# shortcuts for frequent programs -bindsym $mod+Shift+z exec zotero -bindsym $mod+Shift+f exec pcmanfm +# pause notifications for a while with mod+shift+y +bindcode $mod+Shift+32 exec ~/.local/bin/toggle_notifications.sh +## shortcuts for frequent programs + +# zotero on mod+shift+z +bindcode $mod+Shift+52 exec zotero +# thunar on mod+shift+t +bindcode $mod+Shift+41 exec thunar # start a terminal bindsym $mod+Return exec kitty +# start rofi with mod+s +bindcode $mod+40 exec rofi -show combi +# launch the poweroff menu +bindsym $mod+Shift+Escape exec --no-startup-id ~/.local/bin/power.sh # kill focused window -bindsym $mod+Shift+q kill +bindcode $mod+Shift+24 kill bindsym --whole-window $mod+button2 kill -# start rofi (a program launcher) -bindsym $mod+d exec rofi -show combi - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right +# change focus on mod+hnei (qwerty hjkl) +bindcode $mod+43 focus left +bindcode $mod+44 focus down +bindcode $mod+45 focus up +bindcode $mod+46 focus right -# move focused window -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move right +# move focused window on mod+shift+hnei +bindcode $mod+Shift+43 move left +bindcode $mod+Shift+44 move down +bindcode $mod+Shift+45 move up +bindcode $mod+Shift+46 move right -# split in horizontal orientation -bindsym $mod+b split h +# split in horizontal orientation with mod+b +bindcode $mod+56 split h -# split in vertical orientation -bindsym $mod+v split v +# split in vertical orientation with mod+v +bindcode $mod+55 split v -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle +# enter fullscreen mode for the focused container with mod+t +bindcode $mod+41 fullscreen toggle # change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split +bindcode $mod+39 layout stacking +bindcode $mod+25 layout tabbed +bindcode $mod+26 layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle -# toggle sticky floating window -bindsym $mod+a sticky toggle +# toggle sticky floating window with mod+a +bindcode $mod+38 sticky toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle -# focus the parent container -# bindsym $mod+a focus parent - # Define names for default workspaces for which we configure key bindings later on. # We use variables to avoid repeating the names in multiple places. +# Workspace icons are added at polybar set $ws1 "1" set $ws2 "2" set $ws3 "3" @@ -128,7 +141,11 @@ set $ws6 "6" set $ws7 "7" set $ws8 "8" set $ws9 "9" -set $ws10 "10" +set $ws10 "0" +set $wsmusic "music" +set $wszotero "zotero" +set $wsdesktop "desktop" +set $wsbrowser "browser" # switch to workspace bindsym $mod+1 workspace $ws1 @@ -139,8 +156,12 @@ bindsym $mod+5 workspace $ws5 bindsym $mod+6 workspace $ws6 bindsym $mod+7 workspace $ws7 bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 +bindsym $mod+9 workspace $wssteam bindsym $mod+0 workspace $ws10 +bindsym $mod+m workspace $wsmusic +bindcode $mod+49 workspace $wszotero +bindcode $mod+60 workspace $wsdesktop +bindcode $mod+21 workspace $wsbrowser # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $ws1 @@ -151,111 +172,42 @@ bindsym $mod+Shift+5 move container to workspace $ws5 bindsym $mod+Shift+6 move container to workspace $ws6 bindsym $mod+Shift+7 move container to workspace $ws7 bindsym $mod+Shift+8 move container to workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+9 move container to workspace $wssteam bindsym $mod+Shift+0 move container to workspace $ws10 +bindsym $mod+Shift+m move container to workspace $wsmusic +bindcode $mod+Shift+49 move container to workspace $wszotero +bindcode $mod+Shift+60 move container to workspace $wsdesktop +bindcode $mod+Shift+21 move container to workspace $wsbrowser # reload the configuration file -bindsym $mod+Shift+c reload +bindcode $mod+Shift+54 reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize grow height 10 px or 10 ppt - bindsym k resize shrink height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} -bindsym $mod+r mode "resize" - -# session -mode " (L)ock (S)ignout (R)eboot (P)oweroff" { - bindsym $mod+l exec betterlockscreen -l dimblur -t "Welcome back" - bindsym $mod+r exec systemctl reboot - bindsym $mod+p exec systemctl poweroff - bindsym $mod+s exit - bindcode 66 mode "default" -} -bindsym $mod+Shift+e mode " (L)ock (S)ignout (R)eboot (P)oweroff" - -bindsym $mod+Shift+Escape exec --no-startup-id ~/bin/power.sh - -set $mode_gaps Gaps: (o)uter, (i)nner -#, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft -set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) -set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) -# set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global) -# set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global) -# set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global) -# set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global) -# set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global) -# set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global) -bindsym $mod+Shift+g mode "$mode_gaps" - -mode "$mode_gaps" { - bindsym o mode "$mode_gaps_outer" - bindsym i mode "$mode_gaps_inner" - # bindsym h mode "$mode_gaps_horiz" - # bindsym v mode "$mode_gaps_verti" - # bindsym t mode "$mode_gaps_top" - # bindsym r mode "$mode_gaps_right" - # bindsym b mode "$mode_gaps_bottom" - # bindsym l mode "$mode_gaps_left" - # bindsym Return mode "$mode_gaps" - bindsym Escape mode "default" -} - -mode "$mode_gaps_outer" { - bindsym plus gaps outer current plus 5 - bindsym minus gaps outer current minus 5 - bindsym 0 gaps outer current set 0 - - bindsym Shift+plus gaps outer all plus 5 - bindsym Shift+minus gaps outer all minus 5 - bindsym Shift+0 gaps outer all set 0 - - bindsym Return mode "$mode_gaps" - bindsym Escape mode "default" -} -mode "$mode_gaps_inner" { - bindsym plus gaps inner current plus 5 - bindsym minus gaps inner current minus 5 - bindsym 0 gaps inner current set 0 - - bindsym Shift+plus gaps inner all plus 5 - bindsym Shift+minus gaps inner all minus 5 - bindsym Shift+0 gaps inner all set 0 - - bindsym Return mode "$mode_gaps" - bindsym Escape mode "default" -} - -for_window [class=".*"] border pixel 0 +bindcode $mod+Shift+27 restart + +default_border pixel 2 for_window [class="Zotero" instance="Toplevel" title="Quick Format Citation"] floating enable for_window [class="Zotero" instance="Toplevel" title="Progress"] floating enable -assign [class="^Thunderbird$"] 8 - -# class border backgr. text indicator child_border -client.focused #458588 #285577 #ffffff #458588 #285577 -client.focused_inactive #b16286 #5f676a #ffffff #484e50 #5f676a -client.unfocused #927374 #222222 #888888 #292d2e #222222 -client.urgent #2f343a #900000 #ffffff #900000 #900000 -client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c +for_window [class="Zotero" window_role="pref"] floating enable +for_window [class="zoom" title="Chat"] floating enable +for_window [class="Dia" window_role="toolbox_window"] floating enable +for_window [class="Pavucontrol" title="Volume Control"] floating enable + +assign [class="^Brave-browser$"] $wsbrowser +assign [class="^Zotero$"] $wszotero +for_window [class="Spotify"] move --no-auto-back-and-forth container to workspace $wsmusic + +# class border background text indicator child_border +client.focused #ae81ff #080808 #85dc85 #ff5454 #ae81ff +client.focused_inactive #ae81ff #9e9e9e #080808 #ff5454 #5f676a +client.unfocused #ae81ff #323437 #b2b2b2 #ff5454 #222222 +client.urgent #ae81ff #900000 #b2b2b2 #ff5454 #900000 +client.placeholder #ae81ff #0c0c0c #b2b2b2 #ff5454 #0c0c0c client.background #ffffff # config -hide_edge_borders smart +hide_edge_borders none workspace_auto_back_and_forth yes focus_follows_mouse no +mouse_warping none +focus_wrapping no -- cgit v1.2.3-70-g09d2