From 26fd6894eb7ebf839c6571c0c336d807f9ef20f5 Mon Sep 17 00:00:00 2001 From: reDpz Date: Wed, 29 Oct 2025 14:41:29 +0000 Subject: [PATCH 01/89] Set arg.i = UNDIR so that focusmon uses arg.v to select monitor --- src/dispatch/bind_define.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index b2dd637..ea7ca64 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -1423,7 +1423,10 @@ int viewtoright_have_client(const Arg *arg) { } int viewcrossmon(const Arg *arg) { - focusmon(arg); + // Don't switch monitors if monitor is already focused + // This also prevents cursorwarp + if (!regex_match(arg->v, selmon->wlr_output->name)) + focusmon(&(Arg){.v = arg->v, .i = UNDIR}); view_in_mon(arg, true, selmon, true); return 0; } From 27fdead702de39640e1089cd76f0b85b1f653fca Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 30 Oct 2025 13:30:02 +0800 Subject: [PATCH 02/89] feat: add dispatch enable_monitor,disable_monitr,toggle_monitor --- src/config/parse_config.h | 9 ++++++++ src/dispatch/bind_declare.h | 5 ++++- src/dispatch/bind_define.h | 45 +++++++++++++++++++++++++++++++++++++ src/mango.c | 6 ----- 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 57ba70d..16b85e6 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -1048,6 +1048,15 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value, (*arg).v = strdup(arg_value); (*arg).v2 = strdup(arg_value2); (*arg).v3 = strdup(arg_value3); + } else if (strcmp(func_name, "disable_monitor") == 0) { + func = disable_monitor; + (*arg).v = strdup(arg_value); + } else if (strcmp(func_name, "enable_monitor") == 0) { + func = enable_monitor; + (*arg).v = strdup(arg_value); + } else if (strcmp(func_name, "toggle_monitor") == 0) { + func = toggle_monitor; + (*arg).v = strdup(arg_value); } else { return NULL; } diff --git a/src/dispatch/bind_declare.h b/src/dispatch/bind_declare.h index c57a132..b02ccf9 100644 --- a/src/dispatch/bind_declare.h +++ b/src/dispatch/bind_declare.h @@ -66,4 +66,7 @@ int create_virtual_output(const Arg *arg); int destroy_all_virtual_output(const Arg *arg); int focuslast(const Arg *arg); int toggle_trackpad_enable(const Arg *arg); -int setoption(const Arg *arg); \ No newline at end of file +int setoption(const Arg *arg); +int disable_monitor(const Arg *arg); +int enable_monitor(const Arg *arg); +int toggle_monitor(const Arg *arg); \ No newline at end of file diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index ea7ca64..8c25efb 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -1570,3 +1570,48 @@ int toggleoverview(const Arg *arg) { refresh_monitors_workspaces_status(selmon); return 0; } + +int disable_monitor(const Arg *arg) { + Monitor *m = NULL; + struct wlr_output_state state = {0}; + wl_list_for_each(m, &mons, link) { + if (regex_match(arg->v, m->wlr_output->name)) { + wlr_output_state_set_enabled(&state, false); + wlr_output_commit_state(m->wlr_output, &state); + m->asleep = 1; + updatemons(NULL, NULL); + break; + } + } + return 0; +} + +int enable_monitor(const Arg *arg) { + Monitor *m = NULL; + struct wlr_output_state state = {0}; + wl_list_for_each(m, &mons, link) { + if (regex_match(arg->v, m->wlr_output->name)) { + wlr_output_state_set_enabled(&state, true); + wlr_output_commit_state(m->wlr_output, &state); + m->asleep = 0; + updatemons(NULL, NULL); + break; + } + } + return 0; +} + +int toggle_monitor(const Arg *arg) { + Monitor *m = NULL; + struct wlr_output_state state = {0}; + wl_list_for_each(m, &mons, link) { + if (regex_match(arg->v, m->wlr_output->name)) { + wlr_output_state_set_enabled(&state, !m->wlr_output->enabled); + wlr_output_commit_state(m->wlr_output, &state); + m->asleep = !m->wlr_output->enabled; + updatemons(NULL, NULL); + break; + } + } + return 0; +} \ No newline at end of file diff --git a/src/mango.c b/src/mango.c index 101c124..858f8f7 100644 --- a/src/mango.c +++ b/src/mango.c @@ -439,7 +439,6 @@ struct Monitor { Client *sel, *prevsel; int isoverview; int is_in_hotarea; - int gamma_lut_changed; int asleep; unsigned int visible_clients; unsigned int visible_tiling_clients; @@ -4050,7 +4049,6 @@ void powermgrsetmode(struct wl_listener *listener, void *data) { if (!m) return; - m->gamma_lut_changed = 1; /* Reapply gamma LUT when re-enabling the ouput */ wlr_output_state_set_enabled(&state, event->mode); wlr_output_commit_state(m->wlr_output, &state); @@ -5427,10 +5425,6 @@ void updatemons(struct wl_listener *listener, void *data) { if ((c = focustop(m)) && c->isfullscreen) resize(c, m->m, 0); - /* Try to re-set the gamma LUT when updating monitors, - * it's only really needed when enabling a disabled output, but meh. - */ - m->gamma_lut_changed = 1; config_head->state.x = m->m.x; config_head->state.y = m->m.y; From 05e9d149c1944c6ccb2700dbc894b4d941ba8188 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 30 Oct 2025 14:13:54 +0800 Subject: [PATCH 03/89] feat: support get scale by mmsg --- mmsg/mmsg.c | 27 ++++++++++++++++++++++++--- protocols/dwl-ipc-unstable-v2.xml | 7 +++++++ src/ext-protocol/dwl-ipc.h | 6 ++++++ src/mango.c | 1 - 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/mmsg/mmsg.c b/mmsg/mmsg.c index 7f406d5..6f350ed 100644 --- a/mmsg/mmsg.c +++ b/mmsg/mmsg.c @@ -41,6 +41,7 @@ static int xflag; static int eflag; static int kflag; static int bflag; +static int Aflag; static uint32_t occ, seltags, total_clients, urg; @@ -264,6 +265,18 @@ static void dwl_ipc_output_kb_layout(void *data, printf("kb_layout %s\n", kb_layout); } +static void +dwl_ipc_output_scalefactor(void *data, + struct zdwl_ipc_output_v2 *dwl_ipc_output, + const unsigned int scalefactor) { + if (!Aflag) + return; + char *output_name = data; + if (output_name) + printf("%s ", output_name); + printf("scale_factor %f\n", scalefactor / 100.0f); +} + static void dwl_ipc_output_keymode(void *data, struct zdwl_ipc_output_v2 *dwl_ipc_output, const char *keymode) { @@ -413,6 +426,7 @@ static const struct zdwl_ipc_output_v2_listener dwl_ipc_output_listener = { .last_layer = dwl_ipc_output_last_layer, .kb_layout = dwl_ipc_output_kb_layout, .keymode = dwl_ipc_output_keymode, + .scalefactor = dwl_ipc_output_scalefactor, .frame = dwl_ipc_output_frame, }; @@ -490,7 +504,7 @@ static void usage(void) { "\t%s [-OTLq]\n" "\t%s [-o ] -s [-t ] [-l ] [-c ] [-d " ",,,,,]\n" - "\t%s [-o ] (-g | -w) [-Ootlcvmfxekb]\n", + "\t%s [-o ] (-g | -w) [-OotlcvmfxekbA]\n", argv0, argv0, argv0); exit(2); } @@ -732,6 +746,12 @@ int main(int argc, char *argv[]) { usage(); mode |= GET; break; + case 'A': + Aflag = 1; + if (mode == SET) + usage(); + mode |= GET; + break; default: fprintf(stderr, "bad option %c\n", ARGC()); usage(); @@ -741,9 +761,10 @@ int main(int argc, char *argv[]) { usage(); if (mode & GET && !output_name && !(oflag || tflag || lflag || Oflag || Tflag || Lflag || cflag || - vflag || mflag || fflag || xflag || eflag || kflag || bflag || dflag)) + vflag || mflag || fflag || xflag || eflag || kflag || bflag || + Aflag || dflag)) oflag = tflag = lflag = cflag = vflag = mflag = fflag = xflag = eflag = - kflag = bflag = 1; + kflag = bflag = Aflag = 1; display = wl_display_connect(NULL); if (!display) diff --git a/protocols/dwl-ipc-unstable-v2.xml b/protocols/dwl-ipc-unstable-v2.xml index a43a7f0..5852107 100644 --- a/protocols/dwl-ipc-unstable-v2.xml +++ b/protocols/dwl-ipc-unstable-v2.xml @@ -241,6 +241,13 @@ I would probably just submit raphi's patchset but I don't think that would be po + + + scale factor of monitor. + + + + diff --git a/src/ext-protocol/dwl-ipc.h b/src/ext-protocol/dwl-ipc.h index 23207d0..5ecb06e 100644 --- a/src/ext-protocol/dwl-ipc.h +++ b/src/ext-protocol/dwl-ipc.h @@ -204,6 +204,12 @@ void dwl_ipc_output_printstatus_to(DwlIpcOutput *ipc_output) { zdwl_ipc_output_v2_send_keymode(ipc_output->resource, keymode.mode); } + if (wl_resource_get_version(ipc_output->resource) >= + ZDWL_IPC_OUTPUT_V2_SCALEFACTOR_SINCE_VERSION) { + zdwl_ipc_output_v2_send_scalefactor(ipc_output->resource, + monitor->wlr_output->scale * 100); + } + zdwl_ipc_output_v2_send_frame(ipc_output->resource); } diff --git a/src/mango.c b/src/mango.c index 858f8f7..2e29017 100644 --- a/src/mango.c +++ b/src/mango.c @@ -5425,7 +5425,6 @@ void updatemons(struct wl_listener *listener, void *data) { if ((c = focustop(m)) && c->isfullscreen) resize(c, m->m, 0); - config_head->state.x = m->m.x; config_head->state.y = m->m.y; From 99854aa4ea876ad25b387a266e490f8f12a09eae Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 30 Oct 2025 22:20:13 +0800 Subject: [PATCH 04/89] opt: optimize viewcrossmon --- src/dispatch/bind_define.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 8c25efb..5a092cc 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -185,7 +185,7 @@ int focusmon(const Arg *arg) { return 0; } - if (!m || !m->wlr_output->enabled) + if (!m || !m->wlr_output->enabled || m == selmon) return 0; old_selmon_sel = selmon->sel; @@ -1423,10 +1423,7 @@ int viewtoright_have_client(const Arg *arg) { } int viewcrossmon(const Arg *arg) { - // Don't switch monitors if monitor is already focused - // This also prevents cursorwarp - if (!regex_match(arg->v, selmon->wlr_output->name)) - focusmon(&(Arg){.v = arg->v, .i = UNDIR}); + focusmon(&(Arg){.v = arg->v, .i = UNDIR}); view_in_mon(arg, true, selmon, true); return 0; } From cc6aa37170349f5331d0d6086f7c4281db3808ab Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 31 Oct 2025 10:42:38 +0800 Subject: [PATCH 05/89] update readme --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 844ae90..1a8b4a5 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,10 @@ sudo ninja -C build install ## Suggested Tools +### integrated component +- [dms-shell](https://github.com/AvengeMedia/DankMaterialShell) + +### Independent component - Application launcher (rofi, bemenu, wmenu, fuzzel) - Terminal emulator (foot, wezterm, alacritty, kitty, ghostty) - Status bar (waybar, eww, quickshell, ags), waybar is preferred @@ -139,13 +143,25 @@ sudo ninja -C build install ## My Dotfiles +### Daily - Dependencies ```bash yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist wl-clipboard wlsunset xfce-polkit swaync pamixer wlr-dpms sway-audio-idle-inhibit-git swayidle dimland-git brightnessctl swayosd wlr-randr grim slurp satty swaylock-effects-git wlogout sox ``` -- use my config +### Dms +- Dependencies +```bash +yay -S foot xdg-desktop-portal-wlr swaybg wl-clip-persist cliphist wl-clipboard xfce-polkit sway-audio-idle-inhibit-git brightnessctl grim slurp satty matugen-bin dms-shell-git + +``` +- use my dms config + +```bash +git clone -b dms https://github.com/DreamMaoMao/mango-config.git ~/.config/mango +``` +- use my daily config ```bash git clone https://github.com/DreamMaoMao/mango-config.git ~/.config/mango From 17f0562cfb9859ef00f851e649dcfb3005f788ca Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 31 Oct 2025 14:15:17 +0800 Subject: [PATCH 06/89] opt: default ignore maximize request --- src/client/client.h | 2 +- src/mango.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/client.h b/src/client/client.h index 90be17e..fd73730 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -374,7 +374,7 @@ static inline void client_set_tiled(Client *c, uint32_t edges) { wlr_xdg_toplevel_set_tiled(c->surface.xdg->toplevel, edges); } - if (!c->ignore_maximize && c->force_maximize) { + if (c->force_maximize) { wlr_xdg_toplevel_set_maximized(toplevel, edges != WLR_EDGE_NONE); } } diff --git a/src/mango.c b/src/mango.c index 2e29017..1431274 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3517,7 +3517,7 @@ void init_client_properties(Client *c) { c->no_force_center = 0; c->isnoborder = 0; c->isnosizehint = 0; - c->ignore_maximize = 0; + c->ignore_maximize = 1; c->ignore_minimize = 1; c->iscustomsize = 0; c->master_mfact_per = 0.0f; From 5bb149f84e1c75a4b271e98847a4a241dea5f9ec Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 31 Oct 2025 18:30:53 +0800 Subject: [PATCH 07/89] opt: Distinguish whether to maximize based on the client's request --- src/client/client.h | 12 ++++++++++++ src/mango.c | 46 +++++++++++---------------------------------- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/src/client/client.h b/src/client/client.h index fd73730..a9f7313 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -473,6 +473,18 @@ static inline bool client_request_minimize(Client *c, void *data) { return c->surface.xdg->toplevel->requested.minimized; } +static inline bool client_request_maximize(Client *c, void *data) { + +#ifdef XWAYLAND + if (client_is_x11(c)) { + struct wlr_xwayland_surface *surface = c->surface.xwayland; + return surface->maximized_vert || surface->maximized_horz; + } +#endif + + return c->surface.xdg->toplevel->requested.maximized; +} + static inline void client_set_size_bound(Client *c) { struct wlr_xdg_toplevel *toplevel; struct wlr_xdg_toplevel_state state; diff --git a/src/mango.c b/src/mango.c index 1431274..17a93a5 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3650,31 +3650,22 @@ mapnotify(struct wl_listener *listener, void *data) { printstatus(); } -void // 0.5 custom -maximizenotify(struct wl_listener *listener, void *data) { - /* This event is raised when a client would like to maximize itself, - * typically because the user clicked on the maximize button on - * client-side decorations. dwl doesn't support maximization, but - * to conform to xdg-shell protocol we still must send a configure. - * Since xdg-shell protocol v5 we should ignore request of unsupported - * capabilities, just schedule a empty configure when the client uses <5 - * protocol version - * wlr_xdg_surface_schedule_configure() is used to send an empty reply. - */ - // Client *c = wl_container_of(listener, c, maximize); - // if (wl_resource_get_version(c->surface.xdg->toplevel->resource) - // < XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION) - // wlr_xdg_surface_schedule_configure(c->surface.xdg); - // togglemaximizescreen(&(Arg){0}); +void maximizenotify(struct wl_listener *listener, void *data) { + Client *c = wl_container_of(listener, c, maximize); if (!c || !c->mon || c->iskilling || c->ignore_maximize) return; - if (c->ismaximizescreen || c->isfullscreen) - setmaximizescreen(c, 0); - else + if (!client_is_x11(c) && !c->surface.xdg->initialized) { + return; + } + + if (client_request_maximize(c, data)) { setmaximizescreen(c, 1); + } else { + setmaximizescreen(c, 0); + } } void unminimize(Client *c) { @@ -3718,22 +3709,7 @@ void set_minimized(Client *c) { wl_list_insert(clients.prev, &c->link); // 插入尾部 } -void // 0.5 custom -minimizenotify(struct wl_listener *listener, void *data) { - /* This event is raised when a client would like to maximize itself, - * typically because the user clicked on the maximize button on - * client-side decorations. dwl doesn't support maximization, but - * to conform to xdg-shell protocol we still must send a configure. - * Since xdg-shell protocol v5 we should ignore request of unsupported - * capabilities, just schedule a empty configure when the client uses <5 - * protocol version - * wlr_xdg_surface_schedule_configure() is used to send an empty reply. - */ - // Client *c = wl_container_of(listener, c, maximize); - // if (wl_resource_get_version(c->surface.xdg->toplevel->resource) - // < XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION) - // wlr_xdg_surface_schedule_configure(c->surface.xdg); - // togglemaximizescreen(&(Arg){0}); +void minimizenotify(struct wl_listener *listener, void *data) { Client *c = wl_container_of(listener, c, minimize); From 8f706688debfd0b6bb2389e9f0895b30a9783cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20R=C4=85czka?= <04_barista_pads@icloud.com> Date: Fri, 31 Oct 2025 22:33:38 +0100 Subject: [PATCH 08/89] feat: add smooth focus transition animation for opacity and border This adds animated transitions when switching focus between windows. Both window opacity and border color now fade smoothly using cubic bezier easing instead of changing instantly. Implementation: - Added animation_duration_focus config option (default 400ms) - Added animation_curve_focus for cubic bezier easing curve - Window opacity and border color animate together when focus changes - Uses existing animation infrastructure (baked bezier points) The feature is backwards compatible and can be disabled by setting animation_duration_focus=0 in config file. Changes affect 5 files with minimal additions to keep code clean. --- src/animation/client.h | 31 +++++++++++++++++++++++++++---- src/animation/common.h | 10 ++++++++++ src/config/parse_config.h | 19 +++++++++++++++++++ src/config/preset.h | 2 ++ src/mango.c | 31 ++++++++++++++++++++++++++++--- 5 files changed, 86 insertions(+), 7 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index 249b794..1c4e567 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -1053,12 +1053,35 @@ bool client_draw_frame(Client *c) { if (!c || !client_surface(c)->mapped) return false; + // Animate focus transitions (opacity + border color) if (c->isfullscreen) { client_set_opacity(c, 1); - } else if (c == selmon->sel && !c->animation.running) { - client_set_opacity(c, c->focused_opacity); - } else if (!c->animation.running) { - client_set_opacity(c, c->unfocused_opacity); + c->current_opacity = 1; + c->target_opacity = 1; + } else if (c->opacity_animation_frames > 0 && c->opacity_animation_passed < c->opacity_animation_frames) { + float linear_progress = (float)c->opacity_animation_passed / c->opacity_animation_frames; + float eased_progress = find_animation_curve_at(linear_progress, FOCUS); + + // Animate opacity + float opacity_start = (c->target_opacity == c->focused_opacity) ? c->unfocused_opacity : c->focused_opacity; + c->current_opacity = opacity_start + (c->target_opacity - opacity_start) * eased_progress; + client_set_opacity(c, c->current_opacity); + + // Animate border color + bool focusing = (c->target_border_color[0] == focuscolor[0]); + float *border_start = focusing ? bordercolor : focuscolor; + for (int i = 0; i < 4; i++) { + c->current_border_color[i] = border_start[i] + (c->target_border_color[i] - border_start[i]) * eased_progress; + } + client_set_border_color(c, c->current_border_color); + + c->opacity_animation_passed++; + } else { + // Animation complete or disabled - apply target values + c->current_opacity = c->target_opacity; + client_set_opacity(c, c->current_opacity); + memcpy(c->current_border_color, c->target_border_color, sizeof(c->current_border_color)); + client_set_border_color(c, c->current_border_color); } if (!c->need_output_flush) diff --git a/src/animation/common.h b/src/animation/common.h index 70a595c..2d28377 100644 --- a/src/animation/common.h +++ b/src/animation/common.h @@ -9,6 +9,8 @@ struct dvec2 calculate_animation_curve_at(double t, int type) { animation_curve = animation_curve_tag; } else if (type == CLOSE) { animation_curve = animation_curve_close; + } else if (type == FOCUS) { + animation_curve = animation_curve_focus; } else { animation_curve = animation_curve_move; } @@ -28,6 +30,8 @@ void init_baked_points(void) { baked_points_tag = calloc(BAKED_POINTS_COUNT, sizeof(*baked_points_tag)); baked_points_close = calloc(BAKED_POINTS_COUNT, sizeof(*baked_points_close)); + baked_points_focus = + calloc(BAKED_POINTS_COUNT, sizeof(*baked_points_focus)); for (unsigned int i = 0; i < BAKED_POINTS_COUNT; i++) { baked_points_move[i] = calculate_animation_curve_at( @@ -45,6 +49,10 @@ void init_baked_points(void) { baked_points_close[i] = calculate_animation_curve_at( (double)i / (BAKED_POINTS_COUNT - 1), CLOSE); } + for (unsigned int i = 0; i < BAKED_POINTS_COUNT; i++) { + baked_points_focus[i] = calculate_animation_curve_at( + (double)i / (BAKED_POINTS_COUNT - 1), FOCUS); + } } double find_animation_curve_at(double t, int type) { @@ -61,6 +69,8 @@ double find_animation_curve_at(double t, int type) { baked_points = baked_points_tag; } else if (type == CLOSE) { baked_points = baked_points_close; + } else if (type == FOCUS) { + baked_points = baked_points_focus; } else { baked_points = baked_points_move; } diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 16b85e6..3c372ff 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -178,10 +178,12 @@ typedef struct { uint32_t animation_duration_open; uint32_t animation_duration_tag; uint32_t animation_duration_close; + uint32_t animation_duration_focus; double animation_curve_move[4]; double animation_curve_open[4]; double animation_curve_tag[4]; double animation_curve_close[4]; + double animation_curve_focus[4]; int scroller_structs; float scroller_default_proportion; @@ -1132,6 +1134,8 @@ void parse_option(Config *config, char *key, char *value) { config->animation_duration_tag = atoi(value); } else if (strcmp(key, "animation_duration_close") == 0) { config->animation_duration_close = atoi(value); + } else if (strcmp(key, "animation_duration_focus") == 0) { + config->animation_duration_focus = atoi(value); } else if (strcmp(key, "animation_curve_move") == 0) { int num = parse_double_array(value, config->animation_curve_move, 4); if (num != 4) { @@ -1157,6 +1161,13 @@ void parse_option(Config *config, char *key, char *value) { "Error: Failed to parse animation_curve_close: %s\n", value); } + } else if (strcmp(key, "animation_curve_focus") == 0) { + int num = parse_double_array(value, config->animation_curve_focus, 4); + if (num != 4) { + fprintf(stderr, + "Error: Failed to parse animation_curve_focus: %s\n", + value); + } } else if (strcmp(key, "scroller_structs") == 0) { config->scroller_structs = atoi(value); } else if (strcmp(key, "scroller_default_proportion") == 0) { @@ -2595,6 +2606,8 @@ void override_config(void) { animation_duration_tag = CLAMP_INT(config.animation_duration_tag, 1, 50000); animation_duration_close = CLAMP_INT(config.animation_duration_close, 1, 50000); + animation_duration_focus = + CLAMP_INT(config.animation_duration_focus, 1, 50000); // 滚动布局设置 scroller_default_proportion = @@ -2727,6 +2740,8 @@ void override_config(void) { sizeof(animation_curve_tag)); memcpy(animation_curve_close, config.animation_curve_close, sizeof(animation_curve_close)); + memcpy(animation_curve_focus, config.animation_curve_focus, + sizeof(animation_curve_focus)); } void set_value_default() { @@ -2749,6 +2764,8 @@ void set_value_default() { animation_duration_tag; // Animation tag speed config.animation_duration_close = animation_duration_close; // Animation tag speed + config.animation_duration_focus = + animation_duration_focus; // Animation focus opacity speed /* appearance */ config.axis_bind_apply_timeout = @@ -2866,6 +2883,8 @@ void set_value_default() { sizeof(animation_curve_tag)); memcpy(config.animation_curve_close, animation_curve_close, sizeof(animation_curve_close)); + memcpy(config.animation_curve_focus, animation_curve_focus, + sizeof(animation_curve_focus)); memcpy(config.rootcolor, rootcolor, sizeof(rootcolor)); memcpy(config.bordercolor, bordercolor, sizeof(bordercolor)); diff --git a/src/config/preset.h b/src/config/preset.h index d9425a7..b15860a 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -25,10 +25,12 @@ uint32_t animation_duration_move = 500; // Animation move speed uint32_t animation_duration_open = 400; // Animation open speed uint32_t animation_duration_tag = 300; // Animation tag speed uint32_t animation_duration_close = 300; // Animation close speed +uint32_t animation_duration_focus = 400; // Animation focus opacity speed double animation_curve_move[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 double animation_curve_open[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 double animation_curve_tag[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 double animation_curve_close[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 +double animation_curve_focus[4] = {0.08, 0.82, 0.17, 1}; // 动画曲线 /* appearance */ unsigned int axis_bind_apply_timeout = 100; // 滚轮绑定动作的触发的时间间隔 diff --git a/src/mango.c b/src/mango.c index 17a93a5..683b304 100644 --- a/src/mango.c +++ b/src/mango.c @@ -161,7 +161,7 @@ enum { }; /* EWMH atoms */ #endif enum { UP, DOWN, LEFT, RIGHT, UNDIR }; /* smartmovewin */ -enum { NONE, OPEN, MOVE, CLOSE, TAG }; +enum { NONE, OPEN, MOVE, CLOSE, TAG, FOCUS }; enum { UNFOLD, FOLD, INVALIDFOLD }; enum { PREV, NEXT }; @@ -339,6 +339,12 @@ struct Client { int isunglobal; float focused_opacity; float unfocused_opacity; + float current_opacity; + float target_opacity; + unsigned int opacity_animation_frames; + unsigned int opacity_animation_passed; + float current_border_color[4]; + float target_border_color[4]; char oldmonname[128]; int noblur; double master_mfact_per, master_inner_per, stack_innder_per; @@ -777,6 +783,7 @@ struct dvec2 *baked_points_move; struct dvec2 *baked_points_open; struct dvec2 *baked_points_tag; struct dvec2 *baked_points_close; +struct dvec2 *baked_points_focus; static struct wl_event_source *hide_source; static bool cursor_hidden = false; @@ -3100,7 +3107,13 @@ void focusclient(Client *c, int lift) { // change border color c->isurgent = 0; - setborder_color(c); + // Start border color animation to focused + memcpy(c->target_border_color, focuscolor, sizeof(c->target_border_color)); + + // Start opacity animation to focused + c->target_opacity = c->focused_opacity; + c->opacity_animation_frames = (animation_duration_focus * 60) / 1000; // 60fps + c->opacity_animation_passed = 0; } if (c && !c->iskilling && c->foreign_toplevel) @@ -3128,7 +3141,13 @@ void focusclient(Client *c, int lift) { * probably other clients */ } else if (w && !client_is_unmanaged(w) && (!c || !client_wants_focus(c))) { - setborder_color(w); + // Start border color animation to unfocused + memcpy(w->target_border_color, bordercolor, sizeof(w->target_border_color)); + + // Start opacity animation to unfocused + w->target_opacity = w->unfocused_opacity; + w->opacity_animation_frames = (animation_duration_focus * 60) / 1000; // 60fps + w->opacity_animation_passed = 0; client_activate_surface(old_keyboard_focus_surface, 0); } @@ -3512,6 +3531,12 @@ void init_client_properties(Client *c) { c->fake_no_border = false; c->focused_opacity = focused_opacity; c->unfocused_opacity = unfocused_opacity; + c->current_opacity = unfocused_opacity; + c->target_opacity = unfocused_opacity; + c->opacity_animation_frames = 0; + c->opacity_animation_passed = 0; + memcpy(c->current_border_color, bordercolor, sizeof(c->current_border_color)); + memcpy(c->target_border_color, bordercolor, sizeof(c->target_border_color)); c->nofadein = 0; c->nofadeout = 0; c->no_force_center = 0; From ef92281b2a4ea7cb85bf6a342a9fa3b3e121ad51 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 14:29:53 +0800 Subject: [PATCH 09/89] opt: avoid crash when Incorrect Settings for keyboard layout --- src/dispatch/bind_define.h | 31 +++++++++++++++++++++++++------ src/mango.c | 3 +++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 5a092cc..21b38cf 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -859,8 +859,9 @@ int switch_keyboard_layout(const Arg *arg) { } } - // 4. 直接修改 rules.layout(保持原有逻辑) + // 4. 安全地处理 rules.layout struct xkb_rule_names rules = xkb_rules; + // 验证规则是否有效 if (!check_keyboard_rules_validate(&rules)) { wlr_log(WLR_ERROR, @@ -868,15 +869,27 @@ int switch_keyboard_layout(const Arg *arg) { rules = xkb_default_rules; } - char *layout_buf = (char *)rules.layout; // 假设这是可修改的 + // 安全地处理 layout 字符串 + const char *current_layout = rules.layout; + if (!current_layout || strlen(current_layout) == 0) { + wlr_log(WLR_INFO, "Using default layout 'us'"); + current_layout = "us"; + } - // 清空原有内容(安全方式) - unsigned int layout_buf_size = strlen(layout_buf) + 1; - memset(layout_buf, 0, layout_buf_size); + // 创建足够大的缓冲区来构建新的布局字符串 + unsigned int layout_buf_size = + 1024; // 使用固定大小,避免依赖可能为NULL的字符串 + char *layout_buf = calloc(layout_buf_size, sizeof(char)); + if (!layout_buf) { + wlr_log(WLR_ERROR, "Failed to allocate layout buffer"); + goto cleanup_layouts; + } // 构建新的布局字符串 for (int i = 0; i < num_layouts; i++) { const char *layout = layout_ids[(next + i) % num_layouts]; + if (!layout) + continue; if (i > 0) { strncat(layout_buf, ",", layout_buf_size - strlen(layout_buf) - 1); @@ -897,13 +910,16 @@ int switch_keyboard_layout(const Arg *arg) { } } + // 更新 rules 结构体 + rules.layout = layout_buf; + // 5. 创建新 keymap struct xkb_keymap *new_keymap = xkb_keymap_new_from_names(context, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS); if (!new_keymap) { wlr_log(WLR_ERROR, "Failed to create keymap for layouts: %s", rules.layout); - goto cleanup_layouts; + goto cleanup_layout_buf; } // 6. 应用新 keymap @@ -922,6 +938,9 @@ int switch_keyboard_layout(const Arg *arg) { // 8. 清理资源 xkb_keymap_unref(new_keymap); +cleanup_layout_buf: + free(layout_buf); + cleanup_layouts: free(layout_ids); diff --git a/src/mango.c b/src/mango.c index 17a93a5..41ddd2c 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4546,6 +4546,9 @@ bool check_keyboard_rules_validate(struct xkb_rule_names *rules) { return false; } + if (!rules->layout || strlen(rules->layout) == 0) + return false; + struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); if (!context) { wlr_log(WLR_ERROR, "Failed to create XKB context for validation"); From 0ab38c6aa6383343262e8688e6c087dda7f63dfe Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 14:39:32 +0800 Subject: [PATCH 10/89] opt: optimize null check in get_next_stack_client --- src/fetch/client.h | 16 ++++++++++++++-- src/mango.c | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/fetch/client.h b/src/fetch/client.h index f0a4868..ce93a3b 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -340,21 +340,33 @@ Client *focustop(Monitor *m) { } Client *get_next_stack_client(Client *c, bool reverse) { + if (!c || !c->mon) + return NULL; // 添加输入检查 + Client *next = NULL; if (reverse) { wl_list_for_each_reverse(next, &c->link, link) { + if (!next) + continue; // 安全检查 + if (c->mon->has_visible_fullscreen_client && !next->isfloating && !next->isfullscreen) continue; - if (VISIBLEON(next, c->mon) && next != c) + + // 添加更安全的 VISIBLEON 检查 + if (next != c && next->mon && VISIBLEON(next, c->mon)) return next; } } else { wl_list_for_each(next, &c->link, link) { + if (!next) + continue; // 安全检查 + if (c->mon->has_visible_fullscreen_client && !next->isfloating && !next->isfullscreen) continue; - if (VISIBLEON(next, c->mon) && next != c) + + if (next != c && next->mon && VISIBLEON(next, c->mon)) return next; } } diff --git a/src/mango.c b/src/mango.c index 41ddd2c..31df40c 100644 --- a/src/mango.c +++ b/src/mango.c @@ -104,7 +104,7 @@ (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ !(A)->ismaximizescreen && !(A)->isfullscreen) #define VISIBLEON(C, M) \ - ((M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) + ((C) && (M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) #define LENGTH(X) (sizeof X / sizeof X[0]) #define END(A) ((A) + LENGTH(A)) #define TAGMASK ((1 << LENGTH(tags)) - 1) From 6fdb9627861ac5617f7fe980a5eb72faa06775b0 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 12:08:39 +0800 Subject: [PATCH 11/89] fix: fix focus animation error --- config.conf | 2 + src/animation/client.h | 171 ++++++++++++++++++++++++++++------------- src/config/preset.h | 4 +- src/fetch/client.h | 18 +++++ src/mango.c | 90 +++++++++------------- 5 files changed, 174 insertions(+), 111 deletions(-) diff --git a/config.conf b/config.conf index 353bdab..59e4631 100644 --- a/config.conf +++ b/config.conf @@ -42,10 +42,12 @@ animation_duration_move=500 animation_duration_open=400 animation_duration_tag=350 animation_duration_close=800 +animation_duration_focus=0 animation_curve_open=0.46,1.0,0.29,1 animation_curve_move=0.46,1.0,0.29,1 animation_curve_tag=0.46,1.0,0.29,1 animation_curve_close=0.08,0.92,0,1 +animation_curve_focus=0.46,1.0,0.29,1 # Scroller Layout Setting scroller_structs=20 diff --git a/src/animation/client.h b/src/animation/client.h index 1c4e567..671b899 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -225,12 +225,6 @@ void scene_buffer_apply_effect(struct wlr_scene_buffer *buffer, int sx, int sy, wlr_scene_buffer_set_corner_radius(buffer, border_radius, buffer_data->corner_location); - - float target_opacity = buffer_data->percent + fadein_begin_opacity; - if (target_opacity > buffer_data->opacity) { - target_opacity = buffer_data->opacity; - } - wlr_scene_buffer_set_opacity(buffer, target_opacity); } void buffer_set_effect(Client *c, BufferData data) { @@ -517,7 +511,6 @@ void client_apply_clip(Client *c, float factor) { bool should_render_client_surface = false; struct ivec2 offset; BufferData buffer_data; - float opacity, percent; enum corner_location current_corner_location = set_client_corner_location(c); @@ -537,29 +530,17 @@ void client_apply_clip(Client *c, float factor) { apply_border(c); client_draw_shadow(c); - opacity = c->isfullscreen ? 1 - : c == selmon->sel ? c->focused_opacity - : c->unfocused_opacity; - if (clip_box.width <= 0 || clip_box.height <= 0) { return; } wlr_scene_subsurface_tree_set_clip(&c->scene_surface->node, &clip_box); buffer_set_effect(c, (BufferData){1.0f, 1.0f, clip_box.width, - clip_box.height, opacity, opacity, + clip_box.height, current_corner_location, true}); return; } - percent = - c->animation.action == OPEN && animation_fade_in && !c->nofadein - ? (double)c->animation.passed_frames / c->animation.total_frames - : 1.0; - opacity = c->isfullscreen ? 1 - : c == selmon->sel ? c->focused_opacity - : c->unfocused_opacity; - // 获取窗口动画实时位置矩形 unsigned int width, height; client_actual_size(c, &width, &height); @@ -614,8 +595,6 @@ void client_apply_clip(Client *c, float factor) { buffer_data.width = clip_box.width; buffer_data.height = clip_box.height; buffer_data.corner_location = current_corner_location; - buffer_data.percent = percent; - buffer_data.opacity = opacity; if (factor == 1.0) { buffer_data.width_scale = 1.0; @@ -1048,45 +1027,128 @@ bool client_draw_fadeout_frame(Client *c) { return true; } +void client_set_focused_opacity_animation(Client *c) { + float *border_color = get_border_color(c); + memcpy(c->opacity_animation.target_border_color, border_color, + sizeof(c->opacity_animation.target_border_color)); + c->opacity_animation.target_opacity = c->focused_opacity; + c->opacity_animation.total_frames = + animation_duration_focus / all_output_frame_duration_ms(); + c->opacity_animation.passed_frames = 0; + if (c->opacity_animation.running) { + memcpy(c->opacity_animation.initial_border_color, + c->opacity_animation.current_border_color, + sizeof(c->opacity_animation.initial_border_color)); + c->opacity_animation.initial_opacity = + c->opacity_animation.current_opacity; + } else { + memcpy(c->opacity_animation.initial_border_color, border_color, + sizeof(c->opacity_animation.initial_border_color)); + c->opacity_animation.initial_opacity = c->unfocused_opacity; + } + c->opacity_animation.running = true; +} + +void cleint_set_unfocused_opacity_animation(Client *c) { + // Start border color animation to unfocused + float *border_color = get_border_color(c); + memcpy(c->opacity_animation.target_border_color, border_color, + sizeof(c->opacity_animation.target_border_color)); + // Start opacity animation to unfocused + c->opacity_animation.target_opacity = c->unfocused_opacity; + c->opacity_animation.total_frames = + animation_duration_focus / all_output_frame_duration_ms(); + c->opacity_animation.passed_frames = 0; + + if (c->opacity_animation.running) { + memcpy(c->opacity_animation.initial_border_color, + c->opacity_animation.current_border_color, + sizeof(c->opacity_animation.initial_border_color)); + c->opacity_animation.initial_opacity = + c->opacity_animation.current_opacity; + } else { + memcpy(c->opacity_animation.initial_border_color, border_color, + sizeof(c->opacity_animation.initial_border_color)); + c->opacity_animation.initial_opacity = c->focused_opacity; + } + + c->opacity_animation.running = true; +} + +bool client_apply_focus_opacity(Client *c) { + // Animate focus transitions (opacity + border color) + float *border_color = get_border_color(c); + if (c->isfullscreen) { + c->opacity_animation.running = false; + client_set_opacity(c, 1); + } else if (c->animation.running && c->animation.action == OPEN) { + c->opacity_animation.running = false; + float percent = + animation_fade_in && !c->nofadein + ? (double)c->animation.passed_frames / c->animation.total_frames + : 1.0; + float opacity = c->isfullscreen ? 1 + : c == selmon->sel ? c->focused_opacity + : c->unfocused_opacity; + + float target_opacity = percent + fadein_begin_opacity; + if (target_opacity > opacity) { + target_opacity = opacity; + } + client_set_opacity(c, target_opacity); + } else if (animations && c->opacity_animation.running) { + float linear_progress = (float)c->opacity_animation.passed_frames / + c->opacity_animation.total_frames; + float eased_progress = find_animation_curve_at(linear_progress, FOCUS); + + c->opacity_animation.current_opacity = + c->opacity_animation.initial_opacity + + (c->opacity_animation.target_opacity - + c->opacity_animation.initial_opacity) * + eased_progress; + client_set_opacity(c, c->opacity_animation.current_opacity); + + // Animate border color + for (int i = 0; i < 4; i++) { + c->opacity_animation.current_border_color[i] = + c->opacity_animation.initial_border_color[i] + + (c->opacity_animation.target_border_color[i] - + c->opacity_animation.initial_border_color[i]) * + eased_progress; + } + client_set_border_color(c, c->opacity_animation.current_border_color); + if (linear_progress == 1.0f) { + c->opacity_animation.running = false; + } else { + c->opacity_animation.passed_frames++; + return true; + } + } else if (c == selmon->sel) { + c->opacity_animation.running = false; + c->opacity_animation.current_opacity = c->focused_opacity; + memcpy(c->opacity_animation.current_border_color, border_color, + sizeof(c->opacity_animation.current_border_color)); + client_set_opacity(c, c->focused_opacity); + } else { + c->opacity_animation.running = false; + c->opacity_animation.current_opacity = c->unfocused_opacity; + memcpy(c->opacity_animation.current_border_color, border_color, + sizeof(c->opacity_animation.current_border_color)); + client_set_opacity(c, c->unfocused_opacity); + } + + return false; +} + bool client_draw_frame(Client *c) { if (!c || !client_surface(c)->mapped) return false; - // Animate focus transitions (opacity + border color) - if (c->isfullscreen) { - client_set_opacity(c, 1); - c->current_opacity = 1; - c->target_opacity = 1; - } else if (c->opacity_animation_frames > 0 && c->opacity_animation_passed < c->opacity_animation_frames) { - float linear_progress = (float)c->opacity_animation_passed / c->opacity_animation_frames; - float eased_progress = find_animation_curve_at(linear_progress, FOCUS); - - // Animate opacity - float opacity_start = (c->target_opacity == c->focused_opacity) ? c->unfocused_opacity : c->focused_opacity; - c->current_opacity = opacity_start + (c->target_opacity - opacity_start) * eased_progress; - client_set_opacity(c, c->current_opacity); - - // Animate border color - bool focusing = (c->target_border_color[0] == focuscolor[0]); - float *border_start = focusing ? bordercolor : focuscolor; - for (int i = 0; i < 4; i++) { - c->current_border_color[i] = border_start[i] + (c->target_border_color[i] - border_start[i]) * eased_progress; - } - client_set_border_color(c, c->current_border_color); - - c->opacity_animation_passed++; - } else { - // Animation complete or disabled - apply target values - c->current_opacity = c->target_opacity; - client_set_opacity(c, c->current_opacity); - memcpy(c->current_border_color, c->target_border_color, sizeof(c->current_border_color)); - client_set_border_color(c, c->current_border_color); + if (!c->need_output_flush) { + return client_apply_focus_opacity(c); } - if (!c->need_output_flush) - return false; - if (animations && c->animation.running) { client_animation_next_tick(c); } else { @@ -1097,5 +1159,6 @@ bool client_draw_frame(Client *c) { client_apply_clip(c, 1.0); c->need_output_flush = false; } + client_apply_focus_opacity(c); return true; } diff --git a/src/config/preset.h b/src/config/preset.h index b15860a..39cf509 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -25,12 +25,12 @@ uint32_t animation_duration_move = 500; // Animation move speed uint32_t animation_duration_open = 400; // Animation open speed uint32_t animation_duration_tag = 300; // Animation tag speed uint32_t animation_duration_close = 300; // Animation close speed -uint32_t animation_duration_focus = 400; // Animation focus opacity speed +uint32_t animation_duration_focus = 0; // Animation focus opacity speed double animation_curve_move[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 double animation_curve_open[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 double animation_curve_tag[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 double animation_curve_close[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 -double animation_curve_focus[4] = {0.08, 0.82, 0.17, 1}; // 动画曲线 +double animation_curve_focus[4] = {0.46, 1.0, 0.29, 0.99}; // 动画曲线 /* appearance */ unsigned int axis_bind_apply_timeout = 100; // 滚轮绑定动作的触发的时间间隔 diff --git a/src/fetch/client.h b/src/fetch/client.h index f0a4868..cfc5232 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -360,3 +360,21 @@ Client *get_next_stack_client(Client *c, bool reverse) { } return NULL; } + +float *get_border_color(Client *c) { + if (c->isurgent) { + return urgentcolor; + } else if (c->is_in_scratchpad && selmon && c == selmon->sel) { + return scratchpadcolor; + } else if (c->isglobal && selmon && c == selmon->sel) { + return globalcolor; + } else if (c->isoverlay && selmon && c == selmon->sel) { + return overlaycolor; + } else if (c->ismaximizescreen && selmon && c == selmon->sel) { + return maximizescreencolor; + } else if (selmon && c == selmon->sel) { + return focuscolor; + } else { + return bordercolor; + } +} \ No newline at end of file diff --git a/src/mango.c b/src/mango.c index 683b304..b125e61 100644 --- a/src/mango.c +++ b/src/mango.c @@ -104,7 +104,7 @@ (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ !(A)->ismaximizescreen && !(A)->isfullscreen) #define VISIBLEON(C, M) \ - ((M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) + ((C) && (M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) #define LENGTH(X) (sizeof X / sizeof X[0]) #define END(A) ((A) + LENGTH(A)) #define TAGMASK ((1 << LENGTH(tags)) - 1) @@ -239,13 +239,23 @@ struct dwl_animation { int action; }; +struct dwl_opacity_animation { + bool running; + float current_opacity; + float target_opacity; + float initial_opacity; + unsigned int total_frames; + unsigned int passed_frames; + float current_border_color[4]; + float target_border_color[4]; + float initial_border_color[4]; +}; + typedef struct { float width_scale; float height_scale; int width; int height; - double percent; - float opacity; enum corner_location corner_location; bool should_scale; } BufferData; @@ -324,6 +334,7 @@ struct Client { float scroller_proportion; bool need_output_flush; struct dwl_animation animation; + struct dwl_opacity_animation opacity_animation; int isterm, noswallow; int allow_csd; int force_maximize; @@ -339,12 +350,6 @@ struct Client { int isunglobal; float focused_opacity; float unfocused_opacity; - float current_opacity; - float target_opacity; - unsigned int opacity_animation_frames; - unsigned int opacity_animation_passed; - float current_border_color[4]; - float target_border_color[4]; char oldmonname[128]; int noblur; double master_mfact_per, master_inner_per, stack_innder_per; @@ -699,6 +704,7 @@ static void resize_tile_client(Client *grabc, bool isdrag, int offsetx, static void refresh_monitors_workspaces_status(Monitor *m); static void init_client_properties(Client *c); static bool check_keyboard_rules_validate(struct xkb_rule_names *rules); +static float *get_border_color(Client *c); #include "data/static_keymap.h" #include "dispatch/bind_declare.h" @@ -3091,6 +3097,12 @@ void focusclient(Client *c, int lift) { selmon->prevsel = selmon->sel; selmon->sel = c; + if (selmon->prevsel && !selmon->prevsel->iskilling) { + cleint_set_unfocused_opacity_animation(selmon->prevsel); + } + + client_set_focused_opacity_animation(c); + // decide whether need to re-arrange if (c && selmon->prevsel && @@ -3107,13 +3119,6 @@ void focusclient(Client *c, int lift) { // change border color c->isurgent = 0; - // Start border color animation to focused - memcpy(c->target_border_color, focuscolor, sizeof(c->target_border_color)); - - // Start opacity animation to focused - c->target_opacity = c->focused_opacity; - c->opacity_animation_frames = (animation_duration_focus * 60) / 1000; // 60fps - c->opacity_animation_passed = 0; } if (c && !c->iskilling && c->foreign_toplevel) @@ -3141,24 +3146,17 @@ void focusclient(Client *c, int lift) { * probably other clients */ } else if (w && !client_is_unmanaged(w) && (!c || !client_wants_focus(c))) { - // Start border color animation to unfocused - memcpy(w->target_border_color, bordercolor, sizeof(w->target_border_color)); - - // Start opacity animation to unfocused - w->target_opacity = w->unfocused_opacity; - w->opacity_animation_frames = (animation_duration_focus * 60) / 1000; // 60fps - w->opacity_animation_passed = 0; - client_activate_surface(old_keyboard_focus_surface, 0); } } printstatus(); if (!c) { - /* With no client, all we have left is to clear focus */ - if (selmon && selmon->sel) - selmon->sel = - NULL; // 这个很关键,因为很多地方用到当前窗口做计算,不重置成NULL就会到处有野指针 + + if (selmon && selmon->sel && + (!VISIBLEON(selmon->sel, selmon) || selmon->sel->iskilling || + !client_surface(selmon->sel)->mapped)) + selmon->sel = NULL; // clear text input focus state dwl_im_relay_set_focus(dwl_input_method_relay, NULL); @@ -3531,12 +3529,6 @@ void init_client_properties(Client *c) { c->fake_no_border = false; c->focused_opacity = focused_opacity; c->unfocused_opacity = unfocused_opacity; - c->current_opacity = unfocused_opacity; - c->target_opacity = unfocused_opacity; - c->opacity_animation_frames = 0; - c->opacity_animation_passed = 0; - memcpy(c->current_border_color, bordercolor, sizeof(c->current_border_color)); - memcpy(c->target_border_color, bordercolor, sizeof(c->target_border_color)); c->nofadein = 0; c->nofadeout = 0; c->no_force_center = 0; @@ -4161,23 +4153,11 @@ void requeststartdrag(struct wl_listener *listener, void *data) { void setborder_color(Client *c) { if (!c || !c->mon) return; - if (c->isurgent) { - client_set_border_color(c, urgentcolor); - return; - } - if (c->is_in_scratchpad && selmon && c == selmon->sel) { - client_set_border_color(c, scratchpadcolor); - } else if (c->isglobal && selmon && c == selmon->sel) { - client_set_border_color(c, globalcolor); - } else if (c->isoverlay && selmon && c == selmon->sel) { - client_set_border_color(c, overlaycolor); - } else if (c->ismaximizescreen && selmon && c == selmon->sel) { - client_set_border_color(c, maximizescreencolor); - } else if (selmon && c == selmon->sel) { - client_set_border_color(c, focuscolor); - } else { - client_set_border_color(c, bordercolor); - } + + float *border_color = get_border_color(c); + memcpy(c->opacity_animation.target_border_color, border_color, + sizeof(c->opacity_animation.target_border_color)); + client_set_border_color(c, border_color); } void exchange_two_client(Client *c1, Client *c2) { @@ -5485,9 +5465,9 @@ urgent(struct wl_listener *listener, void *data) { view_in_mon(&(Arg){.ui = c->tags}, true, c->mon, true); focusclient(c, 1); } else if (c != focustop(selmon)) { - if (client_surface(c)->mapped) - client_set_border_color(c, urgentcolor); c->isurgent = 1; + if (client_surface(c)->mapped) + setborder_color(c); printstatus(); } } @@ -5636,7 +5616,7 @@ void activatex11(struct wl_listener *listener, void *data) { } else if (c != focustop(selmon)) { c->isurgent = 1; if (client_surface(c)->mapped) - client_set_border_color(c, urgentcolor); + setborder_color(c); } if (need_arrange) { @@ -5718,7 +5698,7 @@ void sethints(struct wl_listener *listener, void *data) { printstatus(); if (c->isurgent && surface && surface->mapped) - client_set_border_color(c, urgentcolor); + setborder_color(c); } void xwaylandready(struct wl_listener *listener, void *data) { From d05a2b5b00dbb802aad7ec9e557aa01b5603bbfe Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 16:50:45 +0800 Subject: [PATCH 12/89] opt: optimize config reload fresh --- src/config/parse_config.h | 1 + src/ext-protocol/ext-workspace.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 16b85e6..4ee011a 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -3177,5 +3177,6 @@ void reset_option(void) { int reload_config(const Arg *arg) { parse_config(); reset_option(); + printstatus(); return 0; } diff --git a/src/ext-protocol/ext-workspace.h b/src/ext-protocol/ext-workspace.h index 6e1a747..61e36da 100644 --- a/src/ext-protocol/ext-workspace.h +++ b/src/ext-protocol/ext-workspace.h @@ -134,6 +134,10 @@ void dwl_ext_workspace_printstatus(Monitor *m) { if (!w->m->pertag->no_hide[w->tag]) wlr_ext_workspace_handle_v1_set_hidden(w->ext_workspace, true); + else { + wlr_ext_workspace_handle_v1_set_hidden(w->ext_workspace, + false); + } } if ((m->tagset[m->seltags] & (1 << (w->tag - 1)) & TAGMASK) || From 3ed36a6ea6564af8a2dcb1e71fe42404ad48f48c Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 19:06:04 +0800 Subject: [PATCH 13/89] break change: remove switch_keyboard_layout dispatch --- src/config/parse_config.h | 2 - src/dispatch/bind_declare.h | 1 - src/dispatch/bind_define.h | 137 ------------------------------------ src/mango.c | 69 +----------------- 4 files changed, 3 insertions(+), 206 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 4ee011a..405ae93 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -928,8 +928,6 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value, (*arg).v = strdup(arg_value); } else if (strcmp(func_name, "switch_layout") == 0) { func = switch_layout; - } else if (strcmp(func_name, "switch_keyboard_layout") == 0) { - func = switch_keyboard_layout; } else if (strcmp(func_name, "togglefloating") == 0) { func = togglefloating; } else if (strcmp(func_name, "togglefullscreen") == 0) { diff --git a/src/dispatch/bind_declare.h b/src/dispatch/bind_declare.h index b02ccf9..a1dfbad 100644 --- a/src/dispatch/bind_declare.h +++ b/src/dispatch/bind_declare.h @@ -27,7 +27,6 @@ int spawn_on_empty(const Arg *arg); int setkeymode(const Arg *arg); int setlayout(const Arg *arg); int switch_layout(const Arg *arg); -int switch_keyboard_layout(const Arg *arg); int setmfact(const Arg *arg); int quit(const Arg *arg); int moveresize(const Arg *arg); diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 21b38cf..7d39186 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -814,143 +814,6 @@ int spawn_on_empty(const Arg *arg) { return 0; } -int switch_keyboard_layout(const Arg *arg) { - if (!kb_group || !kb_group->wlr_group || !seat) { - wlr_log(WLR_ERROR, "Invalid keyboard group or seat"); - return 0; - } - - struct wlr_keyboard *keyboard = &kb_group->wlr_group->keyboard; - if (!keyboard || !keyboard->keymap) { - wlr_log(WLR_ERROR, "Invalid keyboard or keymap"); - return 0; - } - - // 1. 获取当前布局和计算下一个布局 - xkb_layout_index_t current = xkb_state_serialize_layout( - keyboard->xkb_state, XKB_STATE_LAYOUT_EFFECTIVE); - const int num_layouts = xkb_keymap_num_layouts(keyboard->keymap); - if (num_layouts < 2) { - wlr_log(WLR_INFO, "Only one layout available"); - return 0; - } - xkb_layout_index_t next = (current + 1) % num_layouts; - - // 2. 创建上下文 - struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - if (!context) { - wlr_log(WLR_ERROR, "Failed to create XKB context"); - return 0; - } - - // 3. 分配并获取布局缩写 - const char **layout_ids = calloc(num_layouts, sizeof(char *)); - if (!layout_ids) { - wlr_log(WLR_ERROR, "Failed to allocate layout IDs"); - goto cleanup_context; - } - - for (int i = 0; i < num_layouts; i++) { - layout_ids[i] = - get_layout_abbr(xkb_keymap_layout_get_name(keyboard->keymap, i)); - if (!layout_ids[i]) { - wlr_log(WLR_ERROR, "Failed to get layout abbreviation"); - goto cleanup_layouts; - } - } - - // 4. 安全地处理 rules.layout - struct xkb_rule_names rules = xkb_rules; - - // 验证规则是否有效 - if (!check_keyboard_rules_validate(&rules)) { - wlr_log(WLR_ERROR, - "Keyboard rules validation failed, skipping layout reset"); - rules = xkb_default_rules; - } - - // 安全地处理 layout 字符串 - const char *current_layout = rules.layout; - if (!current_layout || strlen(current_layout) == 0) { - wlr_log(WLR_INFO, "Using default layout 'us'"); - current_layout = "us"; - } - - // 创建足够大的缓冲区来构建新的布局字符串 - unsigned int layout_buf_size = - 1024; // 使用固定大小,避免依赖可能为NULL的字符串 - char *layout_buf = calloc(layout_buf_size, sizeof(char)); - if (!layout_buf) { - wlr_log(WLR_ERROR, "Failed to allocate layout buffer"); - goto cleanup_layouts; - } - - // 构建新的布局字符串 - for (int i = 0; i < num_layouts; i++) { - const char *layout = layout_ids[(next + i) % num_layouts]; - if (!layout) - continue; - - if (i > 0) { - strncat(layout_buf, ",", layout_buf_size - strlen(layout_buf) - 1); - } - - if (strchr(layout, ',')) { - // 处理包含逗号的布局名 - char *quoted = malloc(strlen(layout) + 3); - if (quoted) { - snprintf(quoted, strlen(layout) + 3, "\"%s\"", layout); - strncat(layout_buf, quoted, - layout_buf_size - strlen(layout_buf) - 1); - free(quoted); - } - } else { - strncat(layout_buf, layout, - layout_buf_size - strlen(layout_buf) - 1); - } - } - - // 更新 rules 结构体 - rules.layout = layout_buf; - - // 5. 创建新 keymap - struct xkb_keymap *new_keymap = - xkb_keymap_new_from_names(context, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS); - if (!new_keymap) { - wlr_log(WLR_ERROR, "Failed to create keymap for layouts: %s", - rules.layout); - goto cleanup_layout_buf; - } - - // 6. 应用新 keymap - unsigned int depressed = keyboard->modifiers.depressed; - unsigned int latched = keyboard->modifiers.latched; - unsigned int locked = keyboard->modifiers.locked; - - wlr_keyboard_set_keymap(keyboard, new_keymap); - wlr_keyboard_notify_modifiers(keyboard, depressed, latched, locked, 0); - keyboard->modifiers.group = 0; - - // 7. 更新 seat - wlr_seat_set_keyboard(seat, keyboard); - wlr_seat_keyboard_notify_modifiers(seat, &keyboard->modifiers); - - // 8. 清理资源 - xkb_keymap_unref(new_keymap); - -cleanup_layout_buf: - free(layout_buf); - -cleanup_layouts: - free(layout_ids); - -cleanup_context: - xkb_context_unref(context); - - printstatus(); - return 0; -} - int switch_layout(const Arg *arg) { int jk, ji; diff --git a/src/mango.c b/src/mango.c index 31df40c..2056aed 100644 --- a/src/mango.c +++ b/src/mango.c @@ -692,7 +692,6 @@ static void resize_tile_client(Client *grabc, bool isdrag, int offsetx, int offsety, unsigned int time); static void refresh_monitors_workspaces_status(Monitor *m); static void init_client_properties(Client *c); -static bool check_keyboard_rules_validate(struct xkb_rule_names *rules); #include "data/static_keymap.h" #include "dispatch/bind_declare.h" @@ -2371,18 +2370,9 @@ KeyboardGroup *createkeyboardgroup(void) { group->wlr_group = wlr_keyboard_group_create(); group->wlr_group->data = group; - // 4. 直接修改 rules.layout(保持原有逻辑) - struct xkb_rule_names rules = xkb_rules; - // 验证规则是否有效 - if (!check_keyboard_rules_validate(&rules)) { - wlr_log(WLR_ERROR, - "Keyboard rules validation failed, skipping layout reset"); - rules = xkb_default_rules; - } - /* Prepare an XKB keymap and assign it to the keyboard group. */ context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - if (!(keymap = xkb_keymap_new_from_names(context, &rules, + if (!(keymap = xkb_keymap_new_from_names(context, &xkb_rules, XKB_KEYMAP_COMPILE_NO_FLAGS))) die("failed to compile keymap"); @@ -4539,49 +4529,6 @@ void setgaps(int oh, int ov, int ih, int iv) { arrange(selmon, false); } -// 验证键盘规则是否有效 -bool check_keyboard_rules_validate(struct xkb_rule_names *rules) { - if (!rules) { - wlr_log(WLR_ERROR, "Keyboard rules are NULL"); - return false; - } - - if (!rules->layout || strlen(rules->layout) == 0) - return false; - - struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - if (!context) { - wlr_log(WLR_ERROR, "Failed to create XKB context for validation"); - return false; - } - - bool valid = false; - struct xkb_keymap *test_keymap = - xkb_keymap_new_from_names(context, rules, XKB_KEYMAP_COMPILE_NO_FLAGS); - - if (test_keymap) { - // 检查keymap是否至少有一个布局 - if (xkb_keymap_num_layouts(test_keymap) > 0) { - valid = true; - } else { - wlr_log(WLR_ERROR, "Keymap has no layouts"); - } - xkb_keymap_unref(test_keymap); - } else { - wlr_log(WLR_ERROR, - "Invalid keyboard rules: rules=%s, model=%s, layout=%s, " - "variant=%s, options=%s", - rules->rules ? rules->rules : "NULL", - rules->model ? rules->model : "NULL", - rules->layout ? rules->layout : "NULL", - rules->variant ? rules->variant : "NULL", - rules->options ? rules->options : "NULL"); - } - - xkb_context_unref(context); - return valid; -} - void reset_keyboard_layout(void) { if (!kb_group || !kb_group->wlr_group || !seat) { wlr_log(WLR_ERROR, "Invalid keyboard group or seat"); @@ -4603,16 +4550,6 @@ void reset_keyboard_layout(void) { return; } - // Keep the same rules but just reapply them - struct xkb_rule_names rules = xkb_rules; - - // 验证规则是否有效 - if (!check_keyboard_rules_validate(&rules)) { - wlr_log(WLR_ERROR, - "Keyboard rules validation failed, skipping layout reset"); - rules = xkb_default_rules; - } - // Create context struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); if (!context) { @@ -4621,8 +4558,8 @@ void reset_keyboard_layout(void) { } // 现在安全地创建真正的keymap - struct xkb_keymap *new_keymap = - xkb_keymap_new_from_names(context, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS); + struct xkb_keymap *new_keymap = xkb_keymap_new_from_names( + context, &xkb_rules, XKB_KEYMAP_COMPILE_NO_FLAGS); if (!new_keymap) { // 理论上这里不应该失败,因为前面已经验证过了 wlr_log(WLR_ERROR, From 78f7cb40c7ffd56ca8e7764ac5f56b37e5f26579 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 19:24:37 +0800 Subject: [PATCH 14/89] opt: optimize animaiton frame fresh --- src/animation/client.h | 4 ++-- src/animation/common.h | 10 ++++++++++ src/mango.c | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index 249b794..c53638e 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -848,7 +848,7 @@ void init_fadeout_client(Client *c) { wl_list_insert(&fadeout_clients, &fadeout_cient->fadeout_link); // 请求刷新屏幕 - wlr_output_schedule_frame(c->mon->wlr_output); + request_fresh_all_monitors(); } void client_commit(Client *c) { @@ -879,7 +879,7 @@ void client_commit(Client *c) { } } // 请求刷新屏幕 - wlr_output_schedule_frame(c->mon->wlr_output); + request_fresh_all_monitors(); } void client_set_pending_state(Client *c) { diff --git a/src/animation/common.h b/src/animation/common.h index 70a595c..edd7517 100644 --- a/src/animation/common.h +++ b/src/animation/common.h @@ -234,4 +234,14 @@ struct wlr_scene_tree *wlr_scene_tree_snapshot(struct wlr_scene_node *node, wlr_scene_node_set_enabled(&snapshot->node, true); return snapshot; +} + +void request_fresh_all_monitors(void) { + Monitor *m = NULL; + wl_list_for_each(m, &mons, link) { + if (!m->wlr_output->enabled) { + continue; + } + wlr_output_schedule_frame(m->wlr_output); + } } \ No newline at end of file diff --git a/src/mango.c b/src/mango.c index 2056aed..6602a8d 100644 --- a/src/mango.c +++ b/src/mango.c @@ -692,6 +692,7 @@ static void resize_tile_client(Client *grabc, bool isdrag, int offsetx, int offsety, unsigned int time); static void refresh_monitors_workspaces_status(Monitor *m); static void init_client_properties(Client *c); +static void request_fresh_all_monitors(void); #include "data/static_keymap.h" #include "dispatch/bind_declare.h" @@ -4081,7 +4082,7 @@ skip: wlr_output_state_finish(&pending); if (need_more_frames) { - wlr_output_schedule_frame(m->wlr_output); + request_fresh_all_monitors(); } } From d75d819e28b873167f117a2419217fc19b1e5470 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 19:06:04 +0800 Subject: [PATCH 15/89] feat: add back switch_keybaord_layout --- src/config/parse_config.h | 2 + src/dispatch/bind_declare.h | 1 + src/dispatch/bind_define.h | 86 +++++++++++++++++++++++++++++++++++++ src/mango.c | 1 - 4 files changed, 89 insertions(+), 1 deletion(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 97db321..ae1fd04 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -925,6 +925,8 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value, } else if (strcmp(func_name, "setkeymode") == 0) { func = setkeymode; (*arg).v = strdup(arg_value); + } else if (strcmp(func_name, "switch_keyboard_layout") == 0) { + func = switch_keyboard_layout; } else if (strcmp(func_name, "setlayout") == 0) { func = setlayout; (*arg).v = strdup(arg_value); diff --git a/src/dispatch/bind_declare.h b/src/dispatch/bind_declare.h index a1dfbad..b38e2da 100644 --- a/src/dispatch/bind_declare.h +++ b/src/dispatch/bind_declare.h @@ -25,6 +25,7 @@ int spawn(const Arg *arg); int spawn_shell(const Arg *arg); int spawn_on_empty(const Arg *arg); int setkeymode(const Arg *arg); +int switch_keyboard_layout(const Arg *arg); int setlayout(const Arg *arg); int switch_layout(const Arg *arg); int setmfact(const Arg *arg); diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 7d39186..7dabc62 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -814,6 +814,92 @@ int spawn_on_empty(const Arg *arg) { return 0; } +int switch_keyboard_layout(const Arg *arg) { + if (!kb_group || !kb_group->wlr_group || !seat) { + wlr_log(WLR_ERROR, "Invalid keyboard group or seat"); + return 0; + } + + struct wlr_keyboard *keyboard = &kb_group->wlr_group->keyboard; + if (!keyboard || !keyboard->keymap) { + wlr_log(WLR_ERROR, "Invalid keyboard or keymap"); + return 0; + } + + // 1. 获取当前布局和计算下一个布局 + xkb_layout_index_t current = xkb_state_serialize_layout( + keyboard->xkb_state, XKB_STATE_LAYOUT_EFFECTIVE); + const int num_layouts = xkb_keymap_num_layouts(keyboard->keymap); + if (num_layouts < 2) { + wlr_log(WLR_INFO, "Only one layout available"); + return 0; + } + xkb_layout_index_t next = (current + 1) % num_layouts; + + // 2. 创建上下文 + struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); + if (!context) { + wlr_log(WLR_ERROR, "Failed to create XKB context"); + return 0; + } + + // 安全地处理 layout 字符串 + const char *current_layout = xkb_rules.layout; + if (!current_layout || strlen(current_layout) == 0) { + wlr_log(WLR_INFO, "Using default layout 'us'"); + current_layout = "us"; + } + + // 5. 创建新 keymap + struct xkb_keymap *new_keymap = xkb_keymap_new_from_names( + context, &xkb_rules, XKB_KEYMAP_COMPILE_NO_FLAGS); + if (!new_keymap) { + wlr_log(WLR_ERROR, "Failed to create keymap for layouts: %s", + xkb_rules.layout); + goto cleanup_context; + } + + // 6. 应用新 keymap + unsigned int depressed = keyboard->modifiers.depressed; + unsigned int latched = keyboard->modifiers.latched; + unsigned int locked = keyboard->modifiers.locked; + + wlr_keyboard_set_keymap(keyboard, new_keymap); + wlr_keyboard_notify_modifiers(keyboard, depressed, latched, locked, next); + keyboard->modifiers.group = 0; + + // 7. 更新 seat + wlr_seat_set_keyboard(seat, keyboard); + wlr_seat_keyboard_notify_modifiers(seat, &keyboard->modifiers); + + InputDevice *id; + wl_list_for_each(id, &inputdevices, link) { + if (id->wlr_device->type != WLR_INPUT_DEVICE_KEYBOARD) { + continue; + } + + keyboard = (struct wlr_keyboard *)id->device_data; + + wlr_keyboard_set_keymap(keyboard, new_keymap); + wlr_keyboard_notify_modifiers(keyboard, depressed, latched, locked, + next); + keyboard->modifiers.group = 0; + + // 7. 更新 seat + wlr_seat_set_keyboard(seat, keyboard); + wlr_seat_keyboard_notify_modifiers(seat, &keyboard->modifiers); + } + + // 8. 清理资源 + xkb_keymap_unref(new_keymap); + +cleanup_context: + xkb_context_unref(context); + + printstatus(); + return 0; +} + int switch_layout(const Arg *arg) { int jk, ji; diff --git a/src/mango.c b/src/mango.c index 412a27f..5a85a79 100644 --- a/src/mango.c +++ b/src/mango.c @@ -703,7 +703,6 @@ static void resize_tile_client(Client *grabc, bool isdrag, int offsetx, int offsety, unsigned int time); static void refresh_monitors_workspaces_status(Monitor *m); static void init_client_properties(Client *c); -static bool check_keyboard_rules_validate(struct xkb_rule_names *rules); static float *get_border_color(Client *c); static void request_fresh_all_monitors(void); From f8060d2f8f59a726f978f5565e086cc0ac5010b6 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 21:42:26 +0800 Subject: [PATCH 16/89] opt: simple keyboard layout switch --- src/dispatch/bind_define.h | 44 ++++++-------------------------------- 1 file changed, 7 insertions(+), 37 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 7dabc62..57efa88 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -836,35 +836,12 @@ int switch_keyboard_layout(const Arg *arg) { } xkb_layout_index_t next = (current + 1) % num_layouts; - // 2. 创建上下文 - struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - if (!context) { - wlr_log(WLR_ERROR, "Failed to create XKB context"); - return 0; - } - - // 安全地处理 layout 字符串 - const char *current_layout = xkb_rules.layout; - if (!current_layout || strlen(current_layout) == 0) { - wlr_log(WLR_INFO, "Using default layout 'us'"); - current_layout = "us"; - } - - // 5. 创建新 keymap - struct xkb_keymap *new_keymap = xkb_keymap_new_from_names( - context, &xkb_rules, XKB_KEYMAP_COMPILE_NO_FLAGS); - if (!new_keymap) { - wlr_log(WLR_ERROR, "Failed to create keymap for layouts: %s", - xkb_rules.layout); - goto cleanup_context; - } - // 6. 应用新 keymap unsigned int depressed = keyboard->modifiers.depressed; unsigned int latched = keyboard->modifiers.latched; unsigned int locked = keyboard->modifiers.locked; - wlr_keyboard_set_keymap(keyboard, new_keymap); + wlr_keyboard_set_keymap(keyboard, keyboard->keymap); wlr_keyboard_notify_modifiers(keyboard, depressed, latched, locked, next); keyboard->modifiers.group = 0; @@ -878,24 +855,17 @@ int switch_keyboard_layout(const Arg *arg) { continue; } - keyboard = (struct wlr_keyboard *)id->device_data; + struct wlr_keyboard *tkb = (struct wlr_keyboard *)id->device_data; - wlr_keyboard_set_keymap(keyboard, new_keymap); - wlr_keyboard_notify_modifiers(keyboard, depressed, latched, locked, - next); - keyboard->modifiers.group = 0; + wlr_keyboard_set_keymap(tkb, keyboard->keymap); + wlr_keyboard_notify_modifiers(tkb, depressed, latched, locked, next); + tkb->modifiers.group = 0; // 7. 更新 seat - wlr_seat_set_keyboard(seat, keyboard); - wlr_seat_keyboard_notify_modifiers(seat, &keyboard->modifiers); + wlr_seat_set_keyboard(seat, tkb); + wlr_seat_keyboard_notify_modifiers(seat, &tkb->modifiers); } - // 8. 清理资源 - xkb_keymap_unref(new_keymap); - -cleanup_context: - xkb_context_unref(context); - printstatus(); return 0; } From 30dd766abcea74908f798d251dd56afe73ed67a3 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 22:41:22 +0800 Subject: [PATCH 17/89] fix: miss free baked_points_focus when reload config --- src/config/parse_config.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index ae1fd04..13cd423 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -2335,6 +2335,10 @@ void free_baked_points(void) { free(baked_points_tag); baked_points_tag = NULL; } + if (baked_points_focus) { + free(baked_points_focus); + baked_points_focus = NULL; + } } void free_config(void) { From 12e5c03600d9df63bc85b70f78fc11b117edc5bd Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 1 Nov 2025 22:54:53 +0800 Subject: [PATCH 18/89] fix: miss free kb_layout string --- src/ext-protocol/dwl-ipc.h | 7 +++-- src/fetch/common.h | 57 +++++++++++++++++--------------------- src/mango.c | 2 +- 3 files changed, 31 insertions(+), 35 deletions(-) diff --git a/src/ext-protocol/dwl-ipc.h b/src/ext-protocol/dwl-ipc.h index 5ecb06e..6b0c4c5 100644 --- a/src/ext-protocol/dwl-ipc.h +++ b/src/ext-protocol/dwl-ipc.h @@ -113,7 +113,8 @@ void dwl_ipc_output_printstatus_to(DwlIpcOutput *ipc_output) { struct wlr_keyboard *keyboard; xkb_layout_index_t current; int tagmask, state, numclients, focused_client, tag; - const char *title, *appid, *symbol, *kb_layout; + const char *title, *appid, *symbol; + char kb_layout[32]; focused = focustop(monitor); zdwl_ipc_output_v2_send_active(ipc_output->resource, monitor == selmon); @@ -149,8 +150,8 @@ void dwl_ipc_output_printstatus_to(DwlIpcOutput *ipc_output) { keyboard = &kb_group->wlr_group->keyboard; current = xkb_state_serialize_layout(keyboard->xkb_state, XKB_STATE_LAYOUT_EFFECTIVE); - kb_layout = - get_layout_abbr(xkb_keymap_layout_get_name(keyboard->keymap, current)); + get_layout_abbr(kb_layout, + xkb_keymap_layout_get_name(keyboard->keymap, current)); zdwl_ipc_output_v2_send_layout( ipc_output->resource, diff --git a/src/fetch/common.h b/src/fetch/common.h index afa49f6..33d7272 100644 --- a/src/fetch/common.h +++ b/src/fetch/common.h @@ -44,11 +44,15 @@ char *get_autostart_path(char *autostart_path, unsigned int buf_size) { return autostart_path; } -const char *get_layout_abbr(const char *full_name) { +void get_layout_abbr(char *abbr, const char *full_name) { + // 清空输出缓冲区 + abbr[0] = '\0'; + // 1. 尝试在映射表中查找 for (int i = 0; layout_mappings[i].full_name != NULL; i++) { if (strcmp(full_name, layout_mappings[i].full_name) == 0) { - return layout_mappings[i].abbr; + strcpy(abbr, layout_mappings[i].abbr); + return; } } @@ -58,46 +62,37 @@ const char *get_layout_abbr(const char *full_name) { if (open && close && close > open) { unsigned int len = close - open - 1; if (len > 0 && len <= 4) { - char *abbr = malloc(len + 1); - if (abbr) { - // 提取并转换为小写 - for (unsigned int j = 0; j < len; j++) { - abbr[j] = tolower(open[j + 1]); - } - abbr[len] = '\0'; - return abbr; + // 提取并转换为小写 + for (unsigned int j = 0; j < len; j++) { + abbr[j] = tolower(open[j + 1]); } + abbr[len] = '\0'; + return; } } // 3. 提取前2-3个字母并转换为小写 - char *abbr = malloc(4); - if (abbr) { - unsigned int j = 0; - for (unsigned int i = 0; full_name[i] != '\0' && j < 3; i++) { - if (isalpha(full_name[i])) { - abbr[j++] = tolower(full_name[i]); - } + unsigned int j = 0; + for (unsigned int i = 0; full_name[i] != '\0' && j < 3; i++) { + if (isalpha(full_name[i])) { + abbr[j++] = tolower(full_name[i]); } - abbr[j] = '\0'; + } + abbr[j] = '\0'; - // 确保至少2个字符 - if (j >= 2) - return abbr; - free(abbr); + // 确保至少2个字符 + if (j >= 2) { + return; } // 4. 回退方案:使用首字母小写 - char *fallback = malloc(3); - if (fallback) { - fallback[0] = tolower(full_name[0]); - fallback[1] = full_name[1] ? tolower(full_name[1]) : '\0'; - fallback[2] = '\0'; - return fallback; + if (j == 1) { + abbr[1] = full_name[1] ? tolower(full_name[1]) : '\0'; + abbr[2] = '\0'; + } else { + // 5. 最终回退:返回 "xx" + strcpy(abbr, "xx"); } - - // 5. 最终回退:返回 "xx" - return strdup("xx"); } void xytonode(double x, double y, struct wlr_surface **psurface, Client **pc, diff --git a/src/mango.c b/src/mango.c index 5a85a79..80cfed0 100644 --- a/src/mango.c +++ b/src/mango.c @@ -688,7 +688,7 @@ wlr_scene_tree_snapshot(struct wlr_scene_node *node, struct wlr_scene_tree *parent); static bool is_scroller_layout(Monitor *m); static void create_output(struct wlr_backend *backend, void *data); -static const char *get_layout_abbr(const char *full_name); +static void get_layout_abbr(char *abbr, const char *full_name); static void apply_named_scratchpad(Client *target_client); static Client *get_client_by_id_or_title(const char *arg_id, const char *arg_title); From f780bb1dc96b4a054c66a14834846858fc23aee7 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 2 Nov 2025 08:51:06 +0800 Subject: [PATCH 19/89] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a8b4a5..57023fc 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist w ### Dms - Dependencies ```bash -yay -S foot xdg-desktop-portal-wlr swaybg wl-clip-persist cliphist wl-clipboard xfce-polkit sway-audio-idle-inhibit-git brightnessctl grim slurp satty matugen-bin dms-shell-git +yay -S foot xdg-desktop-portal-wlr swaybg wl-clip-persist cliphist wl-clipboard sway-audio-idle-inhibit-git brightnessctl grim slurp satty matugen-bin dms-shell-git ``` - use my dms config From f4a3e55515ee26f796d111193f2ee69032480e05 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 2 Nov 2025 09:24:59 +0800 Subject: [PATCH 20/89] opt: optimize fade in animaiton --- src/animation/client.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index 56a40d5..8ba86b9 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -1083,15 +1083,16 @@ bool client_apply_focus_opacity(Client *c) { client_set_opacity(c, 1); } else if (c->animation.running && c->animation.action == OPEN) { c->opacity_animation.running = false; - float percent = - animation_fade_in && !c->nofadein - ? (double)c->animation.passed_frames / c->animation.total_frames - : 1.0; - float opacity = c->isfullscreen ? 1 - : c == selmon->sel ? c->focused_opacity - : c->unfocused_opacity; + float linear_progress = + (float)c->animation.passed_frames / c->animation.total_frames; - float target_opacity = percent + fadein_begin_opacity; + float percent = + animation_fade_in && !c->nofadein ? linear_progress : 1.0; + float opacity = + c == selmon->sel ? c->focused_opacity : c->unfocused_opacity; + + float target_opacity = + percent * (1.0 - fadein_begin_opacity) + fadein_begin_opacity; if (target_opacity > opacity) { target_opacity = opacity; } From 4b1d2ef88aaecfba23474216472574f76337ec97 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 2 Nov 2025 09:31:02 +0800 Subject: [PATCH 21/89] opt: optimize layer fadein animaiton --- src/animation/layer.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/animation/layer.h b/src/animation/layer.h index 3b81fc2..2487a9c 100644 --- a/src/animation/layer.h +++ b/src/animation/layer.h @@ -315,7 +315,9 @@ void layer_animation_next_tick(LayerSurface *l) { unsigned int y = l->animation.initial.y + (l->current.y - l->animation.initial.y) * factor; - double opacity = MIN(fadein_begin_opacity + animation_passed, 1.0f); + double opacity = MIN(fadein_begin_opacity + + animation_passed * (1.0 - fadein_begin_opacity), + 1.0f); if (animation_fade_in) wlr_scene_node_for_each_buffer(&l->scene->node, From 6f7fc3745f01b67645fee400df32a25889f2ef30 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 2 Nov 2025 09:58:47 +0800 Subject: [PATCH 22/89] opt: support hot-reload xkb_rules --- src/config/parse_config.h | 5 +++++ src/mango.c | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 13cd423..72140d1 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -2935,6 +2935,11 @@ void parse_config(void) { // 重置config结构体,确保所有指针初始化为NULL memset(&config, 0, sizeof(config)); + memset(&xkb_rules_rules, 0, sizeof(xkb_rules_rules)); + memset(&xkb_rules_model, 0, sizeof(xkb_rules_model)); + memset(&xkb_rules_layout, 0, sizeof(xkb_rules_layout)); + memset(&xkb_rules_variant, 0, sizeof(xkb_rules_variant)); + memset(&xkb_rules_options, 0, sizeof(xkb_rules_options)); // 初始化动态数组的指针为NULL,避免野指针 config.window_rules = NULL; diff --git a/src/mango.c b/src/mango.c index 80cfed0..f46460c 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4604,6 +4604,23 @@ void reset_keyboard_layout(void) { wlr_seat_set_keyboard(seat, keyboard); wlr_seat_keyboard_notify_modifiers(seat, &keyboard->modifiers); + InputDevice *id; + wl_list_for_each(id, &inputdevices, link) { + if (id->wlr_device->type != WLR_INPUT_DEVICE_KEYBOARD) { + continue; + } + + struct wlr_keyboard *tkb = (struct wlr_keyboard *)id->device_data; + + wlr_keyboard_set_keymap(tkb, keyboard->keymap); + wlr_keyboard_notify_modifiers(tkb, depressed, latched, locked, 0); + tkb->modifiers.group = 0; + + // 7. 更新 seat + wlr_seat_set_keyboard(seat, tkb); + wlr_seat_keyboard_notify_modifiers(seat, &tkb->modifiers); + } + // Cleanup xkb_keymap_unref(new_keymap); From d73f51ec70547d14a2bb97ab4f48a7aad8b3789e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 2 Nov 2025 12:04:15 +0800 Subject: [PATCH 23/89] opt: optimize client live check --- src/animation/client.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/animation/client.h b/src/animation/client.h index 8ba86b9..c4b71d7 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -863,6 +863,9 @@ void client_commit(Client *c) { void client_set_pending_state(Client *c) { + if (!c || c->iskilling) + return; + // 判断是否需要动画 if (!animations) { c->animation.should_animate = false; From 96938f5f86653bbcd19e82bf2f94d79ce34d4028 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 2 Nov 2025 12:18:37 +0800 Subject: [PATCH 24/89] opt: optimize focus animaiton init value --- src/animation/client.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/animation/client.h b/src/animation/client.h index c4b71d7..b151920 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -1047,7 +1047,10 @@ void client_set_focused_opacity_animation(Client *c) { } else { memcpy(c->opacity_animation.initial_border_color, border_color, sizeof(c->opacity_animation.initial_border_color)); + memcpy(c->opacity_animation.current_border_color, border_color, + sizeof(c->opacity_animation.current_border_color)); c->opacity_animation.initial_opacity = c->unfocused_opacity; + c->opacity_animation.current_opacity = c->unfocused_opacity; } c->opacity_animation.running = true; } @@ -1072,7 +1075,10 @@ void cleint_set_unfocused_opacity_animation(Client *c) { } else { memcpy(c->opacity_animation.initial_border_color, border_color, sizeof(c->opacity_animation.initial_border_color)); + memcpy(c->opacity_animation.current_border_color, border_color, + sizeof(c->opacity_animation.current_border_color)); c->opacity_animation.initial_opacity = c->focused_opacity; + c->opacity_animation.current_opacity = c->focused_opacity; } c->opacity_animation.running = true; From 32c4d621fd8ac1f7313acd3ca351cc881acad678 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 3 Nov 2025 09:22:04 +0800 Subject: [PATCH 25/89] opt: not allow modifier keys as keybind key --- src/mango.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mango.c b/src/mango.c index f46460c..6c2e81c 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3246,6 +3246,11 @@ keybinding(unsigned int mods, xkb_keysym_t sym, unsigned int keycode) { int ji; int isbreak = 0; + // not allow modifier keys to be used as a keybinding + if (keycode == 50 || keycode == 37 || keycode == 133 || keycode == 64 || + keycode == 62 || keycode == 108 || keycode == 105 || keycode == 134) + return false; + for (ji = 0; ji < config.key_bindings_count; ji++) { if (config.key_bindings_count < 1) break; From f103ed46c04be878bbc50aeed55977d93c33d251 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 3 Nov 2025 09:37:10 +0800 Subject: [PATCH 26/89] opt: not set maximized state in init when force_maximzie disable --- src/client/client.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/client.h b/src/client/client.h index a9f7313..a3c9073 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -359,7 +359,7 @@ static inline void client_set_maximized(Client *c, bool maximized) { static inline void client_set_tiled(Client *c, uint32_t edges) { struct wlr_xdg_toplevel *toplevel; #ifdef XWAYLAND - if (client_is_x11(c)) { + if (client_is_x11(c) && c->force_maximize) { wlr_xwayland_surface_set_maximized(c->surface.xwayland, edges != WLR_EDGE_NONE, edges != WLR_EDGE_NONE); From 2c38aee15a0e7787a62f12635d419989d1611cef Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 3 Nov 2025 10:54:39 +0800 Subject: [PATCH 27/89] opt: use new mango logo --- assets/mango-black.png | Bin 82665 -> 0 bytes assets/mango-transparency-128.png | Bin 8232 -> 13507 bytes assets/mango-transparency-256.png | Bin 23799 -> 41428 bytes assets/mango-transparency.png | Bin 82369 -> 130578 bytes assets/mango.png | Bin 296623 -> 39932 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/mango-black.png diff --git a/assets/mango-black.png b/assets/mango-black.png deleted file mode 100644 index fabfe017692bc08bfbac70482641ef83ff08b3c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82665 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 diff --git a/assets/mango-transparency-128.png b/assets/mango-transparency-128.png index 7b9b4c643a37cb2823892ab314b00539717b66f7..a995f5737c7d6fb4cf5f7d585ba18bf79a9c4a0a 100644 GIT binary patch literal 13507 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 diff --git a/assets/mango-transparency.png b/assets/mango-transparency.png index 25e5385665773bb3d9668bf68de12cc43c420f77..488a31ecbfcb82a1f0ffa8f6b8e2fcecbab9a15d 100644 GIT binary patch literal 130578 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

sFWQQPRt!dY&24>VYqAYY=q&(lGHYVG2j5l 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 diff --git a/assets/mango.png b/assets/mango.png index eb14740468318eec2da5cfd38d305866522a546e..5a8136f762c59b8edf6739cbd176d758c0ac76ba 100644 GIT binary patch literal 39932 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 z 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 z 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%0DM4$zZ=JR_Nd^5_ZWDOf<5dET2ZhGO%CqZ zYU|x{QQ11z-SK=ZeovTSS($CkM;6}9=ye?2zN_nm2}KhhLd|oeCPj(B5-m^TZ^z=Y zUx~1%0q^f-{PbbP58vJ4NAKR;ym4KR&|iCp{Jq7Sq7fzT!} z)g86>H4ED{UyT-|Pzm1BrZ+HPmHl+=mtGKS9mL5w86Y$NDIIk^90;84VA16Oi?{rt-xhpVV|EYdyCuk9S4*w%B^? z1$FKVck`S9%nT|yQLge5pP+2IvpES`iuPC$W2&>KfxM}+Hs}VJbK8P%g@37yWlqT0 z0Ws?5A}I^J9m{?QJJj%c=X0ce8Ns+dEl6Ance{C59*F+i0jj6fG>yLcSI-hji&vSm z1LMrp7zphI3&Tu}H)q<={*X_YtdG3F0aG*jDb?O7r1xC(c$rd3T2O3`fYDz0ubx3f z>XXq&6(J&Lf)S~(X>6CI#AhmK0eA7(#>6y4!N8^DIC#~F*mMDAVhiG?_}xH{FIrQ@ zlhdyBxnN*975tZcgs)!|l(P-KSSrqN0oEjjU}`oFvO6Xb;7xcZJDhV?lXf+k{TR^m z`BdRLV#ZybaeG_v*`qDq2k`E+$D8{N-rdi5XU}+N4?N}(lkLijn5K%AsZMqRvgB`K z@pqz{DFzNEVnGMF^-*R4%sKIiXWh}^jQH$tdj~e=XkXlNIBgA zfk36~!i<3{wq?TEmT`MqaQkS$y)EP3IOCZu}WO`B`ZIlpS-liSryQrDL`y_dha{yPK5>|letpM>Pdi8gIPPYbzT zz|Tx`>q)%pK6Oo5z+pciD^pzuIQwrU`Mye9)(^y-bn+n9?bCpi<#?{2`E`vi<7-Q-cb`d2k|yjZYCE7EKS$ER*w&^n1Dz%-rA3x9nAol?=Chx~*SUY0b8u3Y+ z)bxkqelEd13Q&v6A#GW5^rk8dggjr5wOxOz>7YXV9In9l$16sy6NXz`e7T&1xME-e zv1(dq7ROPxvC3l?;%~8bT*$Nge?Wm+RVEAVuV@?OY_VgS@gfsm90$C*+2X@WcyFHZ zPG!6^G2Y!(+`lY%e*&(EurCD@OP*iG=<~uPsQ^qf*s`HkYX+qu@(whF?(nG5?w}j{)64`LVWxEwts5!|iC4=p_Bb6!+}v()cRS$O?TBYL zTin|aZf_@?Z3!nEU`rJPR}@@<>kg)?G7DpsXthA7M~}_RJw$khkZAl za%3f8)iCW^kdIUGb>-7ioA-g#OcXE`%phD*!5fb!{NUYly!Jlui-!X~*bS&-#jHE@ z;zvYiowRG^tCde7pu$Hn`m`$eTnGTjH088nK&$&U`5UgEf^F+$#VNPR8f}0$%=JNk zHnxebU8CP$R-Xyi+LdYT&B8A3%MhvdTY8n+n!oQa-3ZZs>1)^U)Z9m_LFG!~hrz4T z1e?!|mE~))zf5Zv@~^qrG=<&xaf}_Azg=^jh1ToylG@X)i?wns#YwCE%k!CPF{3O~kTF-fs{5k}>uD_ONYChew-{$HyLg{R;)XApOG>J}ZG8q=d zz|O>?aORFkq2F;|Zdi;RpxC@{9*CR_jnyZmTX=vlZnx1VX6%egcV&()wLF-%rJG%j zJO-@IZ#Q*m!BQ5gh_NDG5>0lv)q_x5P!Z!3W6J1vJ53$-F-K{$Me_l;q7gse0bhTA zkMYikS7^dmHIuCZAG7&Jgjv>n)Tq)lP>6o`V$!j9CtR5<3>4pcv%w&qv8fl>qT=?z z_|yoTZznuDCY;|G@WFh7_jWVxPZQpofcJO6<7vc1BkDldQ^iCCJA+9M%nVv3uS>l| zs74=P(S4aORfOYzX5y44pH=a%nhJucup(uM1r_G!Vl8S-e|g<> znHy{G1jp!xX2GIKB1=0eTR?T22Xt(7%F zoB8Y-(@)QMSw45YY`_&UmOJSPFlalR+k8m)Wagt_*!k%~I(FB9MuW2eiv6s$?P*)Y zEAJ83+tA5@T>rH)wg)xWl+_m8{p-Fz=#!GI4)&?in?Xe8leRWBGueSMm+G_jI ze$UNVJPlakMy4Nn=gDLH^uXwl7HRZC?7+gNk)bkWro=@1LJ1ZH!5q0i+V_MR_H4;* z`4({nW4LzT@=c@(P}6{GLR?^}uhPQ#t5?q%6IVb*27I(PtIWclMVY3eCyn4TGgJdo zti7m!+D4Dw4^dv~_t23}B~s<;->P2A3fGaIUz#&-jaHPVnlm z$9A5@v_VA@ODE^SbpT6=K1Jxa=gi1^RmaGf>@3ZN02H98(s3q6#T6`~=ePn#VBDq( z9wyY0vERz!t>;{D&LbXi!GmeSZ}x=u_Kf?x84sr!duGh#2zwl1CW$_Rf@r5HJw(;c z!ZHm3o2kd<50-~qL4Kt;pUnE-56bcmlqgo~5zq?J@%kl1W0-FAQ@^uTc^z)J={UH`L* z5)t8N0xu#N^Y?`H9d!03GT;@ay7l+X_owO1N*y*gK%4vyi+8kV%}+D=I=A6TzgQDo z(T|8?>-)ef@7uKoF7;;`ZnHWZ)T}Hnf@{l~vaJsy16!W2z{Lem|9x(6Mbp4VckEd= z&;IS9e)Qv^{MYHrd4O30R5`(g~h1hy0X+9*osXRifvkU{1r6pT=OeGaLYbzG|1yGe(1aJ9aaF(s9G z97)0Yw|thIHKC!p-tSy*RTI{rPRs=65ql6S2E4|%@&0el@%YXeet)bup07aIgTWXu ziB=<<1ai5Q7YXUy=y;<5JOxde-xe1TZD2m!Mni>xfe2F(-x8xAa^?ygVZt$hn@UR+ zjJXh|ZNa=9u%{7Mn=KwQ@TgWi*j2o@+u?(`;PEu$a<|9DTya$yR|M=Bdg3?0ESiHV z2Q*-&3TDQ@gU+XDA%q$v3|p|bjBl}jN*}{8V?z~3g>gCzxG@Yk+m1NfZg6v3aC<|z zb$o`?k#JHbZ0Z#@yu%S!Y?aY62s|p?W5z&)T1Qx>4W@$XG{6cg2X)xDR0;|>z)B-# z#w_q7ISA_L9P7OSLEJgxroV{hbSK;B4d^odf9~F`$+jdn5BrdNSDl{W3`vVLC6bmy z7Hz#);gA)+gkSv={A2y-2#4PMBGa;E@nVUT=EC9hbWgKyr>gc|@B{DxU*=l7s?MdG zlGe=Ws#=%4Ad$eANB|jmf0}P`?F8+C!agM z#t*TLPa?8zTtUa)h;YoDJbu9`Q#a6I+zafYwwq`3_g1amuf|EFYk}e@gsuYVw^iHG zoGaY=l8|($+_Rn^R8X~m$SpO>EjFWweXz2x@>BNhl%swpE(XqnrPou-^~!eZ;!`t9 zqnDL@zX2ZK>2l&&g%f;ZJqPC(N0fxrI4|<{T4#HbmZ2 zK65OWW1*&g=$7Hpm?$8np@CzrzDVo$*@kHmo&C^V4}u&X%~Afa%Fis$fJ5hY2(RAi z$2;K7k8r(jUAt{BJ=@4r=+(=hB?Td*j0vF|6_ZwdI=l!$0`sySAlHlMV^eTNDislC2PF9{!n;TtSC3dYfzBq^L+T#5;z!0M2kft}EA#g88GKYVh=@AwsW+f#*Ldjb-#?JYVT=S1DYcfku#B9xK|^~-_RF|I)~H((nn zNIW*4&Z%^-r}RtN;@gp+wcSge!mJ7i@QDJiNKblih`dY`no0 zCp`KIZ{6^A1FnWR>*)f#y*S=pHaz-<3k+9}t+)_qPuOq)+;AFa+@0UxZW!)u;O+$6 zo8kThob8Oe(+O`*hC6JyGsnGcFn`4G3kJT0+1B~2ePFv-(Z~?deGvgTP@%wf%Dh;X zfbEJp1b2%qzF0fNI9;)|mAiaJg6W8>t*cG`rl3~=oRMaeYTIhOaOylZp2{O+Z;ZEl zpUz%_pk_e3^^^Ar})WN8=l4wv7PQ;Pc*PScGp>VMpgK!DpJ@`eo{^kcK=3yE3d*mPOPzbGBtXlCy21)I-J4PX z^p<@~C$%07lt8XUk~pzaJT83*sawCck_1GlbKFI4)}%`~EtWva>#m1BIr+?UQ$d}h zRUtD6P&HOsZF%n0MC+8K<+8v&LoJlk+SDIKt#nc=hQL) zT&Fw7c=Y^p<+lX@O<;p`wr*4PL#&FGlPAYfb@7z1M}Z}iinfJvN**byyxTMD)*0Y_ zAJ_ZVwYN;2Ie8hn9a)aOQKIK63P7yr^VcFirxv3t!hyEV$%4ZNnYkSvHye5AAP|#a zLuB^^+S7l4p@Fn|#0wliDgsT!#no1tzMU&r$%8`SA;d`i5Z@LPjjAu)EtQr7@cW*W z$(&vj@EZOcxC3yCEdb5NnnJ*3#jvHxHoQ>I2{s+rE+OQvhB3}Lmrn_T9-|Gi4OS5? zWL7^VXi3DM0B_p{KE)aT`&Uo+o9l-E>4%2j9~(Zo4q)`wlv$3hIgp1})^?9Fzd2x6 z^hw^d93`DB6A?Nxze04$-Mpuf*$ zOK{`KC&rc7-OOVKY!sMCfaIxu%mB+&5*BlW+#O@=2;oM{;1zLbCg6Tf{sL+n+V2Fq zGn(!)H-=ybfTe}WlP|VXI;Wg32#0-cBj)3gISe;k;kMz)2EKT@$1fg#i2v);2mGHu z|0#a;*6{84Z9Ltd0c^1GfPqI?I`79ebvUD%pK!u}*+bORCan_aTt&BoEYV>r^MG{i z6dJsGmG{ERYBk5$-`;A9G7{WyD}5FkXlrPG=Ttl~7n*l?PuonurR5p8xGB)8kzu%^ ztq3fa<)yz{DmSMbEjg{0mj*#*(T?5$;DRx~sk5h~ebr>1?bm@CUb0}6HtIHzfE$?g zxOI+(CLHMyHVVNNnBKKQ&Uk0l!y*~sQTJRLbO{VU@{t-0jJe~n48x|PA9%^ z{fTV3sgFSkqVnl6O#78a;j*X38WtT*QU(OtgxXBV(Dza@#*}a+N~V8Y)pzcoxV8ia zWeplOz0=mUp1@@x0MZm~MSCi(Cj&mi8~h({2fo}c`0sw>gg?4_!jCrKv{@)A_XM;^ zg`DR8EYG-ts;EIx2-dFTO}?%AUMr>~?|gJeZt)pvJ1}xMS>lSt!pAZQU@R2iNdB-~ zDGu~;5JoE>g_n8yiChu6nW#XvekHfYisnFBSsI`VttoSRu(IDWk4ngN)T2mMMB=~= zyR)B+fLnPf>S%_~lnH1dLk^iQUj#X(`4bOA7Q~?vk@v?E%sNgv_pWf9u-O@#hi?^+ zg4uA7s}KCm^@3kLJmKGdb-};*^eg9$DlJF{ldyI2!|KDMbCPqe z6+CK8=HGpp+MG-EQohgkm^y#9e4xgU@-VoqOCZ-1z;iogl_LjZa`=q*dj-FSA|GBX zkMC9lo5;~ByLSdGL7A{efBV`?`n%^X0hHBzrSYPht4xj|0T2$lPLQC_vc9sMQxEa) z=V&N%X~#PT=0np1O8J~qa|a5lALxFhg}*68a88-EfGb9+mjA3KC+YfT-PJm80xKnV z^X~)RdT9&ldEj&V`S)?1d*5&|dFI7rdC}dY{pKKCt8)WayYN=e9ZAJ^N%Tn27vtz) zqNPaKhlSw!Q%!+1AzBK?)!a-z$+j*@xmw{6Y0tutei-qp&jV-3mAe7kT?>Nb@Gh4M z%NH`|3c(EFblzv9l~qV0B52}{aBIYtl(Z=T3LDR{p`s%bhg#Vvd>!}-Z}89Gp7B?g zJN&o5alwE6X2TzxF1X+L{no>aa3tOwI62Z+%fY0FJh|HoiEwhIPm6*eIWl5Z0X^}y z<~`~$BLJ#V5?XOfZ2*3TixPC5^h_u>0c+B^S6F5v+0ccy>!skj2e?4TRKBB=S*Fk} zL1wcqrX^s@^QWA&MJcNWyj{OJxq{d&Xy`{^V8^w&@LcYkxi*SN=Z+`~_fF~X;8cpo&J8(pwW zzG;_g633B51* zjV`O(3arOv>=*R}LkhTj`sV$w?*sfCxADARy&MQbF#al(G*?>@+2ylh20G9PJp34$ggl0+!M=FWT57FMavV zr!i|_9X!MFT3ev|@cfpF$xB(3^5+=40FnePJ_+4}NI=UrmXal%Sr@mgdJN_e(KN}+ ziVaB{!-h`DKxIGEoRNwRh=d^N??C?(jYg_Bjev}_mN6+$Ug=B8_jJb3ZMHb9_6pCu zS62fbG4RFpgn#>m<1fE>z+e8&Tm0n9EB^Wcc#C_u-RG!=C26EXYi<8cfEr6GvwiKMTz&uTuKqEo2 zOXY`M-;dG94&?$cZN@^Fg918*B66KFP1Xb*^^SrQl1l_s-u3z}w-<`ID>4=)NJ~wd z3TMGUy=7*=rj{kXmn%B~NR}U#336hxdGgFaYhk!@j9c2hd~503vNBH8@A7SaV}{MQ za_)^=xwYb+TQZ)yjY5t7Ov&8iR83LEXsMVSj^Uxqc$C0~D}Id={`lb@KYKF#qc@NE zCqKBye{pjB#+LpA8Qla2wn4>@v;c|qY)3zzlvm6>u3*$5E$AFFGM(^u&VD8X-@>A| zFKLD9@t9Q`P0~T&;-BOL-7>`VTbDPd7!YAS3HRhBhRiy7O)u|$0HCvTWv_-~1EU)$ ze578Dgj{JvP-AUAR~l63YaS!E6_@c?bGQsVfn!L2&hX_JxM1MH?(ws4F8I^W-{Mcd zc)(wLZTRbNfp4$j0~f~zAov`H6RkNTW@{Xqf}%s6&1JK4H?x{Q+Qt_2A`5g}rXiRE zAiC@D-UYrb)oO+OZ~h~P*m8>UDv zy}whAFI|-7xfnFr{;M)bJJxa3fmPvW8*AI|MtgP^f30KhchZZ>sB@N2+J7xap8@Ma zW$uS#=8>@4npyZc-umt)eX`zXzV(^|CZyE9SeI`=^NGrU4@WI~K0Bhv$GM)#^Fw7T zjWF)tqZ-nX#t}}$T;Wrp<@+uSQHne7ZFHK7vg#CBIyxT?=3TdI5#8m8c4(PNK*dz_ zQ|3|r42#jWt%M&{Y|#fmhgi0gWFY96yxayL5S(-5oF+GnIR$ran@Rr(fE9^T@=eXq-6 z001BWNkl8%mxHbjVh7uO=mFB`nV918yVy zH%g}U6g9ThCErkId8Kgj;)_dzEpK2FtUrpeb~MM<0YXS#H+F>YX83Q?rx$k#Ds^kz z4H%Biu3#F9s|`GjGal>>K7Y94U;gS5fBMVM@sn>HpIuJ)@?v=M6RviKpMZgDMCOf< z2WBI;vJ9|O&A^egjp{R`-;RL_x6s>pm_9!V@?7Rg_T9>&Tm-r?*s;YG7G%;oeZe>g z3)PQ9(plznq2)4u1xt*Qp7Be1F_c@LX%txb^HBe+?Rid-AAyYq))7H=WMz4d zxA4MPiq5HgUetqpMS&PVOVo2t%^&BQ_44;|os}Sf^gV^;Y(-a8O%dhu#4A4uXE9jU zn=CsndZ~vpv}s_;7<=Rv5g+tLQq)~NfikSYGGsU%a%F`cN?DnO;D^9N&1QR~Ut#&; z9Jmgk5iBMEXs1b_tqk+Tr&F!7tp?PYN;ZHk_M+Oi24MvlY+nM`0v$@7fz#&LP9EXG ze!_-WaTrEe3O2(7fPd|G_~pYDe|~+!|M=s9|LXn?e*AR7yzeZPFTLdwvmU&rVtYV?&Vh!0(u6k^p8M+ z$cY6dYJvyHhCgWnX62!>_N0)h?h#QLFa}H)2rm6Zf&ocKF!dSRGz!t+QA|;Dvt%)W zVFGArM~B24B6rjoPvah+ZTI-|&z|tdzxV?G=8H#sc6ozuuJ?FK&h`=gHUMTB+2fQTW!}nN`aboqw{Myc)|@E=?T5uV$F1Z8Sp&;?%kXS&Wv%a; z{Kf?k5?t%MtCc}zkIn(|7!~STAKQMF_sM%oFM{kvb{E;6@kf~sqFpb_Jhtr_fFTQk zmXVx~0$wDs?(Orc*hcmveV*vL;0NuQa^f8IMZwPuTAb}VJkw198=ui{=cPK?kEBnD zNJj*=bPJ|>pQFzdv2`>aDVM!}4>`2SbAHFIf8nhI3)#oNJ{ACazKk>c4l#fi^y&yu zP|_MMYADy4@gYC zV3f+s(=ua~Hh>D1D|Xa4&>9pJ&m>(nE~yzAerX(!NA@6|*V%7k8L3(x`r8$)CRr_~^>b;uR@i1G|i(w@86TP(+D z&P6&pXY9D;CN=qj$~Rfv+$6m~;*W4#a2>$K-r&hT!PlqX zz+e3Oihur-U*rGz^jG-wVtBwAo85&aXN(G!w**X<;}sh;rvm>5hB05@!(am#3BrRf z?t~|DY%P>N=k72%h%)U3=PIotoOg6=_Wnmpj&13~VJTZI-@hc^lJ*$_4JP!XJfZyY zY@1`Yj?lu!ZCpt&!m*rAU1tVzgZW*wfw_jt&qw-!r=`9jbvz*sre=t_0e%<%M7DC1 zHRcm7!i&;#%5;>>Dn(iS0IQ)Z+w2E_DTiQ&G6r#{_C>$_#A>_C^N76d6 z=}Y{L$|V&}^`}Gp3v?(lF6)uY->n?mAQ1Uj0st&$3)RHYV?la6g!;*jTN-!T@&Jm+ z^kHf`#5RW+Ei4?}5NNfpoNcf)>xX}oCym*cfk)iomv)C=KLUUD^C$e#-M~Nn&ELX5 zeDfB+<=^0pD;y6nJHv5~`rK3DpMwr|#b!?kC2tr7P&gi*!zF*iO4;oXP9$iKGs+_K zcdUM_98bF+RH9B{2!NsMyuwPh$qugNwv2Ml>KDYe=_C>Q>M@t3zIf^1NqkDkMK?_gT8|Rv(Q!?_%6AOiBxF7=94Sr1}=#Hl`@MQOR zuseL=_xSTK2mZw`zQzCji(lf`kHF*jAs)vM;R86?hBN1^<*dww2YKFx<7Dh*(ja*) zw!iY3Q4F@{p)5wHMtF zl-#qT!8|rmoLU@M?jjph{)+N1Kufu`9a*#Zt=3OoqP6Bo(M}T|nD|d$VIAH8?1mL4 z<`>6>fQs@t`zA7~D%pWFX@}@lwPY!YCq9L~&+_@Z%Cb@Ns%2(B_Gx_3I~uARU%W&g z3xn@nC-z+SnsE7}@6NG$S+{A_*-@F09oKCjW-J{-w+xobG$3f64P5`udDl|d!wdIqmfN~btj`vSju0U^g~A>Ugg zWayVR<*8Z~nvTyk=L4|ohc{K{PpMcP+)CnEjTL1kd|SRiEXJiT>l`2rY{R@w)wDeX z2yoa?r`xq397iiz*&R|jnm{GrE#L$42Slmo_q0y2Zqq(BfSa3jH1FrS6!`XI%2km8 zRX$}>>qOP7t$3;977#~^3;h(;XQwRSW8#5$BW3C2hpK&7{*!*Nf0M6R$X%PP39kh? z&tEG@>A5>g#+L!l{Ql8(-e*_bGi(VS=5v`GfyVrMB3?s}J&9lHO$OMlL$fK=d{Q3# zeidMBmk1K?HXhJRR?zch^ilEkqXq0$w?_j6Wg=zVX%I&#HZp4a;N*lAm8R5HT3cFg z+#H)TeN~Q0$%AD0^3MP;xCs~ZF;&1C9bxFPK$!Wb)4Kt{o?sSvY98%`&+b3LH$L!h zzIejle`EMZzcKLl&yL^21wXP4XGb1U5!R;&XJ-Bvpv=xStil^3COX&t@Dt1~4TMZ{ zrSvMRoq=_{dsR!}YsqKEZ}Jz4Qvw3!FD4BJW>#rSQGhQ6#4Uslk?Jz*pPA=T8HF{b2a%mlyo& zFE9AZUw@0ge(QL$Ghm+pcd=bNw#NV}WznQ1(O`p$I(%yedOD0jJ_`U&h2GYi2EEOb z^2-De>1)TqIg$?!_<50owD_oCO&*zEqf8j{vnorJ;7-o6>|4N@|JDz0-CF?2RL_t% zRZ$_WYRY%(PtO0NdR4Zs00^jUr4@ip?T%;DL9#{HwI8dZTgohdmbA(vt*M-xlaHUa zoj(aw4s_m&{aAS`-3|Q4n7GtsD<5#d&UX&zTD~@GA8ycQYMYK{w_PnUtNu9#7Hb6I zI$xd#7@XVhlE{#4JhIZ>zO+rRza-RM1omzPqKX~z41jYle4E-(5HR^9;=c*{r z{uDTJmKXEt%Fk(ytOkP z><*tlT=Az55BRXEJhFIlBuHvHIqvimuGqp`Aa-uCm z;(VR;1^X<(q+|mpg<4^impMwuE7#*72fb8z<()}JKJ)F(F!-e}>t{amQtJo3ul=Ol zpoQ#6hUb_VCLS*U`mEww0S1=8RZ+7z>JyvBdj6I`=GN7gw3ZPn=T{k<_Y~;4(ho8w zM}1s(MzT*n*Ev7edq+Hw07`kXb_5Ljv*wP!+k=EX80&Y`@n0iGJ8O3XqHa@MS*NYM z)mwHS=SmImYQXgFpoiCae~ZkKWnU@2PF z#sG;vB^;FITh+B^zIKqz!Ny*Q&L(Iw)i#wg{a(qm7OFYQ{N7Pq{I3CH+l><^sL9rd z!+ZCReJBK-*0U`XFc%$R@JXdA6KHm7%W*2Fz)O}tBOvntV{QRyClCmLnT9=`E6szx z8-UGD_{u-Q*Ov`H`SOY%o8u498~(xF6@PfQ;SbIy{Py{bA8d~};gVt3juVx70yBo< zv+1@q4Qd<`fa#G9pggVi8uoy+>1(*Q1qaPT;RBbxNY-P(r{xQm&h{H}P>i(Bm1**p zLOUzx;wCD`j86U#u*Mo;r*vm9*iwKIaM>kl+1QJLZ5Xb0!sF=g^SO z^>D#2-d^y_w;MkF_KMFQfJdAo93A(-NT+?m@S$sLl*{I0RmHBnx@z*i@z#ZxWQXC_p{O|lrP%SSNcBQ zZ0p>Qn~}#1M;)sPib*=ohSw^T?pfvXZ`cXSX9zKsYUcEGb;+)9eXVf=c_ z^5}!ns~BfLYA;y%AjW)S|7ki0I`51R7%nis7Dsp~x`FFB;lY6~p04;emkq!9aK-PQ zHvHYw6@Pd)@cW;f@mqJm4*}e}@Ey2;ie7pldQ+Kdm(!Z2M?XjT! znRHYxBG4wrLS=PUrD^>f*qEYM-F2>rCNg)`DF6VWbSzKN?)QRFZXSZE%Aok< ziNcgvj>t?r5D_Wr*TAXg`Fk?zHlN$&laC75-Q1=!w8iQaB^b9DC}}%aM{l1k>F+(A zfxUe$>cr#8lEBH5$5rqyt5N|~2a6K;kP(?QvCCpVyteiDemYtM*t~NKxjQzD%yAgj zg=k%bG+XtlqI{yHV82I#?C;arw2mIxi5BSMf-{4md zhA%hZ+YR{o;&|(Z4JTYN;CKT&SyRmqMe9tl63D(~3G#e>iHbThoabj+(T)eb3aJB-q^5;eW6NWo;o1CHNSl;*L zXP4RwFwTWVPSijBUPHo@IZYNqJB6ciL$jWzBfPi#t&9C&DuAi)tg6divl<^Q47wl! zAA-suv}D~mH>;0S&PMNk@O(#L8u$3#FF%V2RkpCKI+z9fJ~ zo!VuGA!WrywRELk0If(|H0oH+yk!6?pPX79i*{$s zX<{~^*J-gZedzUF0iPMLohzKun-Ikilj7zhs%j;U&-|G5T18kX6C}9_7z)d%@6VXW z9_anz-9_NQKLwpnZR~+=(5s9M^eQWuznz0Qkyq!msDsw9d8NzZWXr&JAA_PZR?kkf zQC+v`T?#EaFnj$TK_ym}fv^bG%+5LC;eo7mWS`sRdOwwz*Dd^oqEGFrRGKW>nu4St z)CO$kxM1Mo_xRRN_;kC&zr9@WuO2r1#+Sfv`&<0p`GntpbC19K<{rQMiQzZR@yX?a zvqz+oZK)7OAhqZt!FKeQBkU!RFEE_a)0QK}Es;ECfJ2Wf7{#)|(nkdt;EFVR>6Tz8 z${AY-I_5Rf$RU?A#6}7XpDYs1=Z0`(4@DMDi?lO_4R7E$;WF;<)pg((-#p^4-oC{z zzJ0(?zkG|&9xnLe3Vbup_3%Z zXQ}iY;;&<{krp3`zOtHgx)M#U&ISZK=N6TK+Xg*|F}CJ;;{)gXFnM=faZ{en!q29A zCdy0SD}*q8+g4)!SLD|2(lTAXHFO{eWtL4%g3R%KKUkMofa+b+gLP?gP4+j(Lng7Sk|pzR)fOVyX}AoS znaeP2-lj`zmXR~8m;YV1=AfV?lUXfh?7$SKshm0Nb`f|E%x3lgCad#a$ow@aWn5cM z)L{eg$g%51nfN4tOiyAe66Ryt@2iKBavtN68EcFEw_IJYZ)p`O*`1-fPjDO=Zv#)`lfAuYX z_Vt(e`8QX5xkbu>%?B>yzB$u?%5OCwBTo>*F^=J~;qo-^F*Mt(z6utx;y1HPCL%oN zs~T30gwII?*rkbveNcB-qPnsTdZso`DU#<j^iFGo$7(4=1%Rv6eeU3rKQlUycLu5Fe?gO?Nn z?a>}DyE*K7g7hF&TUfK=AkkRmvkxziD?{abl+0F!zD%^MBMBs0%RRJiN3GG9N+R6S z$EVEF(zfzJ!obyIB_0mc5$)50&18&HoYa1KI=Kq!4+IlG!+*u|Rw@doqc;bntsSjQ zPB_~M<{PeQ{fH>0XkS=8PI!dD#~nU3$6sz6PTySd=9>q+`TQ&Vz^?eMGw^$#4E(2W z?(ug%`62$3H*fI6^9gsj;C{Q{{`!b}yWk$NCB-e+IJ_hLp$6_?*l^meIRUR$m?j~B&U@-*vk9~oqLq)=JzfznLht#(BUKJTrM^&1X&D$y$Y27Sh( zkU)W((pzZchRVmZ0@BGZ>7bu_NazHD*j2+m9Zb#<1NQn;>SXky<3M{KXvOKgvfS9U z?qmC*9gNA!Tee{WeO28tZ#fr@yH?UDknRIhKW^~HN4h=~PtBIy{k24UG1A8N-|P?{ zD*#d);+AVDV3Nz@eV%rr9R){tYfErHXBEW}%zm7V@u7URF!2~TGD8sXIZ z^Q+@ezPjS{RU}e88FmGcIO$vH`a@06vL^o-M7J2|jA)GfsOy z;T#JFf>Rhyjs!&s$n$3lQxt&K?WML%Hh;DusmXM09l4`U2wD?`mLu|n=eOoD-luVoIGtUFLnzLq29O&5U}k6uyvIm?Oo+18Ik z&~|j~Zm;D^(#G1hvgy?+Fa!{pzOTefi5}G_idesy1Q(y>-0nT{+kIsDhq-gKue^GD zc^=oby}-O}w6;@SIOglvqCt>xMXS)YzN~YXK=`O15_UcleKIse_Y`nE$6H6&joqCZ zOZ{0b%U^DTi0|r}=f)9zKkPaTbq`uJl6272%t@7g6OIzM(5UxQ$ zD_Y4@7*`ZPyyLD&{&*r$aMQ1+cZ$VKUiC7{ru{VLRg<=nli2%K3G;yhkkD)|qbxE^ zFlVG(`Q0=qsy<{`v`z@$k{;mxcQCvqZRo%ZSU8NBgbTZ;Ws7ZvVdI+5JOIpF z3-4Z!=r?o6odI`t#qcMbaK-)Ugg2)%?#BsdI8L_VWWXH^cPGRB=?*8`5Xk|f{>=?n z-*C-iA>0Qx8+f=n9iqkna z2_OwNvYpjd(uj(^c`l0N++Nyy7$L% zsBxFbm*n6Ae+cCfWDjQTg-Dl2kP^WvbTp1g7#D{2tlj{)85k)S*@@fn)IFo$GTCFR znRwQOOuwk~nQ0-^f=iP;#!)DqbB-OkhLdoPF~gllDv4TwQb;FlycBwDWn$Z~<(Xn7 zs8dOsU*Yx`+ijb{t}(`jH_@K@NAP8UUEo`ed5(K~5yck6#q&Vc?LJ@}<>D6OxWRIm zsN^Z=1~%`%$23MGfnxFp=;e^~P0-m#m#UD=`s<7=gN+2*)0R&1?IdXV?<99->rcr7 zGnn1wJ@htK)gRkThKqo#j6zHh7h5gq$u~KPXRWpMDgv0M_eEaKmey1d?3>P|LmFrzD`J+IJVUDWe76`D{1L*g5{H1+W{u3}_4h`4dT~+U*q*wYJ_L2Qi+G*c) z9!!)PO_$O)22{xUda*pUMhTc9SS4Vst-aUqR??(zE_Fy&{o*a{cgWU| z>seO$=YDtFTp#Tp!As z-~siGtMXV{6m;Y&YZgSso5<7v;&e)S1)k{sw{x1dzkhR2YhJGCNpJO$fg!?(%aY`1 z3z0!kSOJteQUhVVpx@HwSM-*}e9l)n;0`cGIt`e&ag;s2Og>FW<3Wsz!_!Ne%7c88+pF2Olf^-%)5zGR z=~Uav!As?!Zamb4JaUP53YgH}hsY$xX9nN-Jpqz&TsfO!PK?}NGb)IT$QogmO178p zYJY62_R>lf&9jpEp4*KmmJy3YDGpI?&;-3;fAn{yPxPYYrSgY> z5gDU-Ooacm4d|t>goe!g1A-gzS#xw56$qeU2k3?8O2g4KS^0F@^2&NSwuijMeyNqx z=id*vcmMV;-A#G!I+u5Nty~h}i8s6990Xb{Epf%S#z7ObZZ+X&W;ct-oIXyG{xr(8 z+#1oGGptj#Lvn>;9tvx#ZGtl@6E&Ued|*IBKIx|tZ7&DjrLCpR(=su)g}xyMw`(f5 zv;oCGI>3T?oV49JapqN01EsW}WLZ(=05S<*7?{#e#te~tcoec_dEM+ytSzWXsBg2M z?0!v99~fgxxjMop1^}`jm85TC_JKMW5d@+=?$?ZZ7;>aW=U$3&v60Tl>`RU%{SsoQ zU@MRlCuokOy9ccyRxg~RtxiXCONV`L-u4cAk6Lr}JPD5t&A-e$bQXbf%{pnd@GM&C zc{yv@{z!TCBFzlYTZd zv+ty3(1(udc=7M}$$TmM!#=qRPsJ|EY+oP8QnpJbUz7aj^CGJN+XP~4DZ9bIp}e== z)b6_3rUBSv1BTk>x}tNy2|0HCf|Rw&Pu^p`w~?~TFmL^-MGKP-+4n_%Q9AeTL0A{r zH{I4++pKjPj_4Y><*1Xk?ngz5ZOiw(S{KgzoOj$0ctw5|I8ojr0Fru2ztYM*M=&>N za?F-7T5)LA0cPG}DWsq3F3ug!cVBeThhEDZecw`USbTV$+pI=LWil+TAeE{21-n=| zXfdduCpyOBj7q>I6N6LI<%kJW2Aq&Mg+p%>#kN-@sPhu26!P36vZf_~26;PD!FW#5 zuD1w<0iY7s(V8WwIkFSe8o}p;3mKI&P5kUv3E*sR(VGfz_3c6W2T3WDvehj}Em!W+L&P@)^+?O=Ka~-y$e20F_*?~NS=XA#3fNMC%Y8QkHd=aQG|~)Pn?cUg zwu4V18jH0Ca57wHhkR$7Id&8dO3M^-4m8MY8ZryBbD^*R{CO78K*QDS(URMysGDEk!LLDf4q81 zUE|$HiV~9rOBL&42}xQpcmQ4gyn0o|LuGVDosUMJrvkCdjFtqHd!3j9-*Zd8>Spzv zpW8vvSU&2zKGC{`@s4eqjT8U-IhCBz# zB1T$IyeYDqQAf3Ce*b>Nn4D|APwgp%4$M}3zB5EtQSNkK;(J=tf=*U_(eDo2WDhmQ z-g-p~y4RN3frV>oj}}WH#i-oXTEpKH&{%)R1-wuB`kre$?*q?`iKS)m;{qR+J?po3 zxjHq>5#a6XJUamnROAhSorB=vMImxox*tN<;fPFaCr~MSJ(rb&t^_=rR+GQC8BEHy z5)fWOs@Xuyo??~g@awG21SBC(s7|X>TQ6vuu{|e>KU{b+YAgMjw9P@K0Ha&2#OLj)xB@t> zAk&j>z4AwWb2~a@UPN?Gn!M)@W=f6iGt6KGXvDZ$NpO+%%J!@w`r0=AnFW}0qu^+&G3rS_d0dL)s;ggTawmwX2E#(K$ zd`MmqIca>}z1&;5q^%6Ccf%A}id>L50f&rv$)uycP&x1W(N>)-*N*5TmXuxEf*hNv zJtn_jm+$DaslaJ%m$r|;Dj#gixJ5r0G~h?RP1f)A-_0AXcE$lMgZI126vRF-1fG$vj^AqJ5GaaU{pxR9^KmSI)b(k|sG}qw9;% zOXoIEB}nT45&LvGpmvq=$JkZe47r}nySCG(ccRRIGCqwFFuQPf_E49SDAeiX%RUxr zq55Ci+<<6`O2&ZOQ;Ok+m<;uYWj>vxOBfMZm&1qm`w|V~LdVX7!{5Ey*j`t}U!4)W zfK*vQpP8`EA3eVD?OcEPgd}g;#A{aHOuztXEz0-W$=CoMJ3+zEl6r7r7S}gu5W}d# z^6SZWX>CjEO7nBh0auG7y1-PF9p$C;n+6?%swY}OzEjf9ix1K%`0jW!$nvW#f!18; ze&yNxQPvJ=?!IjDO(;Q^Zkbu;M_c=%i0hU{dagbN1oCLR0=SnVMQ*V#FZN???5Yp? zz2jB;Yx^@0er&5kb@_LL5eQ~>l^-d=<=baX4V=6=o&|!A-sim|%M9ys%!^kYcVU#9 z;$+p9U3YJSAHCl^xj*&(Ry`|EuJw}V_KLZ!+&)m0I=nmBGtgz6c4V_6VMg#C;$}O z8=iZ&8a~S;ga(V#$45TN?XMa5crx^CD>3J06~M@;BL?ZccOrWVeZXY3q4b&Rrqa=U z-P}`d=k#=j^bNj6KcY-W;k#}*bSpcfmeMFof zsNZt{TSi_{V8`~82qK$lQ|}brcm@)cy|m9zQC7j4v^J6!dhLauTCIBW%C=19fa>>Z zMAPSPQsBkI{PUd6JoQl%4$A+_}o_ zt^Ycdd08YymUQy^O80Effi=e6(FfEWDPy+tNdEFw0RooWeWhbv<}NA;ZD;8}D0H$4 z>7|PP;7jK>bN?&gU~D*C5FGV`bHwE(bw;mrC%4-Z0^lGKB#0%{$7XGlj^$Ej`3R=$ znf%?fQya`R+4a@jYFuoHeWV@?A?zea9wx+gkY{Z}rxq`rEA^tvUAU z>CTe>w{;x>#a*5sN2C@f>h$FU4u+nI6o=7mi8(zLRDhSe1W7tr-H=M$R{N+2jBU(e zBJD5&rMoC?IIyV|!T~&jVa41=h{qhj7XEQ4CM^%?)a)H{7u4G{dQ{W$pSPOe^>t5&;XYItm`T^S}fCrX;QhVB3JtOX(snn zhHk?hDB^5i_XX$!J#$Qox6~4}9+E28bD`zM!^@TzfZ0KM{f_P7c;wd;ux4g$(u#`& zwwwQ)|3@!A589*ogbw?%jwSihr#ZQlO{hTGL|Hvx_XN zN1poW7LPC=&(Ue{O563@TfD_*J$LIW-=+Uhu9=qS`G(66og})_odrP)|9HQARTkk9 zC5NAd6L|1$ngPonXR_vS^Q!AW0gs&Ej?@Zi&a257LM`}~CF-7NTLv2It-`_Tzl`f* zuh>2Zw}%Xj2%9f4_3xZvQ6QpQIn$ewY~9GF{XAv`O8|I_p3)U1fxwlByj5RY(Lvix zx^Qx^7F9S+lla?#;W>|zY71|bb;mNArf>_D9B;@^g7b20jEPCmt_ zm-6%!?w)^}FFPSU-)cL$CZ*PsfWWq*+q!+Gv^rF_$zSz+?ZYHvS(ITqr)sKay;i!d zq53M9c#kqkXlAQ|)}ON3I3Zjz_`<9Dd4bUdq#X7^|5l$N)l;0;tHpNqzpP>1SuwV1 zPjT-QD3oQo%y*87Tm5<557njhAvB%C^ltLjJXRc&aa;v!FCB!E4|_V^;4RnZ;wN^< zU;6HI&u?9~zPTj}UVF{ooU729V7YQA1e=UMMI_0}EZ-ZF^eG-~aZZq5(}|i^6gBVj zC&N`e6W$FVeQPYsVwiEKcQY8Cavr71D*%y-g}ycgF4SyFVG%3--m+_}MuplB!2J?s z`*~KF`IGIm4D009jQKhJOH`00E&T*+r{w7cU>eXqH6xPqfr@AYj0xoKWZdG@K8E8o zZN>FT=U2ePD%V>c-n1dPnA*S$fs;?AGtB959PKk?2rJaQo}j~!;4t}Mns{{5Qws|D zF9nWM5z30(wj7gz%GKnazF$QM=r%%Gi~Ozx6Z0MQ$~deiiQ8 zr{a@VnhuAJ4d#v^hS)f2gYD;Pt@$@*Myx2y(K)xQjY8T_WwG%BNX7vy@DfM6&`RUr zfsB@5(x6)j%<3$@fk|g3E<`yz3*B;lT5XrpVmAQRUrL;P2Ij2Aq}f)*T5TEfpk!4h zIkuDwRAAP;MI|0qwt0K37g##RGJk6>XB`#MstO`4j7(cl&blm1+bjG(`BAVRCij_6 z1JaKpKtNiam;3Ust}sqdTo94QlZK}B~4FjXr=@EBJY;p2wT1todSzcu^W1P z>QnSYlC0Hm%$c&IeQn-PVP#1}5UjMIHUdhFQsbyGTm?Cwj>I7ej7o>hedn28^ZqfB zSv%0W$-evI&>D+oTa;GP!@Te7@3O)&Y5#tDrqFS~6C4y^Hva5X4Q)VFg}`?A;^Ktd zJ~ORfCo28ghCEx}Rey!t0<>(2A$_UxnbBesZL>)j2N5;GtAA&0Ta+hJYK5l&@UYa` zp^}zH3T`i;Gx;g)dUAfVE}mQa@CSB@pFAGJZ3Gooc+C}C=_Jig|?1v-b4^BpBLLJiDYX_>j>1W z%@P1mQGH5-b&JL3pS!Spt#@FujEF2arjJxxdAHUrqg#F1WL)xRjq@$Vue4KHy!I6` zPh@Z0#8^9!7x9|CmtZH(((%Dl~Q=YD~T?x{YYGx2Sp z)~m2MhQSb41zq*d!xub2g(-K%rzFTtlj4wxCk?3;N?UTGrUog{oGIKMDJJYb82e%Y ze&TyIiEhx<;(nm@RCD^hs1-%&YgK)nYOSrQZss>5vLl9kCWR6`Qo1-K&(#D7 z*@K8w={e_BNG-IEwv(Bc%pTC&pz`6tI0i7=s*c{un9JS+mG<*$kaJW8m96@Bu-H|0 zxcs1!p@7h~+`70}+;=X1v+?kSSDrN72&T*e>R4=Tu&CrfI();`d#9qF|Rf(tLZ(Id#%5BmK1_Zs|Ez6eb7 zzR{pzc9!bmBN|Ju6!T7TKY0oOwfC5nIR`Wpz;!nWlbFxax4Lh-k}usl3zE4XY~u79l$gr3U-qt8Mc01M`!2j zkESsNh%L&4mN_xM+S-?<^-^I|JAHYkEq`bEGbrsGI7rZ=?~~pHF5S0qxbKOoyixBt z&v<%%0w2>Tx3J7HAJ5cQ$w?RzxIq9#7FWRHkZ|HdS3+-;H8bAGPy@~($-T3;2*$kz zM?-icfe*hkC@Ht} z0fk$`(KW)Xzg+<&#~-+@m{sE)p(B+QdN2P?QBUi&VeWU%lcORJ+qOPiz}aD6UZ+g@ z9nmF+R=XozLSe-PqKx^?w&~yFnfKnOA6gcPd(@sIq8}^$m+L-~!E4ERjv_G0vwiv%klx3T!{zP}%~?e#8W_k6wQX`)dm?LvE5={!jyx(ChR4jfJ< zv2b+GV6N9GRQoD6wnzXtBTba@Y(UcyS4D8A!|5Rzq(7q+2K!Pg?bU22O1G1>i2%{&fAD-;8B)i-?$(VvF_S@LGl501u>GcVyas zs^6u>uepT4!|L6ND4FIMSHEG|7<9m`61py?D~PE!mtB;zg>S{-x8@0bd8P`I2U8(= z)^`gy7SEa}fU?@iD%OsKFUMnDOp&B!^?Nx;S(Y!k%B(Z+We>)3NDy_Yt=T)SP_3v|JM% zas*nAXsuh1CUaPYPMzD zudP(evJilX0<4T7o?B{#r4B4kh8}3ABekV+y3gC!1|=N4rQKmA)f9Re5?(9NHWxY! zgWG!s#4!xfJ{#9uupA|4yd))L1*{Y@KqH2jBPl=}4RkKgay)o$n1*>ex5iFl0HQxt zQjaFwDYTY!W|F;Ca8Xb?bW5z1Mgp$Lr$c8rpw4yL?xD`CIv2JHJS%tzYZEtrHsz~H zOJ~@!EQi9qhJVk1AU@ry&fUb^;#;2_2-B)k!eFo9hOwrReLR4Ro9?5zaD;{nvTm=$tBjx3`A_fOYPx6o@`h&dxW(wShQCZ(W=Xkwr@gu~@gb zEf~(x1ZPKS0?>+<<*ygdNh~K~#2hJy-h}{4pK4pq6T71QM0hUa@;>L)R3{nrg|-&o z9reTHo!;i}Im{@sql*@v=B?hUI^F!vO7FE%Y$kx+G%{R=z9^(G%hapZ?~r` zSn7vEx|U2{WvuOKS50DHW((ge^RHPAeJ@vj-ax;^=q|xNPg&r?O}`^OW1$^uqYdHv z%b*9H?+L_gZQtvz_saovYXPt;UFz7o6Yx6sSte8j!i*CLN~Eb{kePsk{&F~)193D! zD|bA#jNE-62BTYI1rCnDBc^Fu;MM&yU5R1U;iae$ADT>9*M7$Z98GGx-*w zq!=MZKL}1}%37|}D_;mF70adHlMsbn+h}Nr)7oGQR%?*$&39T*ZD4$#)FpT_W;x(?u>2H)Yt4XoJ z54Sj6T0?&>RrpjKA^eQ)2r}8HB!AhLZdM3ahPZcou9KjcMNL|W%;DP=!xU(3A{d%x zML84xDurwPvv{81qgVd*`hmhyI`$cFygv)+na0Twa-P_H=rCqpDS~XvTvRL2Y8{aB zbQ_P%>I0t9lveK#be@*IfG;d`9u@V15M{SqI( z8^C(04d>Z2p9nsff?F@OPlyaFb`pGp*@g{QSfTL{azU;WA{3hhON&ZLG;ts_o}lX> zLbZ%Spc1Uz{ya?8@Kon#)nx#1!8o-AivXq+C{75M>QPD~R+G{H`S*dXR+dQ%v-sOj zwT)o7z;OaCDV0BmD;t;e@+DY#qtC9I{Ruc8CyZn+uFNa4B}3_JsGXB`%NitH(xM-} z4cNHkck~e8UI*SXv|0qD_iEKazYXb!Z82dBV5YEJ`Z!yCyq>$A6I5+* zk7y%Q63SWN(O;#73BdySE<>W38F#vR>%ff;i({$B(GfW|-470pe)OtrgPk0XCpZR% zo!|&3_5fEWSfwkVb?^)Woz@+OEBdUv02)@~aAX2@QUCxT07*naR7ORAne>BJ!?K2P z%)Fakd@&26j;1_;=_`89@#gfyhM7bO&4!d+JQDb{!|PQ$?KB4Jl)1g%A)z zY$1ZbExclND-f2vrwIbTdg{MkkU&|=JhXMzE;(H#No&;=35<_{kIWB`cFeMrev7n(518NQcek>Kht9ce6?!e0 zc^{zk@^$W2&`OY2aFv))qoEpl!cy3FA4?KVR+lcHAVyYr2E^G}DVc|&a?9Ehog4GJ z%q#OCG{BY3>}}o-)r|%ze4~!wyNpbc-VIpg5JJ@mfPO|4j;Smn+iY5(iYDrnzkwF4 zxSBx>1TY=&nwNI6**O<)I9g4q877`Iv&GR;cLgYI?iGO$LPFI9hxt6s_&zWm@~7G zERe@MQEbDM(5>k=2`?9ZI%>9pm;zjW;{#erOlYF*99e8`sqD_8W1CHGFYT4`x(#Fh zUinZRw38xY@)zQ`H(y%u_^K2r>A1DDS_>`bx`Lx;+Ox`wDb!v0|AunXh_vZqy(_5U zGc7~G$#T^;XdjmP4`ju0UyiJ{NAmQb&Z$jZPDh_g%8;p;qcLgAA!k?@ufTUL zhi#g9YtGm&-%UkW)z|?(QilBH1w3WW2xxrQZLeELVtk*MM0=fbGF~TP8C|5`z+>LM zmJsiWsffA14WYC~^4J7?00=-L2*{*pBrZ$OHqsYlz53L24kj?0qz!?@9dSTozUM%1 z`7MszP=6rlf-pi`rKqH+oNShhCBRz2L=K=7)M5de*)V>_Z(PM}pfAxp!G^RQB1~HG zPwxbB%x>Az_u1@Orgv?d`Z&icv~m`B@;K2+1zjtDesp*H!-5V)-qS{$pZ zzw{vkz;kM>K$8lx{O5NicxhFs@Yl+PrHbr?@^c|@9I_hb7S%#a_SINV_RWxFr4?@a zhNk8OCBHXk`HVY1EE z#M=P_?Mo}DBXApSv9Y(}QO1}(gt>kJ8*NQkzJp;O$q3=wc^sRE`1g@Q5ftc3-p!UT&k_{hro!JNqC3opuG!Y?|nWV3p zC2v>?gd}h(3tCrbaj79JrJF)vnn+&NPI?Jz-EEZ+6(owDLWST4wlx(@{fq^Tdu9l)T0bbFW%F|>5%D3d9Xa~*bDkOkjmB`k>Bq->oBW-Y$ zCh3HSS}4%xuVvd-$6ZDjnt|IhE|a##G|RB^xnToFvP-YuVXb82y?$REw`c0M!t?5f zaKfOH?0L}i1(-oSw$k)tuX1a7UQVn% z9#k^6>&4XY{)?0A=C;<+)z;?zmvV~=(N}sL$>2-@Q2kKZvaj=Yd)D_>E73~hqk0Ie z4*Z-8&S|fQ^Z_q%YcBY0qmx&xZk*BXIn2t}{V|?^a$tQ3IZAz0#o0n5d$Y zTW)7jbR?q*y~CRkilmf#*Kb+?Ovn&rc?wyt(seK-0;zm@PTdx7;G_{C@kREdcx7d- z`R_jQ)-kPlv%v-Lcv^Xap_##x6gCfb;1fo@a6m0F!d^| z#qpSZGhmm9vOYP=Hq;ZeBl8GGNMAj**e3070P3(@>y!n(g`$FiicE!W0IzT;WT6J0 z&|LX%kmXNG&6aT~JC1a(T@wqu$YdIjzKBz&;WVY+@8YcAUBXyHFn5rE+dSW5c(R>2 zW?t4vuQK|%@@RO>k&gT9$?F`6@@GK0SR<<6q>F4>6^;1oJkJY2>{jSA*qG-P$APlP zSN$d5NPB591VmXJT?ccM{32~FxhwCOE6q}}xdK3r`#NXmMac1`%8kF@ung7vT93`` ztxMbY+&HKu`4+f&u03m+w)}kybRAvP11mqNoIiRdv@1Fs_2c>W^t_^PnzrR78l+Bi z7Che8MWDCSIOeLL3DD+#?9)mdwd19BqS_JHvN(F?I!agav93AKPa#y@f=K5x zhO-+d<1#5EM0Jn!D10s;5&M*DphE!3c?^SE8l-u?7Z?T<5UcQ2QHTaQjWN?Lw-R-IzEwZkszm|O=3I@g3dcdV(2D5; zK*(_;fdW*8RsHjMXERu-zO(#tX1ujRqhMdm&#pOM=+Ky!HV5G6nQw}2()X$%Cuz=O zlR7IhDh0_{6k;2|SnlZZxD6U83SbgI!>oJ?NYN>p3b7q}J5LB3ot!q>XHGXZS+>!6 z)_78V^v|ZPi&g0%+mX)J8T}aJ&a=3#@_sG`j1IRQZfhkN2Y~Z5JLW5`TV+9EH?3*J z$dLNI>)-c7`m)=OQhuk**qX2TzLS?zmKfrmIOOjyU4-1ay!tyIosey~slW$%E8V3U z&d1rROFz9Xb5%GkHxAo4MSU&J*KwZc13Vkf&ibeAEI#5qTteMztW4&*^bx3j94bLt zPW=GnRdkyu@bc$MzCQ$2q$TA)(A#Q$+*X#Gb^4?WlUHvZCJJ<#jH59j*kzp%+VTFa ze$Z`!^Mw5#3w@~1TGqw&Bz3A^)qC*PtFIYE614qo`u>E^k2xapMGuV&g&llMq)!j> z15_%Z+OCeWXp(hUJo(Cl@IzNsN?Zan;#Ml=@PoMG1V#jeoD0VAR8CcAq1-Kj%NgCO zSqSBDZan3cSJ?$-Ji|t)U{gsJJAz#GGN7MDAlb z3cw_@wNlPDRDW|amV&o#PE9giC$Sh>2jv(E2LwP6-+~&Cj>ZYV#xXfc(N0T@wvk&0 zBiXZ8$?<+~$*4b-6(2ZxUkNMnLC^Cr?rs1|5T9G7oE9T7Xva!(n~jnMGQoY4Tf7z7;>5-u`u| zhy2X%R|U0Kw7PxEvfC+^bX*mb%R34f^gGIe1ItJ%3ZE>1Br7Mh&UIpbN5ud%8?XvW5_^8CO;s%0vOn=V!2%K@ZHJ4VmyB55rr zgu;z}P|$cQ?((^r$Nlz|Aa)9W*S0DE()x8=Qce_*T`vJDH`{Z>TO5;Dj3t0Lyjt7E zeu(^V<`T1o1+Uph>XTc%rT5+q0NnyN$62Ode|;!$vj63O{->^jD_SMpvrdS#-P{|M zPmdZy%;P?F*i(?Y&1>MgkMKa4bJcWP^%#ujh`_1uE=S}j+ zD1V@?bCp>dX;teNo_Ck`!cD2^KE@n*IQuLKt!UjW9oo;|g+Ff5x@E*`wm@!`w<@jI z^XvOwyXdwTuGQ)F`)cPAZQk|!DVkPA^lMAFp}YbcuQD_0u;lfR6J7M$#_j`lUb7wZ zvU0v%e_QZhzFr3)=J9?x>$G0)#~&~Avq7=I>*`z<7&pt_e**yj+aLeC`u*I6-Dt$l z0s8oQ(QBJ3-S&obgD+LI)8~gUKmax(uiNhhFrSklO^oZ}ggQ687c=|X`<*RjZEyQv zUTsvt0f;P3N49{{s3*&kdZuF6CW=o?cIAVw*Nw?G^^;q5>PnNPp_@3N?n9Hf$$$5X z1JAOmI#o^z8lvdgK6goPaARSxD;Lw)5cs^L;Mp@<*@5qPfRbwK5hLc)FmknZYbqx# znnp{>G$Vy@5d)P zA6~P7dCeH^%YN53%^#lofX9AeZGdM^nwPQe4Q4hRIuq7gveM+wgVTNLtC~3OFSexs z!!uV|X?6{hzZcoLk7(jzWwlgsOJUhwn~HCxJeew&df0?D{C{ebs}IrsI$D`Nw?er! zp?aI`==lwlKWGC0$_m7XHl(bJ1U%kTG^4ztz-W=Dtw&f-3&Ai?F&aJ{rWBD=o z^Yv}H-Hwla9WHKP34-Rw@3*iy+m7&dSXP9xqqZn$$$1IE-){VZ-k0a4=yxlktlg1k zY^8$Q)>d-?j1J^a@I@OXTi zGop-F)s{a$CZKxV^|$5R`Q2STzYIR{_V?bBchW(t?0v--0&?CL?7rrDUtg9F^`ZIh zuIItYktL5b*aJWH&s*!L5?@u%Ii>z$UcBAd9+-aTIb?eD>?PpC_8WkGKNX#}vuGu$ zKLRmT?@~CQtd@mkJHpd6)T`rEi4$I&i9c^Q?Ew+LDOwmCIP!Y|CevE}6^pD2y}xxW z2w#WWSmOj6w)sFQ9hs{M?~a=Dz7u|}tAI_l$d~6Oou@YU*a}c!*=hBOU)K$# zrscYjnETtK))t-29`5}99r`Tgc%ioz9K@Raf!DJcG~cSVNBWkaFKd{7^@0F?d7EQh z)zz0du6sG6Cid6K{%3ggovzn!cU8?FQ9(^UH~&6dFA64k^&kpeW!IV5RXx%ycXLSs&JQF4*Jb%C9>t69WY|ae)x(sV(Mk+E5|;chO~JHh8NzL+9?EH9@R%j z))F+G<2x_Vr3JCN4f@PhthB51mbGS1pvU)YdPY#S^g=p-ZmZ4h={7ETldPu|>(nw| z^tr%Zm#rkwd9?rf=-M&di`Pp)>fNr7t-zE*FM-LAeZ>fUmllZc?9xT(E9lh@_|GfS z@0t$B<^OvIKo72$ET$h;_N{VLBfrY;X)Uv(l)uX{Js*j*vWk2JdcD~ALKRChN*PJc zly$47TReZvqbt^S5UiMH*V!xUc63EsC6M1Ud0tMozznHeOc?E8Uhfr+03bIQBW;$% zSzKU8?Ayjbh%CZd(Luj+DWQKW2Sqy~I*XLAe6j&7yx@B{q1PTDXgJOtp?C=vF z8d?buC!Ie*G0F3@_S2T{`e$uhP1dV?UZ7q0P=JKCp}tPgN zqLxXPGu4cGW-&=Lu1dwGnM{w}trcHU5&O0+!eDZ1#TsHA^YDfu6)Te4I=0ewf(4VY zEd1L_xUF0VZJY!H!D19WrMY>QQInr`0#pEyi>0BG3d(j-4?@E_S@n?S&w>wH&lW(_ z(9$dKQed-m8m{-dH*tyEaE{kanhXU^6T*ctYqE(oFFQ1}V(CZ!pukQV?dWThjd0?Q zgE7tMCBJa1*w{dj%(|Gr+|y+V4Oa`+I1yL|hON~lH6Y}I)#IOW}- z&v81754}_#{D*b@ZMFBN_Pg=yU?KJ$S@q7%b_YVvy7HroR+)9R9pCOdaQmWyYpV*% zLJ{{B@N|27>9A9PdDERai*=HzR=y$JOHoi6c6GXyAU#}~RH|~KV*!c9x>98v>VtxA zt!4_Kcr~uOl<#a!*SVy5e7qm_567W(qrW&xQpX6Q?0H&lDoG;@M@h{XZP;}f4u%CC zp#<16aSH6n@2qjx}E5s^(ZhQNum~7vlgM^d~q2)>-MWfXTN3A_0QWsN4$_q zS!sEo$muWD{n9s@aaNW$)A8wOLzYSV*ljCC*ZX` z?q2zOj;v7~QMd5B8*Ch~(ZP7Gz3p}!-^W3l*;bd|HKRL0>3Tg!>pkDuO@Q*6?WC8l z?@J-Prj0MZv*6I_I-aw$44-7&_i`Qg>HQS(d_n-rf1Seoey?}k<@oNd?-t~~`(^TT zT~NI|j?e0*ce-vHInJ+H5fxc=TjSt&zN-Le?ce~jB_FRatGp2k1{Ate+x@W3>uS0b zw`_-0QQXGCp18g$Z~_{S9?W&^Eg3uIEjMq4)bA}TIOz9$g(YaaF?`~Eb09S4F@7lI2$5ALa`Tq~@nLf;e1Z)tJWgnkZ zdRDVmRT5hlge2IYi(hy*QU(SPS}TFfFm&Ws$GJOF;6$=UoRKlTrTTA?Z|yaI9IZf{Fmm0#`b=HmpblEa!`)tA-{6~ zbf0SAmFYVw$?VRxAFJ?s_1u~xX>!lnKPkulCjUG_P8ZnS@hU<{!+$}u_X^+<;V_Zi zzazM30Yb8|*#2pY@vhtmc4B+b!!cPF-r#!32;m0;JN!Wo=2_v`^eD>ll$?lup!DdG z9*xCR?W+M$7$#}lFcHyFO>kTAB4)oNz~V*4IL%9?2qbVw9QL(j8uAN!%|rRhJHt2= zq44dv06N)(fdGfO8pm^hP2``zsO5bQ((9T$_j@J?`fTVI|K!EKy{x&xXy#rSPbl7% zmwC8GO+xxPE~XWg{!-+w97U77y|c|OUS}jLOWw21xe;K zNn-}4FNNfj0MZTa%(H7tGVLqjQ-EjO7Jmtoek~a576edIgjd0HS2unohAJ{O_&wdI zDiA`uJX><$qshp=UQPu2jU@nqP~U*mGc)==1EgKgwNjRGY&if_*mj(N8FK46ELV+n zGf})UAb>R#a0RI6^MG0NM*!4Hin{bTG%>L|AAy&aoNOFM5PO>G zlQcAKZ!`6~hIGBuRDroFG3u3Bnk)SLX=4WS2*%|#zA|VZwBbg+_}m?>&r-E2^5^^H zH`2-?Mu+V=isgOlGmF#+o3ixD+hBJ(pS|qFyP44p5Q<5mU_>lU|GWk1az-*(l)6jhrpr2PZ%l5U*bjTox;#$( zgnZP%ryHGHJNv}|EsS7$I5_qiwGVwlJ2JSMa+8S1?~2*A1DF&0Uu6|P?v<8%MzEpa zDD)@PVX_Q2Wjjx;RJeGNV=Aw?uIYCHI50V_CUlIVc=E|FDVp}nP-h+k! zZb1cN+3sfmm~-HBrts&63VZR&#$7uc@Z*#exp@E00DEl^@9>WEWYzw9Hh+f3L2(YS zv-X?uJLg}Q!9{Xe&cjatk$d~scB$G7euu8hLBaXhzS&&9n&wl4bHwS}Uv`CN{ORN+ z(o6iBdT+ugnq{k#lYMsA`~I9YA#OVSHo%=zj`b>{-zlOhIUy>|B|(fy%g-T!}>K{?_k#j5Se1hJ9>K^nlytlf%mZ% z0B%+e4bQ44F{s6pG_|aZuWk=xG|dZNs_6uRSM^+{xrg2;A0$}RS51dO4#|ah(-3<9 z-vJxvI;?JQ0j`5HH(`bFq*Q;xStd`>6XW7q8S^<1v~sNFLlK%g`wlPGu<`uaepQ>u zg?;vMmFI#xW7lQ-r0nJ=e80UaVBQRL%A`Oy%ZBFmPMZ8-4n|7w1ml!Vi-GDYive$1U9udxku|I?N1r` z9BG12O>D3pb<7GVgJ}hIDNcb@&Keq zAc{H?9o7ttViayBgX=)|Nt&GYVz3ynZi^|v2*%|vOoPz{1sb{uHwl&8d%iPXaFEsm zHeNQU>5$G($ILtGi-=zIWziFhuqcE`8$1J#YB-w!@^Bm4(fHEebpYw_uvuD|Ui7k! zuv%X`oSv=&AT{3OhGtXE7Bv{#-$0yDxGR{g)WoyOr@v<+sY1CB#c9R7pg)B0<euNQ>9$mIl)TNY>}dbF<>)mT_+g3zqZVC^kOR@(#o0( z0Rd1e_L{)7uGwIzA}M7$(MUi_Bt&@6a@N;+)4sKR{3`+%3qvsL_wM5fvg06*bij2oVHNE7Y9+FB%np1)O}J&D!AA{7Q}27y)BcdfeO5 z@P|gf*iwn4r8V)rHZdTko5sbjmjD0+wn;=mRGCqUMkYq%$HpA=T*xcENP&l*7WyYG z!41A+u~hM*xSwJGO{p)7S_gp4^hL~YQDT^Lk%xSlqP-6|C<96dPMy0`4}G>AXUG>N zYCO0kUg96dZEs^dPtDEiY1F~J7aX|8R|KAR=qF%;zhhFJ#l`&oNy<28 zM$=0U>xt2~fuTA5>bd(L;&4(^%m`I^+`!%%SKPbfxotWR@MC-Y`^Ui}^e=N}QS-ZdI; zwca0j741ipo;D^v9(O(7bvxC&$9)%jG#b(Wm;FAGX3LrHjGvPl!KUn{y+@y&!{gYp zH&jP$&f5DqnV;3WdqVU(vbb(gbKc^OI~<;Gsu|A|Q5wR6Hj1Hg;8Q&Mvl6Xx#HpNm zO%lrQAi~-+w2e((?o|=+3!nj_I?jLzp+CWk0aIWjw<#+vHc^tJMCYG~`d8g0L~;nC zAHGvRfyG=m{*f*(?CoL|yT)q`o00;Kn@+E)?&;h`xzU9tL>!J*h)U!z~ z596}`oGMkUz5-6b|KX?Q5QJ;_SkJy^ANkeV@{-vVGso5;sexndIp;~qD=u<EoUiu z2e@T?cR&)r!C+W;q9(FjqjGOQkG7PfX}a+Ya|e+twMz!=hGsf?zrWI?@9$yFF6(SV z`T-0#NQwD+t#G-anEbsjrSIJViCY>RXDYmWqAfz*5v(~JdY5n+n6tCM^$f0fdX7*= z%Gp(N&>D}=;vD^yQmugSwft=?IDZ0T2h-KH26R*06HqxJ z6PxwP5nuF)?!U}SZtpKWbMbEPLeFdUgg5>D8CZXkl$Wb@t>ydIfBp`C`z43wm7iA_ zmyJfj&6b>+<#Od_5tX9KYOli3G_^lRs;{G~us|0KL*1^nJmls--zaTB2#l@qcUqV`C%913k&WyWPouRf)NwKFqr26`eeGk{ms#$H|<_Y&G_VCLe! z6NaA%88hvaJ1#Y04KZDu<9WV50`L5{VK2fHl=YTAyI;p_&qOQ#N!ip?gPC$PwEzD& z@OhU$2W+m;&&aWMO@D&!IUUz{#pT?)@?7c5zy2G+=>Gs9-kQq4J`=bA0000 From 46c1acc2a58a8ed8cd1e061ade51cf6fef179941 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 3 Nov 2025 10:55:54 +0800 Subject: [PATCH 28/89] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 57023fc..c90cee1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # MangoWC -mango-transparency-256 +mango-transparency-256 This project's development is based on [dwl](https://codeberg.org/dwl/dwl/). From e47dc831c4e8a981679d0b3c6dd492f442d114ab Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 3 Nov 2025 12:18:10 +0800 Subject: [PATCH 29/89] opt: change drm_lease create fail log to info --- src/mango.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mango.c b/src/mango.c index 6c2e81c..564bcbe 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4996,8 +4996,8 @@ void setup(void) { if (drm_lease_manager) { wl_signal_add(&drm_lease_manager->events.request, &drm_lease_request); } else { - wlr_log(WLR_ERROR, "Failed to create wlr_drm_lease_device_v1; VR will " - "not be available"); + wlr_log(WLR_DEBUG, "Failed to create wlr_drm_lease_device_v1."); + wlr_log(WLR_INFO, "VR will not be available."); } wl_global_create(dpy, &zdwl_ipc_manager_v2_interface, 2, NULL, From 1271832e947d3d4af27b36f687edd2f2e535f051 Mon Sep 17 00:00:00 2001 From: ColorSkyFun Date: Mon, 3 Nov 2025 13:17:25 +0800 Subject: [PATCH 30/89] nix: fix warning by replacing pkgs.system with pkgs.stdenv.hostPlatform.system --- flake.nix | 2 +- nix/hm-modules.nix | 2 +- nix/nixos-modules.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index ff88ba0..b7158bb 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,7 @@ }: let inherit (pkgs) callPackage ; mango = callPackage ./nix { - inherit (inputs.scenefx.packages.${pkgs.system}) scenefx; + inherit (inputs.scenefx.packages.${pkgs.stdenv.hostPlatform.system}) scenefx; }; shellOverride = old: { nativeBuildInputs = old.nativeBuildInputs ++ []; diff --git a/nix/hm-modules.nix b/nix/hm-modules.nix index 286f0cb..85d5790 100644 --- a/nix/hm-modules.nix +++ b/nix/hm-modules.nix @@ -21,7 +21,7 @@ in { }; package = lib.mkOption { type = lib.types.package; - default = self.packages.${pkgs.system}.mango; + default = self.packages.${pkgs.stdenv.hostPlatform.system}.mango; description = "The mango package to use"; }; systemd = { diff --git a/nix/nixos-modules.nix b/nix/nixos-modules.nix index 9e73d6a..5d0aa61 100644 --- a/nix/nixos-modules.nix +++ b/nix/nixos-modules.nix @@ -11,7 +11,7 @@ in { enable = lib.mkEnableOption "mango, a wayland compositor based on dwl"; package = lib.mkOption { type = lib.types.package; - default = self.packages.${pkgs.system}.mango; + default = self.packages.${pkgs.stdenv.hostPlatform.system}.mango; description = "The mango package to use"; }; }; From 70eb70ef0d32b86bfc40e8f51916d801742c2671 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 3 Nov 2025 19:18:39 +0800 Subject: [PATCH 31/89] break change: default force_maximize to 0 --- src/mango.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mango.c b/src/mango.c index 564bcbe..0779e9f 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3538,7 +3538,7 @@ void init_client_properties(Client *c) { c->stack_innder_per = 0.0f; c->isterm = 0; c->allow_csd = 0; - c->force_maximize = 1; + c->force_maximize = 0; } void // old fix to 0.5 From b39ab429f5742d797dced9017ed36e27c4b9266b Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Tue, 4 Nov 2025 11:31:04 +0800 Subject: [PATCH 32/89] feat: Calculate animation curve by time points rather than passed frames --- src/animation/client.h | 77 ++++++++++++++++++++++-------------------- src/animation/common.h | 16 --------- src/animation/layer.h | 45 ++++++++++-------------- src/common/util.c | 13 +++++++ src/common/util.h | 2 ++ src/mango.c | 7 ++-- 6 files changed, 76 insertions(+), 84 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index b151920..c098a7a 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -615,10 +615,15 @@ void fadeout_client_animation_next_tick(Client *c) { BufferData buffer_data; + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + uint32_t passed_time = timespec_to_ms(&now) - c->animation.time_started; double animation_passed = - c->animation.total_frames - ? (double)c->animation.passed_frames / c->animation.total_frames + c->animation.duration + ? (double)passed_time / (double)c->animation.duration : 1.0; + int type = c->animation.action = c->animation.action; double factor = find_animation_curve_at(animation_passed, type); unsigned int width = @@ -662,20 +667,22 @@ void fadeout_client_animation_next_tick(Client *c) { &c->scene->node, snap_scene_buffer_apply_effect, &buffer_data); } - if (animation_passed == 1.0) { + if (animation_passed >= 1.0) { wl_list_remove(&c->fadeout_link); wlr_scene_node_destroy(&c->scene->node); free(c); c = NULL; - } else { - c->animation.passed_frames++; } } void client_animation_next_tick(Client *c) { + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + uint32_t passed_time = timespec_to_ms(&now) - c->animation.time_started; double animation_passed = - c->animation.total_frames - ? (double)c->animation.passed_frames / c->animation.total_frames + c->animation.duration + ? (double)passed_time / (double)c->animation.duration : 1.0; int type = c->animation.action == NONE ? MOVE : c->animation.action; @@ -707,7 +714,7 @@ void client_animation_next_tick(Client *c) { c->is_pending_open_animation = false; - if (animation_passed == 1.0) { + if (animation_passed >= 1.0) { // clear the open action state // To prevent him from being mistaken that @@ -735,8 +742,6 @@ void client_animation_next_tick(Client *c) { // end flush in next frame, not the current frame c->need_output_flush = false; - } else { - c->animation.passed_frames++; } client_apply_clip(c, factor); @@ -820,9 +825,7 @@ void init_fadeout_client(Client *c) { fadeout_cient->geom.height * zoom_end_ratio; } - fadeout_cient->animation.passed_frames = 0; - fadeout_cient->animation.total_frames = - fadeout_cient->animation.duration / all_output_frame_duration_ms(); + fadeout_cient->animation.time_started = get_now_in_ms(); wlr_scene_node_set_enabled(&fadeout_cient->scene->node, true); wl_list_insert(&fadeout_clients, &fadeout_cient->fadeout_link); @@ -839,23 +842,11 @@ void client_commit(Client *c) { } c->animation.initial = c->animainit_geom; - // 设置动画速度 - c->animation.passed_frames = 0; - c->animation.total_frames = - c->animation.duration / all_output_frame_duration_ms(); + c->animation.time_started = get_now_in_ms(); // 标记动画开始 c->animation.running = true; c->animation.should_animate = false; - } else { - // 如果动画没有开始,且被判定为不应该动画, - // 则设置总帧数为1,不然其他地方一旦获取动画 - // 进度,总帧数作为分母会造成除零 - // 比如动画类型为none的时候 - if (!c->animation.running) { - c->animation.passed_frames = 1; - c->animation.total_frames = 1; - } } // 请求刷新屏幕 request_fresh_all_monitors(); @@ -1032,12 +1023,11 @@ bool client_draw_fadeout_frame(Client *c) { void client_set_focused_opacity_animation(Client *c) { float *border_color = get_border_color(c); + c->opacity_animation.duration = animation_duration_focus; memcpy(c->opacity_animation.target_border_color, border_color, sizeof(c->opacity_animation.target_border_color)); c->opacity_animation.target_opacity = c->focused_opacity; - c->opacity_animation.total_frames = - animation_duration_focus / all_output_frame_duration_ms(); - c->opacity_animation.passed_frames = 0; + c->opacity_animation.time_started = get_now_in_ms(); if (c->opacity_animation.running) { memcpy(c->opacity_animation.initial_border_color, c->opacity_animation.current_border_color, @@ -1058,13 +1048,12 @@ void client_set_focused_opacity_animation(Client *c) { void cleint_set_unfocused_opacity_animation(Client *c) { // Start border color animation to unfocused float *border_color = get_border_color(c); + c->opacity_animation.duration = animation_duration_focus; memcpy(c->opacity_animation.target_border_color, border_color, sizeof(c->opacity_animation.target_border_color)); // Start opacity animation to unfocused c->opacity_animation.target_opacity = c->unfocused_opacity; - c->opacity_animation.total_frames = - animation_duration_focus / all_output_frame_duration_ms(); - c->opacity_animation.passed_frames = 0; + c->opacity_animation.time_started = get_now_in_ms(); if (c->opacity_animation.running) { memcpy(c->opacity_animation.initial_border_color, @@ -1092,8 +1081,14 @@ bool client_apply_focus_opacity(Client *c) { client_set_opacity(c, 1); } else if (c->animation.running && c->animation.action == OPEN) { c->opacity_animation.running = false; - float linear_progress = - (float)c->animation.passed_frames / c->animation.total_frames; + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + uint32_t passed_time = timespec_to_ms(&now) - c->animation.time_started; + double linear_progress = + c->animation.duration + ? (double)passed_time / (double)c->animation.duration + : 1.0; float percent = animation_fade_in && !c->nofadein ? linear_progress : 1.0; @@ -1107,8 +1102,17 @@ bool client_apply_focus_opacity(Client *c) { } client_set_opacity(c, target_opacity); } else if (animations && c->opacity_animation.running) { - float linear_progress = (float)c->opacity_animation.passed_frames / - c->opacity_animation.total_frames; + + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + uint32_t passed_time = + timespec_to_ms(&now) - c->opacity_animation.time_started; + double linear_progress = + c->opacity_animation.duration + ? (double)passed_time / (double)c->opacity_animation.duration + : 1.0; + float eased_progress = find_animation_curve_at(linear_progress, FOCUS); c->opacity_animation.current_opacity = @@ -1130,7 +1134,6 @@ bool client_apply_focus_opacity(Client *c) { if (linear_progress == 1.0f) { c->opacity_animation.running = false; } else { - c->opacity_animation.passed_frames++; return true; } } else if (c == selmon->sel) { diff --git a/src/animation/common.h b/src/animation/common.h index edd39b0..06ffe1a 100644 --- a/src/animation/common.h +++ b/src/animation/common.h @@ -86,22 +86,6 @@ double find_animation_curve_at(double t, int type) { return baked_points[up].y; } -double all_output_frame_duration_ms() { - int32_t refresh_total = 0; - Monitor *m = NULL; - wl_list_for_each(m, &mons, link) { - if (!m->wlr_output->enabled) { - continue; - } - refresh_total += m->wlr_output->refresh; - } - return 1000000.0 / refresh_total; -} - -double output_frame_duration_ms(Monitor *m) { - return 1000000.0 / m->wlr_output->refresh; -} - static bool scene_node_snapshot(struct wlr_scene_node *node, int lx, int ly, struct wlr_scene_tree *snapshot_tree) { if (!node->enabled && node->type != WLR_SCENE_NODE_TREE) { diff --git a/src/animation/layer.h b/src/animation/layer.h index 2487a9c..48ceb21 100644 --- a/src/animation/layer.h +++ b/src/animation/layer.h @@ -234,10 +234,15 @@ void fadeout_layer_animation_next_tick(LayerSurface *l) { if (!l) return; + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + uint32_t passed_time = timespec_to_ms(&now) - l->animation.time_started; double animation_passed = - l->animation.total_frames - ? (double)l->animation.passed_frames / l->animation.total_frames + l->animation.duration + ? (double)passed_time / (double)l->animation.duration : 1.0; + int type = l->animation.action = l->animation.action; double factor = find_animation_curve_at(animation_passed, type); unsigned int width = @@ -280,13 +285,11 @@ void fadeout_layer_animation_next_tick(LayerSurface *l) { wlr_scene_node_for_each_buffer(&l->scene->node, scene_buffer_apply_opacity, &opacity); - if (animation_passed == 1.0) { + if (animation_passed >= 1.0) { wl_list_remove(&l->fadeout_link); wlr_scene_node_destroy(&l->scene->node); free(l); l = NULL; - } else { - l->animation.passed_frames++; } } @@ -295,9 +298,13 @@ void layer_animation_next_tick(LayerSurface *l) { if (!l || !l->mapped) return; + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + uint32_t passed_time = timespec_to_ms(&now) - l->animation.time_started; double animation_passed = - l->animation.total_frames - ? (double)l->animation.passed_frames / l->animation.total_frames + l->animation.duration + ? (double)passed_time / (double)l->animation.duration : 1.0; int type = l->animation.action == NONE ? MOVE : l->animation.action; @@ -349,12 +356,10 @@ void layer_animation_next_tick(LayerSurface *l) { .height = height, }; - if (animation_passed == 1.0) { + if (animation_passed >= 1.0) { l->animation.running = false; l->need_output_flush = false; l->animation.action = MOVE; - } else { - l->animation.passed_frames++; } } @@ -448,10 +453,8 @@ void init_fadeout_layers(LayerSurface *l) { fadeout_layer->current.height = 0; } - // 计算动画帧数 - fadeout_layer->animation.passed_frames = 0; - fadeout_layer->animation.total_frames = - fadeout_layer->animation.duration / all_output_frame_duration_ms(); + // 动画开始时间 + fadeout_layer->animation.time_started = get_now_in_ms(); // 将节点插入到关闭动画链表中,屏幕刷新哪里会检查链表中是否有节点可以应用于动画 wlr_scene_node_set_enabled(&fadeout_layer->scene->node, true); @@ -534,23 +537,11 @@ void layer_commit(LayerSurface *l) { } l->animation.initial = l->animainit_geom; - // 设置动画速度 - l->animation.passed_frames = 0; - l->animation.total_frames = - l->animation.duration / output_frame_duration_ms(l->mon); + l->animation.time_started = get_now_in_ms(); // 标记动画开始 l->animation.running = true; l->animation.should_animate = false; - } else { - // 如果动画没有开始,且被判定为不应该动画, - // 则设置总帧数为1,不然其他地方一旦获取动画 - // 进度,总帧数作为分母会造成除零 - // 比如动画类型为none的时候 - if (!l->animation.running) { - l->animation.passed_frames = 1; - l->animation.total_frames = 1; - } } // 请求刷新屏幕 wlr_output_schedule_frame(l->mon->wlr_output); diff --git a/src/common/util.c b/src/common/util.c index 272340c..6eadbc6 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -4,6 +4,7 @@ #include #include #include +#include #include "util.h" @@ -80,3 +81,15 @@ int regex_match(const char *pattern, const char *str) { void wl_list_append(struct wl_list *list, struct wl_list *object) { wl_list_insert(list->prev, object); } + +unsigned int get_now_in_ms(void) { + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + + return timespec_to_ms(&now); +} + +unsigned int timespec_to_ms(struct timespec *ts) { + return (unsigned int)ts->tv_sec * 1000 + + (unsigned int)ts->tv_nsec / 1000000; +} diff --git a/src/common/util.h b/src/common/util.h index 2ebef43..3a0f6da 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -6,3 +6,5 @@ void *ecalloc(size_t nmemb, size_t size); int fd_set_nonblock(int fd); int regex_match(const char *pattern_mb, const char *str_mb); void wl_list_append(struct wl_list *list, struct wl_list *object); +unsigned int get_now_in_ms(void); +unsigned int timespec_to_ms(struct timespec *ts); \ No newline at end of file diff --git a/src/mango.c b/src/mango.c index 0779e9f..690775b 100644 --- a/src/mango.c +++ b/src/mango.c @@ -231,8 +231,7 @@ struct dwl_animation { bool tagouting; bool begin_fade_in; bool tag_from_rule; - unsigned int total_frames; - unsigned int passed_frames; + unsigned int time_started; unsigned int duration; struct wlr_box initial; struct wlr_box current; @@ -244,8 +243,8 @@ struct dwl_opacity_animation { float current_opacity; float target_opacity; float initial_opacity; - unsigned int total_frames; - unsigned int passed_frames; + unsigned int time_started; + unsigned int duration; float current_border_color[4]; float target_border_color[4]; float initial_border_color[4]; From 3645817f2d9c1ceb27c440a20fca6f5c5dc13a27 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Tue, 4 Nov 2025 13:49:26 +0800 Subject: [PATCH 33/89] bump version to 0.10.5 --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 0d33bad..27b717c 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('mango', ['c', 'cpp'], - version : '0.10.4', + version : '0.10.5', ) subdir('protocols') From 9c7436ba71b77184403f24be0fd4ff824c9727a0 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Tue, 4 Nov 2025 23:02:29 +0800 Subject: [PATCH 34/89] feat: tearing support --- protocols/meson.build | 1 + src/client/client.h | 14 ++++ src/config/parse_config.h | 9 ++ src/config/preset.h | 1 + src/ext-protocol/all.h | 1 + src/ext-protocol/tearing.h | 168 +++++++++++++++++++++++++++++++++++++ src/mango.c | 51 ++++++++--- 7 files changed, 234 insertions(+), 11 deletions(-) create mode 100644 src/ext-protocol/tearing.h diff --git a/protocols/meson.build b/protocols/meson.build index 1069157..cafab64 100644 --- a/protocols/meson.build +++ b/protocols/meson.build @@ -19,6 +19,7 @@ wayland_xmls = [ wl_protocol_dir + '/staging/ext-image-capture-source/ext-image-capture-source-v1.xml', wl_protocol_dir + '/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml', wl_protocol_dir + '/staging/ext-workspace/ext-workspace-v1.xml', + wl_protocol_dir + '/staging/tearing-control/tearing-control-v1.xml', 'wlr-foreign-toplevel-management-unstable-v1.xml', 'dwl-ipc-unstable-v2.xml', 'wlr-layer-shell-unstable-v1.xml', diff --git a/src/client/client.h b/src/client/client.h index a3c9073..2b763fa 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -153,6 +153,20 @@ static inline void client_get_geometry(Client *c, struct wlr_box *geom) { *geom = c->surface.xdg->geometry; } +static inline Client *get_client_from_surface(struct wlr_surface *surface) { + if (!surface) + return NULL; + + // 从 surface 的 data 指针获取 scene tree + struct wlr_scene_tree *scene_tree = surface->data; + if (!scene_tree) + return NULL; + + // 从 scene tree 的 node data 获取 Client + Client *c = scene_tree->node.data; + return c; +} + static inline Client *client_get_parent(Client *c) { Client *p = NULL; #ifdef XWAYLAND diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 72140d1..7e1be63 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -79,6 +79,7 @@ typedef struct { int isterm; int allow_csd; int force_maximize; + int force_tearing; int noswallow; int noblur; float focused_opacity; @@ -328,6 +329,7 @@ typedef struct { int xwayland_persistence; int syncobj_enable; int adaptive_sync; + int allow_tearing; struct xkb_rule_names xkb_rules; @@ -1232,6 +1234,8 @@ void parse_option(Config *config, char *key, char *value) { config->syncobj_enable = atoi(value); } else if (strcmp(key, "adaptive_sync") == 0) { config->adaptive_sync = atoi(value); + } else if (strcmp(key, "allow_tearing") == 0) { + config->allow_tearing = atoi(value); } else if (strcmp(key, "no_border_when_single") == 0) { config->no_border_when_single = atoi(value); } else if (strcmp(key, "no_radius_when_single") == 0) { @@ -1673,6 +1677,7 @@ void parse_option(Config *config, char *key, char *value) { rule->isterm = -1; rule->allow_csd = -1; rule->force_maximize = -1; + rule->force_tearing = -1; rule->noswallow = -1; rule->noblur = -1; rule->nofadein = -1; @@ -1769,6 +1774,8 @@ void parse_option(Config *config, char *key, char *value) { rule->allow_csd = atoi(val); } else if (strcmp(key, "force_maximize") == 0) { rule->force_maximize = atoi(val); + } else if (strcmp(key, "force_tearing") == 0) { + rule->force_tearing = atoi(val); } else if (strcmp(key, "noswallow") == 0) { rule->noswallow = atoi(val); } else if (strcmp(key, "noblur") == 0) { @@ -2642,6 +2649,7 @@ void override_config(void) { xwayland_persistence = CLAMP_INT(config.xwayland_persistence, 0, 1); syncobj_enable = CLAMP_INT(config.syncobj_enable, 0, 1); adaptive_sync = CLAMP_INT(config.adaptive_sync, 0, 1); + allow_tearing = CLAMP_INT(config.allow_tearing, 0, 2); axis_bind_apply_timeout = CLAMP_INT(config.axis_bind_apply_timeout, 0, 1000); focus_on_activate = CLAMP_INT(config.focus_on_activate, 0, 1); @@ -2816,6 +2824,7 @@ void set_value_default() { config.xwayland_persistence = xwayland_persistence; config.syncobj_enable = syncobj_enable; config.adaptive_sync = adaptive_sync; + config.allow_tearing = allow_tearing; config.no_border_when_single = no_border_when_single; config.no_radius_when_single = no_radius_when_single; config.snap_distance = snap_distance; diff --git a/src/config/preset.h b/src/config/preset.h index 39cf509..2f994ec 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -103,6 +103,7 @@ int xwayland_persistence = 1; /* xwayland persistence */ int syncobj_enable = 0; int adaptive_sync = 0; double drag_refresh_interval = 30.0; +int allow_tearing = TEARING_DISABLED; /* keyboard */ diff --git a/src/ext-protocol/all.h b/src/ext-protocol/all.h index 0103248..bc690fe 100644 --- a/src/ext-protocol/all.h +++ b/src/ext-protocol/all.h @@ -1,4 +1,5 @@ #include "dwl-ipc.h" #include "ext-workspace.h" #include "foreign-toplevel.h" +#include "tearing.h" #include "text-input.h" \ No newline at end of file diff --git a/src/ext-protocol/tearing.h b/src/ext-protocol/tearing.h new file mode 100644 index 0000000..5ad36e8 --- /dev/null +++ b/src/ext-protocol/tearing.h @@ -0,0 +1,168 @@ +#include + +struct tearing_controller { + struct wlr_tearing_control_v1 *tearing_control; + struct wl_listener set_hint; + struct wl_listener destroy; +}; + +struct wlr_tearing_control_manager_v1 *tearing_control; +struct wl_listener tearing_new_object; + +static void handle_controller_set_hint(struct wl_listener *listener, + void *data) { + struct tearing_controller *controller = + wl_container_of(listener, controller, set_hint); + Client *c = get_client_from_surface(controller->tearing_control->surface); + if (c) { + /* + * tearing_control->current is actually an enum: + * WP_TEARING_CONTROL_V1_PRESENTATION_HINT_VSYNC = 0 + * WP_TEARING_CONTROL_V1_PRESENTATION_HINT_ASYNC = 1 + * + * Using it as a bool here allows us to not ship the XML. + */ + c->tearing_hint = controller->tearing_control->current; + } +} + +static void handle_controller_destroy(struct wl_listener *listener, + void *data) { + struct tearing_controller *controller = + wl_container_of(listener, controller, destroy); + wl_list_remove(&controller->set_hint.link); + wl_list_remove(&controller->destroy.link); + free(controller); +} + +void handle_tearing_new_object(struct wl_listener *listener, void *data) { + struct wlr_tearing_control_v1 *new_tearing_control = data; + + enum wp_tearing_control_v1_presentation_hint hint = + wlr_tearing_control_manager_v1_surface_hint_from_surface( + tearing_control, new_tearing_control->surface); + wlr_log(WLR_DEBUG, "New presentation hint %d received for surface %p", hint, + new_tearing_control->surface); + + struct tearing_controller *controller = + ecalloc(1, sizeof(struct tearing_controller)); + controller->tearing_control = new_tearing_control; + + controller->set_hint.notify = handle_controller_set_hint; + wl_signal_add(&new_tearing_control->events.set_hint, &controller->set_hint); + + controller->destroy.notify = handle_controller_destroy; + wl_signal_add(&new_tearing_control->events.destroy, &controller->destroy); +} + +bool check_tearing_frame_allow(Monitor *m) { + /* never allow tearing when disabled */ + if (!allow_tearing) { + return false; + } + + Client *c = selmon->sel; + + /* tearing is only allowed for the output with the active client */ + if (!c || c->mon != m) { + return false; + } + + /* allow tearing for any window when requested or forced */ + if (allow_tearing == TEARING_ENABLED) { + if (c->force_tearing == STATE_UNSPECIFIED) { + return c->tearing_hint; + } else { + return c->force_tearing == STATE_ENABLED; + } + } + + /* remaining tearing options apply only to full-screen windows */ + if (!c->isfullscreen) { + return false; + } + + if (c->force_tearing == STATE_UNSPECIFIED) { + /* honor the tearing hint or the fullscreen-force preference */ + return c->tearing_hint || allow_tearing == TEARING_FULLSCREEN_ONLY; + } + + /* honor tearing as requested by action */ + return c->force_tearing == STATE_ENABLED; +} + +bool custom_wlr_scene_output_commit(struct wlr_scene_output *scene_output, + struct wlr_output_state *state) { + struct wlr_output *wlr_output = scene_output->output; + Monitor *m = wlr_output->data; + + // 检查是否需要帧 + if (!wlr_scene_output_needs_frame(scene_output)) { + wlr_log(WLR_DEBUG, "No frame needed for output %s", wlr_output->name); + return true; + } + + // 构建输出状态 + if (!wlr_scene_output_build_state(scene_output, state, NULL)) { + wlr_log(WLR_ERROR, "Failed to build output state for %s", + wlr_output->name); + return false; + } + + // 测试撕裂翻页 + if (state->tearing_page_flip) { + if (!wlr_output_test_state(wlr_output, state)) { + state->tearing_page_flip = false; + } + } + + // 尝试提交 + bool committed = wlr_output_commit_state(wlr_output, state); + + // 如果启用撕裂翻页但提交失败,重试禁用撕裂翻页 + if (!committed && state->tearing_page_flip) { + wlr_log(WLR_DEBUG, "Retrying commit without tearing for %s", + wlr_output->name); + state->tearing_page_flip = false; + committed = wlr_output_commit_state(wlr_output, state); + } + + // 处理状态清理 + if (committed) { + wlr_log(WLR_DEBUG, "Successfully committed output %s", + wlr_output->name); + if (state == &m->pending) { + wlr_output_state_finish(&m->pending); + wlr_output_state_init(&m->pending); + } + } else { + wlr_log(WLR_ERROR, "Failed to commit output %s", wlr_output->name); + // 即使提交失败,也清理状态避免积累 + if (state == &m->pending) { + wlr_output_state_finish(&m->pending); + wlr_output_state_init(&m->pending); + } + return false; + } + + return true; +} + +void apply_tear_state(Monitor *m) { + if (wlr_scene_output_needs_frame(m->scene_output)) { + wlr_output_state_init(&m->pending); + if (wlr_scene_output_build_state(m->scene_output, &m->pending, NULL)) { + struct wlr_output_state *pending = &m->pending; + pending->tearing_page_flip = true; + + if (!custom_wlr_scene_output_commit(m->scene_output, pending)) { + wlr_log(WLR_ERROR, "Failed to commit output %s", + m->scene_output->output->name); + } + } else { + wlr_log(WLR_ERROR, "Failed to build state for output %s", + m->scene_output->output->name); + wlr_output_state_finish(&m->pending); + } + } +} \ No newline at end of file diff --git a/src/mango.c b/src/mango.c index 690775b..6e48eb1 100644 --- a/src/mango.c +++ b/src/mango.c @@ -164,6 +164,13 @@ enum { UP, DOWN, LEFT, RIGHT, UNDIR }; /* smartmovewin */ enum { NONE, OPEN, MOVE, CLOSE, TAG, FOCUS }; enum { UNFOLD, FOLD, INVALIDFOLD }; enum { PREV, NEXT }; +enum { STATE_UNSPECIFIED = 0, STATE_ENABLED, STATE_DISABLED }; + +enum tearing_mode { + TEARING_DISABLED = 0, + TEARING_ENABLED, + TEARING_FULLSCREEN_ONLY, +}; typedef struct Pertag Pertag; typedef struct Monitor Monitor; @@ -357,6 +364,8 @@ struct Client { bool ismaster; bool cursor_in_upper_half, cursor_in_left_half; bool isleftstack; + int tearing_hint; + int force_tearing; }; typedef struct { @@ -426,6 +435,7 @@ struct Monitor { struct wl_list link; struct wlr_output *wlr_output; struct wlr_scene_output *scene_output; + struct wlr_output_state pending; struct wl_listener frame; struct wl_listener destroy; struct wl_listener request_state; @@ -1117,6 +1127,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) { APPLY_INT_PROP(c, r, isterm); APPLY_INT_PROP(c, r, allow_csd); APPLY_INT_PROP(c, r, force_maximize); + APPLY_INT_PROP(c, r, force_tearing); APPLY_INT_PROP(c, r, noswallow); APPLY_INT_PROP(c, r, nofadein); APPLY_INT_PROP(c, r, nofadeout); @@ -1952,6 +1963,7 @@ void cleanuplisteners(void) { wl_list_remove(&start_drag.link); wl_list_remove(&new_session_lock.link); wl_list_remove(&drm_lease_request.link); + wl_list_remove(&tearing_new_object.link); #ifdef XWAYLAND wl_list_remove(&new_xwayland_surface.link); wl_list_remove(&xwayland_ready.link); @@ -2017,6 +2029,7 @@ void cleanupmon(struct wl_listener *listener, void *data) { wlr_scene_node_destroy(&m->blur->node); m->blur = NULL; } + m->wlr_output->data = NULL; free(m->pertag); free(m); } @@ -2546,6 +2559,7 @@ void createmon(struct wl_listener *listener, void *data) { m = wlr_output->data = ecalloc(1, sizeof(*m)); m->wlr_output = wlr_output; + m->wlr_output->data = m; wl_list_init(&m->dwl_ipc_outputs); @@ -3538,6 +3552,7 @@ void init_client_properties(Client *c) { c->isterm = 0; c->allow_csd = 0; c->force_maximize = 0; + c->force_tearing = 0; } void // old fix to 0.5 @@ -4066,10 +4081,11 @@ void rendermon(struct wl_listener *listener, void *data) { struct timespec now; bool need_more_frames = false; + bool frame_allow_tearing = check_tearing_frame_allow(m); + // 绘制层和淡出效果 for (i = 0; i < LENGTH(m->layers); i++) { layer_list = &m->layers[i]; - // Draw frames for all layer wl_list_for_each_safe(l, tmpl, layer_list, link) { need_more_frames = layer_draw_frame(l) || need_more_frames; } @@ -4083,25 +4099,34 @@ void rendermon(struct wl_listener *listener, void *data) { need_more_frames = layer_draw_fadeout_frame(l) || need_more_frames; } - // Draw frames for all clients + // 绘制客户端 wl_list_for_each(c, &clients, link) { need_more_frames = client_draw_frame(c) || need_more_frames; - if (!animations && c->configure_serial && !c->isfloating && - client_is_rendered_on_mon(c, m) && !client_is_stopped(c)) + if (!animations && !allow_tearing && c->configure_serial && + !c->isfloating && client_is_rendered_on_mon(c, m) && + !client_is_stopped(c)) { goto skip; + } } - wlr_scene_output_commit(m->scene_output, NULL); + // 只有在需要帧时才构建和提交状态 + if (allow_tearing && frame_allow_tearing) { + apply_tear_state(m); + } else { + wlr_scene_output_commit(m->scene_output, NULL); + } skip: - - // Send frame done notification + // 发送帧完成通知 clock_gettime(CLOCK_MONOTONIC, &now); - wlr_scene_output_send_frame_done(m->scene_output, &now); - - // // Clean up pending state - wlr_output_state_finish(&pending); + if (allow_tearing && frame_allow_tearing) { + wlr_scene_output_send_frame_done(m->scene_output, &now); + } else { + wlr_scene_output_send_frame_done(m->scene_output, &now); + wlr_output_state_finish(&pending); + } + // 如果需要更多帧,确保安排下一帧 if (need_more_frames) { request_fresh_all_monitors(); } @@ -4843,6 +4868,10 @@ void setup(void) { power_mgr = wlr_output_power_manager_v1_create(dpy); wl_signal_add(&power_mgr->events.set_mode, &output_power_mgr_set_mode); + tearing_control = wlr_tearing_control_manager_v1_create(dpy, 1); + tearing_new_object.notify = handle_tearing_new_object; + wl_signal_add(&tearing_control->events.new_object, &tearing_new_object); + /* Creates an output layout, which a wlroots utility for working with an * arrangement of screens in a physical layout. */ output_layout = wlr_output_layout_create(dpy); From cca92ec50d41eeeb71d82be4dbdf821646163c9f Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 5 Nov 2025 09:44:40 +0800 Subject: [PATCH 35/89] fix: border color not change when focus change when disable animaitons --- src/animation/client.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/animation/client.h b/src/animation/client.h index c098a7a..09d1416 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -1023,6 +1023,12 @@ bool client_draw_fadeout_frame(Client *c) { void client_set_focused_opacity_animation(Client *c) { float *border_color = get_border_color(c); + + if (!animations) { + setborder_color(c); + return; + } + c->opacity_animation.duration = animation_duration_focus; memcpy(c->opacity_animation.target_border_color, border_color, sizeof(c->opacity_animation.target_border_color)); @@ -1048,6 +1054,12 @@ void client_set_focused_opacity_animation(Client *c) { void cleint_set_unfocused_opacity_animation(Client *c) { // Start border color animation to unfocused float *border_color = get_border_color(c); + + if (!animations) { + setborder_color(c); + return; + } + c->opacity_animation.duration = animation_duration_focus; memcpy(c->opacity_animation.target_border_color, border_color, sizeof(c->opacity_animation.target_border_color)); From 48c34802f3c6b66d4e03e2cefe20069ede8c0abf Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 5 Nov 2025 16:26:11 +0800 Subject: [PATCH 36/89] fix: double create relative_pointer_manager --- src/mango.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/mango.c b/src/mango.c index 6e48eb1..f580d55 100644 --- a/src/mango.c +++ b/src/mango.c @@ -727,7 +727,6 @@ static unsigned int locked_mods = 0; static void *exclusive_focus; static struct wl_display *dpy; static struct wl_event_loop *event_loop; -static struct wlr_relative_pointer_manager_v1 *pointer_manager; static struct wlr_backend *backend; static struct wlr_backend *headless_backend; static struct wlr_scene *scene; @@ -4782,7 +4781,6 @@ void setup(void) { * clients from the Unix socket, manging Wayland globals, and so on. */ dpy = wl_display_create(); event_loop = wl_display_get_event_loop(dpy); - pointer_manager = wlr_relative_pointer_manager_v1_create(dpy); /* The backend is a wlroots feature which abstracts the underlying input * and output hardware. The autocreate option will choose the most * suitable backend based on the current environment, such as opening an From 539fd233da13b779f8624d7da74a33eb3686b56a Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 09:14:48 +0800 Subject: [PATCH 37/89] break change: support bind flag --- src/config/parse_config.h | 39 +++++++++++++++++++++++++++++++++++---- src/mango.c | 35 +++++++++++++++++++++++++++-------- 2 files changed, 62 insertions(+), 12 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 7e1be63..36aa1db 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -40,6 +40,8 @@ typedef struct { char mode[28]; bool iscommonmode; bool isdefaultmode; + bool islockapply; + bool isreleaseapply; } KeyBinding; typedef struct { @@ -410,6 +412,35 @@ char *sanitize_string(char *str) { return str; } +// 解析bind组合字符串 +void parse_bind_flags(const char *str, KeyBinding *kb) { + + // 检查是否以"bind"开头 + if (strncmp(str, "bind", 4) != 0) { + return; + } + + const char *suffix = str + 4; // 跳过"bind" + + // 遍历后缀字符 + for (int i = 0; suffix[i] != '\0'; i++) { + switch (suffix[i]) { + case 's': + kb->keysymcode.type = KEY_TYPE_SYM; + break; + case 'l': + kb->islockapply = true; + break; + case 'r': + kb->isreleaseapply = true; + break; + default: + // 忽略其他字符或可根据需要处理错误 + break; + } + } +} + int parse_circle_direction(const char *str) { // 将输入字符串转换为小写 char lowerStr[10]; @@ -1928,8 +1959,7 @@ void parse_option(Config *config, char *key, char *value) { config->exec_once_count++; - } else if (strncmp(key, "bind", 4) == 0 || - strncmp(key, "bindsym", 7) == 0) { + } else if (regex_match("^bind[s|l|r]*$", key)) { config->key_bindings = realloc(config->key_bindings, (config->key_bindings_count + 1) * sizeof(KeyBinding)); @@ -1975,9 +2005,9 @@ void parse_option(Config *config, char *key, char *value) { binding->iscommonmode = false; } + parse_bind_flags(key, binding); + binding->keysymcode = parse_key(keysym_str, binding->keysymcode.type); binding->mod = parse_mod(mod_str); - binding->keysymcode = - parse_key(keysym_str, strncmp(key, "bindsym", 7) == 0); binding->arg.v = NULL; binding->arg.v2 = NULL; binding->arg.v3 = NULL; @@ -2930,6 +2960,7 @@ void set_default_key_bindings(Config *config) { default_key_bindings[i]; config->key_bindings[config->key_bindings_count + i].iscommonmode = true; + config->key_bindings[config->key_bindings_count + i].islockapply = true; } // 更新按键绑定的总数 diff --git a/src/mango.c b/src/mango.c index f580d55..7ce5831 100644 --- a/src/mango.c +++ b/src/mango.c @@ -558,8 +558,8 @@ static void gpureset(struct wl_listener *listener, void *data); static int keyrepeat(void *data); static void inputdevice(struct wl_listener *listener, void *data); -static int keybinding(unsigned int mods, xkb_keysym_t sym, - unsigned int keycode); +static int keybinding(unsigned int state, bool locked, unsigned int mods, + xkb_keysym_t sym, unsigned int keycode); static void keypress(struct wl_listener *listener, void *data); static void keypressmod(struct wl_listener *listener, void *data); static bool keypressglobal(struct wlr_surface *last_surface, @@ -3241,13 +3241,15 @@ int keyrepeat(void *data) { 1000 / group->wlr_group->keyboard.repeat_info.rate); for (i = 0; i < group->nsyms; i++) - keybinding(group->mods, group->keysyms[i], group->keycode); + keybinding(WL_KEYBOARD_KEY_STATE_PRESSED, false, group->mods, + group->keysyms[i], group->keycode); return 0; } int // 17 -keybinding(unsigned int mods, xkb_keysym_t sym, unsigned int keycode) { +keybinding(unsigned int state, bool locked, unsigned int mods, xkb_keysym_t sym, + unsigned int keycode) { /* * Here we handle compositor keybindings. This is when the compositor is * processing keys, rather than passing them on to the client for its @@ -3266,6 +3268,22 @@ keybinding(unsigned int mods, xkb_keysym_t sym, unsigned int keycode) { for (ji = 0; ji < config.key_bindings_count; ji++) { if (config.key_bindings_count < 1) break; + + if (locked && config.key_bindings[ji].islockapply == false) + continue; + + if (state == WL_KEYBOARD_KEY_STATE_RELEASED && + config.key_bindings[ji].isreleaseapply == false) + continue; + + if (state == WL_KEYBOARD_KEY_STATE_PRESSED && + config.key_bindings[ji].isreleaseapply == true) + continue; + + if (state != WL_KEYBOARD_KEY_STATE_PRESSED && + state != WL_KEYBOARD_KEY_STATE_RELEASED) + continue; + k = &config.key_bindings[ji]; if ((k->iscommonmode || (k->isdefaultmode && keymode.isdefault) || (strcmp(keymode.mode, k->mode) == 0)) && @@ -3394,10 +3412,11 @@ void keypress(struct wl_listener *listener, void *data) { /* On _press_ if there is no active screen locker, * attempt to process a compositor keybinding. */ - if (!locked && event->state == WL_KEYBOARD_KEY_STATE_PRESSED) { - for (i = 0; i < nsyms; i++) - handled = keybinding(mods, syms[i], keycode) || handled; - } else if (event->state == WL_KEYBOARD_KEY_STATE_RELEASED) { + for (i = 0; i < nsyms; i++) + handled = + keybinding(event->state, locked, mods, syms[i], keycode) || handled; + + if (event->state == WL_KEYBOARD_KEY_STATE_RELEASED) { tag_combo = false; } From 12ab7d63eca9af4e5920ac68166bea079bda6a04 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 11:28:21 +0800 Subject: [PATCH 38/89] opt: optimize frame skip judge --- src/mango.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mango.c b/src/mango.c index 7ce5831..2d6f1f7 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4120,9 +4120,9 @@ void rendermon(struct wl_listener *listener, void *data) { // 绘制客户端 wl_list_for_each(c, &clients, link) { need_more_frames = client_draw_frame(c) || need_more_frames; - if (!animations && !allow_tearing && c->configure_serial && - !c->isfloating && client_is_rendered_on_mon(c, m) && - !client_is_stopped(c)) { + if (!animations && !(allow_tearing && frame_allow_tearing) && + c->configure_serial && !c->isfloating && + client_is_rendered_on_mon(c, m) && !client_is_stopped(c)) { goto skip; } } From 6cf36dfa67b9396c3881e0773b7cc62f9f2ab88e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 13:13:08 +0800 Subject: [PATCH 39/89] project: clarify the dependent version --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 27b717c..041a1fd 100644 --- a/meson.build +++ b/meson.build @@ -32,10 +32,10 @@ cc = meson.get_compiler('c') libm = cc.find_library('m') xcb = dependency('xcb', required : get_option('xwayland')) xlibs = dependency('xcb-icccm', required : get_option('xwayland')) -wayland_server_dep = dependency('wayland-server') +wayland_server_dep = dependency('wayland-server',version: '>=1.23.1') wlroots_dep = dependency('wlroots-0.19',version: '>=0.19.0') xkbcommon_dep = dependency('xkbcommon') -libinput_dep = dependency('libinput') +libinput_dep = dependency('libinput',version: '>=1.27.1') libwayland_client_dep = dependency('wayland-client') pcre2_dep = dependency('libpcre2-8') libscenefx_dep = dependency('scenefx-0.4',version: '>=0.4.1') From 40b6f828237d2329b2f6b08e7582e1e230876dac Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 14:14:02 +0800 Subject: [PATCH 40/89] fix: fix ov_tab_mode arg --- config.conf | 2 +- src/config/parse_config.h | 1 + src/dispatch/bind_define.h | 6 +----- src/mango.c | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/config.conf b/config.conf index 59e4631..4c8d8d3 100644 --- a/config.conf +++ b/config.conf @@ -242,7 +242,7 @@ bind=CTRL+ALT,Right,resizewin,+50,+0 mousebind=SUPER,btn_left,moveresize,curmove mousebind=NONE,btn_middle,togglemaximizescreen,0 mousebind=SUPER,btn_right,moveresize,curresize -mousebind=NONE,btn_left,toggleoverview,-1 +mousebind=NONE,btn_left,toggleoverview,1 mousebind=NONE,btn_right,killclient,0 # Axis Bindings diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 36aa1db..a20a60a 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -880,6 +880,7 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value, func = toggleglobal; } else if (strcmp(func_name, "toggleoverview") == 0) { func = toggleoverview; + (*arg).i = atoi(arg_value); } else if (strcmp(func_name, "set_proportion") == 0) { func = set_proportion; (*arg).f = atof(arg_value); diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 57efa88..b5a4482 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -1447,7 +1447,7 @@ int minimized(const Arg *arg) { int toggleoverview(const Arg *arg) { Client *c = NULL; - if (selmon->isoverview && ov_tab_mode && arg->i != -1 && selmon->sel) { + if (selmon->isoverview && ov_tab_mode && arg->i != 1 && selmon->sel) { focusstack(&(Arg){.i = 1}); return 0; } @@ -1498,10 +1498,6 @@ int toggleoverview(const Arg *arg) { view(&(Arg){.ui = target}, false); - if (ov_tab_mode && selmon->isoverview && selmon->sel) { - focusstack(&(Arg){.i = 1}); - } - refresh_monitors_workspaces_status(selmon); return 0; } diff --git a/src/mango.c b/src/mango.c index 2d6f1f7..e946d41 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3406,7 +3406,7 @@ void keypress(struct wl_listener *listener, void *data) { keycode == 134 || keycode == 105 || keycode == 108 || keycode == 62) && selmon && selmon->sel) { if (selmon->isoverview && selmon->sel) { - toggleoverview(&(Arg){.i = -1}); + toggleoverview(&(Arg){.i = 1}); } } From 5b60999075426f18a29dbaebefafbb5ed53f905e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 19:01:18 +0800 Subject: [PATCH 41/89] feat: add windowrule option isnoshadow,isnoanimation --- src/animation/client.h | 7 ++++++- src/config/parse_config.h | 8 ++++++++ src/mango.c | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/animation/client.h b/src/animation/client.h index 09d1416..90b664b 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -251,7 +251,7 @@ void buffer_set_effect(Client *c, BufferData data) { void client_draw_shadow(Client *c) { - if (c->iskilling || !client_surface(c)->mapped) + if (c->iskilling || !client_surface(c)->mapped || c->isnoshadow) return; if (!shadows || (!c->isfloating && shadow_only_floating)) { @@ -888,6 +888,11 @@ void client_set_pending_state(Client *c) { c->animation.duration = 0; } + if (c->isnoanimation) { + c->animation.should_animate = false; + c->animation.duration = 0; + } + // 开始动画 client_commit(c); c->dirty = true; diff --git a/src/config/parse_config.h b/src/config/parse_config.h index a20a60a..c94e866 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -61,6 +61,8 @@ typedef struct { const char *layer_animation_type_open; const char *layer_animation_type_close; int isnoborder; + int isnoshadow; + int isnoanimation; int isopensilent; int istagsilent; int isnamedscratchpad; @@ -1697,6 +1699,8 @@ void parse_option(Config *config, char *key, char *value) { rule->isfloating = -1; rule->isfullscreen = -1; rule->isnoborder = -1; + rule->isnoshadow = -1; + rule->isnoanimation = -1; rule->isopensilent = -1; rule->istagsilent = -1; rule->isnamedscratchpad = -1; @@ -1778,6 +1782,10 @@ void parse_option(Config *config, char *key, char *value) { rule->height = atoi(val); } else if (strcmp(key, "isnoborder") == 0) { rule->isnoborder = atoi(val); + } else if (strcmp(key, "isnoshadow") == 0) { + rule->isnoshadow = atoi(val); + } else if (strcmp(key, "isnoanimation") == 0) { + rule->isnoanimation = atoi(val); } else if (strcmp(key, "isopensilent") == 0) { rule->isopensilent = atoi(val); } else if (strcmp(key, "istagsilent") == 0) { diff --git a/src/mango.c b/src/mango.c index e946d41..f26d6f0 100644 --- a/src/mango.c +++ b/src/mango.c @@ -330,6 +330,8 @@ struct Client { int is_scratchpad_show; int isglobal; int isnoborder; + int isnoshadow; + int isnoanimation; int isopensilent; int istagsilent; int iskilling; @@ -1134,6 +1136,8 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) { APPLY_INT_PROP(c, r, isfloating); APPLY_INT_PROP(c, r, isfullscreen); APPLY_INT_PROP(c, r, isnoborder); + APPLY_INT_PROP(c, r, isnoshadow); + APPLY_INT_PROP(c, r, isnoanimation); APPLY_INT_PROP(c, r, isopensilent); APPLY_INT_PROP(c, r, istagsilent); APPLY_INT_PROP(c, r, isnamedscratchpad); From 6bd9172fb26da0f998a8d77c67b8cc81b87c27d2 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 19:14:13 +0800 Subject: [PATCH 42/89] opt: overview not tile isunglobal window --- src/layout/arrange.h | 3 ++- src/mango.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/layout/arrange.h b/src/layout/arrange.h index 69393c7..4df9786 100644 --- a/src/layout/arrange.h +++ b/src/layout/arrange.h @@ -603,7 +603,8 @@ arrange(Monitor *m, bool want_animation) { } if (VISIBLEON(c, m)) { - m->visible_clients++; + if (!c->isunglobal) + m->visible_clients++; if (c->isfullscreen) m->has_visible_fullscreen_client = true; diff --git a/src/mango.c b/src/mango.c index f26d6f0..3a5d28b 100644 --- a/src/mango.c +++ b/src/mango.c @@ -102,7 +102,7 @@ A->geom.y + A->geom.height <= A->mon->m.y + A->mon->m.height) #define ISTILED(A) \ (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ - !(A)->ismaximizescreen && !(A)->isfullscreen) + !(A)->ismaximizescreen && !(A)->isfullscreen && !(A)->isunglobal) #define VISIBLEON(C, M) \ ((C) && (M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) #define LENGTH(X) (sizeof X / sizeof X[0]) From 474c70456264267f6882e78476e4f12badc2a68c Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 19:45:16 +0800 Subject: [PATCH 43/89] opt: optimize xwayland focus ignore judge --- src/client/client.h | 17 ++++++++++++++++- src/dispatch/bind_define.h | 9 +++++---- src/layout/horizontal.h | 7 ++++--- src/layout/vertical.h | 7 ++++--- src/mango.c | 11 +++++------ 5 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/client/client.h b/src/client/client.h index 2b763fa..5480f62 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -402,7 +402,22 @@ static inline void client_set_suspended(Client *c, int suspended) { wlr_xdg_toplevel_set_suspended(c->surface.xdg->toplevel, suspended); } -static inline int client_should_ignore_focus(Client *c) { +static inline int client_should_ignore_focus_always(Client *c) { + +#ifdef XWAYLAND + if (client_is_x11(c)) { + struct wlr_xwayland_surface *surface = c->surface.xwayland; + + if (!surface->hints) + return 0; + + return !surface->hints->input; + } +#endif + return 0; +} + +static inline int client_should_ignore_focus_open(Client *c) { #ifdef XWAYLAND if (client_is_x11(c)) { diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index b5a4482..bc43ef1 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -131,7 +131,7 @@ int focuslast(const Arg *arg) { wl_list_for_each(c, &fstack, flink) { if (c->iskilling || c->isminied || c->isunglobal || !client_surface(c)->mapped || client_is_unmanaged(c) || - client_should_ignore_focus(c)) + client_should_ignore_focus_open(c)) continue; if (selmon && !selmon->sel) { @@ -1460,7 +1460,7 @@ int toggleoverview(const Arg *arg) { wl_list_for_each(c, &clients, link) if (c && c->mon == selmon && !client_is_unmanaged(c) && - !client_should_ignore_focus(c) && + !client_should_ignore_focus_open(c) && !c->isminied && !c->isunglobal) { visible_client_number++; } @@ -1484,14 +1484,15 @@ int toggleoverview(const Arg *arg) { if (selmon->isoverview) { wl_list_for_each(c, &clients, link) { if (c && c->mon == selmon && !client_is_unmanaged(c) && - !client_should_ignore_focus(c) && !c->isunglobal) + !client_should_ignore_focus_open(c) && !c->isunglobal) overview_backup(c); } } else { wl_list_for_each(c, &clients, link) { if (c && c->mon == selmon && !c->iskilling && !client_is_unmanaged(c) && !c->isunglobal && - !client_should_ignore_focus(c) && client_surface(c)->mapped) + !client_should_ignore_focus_open(c) && + client_surface(c)->mapped) overview_restore(c, &(Arg){.ui = target}); } } diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 3a376b5..9090688 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -28,7 +28,7 @@ void grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus(c)) || + ((m->isoverview && !client_should_ignore_focus_open(c)) || ISTILED(c))) { cw = (m->w.width - 2 * target_gappo) * single_width_ratio; ch = (m->w.height - 2 * target_gappo) * single_height_ratio; @@ -55,7 +55,7 @@ void grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus(c)) || + ((m->isoverview && !client_should_ignore_focus_open(c)) || ISTILED(c))) { if (i == 0) { c->geom.x = m->w.x + target_gappo; @@ -106,7 +106,8 @@ void grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus(c)) || ISTILED(c))) { + ((m->isoverview && !client_should_ignore_focus_open(c)) || + ISTILED(c))) { cx = m->w.x + (i % cols) * (cw + target_gappi); cy = m->w.y + (i / cols) * (ch + target_gappi); if (overcols && i >= n - overcols) { diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 7e1df68..585c2f0 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -310,7 +310,7 @@ void vertical_grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus(c)) || + ((m->isoverview && !client_should_ignore_focus_open(c)) || ISTILED(c))) { ch = (m->w.height - 2 * target_gappo) * single_height_ratio; cw = (m->w.width - 2 * target_gappo) * single_width_ratio; @@ -338,7 +338,7 @@ void vertical_grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus(c)) || + ((m->isoverview && !client_should_ignore_focus_open(c)) || ISTILED(c))) { if (i == 0) { c->geom.x = m->w.x + (m->w.width - cw) / 2 + target_gappo; @@ -385,7 +385,8 @@ void vertical_grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus(c)) || ISTILED(c))) { + ((m->isoverview && !client_should_ignore_focus_open(c)) || + ISTILED(c))) { cx = m->w.x + (i / rows) * (cw + target_gappi); cy = m->w.y + (i % rows) * (ch + target_gappi); if (overrows && i >= n - overrows) { diff --git a/src/mango.c b/src/mango.c index 3a5d28b..061d39a 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1305,7 +1305,7 @@ void applyrules(Client *c) { // if no geom rule hit and is normal winodw, use the center pos and record // the hit size if (!hit_rule_pos && - (!client_is_x11(c) || !client_should_ignore_focus(c))) { + (!client_is_x11(c) || !client_should_ignore_focus_open(c))) { c->float_geom = c->geom = setclient_coordinate_center(c, c->geom, 0, 0); } @@ -3080,9 +3080,8 @@ void focusclient(Client *c, int lift) { if (c && !client_surface(c)->mapped) return; - if (c && client_should_ignore_focus(c)) { + if (c && client_should_ignore_focus_always(c)) return; - } /* Raise client in stacking order if requested */ if (c && lift) @@ -3598,7 +3597,7 @@ mapnotify(struct wl_listener *listener, void *data) { init_client_properties(c); // set special window properties - if (client_is_unmanaged(c) || client_should_ignore_focus(c)) { + if (client_is_unmanaged(c) || client_should_ignore_focus_open(c)) { c->bw = 0; c->isnoborder = 1; } else { @@ -4399,7 +4398,7 @@ setfloating(Client *c, int floating) { } // 重新计算居中的坐标 - if (!client_is_x11(c) || !client_should_ignore_focus(c)) + if (!client_is_x11(c) || !client_should_ignore_focus_open(c)) target_box = setclient_coordinate_center(c, target_box, 0, 0); backup_box = c->geom; hit = applyrulesgeom(c); @@ -4708,7 +4707,7 @@ void setmon(Client *c, Monitor *m, unsigned int newtags, bool focus) { setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */ } - if (focus) { + if (focus && !client_should_ignore_focus_open(c)) { focusclient(focustop(selmon), 1); } From 5bbe6c5c1ae30453360522fde7810a8bb140670e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 6 Nov 2025 21:10:11 +0800 Subject: [PATCH 44/89] fix: binds not work --- src/config/parse_config.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index c94e866..19e64b7 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -18,7 +18,7 @@ enum { NUM_TYPE_MINUS, NUM_TYPE_PLUS, NUM_TYPE_DEFAULT }; -enum { KEY_TYPE_SYM, KEY_TYPE_CODE }; +enum { KEY_TYPE_CODE, KEY_TYPE_SYM }; typedef struct { uint32_t keycode1; @@ -2015,7 +2015,8 @@ void parse_option(Config *config, char *key, char *value) { } parse_bind_flags(key, binding); - binding->keysymcode = parse_key(keysym_str, binding->keysymcode.type); + binding->keysymcode = + parse_key(keysym_str, binding->keysymcode.type == KEY_TYPE_SYM); binding->mod = parse_mod(mod_str); binding->arg.v = NULL; binding->arg.v2 = NULL; From df46194b5f720eaa9650e16d316a2bb340d424f8 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 7 Nov 2025 11:34:12 +0800 Subject: [PATCH 45/89] opt: optimize x11 popup focus ignore --- src/client/client.h | 4 ++-- src/dispatch/bind_define.h | 17 ++++++++--------- src/layout/horizontal.h | 9 +++------ src/layout/vertical.h | 9 +++------ src/mango.c | 11 +++++------ 5 files changed, 21 insertions(+), 29 deletions(-) diff --git a/src/client/client.h b/src/client/client.h index 5480f62..06f629d 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -402,7 +402,7 @@ static inline void client_set_suspended(Client *c, int suspended) { wlr_xdg_toplevel_set_suspended(c->surface.xdg->toplevel, suspended); } -static inline int client_should_ignore_focus_always(Client *c) { +static inline int client_should_ignore_focus(Client *c) { #ifdef XWAYLAND if (client_is_x11(c)) { @@ -417,7 +417,7 @@ static inline int client_should_ignore_focus_always(Client *c) { return 0; } -static inline int client_should_ignore_focus_open(Client *c) { +static inline int client_is_x11_popup(Client *c) { #ifdef XWAYLAND if (client_is_x11(c)) { diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index bc43ef1..57288b4 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -131,7 +131,7 @@ int focuslast(const Arg *arg) { wl_list_for_each(c, &fstack, flink) { if (c->iskilling || c->isminied || c->isunglobal || !client_surface(c)->mapped || client_is_unmanaged(c) || - client_should_ignore_focus_open(c)) + client_is_x11_popup(c)) continue; if (selmon && !selmon->sel) { @@ -1457,11 +1457,11 @@ int toggleoverview(const Arg *arg) { unsigned int visible_client_number = 0; if (selmon->isoverview) { - wl_list_for_each(c, &clients, - link) if (c && c->mon == selmon && - !client_is_unmanaged(c) && - !client_should_ignore_focus_open(c) && - !c->isminied && !c->isunglobal) { + wl_list_for_each(c, &clients, link) if (c && c->mon == selmon && + !client_is_unmanaged(c) && + !client_is_x11_popup(c) && + !c->isminied && + !c->isunglobal) { visible_client_number++; } if (visible_client_number > 0) { @@ -1484,15 +1484,14 @@ int toggleoverview(const Arg *arg) { if (selmon->isoverview) { wl_list_for_each(c, &clients, link) { if (c && c->mon == selmon && !client_is_unmanaged(c) && - !client_should_ignore_focus_open(c) && !c->isunglobal) + !client_is_x11_popup(c) && !c->isunglobal) overview_backup(c); } } else { wl_list_for_each(c, &clients, link) { if (c && c->mon == selmon && !c->iskilling && !client_is_unmanaged(c) && !c->isunglobal && - !client_should_ignore_focus_open(c) && - client_surface(c)->mapped) + !client_is_x11_popup(c) && client_surface(c)->mapped) overview_restore(c, &(Arg){.ui = target}); } } diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 9090688..b2d76bb 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -28,8 +28,7 @@ void grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus_open(c)) || - ISTILED(c))) { + ((m->isoverview && !client_is_x11_popup(c)) || ISTILED(c))) { cw = (m->w.width - 2 * target_gappo) * single_width_ratio; ch = (m->w.height - 2 * target_gappo) * single_height_ratio; c->geom.x = m->w.x + (m->w.width - cw) / 2; @@ -55,8 +54,7 @@ void grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus_open(c)) || - ISTILED(c))) { + ((m->isoverview && !client_is_x11_popup(c)) || ISTILED(c))) { if (i == 0) { c->geom.x = m->w.x + target_gappo; c->geom.y = m->w.y + (m->w.height - ch) / 2 + target_gappo; @@ -106,8 +104,7 @@ void grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus_open(c)) || - ISTILED(c))) { + ((m->isoverview && !client_is_x11_popup(c)) || ISTILED(c))) { cx = m->w.x + (i % cols) * (cw + target_gappi); cy = m->w.y + (i / cols) * (ch + target_gappi); if (overcols && i >= n - overcols) { diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 585c2f0..3c74463 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -310,8 +310,7 @@ void vertical_grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus_open(c)) || - ISTILED(c))) { + ((m->isoverview && !client_is_x11_popup(c)) || ISTILED(c))) { ch = (m->w.height - 2 * target_gappo) * single_height_ratio; cw = (m->w.width - 2 * target_gappo) * single_width_ratio; c->geom.x = m->w.x + (m->w.width - cw) / 2; @@ -338,8 +337,7 @@ void vertical_grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus_open(c)) || - ISTILED(c))) { + ((m->isoverview && !client_is_x11_popup(c)) || ISTILED(c))) { if (i == 0) { c->geom.x = m->w.x + (m->w.width - cw) / 2 + target_gappo; c->geom.y = m->w.y + target_gappo; @@ -385,8 +383,7 @@ void vertical_grid(Monitor *m) { ? 0 : borderpx; if (VISIBLEON(c, m) && !c->isunglobal && - ((m->isoverview && !client_should_ignore_focus_open(c)) || - ISTILED(c))) { + ((m->isoverview && !client_is_x11_popup(c)) || ISTILED(c))) { cx = m->w.x + (i / rows) * (cw + target_gappi); cy = m->w.y + (i % rows) * (ch + target_gappi); if (overrows && i >= n - overrows) { diff --git a/src/mango.c b/src/mango.c index 061d39a..36cbbbf 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1304,8 +1304,7 @@ void applyrules(Client *c) { // if no geom rule hit and is normal winodw, use the center pos and record // the hit size - if (!hit_rule_pos && - (!client_is_x11(c) || !client_should_ignore_focus_open(c))) { + if (!hit_rule_pos && (!client_is_x11(c) || !client_is_x11_popup(c))) { c->float_geom = c->geom = setclient_coordinate_center(c, c->geom, 0, 0); } @@ -3080,7 +3079,7 @@ void focusclient(Client *c, int lift) { if (c && !client_surface(c)->mapped) return; - if (c && client_should_ignore_focus_always(c)) + if (c && client_should_ignore_focus(c) && client_is_x11_popup(c)) return; /* Raise client in stacking order if requested */ @@ -3597,7 +3596,7 @@ mapnotify(struct wl_listener *listener, void *data) { init_client_properties(c); // set special window properties - if (client_is_unmanaged(c) || client_should_ignore_focus_open(c)) { + if (client_is_unmanaged(c) || client_is_x11_popup(c)) { c->bw = 0; c->isnoborder = 1; } else { @@ -4398,7 +4397,7 @@ setfloating(Client *c, int floating) { } // 重新计算居中的坐标 - if (!client_is_x11(c) || !client_should_ignore_focus_open(c)) + if (!client_is_x11(c) || !client_is_x11_popup(c)) target_box = setclient_coordinate_center(c, target_box, 0, 0); backup_box = c->geom; hit = applyrulesgeom(c); @@ -4707,7 +4706,7 @@ void setmon(Client *c, Monitor *m, unsigned int newtags, bool focus) { setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */ } - if (focus && !client_should_ignore_focus_open(c)) { + if (focus && !client_is_x11_popup(c)) { focusclient(focustop(selmon), 1); } From 1029936b18f9e40be424ad1d542573f4c79398b4 Mon Sep 17 00:00:00 2001 From: eater <=@eater.me> Date: Fri, 7 Nov 2025 15:44:47 +0100 Subject: [PATCH 46/89] check is drm_release_manager is set before cleaning up to avoid segfault --- src/mango.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mango.c b/src/mango.c index 36cbbbf..0962520 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1964,7 +1964,9 @@ void cleanuplisteners(void) { wl_list_remove(&request_start_drag.link); wl_list_remove(&start_drag.link); wl_list_remove(&new_session_lock.link); - wl_list_remove(&drm_lease_request.link); + if (drm_lease_manager) { + wl_list_remove(&drm_lease_request.link); + } wl_list_remove(&tearing_new_object.link); #ifdef XWAYLAND wl_list_remove(&new_xwayland_surface.link); From e0bc7fb5e47c545ce15e2be012a6c18b76894a55 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 7 Nov 2025 21:56:25 +0800 Subject: [PATCH 47/89] fix: crash when click waybar overview button --- src/ext-protocol/ext-workspace.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ext-protocol/ext-workspace.h b/src/ext-protocol/ext-workspace.h index 61e36da..930e6c9 100644 --- a/src/ext-protocol/ext-workspace.h +++ b/src/ext-protocol/ext-workspace.h @@ -47,6 +47,11 @@ static void handle_ext_workspace_activate(struct wl_listener *listener, void *data) { struct workspace *workspace = wl_container_of(listener, workspace, activate); + + if (workspace->m->isoverview) { + return; + } + goto_workspace(workspace); wlr_log(WLR_INFO, "ext activating workspace %d", workspace->tag); } @@ -55,6 +60,11 @@ static void handle_ext_workspace_deactivate(struct wl_listener *listener, void *data) { struct workspace *workspace = wl_container_of(listener, workspace, deactivate); + + if (workspace->m->isoverview) { + return; + } + toggle_workspace(workspace); wlr_log(WLR_INFO, "ext deactivating workspace %d", workspace->tag); } From 9d6436cf42e89835f40664d5aa93c44b016ed679 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 12 Nov 2025 12:55:06 +0800 Subject: [PATCH 48/89] feat: support keyboard shortcut inhibitor --- src/config/parse_config.h | 9 ++++ src/config/preset.h | 1 + src/mango.c | 88 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 0e9e15c..a71d4f1 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -69,6 +69,7 @@ typedef struct { int isunglobal; int isglobal; int isoverlay; + int allow_shortcuts_inhibit; int ignore_maximize; int ignore_minimize; int isnosizehint; @@ -336,6 +337,7 @@ typedef struct { int syncobj_enable; int adaptive_sync; int allow_tearing; + int allow_shortcuts_inhibit; struct xkb_rule_names xkb_rules; @@ -1271,6 +1273,8 @@ void parse_option(Config *config, char *key, char *value) { config->adaptive_sync = atoi(value); } else if (strcmp(key, "allow_tearing") == 0) { config->allow_tearing = atoi(value); + } else if (strcmp(key, "allow_shortcuts_inhibit") == 0) { + config->allow_shortcuts_inhibit = atoi(value); } else if (strcmp(key, "no_border_when_single") == 0) { config->no_border_when_single = atoi(value); } else if (strcmp(key, "no_radius_when_single") == 0) { @@ -1708,6 +1712,7 @@ void parse_option(Config *config, char *key, char *value) { rule->isunglobal = -1; rule->isglobal = -1; rule->isoverlay = -1; + rule->allow_shortcuts_inhibit = -1; rule->ignore_maximize = -1; rule->ignore_minimize = -1; rule->isnosizehint = -1; @@ -1806,6 +1811,8 @@ void parse_option(Config *config, char *key, char *value) { rule->focused_opacity = atof(val); } else if (strcmp(key, "isoverlay") == 0) { rule->isoverlay = atoi(val); + } else if (strcmp(key, "allow_shortcuts_inhibit") == 0) { + rule->allow_shortcuts_inhibit = atoi(val); } else if (strcmp(key, "ignore_maximize") == 0) { rule->ignore_maximize = atoi(val); } else if (strcmp(key, "ignore_minimize") == 0) { @@ -2696,6 +2703,7 @@ void override_config(void) { syncobj_enable = CLAMP_INT(config.syncobj_enable, 0, 1); adaptive_sync = CLAMP_INT(config.adaptive_sync, 0, 1); allow_tearing = CLAMP_INT(config.allow_tearing, 0, 2); + allow_shortcuts_inhibit = CLAMP_INT(config.allow_shortcuts_inhibit, 0, 1); axis_bind_apply_timeout = CLAMP_INT(config.axis_bind_apply_timeout, 0, 1000); focus_on_activate = CLAMP_INT(config.focus_on_activate, 0, 1); @@ -2873,6 +2881,7 @@ void set_value_default() { config.syncobj_enable = syncobj_enable; config.adaptive_sync = adaptive_sync; config.allow_tearing = allow_tearing; + config.allow_shortcuts_inhibit = allow_shortcuts_inhibit; config.no_border_when_single = no_border_when_single; config.no_radius_when_single = no_radius_when_single; config.snap_distance = snap_distance; diff --git a/src/config/preset.h b/src/config/preset.h index be1c1b0..eaa7be2 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -105,6 +105,7 @@ int syncobj_enable = 0; int adaptive_sync = 0; double drag_refresh_interval = 30.0; int allow_tearing = TEARING_DISABLED; +int allow_shortcuts_inhibit = SHORTCUTS_INHIBIT_ENABLE; /* keyboard */ diff --git a/src/mango.c b/src/mango.c index 7ad9aa6..6a66d0a 100644 --- a/src/mango.c +++ b/src/mango.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -172,6 +173,11 @@ enum tearing_mode { TEARING_FULLSCREEN_ONLY, }; +enum seat_config_shortcuts_inhibit { + SHORTCUTS_INHIBIT_DISABLE, + SHORTCUTS_INHIBIT_ENABLE, +}; + typedef struct Pertag Pertag; typedef struct Monitor Monitor; typedef struct Client Client; @@ -369,6 +375,7 @@ struct Client { bool isleftstack; int tearing_hint; int force_tearing; + int allow_shortcuts_inhibit; }; typedef struct { @@ -398,6 +405,12 @@ typedef struct { struct wl_listener destroy; } KeyboardGroup; +typedef struct { + struct wlr_keyboard_shortcuts_inhibitor_v1 *inhibitor; + struct wl_listener destroy; + struct wl_list link; +} KeyboardShortcutsInhibitor; + typedef struct { /* Must keep these three elements in this order */ unsigned int type; /* LayerShell */ @@ -622,7 +635,9 @@ static void urgent(struct wl_listener *listener, void *data); static void view(const Arg *arg, bool want_animation); static void handlesig(int signo); - +static void +handle_keyboard_shortcuts_inhibit_new_inhibitor(struct wl_listener *listener, + void *data); static void virtualkeyboard(struct wl_listener *listener, void *data); static void virtualpointer(struct wl_listener *listener, void *data); static void warp_cursor(const Client *c); @@ -750,6 +765,8 @@ static struct wlr_idle_inhibit_manager_v1 *idle_inhibit_mgr; static struct wlr_layer_shell_v1 *layer_shell; static struct wlr_output_manager_v1 *output_mgr; static struct wlr_virtual_keyboard_manager_v1 *virtual_keyboard_mgr; +static struct wlr_keyboard_shortcuts_inhibit_manager_v1 + *keyboard_shortcuts_inhibit; static struct wlr_virtual_pointer_manager_v1 *virtual_pointer_mgr; static struct wlr_output_power_manager_v1 *power_mgr; static struct wlr_pointer_gestures_v1 *pointer_gestures; @@ -773,6 +790,7 @@ static struct wlr_pointer_constraint_v1 *active_constraint; static struct wlr_seat *seat; static KeyboardGroup *kb_group; static struct wl_list inputdevices; +static struct wl_list keyboard_shortcut_inhibitors; static unsigned int cursor_mode; static Client *grabc; static int grabcx, grabcy; /* client-relative */ @@ -859,6 +877,8 @@ static struct wl_listener request_start_drag = {.notify = requeststartdrag}; static struct wl_listener start_drag = {.notify = startdrag}; static struct wl_listener new_session_lock = {.notify = locksession}; static struct wl_listener drm_lease_request = {.notify = requestdrmlease}; +static struct wl_listener keyboard_shortcuts_inhibit_new_inhibitor = { + .notify = handle_keyboard_shortcuts_inhibit_new_inhibitor}; #ifdef XWAYLAND static void activatex11(struct wl_listener *listener, void *data); @@ -1150,6 +1170,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) { APPLY_INT_PROP(c, r, isnosizehint); APPLY_INT_PROP(c, r, isunglobal); APPLY_INT_PROP(c, r, noblur); + APPLY_INT_PROP(c, r, allow_shortcuts_inhibit); APPLY_FLOAT_PROP(c, r, scroller_proportion); APPLY_FLOAT_PROP(c, r, focused_opacity); @@ -1977,6 +1998,7 @@ void cleanuplisteners(void) { wl_list_remove(&start_drag.link); wl_list_remove(&new_session_lock.link); wl_list_remove(&tearing_new_object.link); + wl_list_remove(&keyboard_shortcuts_inhibit_new_inhibitor.link); if (drm_lease_manager) { wl_list_remove(&drm_lease_request.link); } @@ -3266,6 +3288,17 @@ int keyrepeat(void *data) { return 0; } +bool is_keyboard_shortcut_inhibitor(struct wlr_surface *surface) { + KeyboardShortcutsInhibitor *kbsinhibitor; + + wl_list_for_each(kbsinhibitor, &keyboard_shortcut_inhibitors, link) { + if (kbsinhibitor->inhibitor->surface == surface) { + return true; + } + } + return false; +} + int // 17 keybinding(unsigned int state, bool locked, unsigned int mods, xkb_keysym_t sym, unsigned int keycode) { @@ -3284,6 +3317,10 @@ keybinding(unsigned int state, bool locked, unsigned int mods, xkb_keysym_t sym, keycode == 62 || keycode == 108 || keycode == 105 || keycode == 134) return false; + if (is_keyboard_shortcut_inhibitor(seat->keyboard_state.focused_surface)) { + return false; + } + for (ji = 0; ji < config.key_bindings_count; ji++) { if (config.key_bindings_count < 1) break; @@ -3591,6 +3628,7 @@ void init_client_properties(Client *c) { c->allow_csd = 0; c->force_maximize = 0; c->force_tearing = 0; + c->allow_shortcuts_inhibit = SHORTCUTS_INHIBIT_ENABLE; } void // old fix to 0.5 @@ -5003,6 +5041,7 @@ void setup(void) { * to let us know when new input devices are available on the backend. */ wl_list_init(&inputdevices); + wl_list_init(&keyboard_shortcut_inhibitors); wl_signal_add(&backend->events.new_input, &new_input_device); virtual_keyboard_mgr = wlr_virtual_keyboard_manager_v1_create(dpy); wl_signal_add(&virtual_keyboard_mgr->events.new_virtual_keyboard, @@ -5032,6 +5071,10 @@ void setup(void) { kb_group = createkeyboardgroup(); wl_list_init(&kb_group->destroy.link); + keyboard_shortcuts_inhibit = wlr_keyboard_shortcuts_inhibit_v1_create(dpy); + wl_signal_add(&keyboard_shortcuts_inhibit->events.new_inhibitor, + &keyboard_shortcuts_inhibit_new_inhibitor); + output_mgr = wlr_output_manager_v1_create(dpy); wl_signal_add(&output_mgr->events.apply, &output_mgr_apply); wl_signal_add(&output_mgr->events.test, &output_mgr_test); @@ -5559,6 +5602,49 @@ void view(const Arg *arg, bool want_animation) { } } +static void +handle_keyboard_shortcuts_inhibitor_destroy(struct wl_listener *listener, + void *data) { + KeyboardShortcutsInhibitor *inhibitor = + wl_container_of(listener, inhibitor, destroy); + + wlr_log(WLR_DEBUG, "Removing keyboard shortcuts inhibitor"); + + wl_list_remove(&inhibitor->link); + wl_list_remove(&inhibitor->destroy.link); + free(inhibitor); +} + +void handle_keyboard_shortcuts_inhibit_new_inhibitor( + struct wl_listener *listener, void *data) { + + struct wlr_keyboard_shortcuts_inhibitor_v1 *inhibitor = data; + + if (allow_shortcuts_inhibit == SHORTCUTS_INHIBIT_DISABLE) { + return; + } + + // per-view, seat-agnostic config via criteria + Client *c = get_client_from_surface(inhibitor->surface); + if (c && !c->allow_shortcuts_inhibit) { + return; + } + + wlr_log(WLR_DEBUG, "Adding keyboard shortcuts inhibitor"); + + KeyboardShortcutsInhibitor *kbsinhibitor = + calloc(1, sizeof(KeyboardShortcutsInhibitor)); + + kbsinhibitor->inhibitor = inhibitor; + + kbsinhibitor->destroy.notify = handle_keyboard_shortcuts_inhibitor_destroy; + wl_signal_add(&inhibitor->events.destroy, &kbsinhibitor->destroy); + + wl_list_insert(&keyboard_shortcut_inhibitors, &kbsinhibitor->link); + + wlr_keyboard_shortcuts_inhibitor_v1_activate(inhibitor); +} + void virtualkeyboard(struct wl_listener *listener, void *data) { struct wlr_virtual_keyboard_v1 *kb = data; /* virtual keyboards shouldn't share keyboard group */ From 18ad32384b1ab75c2e92d42b4d8775ff11c31d2e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 10:35:16 +0800 Subject: [PATCH 49/89] feat: add global option scroller_ignore_proportion_single --- src/config/parse_config.h | 7 +++++++ src/config/preset.h | 1 + src/layout/horizontal.h | 6 +++++- src/layout/vertical.h | 9 ++++++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 19e64b7..30e118e 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -193,6 +193,7 @@ typedef struct { int scroller_structs; float scroller_default_proportion; float scroller_default_proportion_single; + int scroller_ignore_proportion_single; int scroller_focus_center; int scroller_prefer_center; int edge_scroller_pointer_focus; @@ -1210,6 +1211,8 @@ void parse_option(Config *config, char *key, char *value) { config->scroller_default_proportion = atof(value); } else if (strcmp(key, "scroller_default_proportion_single") == 0) { config->scroller_default_proportion_single = atof(value); + } else if (strcmp(key, "scroller_ignore_proportion_single") == 0) { + config->scroller_ignore_proportion_single = atoi(value); } else if (strcmp(key, "scroller_focus_center") == 0) { config->scroller_focus_center = atoi(value); } else if (strcmp(key, "scroller_prefer_center") == 0) { @@ -2665,6 +2668,8 @@ void override_config(void) { CLAMP_FLOAT(config.scroller_default_proportion, 0.1f, 1.0f); scroller_default_proportion_single = CLAMP_FLOAT(config.scroller_default_proportion_single, 0.1f, 1.0f); + scroller_ignore_proportion_single = + CLAMP_INT(config.scroller_ignore_proportion_single, 0, 1); scroller_focus_center = CLAMP_INT(config.scroller_focus_center, 0, 1); scroller_prefer_center = CLAMP_INT(config.scroller_prefer_center, 0, 1); edge_scroller_pointer_focus = @@ -2852,6 +2857,8 @@ void set_value_default() { config.scroller_default_proportion = scroller_default_proportion; config.scroller_default_proportion_single = scroller_default_proportion_single; + config.scroller_ignore_proportion_single = + scroller_ignore_proportion_single; config.scroller_focus_center = scroller_focus_center; config.scroller_prefer_center = scroller_prefer_center; config.edge_scroller_pointer_focus = edge_scroller_pointer_focus; diff --git a/src/config/preset.h b/src/config/preset.h index 2f994ec..be1c1b0 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -60,6 +60,7 @@ float scratchpad_height_ratio = 0.9; int scroller_structs = 20; float scroller_default_proportion = 0.9; float scroller_default_proportion_single = 1.0; +int scroller_ignore_proportion_single = 0; int scroller_focus_center = 0; int scroller_prefer_center = 0; int focus_cross_monitor = 0; diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index b2d76bb..178ae9e 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -231,7 +231,7 @@ void scroller(Monitor *m) { } } - if (n == 1) { + if (n == 1 && !scroller_ignore_proportion_single) { c = tempClients[0]; target_geom.height = m->w.height - 2 * cur_gappov; target_geom.width = @@ -274,6 +274,10 @@ void scroller(Monitor *m) { } } + if (n == 1 && scroller_ignore_proportion_single) { + need_scroller = true; + } + if (start_drag_window) need_scroller = false; diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 3c74463..6ae21a6 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -192,7 +192,7 @@ void vertical_scroller(Monitor *m) { } } - if (n == 1) { + if (n == 1 && !scroller_ignore_proportion_single) { c = tempClients[0]; target_geom.width = m->w.width - 2 * cur_gappoh; target_geom.height = @@ -235,6 +235,13 @@ void vertical_scroller(Monitor *m) { } } + if (n == 1 && scroller_ignore_proportion_single) { + need_scroller = true; + } + + if (start_drag_window) + need_scroller = false; + target_geom.width = m->w.width - 2 * cur_gappoh; target_geom.height = max_client_height * c->scroller_proportion; target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2; From d32fecfd2375ec9f89662b224230e23c13447be3 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 12 Nov 2025 23:10:09 +0800 Subject: [PATCH 50/89] fix: crash in some crossmon dispatch --- src/dispatch/bind_define.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 65c2b03..168852f 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -971,7 +971,7 @@ int tag(const Arg *arg) { } int tagmon(const Arg *arg) { - Monitor *m = NULL; + Monitor *m = NULL,*cm = NULL; Client *c = focustop(selmon); if (!c) @@ -980,11 +980,12 @@ int tagmon(const Arg *arg) { if (arg->i != UNDIR) { m = dirtomon(arg->i); } else if (arg->v) { - wl_list_for_each(m, &mons, link) { - if (!m->wlr_output->enabled) { + wl_list_for_each(cm, &mons, link) { + if (!cm->wlr_output->enabled) { continue; } - if (regex_match(arg->v, m->wlr_output->name)) { + if (regex_match(arg->v, cm->wlr_output->name)) { + m = cm; break; } } From 5774df00e09d43ffe6148e6c84541a31793786bf Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 12:39:41 +0800 Subject: [PATCH 51/89] opt:optimize code struct --- src/mango.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mango.c b/src/mango.c index 0962520..96970aa 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1964,10 +1964,10 @@ void cleanuplisteners(void) { wl_list_remove(&request_start_drag.link); wl_list_remove(&start_drag.link); wl_list_remove(&new_session_lock.link); + wl_list_remove(&tearing_new_object.link); if (drm_lease_manager) { wl_list_remove(&drm_lease_request.link); } - wl_list_remove(&tearing_new_object.link); #ifdef XWAYLAND wl_list_remove(&new_xwayland_surface.link); wl_list_remove(&xwayland_ready.link); From e09748764d7f6501eeef71a4fff5b65cace0b88e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 13 Nov 2025 10:42:35 +0800 Subject: [PATCH 52/89] opt: remove useless normalize keysym convert --- src/config/parse_config.h | 55 -------------------------------------- src/dispatch/bind_define.h | 2 +- src/mango.c | 4 +-- 3 files changed, 3 insertions(+), 58 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index a71d4f1..a6cfb64 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -517,61 +517,6 @@ long int parse_color(const char *hex_str) { return hex_num; } -xkb_keysym_t normalize_keysym(xkb_keysym_t sym) { - // 首先转换为小写(主要影响字母键) - sym = xkb_keysym_to_lower(sym); - - // 将数字小键盘键转换为普通数字键 - switch (sym) { - // 小键盘数字转换 - case XKB_KEY_KP_0: - return XKB_KEY_0; - case XKB_KEY_KP_1: - return XKB_KEY_1; - case XKB_KEY_KP_2: - return XKB_KEY_2; - case XKB_KEY_KP_3: - return XKB_KEY_3; - case XKB_KEY_KP_4: - return XKB_KEY_4; - case XKB_KEY_KP_5: - return XKB_KEY_5; - case XKB_KEY_KP_6: - return XKB_KEY_6; - case XKB_KEY_KP_7: - return XKB_KEY_7; - case XKB_KEY_KP_8: - return XKB_KEY_8; - case XKB_KEY_KP_9: - return XKB_KEY_9; - - // 将 Shift+数字 的符号转换回基础数字 - case XKB_KEY_exclam: - return XKB_KEY_1; // ! - case XKB_KEY_at: - return XKB_KEY_2; // @ - case XKB_KEY_numbersign: - return XKB_KEY_3; // # - case XKB_KEY_dollar: - return XKB_KEY_4; // $ - case XKB_KEY_percent: - return XKB_KEY_5; // % - case XKB_KEY_asciicircum: - return XKB_KEY_6; // ^ - case XKB_KEY_ampersand: - return XKB_KEY_7; // & - case XKB_KEY_asterisk: - return XKB_KEY_8; // * - case XKB_KEY_parenleft: - return XKB_KEY_9; // ( - case XKB_KEY_parenright: - return XKB_KEY_0; // ) - - default: - return sym; - } -} - // 辅助函数:检查字符串是否以指定的前缀开头(忽略大小写) static bool starts_with_ignore_case(const char *str, const char *prefix) { while (*prefix) { diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 168852f..d3ab629 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -971,7 +971,7 @@ int tag(const Arg *arg) { } int tagmon(const Arg *arg) { - Monitor *m = NULL,*cm = NULL; + Monitor *m = NULL, *cm = NULL; Client *c = focustop(selmon); if (!c) diff --git a/src/mango.c b/src/mango.c index 6a66d0a..eff7dde 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3345,8 +3345,8 @@ keybinding(unsigned int state, bool locked, unsigned int mods, xkb_keysym_t sym, (strcmp(keymode.mode, k->mode) == 0)) && CLEANMASK(mods) == CLEANMASK(k->mod) && ((k->keysymcode.type == KEY_TYPE_SYM && - normalize_keysym(sym) == - normalize_keysym(k->keysymcode.keysym)) || + xkb_keysym_to_lower(sym) == + xkb_keysym_to_lower(k->keysymcode.keysym)) || (k->keysymcode.type == KEY_TYPE_CODE && (keycode == k->keysymcode.keycode.keycode1 || keycode == k->keysymcode.keycode.keycode2 || From 6010cea8051b82004392b092958b960d280271ce Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 20:10:11 +0800 Subject: [PATCH 53/89] opt: optimize shadow node and blur node enable --- src/animation/client.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/animation/client.h b/src/animation/client.h index 90b664b..bf8864b 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -255,8 +255,12 @@ void client_draw_shadow(Client *c) { return; if (!shadows || (!c->isfloating && shadow_only_floating)) { - wlr_scene_shadow_set_size(c->shadow, 0, 0); + if (c->shadow->node.enabled) + wlr_scene_node_set_enabled(&c->shadow->node, false); return; + } else { + if (c->scene_surface->node.enabled && !c->shadow->node.enabled) + wlr_scene_node_set_enabled(&c->shadow->node, true); } bool hit_no_border = check_hit_no_border(c); From 050171960420c438d7345395f4752fa5232cda59 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 13 Nov 2025 10:49:44 +0800 Subject: [PATCH 54/89] opt: spawn_on_empty and toggle_named_scratchapd use spawn_shell --- src/dispatch/bind_define.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index d3ab629..27f7977 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -805,7 +805,7 @@ int spawn_on_empty(const Arg *arg) { return 0; } else { view(arg, true); - spawn(arg); + spawn_shell(arg); } return 0; } @@ -1088,7 +1088,7 @@ int toggle_named_scratchpad(const Arg *arg) { if (!target_client && arg->v3) { Arg arg_spawn = {.v = arg->v3}; - spawn(&arg_spawn); + spawn_shell(&arg_spawn); return 0; } From 64dc30dc31d585e6e5d2c3547488282b124130f6 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 20:17:16 +0800 Subject: [PATCH 55/89] opt: disable resize scroller window when it force to default single size --- src/layout/arrange.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/layout/arrange.h b/src/layout/arrange.h index 4df9786..b53592f 100644 --- a/src/layout/arrange.h +++ b/src/layout/arrange.h @@ -374,6 +374,10 @@ void resize_tile_scroller(Client *grabc, bool isdrag, int offsetx, int offsety, float delta_x, delta_y; float new_scroller_proportion; + if (grabc && grabc->mon->visible_tiling_clients == 1 && + !scroller_ignore_proportion_single) + return; + if (!start_drag_window && isdrag) { drag_begin_cursorx = cursor->x; drag_begin_cursory = cursor->y; From 17f1ae2463146d2525a389121df5129316a538fa Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 13 Nov 2025 10:55:44 +0800 Subject: [PATCH 56/89] opt: optmize restore_minimized size and not restore namedscratchpad --- src/dispatch/bind_define.h | 2 +- src/mango.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 27f7977..d653bb1 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -476,7 +476,7 @@ int restore_minimized(const Arg *arg) { } wl_list_for_each(c, &clients, link) { - if (c->isminied) { + if (c->isminied && !c->isnamedscratchpad) { c->is_scratchpad_show = 0; c->is_in_scratchpad = 0; c->isnamedscratchpad = 0; diff --git a/src/mango.c b/src/mango.c index eff7dde..aa22de3 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4793,8 +4793,11 @@ void setsel(struct wl_listener *listener, void *data) { } void show_hide_client(Client *c) { + unsigned int target = 1; + + set_size_per(c->mon, c); + target = get_tags_first_tag(c->oldtags); - unsigned int target = get_tags_first_tag(c->oldtags); if (!c->is_in_scratchpad) { tag_client(&(Arg){.ui = target}, c); } else { From 5ba7da0570b0f66e69604e1a06b24b45114d455c Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 22:47:18 +0800 Subject: [PATCH 57/89] opt: remove increase_proportion dispatch should use resizewin to replace it --- src/config/parse_config.h | 3 --- src/dispatch/bind_declare.h | 1 - src/dispatch/bind_define.h | 12 ------------ 3 files changed, 16 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 30e118e..321de20 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -887,9 +887,6 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value, } else if (strcmp(func_name, "set_proportion") == 0) { func = set_proportion; (*arg).f = atof(arg_value); - } else if (strcmp(func_name, "increase_proportion") == 0) { - func = increase_proportion; - (*arg).f = atof(arg_value); } else if (strcmp(func_name, "switch_proportion_preset") == 0) { func = switch_proportion_preset; } else if (strcmp(func_name, "viewtoleft") == 0) { diff --git a/src/dispatch/bind_declare.h b/src/dispatch/bind_declare.h index b38e2da..5bc215a 100644 --- a/src/dispatch/bind_declare.h +++ b/src/dispatch/bind_declare.h @@ -4,7 +4,6 @@ int toggle_scratchpad(const Arg *arg); int focusdir(const Arg *arg); int toggleoverview(const Arg *arg); int set_proportion(const Arg *arg); -int increase_proportion(const Arg *arg); int switch_proportion_preset(const Arg *arg); int zoom(const Arg *arg); int tagsilent(const Arg *arg); diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 57288b4..464e2a6 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -281,18 +281,6 @@ int incovgaps(const Arg *arg) { return 0; } -int increase_proportion(const Arg *arg) { - if (selmon->sel) { - unsigned int max_client_width = - selmon->w.width - 2 * scroller_structs - gappih; - selmon->sel->scroller_proportion = - MIN(MAX(arg->f + selmon->sel->scroller_proportion, 0.1), 1.0); - selmon->sel->geom.width = max_client_width * arg->f; - arrange(selmon, false); - } - return 0; -} - int setmfact(const Arg *arg) { float f; Client *c = NULL; From 16296898ce694ced439b1bd2aa2080b45859c51f Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 14 Nov 2025 11:53:41 +0800 Subject: [PATCH 58/89] fix: tagrule not apply correctly --- src/config/parse_config.h | 46 +++++++++++++++++++++------------------ src/mango.c | 13 +---------- 2 files changed, 26 insertions(+), 33 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index a6cfb64..59cb37b 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -3165,33 +3165,37 @@ void reapply_master(void) { } } +void parse_tagrule(Monitor *m) { + int i, jk; + + for (i = 0; i < config.tag_rules_count; i++) { + + if (config.tag_rules_count > 0 && + (!config.tag_rules[i].monitor_name || + regex_match(config.tag_rules[i].monitor_name, + m->wlr_output->name))) { + + for (jk = 0; jk < LENGTH(layouts); jk++) { + if (config.tag_rules[i].layout_name && + strcmp(layouts[jk].name, config.tag_rules[i].layout_name) == + 0) { + m->pertag->ltidxs[config.tag_rules[i].id] = &layouts[jk]; + } + } + + m->pertag->no_hide[config.tag_rules[i].id] = + config.tag_rules[i].no_hide; + } + } +} + void reapply_tagrule(void) { Monitor *m = NULL; - int i, jk; - char *rule_monitor_name = NULL; wl_list_for_each(m, &mons, link) { if (!m->wlr_output->enabled) { continue; } - - // apply tag rule - for (i = 1; i <= config.tag_rules_count; i++) { - rule_monitor_name = config.tag_rules[i - 1].monitor_name; - if (regex_match(rule_monitor_name, m->wlr_output->name) || - !rule_monitor_name) { - for (jk = 0; jk < LENGTH(layouts); jk++) { - if (config.tag_rules_count > 0 && - config.tag_rules[i - 1].layout_name && - strcmp(layouts[jk].name, - config.tag_rules[i - 1].layout_name) == 0) { - m->pertag->ltidxs[config.tag_rules[i - 1].id] = - &layouts[jk]; - m->pertag->no_hide[config.tag_rules[i - 1].id] = - config.tag_rules[i - 1].no_hide; - } - } - } - } + parse_tagrule(m); } } diff --git a/src/mango.c b/src/mango.c index aa22de3..2ab3eab 100644 --- a/src/mango.c +++ b/src/mango.c @@ -2694,18 +2694,7 @@ void createmon(struct wl_listener *listener, void *data) { } // apply tag rule - for (i = 1; i <= config.tag_rules_count; i++) { - for (jk = 0; jk < LENGTH(layouts); jk++) { - if (config.tag_rules_count > 0 && - config.tag_rules[i - 1].layout_name && - strcmp(layouts[jk].name, config.tag_rules[i - 1].layout_name) == - 0) { - m->pertag->ltidxs[config.tag_rules[i - 1].id] = &layouts[jk]; - m->pertag->no_hide[config.tag_rules[i - 1].id] = - config.tag_rules[i - 1].no_hide; - } - } - } + parse_tagrule(m); /* The xdg-protocol specifies: * From 33a0fe24850785b57c97308d3c15553a41920f8a Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 22:48:53 +0800 Subject: [PATCH 59/89] opt: not resizewin in overview --- src/layout/arrange.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/layout/arrange.h b/src/layout/arrange.h index b53592f..aafb79e 100644 --- a/src/layout/arrange.h +++ b/src/layout/arrange.h @@ -479,6 +479,9 @@ void resize_tile_client(Client *grabc, bool isdrag, int offsetx, int offsety, if (!grabc || grabc->isfullscreen || grabc->ismaximizescreen) return; + if (grabc->mon->isoverview) + return; + const Layout *current_layout = grabc->mon->pertag->ltidxs[grabc->mon->pertag->curtag]; if (current_layout->id == TILE || current_layout->id == DECK || From d85f4375c8fee672e376e81df6e42f2043176988 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 14 Nov 2025 12:15:34 +0800 Subject: [PATCH 60/89] fix: fix border color change when swithc mon focus --- src/animation/client.h | 2 +- src/dispatch/bind_define.h | 2 +- src/fetch/client.h | 5 ++++- src/mango.c | 9 +++++++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index bf8864b..e3673a2 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -1060,7 +1060,7 @@ void client_set_focused_opacity_animation(Client *c) { c->opacity_animation.running = true; } -void cleint_set_unfocused_opacity_animation(Client *c) { +void client_set_unfocused_opacity_animation(Client *c) { // Start border color animation to unfocused float *border_color = get_border_color(c); diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index d653bb1..c812bf1 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -202,7 +202,7 @@ int focusmon(const Arg *arg) { focusclient(c, 1); if (old_selmon_sel) { - setborder_color(old_selmon_sel); + client_set_unfocused_opacity_animation(old_selmon_sel); } return 0; } diff --git a/src/fetch/client.h b/src/fetch/client.h index 6e67522..5f62d23 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -374,7 +374,10 @@ Client *get_next_stack_client(Client *c, bool reverse) { } float *get_border_color(Client *c) { - if (c->isurgent) { + + if (c->mon != selmon) { + return bordercolor; + } else if (c->isurgent) { return urgentcolor; } else if (c->is_in_scratchpad && selmon && c == selmon->sel) { return scratchpadcolor; diff --git a/src/mango.c b/src/mango.c index 2ab3eab..7bb3bb2 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3092,6 +3092,9 @@ void destroykeyboardgroup(struct wl_listener *listener, void *data) { } void focusclient(Client *c, int lift) { + + Client *last_focus_client = NULL; + struct wlr_surface *old_keyboard_focus_surface = seat->keyboard_state.focused_surface; @@ -3126,12 +3129,14 @@ void focusclient(Client *c, int lift) { if (c && !c->iskilling && !client_is_unmanaged(c) && c->mon) { + last_focus_client = selmon->sel; selmon = c->mon; selmon->prevsel = selmon->sel; selmon->sel = c; - if (selmon->prevsel && !selmon->prevsel->iskilling) { - cleint_set_unfocused_opacity_animation(selmon->prevsel); + if (last_focus_client && !last_focus_client->iskilling && + last_focus_client != c) { + client_set_unfocused_opacity_animation(last_focus_client); } client_set_focused_opacity_animation(c); From f542d5d5e6d9999b627ffd5f55bf4a2085a36041 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 8 Nov 2025 23:26:52 +0800 Subject: [PATCH 61/89] opt: disable switch proportion action in some case --- src/dispatch/bind_define.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 464e2a6..65c2b03 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -518,6 +518,14 @@ int setkeymode(const Arg *arg) { } int set_proportion(const Arg *arg) { + + if (selmon->isoverview || !is_scroller_layout(selmon)) + return 0; + + if (selmon->visible_tiling_clients == 1 && + !scroller_ignore_proportion_single) + return 0; + if (selmon->sel) { unsigned int max_client_width = selmon->w.width - 2 * scroller_structs - gappih; @@ -919,6 +927,13 @@ int switch_proportion_preset(const Arg *arg) { return 0; } + if (selmon->isoverview || !is_scroller_layout(selmon)) + return 0; + + if (selmon->visible_tiling_clients == 1 && + !scroller_ignore_proportion_single) + return 0; + if (selmon->sel) { for (int i = 0; i < config.scroller_proportion_preset_count; i++) { From 514c9166785274ed525ecc3ef4697d71c47b2ab4 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 14 Nov 2025 12:32:07 +0800 Subject: [PATCH 62/89] opt: optimize code struct --- src/config/parse_config.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 59cb37b..6358083 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -3167,24 +3167,24 @@ void reapply_master(void) { void parse_tagrule(Monitor *m) { int i, jk; + ConfigTagRule tr; for (i = 0; i < config.tag_rules_count; i++) { + tr = config.tag_rules[i]; + if (config.tag_rules_count > 0 && - (!config.tag_rules[i].monitor_name || - regex_match(config.tag_rules[i].monitor_name, - m->wlr_output->name))) { + (!tr.monitor_name || + regex_match(tr.monitor_name, m->wlr_output->name))) { for (jk = 0; jk < LENGTH(layouts); jk++) { - if (config.tag_rules[i].layout_name && - strcmp(layouts[jk].name, config.tag_rules[i].layout_name) == - 0) { - m->pertag->ltidxs[config.tag_rules[i].id] = &layouts[jk]; + if (tr.layout_name && + strcmp(layouts[jk].name, tr.layout_name) == 0) { + m->pertag->ltidxs[tr.id] = &layouts[jk]; } } - m->pertag->no_hide[config.tag_rules[i].id] = - config.tag_rules[i].no_hide; + m->pertag->no_hide[tr.id] = tr.no_hide; } } } From 8875156760b48d82c209cff895b61aa5b3817f4a Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 9 Nov 2025 15:40:51 +0800 Subject: [PATCH 63/89] feat: support nofucs rule for some special window --- src/config/parse_config.h | 4 ++++ src/mango.c | 42 +++++++++++++++++++++++---------------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 321de20..0e9e15c 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -77,6 +77,7 @@ typedef struct { int offsety; int width; int height; + int nofocus; int nofadein; int nofadeout; int no_force_center; @@ -1716,6 +1717,7 @@ void parse_option(Config *config, char *key, char *value) { rule->force_tearing = -1; rule->noswallow = -1; rule->noblur = -1; + rule->nofocus = -1; rule->nofadein = -1; rule->nofadeout = -1; rule->no_force_center = -1; @@ -1770,6 +1772,8 @@ void parse_option(Config *config, char *key, char *value) { rule->offsetx = atoi(val); } else if (strcmp(key, "offsety") == 0) { rule->offsety = atoi(val); + } else if (strcmp(key, "nofocus") == 0) { + rule->nofocus = atoi(val); } else if (strcmp(key, "nofadein") == 0) { rule->nofadein = atoi(val); } else if (strcmp(key, "nofadeout") == 0) { diff --git a/src/mango.c b/src/mango.c index 96970aa..f7440f4 100644 --- a/src/mango.c +++ b/src/mango.c @@ -352,6 +352,7 @@ struct Client { bool drag_to_tile; bool scratchpad_switching_mon; bool fake_no_border; + int nofocus; int nofadein; int nofadeout; int no_force_center; @@ -1130,6 +1131,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) { APPLY_INT_PROP(c, r, force_maximize); APPLY_INT_PROP(c, r, force_tearing); APPLY_INT_PROP(c, r, noswallow); + APPLY_INT_PROP(c, r, nofocus); APPLY_INT_PROP(c, r, nofadein); APPLY_INT_PROP(c, r, nofadeout); APPLY_INT_PROP(c, r, no_force_center); @@ -1243,11 +1245,16 @@ void applyrules(Client *c) { const char *appid, *title; unsigned int i, newtags = 0; const ConfigWinRule *r; - Monitor *mon = selmon, *m = NULL; + Monitor *m = NULL; Client *fc = NULL; bool hit_rule_pos = false; + Client *parent = NULL; - c->isfloating = client_is_float_type(c); + parent = client_get_parent(c); + + Monitor *mon = parent && parent->mon ? parent->mon : selmon; + + c->isfloating = client_is_float_type(c) || parent; if (!(appid = client_get_appid(c))) appid = broken; if (!(title = client_get_title(c))) @@ -1264,8 +1271,14 @@ void applyrules(Client *c) { // set general properties apply_rule_properties(c, r); - // set tags - newtags |= (r->tags > 0) ? r->tags : 0; + // // set tags + if (r->tags > 0) { + newtags |= r->tags; + } else if (parent) { + newtags = parent->tags; + } else { + newtags |= 0; + } // set monitor of client wl_list_for_each(m, &mons, link) { @@ -1334,8 +1347,9 @@ void applyrules(Client *c) { int fullscreen_state_backup = c->isfullscreen || client_wants_fullscreen(c); setmon(c, mon, newtags, - !c->isopensilent && (!c->istagsilent || !newtags || - newtags & mon->tagset[mon->seltags])); + !c->isopensilent && !client_should_ignore_focus(c) && + (!c->istagsilent || !newtags || + newtags & mon->tagset[mon->seltags])); if (c->mon && !(c->mon == selmon && c->tags & c->mon->tagset[c->mon->seltags]) && @@ -3084,6 +3098,9 @@ void focusclient(Client *c, int lift) { if (c && client_should_ignore_focus(c) && client_is_x11_popup(c)) return; + if (c && c->nofocus) + return; + /* Raise client in stacking order if requested */ if (c && lift) wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 @@ -3560,6 +3577,7 @@ void init_client_properties(Client *c) { c->fake_no_border = false; c->focused_opacity = focused_opacity; c->unfocused_opacity = unfocused_opacity; + c->nofocus = 0; c->nofadein = 0; c->nofadeout = 0; c->no_force_center = 0; @@ -3580,7 +3598,6 @@ void init_client_properties(Client *c) { void // old fix to 0.5 mapnotify(struct wl_listener *listener, void *data) { /* Called when the surface is mapped, or ready to display on-screen. */ - Client *p = NULL; Client *at_client = NULL; Client *c = wl_container_of(listener, c, map); /* Create scene tree for this client and its border */ @@ -3672,16 +3689,7 @@ mapnotify(struct wl_listener *listener, void *data) { wl_list_insert(clients.prev, &c->link); // 尾部入栈 wl_list_insert(&fstack, &c->flink); - /* Set initial monitor, tags, floating status, and focus: - * we always consider floating, clients that have parent and thus - * we set the same tags and monitor than its parent, if not - * try to apply rules for them */ - if ((p = client_get_parent(c))) { - c->isfloating = 1; - setmon(c, p->mon, p->tags, true); - } else { - applyrules(c); - } + applyrules(c); client_set_tiled(c, WLR_EDGE_TOP | WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT); From 407c9d74a42763f56817af2ee4821c92e9eba4f7 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 14 Nov 2025 15:39:04 +0800 Subject: [PATCH 64/89] feat: add windowrule option scroller_proportion_single --- src/config/parse_config.h | 4 ++++ src/layout/horizontal.h | 9 +++++++-- src/layout/vertical.h | 10 ++++++++-- src/mango.c | 3 +++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 6358083..074660b 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -90,6 +90,7 @@ typedef struct { int noblur; float focused_opacity; float unfocused_opacity; + float scroller_proportion_single; uint32_t passmod; xkb_keysym_t keysym; KeyBinding globalkeybinding; @@ -1679,6 +1680,7 @@ void parse_option(Config *config, char *key, char *value) { // float rule value, relay to a client property rule->focused_opacity = 0; rule->unfocused_opacity = 0; + rule->scroller_proportion_single = 0.0f; rule->scroller_proportion = 0; // special rule value,not directly set to client property @@ -1750,6 +1752,8 @@ void parse_option(Config *config, char *key, char *value) { rule->isunglobal = atoi(val); } else if (strcmp(key, "isglobal") == 0) { rule->isglobal = atoi(val); + } else if (strcmp(key, "scroller_proportion_single") == 0) { + rule->scroller_proportion_single = atof(val); } else if (strcmp(key, "unfocused_opacity") == 0) { rule->unfocused_opacity = atof(val); } else if (strcmp(key, "focused_opacity") == 0) { diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 178ae9e..934dc13 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -192,6 +192,7 @@ void deck(Monitor *m) { // 滚动布局 void scroller(Monitor *m) { unsigned int i, n, j; + float single_proportion = 1.0; Client *c = NULL, *root_client = NULL; Client **tempClients = NULL; // 初始化为 NULL @@ -233,9 +234,13 @@ void scroller(Monitor *m) { if (n == 1 && !scroller_ignore_proportion_single) { c = tempClients[0]; + + single_proportion = c->scroller_proportion_single > 0.0f + ? c->scroller_proportion_single + : scroller_default_proportion_single; + target_geom.height = m->w.height - 2 * cur_gappov; - target_geom.width = - (m->w.width - 2 * cur_gappoh) * scroller_default_proportion_single; + target_geom.width = (m->w.width - 2 * cur_gappoh) * single_proportion; target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2; target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2; resize(c, target_geom, 0); diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 6ae21a6..46ca3b6 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -157,6 +157,8 @@ void vertical_deck(Monitor *m) { void vertical_scroller(Monitor *m) { unsigned int i, n, j; + float single_proportion = 1.0; + Client *c = NULL, *root_client = NULL; Client **tempClients = NULL; struct wlr_box target_geom; @@ -194,9 +196,13 @@ void vertical_scroller(Monitor *m) { if (n == 1 && !scroller_ignore_proportion_single) { c = tempClients[0]; + + single_proportion = c->scroller_proportion_single > 0.0f + ? c->scroller_proportion_single + : scroller_default_proportion_single; + target_geom.width = m->w.width - 2 * cur_gappoh; - target_geom.height = - (m->w.height - 2 * cur_gappov) * scroller_default_proportion_single; + target_geom.height = (m->w.height - 2 * cur_gappov) * single_proportion; target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2; target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2; resize(c, target_geom, 0); diff --git a/src/mango.c b/src/mango.c index 7bb3bb2..601c36f 100644 --- a/src/mango.c +++ b/src/mango.c @@ -376,6 +376,7 @@ struct Client { int tearing_hint; int force_tearing; int allow_shortcuts_inhibit; + float scroller_proportion_single; }; typedef struct { @@ -1173,6 +1174,7 @@ static void apply_rule_properties(Client *c, const ConfigWinRule *r) { APPLY_INT_PROP(c, r, allow_shortcuts_inhibit); APPLY_FLOAT_PROP(c, r, scroller_proportion); + APPLY_FLOAT_PROP(c, r, scroller_proportion_single); APPLY_FLOAT_PROP(c, r, focused_opacity); APPLY_FLOAT_PROP(c, r, unfocused_opacity); @@ -3623,6 +3625,7 @@ void init_client_properties(Client *c) { c->force_maximize = 0; c->force_tearing = 0; c->allow_shortcuts_inhibit = SHORTCUTS_INHIBIT_ENABLE; + c->scroller_proportion_single = 0.0f; } void // old fix to 0.5 From f2b98352431838fdadd60e4fb5b8475027ffe2fe Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 9 Nov 2025 23:19:49 +0800 Subject: [PATCH 65/89] opt: remove useless code --- src/mango.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/mango.c b/src/mango.c index f7440f4..7ad9aa6 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1276,8 +1276,6 @@ void applyrules(Client *c) { newtags |= r->tags; } else if (parent) { newtags = parent->tags; - } else { - newtags |= 0; } // set monitor of client From fce47b37d941808260c757fc68658d1b54fd1f01 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 14 Nov 2025 17:13:26 +0800 Subject: [PATCH 66/89] opt: optimize init focus for x11 window --- src/mango.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mango.c b/src/mango.c index 601c36f..06e1d61 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1368,7 +1368,8 @@ void applyrules(Client *c) { int fullscreen_state_backup = c->isfullscreen || client_wants_fullscreen(c); setmon(c, mon, newtags, - !c->isopensilent && !client_should_ignore_focus(c) && + !c->isopensilent && + !(client_is_x11_popup(c) && client_should_ignore_focus(c)) && (!c->istagsilent || !newtags || newtags & mon->tagset[mon->seltags])); From ecab47fe929519349735ce489b69b8e8744387fb Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 10 Nov 2025 14:30:20 +0800 Subject: [PATCH 67/89] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c90cee1..8e982b6 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ emerge --ask --verbose gui-wm/mangowc ## Other ```bash -git clone -b 0.19.1 https://gitlab.freedesktop.org/wlroots/wlroots.git +git clone -b 0.19.2 https://gitlab.freedesktop.org/wlroots/wlroots.git cd wlroots meson build -Dprefix=/usr sudo ninja -C build install @@ -119,7 +119,7 @@ sudo ninja -C build install ## Suggested Tools -### integrated component +### Hybrid component - [dms-shell](https://github.com/AvengeMedia/DankMaterialShell) ### Independent component From cdcc64ab5fc656e1d314f719f5a6e416bbdcb04c Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 15 Nov 2025 00:08:57 +0800 Subject: [PATCH 68/89] feat: support scroll maximize and fullscreen window --- src/dispatch/bind_define.h | 11 +++- src/ext-protocol/dwl-ipc.h | 1 + src/fetch/client.h | 113 ++++++++++++++++++++----------------- src/layout/arrange.h | 5 ++ src/layout/horizontal.h | 71 ++++++++++++++++++----- src/layout/vertical.h | 72 ++++++++++++++++++----- src/mango.c | 45 ++++++++++++--- 7 files changed, 228 insertions(+), 90 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index c812bf1..d79a7c6 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -80,8 +80,12 @@ int defaultgaps(const Arg *arg) { int exchange_client(const Arg *arg) { Client *c = selmon->sel; - if (!c || c->isfloating || c->isfullscreen || c->ismaximizescreen) + if (!c || c->isfloating) return 0; + + if ((c->isfullscreen || c->ismaximizescreen) && !is_scroller_layout(c->mon)) + return 0; + exchange_two_client(c, direction_select(arg)); return 0; } @@ -497,7 +501,7 @@ int setlayout(const Arg *arg) { for (jk = 0; jk < LENGTH(layouts); jk++) { if (strcmp(layouts[jk].name, arg->v) == 0) { selmon->pertag->ltidxs[selmon->pertag->curtag] = &layouts[jk]; - + clear_fullscreen_and_maximized_state(selmon); arrange(selmon, false); printstatus(); return 0; @@ -901,7 +905,7 @@ int switch_layout(const Arg *arg) { break; } } - + clear_fullscreen_and_maximized_state(selmon); arrange(selmon, false); printstatus(); return 0; @@ -912,6 +916,7 @@ int switch_layout(const Arg *arg) { selmon->pertag->ltidxs[selmon->pertag->curtag]->name) == 0) { selmon->pertag->ltidxs[selmon->pertag->curtag] = jk == LENGTH(layouts) - 1 ? &layouts[0] : &layouts[jk + 1]; + clear_fullscreen_and_maximized_state(selmon); arrange(selmon, false); printstatus(); return 0; diff --git a/src/ext-protocol/dwl-ipc.h b/src/ext-protocol/dwl-ipc.h index 6b0c4c5..15b2376 100644 --- a/src/ext-protocol/dwl-ipc.h +++ b/src/ext-protocol/dwl-ipc.h @@ -258,6 +258,7 @@ void dwl_ipc_output_set_layout(struct wl_client *client, index = 0; monitor->pertag->ltidxs[monitor->pertag->curtag] = &layouts[index]; + clear_fullscreen_and_maximized_state(monitor); arrange(monitor, false); printstatus(); } diff --git a/src/fetch/client.h b/src/fetch/client.h index 5f62d23..c2b0abd 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -142,7 +142,7 @@ Client *center_tiled_select(Monitor *m) { return target_c; } Client *find_client_by_direction(Client *tc, const Arg *arg, bool findfloating, - bool align) { + bool ignore_align) { Client *c = NULL; Client **tempClients = NULL; // 初始化为 NULL int last = -1; @@ -185,21 +185,23 @@ Client *find_client_by_direction(Client *tc, const Arg *arg, bool findfloating, switch (arg->i) { case UP: - for (int _i = 0; _i <= last; _i++) { - if (tempClients[_i]->geom.y < sel_y && - tempClients[_i]->geom.x == sel_x && - tempClients[_i]->mon == tc->mon) { - int dis_x = tempClients[_i]->geom.x - sel_x; - int dis_y = tempClients[_i]->geom.y - sel_y; - long long int tmp_distance = - dis_x * dis_x + dis_y * dis_y; // 计算距离 - if (tmp_distance < distance) { - distance = tmp_distance; - tempFocusClients = tempClients[_i]; + if (!ignore_align) { + for (int _i = 0; _i <= last; _i++) { + if (tempClients[_i]->geom.y < sel_y && + tempClients[_i]->geom.x == sel_x && + tempClients[_i]->mon == tc->mon) { + int dis_x = tempClients[_i]->geom.x - sel_x; + int dis_y = tempClients[_i]->geom.y - sel_y; + long long int tmp_distance = + dis_x * dis_x + dis_y * dis_y; // 计算距离 + if (tmp_distance < distance) { + distance = tmp_distance; + tempFocusClients = tempClients[_i]; + } } } } - if (!tempFocusClients && !align) { + if (!tempFocusClients) { for (int _i = 0; _i <= last; _i++) { if (tempClients[_i]->geom.y < sel_y) { int dis_x = tempClients[_i]->geom.x - sel_x; @@ -215,21 +217,23 @@ Client *find_client_by_direction(Client *tc, const Arg *arg, bool findfloating, } break; case DOWN: - for (int _i = 0; _i <= last; _i++) { - if (tempClients[_i]->geom.y > sel_y && - tempClients[_i]->geom.x == sel_x && - tempClients[_i]->mon == tc->mon) { - int dis_x = tempClients[_i]->geom.x - sel_x; - int dis_y = tempClients[_i]->geom.y - sel_y; - long long int tmp_distance = - dis_x * dis_x + dis_y * dis_y; // 计算距离 - if (tmp_distance < distance) { - distance = tmp_distance; - tempFocusClients = tempClients[_i]; + if (!ignore_align) { + for (int _i = 0; _i <= last; _i++) { + if (tempClients[_i]->geom.y > sel_y && + tempClients[_i]->geom.x == sel_x && + tempClients[_i]->mon == tc->mon) { + int dis_x = tempClients[_i]->geom.x - sel_x; + int dis_y = tempClients[_i]->geom.y - sel_y; + long long int tmp_distance = + dis_x * dis_x + dis_y * dis_y; // 计算距离 + if (tmp_distance < distance) { + distance = tmp_distance; + tempFocusClients = tempClients[_i]; + } } } } - if (!tempFocusClients && !align) { + if (!tempFocusClients) { for (int _i = 0; _i <= last; _i++) { if (tempClients[_i]->geom.y > sel_y) { int dis_x = tempClients[_i]->geom.x - sel_x; @@ -245,21 +249,23 @@ Client *find_client_by_direction(Client *tc, const Arg *arg, bool findfloating, } break; case LEFT: - for (int _i = 0; _i <= last; _i++) { - if (tempClients[_i]->geom.x < sel_x && - tempClients[_i]->geom.y == sel_y && - tempClients[_i]->mon == tc->mon) { - int dis_x = tempClients[_i]->geom.x - sel_x; - int dis_y = tempClients[_i]->geom.y - sel_y; - long long int tmp_distance = - dis_x * dis_x + dis_y * dis_y; // 计算距离 - if (tmp_distance < distance) { - distance = tmp_distance; - tempFocusClients = tempClients[_i]; + if (!ignore_align) { + for (int _i = 0; _i <= last; _i++) { + if (tempClients[_i]->geom.x < sel_x && + tempClients[_i]->geom.y == sel_y && + tempClients[_i]->mon == tc->mon) { + int dis_x = tempClients[_i]->geom.x - sel_x; + int dis_y = tempClients[_i]->geom.y - sel_y; + long long int tmp_distance = + dis_x * dis_x + dis_y * dis_y; // 计算距离 + if (tmp_distance < distance) { + distance = tmp_distance; + tempFocusClients = tempClients[_i]; + } } } } - if (!tempFocusClients && !align) { + if (!tempFocusClients) { for (int _i = 0; _i <= last; _i++) { if (tempClients[_i]->geom.x < sel_x) { int dis_x = tempClients[_i]->geom.x - sel_x; @@ -275,21 +281,23 @@ Client *find_client_by_direction(Client *tc, const Arg *arg, bool findfloating, } break; case RIGHT: - for (int _i = 0; _i <= last; _i++) { - if (tempClients[_i]->geom.x > sel_x && - tempClients[_i]->geom.y == sel_y && - tempClients[_i]->mon == tc->mon) { - int dis_x = tempClients[_i]->geom.x - sel_x; - int dis_y = tempClients[_i]->geom.y - sel_y; - long long int tmp_distance = - dis_x * dis_x + dis_y * dis_y; // 计算距离 - if (tmp_distance < distance) { - distance = tmp_distance; - tempFocusClients = tempClients[_i]; + if (!ignore_align) { + for (int _i = 0; _i <= last; _i++) { + if (tempClients[_i]->geom.x > sel_x && + tempClients[_i]->geom.y == sel_y && + tempClients[_i]->mon == tc->mon) { + int dis_x = tempClients[_i]->geom.x - sel_x; + int dis_y = tempClients[_i]->geom.y - sel_y; + long long int tmp_distance = + dis_x * dis_x + dis_y * dis_y; // 计算距离 + if (tmp_distance < distance) { + distance = tmp_distance; + tempFocusClients = tempClients[_i]; + } } } } - if (!tempFocusClients && !align) { + if (!tempFocusClients) { for (int _i = 0; _i <= last; _i++) { if (tempClients[_i]->geom.x > sel_x) { int dis_x = tempClients[_i]->geom.x - sel_x; @@ -317,12 +325,13 @@ Client *direction_select(const Arg *arg) { if (!tc) return NULL; - if (tc && (tc->isfullscreen || tc->ismaximizescreen)) { - // 不支持全屏窗口的焦点切换 + if (tc && (tc->isfullscreen || tc->ismaximizescreen) && + (!is_scroller_layout(selmon) || tc->isfloating)) { return NULL; } - return find_client_by_direction(tc, arg, true, false); + return find_client_by_direction( + tc, arg, true, is_scroller_layout(selmon) && !selmon->isoverview); } /* We probably should change the name of this, it sounds like diff --git a/src/layout/arrange.h b/src/layout/arrange.h index aafb79e..ba1391e 100644 --- a/src/layout/arrange.h +++ b/src/layout/arrange.h @@ -599,6 +599,7 @@ arrange(Monitor *m, bool want_animation) { return; m->visible_clients = 0; m->visible_tiling_clients = 0; + m->visible_scroll_tiling_clients = 0; m->has_visible_fullscreen_client = false; wl_list_for_each(c, &clients, link) { @@ -619,6 +620,10 @@ arrange(Monitor *m, bool want_animation) { if (ISTILED(c)) { m->visible_tiling_clients++; } + + if (ISSCROLLTILED(c)) { + m->visible_scroll_tiling_clients++; + } } } diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 934dc13..ff517cc 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -189,6 +189,38 @@ void deck(Monitor *m) { } } +void horizontal_scroll_adjust_fullandmax(Client *c, + struct wlr_box *target_geom) { + Monitor *m = c->mon; + unsigned int cur_gappih = enablegaps ? m->gappih : 0; + unsigned int cur_gappoh = enablegaps ? m->gappoh : 0; + unsigned int cur_gappov = enablegaps ? m->gappov : 0; + + cur_gappih = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappih; + cur_gappoh = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappoh; + cur_gappov = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappov; + + if (c->isfullscreen) { + target_geom->height = m->m.height; + target_geom->width = m->m.width; + target_geom->y = m->m.y; + return; + } + + if (c->ismaximizescreen) { + target_geom->height = m->w.height - 2 * cur_gappov; + target_geom->width = m->w.width - 2 * cur_gappoh; + target_geom->y = m->w.y + cur_gappov; + return; + } + + target_geom->height = m->w.height - 2 * cur_gappov; + target_geom->y = m->w.y + (m->w.height - target_geom->height) / 2; +} + // 滚动布局 void scroller(Monitor *m) { unsigned int i, n, j; @@ -203,14 +235,17 @@ void scroller(Monitor *m) { unsigned int cur_gappoh = enablegaps ? m->gappoh : 0; unsigned int cur_gappov = enablegaps ? m->gappov : 0; - cur_gappih = smartgaps && m->visible_tiling_clients == 1 ? 0 : cur_gappih; - cur_gappoh = smartgaps && m->visible_tiling_clients == 1 ? 0 : cur_gappoh; - cur_gappov = smartgaps && m->visible_tiling_clients == 1 ? 0 : cur_gappov; + cur_gappih = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappih; + cur_gappoh = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappoh; + cur_gappov = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappov; unsigned int max_client_width = m->w.width - 2 * scroller_structs - cur_gappih; - n = m->visible_tiling_clients; + n = m->visible_scroll_tiling_clients; if (n == 0) { return; // 没有需要处理的客户端,直接返回 @@ -226,13 +261,14 @@ void scroller(Monitor *m) { // 第二次遍历,填充 tempClients j = 0; wl_list_for_each(c, &clients, link) { - if (VISIBLEON(c, m) && ISTILED(c)) { + if (VISIBLEON(c, m) && ISSCROLLTILED(c)) { tempClients[j] = c; j++; } } - if (n == 1 && !scroller_ignore_proportion_single) { + if (n == 1 && !scroller_ignore_proportion_single && + !tempClients[0]->isfullscreen && !tempClients[0]->ismaximizescreen) { c = tempClients[0]; single_proportion = c->scroller_proportion_single > 0.0f @@ -248,11 +284,10 @@ void scroller(Monitor *m) { return; } - if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating && - !m->sel->ismaximizescreen && !m->sel->isfullscreen) { + if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating) { root_client = m->sel; - } else if (m->prevsel && ISTILED(m->prevsel) && VISIBLEON(m->prevsel, m) && - !client_is_unmanaged(m->prevsel)) { + } else if (m->prevsel && ISSCROLLTILED(m->prevsel) && + VISIBLEON(m->prevsel, m) && !client_is_unmanaged(m->prevsel)) { root_client = m->prevsel; } else { root_client = center_tiled_select(m); @@ -289,11 +324,18 @@ void scroller(Monitor *m) { target_geom.height = m->w.height - 2 * cur_gappov; target_geom.width = max_client_width * c->scroller_proportion; target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2; - - if (need_scroller) { + horizontal_scroll_adjust_fullandmax(tempClients[focus_client_index], + &target_geom); + if (tempClients[focus_client_index]->isfullscreen) { + target_geom.x = m->m.x; + resize(tempClients[focus_client_index], target_geom, 0); + } else if (tempClients[focus_client_index]->ismaximizescreen) { + target_geom.x = m->w.x + cur_gappoh; + resize(tempClients[focus_client_index], target_geom, 0); + } else if (need_scroller) { if (scroller_focus_center || ((!m->prevsel || - (ISTILED(m->prevsel) && + (ISSCROLLTILED(m->prevsel) && (m->prevsel->scroller_proportion * max_client_width) + (root_client->scroller_proportion * max_client_width) > m->w.width - 2 * scroller_structs - cur_gappih)) && @@ -316,14 +358,17 @@ void scroller(Monitor *m) { for (i = 1; i <= focus_client_index; i++) { c = tempClients[focus_client_index - i]; target_geom.width = max_client_width * c->scroller_proportion; + horizontal_scroll_adjust_fullandmax(c, &target_geom); target_geom.x = tempClients[focus_client_index - i + 1]->geom.x - cur_gappih - target_geom.width; + resize(c, target_geom, 0); } for (i = 1; i < n - focus_client_index; i++) { c = tempClients[focus_client_index + i]; target_geom.width = max_client_width * c->scroller_proportion; + horizontal_scroll_adjust_fullandmax(c, &target_geom); target_geom.x = tempClients[focus_client_index + i - 1]->geom.x + cur_gappih + tempClients[focus_client_index + i - 1]->geom.width; diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 46ca3b6..cef0e3b 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -155,6 +155,38 @@ void vertical_deck(Monitor *m) { } } +void vertical_scroll_adjust_fullandmax(Client *c, struct wlr_box *target_geom) { + Monitor *m = c->mon; + unsigned int cur_gappiv = enablegaps ? m->gappiv : 0; + unsigned int cur_gappov = enablegaps ? m->gappov : 0; + unsigned int cur_gappoh = enablegaps ? m->gappoh : 0; + + cur_gappiv = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappiv; + cur_gappov = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappov; + cur_gappoh = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappoh; + + if (c->isfullscreen) { + target_geom->width = m->m.width; + target_geom->height = m->m.height; + target_geom->x = m->m.x; + return; + } + + if (c->ismaximizescreen) { + target_geom->width = m->w.width - 2 * cur_gappoh; + target_geom->height = m->w.height - 2 * cur_gappov; + target_geom->x = m->w.x + cur_gappoh; + return; + } + + target_geom->width = m->w.width - 2 * cur_gappoh; + target_geom->x = m->w.x + (m->w.width - target_geom->width) / 2; +} + +// 竖屏滚动布局 void vertical_scroller(Monitor *m) { unsigned int i, n, j; float single_proportion = 1.0; @@ -168,14 +200,17 @@ void vertical_scroller(Monitor *m) { unsigned int cur_gappov = enablegaps ? m->gappov : 0; unsigned int cur_gappoh = enablegaps ? m->gappoh : 0; - cur_gappiv = smartgaps && m->visible_tiling_clients == 1 ? 0 : cur_gappiv; - cur_gappov = smartgaps && m->visible_tiling_clients == 1 ? 0 : cur_gappov; - cur_gappoh = smartgaps && m->visible_tiling_clients == 1 ? 0 : cur_gappoh; + cur_gappiv = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappiv; + cur_gappov = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappov; + cur_gappoh = + smartgaps && m->visible_scroll_tiling_clients == 1 ? 0 : cur_gappoh; unsigned int max_client_height = m->w.height - 2 * scroller_structs - cur_gappiv; - n = m->visible_tiling_clients; + n = m->visible_scroll_tiling_clients; if (n == 0) { return; @@ -188,13 +223,14 @@ void vertical_scroller(Monitor *m) { j = 0; wl_list_for_each(c, &clients, link) { - if (VISIBLEON(c, m) && ISTILED(c)) { + if (VISIBLEON(c, m) && ISSCROLLTILED(c)) { tempClients[j] = c; j++; } } - if (n == 1 && !scroller_ignore_proportion_single) { + if (n == 1 && !scroller_ignore_proportion_single && + !tempClients[0]->isfullscreen && !tempClients[0]->ismaximizescreen) { c = tempClients[0]; single_proportion = c->scroller_proportion_single > 0.0f @@ -203,18 +239,17 @@ void vertical_scroller(Monitor *m) { target_geom.width = m->w.width - 2 * cur_gappoh; target_geom.height = (m->w.height - 2 * cur_gappov) * single_proportion; - target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2; target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2; + target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2; resize(c, target_geom, 0); free(tempClients); return; } - if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating && - !m->sel->ismaximizescreen && !m->sel->isfullscreen) { + if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating) { root_client = m->sel; - } else if (m->prevsel && ISTILED(m->prevsel) && VISIBLEON(m->prevsel, m) && - !client_is_unmanaged(m->prevsel)) { + } else if (m->prevsel && ISSCROLLTILED(m->prevsel) && + VISIBLEON(m->prevsel, m) && !client_is_unmanaged(m->prevsel)) { root_client = m->prevsel; } else { root_client = center_tiled_select(m); @@ -251,11 +286,19 @@ void vertical_scroller(Monitor *m) { target_geom.width = m->w.width - 2 * cur_gappoh; target_geom.height = max_client_height * c->scroller_proportion; target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2; + vertical_scroll_adjust_fullandmax(tempClients[focus_client_index], + &target_geom); - if (need_scroller) { + if (tempClients[focus_client_index]->isfullscreen) { + target_geom.y = m->m.y; + resize(tempClients[focus_client_index], target_geom, 0); + } else if (tempClients[focus_client_index]->ismaximizescreen) { + target_geom.y = m->w.y + cur_gappov; + resize(tempClients[focus_client_index], target_geom, 0); + } else if (need_scroller) { if (scroller_focus_center || ((!m->prevsel || - (ISTILED(m->prevsel) && + (ISSCROLLTILED(m->prevsel) && (m->prevsel->scroller_proportion * max_client_height) + (root_client->scroller_proportion * max_client_height) > m->w.height - 2 * scroller_structs - cur_gappiv)) && @@ -278,14 +321,17 @@ void vertical_scroller(Monitor *m) { for (i = 1; i <= focus_client_index; i++) { c = tempClients[focus_client_index - i]; target_geom.height = max_client_height * c->scroller_proportion; + vertical_scroll_adjust_fullandmax(c, &target_geom); target_geom.y = tempClients[focus_client_index - i + 1]->geom.y - cur_gappiv - target_geom.height; + resize(c, target_geom, 0); } for (i = 1; i < n - focus_client_index; i++) { c = tempClients[focus_client_index + i]; target_geom.height = max_client_height * c->scroller_proportion; + vertical_scroll_adjust_fullandmax(c, &target_geom); target_geom.y = tempClients[focus_client_index + i - 1]->geom.y + cur_gappiv + tempClients[focus_client_index + i - 1]->geom.height; diff --git a/src/mango.c b/src/mango.c index 06e1d61..540a025 100644 --- a/src/mango.c +++ b/src/mango.c @@ -104,6 +104,9 @@ #define ISTILED(A) \ (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ !(A)->ismaximizescreen && !(A)->isfullscreen && !(A)->isunglobal) +#define ISSCROLLTILED(A) \ + (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ + !(A)->isunglobal) #define VISIBLEON(C, M) \ ((C) && (M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) #define LENGTH(X) (sizeof X / sizeof X[0]) @@ -479,6 +482,7 @@ struct Monitor { int asleep; unsigned int visible_clients; unsigned int visible_tiling_clients; + unsigned int visible_scroll_tiling_clients; bool has_visible_fullscreen_client; struct wlr_scene_optimized_blur *blur; char last_surface_ws_name[256]; @@ -733,6 +737,7 @@ static void refresh_monitors_workspaces_status(Monitor *m); static void init_client_properties(Client *c); static float *get_border_color(Client *c); static void request_fresh_all_monitors(void); +static void clear_fullscreen_and_maximized_state(Monitor *m); #include "data/static_keymap.h" #include "dispatch/bind_declare.h" @@ -930,8 +935,26 @@ void applybounds(Client *c, struct wlr_box *bbox) { c->geom.y = bbox->y; } +void clear_fullscreen_and_maximized_state(Monitor *m) { + Client *fc = NULL; + wl_list_for_each(fc, &clients, link) { + if (fc && VISIBLEON(fc, m) && ISFULLSCREEN(fc)) { + clear_fullscreen_flag(fc); + } + } +} + /*清除全屏标志,还原全屏时清0的border*/ void clear_fullscreen_flag(Client *c) { + + if ((c->mon->pertag->ltidxs[get_tags_first_tag_num(c->tags)]->id == + SCROLLER || + c->mon->pertag->ltidxs[get_tags_first_tag_num(c->tags)]->id == + VERTICAL_SCROLLER) && + !c->isfloating) { + return; + } + if (c->isfullscreen) { setfullscreen(c, false); } @@ -3149,7 +3172,6 @@ void focusclient(Client *c, int lift) { if (c && selmon->prevsel && (selmon->prevsel->tags & selmon->tagset[selmon->seltags]) && (c->tags & selmon->tagset[selmon->seltags]) && !c->isfloating && - !c->isfullscreen && !c->ismaximizescreen && is_scroller_layout(selmon)) { arrange(selmon, false); } @@ -3702,9 +3724,9 @@ mapnotify(struct wl_listener *listener, void *data) { // tile at the top wl_list_insert(&clients, &c->link); // 新窗口是master,头部入栈 else if (selmon && is_scroller_layout(selmon) && - selmon->visible_tiling_clients > 0) { + selmon->visible_scroll_tiling_clients > 0) { - if (selmon->sel && ISTILED(selmon->sel) && + if (selmon->sel && ISSCROLLTILED(selmon->sel) && VISIBLEON(selmon->sel, selmon)) { at_client = selmon->sel; } else { @@ -4536,7 +4558,8 @@ void setmaximizescreen(Client *c, int maximizescreen) { maximizescreen_box.width = c->mon->w.width - 2 * gappoh; maximizescreen_box.height = c->mon->w.height - 2 * gappov; wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 - resize(c, maximizescreen_box, 0); + if (!is_scroller_layout(c->mon) || c->isfloating) + resize(c, maximizescreen_box, 0); c->ismaximizescreen = 1; } else { c->bw = c->isnoborder ? 0 : borderpx; @@ -4545,9 +4568,8 @@ void setmaximizescreen(Client *c, int maximizescreen) { setfloating(c, 1); } - wlr_scene_node_reparent(&c->scene->node, layers[maximizescreen ? LyrTile - : c->isfloating ? LyrTop - : LyrTile]); + wlr_scene_node_reparent(&c->scene->node, + layers[c->isfloating ? LyrTop : LyrTile]); if (!c->ismaximizescreen) { set_size_per(c->mon, c); } @@ -4593,7 +4615,8 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带 c->bw = 0; wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 - resize(c, c->mon->m, 1); + if (!is_scroller_layout(c->mon) || c->isfloating) + resize(c, c->mon->m, 1); c->isfullscreen = 1; } else { c->bw = c->isnoborder ? 0 : borderpx; @@ -5168,7 +5191,11 @@ unsigned int want_restore_fullscreen(Client *target_client) { Client *c = NULL; wl_list_for_each(c, &clients, link) { if (c && c != target_client && c->tags == target_client->tags && - c == selmon->sel) { + c == selmon->sel && + c->mon->pertag->ltidxs[get_tags_first_tag_num(c->tags)]->id != + SCROLLER && + c->mon->pertag->ltidxs[get_tags_first_tag_num(c->tags)]->id != + VERTICAL_SCROLLER) { return 0; } } From 9c8f9e3b38f64b5aeee09ebc60d1468f3975dee9 Mon Sep 17 00:00:00 2001 From: Jorrit van der Heide Date: Tue, 11 Nov 2025 17:03:43 +0100 Subject: [PATCH 69/89] fix: nixos example --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e982b6..967e66a 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,10 @@ Here's an example of using the modules in a flake: inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts.url = "github:hercules-ci/flake-parts"; - mango.url = "github:DreamMaoMao/mango"; + mango = { + url = "github:DreamMaoMao/mango"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs@{ self, flake-parts, ... }: From d941e0078eb7773a27f72890425eb62f085e417d Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 16 Nov 2025 07:19:29 +0800 Subject: [PATCH 70/89] fix: fullscreen and maximize window overflow screen --- src/animation/client.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index e3673a2..d26265b 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -446,7 +446,7 @@ struct ivec2 clip_to_hide(Client *c, struct wlr_box *clip_box) { int offsetx = 0, offsety = 0, offsetw = 0, offseth = 0; struct ivec2 offset = {0, 0, 0, 0}; - if (!ISTILED(c) && !c->animation.tagining && !c->animation.tagouted && + if (!ISSCROLLTILED(c) && !c->animation.tagining && !c->animation.tagouted && !c->animation.tagouting) return offset; @@ -467,7 +467,7 @@ struct ivec2 clip_to_hide(Client *c, struct wlr_box *clip_box) { 需要主要border超出屏幕的时候不计算如偏差之内而是 要等窗口表面超出才开始计算偏差 */ - if (ISTILED(c) || c->animation.tagining || c->animation.tagouted || + if (ISSCROLLTILED(c) || c->animation.tagining || c->animation.tagouted || c->animation.tagouting) { if (left_out_offset > 0) { offsetx = GEZERO(left_out_offset - bw); @@ -495,7 +495,7 @@ struct ivec2 clip_to_hide(Client *c, struct wlr_box *clip_box) { offset.height = offseth; if ((clip_box->width + bw <= 0 || clip_box->height + bw <= 0) && - (ISTILED(c) || c->animation.tagouting || c->animation.tagining)) { + (ISSCROLLTILED(c) || c->animation.tagouting || c->animation.tagining)) { c->is_clip_to_hide = true; wlr_scene_node_set_enabled(&c->scene->node, false); } else if (c->is_clip_to_hide && VISIBLEON(c, c->mon)) { From 58d5938e147bb2b1173ffd69ef00dc18d0e87c54 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Tue, 18 Nov 2025 19:21:19 +0800 Subject: [PATCH 71/89] opt: support hot reload cursor config --- src/config/parse_config.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index 074660b..d7b3223 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -3110,6 +3110,12 @@ void reapply_monitor_rules(void) { } } +void reapply_cursor_style(void) { + if (cursor_mgr) + wlr_xcursor_manager_destroy(cursor_mgr); + cursor_mgr = wlr_xcursor_manager_create(config.cursor_theme, cursor_size); +} + void reapply_border(void) { Client *c = NULL; @@ -3211,6 +3217,7 @@ void reset_option(void) { set_env(); run_exec(); + reapply_cursor_style(); reapply_border(); reapply_keyboard(); reapply_pointer(); From 8e4d3b7aac483c31514fe93c9898037889620475 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 19 Nov 2025 12:45:04 +0800 Subject: [PATCH 72/89] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 967e66a..b321be5 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ cd wlroots meson build -Dprefix=/usr sudo ninja -C build install -git clone https://github.com/wlrfx/scenefx.git +git clone -b 0.4.1 https://github.com/wlrfx/scenefx.git cd scenefx meson build -Dprefix=/usr sudo ninja -C build install From e22cf99e742bfc93f73c862b351ee2557f20b1ab Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 20 Nov 2025 10:34:32 +0800 Subject: [PATCH 73/89] feat: support relative path for source keyword --- src/config/parse_config.h | 48 +++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index d7b3223..a58a106 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -2274,35 +2274,53 @@ void parse_config_line(Config *config, const char *line) { void parse_config_file(Config *config, const char *file_path) { FILE *file; - // 检查路径是否以 ~/ 开头 - if (file_path[0] == '~' && (file_path[1] == '/' || file_path[1] == '\0')) { + char full_path[1024]; + + if (file_path[0] == '.' && file_path[1] == '/') { + // Relative path + + const char *mangoconfig = getenv("MANGOCONFIG"); + if (mangoconfig && mangoconfig[0] != '\0') { + snprintf(full_path, sizeof(full_path), "%s/%s", mangoconfig, + file_path + 1); + } else { + const char *home = getenv("HOME"); + if (!home) { + fprintf(stderr, "Error: HOME environment variable not set.\n"); + return; + } + snprintf(full_path, sizeof(full_path), "%s/.config/mango/%s", home, + file_path + 1); + } + file = fopen(full_path, "r"); + + } else if (file_path[0] == '~' && + (file_path[1] == '/' || file_path[1] == '\0')) { + // Home directory + const char *home = getenv("HOME"); if (!home) { fprintf(stderr, "Error: HOME environment variable not set.\n"); return; } - - // 构建完整路径(家目录 + / + 原路径去掉 ~) - char full_path[1024]; snprintf(full_path, sizeof(full_path), "%s%s", home, file_path + 1); - file = fopen(full_path, "r"); - if (!file) { - perror("Error opening file"); - return; - } + } else { + // Absolute path file = fopen(file_path, "r"); - if (!file) { - perror("Error opening file"); - return; - } + } + + if (!file) { + perror("Error opening file"); + return; } char line[512]; while (fgets(line, sizeof(line), file)) { - if (line[0] == '#' || line[0] == '\n') + if (line[0] == '#' || line[0] == '\n') { continue; + } parse_config_line(config, line); } From e7cb4f77f37c3ebb15bcd803adcadd9d64f92039 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 20 Nov 2025 21:21:29 +0800 Subject: [PATCH 74/89] fix: wrong scroll judge when disable animaitons --- src/layout/horizontal.h | 2 +- src/layout/vertical.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index ff517cc..99bb092 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -301,7 +301,7 @@ void scroller(Monitor *m) { for (i = 0; i < n; i++) { c = tempClients[i]; if (root_client == c) { - if (!c->is_pending_open_animation && + if ((!c->is_pending_open_animation || !animations) && c->geom.x >= m->w.x + scroller_structs && c->geom.x + c->geom.width <= m->w.x + m->w.width - scroller_structs) { diff --git a/src/layout/vertical.h b/src/layout/vertical.h index cef0e3b..5cc8ceb 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -263,7 +263,7 @@ void vertical_scroller(Monitor *m) { for (i = 0; i < n; i++) { c = tempClients[i]; if (root_client == c) { - if (!c->is_pending_open_animation && + if ((!c->is_pending_open_animation || !animations) && c->geom.y >= m->w.y + scroller_structs && c->geom.y + c->geom.height <= m->w.y + m->w.height - scroller_structs) { From a0824c05df5482fde37898b9a5d81f779167b60e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 20 Nov 2025 22:47:12 +0800 Subject: [PATCH 75/89] opt: optimize scroll judge when open new client --- src/layout/horizontal.h | 3 +-- src/layout/vertical.h | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 99bb092..2385c84 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -301,8 +301,7 @@ void scroller(Monitor *m) { for (i = 0; i < n; i++) { c = tempClients[i]; if (root_client == c) { - if ((!c->is_pending_open_animation || !animations) && - c->geom.x >= m->w.x + scroller_structs && + if (c->geom.x >= m->w.x + scroller_structs && c->geom.x + c->geom.width <= m->w.x + m->w.width - scroller_structs) { need_scroller = false; diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 5cc8ceb..7eb9529 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -263,8 +263,7 @@ void vertical_scroller(Monitor *m) { for (i = 0; i < n; i++) { c = tempClients[i]; if (root_client == c) { - if ((!c->is_pending_open_animation || !animations) && - c->geom.y >= m->w.y + scroller_structs && + if (c->geom.y >= m->w.y + scroller_structs && c->geom.y + c->geom.height <= m->w.y + m->w.height - scroller_structs) { need_scroller = false; From 03ee277ef604639e623a2c7a5cbafa7ecf3c76d4 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 21 Nov 2025 14:50:27 +0800 Subject: [PATCH 76/89] opt: allow init focus to on-demand-focus layer --- src/mango.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mango.c b/src/mango.c index 540a025..8a27b75 100644 --- a/src/mango.c +++ b/src/mango.c @@ -2210,6 +2210,15 @@ void maplayersurfacenotify(struct wl_listener *listener, void *data) { } // 刷新布局,让窗口能感应到exclude_zone变化以及设置独占表面 arrangelayers(l->mon); + + // 按需交互layer需要像正常窗口一样抢占非独占layer的焦点 + if (!exclusive_focus && + l->layer_surface->current.keyboard_interactive == + ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND) { + focusclient(NULL, 0); + client_notify_enter(l->layer_surface->surface, + wlr_seat_get_keyboard(seat)); + } } void commitlayersurfacenotify(struct wl_listener *listener, void *data) { From c004f7460c48a5c317df1ec2b4cb4ed6c3ca57a6 Mon Sep 17 00:00:00 2001 From: David Delarosa Date: Thu, 20 Nov 2025 14:40:34 +0200 Subject: [PATCH 77/89] nix: add portals.conf file --- nix/nixos-modules.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/nix/nixos-modules.nix b/nix/nixos-modules.nix index 5d0aa61..3381102 100644 --- a/nix/nixos-modules.nix +++ b/nix/nixos-modules.nix @@ -26,6 +26,25 @@ in { xdg.portal = { enable = lib.mkDefault true; + config = { + mango = { + default = [ + "gtk" + ]; + # except those + "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; + "org.freedesktop.impl.portal.ScreenCast" = ["wlr"]; + "org.freedesktop.impl.portal.ScreenShot" = ["wlr"]; + + # wlr does not have this interface + "org.freedesktop.impl.portal.Inhibit" = []; + }; + }; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ]; + wlr.enable = lib.mkDefault true; configPackages = [cfg.package]; From e2ee985b8fa72aa4755718187de4e520cdbf63e4 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 26 Nov 2025 10:09:06 +0800 Subject: [PATCH 78/89] bump version to 0.10.6 --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 041a1fd..b02e0fd 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('mango', ['c', 'cpp'], - version : '0.10.5', + version : '0.10.6', ) subdir('protocols') From 2f9cabe4b23cb91ebda707b27df12fe30ddeb86e Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 27 Nov 2025 22:40:41 +0800 Subject: [PATCH 79/89] fix: sloppyfocus not work when move cursor slowly --- src/fetch/common.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fetch/common.h b/src/fetch/common.h index 33d7272..41dc994 100644 --- a/src/fetch/common.h +++ b/src/fetch/common.h @@ -115,6 +115,10 @@ void xytonode(double x, double y, struct wlr_surface **psurface, Client **pc, surface = wlr_scene_surface_try_from_buffer( wlr_scene_buffer_from_node(node)) ->surface; + else if (node->type == WLR_SCENE_NODE_RECT) { + surface = NULL; + break; + } /* start from the topmost layer, find a sureface that can be focused by pointer, From 28ab0e6343a701d552a755ff41ff128a42ede8a8 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 28 Nov 2025 11:34:48 +0800 Subject: [PATCH 80/89] opt: re-judge the focus strategy of the layer when re-arrangelayer --- src/mango.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/mango.c b/src/mango.c index 8a27b75..02b6ffc 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1563,6 +1563,7 @@ void reset_exclusive_layer(Monitor *m) { unsigned int layers_above_shell[] = { ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY, ZWLR_LAYER_SHELL_V1_LAYER_TOP, + ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM, }; if (!m) @@ -1570,6 +1571,16 @@ void reset_exclusive_layer(Monitor *m) { for (i = 0; i < (int)LENGTH(layers_above_shell); i++) { wl_list_for_each_reverse(l, &m->layers[layers_above_shell[i]], link) { + if (l == exclusive_focus && + l->layer_surface->current.keyboard_interactive != + ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE) + exclusive_focus = NULL; + if (l->layer_surface->current.keyboard_interactive == + ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_NONE && + l->layer_surface->surface == + seat->keyboard_state.focused_surface) + focusclient(focustop(selmon), 1); + if (locked || l->layer_surface->current.keyboard_interactive != ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE || From b768f72eaa82eec6ea75811e2a45253671eda472 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 28 Nov 2025 12:42:18 +0800 Subject: [PATCH 81/89] opt: allow ime in on-demand layer --- src/mango.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mango.c b/src/mango.c index 02b6ffc..ee3b428 100644 --- a/src/mango.c +++ b/src/mango.c @@ -2227,6 +2227,8 @@ void maplayersurfacenotify(struct wl_listener *listener, void *data) { l->layer_surface->current.keyboard_interactive == ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND) { focusclient(NULL, 0); + dwl_im_relay_set_focus(dwl_input_method_relay, + l->layer_surface->surface); client_notify_enter(l->layer_surface->surface, wlr_seat_get_keyboard(seat)); } From 16368a8781b278fd76eb3757dc9692967e9db19f Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 28 Nov 2025 12:49:06 +0800 Subject: [PATCH 82/89] opt: optimize code struct --- src/mango.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/mango.c b/src/mango.c index ee3b428..016f06c 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1557,6 +1557,12 @@ void apply_window_snap(Client *c) { resize(c, c->geom, 0); } +void focuslayer(LayerSurface *l) { + focusclient(NULL, 0); + dwl_im_relay_set_focus(dwl_input_method_relay, l->layer_surface->surface); + client_notify_enter(l->layer_surface->surface, wlr_seat_get_keyboard(seat)); +} + void reset_exclusive_layer(Monitor *m) { LayerSurface *l = NULL; int i; @@ -1587,12 +1593,8 @@ void reset_exclusive_layer(Monitor *m) { !l->mapped || l == exclusive_focus) continue; /* Deactivate the focused client. */ - focusclient(NULL, 0); exclusive_focus = l; - dwl_im_relay_set_focus(dwl_input_method_relay, - l->layer_surface->surface); - client_notify_enter(l->layer_surface->surface, - wlr_seat_get_keyboard(seat)); + focuslayer(l); return; } } @@ -1893,11 +1895,7 @@ buttonpress(struct wl_listener *listener, void *data) { if (l && !exclusive_focus && l->layer_surface->current.keyboard_interactive == ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND) { - focusclient(NULL, 0); - dwl_im_relay_set_focus(dwl_input_method_relay, - l->layer_surface->surface); - client_notify_enter(l->layer_surface->surface, - wlr_seat_get_keyboard(seat)); + focuslayer(l); } } @@ -2226,11 +2224,7 @@ void maplayersurfacenotify(struct wl_listener *listener, void *data) { if (!exclusive_focus && l->layer_surface->current.keyboard_interactive == ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND) { - focusclient(NULL, 0); - dwl_im_relay_set_focus(dwl_input_method_relay, - l->layer_surface->surface); - client_notify_enter(l->layer_surface->surface, - wlr_seat_get_keyboard(seat)); + focuslayer(l); } } From 006cf46c52467ba44b7a0e23cc4a981c0f34e9dc Mon Sep 17 00:00:00 2001 From: Rexiel Scarlet <37258415+Rexcrazy804@users.noreply.github.com> Date: Sun, 23 Nov 2025 20:20:47 +0400 Subject: [PATCH 83/89] feat: support transparent wlr session lock --- src/config/parse_config.h | 5 +++++ src/config/preset.h | 1 + src/mango.c | 8 ++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index a58a106..b750c7c 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -339,6 +339,7 @@ typedef struct { int adaptive_sync; int allow_tearing; int allow_shortcuts_inhibit; + int transparent_wlr_lock; struct xkb_rule_names xkb_rules; @@ -1221,6 +1222,8 @@ void parse_option(Config *config, char *key, char *value) { config->allow_tearing = atoi(value); } else if (strcmp(key, "allow_shortcuts_inhibit") == 0) { config->allow_shortcuts_inhibit = atoi(value); + } else if (strcmp(key, "transparent_wlr_lock") == 0) { + config->transparent_wlr_lock = atoi(value); } else if (strcmp(key, "no_border_when_single") == 0) { config->no_border_when_single = atoi(value); } else if (strcmp(key, "no_radius_when_single") == 0) { @@ -2671,6 +2674,7 @@ void override_config(void) { adaptive_sync = CLAMP_INT(config.adaptive_sync, 0, 1); allow_tearing = CLAMP_INT(config.allow_tearing, 0, 2); allow_shortcuts_inhibit = CLAMP_INT(config.allow_shortcuts_inhibit, 0, 1); + transparent_wlr_lock = CLAMP_INT(config.transparent_wlr_lock, 0, 1); axis_bind_apply_timeout = CLAMP_INT(config.axis_bind_apply_timeout, 0, 1000); focus_on_activate = CLAMP_INT(config.focus_on_activate, 0, 1); @@ -2849,6 +2853,7 @@ void set_value_default() { config.adaptive_sync = adaptive_sync; config.allow_tearing = allow_tearing; config.allow_shortcuts_inhibit = allow_shortcuts_inhibit; + config.transparent_wlr_lock = transparent_wlr_lock; config.no_border_when_single = no_border_when_single; config.no_radius_when_single = no_radius_when_single; config.snap_distance = snap_distance; diff --git a/src/config/preset.h b/src/config/preset.h index eaa7be2..da8100a 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -103,6 +103,7 @@ int warpcursor = 1; /* Warp cursor to focused client */ int xwayland_persistence = 1; /* xwayland persistence */ int syncobj_enable = 0; int adaptive_sync = 0; +int transparent_wlr_lock = 0; double drag_refresh_interval = 30.0; int allow_tearing = TEARING_DISABLED; int allow_shortcuts_inhibit = SHORTCUTS_INHIBIT_ENABLE; diff --git a/src/mango.c b/src/mango.c index 8a27b75..287e4a6 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3029,7 +3029,9 @@ void destroylock(SessionLock *lock, int unlock) { if ((locked = !unlock)) goto destroy; - wlr_scene_node_set_enabled(&locked_bg->node, false); + if (locked_bg->node.enabled) { + wlr_scene_node_set_enabled(&locked_bg->node, false); + } focusclient(focustop(selmon), 0); motionnotify(0, NULL, 0, 0, 0, 0); @@ -3567,7 +3569,9 @@ void pending_kill_client(Client *c) { void locksession(struct wl_listener *listener, void *data) { struct wlr_session_lock_v1 *session_lock = data; SessionLock *lock; - wlr_scene_node_set_enabled(&locked_bg->node, true); + if (!transparent_wlr_lock) { + wlr_scene_node_set_enabled(&locked_bg->node, true); + } if (cur_lock) { wlr_session_lock_v1_destroy(session_lock); return; From 7c7a9437e67b120df24fd4aa0d6ab5a963bc934d Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 29 Nov 2025 16:31:09 +0800 Subject: [PATCH 84/89] opt: optimize option name transparent_wlr_lock to allow_lock_transparent --- src/config/parse_config.h | 10 +++++----- src/config/preset.h | 2 +- src/mango.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/config/parse_config.h b/src/config/parse_config.h index b750c7c..7196270 100644 --- a/src/config/parse_config.h +++ b/src/config/parse_config.h @@ -339,7 +339,7 @@ typedef struct { int adaptive_sync; int allow_tearing; int allow_shortcuts_inhibit; - int transparent_wlr_lock; + int allow_lock_transparent; struct xkb_rule_names xkb_rules; @@ -1222,8 +1222,8 @@ void parse_option(Config *config, char *key, char *value) { config->allow_tearing = atoi(value); } else if (strcmp(key, "allow_shortcuts_inhibit") == 0) { config->allow_shortcuts_inhibit = atoi(value); - } else if (strcmp(key, "transparent_wlr_lock") == 0) { - config->transparent_wlr_lock = atoi(value); + } else if (strcmp(key, "allow_lock_transparent") == 0) { + config->allow_lock_transparent = atoi(value); } else if (strcmp(key, "no_border_when_single") == 0) { config->no_border_when_single = atoi(value); } else if (strcmp(key, "no_radius_when_single") == 0) { @@ -2674,7 +2674,7 @@ void override_config(void) { adaptive_sync = CLAMP_INT(config.adaptive_sync, 0, 1); allow_tearing = CLAMP_INT(config.allow_tearing, 0, 2); allow_shortcuts_inhibit = CLAMP_INT(config.allow_shortcuts_inhibit, 0, 1); - transparent_wlr_lock = CLAMP_INT(config.transparent_wlr_lock, 0, 1); + allow_lock_transparent = CLAMP_INT(config.allow_lock_transparent, 0, 1); axis_bind_apply_timeout = CLAMP_INT(config.axis_bind_apply_timeout, 0, 1000); focus_on_activate = CLAMP_INT(config.focus_on_activate, 0, 1); @@ -2853,7 +2853,7 @@ void set_value_default() { config.adaptive_sync = adaptive_sync; config.allow_tearing = allow_tearing; config.allow_shortcuts_inhibit = allow_shortcuts_inhibit; - config.transparent_wlr_lock = transparent_wlr_lock; + config.allow_lock_transparent = allow_lock_transparent; config.no_border_when_single = no_border_when_single; config.no_radius_when_single = no_radius_when_single; config.snap_distance = snap_distance; diff --git a/src/config/preset.h b/src/config/preset.h index da8100a..4032a75 100644 --- a/src/config/preset.h +++ b/src/config/preset.h @@ -103,7 +103,7 @@ int warpcursor = 1; /* Warp cursor to focused client */ int xwayland_persistence = 1; /* xwayland persistence */ int syncobj_enable = 0; int adaptive_sync = 0; -int transparent_wlr_lock = 0; +int allow_lock_transparent = 0; double drag_refresh_interval = 30.0; int allow_tearing = TEARING_DISABLED; int allow_shortcuts_inhibit = SHORTCUTS_INHIBIT_ENABLE; diff --git a/src/mango.c b/src/mango.c index ca8d8c9..ff9ed6e 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3576,7 +3576,7 @@ void pending_kill_client(Client *c) { void locksession(struct wl_listener *listener, void *data) { struct wlr_session_lock_v1 *session_lock = data; SessionLock *lock; - if (!transparent_wlr_lock) { + if (!allow_lock_transparent) { wlr_scene_node_set_enabled(&locked_bg->node, true); } if (cur_lock) { From b3ccf43453491196be8a94c672394dcc527803a0 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 29 Nov 2025 17:30:01 +0800 Subject: [PATCH 85/89] opt: not swallow the isminied window --- src/mango.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mango.c b/src/mango.c index ff9ed6e..b80d3d8 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1376,7 +1376,7 @@ void applyrules(Client *c) { if (!c->noswallow && !c->isfloating && !client_is_float_type(c) && !c->surface.xdg->initial_commit) { Client *p = termforwin(c); - if (p) { + if (p && !p->isminied) { c->swallowedby = p; p->swallowing = c; wl_list_remove(&c->link); From 09c19205150f067fd524feafebbaa8744a3e0885 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 29 Nov 2025 17:33:57 +0800 Subject: [PATCH 86/89] opt: correct var isminized to isminimized --- src/dispatch/bind_define.h | 12 +++++----- src/ext-protocol/foreign-toplevel.h | 4 ++-- src/mango.c | 34 ++++++++++++++--------------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index d79a7c6..a141830 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -133,7 +133,7 @@ int focuslast(const Arg *arg) { unsigned int target = 0; wl_list_for_each(c, &fstack, flink) { - if (c->iskilling || c->isminied || c->isunglobal || + if (c->iskilling || c->isminimized || c->isunglobal || !client_surface(c)->mapped || client_is_unmanaged(c) || client_is_x11_popup(c)) continue; @@ -471,7 +471,7 @@ int restore_minimized(const Arg *arg) { if (selmon && selmon->sel && selmon->sel->is_in_scratchpad && selmon->sel->is_scratchpad_show) { - selmon->sel->isminied = 0; + selmon->sel->isminimized = 0; selmon->sel->is_scratchpad_show = 0; selmon->sel->is_in_scratchpad = 0; selmon->sel->isnamedscratchpad = 0; @@ -480,7 +480,7 @@ int restore_minimized(const Arg *arg) { } wl_list_for_each(c, &clients, link) { - if (c->isminied && !c->isnamedscratchpad) { + if (c->isminimized && !c->isnamedscratchpad) { c->is_scratchpad_show = 0; c->is_in_scratchpad = 0; c->isnamedscratchpad = 0; @@ -1122,7 +1122,7 @@ int toggle_scratchpad(const Arg *arg) { continue; } - if (single_scratchpad && c->isnamedscratchpad && !c->isminied) { + if (single_scratchpad && c->isnamedscratchpad && !c->isminimized) { set_minimized(c); continue; } @@ -1447,7 +1447,7 @@ int minimized(const Arg *arg) { if (selmon && selmon->isoverview) return 0; - if (selmon->sel && !selmon->sel->isminied) { + if (selmon->sel && !selmon->sel->isminimized) { set_minimized(selmon->sel); } return 0; @@ -1469,7 +1469,7 @@ int toggleoverview(const Arg *arg) { wl_list_for_each(c, &clients, link) if (c && c->mon == selmon && !client_is_unmanaged(c) && !client_is_x11_popup(c) && - !c->isminied && + !c->isminimized && !c->isunglobal) { visible_client_number++; } diff --git a/src/ext-protocol/foreign-toplevel.h b/src/ext-protocol/foreign-toplevel.h index adfcd21..0bb649e 100644 --- a/src/ext-protocol/foreign-toplevel.h +++ b/src/ext-protocol/foreign-toplevel.h @@ -9,12 +9,12 @@ void handle_foreign_activate_request(struct wl_listener *listener, void *data) { if (c && c->swallowing) return; - if (c && !c->isminied && c == selmon->sel) { + if (c && !c->isminimized && c == selmon->sel) { set_minimized(c); return; } - if (c->isminied) { + if (c->isminimized) { c->is_in_scratchpad = 0; c->isnamedscratchpad = 0; c->is_scratchpad_show = 0; diff --git a/src/mango.c b/src/mango.c index b80d3d8..5c804a0 100644 --- a/src/mango.c +++ b/src/mango.c @@ -102,10 +102,10 @@ A->geom.x + A->geom.width <= A->mon->m.x + A->mon->m.width && \ A->geom.y + A->geom.height <= A->mon->m.y + A->mon->m.height) #define ISTILED(A) \ - (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ + (A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \ !(A)->ismaximizescreen && !(A)->isfullscreen && !(A)->isunglobal) #define ISSCROLLTILED(A) \ - (A && !(A)->isfloating && !(A)->isminied && !(A)->iskilling && \ + (A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \ !(A)->isunglobal) #define VISIBLEON(C, M) \ ((C) && (M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) @@ -315,7 +315,7 @@ struct Client { unsigned int configure_serial; struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel; int isfloating, isurgent, isfullscreen, isfakefullscreen, - need_float_size_reduce, isminied, isoverlay, isnosizehint, + need_float_size_reduce, isminimized, isoverlay, isnosizehint, ignore_maximize, ignore_minimize; int ismaximizescreen; int overview_backup_bw; @@ -1009,7 +1009,7 @@ void swallow(Client *c, Client *w) { c->isurgent = w->isurgent; c->isfullscreen = w->isfullscreen; c->ismaximizescreen = w->ismaximizescreen; - c->isminied = w->isminied; + c->isminimized = w->isminimized; c->is_in_scratchpad = w->is_in_scratchpad; c->is_scratchpad_show = w->is_scratchpad_show; c->tags = w->tags; @@ -1029,7 +1029,7 @@ void swallow(Client *c, Client *w) { if (!c->foreign_toplevel && c->mon) add_foreign_toplevel(c); - if (c->isminied && c->foreign_toplevel) { + if (c->isminimized && c->foreign_toplevel) { wlr_foreign_toplevel_handle_v1_set_activated(c->foreign_toplevel, false); wlr_foreign_toplevel_handle_v1_set_minimized(c->foreign_toplevel, true); @@ -1376,7 +1376,7 @@ void applyrules(Client *c) { if (!c->noswallow && !c->isfloating && !client_is_float_type(c) && !c->surface.xdg->initial_commit) { Client *p = termforwin(c); - if (p && !p->isminied) { + if (p && !p->isminimized) { c->swallowedby = p; p->swallowing = c; wl_list_remove(&c->link); @@ -3633,7 +3633,7 @@ void init_client_properties(Client *c) { c->iskilling = 0; c->istagswitching = 0; c->isglobal = 0; - c->isminied = 0; + c->isminimized = 0; c->isoverlay = 0; c->isunglobal = 0; c->is_in_scratchpad = 0; @@ -3803,7 +3803,7 @@ void maximizenotify(struct wl_listener *listener, void *data) { void unminimize(Client *c) { if (c && c->is_in_scratchpad && c->is_scratchpad_show) { - c->isminied = 0; + c->isminimized = 0; c->is_scratchpad_show = 0; c->is_in_scratchpad = 0; c->isnamedscratchpad = 0; @@ -3811,7 +3811,7 @@ void unminimize(Client *c) { return; } - if (c && c->isminied) { + if (c && c->isminimized) { show_hide_client(c); c->is_scratchpad_show = 0; c->is_in_scratchpad = 0; @@ -3831,7 +3831,7 @@ void set_minimized(Client *c) { c->oldtags = c->mon->tagset[c->mon->seltags]; c->mini_restore_tag = c->tags; c->tags = 0; - c->isminied = 1; + c->isminimized = 1; c->is_in_scratchpad = 1; c->is_scratchpad_show = 0; focusclient(focustop(selmon), 1); @@ -3846,15 +3846,15 @@ void minimizenotify(struct wl_listener *listener, void *data) { Client *c = wl_container_of(listener, c, minimize); - if (!c || !c->mon || c->iskilling || c->isminied) + if (!c || !c->mon || c->iskilling || c->isminimized) return; if (client_request_minimize(c, data) && !c->ignore_minimize) { - if (!c->isminied) + if (!c->isminimized) set_minimized(c); client_set_minimized(c, true); } else { - if (c->isminied) + if (c->isminimized) unminimize(c); client_set_minimized(c, false); } @@ -4845,7 +4845,7 @@ void show_hide_client(Client *c) { c->tags = c->oldtags; arrange(c->mon, false); } - c->isminied = 0; + c->isminimized = 0; wlr_foreign_toplevel_handle_v1_set_minimized(c->foreign_toplevel, false); focusclient(c, 1); wlr_foreign_toplevel_handle_v1_set_activated(c->foreign_toplevel, true); @@ -5334,7 +5334,7 @@ void unmapnotify(struct wl_listener *listener, void *data) { Monitor *m = NULL; c->iskilling = 1; - if (animations && !c->is_clip_to_hide && !c->isminied && + if (animations && !c->is_clip_to_hide && !c->isminimized && (!c->mon || VISIBLEON(c, c->mon))) init_fadeout_client(c); @@ -5745,8 +5745,8 @@ void activatex11(struct wl_listener *listener, void *data) { if (c && c->swallowing) return; - if (c->isminied) { - c->isminied = 0; + if (c->isminimized) { + c->isminimized = 0; c->tags = c->mini_restore_tag; c->is_scratchpad_show = 0; c->is_in_scratchpad = 0; From 113e73fe4acc721c95f7f2a8dc68d75262ec258b Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sat, 29 Nov 2025 22:46:47 +0800 Subject: [PATCH 87/89] opt: avoid toggle overview when setfullscreen and setmaximziescreen --- src/mango.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/mango.c b/src/mango.c index 5c804a0..70b2218 100644 --- a/src/mango.c +++ b/src/mango.c @@ -102,10 +102,10 @@ A->geom.x + A->geom.width <= A->mon->m.x + A->mon->m.width && \ A->geom.y + A->geom.height <= A->mon->m.y + A->mon->m.height) #define ISTILED(A) \ - (A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \ + (A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \ !(A)->ismaximizescreen && !(A)->isfullscreen && !(A)->isunglobal) #define ISSCROLLTILED(A) \ - (A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \ + (A && !(A)->isfloating && !(A)->isminimized && !(A)->iskilling && \ !(A)->isunglobal) #define VISIBLEON(C, M) \ ((C) && (M) && (C)->mon == (M) && ((C)->tags & (M)->tagset[(M)->seltags])) @@ -4559,6 +4559,9 @@ void setmaximizescreen(Client *c, int maximizescreen) { if (!c || !c->mon || !client_surface(c)->mapped || c->iskilling) return; + if (c->mon->isoverview) + return; + c->ismaximizescreen = maximizescreen; if (maximizescreen) { @@ -4568,10 +4571,6 @@ void setmaximizescreen(Client *c, int maximizescreen) { if (c->isfloating) c->float_geom = c->geom; - if (selmon->isoverview) { - Arg arg = {0}; - toggleoverview(&arg); - } maximizescreen_box.x = c->mon->w.x + gappoh; maximizescreen_box.y = c->mon->w.y + gappov; @@ -4615,11 +4614,15 @@ void setfakefullscreen(Client *c, int fakefullscreen) { void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带全屏 { - c->isfullscreen = fullscreen; if (!c || !c->mon || !client_surface(c)->mapped || c->iskilling) return; + if (c->mon->isoverview) + return; + + c->isfullscreen = fullscreen; + client_set_fullscreen(c, fullscreen); if (fullscreen) { @@ -4628,10 +4631,6 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带 if (c->isfloating) c->float_geom = c->geom; - if (selmon->isoverview) { - Arg arg = {0}; - toggleoverview(&arg); - } c->bw = 0; wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 From 992822e309a814c003d3dc62bf1b56da2ee8765c Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 30 Nov 2025 10:52:02 +0800 Subject: [PATCH 88/89] opt: not handle virtual group keyborad ov_tab_mode detect --- src/mango.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mango.c b/src/mango.c index 70b2218..c80eed1 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3493,7 +3493,7 @@ void keypress(struct wl_listener *listener, void *data) { wlr_idle_notifier_v1_notify_activity(idle_notifier, seat); // ov tab mode detect moe key release - if (ov_tab_mode && !locked && + if (ov_tab_mode && !locked && group == kb_group && event->state == WL_KEYBOARD_KEY_STATE_RELEASED && (keycode == 133 || keycode == 37 || keycode == 64 || keycode == 50 || keycode == 134 || keycode == 105 || keycode == 108 || keycode == 62) && From 1b7e998b678ef040adb384a308772da5d3dee3f7 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 30 Nov 2025 11:57:34 +0800 Subject: [PATCH 89/89] opt: optimize scroller layout center client judge --- src/fetch/client.h | 5 +++-- src/layout/horizontal.h | 2 +- src/layout/vertical.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/fetch/client.h b/src/fetch/client.h index c2b0abd..a9cfed0 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -128,8 +128,9 @@ Client *center_tiled_select(Monitor *m) { int dirx, diry; long int distance; wl_list_for_each(c, &clients, link) { - if (c && VISIBLEON(c, m) && ISTILED(c) && client_surface(c)->mapped && - !c->isfloating && !client_is_unmanaged(c)) { + if (c && VISIBLEON(c, m) && ISSCROLLTILED(c) && + client_surface(c)->mapped && !c->isfloating && + !client_is_unmanaged(c)) { dirx = c->geom.x + c->geom.width / 2 - (m->w.x + m->w.width / 2); diry = c->geom.y + c->geom.height / 2 - (m->w.y + m->w.height / 2); distance = dirx * dirx + diry * diry; diff --git a/src/layout/horizontal.h b/src/layout/horizontal.h index 2385c84..3471fdf 100644 --- a/src/layout/horizontal.h +++ b/src/layout/horizontal.h @@ -284,7 +284,7 @@ void scroller(Monitor *m) { return; } - if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating) { + if (m->sel && !client_is_unmanaged(m->sel) && ISSCROLLTILED(m->sel)) { root_client = m->sel; } else if (m->prevsel && ISSCROLLTILED(m->prevsel) && VISIBLEON(m->prevsel, m) && !client_is_unmanaged(m->prevsel)) { diff --git a/src/layout/vertical.h b/src/layout/vertical.h index 7eb9529..f6aa6b8 100644 --- a/src/layout/vertical.h +++ b/src/layout/vertical.h @@ -246,7 +246,7 @@ void vertical_scroller(Monitor *m) { return; } - if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating) { + if (m->sel && !client_is_unmanaged(m->sel) && ISSCROLLTILED(m->sel)) { root_client = m->sel; } else if (m->prevsel && ISSCROLLTILED(m->prevsel) && VISIBLEON(m->prevsel, m) && !client_is_unmanaged(m->prevsel)) {