1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 11:07:35 +00:00

WindowServer+LibGUI: Allow specifying a "launch origin" for new windows

The launch_origin_rect parameter to create_window() specifies where on
screen the window was launched from. It's optional, but if you provide
it, the new window will have a short wireframe animation from the origin
to the initial window frame rect.

GUI::Window looks for the "__libgui_launch_origin_rect" environment
variable. Put your launch origin rect in there with the format
"<x>,<y>,<width>,<height>" and the first GUI::Window shown by the app
will use that as the launch origin rect.

Also it looks pretty neat, although I'm sure we can improve it. :^)
This commit is contained in:
Andreas Kling 2021-06-27 17:07:31 +02:00
parent 75f870a93f
commit 6a132d8672
6 changed files with 46 additions and 4 deletions

View file

@ -259,6 +259,8 @@ public:
bool has_taskbar_rect() const { return m_have_taskbar_rect; };
void start_minimize_animation();
void start_launch_animation(Gfx::IntRect const&);
Gfx::IntRect tiled_rect(Screen*, WindowTileType) const;
void recalculate_rect();