mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-05-29 21:37:42 -04:00
opt: more simple size percent keep logic
This commit is contained in:
parent
373bbf90a0
commit
e6ae14ec25
5 changed files with 232 additions and 305 deletions
30
src/mango.c
30
src/mango.c
|
|
@ -114,6 +114,9 @@
|
|||
#define ISSCROLLTILED(A) \
|
||||
(A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \
|
||||
!(A)->isunglobal)
|
||||
#define ISFAKETILED(A) \
|
||||
(A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \
|
||||
!(A)->isunglobal)
|
||||
#define VISIBLEON(C, M) \
|
||||
((C) && (M) && (C)->mon == (M) && \
|
||||
(((C)->tags & (M)->tagset[(M)->seltags] || (C)->isglobal || \
|
||||
|
|
@ -550,6 +553,7 @@ struct Monitor {
|
|||
uint32_t visible_clients;
|
||||
uint32_t visible_tiling_clients;
|
||||
uint32_t visible_scroll_tiling_clients;
|
||||
uint32_t visible_fake_tiling_clients;
|
||||
char last_surface_ws_name[256];
|
||||
struct wlr_ext_workspace_group_handle_v1 *ext_group;
|
||||
bool iscleanuping;
|
||||
|
|
@ -5374,15 +5378,6 @@ setfloating(Client *c, int32_t floating) {
|
|||
layers[c->isfloating ? LyrTop : LyrTile]);
|
||||
}
|
||||
|
||||
if (!c->isfloating && old_floating_state &&
|
||||
(c->old_stack_inner_per > 0.0f || c->old_master_inner_per > 0.0f)) {
|
||||
restore_size_per(c->mon, c);
|
||||
}
|
||||
|
||||
if (c->isfloating && !old_floating_state) {
|
||||
save_old_size_per(c->mon);
|
||||
}
|
||||
|
||||
if (!c->force_fakemaximize)
|
||||
client_set_maximized(c, false);
|
||||
|
||||
|
|
@ -5435,7 +5430,6 @@ void setmaximizescreen(Client *c, int32_t maximizescreen) {
|
|||
if (c->mon->isoverview)
|
||||
return;
|
||||
|
||||
int32_t old_maximizescreen_state = c->ismaximizescreen;
|
||||
client_pending_maximized_state(c, maximizescreen);
|
||||
|
||||
if (maximizescreen) {
|
||||
|
|
@ -5462,13 +5456,6 @@ void setmaximizescreen(Client *c, int32_t maximizescreen) {
|
|||
|
||||
wlr_scene_node_reparent(&c->scene->node,
|
||||
layers[c->isfloating ? LyrTop : LyrTile]);
|
||||
if (!c->ismaximizescreen && old_maximizescreen_state) {
|
||||
restore_size_per(c->mon, c);
|
||||
}
|
||||
|
||||
if (c->ismaximizescreen && !old_maximizescreen_state) {
|
||||
save_old_size_per(c->mon);
|
||||
}
|
||||
|
||||
if (!c->force_fakemaximize && !c->ismaximizescreen) {
|
||||
client_set_maximized(c, false);
|
||||
|
|
@ -5499,7 +5486,6 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
|
|||
if (c->mon->isoverview)
|
||||
return;
|
||||
|
||||
int32_t old_fullscreen_state = c->isfullscreen;
|
||||
c->isfullscreen = fullscreen;
|
||||
|
||||
client_set_fullscreen(c, fullscreen);
|
||||
|
|
@ -5536,14 +5522,6 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
|
|||
layers[fullscreen || c->isfloating ? LyrTop : LyrTile]);
|
||||
}
|
||||
|
||||
if (!c->isfullscreen && old_fullscreen_state) {
|
||||
restore_size_per(c->mon, c);
|
||||
}
|
||||
|
||||
if (c->isfullscreen && !old_fullscreen_state) {
|
||||
save_old_size_per(c->mon);
|
||||
}
|
||||
|
||||
arrange(c->mon, false, false);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue