Skip to content

Conversation

@vaxerski
Copy link
Member

@vaxerski vaxerski commented Oct 4, 2025

Fixes #480

Needs some testing.

TODOs:

  • Trackpad gesture

Will automatically use the new scroll overview if you have a scrolling layout set

cc @taylorstools @clotodex can you guys test this?

@aphelei
Copy link

aphelei commented Oct 4, 2025

1° scrolling zooms in and out instead of cycling workspaces. It's a cool feature I think but now you can't scroll up and down to see other workspaces. Maybe leave as is and go up/down when changing workspace ?

bindd = $mainMod CTRL, right, Go to workspace +1, workspace, m+1
bindd = $mainMod CTRL, left, Go to workspace -1, workspace, m-1

I don't really use scrolling layout nor niri so idk what ppl expects

2° floating windows are not displayed

2025-10-04_17-10-1759590566.mp4

3° hyprexpo in master is not working anymore?

2025-10-04_17-10-1759591099.mp4

it looks very cool ngl.

@vaxerski
Copy link
Member Author

vaxerski commented Oct 4, 2025

fixed 2 and 3, idk about 1 I'd need input. I dont mind.

@Kwepoi
Copy link

Kwepoi commented Oct 5, 2025

idk might be nvidia but it's got a few bugs on my end.

  1. currently the overview doesn't limit window operations, so doing 'killactive' semi-crashes us, or doing 'fullscreen, 0' while in overview bugs out and doing 'fullscreen, 1' from there makes it flicker

  2. zooming doesn't work right, if I scroll slowly it's fine, but if I scroll fast it zooms in/out really slowly, my mouse freezes unless I'm using the zoom too:
    https://github.com/user-attachments/assets/47dc990b-b1b7-412e-a6df-45b39a2062ff

  3. floating vs fullscreen window is not right:
    https://github.com/user-attachments/assets/71922c79-9c93-4d35-a642-84cd98938137
    https://github.com/user-attachments/assets/17342471-10fc-421a-82ec-c623d35f38ac

I didn't use expo before because it was too limited, it just doesn't work if hyprland is about keybinds but then I have to rely on the mouse, it needs to work with bindings, like scrolling the workspaces overview up and down one by one on a keybinding, the zoom can stay in but it is way less useful than scrolling the workspaces vertically themselves.

(also live overviews would be mega based and make sense here, esp if we want to make killing and moving around windows in the overview possible, might want to see how niri does it, hyprland is already better but could be really competitive in this feature but it needs work right now.)

@clotodex
Copy link
Contributor

clotodex commented Oct 6, 2025

Also got around to test it now (disclaimer, not a normal expo user, so things could be user-issue):

  • looks great! (especially also seeing the other workspaces)
  • cursor is broken while in expo mode, it just simply does not move
  • I dont understand how to flip through windows or generally how to navigate in the mode
  • if I try to select a window using the scrolling focus, then the overview flickers like crazy but does not change view
  • like @aphelei said, scrolling=zooming was unintuitive/unexpected. I dont know if I need the ability to zoom, instead scrolling through windows would have felt more natural - however this is gutfeeling, not an expectation. I would rather like to control the "default" zoom as a config value and dont expect to change it all too much otherwise

EDIT:

  • the cursor actually is moving, but the movement not rendering (using custom cursor, so that might play a part). So when I move, then zoom, the cursor jumps to the position i moved it to when the zoom starts
  • if we want to stick with the zoom, I also found that it does not zoom to the center of the cursor position but only to the center of the screen

@taylorstools
Copy link

taylorstools commented Oct 8, 2025

This looks great.

In niri, mouse scrolling up moves up a workspace, mouse scrolling down moves down one. When you reach the first or last workspace, it stops instead of looping back around. Behavior like this, or maybe constantly cycling workspaces when scrolling, would be preferred behavior imo for mouse scroll. Or you could let it be configurable, or maybe a pinch-to-zoom gesture for zoom-in/out and mouse/touchpad scroll to scroll workspaces. Afaik there is no zoom-in/out in Niri's overview, but it makes sense here and I like it, especially if a workspace is filled with windows.

I replicated the issue Kwepoi has with killactive while in overview, hyprland crashes.

I'm guessing that adding touchpad gestures would add this capability?: click and drag windows with mouse/touchpad to change the order/position of windows on current workspace, or click and drag windows to move to different workspace.

Minor things:

  • Having window blur in overview would be nice
  • Having Hyprbars visible in overview with working buttons would also be nice

@vaxerski
Copy link
Member Author

you can now flip plugin:hyprexpo:scrolling:scroll_moves_up_down to true to get scroll moves workspace

@vaxerski
Copy link
Member Author

Added default_zoom next to that and flipped scroll moves up and down to true by default

@vaxerski
Copy link
Member Author

live previews done, windows now update.

@vaxerski
Copy link
Member Author

anything else outside of the gesture?

@taylorstools
Copy link

Trying to killactive while in overview still crashes Hyprland.

I also have this weird behavior when trying to scroll with my laptop touchpad. Attempting to scroll down just causes it to flick back up. It works as expected with mouse scrolling though. Wondering if other laptop users can replicate:

2025-10-12.16-29-28.mp4

@clotodex
Copy link
Contributor

I can replicate @taylorstools .
Also when switching focus between Windows (which works now) - i have a crazy jitter, as if the rendering does either not animate properly (lag) or if there is some greedy loop. Let me know if I should record it or if it is anyways still wip.
Otherwise my other issues also still persist.

@vaxerski
Copy link
Member Author

wdym switching focus between windows? I am unsure if I understand what that means in this case

@clotodex
Copy link
Contributor

I am looking for 3 base features and 2 extended features with Hyprexpo + scrolling:

  • render an overview (done - exactly what I was looking for)
  • scroll or move between workspaces (I experience @taylorstools bug of it moving but snapping back)
  • scroll or move between windows IN a workspace - so "left to right" - using the focus layoutmessage (horizontal scroll does not work for me, using the keybinds to move the focus between windows works, but jitters and lags) <- this is what i was referencing
    The extended (optional) features
  • "jumping" to a different window, i.e. switching focus - ideally with keyboard navigation, similar to what hyprscroller had with its vim-easymotion style jumping
  • moving windows, both within a workspace as well as across workspaces - with mouse or keyboard

Hope this makes it more clear

@vaxerski
Copy link
Member Author

vaxerski commented Oct 15, 2025

moving within workspace now works for me, moving between workspaces works, crash fixed

IDK if I'll implement drag-and-drop window functionality in this MR, regular expo doesnt have it either.

@taylorstools
Copy link

Moving within the workspace works for me now. Will there be ability to assign gesture to horizontally navigating in a workspace in overview in this MR?

Even with this new commit, I still have the bug with scrolling with touchpad, where it flicks back up to the top workspace. And killactive while the overview is open still makes Hyprland crash.

@aphelei
Copy link

aphelei commented Oct 16, 2025

1° i can't scroll workspace with my keyboard
eg
bindd = $mainMod CTRL, right, Go to workspace +1, workspace, m+1
bindd = $mainMod CTRL, left, Go to workspace -1, workspace, m-1

2025-10-16_22-10-1760646375.mp4

2° blur and windows decorations aren't displayed (group bar, borders) (see vid)

3° it is displayed above the bar (see vid)

@aphelei
Copy link

aphelei commented Oct 16, 2025

4° windows become opaque when opening a new window

2025-10-16_22-10-1760646800.mp4

5° layers not updated when in hyprexpo

ff.mp4

@vaxerski
Copy link
Member Author

decorations cant be fixed atm would require some fixes in hl

@clotodex
Copy link
Contributor

To me this is usable and would love to merge it, since this branch now diverged from hyprland main.

My main thing i am looking for is to fix navigation and extend the keybinds.

I realized the latter is also what others are missing from normal hyprexpo. I would argue this is more relevant to scroll users due to navigation being necessary since you cant see everything
#195

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancement: niri style overview

6 participants