mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-03-22 05:34:18 -04:00
opt: don't change stack inner per when swallow
This commit is contained in:
parent
8ba259fbb7
commit
b0f839468c
1 changed files with 9 additions and 3 deletions
12
src/mango.c
12
src/mango.c
|
|
@ -1071,6 +1071,9 @@ void swallow(Client *c, Client *w) {
|
||||||
c->tags = w->tags;
|
c->tags = w->tags;
|
||||||
c->geom = w->geom;
|
c->geom = w->geom;
|
||||||
c->float_geom = w->float_geom;
|
c->float_geom = w->float_geom;
|
||||||
|
c->stack_inner_per = w->stack_inner_per;
|
||||||
|
c->master_inner_per = w->master_inner_per;
|
||||||
|
c->master_mfact_per = w->master_mfact_per;
|
||||||
c->scroller_proportion = w->scroller_proportion;
|
c->scroller_proportion = w->scroller_proportion;
|
||||||
c->next_in_stack = w->next_in_stack;
|
c->next_in_stack = w->next_in_stack;
|
||||||
c->prev_in_stack = w->prev_in_stack;
|
c->prev_in_stack = w->prev_in_stack;
|
||||||
|
|
@ -4678,6 +4681,7 @@ setfloating(Client *c, int32_t floating) {
|
||||||
|
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
struct wlr_box target_box;
|
struct wlr_box target_box;
|
||||||
|
int32_t old_floating_state = c->isfloating;
|
||||||
c->isfloating = floating;
|
c->isfloating = floating;
|
||||||
bool window_size_outofrange = false;
|
bool window_size_outofrange = false;
|
||||||
|
|
||||||
|
|
@ -4747,7 +4751,7 @@ setfloating(Client *c, int32_t floating) {
|
||||||
layers[c->isfloating ? LyrTop : LyrTile]);
|
layers[c->isfloating ? LyrTop : LyrTile]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!c->isfloating) {
|
if (!c->isfloating && old_floating_state) {
|
||||||
set_size_per(c->mon, c);
|
set_size_per(c->mon, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4796,6 +4800,7 @@ void setmaximizescreen(Client *c, int32_t maximizescreen) {
|
||||||
if (c->mon->isoverview)
|
if (c->mon->isoverview)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
int32_t old_maximizescreen_state = c->ismaximizescreen;
|
||||||
c->ismaximizescreen = maximizescreen;
|
c->ismaximizescreen = maximizescreen;
|
||||||
|
|
||||||
if (maximizescreen) {
|
if (maximizescreen) {
|
||||||
|
|
@ -4825,7 +4830,7 @@ void setmaximizescreen(Client *c, int32_t maximizescreen) {
|
||||||
|
|
||||||
wlr_scene_node_reparent(&c->scene->node,
|
wlr_scene_node_reparent(&c->scene->node,
|
||||||
layers[c->isfloating ? LyrTop : LyrTile]);
|
layers[c->isfloating ? LyrTop : LyrTile]);
|
||||||
if (!c->ismaximizescreen) {
|
if (!c->ismaximizescreen && old_maximizescreen_state) {
|
||||||
set_size_per(c->mon, c);
|
set_size_per(c->mon, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4858,6 +4863,7 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
|
||||||
if (c->mon->isoverview)
|
if (c->mon->isoverview)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
int32_t old_fullscreen_state = c->isfullscreen;
|
||||||
c->isfullscreen = fullscreen;
|
c->isfullscreen = fullscreen;
|
||||||
|
|
||||||
client_set_fullscreen(c, fullscreen);
|
client_set_fullscreen(c, fullscreen);
|
||||||
|
|
@ -4895,7 +4901,7 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
|
||||||
layers[fullscreen || c->isfloating ? LyrTop : LyrTile]);
|
layers[fullscreen || c->isfloating ? LyrTop : LyrTile]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!c->isfullscreen) {
|
if (!c->isfullscreen && old_fullscreen_state) {
|
||||||
set_size_per(c->mon, c);
|
set_size_per(c->mon, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue