mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
view: add minimize method
...and call wlr_xwayland_surface_set_minimized() for xwayland surfaces on (un)minimize. Fixes: #958
This commit is contained in:
parent
945928a8f6
commit
16bf67a8cd
4 changed files with 19 additions and 0 deletions
|
|
@ -36,6 +36,7 @@ struct view_impl {
|
|||
void (*set_fullscreen)(struct view *view, bool fullscreen);
|
||||
void (*unmap)(struct view *view);
|
||||
void (*maximize)(struct view *view, bool maximize);
|
||||
void (*minimize)(struct view *view, bool minimize);
|
||||
void (*move_to_front)(struct view *view);
|
||||
void (*move_to_back)(struct view *view);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -230,6 +230,9 @@ view_minimize(struct view *view, bool minimized)
|
|||
wlr_foreign_toplevel_handle_v1_set_minimized(
|
||||
view->toplevel.handle, minimized);
|
||||
}
|
||||
if (view->impl->minimize) {
|
||||
view->impl->minimize(view, minimized);
|
||||
}
|
||||
view->minimized = minimized;
|
||||
if (minimized) {
|
||||
view->impl->unmap(view);
|
||||
|
|
|
|||
|
|
@ -314,6 +314,12 @@ xdg_toplevel_view_maximize(struct view *view, bool maximized)
|
|||
wlr_xdg_toplevel_set_maximized(xdg_toplevel_from_view(view), maximized);
|
||||
}
|
||||
|
||||
static void
|
||||
xdg_toplevel_view_minimize(struct view *view, bool minimized)
|
||||
{
|
||||
/* noop */
|
||||
}
|
||||
|
||||
static void
|
||||
xdg_toplevel_view_set_activated(struct view *view, bool activated)
|
||||
{
|
||||
|
|
@ -465,6 +471,7 @@ static const struct view_impl xdg_toplevel_view_impl = {
|
|||
.set_fullscreen = xdg_toplevel_view_set_fullscreen,
|
||||
.unmap = xdg_toplevel_view_unmap,
|
||||
.maximize = xdg_toplevel_view_maximize,
|
||||
.minimize = xdg_toplevel_view_minimize,
|
||||
.move_to_front = view_impl_move_to_front,
|
||||
.move_to_back = view_impl_move_to_back,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -510,6 +510,13 @@ xwayland_view_maximize(struct view *view, bool maximized)
|
|||
maximized);
|
||||
}
|
||||
|
||||
static void
|
||||
xwayland_view_minimize(struct view *view, bool minimized)
|
||||
{
|
||||
wlr_xwayland_surface_set_minimized(xwayland_surface_from_view(view),
|
||||
minimized);
|
||||
}
|
||||
|
||||
enum z_direction {
|
||||
LAB_TO_FRONT,
|
||||
LAB_TO_BACK,
|
||||
|
|
@ -604,6 +611,7 @@ static const struct view_impl xwayland_view_impl = {
|
|||
.set_fullscreen = xwayland_view_set_fullscreen,
|
||||
.unmap = xwayland_view_unmap,
|
||||
.maximize = xwayland_view_maximize,
|
||||
.minimize = xwayland_view_minimize,
|
||||
.move_to_front = xwayland_view_move_to_front,
|
||||
.move_to_back = xwayland_view_move_to_back,
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue