opt: optimize var name

This commit is contained in:
DreamMaoMao 2025-10-11 09:57:21 +08:00
parent c6b0e632d4
commit ee2a63fdcc
8 changed files with 99 additions and 99 deletions

View file

@ -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)
- Smooth and customizable complete animations (window open/move/close, tag enter/leave,layer open/close/move)
- 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.)
- Simple yet powerful external configuration(support shortcuts hot-reload)
- Sway-like scratchpad and named scratchpad

View file

@ -224,7 +224,7 @@ bind=ALT+SHIFT,Z,incgaps,-1
bind=ALT+SHIFT,R,togglegaps
# 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,l,setmfact,+0.05

View file

@ -204,7 +204,7 @@ typedef struct {
float default_mfact;
unsigned int default_nmaster;
int center_master_overspread;
int center_when_single_slave;
int center_when_single_stack;
unsigned int hotarea_size;
unsigned int enable_hotarea;
@ -1262,8 +1262,8 @@ void parse_option(Config *config, char *key, char *value) {
config->default_nmaster = atoi(value);
} else if (strcmp(key, "center_master_overspread") == 0) {
config->center_master_overspread = atoi(value);
} else if (strcmp(key, "center_when_single_slave") == 0) {
config->center_when_single_slave = atoi(value);
} else if (strcmp(key, "center_when_single_stack") == 0) {
config->center_when_single_stack = atoi(value);
} else if (strcmp(key, "hotarea_size") == 0) {
config->hotarea_size = atoi(value);
} 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_nmaster = CLAMP_INT(config.default_nmaster, 1, 1000);
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);
// 概述模式设置
@ -2623,8 +2623,8 @@ void set_value_default() {
config.default_nmaster = default_nmaster; // 默认master数量
config.center_master_overspread =
center_master_overspread; // 中心master时是否铺满
config.center_when_single_slave =
center_when_single_slave; // 单个slave时是否居中
config.center_when_single_stack =
center_when_single_stack; // 单个stack时是否居中
config.numlockon = numlockon; // 是否打开右边小键盘

View file

@ -37,7 +37,7 @@ unsigned int new_is_master = 1; // 新窗口是否插在头部
double default_mfact = 0.55f; // master 窗口比例
unsigned int default_nmaster = 1; // 默认master数量
int center_master_overspread = 0; // 中心master时是否铺满
int center_when_single_slave = 1; // 单个slave时是否居中
int center_when_single_stack = 1; // 单个stack时是否居中
/* logging */
int log_level = WLR_ERROR;
unsigned int numlockon = 1; // 是否打开右边小键盘

View file

@ -5,7 +5,7 @@ void set_size_per(Monitor *m, Client *c) {
if (VISIBLEON(fc, m) && ISTILED(fc) && fc != c) {
c->master_mfact_per = fc->master_mfact_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;
break;
}
@ -14,7 +14,7 @@ void set_size_per(Monitor *m, Client *c) {
if (!found) {
c->master_mfact_per = 0.5f;
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_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 =
cursor->y < grabc->geom.y + grabc->geom.height / 2;
grabc->cursor_in_left_half =
@ -87,7 +87,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
} else {
grabc->old_master_mfact_per = grabc->master_mfact_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->cursor_in_upper_half = false;
grabc->cursor_in_left_half = false;
@ -101,7 +101,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
} else {
delta_x = (float)(offsetx) * (1 - grabc->old_master_mfact_per) /
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;
}
bool moving_up;
@ -163,7 +163,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
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;
}
@ -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_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_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) {
@ -194,7 +194,7 @@ void resize_tile_master_horizontal(Client *grabc, bool isdrag, int offsetx,
}
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) {
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_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 =
cursor->y < grabc->geom.y + grabc->geom.height / 2;
grabc->cursor_in_left_half =
@ -265,7 +265,7 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
} else {
grabc->old_master_mfact_per = grabc->master_mfact_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->cursor_in_upper_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) /
grabc->drag_begin_geom.height;
} else {
delta_x = (float)(offsetx) * (grabc->old_slave_innder_per) /
delta_x = (float)(offsetx) * (grabc->old_stack_innder_per) /
grabc->drag_begin_geom.width;
delta_y = (float)(offsety) * (1 - grabc->old_master_mfact_per) /
grabc->drag_begin_geom.height;
@ -336,13 +336,13 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
delta_y; // 垂直delta_y调整主区域高度
float new_master_inner_per = grabc->old_master_inner_per +
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调整栈区域内部宽度
// 应用限制,确保比例在合理范围内
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_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) {
@ -352,7 +352,7 @@ void resize_tile_master_vertical(Client *grabc, bool isdrag, int offsetx,
}
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) {
arrange(grabc->mon, false);
@ -397,7 +397,7 @@ void resize_tile_scroller(Client *grabc, bool isdrag, int offsetx, int offsety,
} else {
grabc->old_master_mfact_per = grabc->master_mfact_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->old_scroller_pproportion = grabc->scroller_proportion;
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,
double total_left_slave_hight_percent,
double total_right_slave_hight_percent,
double total_slave_hight_percent,
double total_left_stack_hight_percent,
double total_right_stack_hight_percent,
double total_stack_hight_percent,
double total_master_inner_percent, int master_num,
int slave_num) {
int stack_num) {
Client *c;
int i = 0;
unsigned int stack_index;
@ -508,15 +508,15 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
return;
if (i < m->pertag->nmasters[m->pertag->curtag]) {
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 / total_master_inner_percent;
} else {
c->ismaster = false;
c->master_inner_per = 1.0f / master_num;
c->slave_innder_per =
total_slave_hight_percent
? c->slave_innder_per / total_slave_hight_percent
c->stack_innder_per =
total_stack_hight_percent
? c->stack_innder_per / total_stack_hight_percent
: 1.0f;
}
i++;
@ -530,8 +530,8 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
return;
if (i < m->pertag->nmasters[m->pertag->curtag]) {
c->ismaster = true;
c->slave_innder_per =
slave_num > 1 ? 2.0f / slave_num : 1.0f;
c->stack_innder_per =
stack_num > 1 ? 2.0f / stack_num : 1.0f;
c->master_inner_per =
c->master_inner_per / total_master_inner_percent;
} else {
@ -540,16 +540,16 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
c->ismaster = false;
c->master_inner_per = 1.0f / master_num;
if ((stack_index % 2) ^ (tile_cilent_num % 2 == 0)) {
c->slave_innder_per =
total_right_slave_hight_percent
? c->slave_innder_per /
total_right_slave_hight_percent
c->stack_innder_per =
total_right_stack_hight_percent
? c->stack_innder_per /
total_right_stack_hight_percent
: 1.0f;
} else {
c->slave_innder_per =
total_left_slave_hight_percent
? c->slave_innder_per /
total_left_slave_hight_percent
c->stack_innder_per =
total_left_stack_hight_percent
? c->stack_innder_per /
total_left_stack_hight_percent
: 1.0f;
}
}
@ -562,15 +562,15 @@ void reset_size_per_mon(Monitor *m, int tile_cilent_num,
void // 17
arrange(Monitor *m, bool want_animation) {
Client *c = NULL;
double total_slave_innder_percent = 0;
double total_stack_innder_percent = 0;
double total_master_inner_percent = 0;
double total_right_slave_hight_percent = 0;
double total_left_slave_hight_percent = 0;
double total_right_stack_hight_percent = 0;
double total_left_stack_hight_percent = 0;
int i = 0;
int nmasters = 0;
int stack_index = 0;
int master_num = 0;
int slave_num = 0;
int stack_num = 0;
if (!m)
return;
@ -609,18 +609,18 @@ arrange(Monitor *m, bool want_animation) {
master_num++;
total_master_inner_percent += c->master_inner_per;
} else {
slave_num++;
total_slave_innder_percent += c->slave_innder_per;
stack_num++;
total_stack_innder_percent += c->stack_innder_per;
stack_index = i - nmasters;
if ((stack_index % 2) ^
(m->visible_tiling_clients % 2 == 0)) {
c->isleftslave = false;
total_right_slave_hight_percent +=
c->slave_innder_per;
c->isleftstack = false;
total_right_stack_hight_percent +=
c->stack_innder_per;
} else {
c->isleftslave = true;
total_left_slave_hight_percent +=
c->slave_innder_per;
c->isleftstack = true;
total_left_stack_hight_percent +=
c->stack_innder_per;
}
}
@ -640,9 +640,9 @@ arrange(Monitor *m, bool want_animation) {
}
reset_size_per_mon(
m, m->visible_tiling_clients, total_left_slave_hight_percent,
total_right_slave_hight_percent, total_slave_innder_percent,
total_master_inner_percent, master_num, slave_num);
m, m->visible_tiling_clients, total_left_stack_hight_percent,
total_right_stack_hight_percent, total_stack_innder_percent,
total_master_inner_percent, master_num, stack_num);
if (m->isoverview) {
overviewlayout.arrange(m);

View file

@ -328,11 +328,11 @@ void center_tile(Monitor *m) {
Client *fc = NULL;
double mfact = 0;
int master_num = 0;
int slave_num = 0;
int stack_num = 0;
n = m->visible_tiling_clients;
master_num = m->pertag->nmasters[m->pertag->curtag];
slave_num = n - master_num;
stack_num = n - master_num;
if (n == 0)
return;
@ -379,12 +379,12 @@ void center_tile(Monitor *m) {
mx = cur_gappoh + tw + cur_gappih * ie;
} else if (n - nmasters == 1) {
// 单个堆叠窗口的处理
if (center_when_single_slave) {
// slave在右边master居中左边空着
if (center_when_single_stack) {
// stack在右边master居中左边空着
tw = (m->w.width - mw) / 2 - cur_gappoh - cur_gappih * ie;
mx = cur_gappoh + tw + cur_gappih * ie; // master居中
} else {
// slave在右边master在左边
// stack在右边master在左边
tw = m->w.width - mw - 2 * cur_gappoh - cur_gappih * ie;
mx = cur_gappoh; // master在左边
}
@ -439,26 +439,26 @@ void center_tile(Monitor *m) {
if (n - nmasters == 1) {
// 单个堆叠窗口
r = n - i;
if (c->slave_innder_per > 0.0f) {
if (c->stack_innder_per > 0.0f) {
h = (m->w.height - 2 * cur_gappov -
cur_gappiv * ie * (slave_num - 1)) *
c->slave_innder_per;
cur_gappiv * ie * (stack_num - 1)) *
c->stack_innder_per;
c->master_mfact_per = mfact;
} else {
h = (m->w.height - ety - cur_gappov -
cur_gappiv * ie * (r - 1)) /
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));
c->master_mfact_per = mfact;
}
int stack_x;
if (center_when_single_slave) {
// 放在右侧master居中时slave在右边)
if (center_when_single_stack) {
// 放在右侧master居中时stack在右边)
stack_x = m->w.x + mx + mw + cur_gappih * ie;
} else {
// 放在右侧master在左边时slave在右边)
// 放在右侧master在左边时stack在右边)
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 (c->slave_innder_per > 0.0f) {
if (c->stack_innder_per > 0.0f) {
h = (m->w.height - 2 * cur_gappov -
cur_gappiv * ie * (slave_num / 2 - 1)) *
c->slave_innder_per;
cur_gappiv * ie * (stack_num / 2 - 1)) *
c->stack_innder_per;
c->master_mfact_per = mfact;
} else {
h = (m->w.height - ety - cur_gappov -
cur_gappiv * ie * (r - 1)) /
r;
c->slave_innder_per =
c->stack_innder_per =
h / (m->w.height - ety - cur_gappov -
cur_gappiv * ie * (r - 1));
c->master_mfact_per = mfact;
@ -500,16 +500,16 @@ void center_tile(Monitor *m) {
ety += c->geom.height + cur_gappiv * ie;
} else {
// 左侧堆叠窗口
if (c->slave_innder_per > 0.0f) {
if (c->stack_innder_per > 0.0f) {
h = (m->w.height - 2 * cur_gappov -
cur_gappiv * ie * (slave_num / 2 - 1)) *
c->slave_innder_per;
cur_gappiv * ie * (stack_num / 2 - 1)) *
c->stack_innder_per;
c->master_mfact_per = mfact;
} else {
h = (m->w.height - oty - cur_gappov -
cur_gappiv * ie * (r - 1)) /
r;
c->slave_innder_per =
c->stack_innder_per =
h / (m->w.height - oty - cur_gappov -
cur_gappiv * ie * (r - 1));
c->master_mfact_per = mfact;
@ -536,11 +536,11 @@ void tile(Monitor *m) {
Client *fc = NULL;
double mfact = 0;
int master_num = 0;
int slave_num = 0;
int stack_num = 0;
n = m->visible_tiling_clients;
master_num = m->pertag->nmasters[m->pertag->curtag];
slave_num = n - master_num;
stack_num = n - master_num;
if (n == 0)
return;
@ -599,21 +599,21 @@ void tile(Monitor *m) {
my += c->geom.height + cur_gappiv * ie;
} else {
r = n - i;
if (c->slave_innder_per > 0.0f) {
if (c->stack_innder_per > 0.0f) {
h = (m->w.height - 2 * cur_gappov -
cur_gappiv * ie * (slave_num - 1)) *
c->slave_innder_per;
cur_gappiv * ie * (stack_num - 1)) *
c->stack_innder_per;
c->master_mfact_per = mfact;
} else {
h = (m->w.height - ty - cur_gappov -
cur_gappiv * ie * (r - 1)) /
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));
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,
(struct wlr_box){.x = m->w.x + mw + cur_gappoh,

View file

@ -4,11 +4,11 @@ void vertical_tile(Monitor *m) {
Client *fc = NULL;
double mfact = 0;
int master_num = 0;
int slave_num = 0;
int stack_num = 0;
n = m->visible_tiling_clients;
master_num = m->pertag->nmasters[m->pertag->curtag];
slave_num = n - master_num;
stack_num = n - master_num;
if (n == 0)
return;
@ -66,15 +66,15 @@ void vertical_tile(Monitor *m) {
mx += c->geom.width + cur_gapih * ie;
} else {
r = n - i;
if (c->slave_innder_per > 0.0f) {
if (c->stack_innder_per > 0.0f) {
w = (m->w.width - 2 * cur_gapih -
cur_gapih * ie * (slave_num - 1)) *
c->slave_innder_per;
cur_gapih * ie * (stack_num - 1)) *
c->stack_innder_per;
c->master_mfact_per = mfact;
} else {
w = (m->w.width - tx - cur_gapih - cur_gapih * ie * (r - 1)) /
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));
c->master_mfact_per = mfact;
}

View file

@ -338,12 +338,12 @@ struct Client {
float unfocused_opacity;
char oldmonname[128];
int noblur;
double master_mfact_per, master_inner_per, slave_innder_per;
double old_master_mfact_per, old_master_inner_per, old_slave_innder_per;
double master_mfact_per, master_inner_per, stack_innder_per;
double old_master_mfact_per, old_master_inner_per, old_stack_innder_per;
double old_scroller_pproportion;
bool ismaster;
bool cursor_in_upper_half, cursor_in_left_half;
bool isleftslave;
bool isleftstack;
};
typedef struct {
@ -3510,7 +3510,7 @@ void init_client_properties(Client *c) {
c->iscustomsize = 0;
c->master_mfact_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
@ -4149,7 +4149,7 @@ void exchange_two_client(Client *c1, Client *c2) {
unsigned int tmp_tags;
double master_inner_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 ||
(!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_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_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_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 *tmp2_prev = c2->link.prev;