mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
foreign: handle maximize request
This commit is contained in:
parent
042ea266a5
commit
b4722d988e
3 changed files with 20 additions and 0 deletions
|
|
@ -224,6 +224,7 @@ struct view {
|
|||
} ssd;
|
||||
|
||||
struct wlr_foreign_toplevel_handle_v1 *toplevel_handle;
|
||||
struct wl_listener toplevel_handle_request_maximize;
|
||||
|
||||
struct wl_listener map;
|
||||
struct wl_listener unmap;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,15 @@
|
|||
#include "labwc.h"
|
||||
|
||||
static void
|
||||
handle_toplevel_handle_request_maximize(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct view *view = wl_container_of(listener, view,
|
||||
toplevel_handle_request_maximize);
|
||||
struct wlr_foreign_toplevel_handle_v1_maximized_event *event = data;
|
||||
printf("max=%d\n", event->maximized);
|
||||
view_maximize(view, event->maximized);
|
||||
}
|
||||
|
||||
void
|
||||
foreign_toplevel_handle_create(struct view *view)
|
||||
{
|
||||
|
|
@ -8,4 +18,9 @@ foreign_toplevel_handle_create(struct view *view)
|
|||
view_update_title(view);
|
||||
wlr_foreign_toplevel_handle_v1_output_enter(view->toplevel_handle,
|
||||
view_wlr_output(view));
|
||||
|
||||
view->toplevel_handle_request_maximize.notify =
|
||||
handle_toplevel_handle_request_maximize;
|
||||
wl_signal_add(&view->toplevel_handle->events.request_maximize,
|
||||
&view->toplevel_handle_request_maximize);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,6 +73,10 @@ view_maximize(struct view *view, bool maximize)
|
|||
return;
|
||||
}
|
||||
view->impl->maximize(view, maximize);
|
||||
if (view->toplevel_handle) {
|
||||
wlr_foreign_toplevel_handle_v1_set_maximized(view->toplevel_handle,
|
||||
maximize);
|
||||
}
|
||||
if (maximize) {
|
||||
view->unmaximized_geometry.x = view->x;
|
||||
view->unmaximized_geometry.y = view->y;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue