mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-03-07 04:34:24 -05:00
opt: optimize resizewin setp with keyboard
This commit is contained in:
parent
ebcf238bd3
commit
60fc68b498
1 changed files with 32 additions and 1 deletions
|
|
@ -276,6 +276,18 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int32_t offsetx,
|
|||
new_master_inner_per = fmaxf(0.1f, fminf(0.9f, new_master_inner_per));
|
||||
new_stack_inner_per = fmaxf(0.1f, fminf(0.9f, new_stack_inner_per));
|
||||
|
||||
if (!isdrag) {
|
||||
new_stack_inner_per =
|
||||
new_stack_inner_per +
|
||||
(new_stack_inner_per - grabc->old_stack_inner_per) /
|
||||
((1 / new_stack_inner_per) - 1);
|
||||
|
||||
new_master_inner_per =
|
||||
new_master_inner_per +
|
||||
(new_master_inner_per - grabc->old_master_inner_per) /
|
||||
((1 / new_master_inner_per) - 1);
|
||||
}
|
||||
|
||||
// 应用到所有平铺窗口
|
||||
wl_list_for_each(tc, &clients, link) {
|
||||
if (VISIBLEON(tc, grabc->mon) && ISTILED(tc)) {
|
||||
|
|
@ -431,6 +443,18 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int32_t offsetx,
|
|||
new_master_inner_per = fmaxf(0.1f, fminf(0.9f, new_master_inner_per));
|
||||
new_stack_inner_per = fmaxf(0.1f, fminf(0.9f, new_stack_inner_per));
|
||||
|
||||
if (!isdrag) {
|
||||
new_stack_inner_per =
|
||||
new_stack_inner_per +
|
||||
(new_stack_inner_per - grabc->old_stack_inner_per) /
|
||||
((1 / new_stack_inner_per) - 1);
|
||||
|
||||
new_master_inner_per =
|
||||
new_master_inner_per +
|
||||
(new_master_inner_per - grabc->old_master_inner_per) /
|
||||
((1 / new_master_inner_per) - 1);
|
||||
}
|
||||
|
||||
// 应用到所有平铺窗口
|
||||
wl_list_for_each(tc, &clients, link) {
|
||||
if (VISIBLEON(tc, grabc->mon) && ISTILED(tc)) {
|
||||
|
|
@ -616,7 +640,14 @@ void resize_tile_scroller(Client *grabc, bool isdrag, int32_t offsetx,
|
|||
// 应用限制,确保比例在合理范围内
|
||||
new_scroller_proportion =
|
||||
fmaxf(0.1f, fminf(1.0f, new_scroller_proportion));
|
||||
new_stack_proportion = fmaxf(0.1f, fminf(1.0f, new_stack_proportion));
|
||||
new_stack_proportion = fmaxf(0.1f, fminf(0.9f, new_stack_proportion));
|
||||
|
||||
if (!isdrag) {
|
||||
new_stack_proportion =
|
||||
new_stack_proportion +
|
||||
(new_stack_proportion - grabc->old_stack_proportion) /
|
||||
((1 / new_stack_proportion) - 1);
|
||||
}
|
||||
|
||||
grabc->stack_proportion = new_stack_proportion;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue