diff options
author | ZachIR <zachir@librem.one> | 2025-07-26 21:04:36 -0500 |
---|---|---|
committer | ZachIR <zachir@librem.one> | 2025-07-26 21:04:36 -0500 |
commit | ea3d680288260ca1231a63fb68a290efec91a207 (patch) | |
tree | a316822ab099102339a9a8af7dfcbef972e574e9 /scroll | |
parent | 0ff36edf9829b6aa9e52b05f989baf90cdf2bcc3 (diff) | |
parent | 83f2189e7234cad9054795b77b07d24ca0a7c742 (diff) |
Merge branch 'master' into car
Diffstat (limited to 'scroll')
-rw-r--r-- | scroll/config | 34 | ||||
-rw-r--r-- | scroll/scripts/maximize.lua | 42 |
2 files changed, 63 insertions, 13 deletions
diff --git a/scroll/config b/scroll/config index 34eaaee..c115cd9 100644 --- a/scroll/config +++ b/scroll/config @@ -6,7 +6,7 @@ # # Read `man 5 scroll` for a complete reference. -include /etc/scroll/config.d/* +include ~/.config/scroll/config.d/* ### Variables # @@ -43,6 +43,10 @@ exec hyprpaper # # You can get the names of your outputs by running: scrollmsg -t get_outputs +#output eDP-1 resolution 1920x1080 position 0 0 +#output HDMI-A-1 resolution 1920x1080 position 1920 0 +#output DP-2 resolution 1920x1080 position 0 0 + ### Idle configuration # # Example configuration: @@ -78,9 +82,9 @@ exec hyprpaper default_border pixel 2 gaps inner 4 gaps outer 20 -client.focused #15439e #000000 #e0e0e0 #2e9ef4 #15439e -client.focused_inactive #595959 #000000 #e0e0e0 #2e9ef4 #595959 -client.unfocused #595959 #000000 #e0e0e0 #2e9ef4 #595959 +client.focused #198844 #000000 #e0e0e0 #198844 #198844 +client.focused_inactive #1b1d1c #000000 #e0e0e0 #1b1d1c #1b1d1c +client.unfocused #1b1d1c #000000 #e0e0e0 #1b1d1c #1b1d1c # Idle inhibit for fullscreen windows for_window [all] inhibit_idle fullscreen @@ -93,15 +97,15 @@ layout_heights [0.33333333 0.5 0.666666667 1.0] fullscreen_movefocus true -mouse_warping container +mouse_warping none # Animations animations { enabled yes - default yes 300 var 3 [ 0.215 0.61 0.355 1 ] - window_open yes 300 var 3 [ 0 0 1 1 ] - window_move yes 300 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] - window_size yes 300 var 3 [ -0.35 0 0 0.5 ] + default yes 100 var 3 [ 0.215 0.61 0.355 1 ] + window_open yes 100 var 3 [ 0 0 1 1 ] + window_move yes 100 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] + window_size yes 100 var 3 [ -0.35 0 0 0.5 ] } ### Key bindings @@ -184,7 +188,6 @@ animations { bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 # 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 @@ -195,12 +198,13 @@ animations { 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 - bindsym $mod+Shift+0 move container to workspace number 10; workspace number 10 # Note: workspaces can have any name you want, not just numbers. # We just use 1-10 as the default. - bindsym $mod+Ctrl+1 move workspace to output left - bindsym $mod+Ctrl+2 move workspace to output right + 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 # Scaling # Workspace @@ -240,6 +244,9 @@ animations { bindsym $mod+Shift+f fullscreen_application toggle bindsym $mod+Ctrl+Alt+f fullscreen_application reset + # Maximize, not fullscreen + bindsym $mod+m lua $scripts/maximize.lua toggle + # Toggle the current focus between tiling and floating mode bindsym $mod+y focus mode_toggle # Toggle layout type (h<->v) @@ -568,3 +575,4 @@ bar { #} } # +include /etc/scroll/config.d/* diff --git a/scroll/scripts/maximize.lua b/scroll/scripts/maximize.lua new file mode 100644 index 0000000..f0df156 --- /dev/null +++ b/scroll/scripts/maximize.lua @@ -0,0 +1,42 @@ +local args, state = ... + +-- Set up views table +local views = scroll.state_get_value(state, "views") +if views == nil then + scroll.state_set_value(state, "views", {}) + views = scroll.state_get_value(state, "views") +end + +local function find_view(view) + for _, v in ipairs(views) do + if v["object"] == view then + return v + end + end + return nil +end + +if args[1] == 'toggle' then + local focused_view = scroll.focused_view() + local view = find_view(focused_view) + if view == nil then + view = { + object = focused_view, + maximized = false, + wf = 0, + hf = 0 + } + table.insert(views, view) + end + view["maximized"] = not view["maximized"] + if view["maximized"] then + local container = scroll.view_get_container(focused_view) + view["wf"] = scroll.container_get_width_fraction(container) + view["hf"] = scroll.container_get_height_fraction(container) + scroll.command(nil, "set_size h 1.0") + scroll.command(nil, "set_size v 1.0") + else + scroll.command(nil, "set_size h " .. view["wf"]) + scroll.command(nil, "set_size v " .. view["hf"]) + end +end |