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;
|
} ssd;
|
||||||
|
|
||||||
struct wlr_foreign_toplevel_handle_v1 *toplevel_handle;
|
struct wlr_foreign_toplevel_handle_v1 *toplevel_handle;
|
||||||
|
struct wl_listener toplevel_handle_request_maximize;
|
||||||
|
|
||||||
struct wl_listener map;
|
struct wl_listener map;
|
||||||
struct wl_listener unmap;
|
struct wl_listener unmap;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
#include "labwc.h"
|
#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
|
void
|
||||||
foreign_toplevel_handle_create(struct view *view)
|
foreign_toplevel_handle_create(struct view *view)
|
||||||
{
|
{
|
||||||
|
|
@ -8,4 +18,9 @@ foreign_toplevel_handle_create(struct view *view)
|
||||||
view_update_title(view);
|
view_update_title(view);
|
||||||
wlr_foreign_toplevel_handle_v1_output_enter(view->toplevel_handle,
|
wlr_foreign_toplevel_handle_v1_output_enter(view->toplevel_handle,
|
||||||
view_wlr_output(view));
|
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;
|
return;
|
||||||
}
|
}
|
||||||
view->impl->maximize(view, maximize);
|
view->impl->maximize(view, maximize);
|
||||||
|
if (view->toplevel_handle) {
|
||||||
|
wlr_foreign_toplevel_handle_v1_set_maximized(view->toplevel_handle,
|
||||||
|
maximize);
|
||||||
|
}
|
||||||
if (maximize) {
|
if (maximize) {
|
||||||
view->unmaximized_geometry.x = view->x;
|
view->unmaximized_geometry.x = view->x;
|
||||||
view->unmaximized_geometry.y = view->y;
|
view->unmaximized_geometry.y = view->y;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue