diff options
author | q234rty | 2023-08-12 17:20:19 +0800 |
---|---|---|
committer | q234rty | 2023-08-12 17:20:19 +0800 |
commit | 018d4cc49c86ccf962f8878f64d412d8d1c90a63 (patch) | |
tree | b390aa63e608bfd769c7f776e7f01fad1a95a41a | |
parent | c3c1b94843f730c30bbe4ee2e8e0b786af229c6e (diff) | |
download | aur-018d4cc49c86ccf962f8878f64d412d8d1c90a63.tar.gz |
Add a wlroots patch, refactor pkgver
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | 0001-xwayland-support-HiDPI-scale.patch | 20 | ||||
-rw-r--r-- | 0002-Fix-configure_notify-event.patch | 10 | ||||
-rw-r--r-- | 0003-Fix-size-hints-under-Xwayland-scaling.patch | 54 | ||||
-rw-r--r-- | PKGBUILD | 20 |
5 files changed, 84 insertions, 28 deletions
@@ -1,6 +1,6 @@ pkgbase = hyprland-hidpi-xprop-git pkgdesc = A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks. - pkgver = r3185.8e04a80e + pkgver = 0.28.0.r34.3f7f4207 pkgrel = 1 url = https://github.com/hyprwm/Hyprland arch = i686 @@ -55,11 +55,13 @@ pkgbase = hyprland-hidpi-xprop-git source = git+https://github.com/canihavesomecoffee/udis86.git source = 0001-xwayland-support-HiDPI-scale.patch source = 0002-Fix-configure_notify-event.patch + source = 0003-Fix-size-hints-under-Xwayland-scaling.patch sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = e3e3dab89f6cadeb330e03921c0485b2802be6a1267747237e702cbe6d02d65f - sha256sums = 97105bee80596fd4aa21dde35d23847604a5b0e36c04b1679f7a2b9213774561 + sha256sums = 2fd861a76fb7a6b0bba12e7d307ad655e40ec93a84c88dfc00571aac6e119e85 + sha256sums = 1314d0ee63a4249698791d86cce5e6cdb4f005b81bbb1c6a747578d2a9223795 + sha256sums = c08dd62a1786eeb7506f1839bfcbba791502360392c929e620244f70c8ca5b61 pkgname = hyprland-hidpi-xprop-git diff --git a/0001-xwayland-support-HiDPI-scale.patch b/0001-xwayland-support-HiDPI-scale.patch index 645986314065..43d76b413793 100644 --- a/0001-xwayland-support-HiDPI-scale.patch +++ b/0001-xwayland-support-HiDPI-scale.patch @@ -1,7 +1,7 @@ -From 5d04dc68d7a952c2b98cab7af60bba93bee2dec7 Mon Sep 17 00:00:00 2001 +From 179258208d98fe3755b414749e9776e96d3b1dad Mon Sep 17 00:00:00 2001 From: lilydjwg <lilydjwg@gmail.com> Date: Wed, 17 Nov 2021 19:34:58 +0800 -Subject: [PATCH 1/2] xwayland: support HiDPI scale +Subject: [PATCH 1/3] xwayland: support HiDPI scale This supports the xorg-xwayland patch at https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/733 --- @@ -30,7 +30,7 @@ index 3d540522..33ff1478 100644 xcb_atom_t atoms[ATOM_LAST]; xcb_connection_t *xcb_conn; diff --git a/xwayland/xwm.c b/xwayland/xwm.c -index 5f857f24..4f03b07c 100644 +index 0c30d8f6..59e9ce06 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -19,6 +19,14 @@ @@ -56,7 +56,7 @@ index 5f857f24..4f03b07c 100644 }; #define STARTUP_INFO_REMOVE_PREFIX "remove: ID=" -@@ -965,8 +974,8 @@ static void xwm_handle_create_notify(struct wlr_xwm *xwm, +@@ -962,8 +971,8 @@ static void xwm_handle_create_notify(struct wlr_xwm *xwm, return; } @@ -67,7 +67,7 @@ index 5f857f24..4f03b07c 100644 } static void xwm_handle_destroy_notify(struct wlr_xwm *xwm, -@@ -997,10 +1006,10 @@ static void xwm_handle_configure_request(struct wlr_xwm *xwm, +@@ -994,10 +1003,10 @@ static void xwm_handle_configure_request(struct wlr_xwm *xwm, struct wlr_xwayland_surface_configure_event wlr_event = { .surface = surface, @@ -82,7 +82,7 @@ index 5f857f24..4f03b07c 100644 .mask = mask, }; -@@ -1015,14 +1024,14 @@ static void xwm_handle_configure_notify(struct wlr_xwm *xwm, +@@ -1012,14 +1021,14 @@ static void xwm_handle_configure_notify(struct wlr_xwm *xwm, } bool geometry_changed = @@ -103,7 +103,7 @@ index 5f857f24..4f03b07c 100644 } if (xsurface->override_redirect != ev->override_redirect) { -@@ -1132,7 +1141,22 @@ static void xwm_handle_unmap_notify(struct wlr_xwm *xwm, +@@ -1136,7 +1145,22 @@ static void xwm_handle_unmap_notify(struct wlr_xwm *xwm, static void xwm_handle_property_notify(struct wlr_xwm *xwm, xcb_property_notify_event_t *ev) { struct wlr_xwayland_surface *xsurface = lookup_surface(xwm, ev->window); @@ -126,7 +126,7 @@ index 5f857f24..4f03b07c 100644 return; } -@@ -1769,7 +1793,7 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface, +@@ -1770,7 +1794,7 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface, uint32_t mask = XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT | XCB_CONFIG_WINDOW_BORDER_WIDTH; @@ -135,7 +135,7 @@ index 5f857f24..4f03b07c 100644 xcb_configure_window(xwm->xcb_conn, xsurface->window_id, mask, values); // If the window size did not change, then we cannot rely on -@@ -2122,6 +2146,7 @@ struct wlr_xwm *xwm_create(struct wlr_xwayland *xwayland, int wm_fd) { +@@ -2123,6 +2147,7 @@ struct wlr_xwm *xwm_create(struct wlr_xwayland *xwayland, int wm_fd) { wl_list_init(&xwm->pending_startup_ids); xwm->ping_timeout = 10000; @@ -144,5 +144,5 @@ index 5f857f24..4f03b07c 100644 int rc = xcb_connection_has_error(xwm->xcb_conn); -- -2.39.2 +2.41.0 diff --git a/0002-Fix-configure_notify-event.patch b/0002-Fix-configure_notify-event.patch index 4ffc0bfacb09..6fdf60ff1704 100644 --- a/0002-Fix-configure_notify-event.patch +++ b/0002-Fix-configure_notify-event.patch @@ -1,17 +1,17 @@ -From 2fbf42a76ebf3959fb95a6c0ea66a6f04b032070 Mon Sep 17 00:00:00 2001 +From c9315b2f8c84d5f1b0b14f863af6f73bc3ac95c5 Mon Sep 17 00:00:00 2001 From: q234rty <q23456yuiop@gmail.com> Date: Tue, 21 Feb 2023 23:56:26 +0800 -Subject: [PATCH 2/2] Fix configure_notify event +Subject: [PATCH 2/3] Fix configure_notify event --- xwayland/xwm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xwayland/xwm.c b/xwayland/xwm.c -index 4f03b07c..f5ceedb1 100644 +index 59e9ce06..295f4d49 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c -@@ -1806,10 +1806,10 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface, +@@ -1807,10 +1807,10 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface, .response_type = XCB_CONFIGURE_NOTIFY, .event = xsurface->window_id, .window = xsurface->window_id, @@ -27,5 +27,5 @@ index 4f03b07c..f5ceedb1 100644 xcb_send_event(xwm->xcb_conn, 0, xsurface->window_id, -- -2.39.2 +2.41.0 diff --git a/0003-Fix-size-hints-under-Xwayland-scaling.patch b/0003-Fix-size-hints-under-Xwayland-scaling.patch new file mode 100644 index 000000000000..a63a619f1a6e --- /dev/null +++ b/0003-Fix-size-hints-under-Xwayland-scaling.patch @@ -0,0 +1,54 @@ +From 7220722f9173a90479d81f4b359cf91956f59f28 Mon Sep 17 00:00:00 2001 +From: Patrick Taibel <git@pmt97.com> +Date: Sat, 12 Aug 2023 16:05:28 +0800 +Subject: [PATCH 3/3] Fix size hints under Xwayland scaling + +--- + xwayland/xwm.c | 23 ++++++++++++++++++++--- + 1 file changed, 20 insertions(+), 3 deletions(-) + +diff --git a/xwayland/xwm.c b/xwayland/xwm.c +index 295f4d49..674a32e1 100644 +--- a/xwayland/xwm.c ++++ b/xwayland/xwm.c +@@ -729,17 +729,34 @@ static void read_surface_normal_hints(struct wlr_xwm *xwm, + xsurface->size_hints->base_width = -1; + xsurface->size_hints->base_height = -1; + } else if (!has_base_size_hints) { +- xsurface->size_hints->base_width = xsurface->size_hints->min_width; +- xsurface->size_hints->base_height = xsurface->size_hints->min_height; +- } else if (!has_min_size_hints) { ++ xsurface->size_hints->base_width = unscale(xwm, xsurface->size_hints->min_width); ++ xsurface->size_hints->base_height = unscale(xwm, xsurface->size_hints->min_height); + xsurface->size_hints->min_width = xsurface->size_hints->base_width; + xsurface->size_hints->min_height = xsurface->size_hints->base_height; ++ } else if (!has_min_size_hints) { ++ xsurface->size_hints->min_width = unscale(xwm, xsurface->size_hints->base_width); ++ xsurface->size_hints->min_height = unscale(xwm, xsurface->size_hints->base_height); ++ xsurface->size_hints->base_width = xsurface->size_hints->min_width; ++ xsurface->size_hints->base_height = xsurface->size_hints->min_height; ++ } else { ++ xsurface->size_hints->min_width = unscale(xwm, xsurface->size_hints->min_width); ++ xsurface->size_hints->min_height = unscale(xwm, xsurface->size_hints->min_height); ++ xsurface->size_hints->base_width = unscale(xwm, xsurface->size_hints->base_width); ++ xsurface->size_hints->base_height = unscale(xwm, xsurface->size_hints->base_height); + } + + if ((flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE) == 0) { + xsurface->size_hints->max_width = -1; + xsurface->size_hints->max_height = -1; ++ } else { ++ xsurface->size_hints->max_width = unscale(xwm, xsurface->size_hints->max_width); ++ xsurface->size_hints->max_height = unscale(xwm, xsurface->size_hints->max_height); + } ++ ++ xsurface->size_hints->x = unscale(xwm, xsurface->size_hints->x); ++ xsurface->size_hints->y = unscale(xwm, xsurface->size_hints->y); ++ xsurface->size_hints->width = unscale(xwm, xsurface->size_hints->width); ++ xsurface->size_hints->height = unscale(xwm, xsurface->size_hints->height); + } + + #define MWM_HINTS_FLAGS_FIELD 0 +-- +2.41.0 + @@ -5,7 +5,7 @@ _pkgname="hyprland" pkgname="${_pkgname}-hidpi-xprop-git" -pkgver=r3185.8e04a80e +pkgver=0.28.0.r34.3f7f4207 pkgrel=1 pkgdesc="A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks." arch=("i686" "x86_64" "arm" "armv6h" "armv7h" "aarch64") @@ -54,23 +54,21 @@ source=("${_pkgname}::git+https://github.com/hyprwm/Hyprland.git" "git+https://github.com/hyprwm/hyprland-protocols.git" "git+https://github.com/canihavesomecoffee/udis86.git" "0001-xwayland-support-HiDPI-scale.patch" - "0002-Fix-configure_notify-event.patch") + "0002-Fix-configure_notify-event.patch" + "0003-Fix-size-hints-under-Xwayland-scaling.patch") conflicts=("${_pkgname}") provides=(hyprland) sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - 'e3e3dab89f6cadeb330e03921c0485b2802be6a1267747237e702cbe6d02d65f' - '97105bee80596fd4aa21dde35d23847604a5b0e36c04b1679f7a2b9213774561') + '2fd861a76fb7a6b0bba12e7d307ad655e40ec93a84c88dfc00571aac6e119e85' + '1314d0ee63a4249698791d86cce5e6cdb4f005b81bbb1c6a747578d2a9223795' + 'c08dd62a1786eeb7506f1839bfcbba791502360392c929e620244f70c8ca5b61') options=(debug) pkgver() { - cd "$_pkgname" - ( set -o pipefail - git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" - ) + git -C "${_pkgname}" describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g' } prepare() { @@ -87,11 +85,13 @@ prepare() { git revert -n 18595000f3a21502fd60bf213122859cc348f9af patch -Np1 -i "${srcdir}"/0001-xwayland-support-HiDPI-scale.patch patch -Np1 -i "${srcdir}"/0002-Fix-configure_notify-event.patch + patch -Np1 -i "${srcdir}"/0003-Fix-size-hints-under-Xwayland-scaling.patch + cd "${srcdir}/${_pkgname}" + make fixwlr } build() { cd "${srcdir}/${_pkgname}" - make fixwlr cd "./subprojects/wlroots/" && meson setup build/ --prefix="${srcdir}/tmpwlr" --buildtype=plain && ninja -C build/ && mkdir -p "${srcdir}/tmpwlr" && ninja -C build/ install && cd ../.. cd "./subprojects/udis86/" && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=None -H./ -B./build -G Ninja && cmake --build ./build --target all && cd ../.. mkdir -p build && cd build |