diff --git a/hyprland-0.45.2.tar.xz b/hyprland-0.45.2.tar.xz deleted file mode 100644 index 76963e2..0000000 --- a/hyprland-0.45.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f5ab6c4f06d786f5fea0a41f7abeca0c0bef99749b1d2f5c0e37e7ae3d58ce6a -size 51334268 diff --git a/hyprland-0.46.1.tar.xz b/hyprland-0.46.1.tar.xz new file mode 100644 index 0000000..ab3058d --- /dev/null +++ b/hyprland-0.46.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e11c64c674d54f5850e17b035a6443b4bcc9291f5d33e389f85862d7f6adbf1 +size 51344416 diff --git a/hyprland.changes b/hyprland.changes index 7de7451..e7d8a8c 100644 --- a/hyprland.changes +++ b/hyprland.changes @@ -1,3 +1,144 @@ +------------------------------------------------------------------- +Tue Dec 17 19:35:11 UTC 2024 - Florian "spirit" + +- Update to version 0.46.1: + + A minor release with a patch backported from main. + + Fixes backported: + - windowrules: fixup duplicate rule enum tags + +------------------------------------------------------------------- +Tue Dec 17 11:20:07 UTC 2024 - Florian "sp1rit" + +- Update to version 0.46.0: + + The Hyprland overlord (also known as Santa in December) is + proudly bringing you 0.46.0. + Merry Hypr Christmas! + + Breaking changes + - window/layer rule regexes now require a full match (not any + match) to trigger. + - cursor:dumb_copy is gone in favor of cursor:use_cpu_buffer. + This should allow no-downsides Nvidia hardware cursors. Please + note it's experimental. + + New features: + - binds: add option to allow fullscreening a pinned window + (#8526) + - config: add 'force' option for + 'cursor:warp_on_change_workspace' (#8681) + - core: Add support for hyprqtutils' update screen (#8651) + - core: add a few festive splashes + - core: move colorspace handling to oklab (#8635) + - dispatchers: Add an option to prioritize focus change within + groups with movefocus (#8601) + - hooks: add pre connected/disconnected monitor events (#8503) + - hyprctl: add an inhibitingIdle field to windows + - hyprctl: add directScanout to hyprctl monitors + - hyprctl: add json output on hyprctl -j plugins list (#8480) + - input: add warp_back_after_non_mouse_input + - logging: Add some context to config error logs (#8326) + - pointer: add drm dumb buffers for cursors (#8399) + - renderer: add lockdead_screen_delay (#8467) + - renderer: add option to blur IME popups (#8521) + - version: add link versions for other utils (#8619) + - windowrules: add rules for mouse and touchpad scroll factors + (#8655) + - xwayland: Support cross DnD from Wayland (#8708) + + Fixes: + - animationmgr: fixup stack-use-after-return + - compositor: fix monitor arrangement with mixed auto directions + - core/data-device: expand damage region to fix minor px errors + - core: Fix workspace selector parsing (#8687) + - data-device: fixup wrong box expansion + - defaultConfig: fixup smart gaps rules + - hyprpm: fix incomplete unmet dependencies message + - internal: fix changeWindowZOrder reordering incorrectly (#8494) + - internal: fix some misused configStringToInt conversions + - internal: fixup some missed updateColorsOk() calls + - layerrules: fix ignorezero not working + - monitor: fix default focus when switching to a fs workspace + - opengl: fixup invalid ogl uniform reads + - opengl: fixup missed /4 in oklab parsing + - renderer: fix incorrect early return (#8590) + - renderer: fixup blur optimization considitons + - seat: fix double scrolling in some applications (#8583) + - shm: fix shm fd size check before creating or resizing shm_pool + (#8572) + - windowrules: fix prop rules with boolean values + - workspace: fix missing name via focusworkspaceoncurrentmonitor + (#8484) + + Other: + - bezier: optimize setup of bezier curves (#8528) + - bind: new long press option (#8302) + - cleanup: remove leftover var in ThreadManager.cpp (#8611) + - config: Changed the default value of + decoration:blur:ignore_opacity to true (#8418) + - config: don't overwrite errors in gradients + - config: throw an error explicitly when parsing colors in + gradients + - config: update the configStringToInt implementation (#8476) + - constraints: don't warp pointer position on release (#8491) + - core/data: Use pointer focus for DnD operations (#8707) + - core/output: don't send enter too aggresively + - core: Move regex from stdlib to re2 (#8736) + - core: Optimize window/layer rule application and scanning + (#8735) + - core: drop using deques in favor of vectors + - core: feeling a bit quirky today. + - core: guard pmonitor in focuswindow + - core: move to os/Process from hyprutils + - core: move version include to hyprctl + - core: removed Herobrine + - core: workspace-related function cleanup / refactor + - crashreporter: avoid clang warning + - debug: clean up fetching of the contents of /proc/device-tree + (#8413) + - debug: clean up opening of files in HyprCtl (#8401) + - descriptions: change allow_pin_fullscreen value to false + (#8592) + - drm: enable explit out fence in AQ (#8431) + - hyprctl: avoid crash on null pwuid + - hyprctl: verify runtime dir exists in instances() + - hyprland-uwsm.desktop: Just reference plain entry (#8553) + - hyprpm: move temp files to XDG_RUNTIME_DIR + - hyprpm: target installed instead of running version (#8634) + - internal: minor cleanups for color results + - keybinds: actually suppress internal keybinds instead of + passing them along (#8538) + - keybinds: allow repeating multiple binds (#8290) + - keybinds: don't animate fullscreen size/pos changes coming in + - keybinds: move to managed pointers + - layersurface: use lastMonitor and not monitor from cursor for + new ls + - master: make center ignore reserved areas (#8625) + - meson: autodetect systemd + - miscfunctions: move configStringToInt to std::expected + - pointer: map devices across all outputs by default (#8352) + - protocols: mark primarySelection as not privileged + - rename hyprland-systemd.desktop and remove + hyprland-session.service + - renderer: don't render unmapped popups + - renderer: drop requesting OUT_FENCE_PTR + - renderer: restore discard mode after IME render pass + - renderer: scaled surfaces could have zero area (#8423) + - renderer: simplify blur enabling logic + - shell: don't use fgrep, prefer grep -F + - shell: propagate new machanism from hyprctl to miscfunctions + - snap: account for position of multiple monitors (#8543) + - snap: bias reserved area when its size is greater than zero + (#8694) + - snap: check which corner is being grabbed for monitor snapping + (#8637) + - snap: use the bit mask to check if snapping occurred (#8659) + - systemd: hyprland-systemd.desktop -> hyprland-uwsm.desktop + - versionkeeper: init version to 0.0.0 if no file is present + - windows/xdg: minor cleanup of min/max size calculations + - windows: allow replacing existing fullscreen (#8566) + - workspace: update hasFullscreenWindow in updateWindows + - workspacerules: Do not check 'on-created-empty' if using a + workspace windowrule (#8486) + - xcursors: store themes in a std:set to order it (#8474) + - xdg-shell: don't report invalid min/max sizes on unset + - xdg-shell: even more robust layout min/max size + ------------------------------------------------------------------- Wed Nov 20 13:55:57 UTC 2024 - Florian "sp1rit" diff --git a/hyprland.spec b/hyprland.spec index 64d9e8d..0e51bad 100644 --- a/hyprland.spec +++ b/hyprland.spec @@ -22,7 +22,7 @@ %define shortname hypr Name: hyprland -Version: 0.45.2 +Version: 0.46.1 Release: 0 Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause @@ -37,15 +37,16 @@ BuildRequires: git BuildRequires: glslang-devel BuildRequires: meson BuildRequires: pkgconfig -BuildRequires: pkgconfig(aquamarine) >= 0.4.2 +BuildRequires: pkgconfig(aquamarine) >= 0.4.5 BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gbm) >= 17.1.0 BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(hyprcursor) >= 0.1.9 +BuildRequires: pkgconfig(hyprgraphics) >= 0.1.1 BuildRequires: pkgconfig(hyprlang) >= 0.3.2 -BuildRequires: pkgconfig(hyprutils) >= 0.2.1 +BuildRequires: pkgconfig(hyprutils) >= 0.2.4 BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.8 BuildRequires: pkgconfig(libdrm) >= 2.4.118 BuildRequires: pkgconfig(libinput) >= 1.14.0 @@ -53,6 +54,7 @@ BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(pixman-1) >= 0.42.0 +BuildRequires: pkgconfig(re2) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(tomlplusplus) BuildRequires: pkgconfig(uuid) @@ -161,6 +163,7 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp %build %meson \ + -Duwsm=disabled \ -Dwlroots-hyprland:xcb-errors=%{?with_xcb_errors:enabled}%{!?with_xcb_errors:disabled} %meson_build @@ -179,7 +182,6 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp %{_datadir}/%{shortname}/lockdead2.png %dir %{_datadir}/wayland-sessions/ %{_datadir}/wayland-sessions/%{name}.desktop -%{_datadir}/wayland-sessions/%{name}-systemd.desktop %dir %{_datadir}/xdg-desktop-portal %{_datadir}/xdg-desktop-portal/%{name}-portals.conf %{_mandir}/man1/Hyprland.* diff --git a/opensuse-hyprpm-use-hyprland-devel-subpkg.patch b/opensuse-hyprpm-use-hyprland-devel-subpkg.patch index ff316bc..14a83b3 100644 --- a/opensuse-hyprpm-use-hyprland-devel-subpkg.patch +++ b/opensuse-hyprpm-use-hyprland-devel-subpkg.patch @@ -1,4 +1,4 @@ -From 59baf7887afbb81fc56fc211571f50c6f6806be0 Mon Sep 17 00:00:00 2001 +From 1046bd52a4725819fd0ab00391b29adeb0d1eeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20sp1rit=E2=80=8B?= Date: Fri, 14 Jun 2024 23:43:46 +0200 Subject: [PATCH] openSUSE: Use hyprland-devel instead of downloading from @@ -34,7 +34,7 @@ index fb8679d..a1c7026 100644 void DataState::ensureStateStoreExists() { diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp -index 57c6764..7f2ca09 100644 +index 48b108c..b0f590b 100644 --- a/hyprpm/src/core/PluginManager.cpp +++ b/hyprpm/src/core/PluginManager.cpp @@ -17,6 +17,7 @@ @@ -45,18 +45,18 @@ index 57c6764..7f2ca09 100644 #include #include -@@ -412,141 +413,27 @@ bool CPluginManager::updateHeaders(bool force) { - const auto HLVER = getHyprlandVersion(); +@@ -436,141 +437,27 @@ bool CPluginManager::updateHeaders(bool force) { + const auto HLVER = getHyprlandVersion(false); if (!hasDeps()) { -- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio")); -+ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio")); +- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio, pkg-config")); ++ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio, pkg-config")); return false; } -- if (!std::filesystem::exists("/tmp/hyprpm")) { -- std::filesystem::create_directory("/tmp/hyprpm"); -- std::filesystem::permissions("/tmp/hyprpm", std::filesystem::perms::all, std::filesystem::perm_options::replace); +- if (!std::filesystem::exists(getTempRoot())) { +- std::filesystem::create_directory(getTempRoot()); +- std::filesystem::permissions(getTempRoot(), std::filesystem::perms::owner_all, std::filesystem::perm_options::replace); - } - - if (!force && headersValid() == HEADERS_OK) { @@ -72,7 +72,7 @@ index 57c6764..7f2ca09 100644 - progress.print(); - - const std::string USERNAME = getpwuid(getuid())->pw_name; -- const auto WORKINGDIR = "/tmp/hyprpm/hyprland-" + USERNAME; +- const auto WORKINGDIR = getTempRoot() + "hyprland-" + USERNAME; - - if (!createSafeDirectory(WORKINGDIR)) { - std::println("\n{}", failureString("Could not prepare working dir for hl")); @@ -90,12 +90,12 @@ index 57c6764..7f2ca09 100644 - if (m_bVerbose && bShallow) - progress.printMessageAbove(verboseString("will shallow since: {}", SHALLOW_DATE)); - -- std::string ret = -- execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-" + USERNAME + (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : "")); +- std::string ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-{}{}", getTempRoot(), USERNAME, +- (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : ""))); - - if (!std::filesystem::exists(WORKINGDIR)) { - progress.printMessageAbove(failureString("Clone failed. Retrying without shallow.")); -- ret = execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/hyprland hyprland-" + USERNAME); +- ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/hyprland hyprland-{}", getTempRoot(), USERNAME)); - } - - if (!std::filesystem::exists(WORKINGDIR + "/.git")) { @@ -131,9 +131,8 @@ index 57c6764..7f2ca09 100644 - progress.printMessageAbove(successString("checked out to running ver")); - progress.m_iSteps = 3; - progress.m_szCurrentMessage = "Building Hyprland"; -+ progress.m_szCurrentMessage = "Checking headers"; - progress.print(); - +- progress.print(); +- - progress.printMessageAbove(statusString("!", Colors::YELLOW, "configuring Hyprland")); - - if (m_bVerbose) @@ -161,8 +160,9 @@ index 57c6764..7f2ca09 100644 - progress.printMessageAbove(successString("configured Hyprland")); - progress.m_iSteps = 4; - progress.m_szCurrentMessage = "Installing sources"; -- progress.print(); -- ++ progress.m_szCurrentMessage = "Checking headers"; + progress.print(); + - const std::string& cmd = - std::format("sed -i -e \"s#PREFIX = /usr/local#PREFIX = {}#\" {}/Makefile && cd {} && make installheaders", DataState::getHeadersPath(), WORKINGDIR, WORKINGDIR); - if (m_bVerbose) @@ -192,7 +192,7 @@ index 57c6764..7f2ca09 100644 progress.m_szCurrentMessage = "Failed"; progress.print(); -@@ -910,6 +797,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) { +@@ -953,6 +840,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) { } bool CPluginManager::hasDeps() {