mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-03-24 09:06:31 -04: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_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));
|
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) {
|
wl_list_for_each(tc, &clients, link) {
|
||||||
if (VISIBLEON(tc, grabc->mon) && ISTILED(tc)) {
|
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_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));
|
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) {
|
wl_list_for_each(tc, &clients, link) {
|
||||||
if (VISIBLEON(tc, grabc->mon) && ISTILED(tc)) {
|
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 =
|
new_scroller_proportion =
|
||||||
fmaxf(0.1f, fminf(1.0f, 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;
|
grabc->stack_proportion = new_stack_proportion;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue