Aylur / ags

A customizable and extensible shell
GNU General Public License v3.0
1.75k stars 94 forks source link

Workspace animation jiggly #325

Open musjj opened 4 months ago

musjj commented 4 months ago

Mine:

https://github.com/Aylur/ags/assets/72612857/9e7d86bf-21cf-4235-9d1a-5366c7a0e13c

Yours:

https://github.com/Aylur/ags/assets/72612857/7a909402-7c16-4df9-a8c7-552dd81eb824

This is something that's been driving me nuts, but my workspace animation is "jiggly" for some reason. When it animates, it kinda shifts the spacing in a weird way.

I copied the workspace part of your dotfiles pretty closely, so I'm not sure what went wrong here.

Aylur commented 4 months ago

mine used to be like that too, but I just got used to it and didn't even notice that it went away It used to be buttons inside an eventbox, but now its just a button with labels inside, maybe that caused it?

musjj commented 3 months ago

I wonder how Gnome implements this in their shell. From my casual observation, they don't have this problem.

I'm actually noticing that your implementation also "jiggles" when transitioning between the "empty" workspaces. Maybe Gnome is manually animating it with js?

Aylur commented 3 months ago

it jiggles because an empty widget takes up less space than an occupied one gnome-shell is tightly integrated with with its compositor, which lets them follow workspaces with its animation

musjj commented 3 months ago

Hmmm, I kinda doubt that compositors can manipulate a UI element like this (or if it's even worth doing).

I looked through the gnome-shell's repo and just as I suspected, they're manually animating everything in js without a single css transition in sight. A few relevant places in the codebase:

Might look into this further and see if I can replicate in ags.

Aylur commented 3 months ago

yes, but they are querying the workspace positions through Meta which are the bindings to the compositor, thats how the animation can follow swipe gestures

musjj commented 3 months ago

Oh, not sure about swipe gestures. Haven't used Gnome that much, but I'm mostly just annoyed with the jiggliness/unstableness. So I don't think I'd be needing swipe gestures.