mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
opt: optimize var name
This commit is contained in:
parent
c6b0e632d4
commit
ee2a63fdcc
8 changed files with 99 additions and 99 deletions
|
|
@ -16,7 +16,7 @@ This project's development is based on [dwl](https://codeberg.org/dwl/dwl/).
|
||||||
- Base tags not workspaces (supports separate window layouts for each tag)
|
- Base tags not workspaces (supports separate window layouts for each tag)
|
||||||
- Smooth and customizable complete animations (window open/move/close, tag enter/leave,layer open/close/move)
|
- Smooth and customizable complete animations (window open/move/close, tag enter/leave,layer open/close/move)
|
||||||
- Excellent input method support (text input v2/v3)
|
- Excellent input method support (text input v2/v3)
|
||||||
- Flexible window layouts with easy switching (scroller, master-slave, monocle,center-master, etc.)
|
- Flexible window layouts with easy switching (scroller, master-stack, monocle,center-master, etc.)
|
||||||
- Rich window states (swallow, minimize, maximize, unglobal, global, fakefullscreen, overlay, etc.)
|
- Rich window states (swallow, minimize, maximize, unglobal, global, fakefullscreen, overlay, etc.)
|
||||||
- Simple yet powerful external configuration(support shortcuts hot-reload)
|
- Simple yet powerful external configuration(support shortcuts hot-reload)
|
||||||
- Sway-like scratchpad and named scratchpad
|
- Sway-like scratchpad and named scratchpad
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,7 @@ bind=ALT+SHIFT,Z,incgaps,-1
|
||||||
bind=ALT+SHIFT,R,togglegaps
|
bind=ALT+SHIFT,R,togglegaps
|
||||||
|
|
||||||
# adjust tile window size
|
# adjust tile window size
|
||||||
# change master fact for master-slave layout
|
# change master fact for master-stack layout
|
||||||
bind=ALT+SUPER,h,setmfact,-0.05
|
bind=ALT+SUPER,h,setmfact,-0.05
|
||||||
bind=ALT+SUPER,l,setmfact,+0.05
|
bind=ALT+SUPER,l,setmfact,+0.05
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -204,7 +204,7 @@ typedef struct {
|
||||||
float default_mfact;
|
float default_mfact;
|
||||||
unsigned int default_nmaster;
|
unsigned int default_nmaster;
|
||||||
int center_master_overspread;
|
int center_master_overspread;
|
||||||
int center_when_single_slave;
|
int center_when_single_stack;
|
||||||
|
|
||||||
unsigned int hotarea_size;
|
unsigned int hotarea_size;
|
||||||
unsigned int enable_hotarea;
|
unsigned int enable_hotarea;
|
||||||
|
|
@ -1262,8 +1262,8 @@ void parse_option(Config *config, char *key, char *value) {
|
||||||
config->default_nmaster = atoi(value);
|
config->default_nmaster = atoi(value);
|
||||||
} else if (strcmp(key, "center_master_overspread") == 0) {
|
} else if (strcmp(key, "center_master_overspread") == 0) {
|
||||||
config->center_master_overspread = atoi(value);
|
config->center_master_overspread = atoi(value);
|
||||||
} else if (strcmp(key, "center_when_single_slave") == 0) {
|
} else if (strcmp(key, "center_when_single_stack") == 0) {
|
||||||
config->center_when_single_slave = atoi(value);
|
config->center_when_single_stack = atoi(value);
|
||||||
} else if (strcmp(key, "hotarea_size") == 0) {
|
} else if (strcmp(key, "hotarea_size") == 0) {
|
||||||
config->hotarea_size = atoi(value);
|
config->hotarea_size = atoi(value);
|
||||||
} else if (strcmp(key, "enable_hotarea") == 0) {
|
} else if (strcmp(key, "enable_hotarea") == 0) {
|
||||||
|
|
@ -2474,7 +2474,7 @@ void override_config(void) {
|
||||||
default_mfact = CLAMP_FLOAT(config.default_mfact, 0.1f, 0.9f);
|
default_mfact = CLAMP_FLOAT(config.default_mfact, 0.1f, 0.9f);
|
||||||
default_nmaster = CLAMP_INT(config.default_nmaster, 1, 1000);
|
default_nmaster = CLAMP_INT(config.default_nmaster, 1, 1000);
|
||||||
center_master_overspread = CLAMP_INT(config.center_master_overspread, 0, 1);
|
center_master_overspread = CLAMP_INT(config.center_master_overspread, 0, 1);
|
||||||
center_when_single_slave = CLAMP_INT(config.center_when_single_slave, 0, 1);
|
center_when_single_stack = CLAMP_INT(config.center_when_single_stack, 0, 1);
|
||||||
new_is_master = CLAMP_INT(config.new_is_master, 0, 1);
|
new_is_master = CLAMP_INT(config.new_is_master, 0, 1);
|
||||||
|
|
||||||
// 概述模式设置
|
// 概述模式设置
|
||||||
|
|
@ -2623,8 +2623,8 @@ void set_value_default() {
|
||||||
config.default_nmaster = default_nmaster; // 默认master数量
|
config.default_nmaster = default_nmaster; // 默认master数量
|
||||||
config.center_master_overspread =
|
config.center_master_overspread =
|
||||||
center_master_overspread; // 中心master时是否铺满
|
center_master_overspread; // 中心master时是否铺满
|
||||||
config.center_when_single_slave =
|
config.center_when_single_stack =
|
||||||
center_when_single_slave; // 单个slave时是否居中
|
center_when_single_stack; // 单个stack时是否居中
|
||||||
|
|
||||||
config.numlockon = numlockon; // 是否打开右边小键盘
|
config.numlockon = numlockon; // 是否打开右边小键盘
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ unsigned int new_is_master = 1; // 新窗口是否插在头部
|
||||||
double default_mfact = 0.55f; // master 窗口比例
|
double default_mfact = 0.55f; // master 窗口比例
|
||||||
unsigned int default_nmaster = 1; // 默认master数量
|
unsigned int default_nmaster = 1; // 默认master数量
|
||||||
int center_master_overspread = 0; // 中心master时是否铺满
|
int center_master_overspread = 0; // 中心master时是否铺满
|
||||||
int center_when_single_slave = 1; // 单个slave时是否居中
|
int center_when_single_stack = 1; // 单个stack时是否居中
|
||||||
/* logging */
|
/* logging */
|
||||||
int log_level = WLR_ERROR;
|
int log_level = WLR_ERROR;
|
||||||
unsigned int numlockon = 1; // 是否打开右边小键盘
|
unsigned int numlockon = 1; // 是否打开右边小键盘
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ void set_size_per(Monitor *m, Client *c) {
|
||||||
if (VISIBLEON(fc, m) && ISTILED(fc) && fc != c) {
|
if (VISIBLEON(fc, m) && ISTILED(fc) && fc != c) {
|
||||||
c->master_mfact_per = fc->master_mfact_per;
|
c->master_mfact_per = fc->master_mfact_per;
|
||||||
c->master_inner_per = fc->master_inner_per;
|
c->master_inner_per = fc->master_inner_per;
|
||||||
c->slave_innder_per = fc->slave_innder_per;
|
c->stack_innder_per = fc->stack_innder_per;
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,7 @@ void set_size_per(Monitor *m, Client *c) {
|
||||||
if (!found) {
|
if (!found) {
|
||||||
c->master_mfact_per = 0.5f;
|
c->master_mfact_per = 0.5f;
|
||||||
c->master_inner_per = 1.0f;
|
c->master_inner_per = 1.0f;
|
||||||
c->slave_innder_per = 1.0f;
|
c->stack_innder_per = 1.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
|
||||||
// 记录初始状态
|
// 记录初始状态
|
||||||
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
||||||
grabc->old_master_inner_per = grabc->master_inner_per;
|
grabc->old_master_inner_per = grabc->master_inner_per;
|
||||||
grabc->old_slave_innder_per = grabc->slave_innder_per;
|
grabc->old_stack_innder_per = grabc->stack_innder_per;
|
||||||
grabc->cursor_in_upper_half =
|
grabc->cursor_in_upper_half =
|
||||||
cursor->y < grabc->geom.y + grabc->geom.height / 2;
|
cursor->y < grabc->geom.y + grabc->geom.height / 2;
|
||||||
grabc->cursor_in_left_half =
|
grabc->cursor_in_left_half =
|
||||||
|
|
@ -87,7 +87,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
|
||||||
} else {
|
} else {
|
||||||
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
||||||
grabc->old_master_inner_per = grabc->master_inner_per;
|
grabc->old_master_inner_per = grabc->master_inner_per;
|
||||||
grabc->old_slave_innder_per = grabc->slave_innder_per;
|
grabc->old_stack_innder_per = grabc->stack_innder_per;
|
||||||
grabc->drag_begin_geom = grabc->geom;
|
grabc->drag_begin_geom = grabc->geom;
|
||||||
grabc->cursor_in_upper_half = false;
|
grabc->cursor_in_upper_half = false;
|
||||||
grabc->cursor_in_left_half = false;
|
grabc->cursor_in_left_half = false;
|
||||||
|
|
@ -101,7 +101,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
|
||||||
} else {
|
} else {
|
||||||
delta_x = (float)(offsetx) * (1 - grabc->old_master_mfact_per) /
|
delta_x = (float)(offsetx) * (1 - grabc->old_master_mfact_per) /
|
||||||
grabc->drag_begin_geom.width;
|
grabc->drag_begin_geom.width;
|
||||||
delta_y = (float)(offsety) * (grabc->old_slave_innder_per) /
|
delta_y = (float)(offsety) * (grabc->old_stack_innder_per) /
|
||||||
grabc->drag_begin_geom.height;
|
grabc->drag_begin_geom.height;
|
||||||
}
|
}
|
||||||
bool moving_up;
|
bool moving_up;
|
||||||
|
|
@ -163,7 +163,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
|
||||||
delta_y = delta_y * 2;
|
delta_y = delta_y * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!grabc->ismaster && grabc->isleftslave && type == CENTER_TILE) {
|
if (!grabc->ismaster && grabc->isleftstack && type == CENTER_TILE) {
|
||||||
delta_x = delta_x * -1.0f;
|
delta_x = delta_x * -1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -179,12 +179,12 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
|
||||||
// 直接设置新的比例,基于初始值 + 变化量
|
// 直接设置新的比例,基于初始值 + 变化量
|
||||||
float new_master_mfact_per = grabc->old_master_mfact_per + delta_x;
|
float new_master_mfact_per = grabc->old_master_mfact_per + delta_x;
|
||||||
float new_master_inner_per = grabc->old_master_inner_per + delta_y;
|
float new_master_inner_per = grabc->old_master_inner_per + delta_y;
|
||||||
float new_slave_innder_per = grabc->old_slave_innder_per + delta_y;
|
float new_stack_innder_per = grabc->old_stack_innder_per + delta_y;
|
||||||
|
|
||||||
// 应用限制,确保比例在合理范围内
|
// 应用限制,确保比例在合理范围内
|
||||||
new_master_mfact_per = fmaxf(0.1f, fminf(0.9f, new_master_mfact_per));
|
new_master_mfact_per = fmaxf(0.1f, fminf(0.9f, new_master_mfact_per));
|
||||||
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_slave_innder_per = fmaxf(0.1f, fminf(0.9f, new_slave_innder_per));
|
new_stack_innder_per = fmaxf(0.1f, fminf(0.9f, new_stack_innder_per));
|
||||||
|
|
||||||
// 应用到所有平铺窗口
|
// 应用到所有平铺窗口
|
||||||
wl_list_for_each(tc, &clients, link) {
|
wl_list_for_each(tc, &clients, link) {
|
||||||
|
|
@ -194,7 +194,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
|
||||||
}
|
}
|
||||||
|
|
||||||
grabc->master_inner_per = new_master_inner_per;
|
grabc->master_inner_per = new_master_inner_per;
|
||||||
grabc->slave_innder_per = new_slave_innder_per;
|
grabc->stack_innder_per = new_stack_innder_per;
|
||||||
|
|
||||||
if (!isdrag) {
|
if (!isdrag) {
|
||||||
arrange(grabc->mon, false);
|
arrange(grabc->mon, false);
|
||||||
|
|
@ -248,7 +248,7 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
|
||||||
// 记录初始状态
|
// 记录初始状态
|
||||||
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
||||||
grabc->old_master_inner_per = grabc->master_inner_per;
|
grabc->old_master_inner_per = grabc->master_inner_per;
|
||||||
grabc->old_slave_innder_per = grabc->slave_innder_per;
|
grabc->old_stack_innder_per = grabc->stack_innder_per;
|
||||||
grabc->cursor_in_upper_half =
|
grabc->cursor_in_upper_half =
|
||||||
cursor->y < grabc->geom.y + grabc->geom.height / 2;
|
cursor->y < grabc->geom.y + grabc->geom.height / 2;
|
||||||
grabc->cursor_in_left_half =
|
grabc->cursor_in_left_half =
|
||||||
|
|
@ -265,7 +265,7 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
|
||||||
} else {
|
} else {
|
||||||
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
||||||
grabc->old_master_inner_per = grabc->master_inner_per;
|
grabc->old_master_inner_per = grabc->master_inner_per;
|
||||||
grabc->old_slave_innder_per = grabc->slave_innder_per;
|
grabc->old_stack_innder_per = grabc->stack_innder_per;
|
||||||
grabc->drag_begin_geom = grabc->geom;
|
grabc->drag_begin_geom = grabc->geom;
|
||||||
grabc->cursor_in_upper_half = false;
|
grabc->cursor_in_upper_half = false;
|
||||||
grabc->cursor_in_left_half = false;
|
grabc->cursor_in_left_half = false;
|
||||||
|
|
@ -278,7 +278,7 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
|
||||||
delta_y = (float)(offsety) * (grabc->old_master_mfact_per) /
|
delta_y = (float)(offsety) * (grabc->old_master_mfact_per) /
|
||||||
grabc->drag_begin_geom.height;
|
grabc->drag_begin_geom.height;
|
||||||
} else {
|
} else {
|
||||||
delta_x = (float)(offsetx) * (grabc->old_slave_innder_per) /
|
delta_x = (float)(offsetx) * (grabc->old_stack_innder_per) /
|
||||||
grabc->drag_begin_geom.width;
|
grabc->drag_begin_geom.width;
|
||||||
delta_y = (float)(offsety) * (1 - grabc->old_master_mfact_per) /
|
delta_y = (float)(offsety) * (1 - grabc->old_master_mfact_per) /
|
||||||
grabc->drag_begin_geom.height;
|
grabc->drag_begin_geom.height;
|
||||||
|
|
@ -336,13 +336,13 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
|
||||||
delta_y; // 垂直:delta_y调整主区域高度
|
delta_y; // 垂直:delta_y调整主区域高度
|
||||||
float new_master_inner_per = grabc->old_master_inner_per +
|
float new_master_inner_per = grabc->old_master_inner_per +
|
||||||
delta_x; // 垂直:delta_x调整主区域内部宽度
|
delta_x; // 垂直:delta_x调整主区域内部宽度
|
||||||
float new_slave_innder_per = grabc->old_slave_innder_per +
|
float new_stack_innder_per = grabc->old_stack_innder_per +
|
||||||
delta_x; // 垂直:delta_x调整栈区域内部宽度
|
delta_x; // 垂直:delta_x调整栈区域内部宽度
|
||||||
|
|
||||||
// 应用限制,确保比例在合理范围内
|
// 应用限制,确保比例在合理范围内
|
||||||
new_master_mfact_per = fmaxf(0.1f, fminf(0.9f, new_master_mfact_per));
|
new_master_mfact_per = fmaxf(0.1f, fminf(0.9f, new_master_mfact_per));
|
||||||
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_slave_innder_per = fmaxf(0.1f, fminf(0.9f, new_slave_innder_per));
|
new_stack_innder_per = fmaxf(0.1f, fminf(0.9f, new_stack_innder_per));
|
||||||
|
|
||||||
// 应用到所有平铺窗口
|
// 应用到所有平铺窗口
|
||||||
wl_list_for_each(tc, &clients, link) {
|
wl_list_for_each(tc, &clients, link) {
|
||||||
|
|
@ -352,7 +352,7 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
|
||||||
}
|
}
|
||||||
|
|
||||||
grabc->master_inner_per = new_master_inner_per;
|
grabc->master_inner_per = new_master_inner_per;
|
||||||
grabc->slave_innder_per = new_slave_innder_per;
|
grabc->stack_innder_per = new_stack_innder_per;
|
||||||
|
|
||||||
if (!isdrag) {
|
if (!isdrag) {
|
||||||
arrange(grabc->mon, false);
|
arrange(grabc->mon, false);
|
||||||
|
|
@ -397,7 +397,7 @@ void resize_tile_scroller(Client *grabc, bool isdrag, int offsetx, int offsety,
|
||||||
} else {
|
} else {
|
||||||
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
grabc->old_master_mfact_per = grabc->master_mfact_per;
|
||||||
grabc->old_master_inner_per = grabc->master_inner_per;
|
grabc->old_master_inner_per = grabc->master_inner_per;
|
||||||
grabc->old_slave_innder_per = grabc->slave_innder_per;
|
grabc->old_stack_innder_per = grabc->stack_innder_per;
|
||||||
grabc->drag_begin_geom = grabc->geom;
|
grabc->drag_begin_geom = grabc->geom;
|
||||||
grabc->old_scroller_pproportion = grabc->scroller_proportion;
|
grabc->old_scroller_pproportion = grabc->scroller_proportion;
|
||||||
grabc->cursor_in_upper_half = false;
|
grabc->cursor_in_upper_half = false;
|
||||||
|
|
@ -489,11 +489,11 @@ void resize_tile_client(Client *grabc, bool isdrag, int offsetx, int offsety,
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset_size_per_mon(Monitor *m, int tile_cilent_num,
|
void reset_size_per_mon(Monitor *m, int tile_cilent_num,
|
||||||
double total_left_slave_hight_percent,
|
double total_left_stack_hight_percent,
|
||||||
double total_right_slave_hight_percent,
|
double total_right_stack_hight_percent,
|
||||||
double total_slave_hight_percent,
|
double total_stack_hight_percent,
|
||||||
double total_master_inner_percent, int master_num,
|
double total_master_inner_percent, int master_num,
|
||||||
int slave_num) {
|
int stack_num) {
|
||||||
Client *c;
|
Client *c;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
unsigned int stack_index;
|
unsigned int stack_index;
|
||||||
|
|
@ -508,15 +508,15 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
|
||||||
return;
|
return;
|
||||||
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
||||||
c->ismaster = true;
|
c->ismaster = true;
|
||||||
c->slave_innder_per = slave_num ? 1.0f / slave_num : 1.0f;
|
c->stack_innder_per = stack_num ? 1.0f / stack_num : 1.0f;
|
||||||
c->master_inner_per =
|
c->master_inner_per =
|
||||||
c->master_inner_per / total_master_inner_percent;
|
c->master_inner_per / total_master_inner_percent;
|
||||||
} else {
|
} else {
|
||||||
c->ismaster = false;
|
c->ismaster = false;
|
||||||
c->master_inner_per = 1.0f / master_num;
|
c->master_inner_per = 1.0f / master_num;
|
||||||
c->slave_innder_per =
|
c->stack_innder_per =
|
||||||
total_slave_hight_percent
|
total_stack_hight_percent
|
||||||
? c->slave_innder_per / total_slave_hight_percent
|
? c->stack_innder_per / total_stack_hight_percent
|
||||||
: 1.0f;
|
: 1.0f;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
|
|
@ -530,8 +530,8 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
|
||||||
return;
|
return;
|
||||||
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
||||||
c->ismaster = true;
|
c->ismaster = true;
|
||||||
c->slave_innder_per =
|
c->stack_innder_per =
|
||||||
slave_num > 1 ? 2.0f / slave_num : 1.0f;
|
stack_num > 1 ? 2.0f / stack_num : 1.0f;
|
||||||
c->master_inner_per =
|
c->master_inner_per =
|
||||||
c->master_inner_per / total_master_inner_percent;
|
c->master_inner_per / total_master_inner_percent;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -540,16 +540,16 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
|
||||||
c->ismaster = false;
|
c->ismaster = false;
|
||||||
c->master_inner_per = 1.0f / master_num;
|
c->master_inner_per = 1.0f / master_num;
|
||||||
if ((stack_index % 2) ^ (tile_cilent_num % 2 == 0)) {
|
if ((stack_index % 2) ^ (tile_cilent_num % 2 == 0)) {
|
||||||
c->slave_innder_per =
|
c->stack_innder_per =
|
||||||
total_right_slave_hight_percent
|
total_right_stack_hight_percent
|
||||||
? c->slave_innder_per /
|
? c->stack_innder_per /
|
||||||
total_right_slave_hight_percent
|
total_right_stack_hight_percent
|
||||||
: 1.0f;
|
: 1.0f;
|
||||||
} else {
|
} else {
|
||||||
c->slave_innder_per =
|
c->stack_innder_per =
|
||||||
total_left_slave_hight_percent
|
total_left_stack_hight_percent
|
||||||
? c->slave_innder_per /
|
? c->stack_innder_per /
|
||||||
total_left_slave_hight_percent
|
total_left_stack_hight_percent
|
||||||
: 1.0f;
|
: 1.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -562,15 +562,15 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
|
||||||
void // 17
|
void // 17
|
||||||
arrange(Monitor *m, bool want_animation) {
|
arrange(Monitor *m, bool want_animation) {
|
||||||
Client *c = NULL;
|
Client *c = NULL;
|
||||||
double total_slave_innder_percent = 0;
|
double total_stack_innder_percent = 0;
|
||||||
double total_master_inner_percent = 0;
|
double total_master_inner_percent = 0;
|
||||||
double total_right_slave_hight_percent = 0;
|
double total_right_stack_hight_percent = 0;
|
||||||
double total_left_slave_hight_percent = 0;
|
double total_left_stack_hight_percent = 0;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int nmasters = 0;
|
int nmasters = 0;
|
||||||
int stack_index = 0;
|
int stack_index = 0;
|
||||||
int master_num = 0;
|
int master_num = 0;
|
||||||
int slave_num = 0;
|
int stack_num = 0;
|
||||||
|
|
||||||
if (!m)
|
if (!m)
|
||||||
return;
|
return;
|
||||||
|
|
@ -609,18 +609,18 @@ arrange(Monitor *m, bool want_animation) {
|
||||||
master_num++;
|
master_num++;
|
||||||
total_master_inner_percent += c->master_inner_per;
|
total_master_inner_percent += c->master_inner_per;
|
||||||
} else {
|
} else {
|
||||||
slave_num++;
|
stack_num++;
|
||||||
total_slave_innder_percent += c->slave_innder_per;
|
total_stack_innder_percent += c->stack_innder_per;
|
||||||
stack_index = i - nmasters;
|
stack_index = i - nmasters;
|
||||||
if ((stack_index % 2) ^
|
if ((stack_index % 2) ^
|
||||||
(m->visible_tiling_clients % 2 == 0)) {
|
(m->visible_tiling_clients % 2 == 0)) {
|
||||||
c->isleftslave = false;
|
c->isleftstack = false;
|
||||||
total_right_slave_hight_percent +=
|
total_right_stack_hight_percent +=
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
} else {
|
} else {
|
||||||
c->isleftslave = true;
|
c->isleftstack = true;
|
||||||
total_left_slave_hight_percent +=
|
total_left_stack_hight_percent +=
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -640,9 +640,9 @@ arrange(Monitor *m, bool want_animation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
reset_size_per_mon(
|
reset_size_per_mon(
|
||||||
m, m->visible_tiling_clients, total_left_slave_hight_percent,
|
m, m->visible_tiling_clients, total_left_stack_hight_percent,
|
||||||
total_right_slave_hight_percent, total_slave_innder_percent,
|
total_right_stack_hight_percent, total_stack_innder_percent,
|
||||||
total_master_inner_percent, master_num, slave_num);
|
total_master_inner_percent, master_num, stack_num);
|
||||||
|
|
||||||
if (m->isoverview) {
|
if (m->isoverview) {
|
||||||
overviewlayout.arrange(m);
|
overviewlayout.arrange(m);
|
||||||
|
|
|
||||||
|
|
@ -328,11 +328,11 @@ void center_tile(Monitor *m) {
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
double mfact = 0;
|
double mfact = 0;
|
||||||
int master_num = 0;
|
int master_num = 0;
|
||||||
int slave_num = 0;
|
int stack_num = 0;
|
||||||
|
|
||||||
n = m->visible_tiling_clients;
|
n = m->visible_tiling_clients;
|
||||||
master_num = m->pertag->nmasters[m->pertag->curtag];
|
master_num = m->pertag->nmasters[m->pertag->curtag];
|
||||||
slave_num = n - master_num;
|
stack_num = n - master_num;
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
@ -379,12 +379,12 @@ void center_tile(Monitor *m) {
|
||||||
mx = cur_gappoh + tw + cur_gappih * ie;
|
mx = cur_gappoh + tw + cur_gappih * ie;
|
||||||
} else if (n - nmasters == 1) {
|
} else if (n - nmasters == 1) {
|
||||||
// 单个堆叠窗口的处理
|
// 单个堆叠窗口的处理
|
||||||
if (center_when_single_slave) {
|
if (center_when_single_stack) {
|
||||||
// slave在右边,master居中,左边空着
|
// stack在右边,master居中,左边空着
|
||||||
tw = (m->w.width - mw) / 2 - cur_gappoh - cur_gappih * ie;
|
tw = (m->w.width - mw) / 2 - cur_gappoh - cur_gappih * ie;
|
||||||
mx = cur_gappoh + tw + cur_gappih * ie; // master居中
|
mx = cur_gappoh + tw + cur_gappih * ie; // master居中
|
||||||
} else {
|
} else {
|
||||||
// slave在右边,master在左边
|
// stack在右边,master在左边
|
||||||
tw = m->w.width - mw - 2 * cur_gappoh - cur_gappih * ie;
|
tw = m->w.width - mw - 2 * cur_gappoh - cur_gappih * ie;
|
||||||
mx = cur_gappoh; // master在左边
|
mx = cur_gappoh; // master在左边
|
||||||
}
|
}
|
||||||
|
|
@ -439,26 +439,26 @@ void center_tile(Monitor *m) {
|
||||||
if (n - nmasters == 1) {
|
if (n - nmasters == 1) {
|
||||||
// 单个堆叠窗口
|
// 单个堆叠窗口
|
||||||
r = n - i;
|
r = n - i;
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->stack_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (slave_num - 1)) *
|
cur_gappiv * ie * (stack_num - 1)) *
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
h = (m->w.height - ety - cur_gappov -
|
h = (m->w.height - ety - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) /
|
cur_gappiv * ie * (r - 1)) /
|
||||||
r;
|
r;
|
||||||
c->slave_innder_per = h / (m->w.height - ety - cur_gappov -
|
c->stack_innder_per = h / (m->w.height - ety - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1));
|
cur_gappiv * ie * (r - 1));
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
}
|
}
|
||||||
|
|
||||||
int stack_x;
|
int stack_x;
|
||||||
if (center_when_single_slave) {
|
if (center_when_single_stack) {
|
||||||
// 放在右侧(master居中时,slave在右边)
|
// 放在右侧(master居中时,stack在右边)
|
||||||
stack_x = m->w.x + mx + mw + cur_gappih * ie;
|
stack_x = m->w.x + mx + mw + cur_gappih * ie;
|
||||||
} else {
|
} else {
|
||||||
// 放在右侧(master在左边时,slave在右边)
|
// 放在右侧(master在左边时,stack在右边)
|
||||||
stack_x = m->w.x + mx + mw + cur_gappih * ie;
|
stack_x = m->w.x + mx + mw + cur_gappih * ie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -475,16 +475,16 @@ void center_tile(Monitor *m) {
|
||||||
|
|
||||||
if ((stack_index % 2) ^ (n % 2 == 0)) {
|
if ((stack_index % 2) ^ (n % 2 == 0)) {
|
||||||
// 右侧堆叠窗口
|
// 右侧堆叠窗口
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->stack_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (slave_num / 2 - 1)) *
|
cur_gappiv * ie * (stack_num / 2 - 1)) *
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
h = (m->w.height - ety - cur_gappov -
|
h = (m->w.height - ety - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) /
|
cur_gappiv * ie * (r - 1)) /
|
||||||
r;
|
r;
|
||||||
c->slave_innder_per =
|
c->stack_innder_per =
|
||||||
h / (m->w.height - ety - cur_gappov -
|
h / (m->w.height - ety - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1));
|
cur_gappiv * ie * (r - 1));
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
|
|
@ -500,16 +500,16 @@ void center_tile(Monitor *m) {
|
||||||
ety += c->geom.height + cur_gappiv * ie;
|
ety += c->geom.height + cur_gappiv * ie;
|
||||||
} else {
|
} else {
|
||||||
// 左侧堆叠窗口
|
// 左侧堆叠窗口
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->stack_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (slave_num / 2 - 1)) *
|
cur_gappiv * ie * (stack_num / 2 - 1)) *
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
h = (m->w.height - oty - cur_gappov -
|
h = (m->w.height - oty - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) /
|
cur_gappiv * ie * (r - 1)) /
|
||||||
r;
|
r;
|
||||||
c->slave_innder_per =
|
c->stack_innder_per =
|
||||||
h / (m->w.height - oty - cur_gappov -
|
h / (m->w.height - oty - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1));
|
cur_gappiv * ie * (r - 1));
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
|
|
@ -536,11 +536,11 @@ void tile(Monitor *m) {
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
double mfact = 0;
|
double mfact = 0;
|
||||||
int master_num = 0;
|
int master_num = 0;
|
||||||
int slave_num = 0;
|
int stack_num = 0;
|
||||||
|
|
||||||
n = m->visible_tiling_clients;
|
n = m->visible_tiling_clients;
|
||||||
master_num = m->pertag->nmasters[m->pertag->curtag];
|
master_num = m->pertag->nmasters[m->pertag->curtag];
|
||||||
slave_num = n - master_num;
|
stack_num = n - master_num;
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
@ -599,21 +599,21 @@ void tile(Monitor *m) {
|
||||||
my += c->geom.height + cur_gappiv * ie;
|
my += c->geom.height + cur_gappiv * ie;
|
||||||
} else {
|
} else {
|
||||||
r = n - i;
|
r = n - i;
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->stack_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (slave_num - 1)) *
|
cur_gappiv * ie * (stack_num - 1)) *
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
h = (m->w.height - ty - cur_gappov -
|
h = (m->w.height - ty - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) /
|
cur_gappiv * ie * (r - 1)) /
|
||||||
r;
|
r;
|
||||||
c->slave_innder_per = h / (m->w.height - ty - cur_gappov -
|
c->stack_innder_per = h / (m->w.height - ty - cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1));
|
cur_gappiv * ie * (r - 1));
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
}
|
}
|
||||||
|
|
||||||
// wlr_log(WLR_ERROR, "slave_innder_per: %f", c->slave_innder_per);
|
// wlr_log(WLR_ERROR, "stack_innder_per: %f", c->stack_innder_per);
|
||||||
|
|
||||||
resize(c,
|
resize(c,
|
||||||
(struct wlr_box){.x = m->w.x + mw + cur_gappoh,
|
(struct wlr_box){.x = m->w.x + mw + cur_gappoh,
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@ void vertical_tile(Monitor *m) {
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
double mfact = 0;
|
double mfact = 0;
|
||||||
int master_num = 0;
|
int master_num = 0;
|
||||||
int slave_num = 0;
|
int stack_num = 0;
|
||||||
|
|
||||||
n = m->visible_tiling_clients;
|
n = m->visible_tiling_clients;
|
||||||
master_num = m->pertag->nmasters[m->pertag->curtag];
|
master_num = m->pertag->nmasters[m->pertag->curtag];
|
||||||
slave_num = n - master_num;
|
stack_num = n - master_num;
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
@ -66,15 +66,15 @@ void vertical_tile(Monitor *m) {
|
||||||
mx += c->geom.width + cur_gapih * ie;
|
mx += c->geom.width + cur_gapih * ie;
|
||||||
} else {
|
} else {
|
||||||
r = n - i;
|
r = n - i;
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->stack_innder_per > 0.0f) {
|
||||||
w = (m->w.width - 2 * cur_gapih -
|
w = (m->w.width - 2 * cur_gapih -
|
||||||
cur_gapih * ie * (slave_num - 1)) *
|
cur_gapih * ie * (stack_num - 1)) *
|
||||||
c->slave_innder_per;
|
c->stack_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
w = (m->w.width - tx - cur_gapih - cur_gapih * ie * (r - 1)) /
|
w = (m->w.width - tx - cur_gapih - cur_gapih * ie * (r - 1)) /
|
||||||
r;
|
r;
|
||||||
c->slave_innder_per = w / (m->w.width - tx - cur_gapih -
|
c->stack_innder_per = w / (m->w.width - tx - cur_gapih -
|
||||||
cur_gapih * ie * (r - 1));
|
cur_gapih * ie * (r - 1));
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
16
src/mango.c
16
src/mango.c
|
|
@ -338,12 +338,12 @@ struct Client {
|
||||||
float unfocused_opacity;
|
float unfocused_opacity;
|
||||||
char oldmonname[128];
|
char oldmonname[128];
|
||||||
int noblur;
|
int noblur;
|
||||||
double master_mfact_per, master_inner_per, slave_innder_per;
|
double master_mfact_per, master_inner_per, stack_innder_per;
|
||||||
double old_master_mfact_per, old_master_inner_per, old_slave_innder_per;
|
double old_master_mfact_per, old_master_inner_per, old_stack_innder_per;
|
||||||
double old_scroller_pproportion;
|
double old_scroller_pproportion;
|
||||||
bool ismaster;
|
bool ismaster;
|
||||||
bool cursor_in_upper_half, cursor_in_left_half;
|
bool cursor_in_upper_half, cursor_in_left_half;
|
||||||
bool isleftslave;
|
bool isleftstack;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
@ -3510,7 +3510,7 @@ void init_client_properties(Client *c) {
|
||||||
c->iscustomsize = 0;
|
c->iscustomsize = 0;
|
||||||
c->master_mfact_per = 0.0f;
|
c->master_mfact_per = 0.0f;
|
||||||
c->master_inner_per = 0.0f;
|
c->master_inner_per = 0.0f;
|
||||||
c->slave_innder_per = 0.0f;
|
c->stack_innder_per = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void // old fix to 0.5
|
void // old fix to 0.5
|
||||||
|
|
@ -4149,7 +4149,7 @@ void exchange_two_client(Client *c1, Client *c2) {
|
||||||
unsigned int tmp_tags;
|
unsigned int tmp_tags;
|
||||||
double master_inner_per = 0.0f;
|
double master_inner_per = 0.0f;
|
||||||
double master_mfact_per = 0.0f;
|
double master_mfact_per = 0.0f;
|
||||||
double slave_innder_per = 0.0f;
|
double stack_innder_per = 0.0f;
|
||||||
|
|
||||||
if (c1 == NULL || c2 == NULL ||
|
if (c1 == NULL || c2 == NULL ||
|
||||||
(!exchange_cross_monitor && c1->mon != c2->mon)) {
|
(!exchange_cross_monitor && c1->mon != c2->mon)) {
|
||||||
|
|
@ -4158,15 +4158,15 @@ void exchange_two_client(Client *c1, Client *c2) {
|
||||||
|
|
||||||
master_inner_per = c1->master_inner_per;
|
master_inner_per = c1->master_inner_per;
|
||||||
master_mfact_per = c1->master_mfact_per;
|
master_mfact_per = c1->master_mfact_per;
|
||||||
slave_innder_per = c1->slave_innder_per;
|
stack_innder_per = c1->stack_innder_per;
|
||||||
|
|
||||||
c1->master_inner_per = c2->master_inner_per;
|
c1->master_inner_per = c2->master_inner_per;
|
||||||
c1->master_mfact_per = c2->master_mfact_per;
|
c1->master_mfact_per = c2->master_mfact_per;
|
||||||
c1->slave_innder_per = c2->slave_innder_per;
|
c1->stack_innder_per = c2->stack_innder_per;
|
||||||
|
|
||||||
c2->master_inner_per = master_inner_per;
|
c2->master_inner_per = master_inner_per;
|
||||||
c2->master_mfact_per = master_mfact_per;
|
c2->master_mfact_per = master_mfact_per;
|
||||||
c2->slave_innder_per = slave_innder_per;
|
c2->stack_innder_per = stack_innder_per;
|
||||||
|
|
||||||
struct wl_list *tmp1_prev = c1->link.prev;
|
struct wl_list *tmp1_prev = c1->link.prev;
|
||||||
struct wl_list *tmp2_prev = c2->link.prev;
|
struct wl_list *tmp2_prev = c2->link.prev;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue