UbuntuBudgie / budgie-desktop

Flagship desktop of the BuddiesOfBudgie - Ubuntu Budgie manages the debian packaging only
https://blog.buddiesofbudgie.org/
59 stars 7 forks source link

Combine Virtual Workspaces with libinput-gestures (or similar)? #66

Open rbreaves opened 3 years ago

rbreaves commented 3 years ago

It really feels much more natural to use a 3 finger swipe to go btwn desktops, but beyond that - instead of mapping to keyboard hotkeys - tying it directly to the swipe itself in the same manner as Windows 10 (maybe macOS?), it would make it feel more responsive and intentional. I am sure it would be a lot of insane work just to tie the desktop transition animation directly to the swipe.

I don't expect the official branch will tackle this one since any changes like this will be in the domain of Budgie 11 from the sounds of it.

fossfreedom commented 3 years ago

Not quite sure why you may want to alter animations.

If budgie switching between workspaces is managed here https://github.com/solus-project/budgie-desktop/blob/master/src/wm/wm.vala#L1198 specifically the Clutter animation effect is this https://github.com/solus-project/budgie-desktop/blob/master/src/wm/wm.vala#L1288

switch_workspace is a mutter function that budgie overrides to-do its own custom switching routine. I think the keyboard shortcuts are bound via gnome-settings-daemon at a guess (maybe wrong) rather than in mutter. Mutter probably just responds to dbus type messages to do actions such as moving up/down the workspace list. Hence, doing a xdotool keyboard type "switch left"/"switch right" effectively does the same as what gnome-settings-daemon is doing anyway.

If you want to change the actual animation effect/time interval - then yes its at the budgie level as described above.

rbreaves commented 3 years ago

Not really wanting to change the animation - I just want it to feel like you are literally moving a piece of paper under your fingers. Aka it tracks with you exactly, if I move in the opposite direction you will see the virtual desktop go back to where it was, if I stop mid stream then you can see both desktops at once (half and half). That is what I am really talking about, not converting the swipe to a hotkey at all but literally connecting it directly to the virtual spaces themselves, so no playing of an animation either really (the current animation is fine but again needs to be tied to the swipe, not a hot key). The swipe would fully control the animation essentially. Some additional logic would still need to be there, at some point if the swipe was not completed 100% it should still transition once enough of it as been swiped, etc.

And libinput-gestures is probably the wrong tool to mention because it translates swipes to hotkeys itself and that is not what I am wanting. The math coming from the touchpad input devices needs to be piped into the animation directly.