summaryrefslogtreecommitdiff
path: root/sway/tree/view.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r--sway/tree/view.c11
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;