diff options
author | Erik Reider <[email protected]> | 2023-03-26 17:44:21 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2023-03-26 11:44:21 -0400 |
commit | f2d29ceb6b831a07ce2bce4534fe6fec1f16eee3 (patch) | |
tree | d90b5fd546d6f55c7be7d0af43863f8f9262b4db /sway/tree/view.c | |
parent | 7d5d7a3022eb17835cea7af7290b1a5d2fe4b03a (diff) |
Extend minimize logic to work with XWayland and XDG applications (#132)
* Extend minimize logic
* Removed redundant xwayland minimize logic
* minor fixes
* Fixed not properly checking if window is ran though XWayland
* Added config option with default being off
* Set scratchpad_minimize to true by default
* Improve config dependant logic
* Switch to using enable|disable instead of on|off
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 7d4dbaeb..b66dc2f8 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -746,6 +746,9 @@ static void handle_foreign_destroy( listener, view, foreign_destroy); wl_list_remove(&view->foreign_activate_request.link); + if (view->foreign_minimize.notify) { + wl_list_remove(&view->foreign_minimize.link); + } wl_list_remove(&view->foreign_fullscreen_request.link); wl_list_remove(&view->foreign_close_request.link); wl_list_remove(&view->foreign_destroy.link); @@ -819,9 +822,11 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface, view->foreign_destroy.notify = handle_foreign_destroy; wl_signal_add(&view->foreign_toplevel->events.destroy, &view->foreign_destroy); - view->foreign_minimize.notify = handle_foreign_minimize; - wl_signal_add(&view->foreign_toplevel->events.request_minimize, - &view->foreign_minimize); + if (config->scratchpad_minimize) { + view->foreign_minimize.notify = handle_foreign_minimize; + wl_signal_add(&view->foreign_toplevel->events.request_minimize, + &view->foreign_minimize); + } struct sway_container *container = view->container; |