diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index e85b531..5b15f6e 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -415,10 +415,10 @@ void restore_minimized(const Arg *arg) { wl_list_for_each(c, &clients, link) { if (c->isminied) { - show_hide_client(c); c->is_scratchpad_show = 0; c->is_in_scratchpad = 0; c->isnamedscratchpad = 0; + show_hide_client(c); setborder_color(c); arrange(c->mon, false); focusclient(c, 0); diff --git a/src/mango.c b/src/mango.c index 6749a65..04ecec3 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4601,8 +4601,12 @@ void setsel(struct wl_listener *listener, void *data) { void show_hide_client(Client *c) { unsigned int target = get_tags_first_tag(c->oldtags); - tag_client(&(Arg){.ui = target}, c); - // c->tags = c->oldtags; + if (!c->is_in_scratchpad) { + tag_client(&(Arg){.ui = target}, c); + } else { + c->tags = c->oldtags; + arrange(c->mon, false); + } c->isminied = 0; wlr_foreign_toplevel_handle_v1_set_minimized(c->foreign_toplevel, false); focusclient(c, 1);