mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:07:45 +00:00
LibGUI+WindowServer: Allow programatically minimizing windows
The backend methods in WindowServer already exist. This just adds the IPC plumbing to connect those methods to GUI::Window.
This commit is contained in:
parent
89b2ff72f7
commit
0d5209cee6
5 changed files with 41 additions and 0 deletions
|
@ -1036,6 +1036,18 @@ void Window::set_maximized(bool maximized)
|
|||
ConnectionToWindowServer::the().async_set_maximized(m_window_id, maximized);
|
||||
}
|
||||
|
||||
void Window::set_minimized(bool minimized)
|
||||
{
|
||||
if (!is_minimizable())
|
||||
return;
|
||||
|
||||
m_minimized = minimized;
|
||||
if (!is_visible())
|
||||
return;
|
||||
|
||||
ConnectionToWindowServer::the().async_set_minimized(m_window_id, minimized);
|
||||
}
|
||||
|
||||
void Window::update_min_size()
|
||||
{
|
||||
if (main_widget()) {
|
||||
|
|
|
@ -45,6 +45,9 @@ public:
|
|||
bool is_maximized() const { return m_maximized; }
|
||||
void set_maximized(bool);
|
||||
|
||||
bool is_minimized() const { return m_minimized; }
|
||||
void set_minimized(bool);
|
||||
|
||||
bool is_frameless() const { return m_frameless; }
|
||||
void set_frameless(bool);
|
||||
|
||||
|
@ -306,6 +309,7 @@ private:
|
|||
bool m_minimizable { true };
|
||||
bool m_closeable { true };
|
||||
bool m_maximized { false };
|
||||
bool m_minimized { false };
|
||||
bool m_fullscreen { false };
|
||||
bool m_frameless { false };
|
||||
bool m_forced_shadow { false };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue