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 (*set_fullscreen)(struct view *view, bool fullscreen);
|
||||||
void (*unmap)(struct view *view);
|
void (*unmap)(struct view *view);
|
||||||
void (*maximize)(struct view *view, bool maximize);
|
void (*maximize)(struct view *view, bool maximize);
|
||||||
|
void (*minimize)(struct view *view, bool minimize);
|
||||||
void (*move_to_front)(struct view *view);
|
void (*move_to_front)(struct view *view);
|
||||||
void (*move_to_back)(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(
|
wlr_foreign_toplevel_handle_v1_set_minimized(
|
||||||
view->toplevel.handle, minimized);
|
view->toplevel.handle, minimized);
|
||||||
}
|
}
|
||||||
|
if (view->impl->minimize) {
|
||||||
|
view->impl->minimize(view, minimized);
|
||||||
|
}
|
||||||
view->minimized = minimized;
|
view->minimized = minimized;
|
||||||
if (minimized) {
|
if (minimized) {
|
||||||
view->impl->unmap(view);
|
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);
|
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
|
static void
|
||||||
xdg_toplevel_view_set_activated(struct view *view, bool activated)
|
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,
|
.set_fullscreen = xdg_toplevel_view_set_fullscreen,
|
||||||
.unmap = xdg_toplevel_view_unmap,
|
.unmap = xdg_toplevel_view_unmap,
|
||||||
.maximize = xdg_toplevel_view_maximize,
|
.maximize = xdg_toplevel_view_maximize,
|
||||||
|
.minimize = xdg_toplevel_view_minimize,
|
||||||
.move_to_front = view_impl_move_to_front,
|
.move_to_front = view_impl_move_to_front,
|
||||||
.move_to_back = view_impl_move_to_back,
|
.move_to_back = view_impl_move_to_back,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -510,6 +510,13 @@ xwayland_view_maximize(struct view *view, bool maximized)
|
||||||
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 {
|
enum z_direction {
|
||||||
LAB_TO_FRONT,
|
LAB_TO_FRONT,
|
||||||
LAB_TO_BACK,
|
LAB_TO_BACK,
|
||||||
|
|
@ -604,6 +611,7 @@ static const struct view_impl xwayland_view_impl = {
|
||||||
.set_fullscreen = xwayland_view_set_fullscreen,
|
.set_fullscreen = xwayland_view_set_fullscreen,
|
||||||
.unmap = xwayland_view_unmap,
|
.unmap = xwayland_view_unmap,
|
||||||
.maximize = xwayland_view_maximize,
|
.maximize = xwayland_view_maximize,
|
||||||
|
.minimize = xwayland_view_minimize,
|
||||||
.move_to_front = xwayland_view_move_to_front,
|
.move_to_front = xwayland_view_move_to_front,
|
||||||
.move_to_back = xwayland_view_move_to_back,
|
.move_to_back = xwayland_view_move_to_back,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue