From 665eaea830886d8b9aa655e526714e125ce1efce Mon Sep 17 00:00:00 2001 From: jakobst1n Date: Fri, 9 Feb 2024 20:25:51 +0100 Subject: sway conf --- .gitignore | 1 + Makefile | 6 +- linux/sway/config | 248 -------------------------------------------------- linux/sway/config.m4 | 249 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 252 insertions(+), 252 deletions(-) delete mode 100644 linux/sway/config create mode 100644 linux/sway/config.m4 diff --git a/.gitignore b/.gitignore index fc05cd5..109e924 100644 --- a/.gitignore +++ b/.gitignore @@ -80,5 +80,6 @@ system.m4 Common/zshrc linux/tmux.conf linux/qtile/config/config.conf +linux/sway/config linux/sway/autostart linux/sway/hid diff --git a/Makefile b/Makefile index 272d55a..1a5cd13 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,7 @@ endef TARGETS := linux/tmux.conf \ Common/zshrc \ linux/qtile/config/config.py \ + linux/sway/config \ linux/sway/autostart \ linux/sway/hid @@ -30,10 +31,7 @@ linux/qtile/config/config.py: linux/qtile/config/config.py.m4 \ ${M4_COMMON_DEPS} $(call M4_EXEC) -linux/sway/autostart: linux/sway/autostart.m4 \ +linux/sway/%: linux/sway/%.m4 \ ${M4_COMMON_DEPS} $(call M4_EXEC) -linux/sway/hid: linux/sway/hid.m4 \ - ${M4_COMMON_DEPS} - $(call M4_EXEC) diff --git a/linux/sway/config b/linux/sway/config deleted file mode 100644 index fb4afe5..0000000 --- a/linux/sway/config +++ /dev/null @@ -1,248 +0,0 @@ -include autostart -include hid - -# border & title -for_window [title="^.*"] title_format " %class >> %title " -for_window [floating] border 1, border normal -default_border pixel 2 -default_floating_border normal -smart_borders on - -client.focused #4c7899 #539ce0 #ffffff #5fe327 #539ce0 -client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a -client.unfocused #333333 #222222 #888888 #292d2e #222222 - -# gaps -gaps outer 0 -gaps inner 0 -smart_gaps off - -# font -font pango:monospace 11 - -# mod key used for most binds -# Mod1 = Alt -# Mod4 = Super -set $Mod Mod4 - -# direction keys -set $up k -set $down j -set $left h -set $right l - -### Turn off screen on lid closed -set $laptop eDP-1 -bindswitch lid:on output $laptop disable -bindswitch lid:off output $laptop enable - -############# Bindings ################## - -# kill focused window -bindsym $Mod+Shift+q kill -bindsym Mod1+F4 kill - -# core applications -bindsym $Mod+Return exec alacritty -bindsym $Mod+w exec firefox -bindsym $Mod+f exec thunar -bindsym $Mod+c exec swaync-client -t -bindsym Mod1+l exec physlock -bindsym $Mod+d exec wofi --show=drun - -# Exit menu -bindsym $Mod+p exec wlogout - -# Exit sway (default way to log you out of your Wayland session) -bindsym $Mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' - -# screenshot -bindsym Print exec screenshot fullscreen -bindsym Control+Print exec screenshot display -bindsym Shift+Control+Print exec grim -g "$(slurp)" - | swappy -f - -bindsym $Mod+Shift+Control+Print exec screenshot focused - -# audio -bindsym XF86AudioRaiseVolume exec amixer sset Master 5%+ | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOBSOCK -bindsym XF86AudioLowerVolume exec amixer sset Master 5%- | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOBSOCK -bindsym XF86AudioMute exec amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > $WOBSOCK -bindsym XF86AudioMicMute exec amixer set Capture toggle - -# backlight -bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK -bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK - -# Open wdisplays -bindsym XF86Display exec --no-startup-id "wdisplays" - -# Reload the configuration file -bindsym $Mod+Shift+c reload - -# Shortcut to tt gui -bindsym $Mod+Shift+Return exec /home/jakob/.local/bin/tt-g - -# Keyboard layout -bindsym $Mod+Shift+Space input "1:1:AT_Translated_Set_2_keyboard" xkb_switch_layout next - - -########### Workspace Bindings ############### - -# switch to workspace -bindsym $Mod+1 workspace number 1 -bindsym $Mod+2 workspace number 2 -bindsym $Mod+3 workspace number 3 -bindsym $Mod+4 workspace number 4 -bindsym $Mod+5 workspace number 5 -bindsym $Mod+6 workspace number 6 -bindsym $Mod+7 workspace number 7 -bindsym $Mod+8 workspace number 8 -bindsym $Mod+9 workspace number 9 - -# switch to workspace - numpad alternatives -bindsym $Mod+Mod2+KP_1 workspace number 1 -bindsym $Mod+Mod2+KP_2 workspace number 2 -bindsym $Mod+Mod2+KP_3 workspace number 3 -bindsym $Mod+Mod2+KP_4 workspace number 4 -bindsym $Mod+Mod2+KP_5 workspace number 5 -bindsym $Mod+Mod2+KP_6 workspace number 6 -bindsym $Mod+Mod2+KP_7 workspace number 7 -bindsym $Mod+Mod2+KP_8 workspace number 8 -bindsym $Mod+Mod2+KP_9 workspace number 9 - -# switch to next or previous workspace -bindsym $Mod+Mod1+Left workspace prev -bindsym $Mod+Mod1+Right workspace next - -# move focused container to workspace -bindsym $Mod+Shift+1 move container to workspace number 1; workspace number 1 -bindsym $Mod+Shift+2 move container to workspace number 2; workspace number 2 -bindsym $Mod+Shift+3 move container to workspace number 3; workspace number 3 -bindsym $Mod+Shift+4 move container to workspace number 4; workspace number 4 -bindsym $Mod+Shift+5 move container to workspace number 5; workspace number 5 -bindsym $Mod+Shift+6 move container to workspace number 6; workspace number 6 -bindsym $Mod+Shift+7 move container to workspace number 7; workspace number 7 -bindsym $Mod+Shift+8 move container to workspace number 8; workspace number 8 -bindsym $Mod+Shift+9 move container to workspace number 9; workspace number 9 - -# move focused container to workspace - numpad alternatives -bindsym $Mod+Shift+Mod2+KP_End move container to workspace number 1; workspace number 1 -bindsym $Mod+Shift+Mod2+KP_Down move container to workspace number 2; workspace number 2 -bindsym $Mod+Shift+Mod2+KP_Next move container to workspace number 3; workspace number 3 -bindsym $Mod+Shift+Mod2+KP_Left move container to workspace number 4; workspace number 4 -bindsym $Mod+Shift+Mod2+KP_Begin move container to workspace number 5; workspace number 5 -bindsym $Mod+Shift+Mod2+KP_Right move container to workspace number 6; workspace number 7 -bindsym $Mod+Shift+Mod2+KP_Home move container to workspace number 7; workspace number 7 -bindsym $Mod+Shift+Mod2+KP_Up move container to workspace number 8; workspace number 8 - -############ Container/Window control ############ - -# Scratchpad, Floating -bindsym $Mod+space floating toggle -floating_modifier $Mod normal - -bindsym $Mod+Shift+t sticky toggle - -# Sway has a "scratchpad", which is a bag of holding for windows. -# You can send windows there and get them back later. - -# Move the currently focused window to the scratchpad -bindsym $Mod+Shift+z move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $Mod+z scratchpad show - -# change focus -# bindsym $Mod+$left focus left -# bindsym $Mod+$down focus down -# bindsym $Mod+$up focus up -# bindsym $Mod+$right focus right - -# alternatively, you can use the cursor keys: -bindsym $Mod+Left focus left -bindsym $Mod+Down focus down -bindsym $Mod+Up focus up -bindsym $Mod+Right focus right - -# move focused window -# bindsym $Mod+Shift+$left move left -# bindsym $Mod+Shift+$down move down -# bindsym $Mod+Shift+$up move up -# bindsym $Mod+Shift+$right move right - -# alternatively, you can use the cursor keys: -bindsym $Mod+Shift+Up move up -bindsym $Mod+Shift+Down move down -bindsym $Mod+Shift+Left move left -bindsym $Mod+Shift+Right move right - -# Resizing containers -mode "resize" { - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $Mod+r mode "resize" - -# Size -# bindsym Mod1+Up resize shrink height 10 px or 1 ppt -# bindsym Mod1+Down resize grow height 10 px or 1 ppt -# bindsym Mod1+Left resize shrink width 10 px or 1 ppt -# bindsym Mod1+Right resize grow width 10 px or 1 ppt - -# layout toggle -bindsym Mod1+Tab layout toggle splith splitv -bindsym $Mod+Tab layout toggle all - -# switch to workspace with urgent window -for_window [urgent="latest"] focus -focus_on_window_activation focus - -# container layout -bindsym $Mod+h split h -bindsym $Mod+v split v -#bindsym $Mod+Shift+t layout tabbed -#bindsym $Mod+Shift+s layout stacking -#bindsym $Mod+Shift+h layout toggle split - - -default_orientation horizontal - -# make the current focus fullscreen -bindsym $Mod+Shift+f fullscreen - -############### Border & Gaps ############### - -# changing border style -bindsym $Mod+b border toggle - -############ bar settings ############ -bar { - swaybar_command "waybar" -} - -############ application settings ############ - -# focus, floating, & sticky -for_window [app_id="(?i)(?:blueman-manager|azote|gnome-disks|Thunar|wdisplays)"] floating enable -for_window [app_id="(?i)(?:pavucontrol|nm-connection-editor|gsimplecal|galculator|gnome-calculator|calculator)"] floating enable -for_window [title="(?i)(?:copying|deleting|moving)"] floating enable -for_window [title="(?i)(?:Cssh|cssh)"] floating enable -for_window [app_id="(?i)(?:Cssh|cssh)"] floating enable -for_window [title="CSSH"] floating enable - -# Make it easier to spot X11 windows -for_window [shell="xwayland"] title_format "[XWayland] %title" - -popup_during_fullscreen smart diff --git a/linux/sway/config.m4 b/linux/sway/config.m4 new file mode 100644 index 0000000..60f9d06 --- /dev/null +++ b/linux/sway/config.m4 @@ -0,0 +1,249 @@ +m4_include(`system.m4')m4_dnl +include autostart +include hid + +# border & title +for_window [title="^.*"] title_format " %class >> %title " +for_window [floating] border 1, border normal +default_border pixel 2 +default_floating_border normal +smart_borders on + +client.focused #4c7899 #539ce0 #ffffff #5fe327 #539ce0 +client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 + +# gaps +gaps outer 0 +gaps inner 0 +smart_gaps off + +# font +font pango:monospace 11 + +# mod key used for most binds +# Mod1 = Alt +# Mod4 = Super +set $Mod Mod4 + +# direction keys +set $up k +set $down j +set $left h +set $right l + +### Turn off screen on lid closed +set $laptop eDP-1 +bindswitch lid:on output $laptop disable +bindswitch lid:off output $laptop enable + +############# Bindings ################## + +# kill focused window +bindsym $Mod+Shift+q kill +bindsym Mod1+F4 kill + +# core applications +bindsym $Mod+Return exec alacritty +bindsym $Mod+w exec firefox +bindsym $Mod+f exec thunar +bindsym $Mod+c exec swaync-client -t +bindsym Mod1+l exec m4_ifelse(SYSID, `2', `nwg-lock', physlock) +bindsym $Mod+d exec wofi --show=drun + +# Exit menu +bindsym $Mod+p exec wlogout + +# Exit sway (default way to log you out of your Wayland session) +bindsym $Mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' + +# screenshot +bindsym Print exec screenshot fullscreen +bindsym Control+Print exec screenshot display +bindsym Shift+Control+Print exec grim -g "$(slurp)" - | swappy -f - +bindsym $Mod+Shift+Control+Print exec screenshot focused + +# audio +bindsym XF86AudioRaiseVolume exec amixer sset Master 5%+ | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOBSOCK +bindsym XF86AudioLowerVolume exec amixer sset Master 5%- | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOBSOCK +bindsym XF86AudioMute exec amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > $WOBSOCK +bindsym XF86AudioMicMute exec amixer set Capture toggle + +# backlight +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK +bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK + +# Open wdisplays +bindsym XF86Display exec --no-startup-id "wdisplays" + +# Reload the configuration file +bindsym $Mod+Shift+c reload + +# Shortcut to tt gui +bindsym $Mod+Shift+Return exec /home/jakob/.local/bin/tt-g + +# Keyboard layout +#bindsym $Mod+Shift+Space input "1:1:AT_Translated_Set_2_keyboard" xkb_switch_layout next + + +########### Workspace Bindings ############### + +# switch to workspace +bindsym $Mod+1 workspace number 1 +bindsym $Mod+2 workspace number 2 +bindsym $Mod+3 workspace number 3 +bindsym $Mod+4 workspace number 4 +bindsym $Mod+5 workspace number 5 +bindsym $Mod+6 workspace number 6 +bindsym $Mod+7 workspace number 7 +bindsym $Mod+8 workspace number 8 +bindsym $Mod+9 workspace number 9 + +# switch to workspace - numpad alternatives +bindsym $Mod+Mod2+KP_1 workspace number 1 +bindsym $Mod+Mod2+KP_2 workspace number 2 +bindsym $Mod+Mod2+KP_3 workspace number 3 +bindsym $Mod+Mod2+KP_4 workspace number 4 +bindsym $Mod+Mod2+KP_5 workspace number 5 +bindsym $Mod+Mod2+KP_6 workspace number 6 +bindsym $Mod+Mod2+KP_7 workspace number 7 +bindsym $Mod+Mod2+KP_8 workspace number 8 +bindsym $Mod+Mod2+KP_9 workspace number 9 + +# switch to next or previous workspace +bindsym $Mod+Mod1+Left workspace prev +bindsym $Mod+Mod1+Right workspace next + +# move focused container to workspace +bindsym $Mod+Shift+1 move container to workspace number 1; workspace number 1 +bindsym $Mod+Shift+2 move container to workspace number 2; workspace number 2 +bindsym $Mod+Shift+3 move container to workspace number 3; workspace number 3 +bindsym $Mod+Shift+4 move container to workspace number 4; workspace number 4 +bindsym $Mod+Shift+5 move container to workspace number 5; workspace number 5 +bindsym $Mod+Shift+6 move container to workspace number 6; workspace number 6 +bindsym $Mod+Shift+7 move container to workspace number 7; workspace number 7 +bindsym $Mod+Shift+8 move container to workspace number 8; workspace number 8 +bindsym $Mod+Shift+9 move container to workspace number 9; workspace number 9 + +# move focused container to workspace - numpad alternatives +bindsym $Mod+Shift+Mod2+KP_End move container to workspace number 1; workspace number 1 +bindsym $Mod+Shift+Mod2+KP_Down move container to workspace number 2; workspace number 2 +bindsym $Mod+Shift+Mod2+KP_Next move container to workspace number 3; workspace number 3 +bindsym $Mod+Shift+Mod2+KP_Left move container to workspace number 4; workspace number 4 +bindsym $Mod+Shift+Mod2+KP_Begin move container to workspace number 5; workspace number 5 +bindsym $Mod+Shift+Mod2+KP_Right move container to workspace number 6; workspace number 7 +bindsym $Mod+Shift+Mod2+KP_Home move container to workspace number 7; workspace number 7 +bindsym $Mod+Shift+Mod2+KP_Up move container to workspace number 8; workspace number 8 + +############ Container/Window control ############ + +# Scratchpad, Floating +bindsym $Mod+space floating toggle +floating_modifier $Mod normal + +bindsym $Mod+Shift+t sticky toggle + +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $Mod+Shift+z move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $Mod+z scratchpad show + +# change focus +# bindsym $Mod+$left focus left +# bindsym $Mod+$down focus down +# bindsym $Mod+$up focus up +# bindsym $Mod+$right focus right + +# alternatively, you can use the cursor keys: +bindsym $Mod+Left focus left +bindsym $Mod+Down focus down +bindsym $Mod+Up focus up +bindsym $Mod+Right focus right + +# move focused window +# bindsym $Mod+Shift+$left move left +# bindsym $Mod+Shift+$down move down +# bindsym $Mod+Shift+$up move up +# bindsym $Mod+Shift+$right move right + +# alternatively, you can use the cursor keys: +bindsym $Mod+Shift+Up move up +bindsym $Mod+Shift+Down move down +bindsym $Mod+Shift+Left move left +bindsym $Mod+Shift+Right move right + +# Resizing containers +mode "resize" { + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $Mod+r mode "resize" + +# Size +# bindsym Mod1+Up resize shrink height 10 px or 1 ppt +# bindsym Mod1+Down resize grow height 10 px or 1 ppt +# bindsym Mod1+Left resize shrink width 10 px or 1 ppt +# bindsym Mod1+Right resize grow width 10 px or 1 ppt + +# layout toggle +bindsym Mod1+Tab layout toggle splith splitv +bindsym $Mod+Tab layout toggle all + +# switch to workspace with urgent window +for_window [urgent="latest"] focus +focus_on_window_activation focus + +# container layout +bindsym $Mod+h split h +bindsym $Mod+v split v +#bindsym $Mod+Shift+t layout tabbed +#bindsym $Mod+Shift+s layout stacking +#bindsym $Mod+Shift+h layout toggle split + + +default_orientation horizontal + +# make the current focus fullscreen +bindsym $Mod+Shift+f fullscreen + +############### Border & Gaps ############### + +# changing border style +bindsym $Mod+b border toggle + +############ bar settings ############ +bar { + swaybar_command "waybar" +} + +############ application settings ############ + +# focus, floating, & sticky +for_window [app_id="(?i)(?:blueman-manager|azote|gnome-disks|Thunar|wdisplays)"] floating enable +for_window [app_id="(?i)(?:pavucontrol|nm-connection-editor|gsimplecal|galculator|gnome-calculator|calculator)"] floating enable +for_window [title="(?i)(?:copying|deleting|moving)"] floating enable +for_window [title="(?i)(?:Cssh|cssh)"] floating enable +for_window [app_id="(?i)(?:Cssh|cssh)"] floating enable +for_window [title="CSSH"] floating enable + +# Make it easier to spot X11 windows +for_window [shell="xwayland"] title_format "[XWayland] %title" + +popup_during_fullscreen smart -- cgit v1.2.3