diff --git a/src/animation/client.h b/src/animation/client.h index 43f6e272..0aa197ec 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -297,7 +297,7 @@ void apply_split_border(Client *c, bool hit_no_border) { const Layout *layout = c->mon->pertag->ltidxs[c->mon->pertag->curtag]; if (hit_no_border || !ISTILED(c) || layout->id != DWINDLE || - !config.dwindle_manual_split) { + !config.dwindle_manual_split || c->isfullscreen) { if (c->splitindicator[0]->node.enabled) { wlr_scene_node_set_enabled(&c->splitindicator[0]->node, false); } @@ -377,12 +377,25 @@ void apply_split_border(Client *c, bool hit_no_border) { } void apply_border(Client *c) { - bool hit_no_border = false; - if (c->iskilling || !client_surface(c)->mapped) return; - hit_no_border = check_hit_no_border(c); + if (c->isfullscreen) { + for (int32_t i = 0; i < 4; i++) { + if (c->border[i]->node.enabled) { + wlr_scene_node_set_enabled(&c->border[i]->node, false); + } + } + return; + } else { + for (int32_t i = 0; i < 4; i++) { + if (!c->border[i]->node.enabled) { + wlr_scene_node_set_enabled(&c->border[i]->node, true); + } + } + } + + bool hit_no_border = check_hit_no_border(c); apply_split_border(c, hit_no_border); diff --git a/src/mango.c b/src/mango.c index 1d2d09f1..2a5a8d49 100644 --- a/src/mango.c +++ b/src/mango.c @@ -5526,6 +5526,7 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自 wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 if (!is_scroller_layout(c->mon) || c->isfloating) resize(c, c->mon->m, 1); + } else { c->bw = c->isnoborder ? 0 : config.borderpx; if (c->isfloating)