allusive-dev / compfy

A Compositor for X11 based on Picom. No Longer Maintained in favor of Picom v12!
203 stars 23 forks source link

Animations for Workspaces #30

Closed Prayag2 closed 9 months ago

Prayag2 commented 10 months ago

<-- Please fill in all the forms below that are relevant then delete this line -->

What is the issue Feature Request for animations of workspaces in BSPWM and other WMs. When switching workspaces, it should animate the whole visible desktop instead of individual windows.

What did you expect The whole workspace animates with a different animation than windows.

Package Version: v1.4.3 Build Method: AUR WM: BSPWM

nathansCodes commented 10 months ago

+1 here. Though I should mention that workspace-switch animations weren't working on awm even before it was removed and also with picom-pijulius

allusive-dev commented 10 months ago

Hello @naan187 and @Prayag2 I can't lie I saw this coming back to haunt me eventually. Firstly workspace switch animation simply cannot work if you have multiple monitors since moving between monitors counts as moving between work spaces and then messes up all the other animations.

When switching workspaces, it should animate the whole visible desktop instead of individual windows.

With this it isn't possible since picom effects your desktop on a per window basis. But with the previous workspace switch animation it ran it for all windows anyway so if I manged to get the old workspace-switch animations working it would meet that requirement.

workspace-switch animations weren't working on awm even before it was removed

Yeah as I said it is very much broken.

In terms of me being able to implement this, I sadly cannot promise anything. I have already previously had a go at fixing this but with no success. If I was to re-implement this it would require more configuration inputs such as how many monitors the user has and possibly even what workspace number is on what screen so to be able to run the appropriate checks. Aswell since it differs between WM's, getting this feature to work on even just 3 would be quite difficult.

Sorry for the essay but basically, I'll have a go but no promises unfortunately.

@Prayag2 Just a little thing but next time please submit feature requests in the correct thread #17

Prayag2 commented 10 months ago

Oh, I'm sorry for posting it in the wrong thread. I would like to work on this issue, however, I have no clue how the code works. Is there's any documentation or anything where I can get started?

allusive-dev commented 10 months ago

@Prayag2 No need to worry about trying to help. There also is not much I could provide in a way of documentation for how picom works (except the configuration options).

I'll get to work on it soon and let you know how it does.

Prayag2 commented 10 months ago

Okay, thanks!

allusive-dev commented 10 months ago

Quick update so not to leave anyone waiting too long. I haven't been able to start yet as I have needed to prioritize updating some outdated dependencies and resolve some other problems.

I'll try to make a start on this sometime in the next few days and I'll post another update when I do.

allusive-dev commented 9 months ago

Back again. Unfortunately I have not been able to make any progress on this yet. As you probably know picom-allusive has just taken a massive step in moving away from Picom to become it's own compositor, Compfy. Because of the insane amount of work I have been doing to ensure a smooth transition I have not gotten a chance to work on this.

A few more issues have come up recently so this will be further delayed. I'm very sorry about this but I can assure everyone, once I get the time and a good break this will be the first feature I attempt to add.

allusive-dev commented 9 months ago

Hey Again Everyone. I had quite a bit of time to work on Workspace Switch animations and I am returning to let you all know of the results.

With my current knowledge after trying to implement this for well over 5 hours I can say that this feature is not possible to add at the moment. I actually managed to implement the workspace switching detection and playing the animation on queue but there were so many other problems with it that after ages of troubleshooting I simply could not figure out. I hope I can come back to this in the future when I am more equipped but for now I am going to close this. If I come back to this I will re-open the issue.

I want to apologize for this since it was my goal to add everything that everyone opened but this one was just far too difficult for me.