mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
opt: optimize fullscreen fakefullscreen and maximizescreen state convert
This commit is contained in:
parent
e18839ec11
commit
c5591950e5
2 changed files with 17 additions and 12 deletions
|
|
@ -976,7 +976,7 @@ void togglefullscreen(const Arg *arg) {
|
|||
sel->is_in_scratchpad = 0;
|
||||
sel->isnamedscratchpad = 0;
|
||||
|
||||
if (sel->isfullscreen || sel->ismaxmizescreen)
|
||||
if (sel->isfullscreen)
|
||||
setfullscreen(sel, 0);
|
||||
else
|
||||
setfullscreen(sel, 1);
|
||||
|
|
@ -1011,7 +1011,7 @@ void togglemaxmizescreen(const Arg *arg) {
|
|||
sel->is_in_scratchpad = 0;
|
||||
sel->isnamedscratchpad = 0;
|
||||
|
||||
if (sel->isfullscreen || sel->ismaxmizescreen)
|
||||
if (sel->ismaxmizescreen)
|
||||
setmaxmizescreen(sel, 0);
|
||||
else
|
||||
setmaxmizescreen(sel, 1);
|
||||
|
|
|
|||
25
src/mango.c
25
src/mango.c
|
|
@ -845,13 +845,13 @@ void applybounds(Client *c, struct wlr_box *bbox) {
|
|||
|
||||
/*清除全屏标志,还原全屏时清0的border*/
|
||||
void clear_fullscreen_flag(Client *c) {
|
||||
if (c->isfullscreen || c->ismaxmizescreen) {
|
||||
c->isfullscreen = 0;
|
||||
c->isfloating = 0;
|
||||
c->ismaxmizescreen = 0;
|
||||
c->bw = c->isnoborder ? 0 : borderpx;
|
||||
if (c->isfullscreen) {
|
||||
setfullscreen(c, false);
|
||||
}
|
||||
|
||||
if (c->ismaxmizescreen) {
|
||||
setmaxmizescreen(c, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void minized(const Arg *arg) {
|
||||
|
|
@ -4049,6 +4049,10 @@ void setmaxmizescreen(Client *c, int maxmizescreen) {
|
|||
: LyrTile]);
|
||||
|
||||
if (maxmizescreen) {
|
||||
|
||||
if (c->isfullscreen)
|
||||
setfullscreen(c, 0);
|
||||
|
||||
if (c->isfloating)
|
||||
c->oldgeom = c->geom;
|
||||
if (selmon->isoverview) {
|
||||
|
|
@ -4066,8 +4070,6 @@ void setmaxmizescreen(Client *c, int maxmizescreen) {
|
|||
} else {
|
||||
c->bw = c->isnoborder ? 0 : borderpx;
|
||||
c->ismaxmizescreen = 0;
|
||||
c->isfullscreen = 0;
|
||||
setfullscreen(c, false);
|
||||
if (c->isfloating)
|
||||
setfloating(c, 1);
|
||||
arrange(c->mon, false);
|
||||
|
|
@ -4080,7 +4082,8 @@ void setfakefullscreen(Client *c, int fakefullscreen) {
|
|||
return;
|
||||
if (c->isfullscreen)
|
||||
setfullscreen(c, 0);
|
||||
client_set_fullscreen(c, fakefullscreen);
|
||||
else
|
||||
client_set_fullscreen(c, fakefullscreen);
|
||||
}
|
||||
|
||||
void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带全屏
|
||||
|
|
@ -4104,6 +4107,9 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带
|
|||
}
|
||||
|
||||
if (fullscreen) {
|
||||
if (c->ismaxmizescreen)
|
||||
setmaxmizescreen(c, 0);
|
||||
|
||||
if (c->isfloating)
|
||||
c->oldgeom = c->geom;
|
||||
if (selmon->isoverview) {
|
||||
|
|
@ -4119,8 +4125,7 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带
|
|||
} else {
|
||||
c->bw = c->isnoborder ? 0 : borderpx;
|
||||
c->isfullscreen = 0;
|
||||
c->isfullscreen = 0;
|
||||
c->ismaxmizescreen = 0;
|
||||
c->isfakefullscreen = 0;
|
||||
if (c->isfloating)
|
||||
setfloating(c, 1);
|
||||
arrange(c->mon, false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue