opt: always give priority to determining whether to set overlay layer for overlay window

This commit is contained in:
DreamMaoMao 2025-05-05 23:25:00 +08:00
parent 614a28abd1
commit c1b48567e1

View file

@ -5214,8 +5214,12 @@ setfloating(Client *c, int floating) {
if (!c || !c->mon || !client_surface(c)->mapped || c->iskilling) if (!c || !c->mon || !client_surface(c)->mapped || c->iskilling)
return; return;
if(c->isoverlay) {
wlr_scene_node_reparent(&c->scene->node, layers[LyrOverlay]);
} else {
wlr_scene_node_reparent(&c->scene->node, wlr_scene_node_reparent(&c->scene->node,
layers[c->isfloating ? LyrFloat : LyrTile]); layers[c->isfloating ? LyrFloat : LyrTile]);
}
target_box = c->geom; target_box = c->geom;
@ -5329,9 +5333,14 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带
return; return;
client_set_fullscreen(c, fullscreen); client_set_fullscreen(c, fullscreen);
if(c->isoverlay) {
wlr_scene_node_reparent(&c->scene->node, layers[LyrOverlay]);
} else {
wlr_scene_node_reparent(&c->scene->node, layers[fullscreen ? LyrFloat wlr_scene_node_reparent(&c->scene->node, layers[fullscreen ? LyrFloat
: c->isfloating ? LyrFloat : c->isfloating ? LyrFloat
: LyrTile]); : LyrTile]);
}
if (fullscreen) { if (fullscreen) {
if (c->isfloating) if (c->isfloating)