From 8f9e9255b3325bb85b924a14ea15d4107636c861 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Tue, 28 Oct 2025 18:51:37 +0800 Subject: [PATCH] break change: correct maxmize to maximize --- config.conf | 6 +-- src/animation/client.h | 2 +- src/config/parse_config.h | 20 +++---- src/config/preset.h | 2 +- src/dispatch/bind_declare.h | 2 +- src/dispatch/bind_define.h | 18 +++---- src/fetch/client.h | 2 +- src/layout/arrange.h | 6 +-- src/layout/horizontal.h | 2 +- src/layout/vertical.h | 2 +- src/mango.c | 102 ++++++++++++++++++------------------ 11 files changed, 82 insertions(+), 82 deletions(-) diff --git a/config.conf b/config.conf index 577942a..3bc5f88 100644 --- a/config.conf +++ b/config.conf @@ -95,7 +95,7 @@ borderpx=4 rootcolor=0x201b14ff bordercolor=0x444444ff focuscolor=0xc9b890ff -maxmizescreencolor=0x89aa61ff +maximizescreencolor=0x89aa61ff urgentcolor=0xad401fff scratchpadcolor=0x516c93ff globalcolor=0xb153a7ff @@ -145,7 +145,7 @@ bind=SUPER+SHIFT,Right,exchange_client,right bind=SUPER,g,toggleglobal, bind=ALT,Tab,toggleoverview, bind=ALT,backslash,togglefloating, -bind=ALT,a,togglemaxmizescreen, +bind=ALT,a,togglemaximizescreen, bind=ALT,f,togglefullscreen, bind=ALT+SHIFT,f,togglefakefullscreen, bind=SUPER,i,minimized, @@ -217,7 +217,7 @@ bind=CTRL+ALT,Right,resizewin,+50,+0 # Mouse Button Bindings # NONE mode key only work in ov mode mousebind=SUPER,btn_left,moveresize,curmove -mousebind=NONE,btn_middle,togglemaxmizescreen,0 +mousebind=NONE,btn_middle,togglemaximizescreen,0 mousebind=SUPER,btn_right,moveresize,curresize mousebind=NONE,btn_left,toggleoverview,-1 mousebind=NONE,btn_right,killclient,0 diff --git a/src/animation/client.h b/src/animation/client.h index 674f389..7b86f6c 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -831,7 +831,7 @@ void resize(Client *c, struct wlr_box geo, int interact) { bbox); // 去掉这个推荐的窗口大小,因为有时推荐的窗口特别大导致平铺异常 } - if (!c->isnosizehint && !c->ismaxmizescreen && !c->isfullscreen && + if (!c->isnosizehint && !c->ismaximizescreen && !c->isfullscreen && c->isfloating) { client_set_size_bound(c); } diff --git a/src/config/parse_config.h b/src/config/parse_config.h index a1d76b0..1556895 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -258,7 +258,7 @@ typedef struct { float rootcolor[4]; float bordercolor[4]; float focuscolor[4]; - float maxmizescreencolor[4]; + float maximizescreencolor[4]; float urgentcolor[4]; float scratchpadcolor[4]; float globalcolor[4]; @@ -969,8 +969,8 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value, } else if (strcmp(func_name, "moveresize") == 0) { func = moveresize; (*arg).ui = parse_mouse_action(arg_value); - } else if (strcmp(func_name, "togglemaxmizescreen") == 0) { - func = togglemaxmizescreen; + } else if (strcmp(func_name, "togglemaximizescreen") == 0) { + func = togglemaximizescreen; } else if (strcmp(func_name, "viewtoleft_have_client") == 0) { func = viewtoleft_have_client; (*arg).i = atoi(arg_value); @@ -1420,13 +1420,13 @@ void parse_option(Config *config, char *key, char *value) { } else { convert_hex_to_rgba(config->focuscolor, color); } - } else if (strcmp(key, "maxmizescreencolor") == 0) { + } else if (strcmp(key, "maximizescreencolor") == 0) { long int color = parse_color(value); if (color == -1) { - fprintf(stderr, "Error: Invalid maxmizescreencolor format: %s\n", + fprintf(stderr, "Error: Invalid maximizescreencolor format: %s\n", value); } else { - convert_hex_to_rgba(config->maxmizescreencolor, color); + convert_hex_to_rgba(config->maximizescreencolor, color); } } else if (strcmp(key, "urgentcolor") == 0) { long int color = parse_color(value); @@ -2609,8 +2609,8 @@ void override_config(void) { memcpy(rootcolor, config.rootcolor, sizeof(rootcolor)); memcpy(bordercolor, config.bordercolor, sizeof(bordercolor)); memcpy(focuscolor, config.focuscolor, sizeof(focuscolor)); - memcpy(maxmizescreencolor, config.maxmizescreencolor, - sizeof(maxmizescreencolor)); + memcpy(maximizescreencolor, config.maximizescreencolor, + sizeof(maximizescreencolor)); memcpy(urgentcolor, config.urgentcolor, sizeof(urgentcolor)); memcpy(scratchpadcolor, config.scratchpadcolor, sizeof(scratchpadcolor)); memcpy(globalcolor, config.globalcolor, sizeof(globalcolor)); @@ -2749,8 +2749,8 @@ void set_value_default() { memcpy(config.rootcolor, rootcolor, sizeof(rootcolor)); memcpy(config.bordercolor, bordercolor, sizeof(bordercolor)); memcpy(config.focuscolor, focuscolor, sizeof(focuscolor)); - memcpy(config.maxmizescreencolor, maxmizescreencolor, - sizeof(maxmizescreencolor)); + memcpy(config.maximizescreencolor, maximizescreencolor, + sizeof(maximizescreencolor)); memcpy(config.urgentcolor, urgentcolor, sizeof(urgentcolor)); memcpy(config.scratchpadcolor, scratchpadcolor, sizeof(scratchpadcolor)); memcpy(config.globalcolor, globalcolor, sizeof(globalcolor)); diff --git a/src/config/preset.h b/src/config/preset.h index ab62477..b7695f2 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -82,7 +82,7 @@ unsigned int borderpx = 4; /* border pixel of windows */ float rootcolor[] = COLOR(0x323232ff); float bordercolor[] = COLOR(0x444444ff); float focuscolor[] = COLOR(0xc66b25ff); -float maxmizescreencolor[] = COLOR(0x89aa61ff); +float maximizescreencolor[] = COLOR(0x89aa61ff); float urgentcolor[] = COLOR(0xad401fff); float scratchpadcolor[] = COLOR(0x516c93ff); float globalcolor[] = COLOR(0xb153a7ff); diff --git a/src/dispatch/bind_declare.h b/src/dispatch/bind_declare.h index cc84923..b8470fc 100644 --- a/src/dispatch/bind_declare.h +++ b/src/dispatch/bind_declare.h @@ -16,7 +16,7 @@ int viewtoleft_have_client(const Arg *arg); int viewtoright_have_client(const Arg *arg); int togglefloating(const Arg *arg); int togglefullscreen(const Arg *arg); -int togglemaxmizescreen(const Arg *arg); +int togglemaximizescreen(const Arg *arg); int togglegaps(const Arg *arg); int tagmon(const Arg *arg); int spawn(const Arg *arg); diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 343a1cc..1b0fe47 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -81,7 +81,7 @@ int defaultgaps(const Arg *arg) { int exchange_client(const Arg *arg) { Client *c = selmon->sel; - if (!c || c->isfloating || c->isfullscreen || c->ismaxmizescreen) + if (!c || c->isfloating || c->isfullscreen || c->ismaximizescreen) return 0; exchange_two_client(c, direction_select(arg)); return 0; @@ -90,7 +90,7 @@ int exchange_client(const Arg *arg) { int exchange_stack_client(const Arg *arg) { Client *c = selmon->sel; Client *tc = NULL; - if (!c || c->isfloating || c->isfullscreen || c->ismaxmizescreen) + if (!c || c->isfloating || c->isfullscreen || c->ismaximizescreen) return 0; if (arg->i == NEXT) { tc = get_next_stack_client(c, false); @@ -330,7 +330,7 @@ int moveresize(const Arg *arg) { return 0; xytonode(cursor->x, cursor->y, NULL, &grabc, NULL, NULL, NULL); if (!grabc || client_is_unmanaged(grabc) || grabc->isfullscreen || - grabc->ismaxmizescreen) { + grabc->ismaximizescreen) { grabc = NULL; return 0; } @@ -411,7 +411,7 @@ int resizewin(const Arg *arg) { c = selmon->sel; int offsetx = 0, offsety = 0; - if (!c || c->isfullscreen || c->ismaxmizescreen) + if (!c || c->isfullscreen || c->ismaximizescreen) return 0; if (ISTILED(c)) { @@ -1203,7 +1203,7 @@ int togglefloating(const Arg *arg) { if (!sel) return 0; - if ((sel->isfullscreen || sel->ismaxmizescreen)) { + if ((sel->isfullscreen || sel->ismaximizescreen)) { sel->isfloating = 1; } else { sel->isfloating = !sel->isfloating; @@ -1251,7 +1251,7 @@ int togglegaps(const Arg *arg) { return 0; } -int togglemaxmizescreen(const Arg *arg) { +int togglemaximizescreen(const Arg *arg) { Client *sel = focustop(selmon); if (!sel) return 0; @@ -1260,10 +1260,10 @@ int togglemaxmizescreen(const Arg *arg) { sel->is_in_scratchpad = 0; sel->isnamedscratchpad = 0; - if (sel->ismaxmizescreen) - setmaxmizescreen(sel, 0); + if (sel->ismaximizescreen) + setmaximizescreen(sel, 0); else - setmaxmizescreen(sel, 1); + setmaximizescreen(sel, 1); setborder_color(sel); return 0; diff --git a/src/fetch/client.h b/src/fetch/client.h index 609caa0..f0a4868 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -317,7 +317,7 @@ Client *direction_select(const Arg *arg) { if (!tc) return NULL; - if (tc && (tc->isfullscreen || tc->ismaxmizescreen)) { + if (tc && (tc->isfullscreen || tc->ismaximizescreen)) { // 不支持全屏窗口的焦点切换 return NULL; } diff --git a/src/layout/arrange.h b/src/layout/arrange.h index c7935a9..69393c7 100644 --- a/src/layout/arrange.h +++ b/src/layout/arrange.h @@ -472,7 +472,7 @@ void resize_tile_scroller(Client *grabc, bool isdrag, int offsetx, int offsety, void resize_tile_client(Client *grabc, bool isdrag, int offsetx, int offsety, unsigned int time) { - if (!grabc || grabc->isfullscreen || grabc->ismaxmizescreen) + if (!grabc || grabc->isfullscreen || grabc->ismaximizescreen) return; const Layout *current_layout = @@ -652,9 +652,9 @@ arrange(Monitor *m, bool want_animation) { } } - if (c->mon == m && c->ismaxmizescreen && !c->animation.tagouted && + if (c->mon == m && c->ismaximizescreen && !c->animation.tagouted && !c->animation.tagouting && VISIBLEON(c, m)) { - reset_maxmizescreen_size(c); + reset_maximizescreen_size(c); } } diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 3bebd3d..3a376b5 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -246,7 +246,7 @@ void scroller(Monitor *m) { } if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating && - !m->sel->ismaxmizescreen && !m->sel->isfullscreen) { + !m->sel->ismaximizescreen && !m->sel->isfullscreen) { root_client = m->sel; } else if (m->prevsel && ISTILED(m->prevsel) && VISIBLEON(m->prevsel, m) && !client_is_unmanaged(m->prevsel)) { diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 3cddcba..7e1df68 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -205,7 +205,7 @@ void vertical_scroller(Monitor *m) { } if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating && - !m->sel->ismaxmizescreen && !m->sel->isfullscreen) { + !m->sel->ismaximizescreen && !m->sel->isfullscreen) { root_client = m->sel; } else if (m->prevsel && ISTILED(m->prevsel) && VISIBLEON(m->prevsel, m) && !client_is_unmanaged(m->prevsel)) { diff --git a/src/mango.c b/src/mango.c index 274e8f1..f828630 100644 --- a/src/mango.c +++ b/src/mango.c @@ -99,7 +99,7 @@ A->geom.y + A->geom.height <= A->mon->m.y + A->mon->m.height) #define ISTILED(A) \ (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ - !(A)->ismaxmizescreen && !(A)->isfullscreen) + !(A)->ismaximizescreen && !(A)->isfullscreen) #define VISIBLEON(C, M) \ ((M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) #define LENGTH(X) (sizeof X / sizeof X[0]) @@ -107,8 +107,8 @@ #define TAGMASK ((1 << LENGTH(tags)) - 1) #define LISTEN(E, L, H) wl_signal_add((E), ((L)->notify = (H), (L))) #define ISFULLSCREEN(A) \ - ((A)->isfullscreen || (A)->ismaxmizescreen || \ - (A)->overview_ismaxmizescreenbak || (A)->overview_isfullscreenbak) + ((A)->isfullscreen || (A)->ismaximizescreen || \ + (A)->overview_ismaximizescreenbak || (A)->overview_isfullscreenbak) #define LISTEN_STATIC(E, H) \ do { \ struct wl_listener *_l = ecalloc(1, sizeof(*_l)); \ @@ -292,11 +292,11 @@ struct Client { int isfloating, isurgent, isfullscreen, isfakefullscreen, need_float_size_reduce, isminied, isoverlay, isnosizehint, ignore_maximize, ignore_minimize; - int ismaxmizescreen; + int ismaximizescreen; int overview_backup_bw; int fullscreen_backup_x, fullscreen_backup_y, fullscreen_backup_w, fullscreen_backup_h; - int overview_isfullscreenbak, overview_ismaxmizescreenbak, + int overview_isfullscreenbak, overview_ismaximizescreenbak, overview_isfloatingbak; struct wlr_xdg_toplevel_decoration_v1 *decoration; @@ -587,8 +587,8 @@ static void setcursor(struct wl_listener *listener, void *data); static void setfloating(Client *c, int floating); static void setfakefullscreen(Client *c, int fakefullscreen); static void setfullscreen(Client *c, int fullscreen); -static void setmaxmizescreen(Client *c, int maxmizescreen); -static void reset_maxmizescreen_size(Client *c); +static void setmaximizescreen(Client *c, int maximizescreen); +static void reset_maximizescreen_size(Client *c); static void setgaps(int oh, int ov, int ih, int iv); static void setmon(Client *c, Monitor *m, unsigned int newtags, bool focus); @@ -902,16 +902,16 @@ void clear_fullscreen_flag(Client *c) { setfullscreen(c, false); } - if (c->ismaxmizescreen) { - setmaxmizescreen(c, 0); + if (c->ismaximizescreen) { + setmaximizescreen(c, 0); } } void show_scratchpad(Client *c) { c->is_scratchpad_show = 1; - if (c->isfullscreen || c->ismaxmizescreen) { + if (c->isfullscreen || c->ismaximizescreen) { c->isfullscreen = 0; // 清除窗口全屏标志 - c->ismaxmizescreen = 0; + c->ismaximizescreen = 0; c->bw = c->isnoborder ? 0 : borderpx; } @@ -951,7 +951,7 @@ void swallow(Client *c, Client *w) { c->isfloating = w->isfloating; c->isurgent = w->isurgent; c->isfullscreen = w->isfullscreen; - c->ismaxmizescreen = w->ismaxmizescreen; + c->ismaximizescreen = w->ismaximizescreen; c->isminied = w->isminied; c->is_in_scratchpad = w->is_in_scratchpad; c->is_scratchpad_show = w->is_scratchpad_show; @@ -3035,7 +3035,7 @@ void focusclient(Client *c, int lift) { if (c && selmon->prevsel && (selmon->prevsel->tags & selmon->tagset[selmon->seltags]) && (c->tags & selmon->tagset[selmon->seltags]) && !c->isfloating && - !c->isfullscreen && !c->ismaxmizescreen && + !c->isfullscreen && !c->ismaximizescreen && is_scroller_layout(selmon)) { arrange(selmon, false); } @@ -3406,7 +3406,7 @@ void locksession(struct wl_listener *listener, void *data) { } void init_client_properties(Client *c) { - c->ismaxmizescreen = 0; + c->ismaximizescreen = 0; c->isfullscreen = 0; c->need_float_size_reduce = 0; c->iskilling = 0; @@ -3584,16 +3584,16 @@ maximizenotify(struct wl_listener *listener, void *data) { // if (wl_resource_get_version(c->surface.xdg->toplevel->resource) // < XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION) // wlr_xdg_surface_schedule_configure(c->surface.xdg); - // togglemaxmizescreen(&(Arg){0}); + // togglemaximizescreen(&(Arg){0}); Client *c = wl_container_of(listener, c, maximize); if (!c || !c->mon || c->iskilling || c->ignore_maximize) return; - if (c->ismaxmizescreen || c->isfullscreen) - setmaxmizescreen(c, 0); + if (c->ismaximizescreen || c->isfullscreen) + setmaximizescreen(c, 0); else - setmaxmizescreen(c, 1); + setmaximizescreen(c, 1); } void unminimize(Client *c) { @@ -3652,7 +3652,7 @@ minimizenotify(struct wl_listener *listener, void *data) { // if (wl_resource_get_version(c->surface.xdg->toplevel->resource) // < XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION) // wlr_xdg_surface_schedule_configure(c->surface.xdg); - // togglemaxmizescreen(&(Arg){0}); + // togglemaximizescreen(&(Arg){0}); Client *c = wl_container_of(listener, c, minimize); @@ -4110,8 +4110,8 @@ void setborder_color(Client *c) { client_set_border_color(c, globalcolor); } else if (c->isoverlay && selmon && c == selmon->sel) { client_set_border_color(c, overlaycolor); - } else if (c->ismaxmizescreen && selmon && c == selmon->sel) { - client_set_border_color(c, maxmizescreencolor); + } else if (c->ismaximizescreen && selmon && c == selmon->sel) { + client_set_border_color(c, maximizescreencolor); } else if (selmon && c == selmon->sel) { client_set_border_color(c, focuscolor); } else { @@ -4309,9 +4309,9 @@ setfloating(Client *c, int floating) { if (floating == 1 && c != grabc) { - if (c->isfullscreen || c->ismaxmizescreen) { + if (c->isfullscreen || c->ismaximizescreen) { c->isfullscreen = 0; // 清除窗口全屏标志 - c->ismaxmizescreen = 0; + c->ismaximizescreen = 0; c->bw = c->isnoborder ? 0 : borderpx; } @@ -4379,7 +4379,7 @@ setfloating(Client *c, int floating) { printstatus(); } -void reset_maxmizescreen_size(Client *c) { +void reset_maximizescreen_size(Client *c) { c->geom.x = c->mon->w.x + gappoh; c->geom.y = c->mon->w.y + gappov; c->geom.width = c->mon->w.width - 2 * gappoh; @@ -4387,14 +4387,14 @@ void reset_maxmizescreen_size(Client *c) { resize(c, c->geom, 0); } -void setmaxmizescreen(Client *c, int maxmizescreen) { - struct wlr_box maxmizescreen_box; +void setmaximizescreen(Client *c, int maximizescreen) { + struct wlr_box maximizescreen_box; if (!c || !c->mon || !client_surface(c)->mapped || c->iskilling) return; - c->ismaxmizescreen = maxmizescreen; + c->ismaximizescreen = maximizescreen; - if (maxmizescreen) { + if (maximizescreen) { if (c->isfullscreen) setfullscreen(c, 0); @@ -4406,30 +4406,30 @@ void setmaxmizescreen(Client *c, int maxmizescreen) { toggleoverview(&arg); } - maxmizescreen_box.x = c->mon->w.x + gappoh; - maxmizescreen_box.y = c->mon->w.y + gappov; - maxmizescreen_box.width = c->mon->w.width - 2 * gappoh; - maxmizescreen_box.height = c->mon->w.height - 2 * gappov; + maximizescreen_box.x = c->mon->w.x + gappoh; + maximizescreen_box.y = c->mon->w.y + gappov; + maximizescreen_box.width = c->mon->w.width - 2 * gappoh; + maximizescreen_box.height = c->mon->w.height - 2 * gappov; wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 - resize(c, maxmizescreen_box, 0); - c->ismaxmizescreen = 1; + resize(c, maximizescreen_box, 0); + c->ismaximizescreen = 1; } else { c->bw = c->isnoborder ? 0 : borderpx; - c->ismaxmizescreen = 0; + c->ismaximizescreen = 0; if (c->isfloating) setfloating(c, 1); } - wlr_scene_node_reparent(&c->scene->node, layers[maxmizescreen ? LyrTile + wlr_scene_node_reparent(&c->scene->node, layers[maximizescreen ? LyrTile : c->isfloating ? LyrTop : LyrTile]); - if (!c->ismaxmizescreen) { + if (!c->ismaximizescreen) { set_size_per(c->mon, c); } - if (!c->force_maximize && !c->ismaxmizescreen) { + if (!c->force_maximize && !c->ismaximizescreen) { client_set_maximized(c, false); - } else if (!c->force_maximize && c->ismaxmizescreen) { + } else if (!c->force_maximize && c->ismaximizescreen) { client_set_maximized(c, true); } @@ -4456,8 +4456,8 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带 client_set_fullscreen(c, fullscreen); if (fullscreen) { - if (c->ismaxmizescreen) - setmaxmizescreen(c, 0); + if (c->ismaximizescreen) + setmaximizescreen(c, 0); if (c->isfloating) c->float_geom = c->geom; @@ -5081,7 +5081,7 @@ unsigned int want_restore_fullscreen(Client *target_client) { void overview_backup(Client *c) { c->overview_isfloatingbak = c->isfloating; c->overview_isfullscreenbak = c->isfullscreen; - c->overview_ismaxmizescreenbak = c->ismaxmizescreen; + c->overview_ismaximizescreenbak = c->ismaximizescreen; c->overview_isfullscreenbak = c->isfullscreen; c->animation.tagining = false; c->animation.tagouted = false; @@ -5091,9 +5091,9 @@ void overview_backup(Client *c) { if (c->isfloating) { c->isfloating = 0; } - if (c->isfullscreen || c->ismaxmizescreen) { + if (c->isfullscreen || c->ismaximizescreen) { c->isfullscreen = 0; // 清除窗口全屏标志 - c->ismaxmizescreen = 0; + c->ismaximizescreen = 0; } c->bw = c->isnoborder ? 0 : borderpx; } @@ -5102,10 +5102,10 @@ void overview_backup(Client *c) { void overview_restore(Client *c, const Arg *arg) { c->isfloating = c->overview_isfloatingbak; c->isfullscreen = c->overview_isfullscreenbak; - c->ismaxmizescreen = c->overview_ismaxmizescreenbak; + c->ismaximizescreen = c->overview_ismaximizescreenbak; c->overview_isfloatingbak = 0; c->overview_isfullscreenbak = 0; - c->overview_ismaxmizescreenbak = 0; + c->overview_ismaximizescreenbak = 0; c->geom = c->overview_backup_geom; c->bw = c->overview_backup_bw; c->animation.tagining = false; @@ -5114,14 +5114,14 @@ void overview_restore(Client *c, const Arg *arg) { if (c->isfloating) { // XRaiseWindow(dpy, c->win); // 提升悬浮窗口到顶层 resize(c, c->overview_backup_geom, 0); - } else if (c->isfullscreen || c->ismaxmizescreen) { - if (want_restore_fullscreen(c) && c->ismaxmizescreen) { - setmaxmizescreen(c, 1); + } else if (c->isfullscreen || c->ismaximizescreen) { + if (want_restore_fullscreen(c) && c->ismaximizescreen) { + setmaximizescreen(c, 1); } else if (want_restore_fullscreen(c) && c->isfullscreen) { setfullscreen(c, 1); } else { c->isfullscreen = 0; - c->ismaxmizescreen = 0; + c->ismaximizescreen = 0; setfullscreen(c, false); } } else { @@ -5256,7 +5256,7 @@ void unmapnotify(struct wl_listener *listener, void *data) { } if (c->swallowedby) { - setmaxmizescreen(c->swallowedby, c->ismaxmizescreen); + setmaximizescreen(c->swallowedby, c->ismaximizescreen); setfullscreen(c->swallowedby, c->isfullscreen); c->swallowedby->swallowing = NULL; c->swallowedby = NULL;