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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 literal 8232 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 diff --git a/assets/mango-transparency-256.png b/assets/mango-transparency-256.png index 3bb4d6534a5816d6ac89088aae071781355d0a81..974ab3f67034fe865001d912596e58bf882177be 100644 GIT binary patch literal 41428 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 JtaD0e0sxLs%u4_O literal 23799 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 OYqX+?9;wI7!(wQe+PXzUO=G@~Ocbk%~W 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 Pz`)??>gTe~DWM4fO;q3` 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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 ksEdt(fq@OwymdKI;Vst00|fy6aWAK literal 82369 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

3zLYQX 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 N!PC{xWt~$(69A2HpQ-== diff --git a/assets/mango.png b/assets/mango.png index eb14740468318eec2da5cfd38d305866522a546e..5a8136f762c59b8edf6739cbd176d758c0ac76ba 100644 GIT binary patch literal 39932 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�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­%aIDE$b>PUK4cYQo+j~4E5ix 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 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)) {