feat: 添加 _NET_WM_STATE_SKIP_TASKBAR 支持
- 新增 skip_taskbar 字段到 client_t - 在 client_update_window_type 中检测并设置 skip_taskbar 状态 - 状态栏绘制时过滤 skip_taskbar 窗口
This commit is contained in:
@@ -350,7 +350,10 @@ static void monitor_draw_tasks(monitor_t *monitor, int16_t right_edge) {
|
||||
if (!task_list) return;
|
||||
|
||||
uint16_t task_count = 0;
|
||||
for (task_in_tag_t *task = task_list; task; task = task->next) ++task_count;
|
||||
for (task_in_tag_t *task = task_list; task; task = task->next) {
|
||||
if (task->client->skip_taskbar) continue;
|
||||
++task_count;
|
||||
};
|
||||
if (task_count == 0) return;
|
||||
|
||||
int16_t x = monitor->layout_symbol_extent.end;
|
||||
@@ -361,6 +364,8 @@ static void monitor_draw_tasks(monitor_t *monitor, int16_t right_edge) {
|
||||
if (task_width < wm.font_size) return;
|
||||
|
||||
for (task_in_tag_t *task = task_list; task; task = task->next) {
|
||||
if (task->client->skip_taskbar) continue;
|
||||
|
||||
task->bar_extent.start = x;
|
||||
task->bar_extent.end = x + task_width;
|
||||
x += task_width;
|
||||
|
||||
Reference in New Issue
Block a user