Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move panel hiding to the shell clients #2239

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft

Conversation

leolost2605
Copy link
Member

@leolost2605 leolost2605 commented Jan 20, 2025

Requires #2229

We rename WindowPositioner to PositionedWindow and introduce a class ShellWindow that derives from PositionedWindow.
The ShellWindow is the new thing that's used e.g. for centered windows.
It's responsible for showing and hiding the window with an animation that depends on the position (e.g. slide in and out for TOP and BOTTOM, opacity for CENTERED).
We need this because with the new shell group every shell window is responsible itself for when to hide and show depending on the state (e.g. open multitaskingview). Therefore we also introduce a ShellWindow.State flags enum which will cause the window to hide if at least one flag that indicates hide is set.
Currently only the multitasking view notifies all shellwindows (via the manager) when it's active so that they can hide accordingly but we might add more cases here. There's also a CUSTOM_HIDDEN state that can be used by consumers of the shell window to force hide it (e.g. the panel window which derives from it force hides depending on the hide mode).

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.

1 participant