From 75d666322acfb6d8a58cbb4bf6a95782fe14b124 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Thu, 19 Jan 2023 18:45:46 +0100 Subject: sway: make most of config auto-loading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- .config/sway/auto.conf | 50 ------ .config/sway/binds.conf | 304 ----------------------------------- .config/sway/colors.conf | 18 --- .config/sway/colors.conf.in | 19 --- .config/sway/config | 21 --- .config/sway/config.d/auto.conf | 52 ++++++ .config/sway/config.d/binds.conf | 304 +++++++++++++++++++++++++++++++++++ .config/sway/config.d/colors.conf | 18 +++ .config/sway/config.d/gsettings.conf | 14 ++ .config/sway/config.d/input.conf | 71 ++++++++ .config/sway/input.conf | 71 -------- 11 files changed, 459 insertions(+), 483 deletions(-) delete mode 100644 .config/sway/auto.conf delete mode 100644 .config/sway/binds.conf delete mode 100644 .config/sway/colors.conf delete mode 100644 .config/sway/colors.conf.in create mode 100644 .config/sway/config.d/auto.conf create mode 100644 .config/sway/config.d/binds.conf create mode 100644 .config/sway/config.d/colors.conf create mode 100644 .config/sway/config.d/gsettings.conf create mode 100644 .config/sway/config.d/input.conf delete mode 100644 .config/sway/input.conf (limited to '.config') diff --git a/.config/sway/auto.conf b/.config/sway/auto.conf deleted file mode 100644 index d22be1b..0000000 --- a/.config/sway/auto.conf +++ /dev/null @@ -1,50 +0,0 @@ -# vim: ft=i3config -# NOTE: never use assign, it crashes sway for some reason... - -# for_window [floating] border csd -for_window [app_id="[tT]elegram[-_][dD]esktop"] mark mail -for_window [app_id="[tT]elegram[-_][dD]esktop" title="Choose Files"] floating enable; exec centercon -w .6 -for_window [app_id="[tT]elegram[-_][dD]esktop" title="Media viewer"] floating enable -for_window [app_id="[tT]elegram[-_][dD]esktop" title="TelegramDesktop"] floating enable -for_window [app_id="^__floating-.*"] floating enable -for_window [app_id="com.github.wwmm.easyeffects"] floating enable; border none; exec centercon -w .4 -for_window [app_id="(fire|libre|work)fox" title="Picture-in-Picture"] floating enable, sticky enable, border none -for_window [app_id="(fire|libre|work)fox" title="Sharing Indicator$"] floating enable, border none, sticky enable; exec centercon 1 tr; focus mode_toggle -for_window [app_id="(fire|libre|work)fox" title="^About Mozilla Firefox$"] floating enable -for_window [app_id="(fire|libre|work)fox" title="^Close tabs?"] floating enable -# for_window [app_id="firefox" title="^Developer Tools"] floating enable -for_window [app_id="(fire|libre|work)fox" title="^Extension: (Yomichan)"] floating enable -for_window [app_id="(fire|libre|work)fox" title="^File Upload$"] floating enable -for_window [app_id="(fire|libre|work)fox" title="^Open Firefox in Troubleshoot Mode?$"] floating enable -for_window [app_id="(fire|libre|work)fox" title="^Save As$"] floating enable -for_window [app_id="(fire|libre|work)fox"] mark browser -for_window [app_id="imv"] floating enable; inhibit_idle open -for_window [app_id="launcher"] floating enable -for_window [app_id="mpv"] floating enable; inhibit_idle fullscreen -for_window [app_id="mpv"] max_render_time off -# for_window [app_id="mpv" title=".* - mvi$"] border pixel $bpix; -for_window [app_id="obs" title="^Local File$"] floating enable; exec centercon -w .6 -for_window [app_id="org.polymc.PolyMC" title="$Console"] floating enable -for_window [app_id="slack"] mark mail -for_window [app_id="zoom" title="Settings"] floating enable -for_window [app_id="zoom" title="^as_toolbar$"] floating enable -for_window [app_id="zoom" title="^zoom$"] floating enable -for_window [class="Chromium-browser"] mark browser -for_window [class="Slack"] mark mail -for_window [app_id="" title="^Slack"] mark mail -for_window [class="balena-etcher-electron"] floating enable; border normal -for_window [class="discord"] mark mail -for_window [class="parsecd"] inhibit_idle fullscreen -for_window [class="pinentry"] floating enable; border normal -for_window [con_mark="browser"] inhibit_idle fullscreen -for_window [title="tridactyledit"] floating enable - -set $outputSide eDP-1 -for_window [con_mark="work"] move workspace $wsWork -for_window [con_mark="mail"] move workspace $wsMail, move workspace to output $outputSide, layout tabbed -for_window [class="Spotify"] move workspace $wsMusic, move workspace to output $outputSide -for_window [class="osu!"] move workspace $wsGame, layout tabbed, exec osu-mode on -for_window [app_id="org.keepassxc.KeePassXC"] move scratchpad; scratchpad show -for_window [class="Gvncviewer"] move workspace __vnc; fullscreen -for_window [app_id="retroarch"] fullscreen -for_window [class="^Minecraft"] fullscreen; sway output - scale 1 diff --git a/.config/sway/binds.conf b/.config/sway/binds.conf deleted file mode 100644 index 1e7c066..0000000 --- a/.config/sway/binds.conf +++ /dev/null @@ -1,304 +0,0 @@ -# vim: ft=i3config - -# Basics {{{ -bindsym --no-repeat { - $mod+Return exec $term - $mod+Shift+Return exec $floating_term - $mod+b exec pkill -USR1 waybar - - # bindsym $mod+w exec $firefox - # $mod+w exec firefox --private-window - - # start launcher - $mod+d exec menu -run -} - -# kill focused window -bindsym $mod+Shift+q kill - -# Drag floating windows by holding down $mod and left mouse button. -# Resize them with right mouse button + $mod. -# Despite the name, also works for non-floating windows. -# Change normal to inverse to use left mouse button for resizing and right -# mouse button for dragging. -floating_modifier $mod normal - -# reload the configuration file -bindsym $mod+Shift+c reload - -# exit sway (logs you out of your wayland session) -bindsym $mod+Shift+e exec swaynag \ - -t warning \ - -m 'exit: what now?' \ - -b 'exit' 'swaymsg exec -- doas s6-rc -d change desktop' \ - -b 'restart' 'swaymsg exec -- doas s6-rc -d change desktop && sleep 0.5 && doas s6-rc -u change desktop' \ - -b 'poweroff' 'swaymsg exec -- doas poweroff' \ - -b 'reboot' 'swaymsg exec -- doas reboot' - -bindsym $mod+Shift+backspace exec lock - -bindsym $mod+Shift+b border toggle - -# rotate the screen 90 degress to read books/manga -bindsym $mod+Shift+r mode "read"; output - transform 90 clockwise -mode "read" { - bindsym Escape mode "default"; output - transform 90 anticlockwise - bindsym Return mode "default"; output - transform 90 anticlockwise -} - -# }}} - -bindsym --no-repeat Print exec grimshot copy output -bindsym $mod+Shift+s mode "screengrab" -# {{{ -mode "screengrab" { - bindsym a exec grimshot save screen; mode "default" - bindsym o exec grimshot save output; mode "default" - bindsym s exec grimshot save area; mode "default" - bindsym w exec grimshot save win; mode "default" - bindsym c exec grimshot copy area; mode "default" - bindsym p exec colorpick; mode "default" - - bindsym r exec grimshot rec win; mode "default" - bindsym q exec pkill -INT wf-recorder; mode "default" - - bindsym m exec grimocr -m mangaocr; mode "default" - bindsym Shift+m exec grimocr -m tesseract; mode "default" - - bindsym Escape mode "default" - bindsym Return mode "default" -} -# }}} - -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -# or use $mod+[up|down|left|right] - -# _move_ the focused window with the same, but add Shift -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right - -bindsym $mod+Next focus child -bindsym $mod+Prior focus parent - -bindsym $mod+Delete [urgent="latest"] focus - -# for_window [app_id="^firefox" title="^MAIN/main"] mark browser_main -# for_window [app_id="^firefox" title="^WORK/main"] mark browser_work -# bindsym $mod+Semicolon [con_mark="browser_main"] focus -# bindsym $mod+Apostrophe [con_mark="browser_work"] focus -bindsym $mod+Semicolon [app_id="^firefox" title="^MAIN/main"] focus -bindsym $mod+Apostrophe [app_id="^firefox" title="^WORK/main"] focus - -# Workspaces {{{ -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. -bindsym $mod+Shift+n workspace next -bindsym $mod+Shift+p workspace prev - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -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+0 workspace $ws0 - -bindsym $mod+Ctrl+m workspace $wsMusic -bindsym $mod+Ctrl+v workspace $wsVideo -bindsym $mod+Ctrl+g workspace $wsGame -bindsym $mod+Tab workspace back_and_forth - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4 -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+0 move container to workspace $ws0 - -# move focused workspce to output -bindsym $mod+Ctrl+$left move workspace to output left -bindsym $mod+Ctrl+$down move workspace to output down -bindsym $mod+Ctrl+$up move workspace to output up -bindsym $mod+Ctrl+$right move workspace to output right - -bindsym $mod+g mode "go" -mode "go" { - bindsym 1 workspace $ws1; mode "default" - bindsym 2 workspace $ws2; mode "default" - bindsym 3 workspace $ws3; mode "default" - bindsym 4 workspace $ws4; mode "default" - bindsym 5 workspace $ws5; mode "default" - bindsym 6 workspace $ws6; mode "default" - bindsym 7 workspace $ws7; mode "default" - bindsym 8 workspace $ws8; mode "default" - bindsym 9 workspace $ws9; mode "default" - bindsym 0 workspace $ws0; mode "default" - - bindsym m workspace $wsMusic; mode "default" - bindsym g workspace $wsGame; mode "default" - bindsym v workspace $wsVideo; mode "default" - - # return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# }}} - -bindsym $mod+Minus splitv -bindsym $mod+Equal splith -bindsym $mod+Shift+y layout toggle split - -bindsym $mod+f fullscreen -bindsym $mod+Shift+f fullscreen global -bindsym $mod+Shift+t bar mode toggle topbar; default_border pixel - -bindsym $mod+space focus mode_toggle -bindsym $mod+Ctrl+space floating toggle - -bindsym $mod+y mode "layout" -# {{{ -mode "layout" { - # Switch the current container between different layout styles - bindsym s layout stacking; mode "default" - bindsym w layout tabbed; mode "default" - bindsym e layout splitv; mode "default" - - # move focus to the parent container - bindsym p focus parent - bindsym Shift+p focus child - - # make a sticky container - bindsym t sticky toggle; mode "default"; exec notify-send sway "container pinned" - bindsym Shift+t \ - floating enable; \ - sticky enable; \ - exec sh -c 'centercon -w 0.3 tr && swaymsg move left 10px && swaymsg move down 10px && swaymsg focus mode_toggle'; \ - mode "default" - - # return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -# }}} - -bindsym $mod+Ctrl+backspace move scratchpad -bindsym $mod+backspace scratchpad show - -bindsym $mod+r mode "resize" -# {{{ -mode "resize" { - set $rate 25 - bindsym $left resize shrink width $rate - bindsym $down resize shrink height $rate - bindsym $up resize grow height $rate - bindsym $right resize grow width $rate - - bindsym Shift+$down resize shrink width $rate; resize shrink height $rate - bindsym Shift+$up resize grow width $rate; resize grow height $rate - - # make a centered container - bindsym c exec centercon -w 0.6; mode "default" - bindsym Shift+c exec centercon -w 1.0; mode "default" - - # return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -# }}} - -bindsym $mod+Shift+g mode "gaps" -# {{{ -mode "gaps" { - set $gapDefault 4 - bindsym g gaps inner all toggle $gapDefault - bindsym t gaps inner all toggle $gapDefault - bindsym r gaps outer all set 0; gaps inner all set 0 - - set $gapRate 2 - bindsym $up gaps inner all plus $gapRate - bindsym $down gaps inner all minus $gapRate - - # return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -# }}} - -bindsym $mod+m mode "menu" -# {{{ -mode "menu" { - bindsym a exec soundswitch; mode "default" - bindsym m exec mnts; mode "default" - bindsym n exec notifmenu; mode "default" - bindsym p exec secretmenu; mode "default" - bindsym r exec rcmenu; mode "default" - bindsym c exec connmenu; mode "default" - # bindsym x exec menu -drun; mode "default" - bindsym d exec swdo; mode "default" - - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym q mode "default" -} -# }}} - -# Misc {{{ -bindsym $mod+Shift+i exec anthywl-toggle -# bindsym $mod+Shift+x mark --toggle "x" -# bindsym $mod+x [con_mark="x"] focus -# bindsym $mod+Ctrl+x swap container with mark "x" - -# https://whynothugo.nl/journal/2022/11/04/copying-with-super-c/ -bindsym $mod+x exec wtype -P XF86Cut -bindsym $mod+c exec wtype -P XF86Copy -bindsym $mod+v exec wtype -P XF86Paste - -# Media volume controls -bindsym XF86AudioMute exec soundswitch -m -#bindsym XF86AudioMicMute exec soundswitch -M -bindsym XF86AudioLowerVolume exec soundswitch -v -bindsym XF86AudioRaiseVolume exec soundswitch -V - -# Sreen brightness controls -bindsym XF86MonBrightnessDown exec light -U 10 -bindsym XF86MonBrightnessUp exec light -A 10 - -# Media player controls -bindsym XF86AudioPrev exec playerctl -p playerctld previous -bindsym XF86AudioPlay exec playerctl -p playerctld play-pause -bindsym XF86AudioNext exec playerctl -p playerctld next - -# fn + f10 -bindsym XF86RFKill exec notify-send "hello from rfkill" -# fn + f12 -bindsym XF86AudioMedia exec notify-send "hello from audio media" - -#bindsym XF86WakeUp exec true -#bindsym XF86Display output eDP-1 power off; output eDP-1 power on; exec kanshictl reload -#bindsym XF86Tools output eDP-1 power toggle -#bindsym XF86Keyboard exec true -#bindsym XF86Favorites exec s6-svc -r $HOME/.local/share/s6/wlsunset - -bindsym $mod+F1 exec notify-send "hello from F1" -bindsym $mod+F2 exec notify-send "hello from F2" -bindsym $mod+F3 exec notify-send "hello from F3" -# }}} - -# go to sleep when lid is closed -bindswitch --reload lid:on exec r2mem diff --git a/.config/sway/colors.conf b/.config/sway/colors.conf deleted file mode 100644 index 498a50c..0000000 --- a/.config/sway/colors.conf +++ /dev/null @@ -1,18 +0,0 @@ - -set $text #fffffb -set $text2 #bdc0ba -set $bg #1c1c1c -set $bg2 #bdc0ba -set $main #8a6bbe -set $main2 #70649a -set $urgent #cb1b45 -set $urgent2 #db4d6d -set $indicator_focused #fad689 -set $indicator_unfocused $bg - -client.focused $main $main $text $indicator_focused $main -#client.focused_inactive $bg $bg $text2 $indicator_unfocused $bg -client.focused_inactive $main2 $main2 $text2 $indicator_unfocused $main2 -client.unfocused $bg $bg $text2 $indicator_unfocused $bg -#client.unfocused $main2 $main2 $text2 $indicator_unfocused $main2 -client.urgent $urgent2 $urgent $text $indicator_focused $urgent diff --git a/.config/sway/colors.conf.in b/.config/sway/colors.conf.in deleted file mode 100644 index 4d9ed3c..0000000 --- a/.config/sway/colors.conf.in +++ /dev/null @@ -1,19 +0,0 @@ - -set $text {{ hex .bright_white }} -set $text2 {{ hex .normal_white }} -set $bg {{ hex .normal_black }} -#set $bg2 {{ hex (lighter .normal_black 0.2) }} -set $bg2 {{ hex .dim_white }} -set $main {{ hex .accent }} -set $main2 {{ hex .accent_darkerdarker }} -set $urgent {{ hex .bright_red }} -set $urgent2 {{ hex .normal_red }} -set $indicator_focused {{ hex .normal_yellow }} -set $indicator_unfocused $bg - -client.focused $main $main $text $indicator_focused $main -#client.focused_inactive $bg $bg $text2 $indicator_unfocused $bg -client.focused_inactive $main2 $main2 $text2 $indicator_unfocused $main2 -client.unfocused $bg $bg $text2 $indicator_unfocused $bg -#client.unfocused $main2 $main2 $text2 $indicator_unfocused $main2 -client.urgent $urgent2 $urgent $text $indicator_focused $urgent diff --git a/.config/sway/config b/.config/sway/config index 408791f..392dc87 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -58,34 +58,13 @@ show_marks yes floating_maximum_size 0 x 0 floating_minimum_size 75 x 50 -include input.conf -include binds.conf -include auto.conf - # style {{{ font pango:Iosevka Aile 10 seat * xcursor_theme WinSur -exec_always { - gsettings set org.gnome.desktop.interface gtk-theme Adwaita - gsettings set org.gnome.desktop.interface icon-theme Adwaita - gsettings set org.gnome.desktop.interface cursor-theme WinSur - # gsettings set org.gnome.desktop.interface font-name "Noto Sans" - gsettings set org.gnome.desktop.interface font-name "Iosevka Aile" - gsettings set org.gnome.desktop.interface enable-animations false - gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark - gsettings set org.gnome.desktop.interface color-scheme prefer-dark - gsettings set org.gnome.desktop.privacy remember-recent-files false - gsettings set org.gnome.desktop.privacy recent-files-max-age 0 - gsettings set org.gtk.Settings.FileChooser show-hidden false - gsettings set org.gtk.Settings.FileChooser startup-mode cwd -} - set $bpix 3 set $fat_bpix 5 default_border pixel $bpix default_floating_border pixel $fat_bpix - -include colors.conf # }}} include config.d/* diff --git a/.config/sway/config.d/auto.conf b/.config/sway/config.d/auto.conf new file mode 100644 index 0000000..1898e06 --- /dev/null +++ b/.config/sway/config.d/auto.conf @@ -0,0 +1,52 @@ +# vim: ft=i3config +# NOTE: never use assign, it crashes sway for some reason... + +# for_window [floating] border csd +for_window [app_id="[tT]elegram[-_][dD]esktop"] mark mail +for_window [app_id="[tT]elegram[-_][dD]esktop" title="Choose Files"] floating enable; exec centercon -w .6 +for_window [app_id="[tT]elegram[-_][dD]esktop" title="Media viewer"] floating enable +for_window [app_id="[tT]elegram[-_][dD]esktop" title="TelegramDesktop"] floating enable +for_window [app_id="^__floating-.*"] floating enable +for_window [app_id="com.github.wwmm.easyeffects"] floating enable; border none; exec centercon -w .4 +for_window [app_id="(fire|libre|work)fox" title="Picture-in-Picture"] floating enable, sticky enable, border none +for_window [app_id="(fire|libre|work)fox" title="Sharing Indicator$"] floating enable, border none, sticky enable; exec centercon 1 tr; focus mode_toggle +for_window [app_id="(fire|libre|work)fox" title="^About Mozilla Firefox$"] floating enable +for_window [app_id="(fire|libre|work)fox" title="^Close tabs?"] floating enable +# for_window [app_id="firefox" title="^Developer Tools"] floating enable +for_window [app_id="(fire|libre|work)fox" title="^Extension: (Yomichan)"] floating enable +for_window [app_id="(fire|libre|work)fox" title="^File Upload$"] floating enable +for_window [app_id="(fire|libre|work)fox" title="^Open Firefox in Troubleshoot Mode?$"] floating enable +for_window [app_id="(fire|libre|work)fox" title="^Save As$"] floating enable +for_window [app_id="(fire|libre|work)fox"] mark browser +for_window [app_id="imv"] floating enable; inhibit_idle open +for_window [app_id="launcher"] floating enable +for_window [app_id="mpv"] floating enable; inhibit_idle fullscreen +for_window [app_id="mpv"] max_render_time off +# for_window [app_id="mpv" title=".* - mvi$"] border pixel $bpix; +for_window [app_id="obs" title="^Local File$"] floating enable; exec centercon -w .6 +for_window [app_id="org.polymc.PolyMC" title="$Console"] floating enable +for_window [app_id="slack"] mark mail +for_window [app_id="zoom" title="Settings"] floating enable +for_window [app_id="zoom" title="^as_toolbar$"] floating enable +for_window [app_id="zoom" title="^zoom$"] floating enable +for_window [class="Chromium-browser"] mark browser +#for_window [class="discord"] mark mail +#for_window [class="parsecd"] inhibit_idle fullscreen +#for_window [class="pinentry"] floating enable; border normal +for_window [con_mark="browser"] inhibit_idle fullscreen +# fix primary clipboard paste not working +for_window [con_mark="browser"] bindsym Shift-Insert exec 'wl-paste -p -n | wtype -' +for_window [title="tridactyledit"] floating enable + +set $outputSide eDP-1 +for_window [con_mark="work"] move workspace $wsWork +for_window [con_mark="mail"] move workspace $wsMail, move workspace to output $outputSide, layout tabbed +#for_window [class="Spotify"] move workspace $wsMusic, move workspace to output $outputSide +#for_window [class="osu!"] move workspace $wsGame, layout tabbed, exec osu-mode on +for_window [app_id="org.keepassxc.KeePassXC"] move scratchpad; scratchpad show +#for_window [class="Gvncviewer"] move workspace __vnc; fullscreen +for_window [app_id="retroarch"] fullscreen +#for_window [class="^Minecraft"] fullscreen; sway output - scale 1 + +for_window [app_id="gramps"] floating disable +for_window [app_id="xdg-desktop-portal-gtk"] floating enable diff --git a/.config/sway/config.d/binds.conf b/.config/sway/config.d/binds.conf new file mode 100644 index 0000000..1e7c066 --- /dev/null +++ b/.config/sway/config.d/binds.conf @@ -0,0 +1,304 @@ +# vim: ft=i3config + +# Basics {{{ +bindsym --no-repeat { + $mod+Return exec $term + $mod+Shift+Return exec $floating_term + $mod+b exec pkill -USR1 waybar + + # bindsym $mod+w exec $firefox + # $mod+w exec firefox --private-window + + # start launcher + $mod+d exec menu -run +} + +# kill focused window +bindsym $mod+Shift+q kill + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# reload the configuration file +bindsym $mod+Shift+c reload + +# exit sway (logs you out of your wayland session) +bindsym $mod+Shift+e exec swaynag \ + -t warning \ + -m 'exit: what now?' \ + -b 'exit' 'swaymsg exec -- doas s6-rc -d change desktop' \ + -b 'restart' 'swaymsg exec -- doas s6-rc -d change desktop && sleep 0.5 && doas s6-rc -u change desktop' \ + -b 'poweroff' 'swaymsg exec -- doas poweroff' \ + -b 'reboot' 'swaymsg exec -- doas reboot' + +bindsym $mod+Shift+backspace exec lock + +bindsym $mod+Shift+b border toggle + +# rotate the screen 90 degress to read books/manga +bindsym $mod+Shift+r mode "read"; output - transform 90 clockwise +mode "read" { + bindsym Escape mode "default"; output - transform 90 anticlockwise + bindsym Return mode "default"; output - transform 90 anticlockwise +} + +# }}} + +bindsym --no-repeat Print exec grimshot copy output +bindsym $mod+Shift+s mode "screengrab" +# {{{ +mode "screengrab" { + bindsym a exec grimshot save screen; mode "default" + bindsym o exec grimshot save output; mode "default" + bindsym s exec grimshot save area; mode "default" + bindsym w exec grimshot save win; mode "default" + bindsym c exec grimshot copy area; mode "default" + bindsym p exec colorpick; mode "default" + + bindsym r exec grimshot rec win; mode "default" + bindsym q exec pkill -INT wf-recorder; mode "default" + + bindsym m exec grimocr -m mangaocr; mode "default" + bindsym Shift+m exec grimocr -m tesseract; mode "default" + + bindsym Escape mode "default" + bindsym Return mode "default" +} +# }}} + +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# or use $mod+[up|down|left|right] + +# _move_ the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +bindsym $mod+Next focus child +bindsym $mod+Prior focus parent + +bindsym $mod+Delete [urgent="latest"] focus + +# for_window [app_id="^firefox" title="^MAIN/main"] mark browser_main +# for_window [app_id="^firefox" title="^WORK/main"] mark browser_work +# bindsym $mod+Semicolon [con_mark="browser_main"] focus +# bindsym $mod+Apostrophe [con_mark="browser_work"] focus +bindsym $mod+Semicolon [app_id="^firefox" title="^MAIN/main"] focus +bindsym $mod+Apostrophe [app_id="^firefox" title="^WORK/main"] focus + +# Workspaces {{{ +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. +bindsym $mod+Shift+n workspace next +bindsym $mod+Shift+p workspace prev + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +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+0 workspace $ws0 + +bindsym $mod+Ctrl+m workspace $wsMusic +bindsym $mod+Ctrl+v workspace $wsVideo +bindsym $mod+Ctrl+g workspace $wsGame +bindsym $mod+Tab workspace back_and_forth + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +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+0 move container to workspace $ws0 + +# move focused workspce to output +bindsym $mod+Ctrl+$left move workspace to output left +bindsym $mod+Ctrl+$down move workspace to output down +bindsym $mod+Ctrl+$up move workspace to output up +bindsym $mod+Ctrl+$right move workspace to output right + +bindsym $mod+g mode "go" +mode "go" { + bindsym 1 workspace $ws1; mode "default" + bindsym 2 workspace $ws2; mode "default" + bindsym 3 workspace $ws3; mode "default" + bindsym 4 workspace $ws4; mode "default" + bindsym 5 workspace $ws5; mode "default" + bindsym 6 workspace $ws6; mode "default" + bindsym 7 workspace $ws7; mode "default" + bindsym 8 workspace $ws8; mode "default" + bindsym 9 workspace $ws9; mode "default" + bindsym 0 workspace $ws0; mode "default" + + bindsym m workspace $wsMusic; mode "default" + bindsym g workspace $wsGame; mode "default" + bindsym v workspace $wsVideo; mode "default" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# }}} + +bindsym $mod+Minus splitv +bindsym $mod+Equal splith +bindsym $mod+Shift+y layout toggle split + +bindsym $mod+f fullscreen +bindsym $mod+Shift+f fullscreen global +bindsym $mod+Shift+t bar mode toggle topbar; default_border pixel + +bindsym $mod+space focus mode_toggle +bindsym $mod+Ctrl+space floating toggle + +bindsym $mod+y mode "layout" +# {{{ +mode "layout" { + # Switch the current container between different layout styles + bindsym s layout stacking; mode "default" + bindsym w layout tabbed; mode "default" + bindsym e layout splitv; mode "default" + + # move focus to the parent container + bindsym p focus parent + bindsym Shift+p focus child + + # make a sticky container + bindsym t sticky toggle; mode "default"; exec notify-send sway "container pinned" + bindsym Shift+t \ + floating enable; \ + sticky enable; \ + exec sh -c 'centercon -w 0.3 tr && swaymsg move left 10px && swaymsg move down 10px && swaymsg focus mode_toggle'; \ + mode "default" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +# }}} + +bindsym $mod+Ctrl+backspace move scratchpad +bindsym $mod+backspace scratchpad show + +bindsym $mod+r mode "resize" +# {{{ +mode "resize" { + set $rate 25 + bindsym $left resize shrink width $rate + bindsym $down resize shrink height $rate + bindsym $up resize grow height $rate + bindsym $right resize grow width $rate + + bindsym Shift+$down resize shrink width $rate; resize shrink height $rate + bindsym Shift+$up resize grow width $rate; resize grow height $rate + + # make a centered container + bindsym c exec centercon -w 0.6; mode "default" + bindsym Shift+c exec centercon -w 1.0; mode "default" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +# }}} + +bindsym $mod+Shift+g mode "gaps" +# {{{ +mode "gaps" { + set $gapDefault 4 + bindsym g gaps inner all toggle $gapDefault + bindsym t gaps inner all toggle $gapDefault + bindsym r gaps outer all set 0; gaps inner all set 0 + + set $gapRate 2 + bindsym $up gaps inner all plus $gapRate + bindsym $down gaps inner all minus $gapRate + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +# }}} + +bindsym $mod+m mode "menu" +# {{{ +mode "menu" { + bindsym a exec soundswitch; mode "default" + bindsym m exec mnts; mode "default" + bindsym n exec notifmenu; mode "default" + bindsym p exec secretmenu; mode "default" + bindsym r exec rcmenu; mode "default" + bindsym c exec connmenu; mode "default" + # bindsym x exec menu -drun; mode "default" + bindsym d exec swdo; mode "default" + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym q mode "default" +} +# }}} + +# Misc {{{ +bindsym $mod+Shift+i exec anthywl-toggle +# bindsym $mod+Shift+x mark --toggle "x" +# bindsym $mod+x [con_mark="x"] focus +# bindsym $mod+Ctrl+x swap container with mark "x" + +# https://whynothugo.nl/journal/2022/11/04/copying-with-super-c/ +bindsym $mod+x exec wtype -P XF86Cut +bindsym $mod+c exec wtype -P XF86Copy +bindsym $mod+v exec wtype -P XF86Paste + +# Media volume controls +bindsym XF86AudioMute exec soundswitch -m +#bindsym XF86AudioMicMute exec soundswitch -M +bindsym XF86AudioLowerVolume exec soundswitch -v +bindsym XF86AudioRaiseVolume exec soundswitch -V + +# Sreen brightness controls +bindsym XF86MonBrightnessDown exec light -U 10 +bindsym XF86MonBrightnessUp exec light -A 10 + +# Media player controls +bindsym XF86AudioPrev exec playerctl -p playerctld previous +bindsym XF86AudioPlay exec playerctl -p playerctld play-pause +bindsym XF86AudioNext exec playerctl -p playerctld next + +# fn + f10 +bindsym XF86RFKill exec notify-send "hello from rfkill" +# fn + f12 +bindsym XF86AudioMedia exec notify-send "hello from audio media" + +#bindsym XF86WakeUp exec true +#bindsym XF86Display output eDP-1 power off; output eDP-1 power on; exec kanshictl reload +#bindsym XF86Tools output eDP-1 power toggle +#bindsym XF86Keyboard exec true +#bindsym XF86Favorites exec s6-svc -r $HOME/.local/share/s6/wlsunset + +bindsym $mod+F1 exec notify-send "hello from F1" +bindsym $mod+F2 exec notify-send "hello from F2" +bindsym $mod+F3 exec notify-send "hello from F3" +# }}} + +# go to sleep when lid is closed +bindswitch --reload lid:on exec r2mem diff --git a/.config/sway/config.d/colors.conf b/.config/sway/config.d/colors.conf new file mode 100644 index 0000000..498a50c --- /dev/null +++ b/.config/sway/config.d/colors.conf @@ -0,0 +1,18 @@ + +set $text #fffffb +set $text2 #bdc0ba +set $bg #1c1c1c +set $bg2 #bdc0ba +set $main #8a6bbe +set $main2 #70649a +set $urgent #cb1b45 +set $urgent2 #db4d6d +set $indicator_focused #fad689 +set $indicator_unfocused $bg + +client.focused $main $main $text $indicator_focused $main +#client.focused_inactive $bg $bg $text2 $indicator_unfocused $bg +client.focused_inactive $main2 $main2 $text2 $indicator_unfocused $main2 +client.unfocused $bg $bg $text2 $indicator_unfocused $bg +#client.unfocused $main2 $main2 $text2 $indicator_unfocused $main2 +client.urgent $urgent2 $urgent $text $indicator_focused $urgent diff --git a/.config/sway/config.d/gsettings.conf b/.config/sway/config.d/gsettings.conf new file mode 100644 index 0000000..08d184a --- /dev/null +++ b/.config/sway/config.d/gsettings.conf @@ -0,0 +1,14 @@ +exec_always { + gsettings set org.gnome.desktop.interface gtk-theme Adwaita + gsettings set org.gnome.desktop.interface icon-theme Adwaita + gsettings set org.gnome.desktop.interface cursor-theme WinSur + # gsettings set org.gnome.desktop.interface font-name "Noto Sans" + gsettings set org.gnome.desktop.interface font-name "Iosevka Aile" + gsettings set org.gnome.desktop.interface enable-animations false + gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark + gsettings set org.gnome.desktop.interface color-scheme prefer-dark + gsettings set org.gnome.desktop.privacy remember-recent-files false + gsettings set org.gnome.desktop.privacy recent-files-max-age 0 + gsettings set org.gtk.Settings.FileChooser show-hidden false + gsettings set org.gtk.Settings.FileChooser startup-mode cwd +} diff --git a/.config/sway/config.d/input.conf b/.config/sway/config.d/input.conf new file mode 100644 index 0000000..67ee374 --- /dev/null +++ b/.config/sway/config.d/input.conf @@ -0,0 +1,71 @@ +# vim: ft=i3config fdm=marker fen + +seat * hide_cursor when-typing enable + +input type:keyboard { + # set via $HOME/.config/sway/env + # xkb_layout us + # xkb_variant mac + # xkb_options 'caps:hyper,lvl3:ralt_switch_multikey,eurosign:5' + # xkb_options 'caps:hyper,eurosign:5' + + repeat_rate 70 + repeat_delay 200 +} + +input type:pointer { + accel_profile adaptive + pointer_accel 0 + natural_scroll enabled +} + +input type:touchpad { + accel_profile adaptive + tap enabled + natural_scroll enabled + dwt enabled + #events disabled +} + +set { + $keyboard 1:1:AT_Translated_Set_2_keyboard + $trackpad 1739:0:Synaptics_TM3289-021 + $trackpoint 2:10:TPPS/2_Elan_TrackPoint + + $planck 12951:50895:ZSA_Technology_Labs_Planck_EZ_Glow + $slimblade 1149:8257:Kensington_Kensington_Slimblade_Trackball + $mouse 1133:16500:Logitech_G305 + $pen 10429:148:XP-PEN_STAR_G640_Pen + $penmouse 10429:148:XP-PEN_STAR_G640_Mouse + $virtpen 0:0:OpenTabletDriver_Virtual_Tablet +} + +input $trackpoint { + pointer_accel 1 +} + +# $slimblade: +# button layout: +# --------- +# | 2 | 8 | +# --------- +# | 1 | 3 | +# --------- +input $slimblade { + natural_scroll disabled + pointer_accel 1 +} +bindsym --input-device=$slimblade --whole-window button8 seat - cursor press button3, seat - cursor release button3 +bindsym --input-device=$slimblade --whole-window button3 seat - cursor press button8, seat - cursor release button8 + +# seat pen attach $pen +# seat pen hide_cursor 10000 +# seat pen idle_inhibit tablet_tool +# seat pen idle_wake tablet_tool + +# input $pen { +# accel_profile flat +# } +# input $penmouse { +# events disabled +# } diff --git a/.config/sway/input.conf b/.config/sway/input.conf deleted file mode 100644 index 4246663..0000000 --- a/.config/sway/input.conf +++ /dev/null @@ -1,71 +0,0 @@ -# vim: ft=i3config fdm=marker fen - -seat * hide_cursor when-typing enable - -input type:keyboard { - # set via $HOME/.config/sway/env - # xkb_layout us - # xkb_variant mac - # xkb_options 'caps:hyper,lvl3:ralt_switch_multikey,eurosign:5' - # xkb_options 'caps:hyper,eurosign:5' - - repeat_rate 70 - repeat_delay 200 -} - -input type:pointer { - accel_profile adaptive - pointer_accel 0 - natural_scroll enabled -} - -input type:touchpad { - accel_profile adaptive - tap enabled - natural_scroll enabled - - #events disabled -} - -set { - $keyboard 1:1:AT_Translated_Set_2_keyboard - $trackpad 1739:0:Synaptics_TM3289-021 - $trackpoint 2:10:TPPS/2_Elan_TrackPoint - - $planck 12951:50895:ZSA_Technology_Labs_Planck_EZ_Glow - $slimblade 1149:8257:Kensington_Kensington_Slimblade_Trackball - $mouse 1133:16500:Logitech_G305 - $pen 10429:148:XP-PEN_STAR_G640_Pen - $penmouse 10429:148:XP-PEN_STAR_G640_Mouse - $virtpen 0:0:OpenTabletDriver_Virtual_Tablet -} - -input $trackpoint { - pointer_accel 1 -} - -# $slimblade: -# button layout: -# --------- -# | 2 | 8 | -# --------- -# | 1 | 3 | -# --------- -input $slimblade { - natural_scroll disabled - pointer_accel 1 -} -bindsym --input-device=$slimblade --whole-window button8 seat - cursor press button3, seat - cursor release button3 -bindsym --input-device=$slimblade --whole-window button3 seat - cursor press button8, seat - cursor release button8 - -# seat pen attach $pen -# seat pen hide_cursor 10000 -# seat pen idle_inhibit tablet_tool -# seat pen idle_wake tablet_tool - -# input $pen { -# accel_profile flat -# } -# input $penmouse { -# events disabled -# } -- cgit 1.4.1