mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-11-04 13:29:56 -05:00
opt: optimize maxmizescreen and fullscreen change to floating
This commit is contained in:
parent
6682c5be45
commit
d8a11e80bc
1 changed files with 14 additions and 13 deletions
27
src/maomao.c
27
src/maomao.c
|
|
@ -5109,6 +5109,13 @@ setfloating(Client *c, int floating) {
|
||||||
target_box = c->geom;
|
target_box = c->geom;
|
||||||
|
|
||||||
if (floating == 1 && c != grabc) {
|
if (floating == 1 && c != grabc) {
|
||||||
|
|
||||||
|
if (c->isfullscreen || c->ismaxmizescreen) {
|
||||||
|
c->isfullscreen = 0; // 清除窗口全屏标志
|
||||||
|
c->ismaxmizescreen = 0;
|
||||||
|
c->bw = borderpx; // 恢复非全屏的border
|
||||||
|
}
|
||||||
|
|
||||||
if (c->need_float_size_reduce && !c->swallowing && !c->is_open_animation) {
|
if (c->need_float_size_reduce && !c->swallowing && !c->is_open_animation) {
|
||||||
target_box.height = target_box.height * 0.8;
|
target_box.height = target_box.height * 0.8;
|
||||||
target_box.width = target_box.width * 0.8;
|
target_box.width = target_box.width * 0.8;
|
||||||
|
|
@ -5143,6 +5150,7 @@ setfloating(Client *c, int floating) {
|
||||||
}
|
}
|
||||||
|
|
||||||
arrange(c->mon, false);
|
arrange(c->mon, false);
|
||||||
|
setborder_color(c);
|
||||||
printstatus();
|
printstatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -6426,14 +6434,7 @@ void togglefloating(const Arg *arg) {
|
||||||
if (!sel)
|
if (!sel)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (sel->isfullscreen || sel->ismaxmizescreen) {
|
|
||||||
sel->isfullscreen = 0; // 清除窗口全屏标志
|
|
||||||
sel->ismaxmizescreen = 0;
|
|
||||||
sel->bw = borderpx; // 恢复非全屏的border
|
|
||||||
}
|
|
||||||
/* return if fullscreen */
|
|
||||||
setfloating(sel, !sel->isfloating);
|
setfloating(sel, !sel->isfloating);
|
||||||
setborder_color(sel);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void togglefakefullscreen(const Arg *arg) {
|
void togglefakefullscreen(const Arg *arg) {
|
||||||
|
|
@ -7242,7 +7243,7 @@ void smartmovewin(const Arg *arg) {
|
||||||
if (!c || c->isfullscreen)
|
if (!c || c->isfullscreen)
|
||||||
return;
|
return;
|
||||||
if (!c->isfloating)
|
if (!c->isfloating)
|
||||||
togglefloating(NULL);
|
setfloating(selmon->sel, true);
|
||||||
nx = c->geom.x;
|
nx = c->geom.x;
|
||||||
ny = c->geom.y;
|
ny = c->geom.y;
|
||||||
|
|
||||||
|
|
@ -7265,7 +7266,7 @@ void smartmovewin(const Arg *arg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ny = tar == -99999 ? ny : tar;
|
ny = tar == -99999 ? ny : tar;
|
||||||
ny = MAX(ny, c->mon->w.y + gappov);
|
ny = MAX(ny, c->mon->w.y);
|
||||||
break;
|
break;
|
||||||
case DOWN:
|
case DOWN:
|
||||||
tar = 99999;
|
tar = 99999;
|
||||||
|
|
@ -7284,7 +7285,7 @@ void smartmovewin(const Arg *arg) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
ny = tar == 99999 ? ny : tar;
|
ny = tar == 99999 ? ny : tar;
|
||||||
ny = MIN(ny, c->mon->w.y + c->mon->w.height - gappov - c->geom.height);
|
ny = MIN(ny, c->mon->w.y + c->mon->w.height - c->geom.height);
|
||||||
break;
|
break;
|
||||||
case LEFT:
|
case LEFT:
|
||||||
tar = -99999;
|
tar = -99999;
|
||||||
|
|
@ -7304,7 +7305,7 @@ void smartmovewin(const Arg *arg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
nx = tar == -99999 ? nx : tar;
|
nx = tar == -99999 ? nx : tar;
|
||||||
nx = MAX(nx, c->mon->w.x + gappoh);
|
nx = MAX(nx, c->mon->w.x);
|
||||||
break;
|
break;
|
||||||
case RIGHT:
|
case RIGHT:
|
||||||
tar = 99999;
|
tar = 99999;
|
||||||
|
|
@ -7322,7 +7323,7 @@ void smartmovewin(const Arg *arg) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
nx = tar == 99999 ? nx : tar;
|
nx = tar == 99999 ? nx : tar;
|
||||||
nx = MIN(nx, c->mon->w.x + c->mon->w.width - gappoh - c->geom.width);
|
nx = MIN(nx, c->mon->w.x + c->mon->w.width - c->geom.width);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7340,7 +7341,7 @@ void smartresizewin(const Arg *arg) {
|
||||||
if (!c || c->isfullscreen)
|
if (!c || c->isfullscreen)
|
||||||
return;
|
return;
|
||||||
if (!c->isfloating)
|
if (!c->isfloating)
|
||||||
togglefloating(NULL);
|
setfloating(c, true);
|
||||||
nw = c->geom.width;
|
nw = c->geom.width;
|
||||||
nh = c->geom.height;
|
nh = c->geom.height;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue