Merge branch 'DreamMaoMao:main' into main

This commit is contained in:
Ananya 2026-02-17 16:08:04 +01:00 committed by GitHub
commit 9d19f2bbcf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 47 additions and 17 deletions

View file

@ -99,6 +99,34 @@ Then, install the package:
dnf install mangowc dnf install mangowc
``` ```
## GuixSD
The package definition is described in the source repository.
First, add `mangowc` channel to `channels.scm` file:
```scheme
;; In $HOME/.config/guix/channels.scm
(cons (channel
(name 'mangowc)
(url "https://github.com/DreamMaoMao/mangowc.git"))
... ;; Your other channels
%default-channels)
```
Then, run `guix pull` and after update you can either run
`guix install mangowc` or add it to your configuration via:
```scheme
(use-modules (mangowc)) ;; Add mangowc module
;; Add mangowc to packages list
(packages (cons
mangowc
... ;; Other packages you specified
%base-packages))
```
And then rebuild your system.
## Other ## Other
```bash ```bash

View file

@ -56,7 +56,7 @@ endif
if is_git_repo if is_git_repo
# 如果是 Git 目录,获取 Commit Hash 和最新的 tag # 如果是 Git 目录,获取 Commit Hash 和最新的 tag
commit_hash = run_command(git, 'rev-parse', '--short', 'HEAD', check : false).stdout().strip() commit_hash = run_command(git, 'rev-parse', '--short', 'HEAD', check : false).stdout().strip()
latest_tag = run_command(git, 'describe', '--tags', '--abbrev=0', check : false).stdout().strip() latest_tag = meson.project_version()
version_with_hash = '@0@(@1@)'.format(latest_tag, commit_hash) version_with_hash = '@0@(@1@)'.format(latest_tag, commit_hash)
else else
# 如果不是 Git 目录,使用项目版本号和 "release" 字符串 # 如果不是 Git 目录,使用项目版本号和 "release" 字符串

View file

@ -325,14 +325,15 @@ static inline uint32_t client_set_size(Client *c, uint32_t width,
struct wlr_surface_state *state = struct wlr_surface_state *state =
&c->surface.xwayland->surface->current; &c->surface.xwayland->surface->current;
struct wlr_box new_geo = {0};
new_geo.width = state->width; if ((int32_t)c->geom.width - 2 * (int32_t)c->bw ==
new_geo.height = state->height; (int32_t)state->width &&
if (c->geom.width - 2 * c->bw == new_geo.width && (int32_t)c->geom.height - 2 * (int32_t)c->bw ==
c->geom.height - 2 * c->bw == new_geo.height && (int32_t)state->height &&
c->surface.xwayland->x == c->geom.x + c->bw && (int32_t)c->surface.xwayland->x ==
c->surface.xwayland->y == c->geom.y + c->bw) { (int32_t)c->geom.x + (int32_t)c->bw &&
c->configure_serial = 0; (int32_t)c->surface.xwayland->y ==
(int32_t)c->geom.y + (int32_t)c->bw) {
return 0; return 0;
} }

View file

@ -4506,7 +4506,7 @@ void rendermon(struct wl_listener *listener, void *data) {
need_more_frames = client_draw_frame(c) || need_more_frames; need_more_frames = client_draw_frame(c) || need_more_frames;
if (!animations && !(allow_tearing && frame_allow_tearing) && if (!animations && !(allow_tearing && frame_allow_tearing) &&
c->configure_serial && client_is_rendered_on_mon(c, m) && c->configure_serial && client_is_rendered_on_mon(c, m) &&
!client_is_stopped(c)) { !client_is_stopped(c) && !grabc) {
monitor_check_skip_frame_timeout(m); monitor_check_skip_frame_timeout(m);
goto skip; goto skip;
} }
@ -6285,13 +6285,14 @@ void createnotifyx11(struct wl_listener *listener, void *data) {
void commitx11(struct wl_listener *listener, void *data) { void commitx11(struct wl_listener *listener, void *data) {
Client *c = wl_container_of(listener, c, commmitx11); Client *c = wl_container_of(listener, c, commmitx11);
struct wlr_surface_state *state = &c->surface.xwayland->surface->current; struct wlr_surface_state *state = &c->surface.xwayland->surface->current;
struct wlr_box new_geo = {0};
new_geo.width = state->width; if ((int32_t)c->geom.width - 2 * (int32_t)c->bw == (int32_t)state->width &&
new_geo.height = state->height; (int32_t)c->geom.height - 2 * (int32_t)c->bw ==
if (c->geom.width - 2 * c->bw == new_geo.width && (int32_t)state->height &&
c->geom.height - 2 * c->bw == new_geo.height && (int32_t)c->surface.xwayland->x ==
c->surface.xwayland->x == c->geom.x + c->bw && (int32_t)c->geom.x + (int32_t)c->bw &&
c->surface.xwayland->y == c->geom.y + c->bw) { (int32_t)c->surface.xwayland->y ==
(int32_t)c->geom.y + (int32_t)c->bw) {
c->configure_serial = 0; c->configure_serial = 0;
} }
} }