From a0abeab1c719c59f0c97adc3353e832826701938 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 12:22:27 -0500 Subject: Use swaysome for more awesome scroll workspaces --- scroll/config | 59 ++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 27 deletions(-) (limited to 'scroll/config') diff --git a/scroll/config b/scroll/config index e689a61..8117844 100644 --- a/scroll/config +++ b/scroll/config @@ -6,7 +6,10 @@ # # Read `man 5 scroll` for a complete reference. -include ~/.config/scroll/config.d/* +include /etc/scroll/config.d/* + +# This includes config.d/user.conf, which should set the $home variable +include ~/.config/scroll/config.d/user.conf ### Variables # @@ -179,36 +182,38 @@ animations { bindsym $mod+Shift+j focus output down bindsym $mod+Shift+k focus output up bindsym $mod+Shift+l focus output right -# -# Workspaces: -# - # 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 - # 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 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. + # Move window to other monitors bindsym $mod+Shift+Ctrl+h move container to output left bindsym $mod+Shift+Ctrl+j move container to output down bindsym $mod+Shift+Ctrl+k move container to output up bindsym $mod+Shift+Ctrl+l move container to output right +## +## Workspaces: +## NOW USING SWAYSOME +## +# # 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 +# # 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 +# # Note: workspaces can have any name you want, not just numbers. +# # We just use 1-10 as the default. # Scaling # Workspace @@ -579,4 +584,4 @@ bar { #} } # -include /etc/scroll/config.d/* +include ~/.config/scroll/config.d/* -- cgit v1.2.3 From 0de3a40a14d40a74947ca84396bf0a5b76152377 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 28 Jul 2025 12:22:55 -0500 Subject: Add restart script keybind to scroll --- scroll/config | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scroll/config') diff --git a/scroll/config b/scroll/config index 8117844..15c9f1d 100644 --- a/scroll/config +++ b/scroll/config @@ -126,6 +126,9 @@ animations { # Start your launcher bindsym $mod+e exec $rmenu bindsym $mod+d exec $dmenu + + # Start restart menu + bindsym $mod+r exec rs # Launch your file manager bindsym $mod+Alt+f exec $filemanager -- cgit v1.2.3 From 6e529ca13fd6c9f273cccce6d788c9940b473c6d Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 02:42:52 -0500 Subject: Add maximize when only lua script for scroll --- scroll/config | 7 ++++++- scroll/scripts/maximize_when_only.lua | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 scroll/scripts/maximize_when_only.lua (limited to 'scroll/config') diff --git a/scroll/config b/scroll/config index 15c9f1d..889da2e 100644 --- a/scroll/config +++ b/scroll/config @@ -100,6 +100,8 @@ layout_heights [0.33333333 0.5 0.666666667 1.0] fullscreen_movefocus true +focus_follows_mouse yes + mouse_warping none # Animations @@ -511,7 +513,7 @@ bindsym $mod+Alt+comma exec dmount # Launch dmenuumount dmenu umount script bindsym $mod+Alt+period exec dmenuumount -focus_wrapping no +focus_wrapping yes bindgesture swipe:4:right workspace next bindgesture swipe:4:left workspace prev @@ -521,6 +523,9 @@ bindgesture swipe:4:up scale_workspace overview # Enable window swallowing (of mpv specifically) lua $scripts/swallow.lua +# Enable maximize when only +lua $scripts/maximize_when_only.lua + # Scratchpads for_window [app_id="sphtop"] move scratchpad for_window [app_id="sphtop"] scratchpad show diff --git a/scroll/scripts/maximize_when_only.lua b/scroll/scripts/maximize_when_only.lua new file mode 100644 index 0000000..a047180 --- /dev/null +++ b/scroll/scripts/maximize_when_only.lua @@ -0,0 +1,38 @@ +local args, state = ... + +local maximized_containers = scroll.state_get_value(state, "maximized_containers") or {} + +local debug_notify = function(msg) + scroll.command(nil, "exec notify-send " .. msg) +end + +local maximize_container = function(container, workspace) + local wf = scroll.container_get_width_fraction(container) + local hf = scroll.container_get_height_fraction(container) + maximized_containers[workspace] = { container = container, wf = wf, hf = hf, workspace = workspace } + scroll.state_set_value(state, "maximized_containers", maximized_containers) + scroll.command(container, "set_size h 1.0") + scroll.command(container, "set_size v 1.0") +end + +local maximize_when_only = function() + local focused_workspace = scroll.focused_workspace() + local containers = scroll.workspace_get_tiling(focused_workspace) + local focused_container = scroll.focused_container() + local maximized_container = maximized_containers[focused_workspace] + if #containers == 1 then + if not maximized_container or (maximized_container and maximized_container.container ~= focused_container) then + -- debug_notify("Maximizing") + maximize_container(focused_container, focused_workspace) + end + elseif #containers > 1 and maximized_container then + -- debug_notify("Shrinking") + scroll.command(maximized_container.container, "set_size h " .. maximized_container.wf) + scroll.command(maximized_container.container, "set_size v " .. maximized_container.hf) + maximized_containers[focused_workspace] = nil + scroll.state_set_value(state, "maximized_containers", maximized_containers) + end + scroll.command(focused_container, "nop") +end + +scroll.add_callback("view_focus", maximize_when_only, nil) -- cgit v1.2.3