Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

hyprland-0.47.1-1.1 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

Name: hyprland Distribution: openSUSE Tumbleweed
Version: 0.47.1 Vendor: openSUSE
Release: 1.1 Build date: Thu Jan 30 10:08:11 2025
Group: Unspecified Build host: reproducible
Size: 8448932 Source RPM: hyprland-0.47.1-1.1.src.rpm
Packager: https://bugs.opensuse.org
Url: https://hyprland.org/
Summary: Dynamic tiling Wayland compositor
Hyprland is a dynamic tiling Wayland compositor based on wlroots
that doesn't sacrifice on its looks.

It supports multiple layouts, fancy effects, has a very flexible IPC
model allowing for a lot of customization, and more.

Provides

Requires

License

BSD-3-Clause

Changelog

* Thu Jan 30 2025 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.47.1:
    + 0.47.1 comes with, as usual, a few fixes backported from main.
      Some crashes, odd behavior, flickers, etc.
    + Fixes backported:
    * xwayland: send synthetic configure events (#9193)
    * deps: add libinotify-kqueue on BSDs (#9197)
    * xwayland: respect window size set by configure requests (#9190)
    * ikeyboard: free xkbSymState in clearManuallyAllocd
    * configmgr: properly free glob memory
    * presentation: log a fixme when there is a feedback leak
    * renderer: calculate UV using both pixel and monitor dimensions
    * pass/rect: fix bounding / opaque regions
    * config/hyprctl: fix keyword not updating autoreload
    * monitor: round refresh rates in sorting modes
    * popup: stop refocusing at unmap
    * subsurface: fix invalid parent typo
* Mon Jan 27 2025 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.47.0:
    + New year, new Hyprland release brought to you by Yours Truly.
      This update is quite large, so you might want to read these patch
      notes.
      There have been quite a bunch of internal rewrites, mostly around
      memory safety, the renderer, and animation system. Although
      performance shouldn't change much, it should improve stability in
      edge cases. Please do report any regressions you might find, if
      they aren't reported already.
    + Breaking changes:
    - master:always_center_master has been replaced with a more
      flexible master:slave_count_for_center_master
    + New features:
    - config: add exec(-onec) with rules and execr(-once) (#8953)
    - core/renderer: Add GPU hotplug support (#8980)
    - core: Add render:allow_early_buffer_release to make buffer
      release configurable (#9019)
    - core: Add support for HDR and color management protocols
      (#8715)
    - core: add --verify-config to verify the config with Hyprland
    - ctm: add an internal fade animation to ctm transitions
    - debug: add debug:pass for debugging the render pass
    - hyprpm: add an option to force reload all plugins (#8883)
    - hyprpm: add glaze dependency FetchContent fallback (#8899)
    - keybinds: add new window destruction dispatchers (#8962)
    - keybinds: add visible arg for cyclenext (#9045)
    - master: add option to show slaves on left in center orientation
      (#8940)
    - pluginAPI: add register dispatcher v2
    - protocols: add hyprland_lock_notify_v1 implementation (#9092)
    - protocols: add hyprland_surface_v1 implementation (#8877)
    - protocols: add hyprland_surface_v1.set_visible_region
      implementation (#9120)
    - renderer: Add supercircular window corners (#8943)
    - selectors: add a tag: to for matching window tag(s) by regex
      (#8985)
    - socket2: add focusedmonv2 event (#8921)
    - windowrules: add negative: prefix for negating a regex
    + Fixes:
    - animation: fixup adding animvars during ::tick (#9030)
    - animations: fix XWayland cursor glitch and refactor skill
      issues (#9033)
    - animations: fix borderangle once (#9149)
    - compositor: fix incorrect cast, use lambda capture instead
      (#9161)
    - config: fix animations requiring all args
    - config: fix float animation speeds < 0 (#9123)
    - config/ConfigWatcher.cpp: add missing include needed for clang
      (#9166)
    - configmgr: fix crash on very early plugin loads
    - core/compositor: fix too early buffer release (#8966)
    - core: fix custom resolutions (#8897)
    - core: fix possible crash on null active workspace
    - data-device: fix edge case crash on null xwm
    - debug: fix ISDEBUG checking (#8823)
    - debug: fix overlay not rendering
    - desktop/DesktopTypes.hpp: fix include (#9104)
    - dwindle: fix possible crash on null ws
    - functionHooks: wait for hyprland pages before returning addr
      for trampo
    - helpers/Monitor.cpp: fix include path (#9039)
    - hyprctl: Fix hyprctl batch JSON command (#8749)
    - hyprctl: fix hyprctl --batch not working with exec rules
      (#8952)
    - hyprpm: fix hyrpm sometimes returning 0 despite errors occurring
      (#8761)
    - keybinds: fix movefocus fallback for special workspaces (#9040)
    - keybinds: fix nullptr deref in forcekillactive (#9021)
    - keybinds: fix previous_per_monitor logic (#9010)
    - logging: fix Gpu info (#8764)
    - pass: fixup debug mode rendering of input boxes
    - protocols: fix alpha-modifier noncompliance (#8929)
    - protocols: fix compilation error (#8988)
    - renderer: fix CRendererHintsPassElement reset duplication issue
      (#8928)
    - renderer: fix fullscreen hdr check (#9076)
    - renderer: fix oversized blur precalcs not blurring at all
    - renderer: fix rare case when a tiled window would be rendered
      over fs
    - shaders: fix blank windows when using corner rounding (#8969)
      (#8971)
    - window: fixup fade out animation on silent moves
    - xwayland: fix clipboard mime name and atom mismatch (#9137)
    - xwayland: fix compile with no xwayland
    - xwayland: fix crash when trying to initialize without Xwayland
      installed (#9077)
    - xwayland: fix dnd including xwayland
    - xwayland: fix pointer mismatches with multiple monitors (#9179)
    - xwayland: fix sending large clipboard data (#9134)
    - xwayland: various window handling fixes
    - xwm: fixup targets in selection requests
    + Other:
    - properly install 'hyprland' symlink (#9091)
    - Renderer: rewrite render scheduling (#8683)
    - animation: avoid crashes in ::tick() on mutations
    - animationmgr: don't warp based on POINTY value (#9000)
    - binds: cycle within group on single monitor if no window found
      in the argument direction. (#8714)
    - config: avoid querying the fs every tick
    - config: disable borderangle by default (#9165)
    - config: update animation even if disabled
    - config/ConfigManager.cpp: add instruction to edit config
      (#9130)
    - core: add LIKELY and UNLIKELY macros
    - core: always use goal size to send to clients
    - core: avoid activating toplevel-less surfaces
    - core: cleanup header includes (#9088)
    - core: fade in windows when they are brought from invisible
      workspaces
    - core: guard workspace and monitor in moveWorkspaceToMonitor
    - core: make persistent workspaces always follow the config
    - core: move all shared_ptrs from the STL to hyprutils (#9143)
    - core: move parts of the animation system to hyprutils (#8868)
    - core: move sendWindowSize off of xwaylandmgr
    - core: move to inotify for monitoring the config files
    - core: refactor/improve monitor mode selection (#8804)
    - core: reserve vector sizes as much as we can (#9118)
    - core: update groups on movewindow (#9183)
    - core: use cpu-buffer hw cursors on nvidia by default
    - core: use readFileAsString instead of cat for os-release
    - ctm: disable fade animation by default on nvidia
    - datadevice: do the unfocus surface stuff before dndActive is
      true (#9157)
    - datadevice: guard XWayland server against crashes
    - desktop: move desktop types to memory-safe pointers
    - dnd/seat: avoid sending button events during a dnd op
    - foreign-toplevel: update active on null window focus (#8860)
    - fractional-scale: avoid redundant and duplicate scale events
    - groupbar: unify title rendering
    - groups: honor group lock window rule (#8782)
    - hooksystem: avoid huge include for HANDLE
    - hyprpm: use glaze to parse hyprctl plugin list (#8812)
    - input: abord dnd op on escape pressed
    - input: pass touch events to lock screens (#9129)
    - internal: Make static analysis more happy (#8767)
    - internal: added reference to CTimer class in KeybindManager
      (#8836)
    - internal: few small monitor improvements (#8890)
    - internal: update window position/size after changing
      fullscreenstate (#8865)
    - keybinds: attempt to wrap around if fallback is allowed in
      movefocus
    - layershell: check if layer is valid (#9156)
    - layershell: return focus to a valid ls on close if possible
    - layout: apply group rules after window creation (#8779)
    - layout: damage window properly on float mode changes
    - layout: force full damage on toggling floating mode
    - layout: set window size after toggling floating
    - logging: get broader GPUINFO (#8753)
    - master: make loop around optional when cycling (#8926)
    - master: replace always_center_master with
      slave_count_for_center_master (#8871)
    - monitor: avoid crashes on no good modes
    - monitor: bring back old description behavior
    - opengl: only allocate offMainFB on demand
    - opengl: use uv to avoid rendering the entire blurbox
    - pass: allow removing all pass elements of a given type
    - pass: ignore empty rectangles queued
    - pass: improve blur region detection
    - pass: improve pass debug mode
    - pass: improve pass debugging
    - pass: mark crucial elements as undiscardable
    - pass: scale blur region in ::render
    - pass: scale blur regions properly
    - pointer: always scale the cpu cursor to the right size
    - protocols: allow hyprland-toplevel-export to capture hidden
      windows (#9041)
    - protocols: do not capture cursor in toplevel without pointer
      focus (#9042)
    - protocols: do not destroy screencopy resources before client
      request (#9048)
    - protocols: immediately copy toplevel content when ignoreDamage
      set (#9049)
    - regex: log an error if regex parsing fails
    - renderer/internal: stop using box pointers
    - renderer: Auto enable wide color gamut in HDR mode (#9090)
    - renderer: Do not set hdr metadata unless needed (#9014)
    - renderer: allow plugins to know what window was rendered in
      post
    - renderer: don't access hdrMetadata optional if it has no value
      (#8987)
    - renderer: unload background texture if it's disabled
    - renderer: use a render pass for render modif in client render
    - renderer: use cairo for cpu buffer rendering (#9071)
    - shadow: avoid drawing empty shadows
    - snap: don't snap to any windows if workspace has a fullscreen
      window (#8870)
    - snap: give edge snapping precedence over corner snapping
      (#8873)
    - snap: revert #8659, use bounds checking instead of bit mask
      (#8872)
    - subsurface: damage the entire parent on size change
    - tablet: send motions on tip events (#9132)
    - window: only set m_iMonitorMovedFrom, when moving to a
      different monitor (#9160)
    - windowrules: precompute regexes for window/layer rules
    - windows: honor xdg_toplevel_set_fullscreen output hint (#8965)
    - windows: minor initial workspace improvements
    - xwayland: avoid sending value of real size to xwayland
    - xwayland: don't create an abstract unix domain socket on linux
      (#8874)
    - xwayland: don't define atoms on no_xwayland builds
    - xwayland: support sending clipboard change notification on
      focus (#9111)
  - Added "disable-donation-nag-popup.patch" to prevent the donation
    nag popup from spawning.
* Fri Dec 20 2024 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.46.2:
    + Fixes backported:
    - windowrules: fixup duplicate rule enum tags
    - hyprctl: fix hyprctl batch json command (#8749)
    - core: avoid activating toplevel-less surfaces
    - xwayland: fixes to no_xwayland builds
    - xwm: fixup targets in selection requests
    - core: unbreak build on FreeBSD (#8762)
    - hyprpm: fix hyprpm sometimes returning 0 despite errors
    occurring (#8761)
    - core: fix possible crash on null workspace
    - layout: apply groups after window creation (#8779)
* Tue Dec 17 2024 Florian "spirit" <sp1rit@disroot.org>
  - 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 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - 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 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.45.2:
    + Another minor release with 2 patches backported on top of 0.45.1.
    + Fixes backported
    - internal: fix changeWindowZOrder reordering incorrectly (#8494)
    - xdg-shell: don't report invalid min/max sizes on unset
* Mon Nov 18 2024 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.45.1:
    + A minor update with a few fixes backported from main.
    + Fixes:
    - defaultConfig: fixup smart gaps rules
    - hyprpm: fix format crash
    - workspace: fix missing name via focusworkspaceoncurrentmonitor
    (#8484)
    - constraints: don't warp pointer position on release (#8491)
    - core: guard pmonitor in focuswindow
    - protocols: mark primarySelection as not privileged
    - renderer: don't render unmapped popups
    - renderer: scaled surfaces could have zero area (#8423)
    - shell: don't use fgrep, prefer grep -F
    - windows/xdg: minor cleanup of min/max size calculations
    - workspacerules: Do not check 'on-created-empty' if using a
    workspace windowrule (#8486)
    - xcursors: store themes in a std:set to order it (#8474)
* Sat Nov 09 2024 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.45.0:
    + A big update, with tons of fixes, improvements and new stuff!
    + Breaking changes
    - no_gaps_when_only has been removed. See the wiki for equivalent
      workspace rules.
    - decoration:shadow_ variables have moved. See the wiki for the
      new names.
    + New features:
    - feat: add a custom made treewide formatter (#7992)
    - groups: add group_on_movetoworkspace (#8159)
    - groups: add merge_groups_on_groupbar (#8362)
    - hyprctl: add caps/num lock state for keyboards (#8145)
    - hyprctl: add mirrorOf to hyprctl monitors
    - hyprpm: Add option to notify on fail and keep original notify
      (#8167)
    - input: add snapping to floating windows (#8088)
    - layout: add drag_into_group to control merging dragging windows
      (#8004)
    - layout: add merge_floated_into_tiled_on_groupbar (#8042)
    - pointer: add default auto for no_hw_cursors
    - protocols: Add support for hyprland-ctm-control-v1 (#8023)
    - renderer: Add a missing texture asset and a user check
    - renderer: add expand_undersized_textures
    - shadow: add sharp and refactor options
    - snap: add option border_overlap and other improvements (#8289)
    + Fixes:
    - IME: Fixup IME popup candidate windows position when scale is
      not 1.0 (#8117)
    - Makefile: fix legacyrendererdebug typo (#8214)
    - Systemd fixes
    - config: fix generateConfig loop (#8164)
    - core: fix group members disappearing when you move the group to
      another monitor (#8237)
    - drm-lease: fix crashes and implementation (#8116)
    - drm-syncobj: fix crash on missing timelines
    - drm-timeline: Add check for conflicting acquire and release
      points (#8083)
    - group: fix moveWindowIntoGroup (#8297)
    - groups: fix swallowing (#8223)
    - hyprerror: fix height calc with bottom bar (#8043)
    - hyprpm: Fix crashes due to misplaced fmt argument(s) (#8140)
    - input: Fix VRR for constrained cursors (#6877)
    - internal: cleanup CMonitor usage and fix a few ref hogs
    - keybinds: fixup xkb_states for resolve_by_sym
    - layersurface: fixup brace style
    - layout: fix auto group when opening a new window in a
      non-focused workspace using window rules (#8006)
    - layout: window snapping cleanup + fixes
    - misc: Fix bad links to wiki (#8240)
    - monitors: fix vrr breaking monitor disconnect (#8314)
    - notif-overlay: add a bit of padding for icons
    - renderer: fix floating window damage (#8182)
    - renderer: minor fixup to window rendering logic (#8359)
    - screencopy: fix build with legacyrenderer
    - screencopy: fix screencopy frames not being cleaned up (#8017)
    - shaders: fixup jagged edges in texture rounded corners
    - shadow: fix double premultiplication
    - xwayland: minor cleanups and fixes (#8076)
    - xwayland: minor fixups for stability (#8323)
    + Other:
    - Build with hyprland-session.service (#8251)
    - config/example: add optional smart gaps to the default config
    - defaultConfig: add a nofocus rule for weird X windows
    - Improve hyprland-session.service (#8225)
    - compositor: make sure we don't ret early on no surface
    - config/layout: nuke no_gaps_when_only (#8072)
    - config: give simple help for super+q not working
    - core: move internal structures to monitor pointers (#8266)
    - default/config: improve default animations
    - defaultConfig: improve smart gaps
    - defaultConfig: update default config values for shadows (#8360)
    - dispatchers: allow leading whitespace in window parameter
      (#8016)
    - example: update desktop file to include DesktopNames
    - example/hyprland-session.service: add support for xdg autostart
      (#8230)
    - foreign-toplevel-wlr: don't send updates to X11 OR windows
    - foreign-toplevel: don't send updates to X11 OR windows
    - gammactrl: guard pMonitor in setGamma
    - groupbar: set locked color when groups are globally locked
      (#8257)
    - hyprctl: convert std::cout and std::cerr to std::println()
    - hyprctl: move setprop into dispatchers (#8275)
    - hyprctl: reload windowrules on reloadAll
    - hyprerror: make hyprerror reserve space (#8040)
    - hyprland-systemd.desktop improvements (#8318)
    - hyprland-systemd.desktop: change name back to Hyprland (#8351)
    - hyprland: convert std::cout and std::cerr to std::println()
    - hyprpm: convert std::cout and std::cerr to std::println()
    - hyprpm: disallow shallow on unknown branch
    - input: Refocus window on scrolling if follows mouse (#8361)
    - input: cleanup device naming logic
    - input: ignore non-kb ls-es in refocusLastWindow
    - internal: Move CMonitor to SP (#8178)
    - internal: Remove some unused lambda captures (#8218)
    - internal: check size limit in layouts (#8298)
    - internal: few more marginal optimisations from profiling
      (#8271)
    - internal: improve version query and define HYPRLAND_VERSION
      (#8034)
    - internal: more profiling less calls and local copies (#8300)
    - internal: optimize cursor move a bit (#8264)
    - internal: use clampWindowSize to unify min/maxsize handling
      (#8014)
    - keyboard: update group state on change for the sym resolve
      state
    - layershell: check if workspace is valid in onMap
    - layershell: minor cleanups and improvements to focus
    - layersurface: round geom in arrangeLayerArray
    - layout: deny auto-grouping a new floating window into a tiled
      group (#8108)
    - layout: don't snap to self and allow same-pid snaps
    - layout: enable group rules for new floating windows (#8122)
    - layout: move applyGroupRules() to onWindowCreated() (#8139)
    - layout: remove unnecessary check after 45e8219 (#8037)
    - layout: simplify the conditions to autogroup (#8120)
    - layout: slight adjustments to snapping logic (#8273)
    - misc: refactor version command (#8027)
    - monitor: avoid crash on released buffer in surf
    - monitor: modernize/refactor last legacy-handled events
    - output/xdg-output: avoid sending events to released globals
    - output: send enter events on late wl_output binds
    - output: update state even if no owner exists (#8044)
    - pointer: expand sw cursor damage box
    - renderer: don't rely on datarootdir for local share
    - renderer: improve api around new framebuffer changes
    - renderer: reserve space for error at the bottom if that's set
    - renderer: safeguard against non-sampleable currentFB in
      blurMainFb
    - seat: avoid sending pointless 'keymap' and 'repeat_info' events
      (#8276)
    - security-context: avoid UB in C macro (#8229)
    - security-context: close client fds after disconnect
    - security-context: implement protocol
    - session-lock: reset seat grab on a new session lock (#8147)
    - shaders: improve corner AA in borders shader
    - swallow: check if swallow_regex doesn't exist (#8265)
    - tablet: use inputMgr unified naming scheme
    - window: properly break cycles in X11TransientFor
    - windowrules: allow specifying max size in size window rule
      (#8021)
    - xcursor: don't crash on broken permissions in X themes
    - xwm: avoid infinite parent lookup loop in lookupParentExists
* Wed Oct 09 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.44.1:
    + A minor patch release with a few patches backported from main to
      0.44.0.
    + Fixes backported
    - output/xdg-output: avoid sending events to released globals
    - keyboard: update group state on change for the sym resolve
      state
    - defaultConfig: add a nofocus rule for weird X windows
    - pointer: expand sw cursor damage box
    - keybinds: fixup xkb_states for resolve_by_sym
    - config: give simple help for super+q not working
    - screencopy: fix screencopy frames not being cleaned up
    - layout: fix auto group when opening a new window in a
      non-focused workspace
* Sun Oct 06 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.44.0:
    + An update full of bugfixes and new niceties has landed upon us :)
    + New features:
    - args: add --version to binary args
    - config: add descriptions for dwindle and master layout options
      (#7933)
    - config: add order rule for layers (#7697)
    - core: add HYPRLAND_CONFIG environment variable (#7851)
    - core: add a --systeminfo parameter to gather systeminfo without
      running
    - dwindle: add config option split_bias (#7920)
    - dwindle: add movetoroot method to layout messages (#7903)
    - hyprctl: add defaultName to workspacerules
    - hyprctl: add solitary field to hyprctl monitors
    - hyprctl: add submap request
    - layout: add auto_group to control default grouping (#7883)
    - userchecks: add an xdg_current_desktop check
    + Fixes:
    - Meson: fix protocols, clean up
    - Meson: add tracy dependency
    - byteoperations: add missing header
    - core: Fix Musl builds (#7934)
    - dispatchers: fixup dpms toggle (#7875)
    - gammactrl: fix potential crash on monitor removed (#7828)
    - internal: Fix change group current fullscreen state query
      (#7802)
    - internal: fix initial cursor warping (#7793)
    - internal: fix missing include directive (#7984)
    - layout: fix dragging a window into a group (#7976)
    - man: Fixed the man page to show the new information (#7713)
    - protocol: fix missing include
    - renderer: Fix resize artifacts (stretching, bumps) (#7499)
    - renderer: fix uvBR calculation (#7975)
    - textinput: fix tiv3 leave (#7761)
    - tiv1: fix deleting first character (#7716)
    + Other:
    - Internal: move to Mat3x3 from hyprutils (#7902)
    - Meson: pass AQUAMARINE_VERSION argument
    - Meson: try to find udis86 through pkgconfig, fallback to
      subproject
    - assets: Remove execute permission from lockdead.png (#7715)
    - build: Set cmake_minimum_required to version 3.30 (#7709)
    - compositor/wayland: up the max buffer size to avoid disconnects
      when app hangs
    - compositor: update all xdg outputs on arrange
    - config: Limit max volume to 100%
    - config: include XF86Audio* key bindings to default cfg (#7695)
    - data-device: conform to reported source actions
    - data-device: don't send default action of move
    - data-device: send clock time in motion events
    - dispatchers: allow moveintogroup when floating (#7818)
    - dmabuffer: attempt importing failed dmabufs as implicit
    - eventloop: dispatch pending in session on start
    - github: encourage usage of --systeminfo if Hyprland won't
      launch
    - hyprctl: allow parsing empty value
    - hyprctl: use the getMonitorData helper everywhere
    - input: move dmps activation to input listeners (#7721)
    - internal: removed Herobrine
    - internal: Delay monitor events/hooks (#7797)
    - internal: move to hyprutils' scopeguard
    - internal: nuke wlsignal and related
    - monitor: arrange monitors on connect and disconnect
    - monitor: cleanup and modernize scheduleDone
    - monitor: use a scope guard for disconnect events
    - opengl: use GL_CLAMP_TO_EDGE instead of GL_CLAMP
    - pointermgr: Hide hardware cursor on leave (#7806)
    - pointermgr: avoid derefing null outputs
    - pointermgr: avoid hogging CMonitor refs
    - protocolmgr: don't expose the fallback output
    - shm: send a static list of shm formats
    - single-pixel-buffer: new protocol impl
    - single-pixel: set buffer size to 1,1
    - textinput: don't reset if ti isn't enabled (#7798)
    - textinput: handle IME resetting (#7731)
    - version: log build aquamarine version
    - wayland/output: send geometry in updateState
    - wlr-output-configuration: Improve output configuration (#7571)
    - wlr-output-management: accept 0 refresh rates
    - xdg-output: minor cleanups
    - xwayland: Some readability improvements (#7807)
    - xwayland: remove extra x11 deactivation (#7755)
    - xwayland: use proper path for the XWayland sockets (#7852)
    - xwm: Minor cleanup, add wrappers for basic types (#7856)
  - Added "meson-missing-wayland-include.patch" required to build
    hyprland. See message body of the patch for more details.
* Sun Sep 08 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.43.0:
    + A new, big update brought to you by Yours Truly.
      Many bugfixes, and new features, as always.
    + New features:
    - IPC: Add config descriptions (#7377)
    - animations: add workspace in/out configs
    - config: Add a variable to prevent groups from merging after
      being dragged (#7650)
    - config: Add a window rule to render while unfocused (#7582)
    - config: Added default button mapping for xf86 keys (#7672)
    - config: add exec-shutdown for running commands on shutdown
      (#7683)
    - core: add option to control which window to focus on close
      (#7368)
    - cursormgr: add a new setting to sync gsettings (#7253)
    - env: Add HYPRLAND_NO_SD_VARS env condition (#7358)
    - hyprctl: add active and all to switchxkblayout
    - logs: Add file path to asset ERR log (#7336)
    - windowrules: add fullscreenstate field (#7466)
    - xwayland: add option to enable/disable xwayland (#7633)
    + Fixes:
    - Fix crash reports having execute permission
    - Fix missing include needed by clang
    - build: Fix NO_XWAYLAND compilation (#7538)
    - config: add missing header for libc++ after 92744b5 (#7403)
    - config: fix explicit sync option warning (#7293)
    - config: fix uninitialized values with mode parsing
    - core: fix crash on monitor removed with gammaControl (#7601)
    - core: fix data race and a unsigned int rollover (#7278)
    - cursormgr: fix cursor gsettings on session change (#7295)
    - data-device: Fix selection mismatch when wlr resets primary
      selection (#7598)
    - decorations: fix manual resize not recalculating decos (#7323)
    - example/config: fix typo in default config (#7446)
    - gamma-control: fix crash on monitor disconnect (#7353)
    - helpers: fix: revert to signed arithmetic for cycling through
      workspaces (#7339)
    - hyprpm: Fix checking dependencies (#7504)
    - input: Fix disabling tap-to-click (#7304)
    - input: Fix modifier keys getting stuck if depressed during
      config reload (#7486)
    - install: Prepend ${DESTDIR} when creating hyprland symbolic
      link (fixes #7280). (#7281)
    - keybinds: Fix fullscreenState toggling behaviour (#7288)
    - keybinds: Fix syncFullscreen inconsistent with state when set
      by fullscreenState (#7343)
    - keybinds: fixup misused kb state
    - misc: fix some minor typos (#7530)
    - pointermgr: fix initial cursorwarp (#7286)
    - presentation-feedback: minor fixups
    - protocol: fix logm template checks
    - render: fixup format mismatch after leaving DS
    - renderer: minor direct scanout fixes (#7594)
    - screencopy: fix 10b format r/b flip
    - screencopy: fixup 10-bit sharing via shm on nvidia
    - sessionLock: fix misc:allow_session_lock_restore (#7511)
    - textinput: fix ime activation in some edge cases (#7660)
    - workspacerules: fix on-created-empty window focus (#7657)
    + Other:
    - README: Change image sources from vaxerski/Hyprland to
      hyprwm/Hyprland (#7315)
    - Revert "syncobj: wait for deadline instead of available"
    - compositor: update suspendstate on window move (#7396)
    - core: Include cstring whenever strncpy is used (#7267)
    - core: Move to C++26 and use native_handle to CLOEXEC the debug
      fd (#7219)
    - core: Preserve existing XDG_CURRENT_DESKTOP (#7347)
    - core: make most for loops use const references (#7527)
    - cursor: make inactive_timeout setting a float (#7268)
    - data-device: send dndFinished when dnd offer is destroyed while
      unfinished
    - eventloop: don't dispatch in enterLoop
    - examples: more systemd examples (#7409)
    - headers: set correct paths to header files (#7245)
    - hyprctl: avoid parsing string::npos on invalid cmd (#7544)
    - hyprpm, hyprctl: update shell completions
    - hyprpm, hyprctl: remove Makefiles
    - input: don't emit idle activity when calling
      simulateMouseMovement (#7649)
    - input: kb focus mouse focused window if unset (#7666)
    - input: move idle notify to input handlers (#7659)
    - input: try to refocus a focusable window when seat grabs are
      reset (#7669)
    - internal: introduce new types to avoid unsigned int rollover
      and signed int overflow (#7216)
    - internal: removed Herobrine
    - keybinds: refactor dispatchers to be better (#7331)
    - keybinds: release mods after sendshortcut (#7581)
    - layersurface: don't unref from monitor until dtor
    - layersurface: dont rollover on size_t (#7451)
    - layersurface: remove layer on destroy from monitor (#7457)
    - linux-dmabuf: allow on split-node systems
    - logs: don't get timezone every time logging (#7550)
    - meson: explicitly specify path for find(1) (#7590)
    - misc: Rename all instances of "emtpy" to "empty" (#7522)
    - misc: constify the remaining for loops (#7534)
    - monitor: avoid dangling references to old monitors being
      undestroyed
    - monitors: avoid crash on wayland output removal
    - output: dont cast enum out of range (#7448)
    - protocols: avoid crashing in drmlease (#7290)
    - protocols: destroy new xdgDialog protocol at right time (#7600)
    - protocols: refactor protocol logging to a macro (#7324)
    - renderbuffer: ensure framebuffer gets deleted (#7363)
    - renderer: better lockscreen dead behavior (#7574)
    - renderer: fade out windows on silent moves
    - renderer: pass custom modelines to aq
    - screencopy: nuke unused stuff
    - sessionLock: ensure sls focus in some edge cases (#7647)
    - shm: align size to stride (#7383)
    - syncobj: wait for deadline instead of available
    - textinput: don't deactivate ime if another ti is focused
      (#7617)
    - textinput: send deactivate to ime on destory ti (#7614)
    - window/xwayland: minor property cleanup
    - window: don't focus on activate if window isn't mapped yet
    - windows: support size with pseudo tiled
    - xcursor: handle file errors when loading xcursor themes (#7326)
    - xcursormgr: dont apply scale on gsettings (#7316)
    - xdg-dialog: implement new protocol
    - xwayland: deactivate xwayland focus if wayland is focused
      (#7458)
    - xwayland: update overrideRedirect on map and configure (#7575)
    - xwaylandmgr: minor refactor to activateSurface
    - xwm: don't mark selection events as succeeded
    - xwm: read atom name from xcb (#7546)
* Thu Aug 08 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.42.0:
    + At last, a very large update 0.42.0 has finally dropped!
    + Notable changes:
    - Wlroots has been dropped, and is no longer a dependency.
    - Explicit sync support has been added and will be automatically
      turned on/off depending on your setup. For some select nvidia
      users, this might cause glitches. In such cases, disable it
      with render:explicit_sync = false
    - Old protocol implementations redone in our newer, more
      memory-safe impl style.
    - In-house XCursor implementation for legacy themes
    - Tons and tons of fixes and performance improvements!
    + Breaking changes:
    - misc:no_direct_scanout -> render:direct_scanout
    - fakefullscreen has been dropped in favor of the new
      fullscreenstate dispatcher
    + New features:
    - config: add option to exit window while retaining fullscreen
      (#516) (#6880)
    - core: Add missing header for libc++ after e989a0b (#7158)
    - core: add a destructor to CHyprOpenglImpl and avoid
      wl_container_of undefined behaviour (#7101)
    - crashreporter: add date and flags to crash report (#7028)
    - debug: add Nvidia driver info (#6715)
    - hyprpm: add short error code explanations
    - internal: Add functions to hyprctl header (#6745)
    - keybinds: add bindp and noshortcutsinhibit (#7017)
    - keybinds: add safeguard to mousebinds (#7034)
    - pluginapi: Add force reload of config at the end of plugin
      initialization (#7099)
    - pointer: change min cursor padding to 0 (#6027)
    - socket2: Add windowtitlev2 event which includes the window
      address (#6856)
    - touch: add touch swipe invert config (#6940)
    + Fixes:
    - border: fixup infinite recursion
    - compositor: fix general:extend_border_grab_area (#7214)
    - compositor: fix log typos (#7111)
    - configmgr: fix warning
    - core/surface/buffer: Buffer lock/release fixes (#7110)
    - core/surface: fixup a few pointer handling edge cases
    - core: Fix crash on opening chromium (#6932)
    - core: fix a few ubsan issues reported at exit of hyprland
      (#6699)
    - decorations: fix infinite recursion on no_gaps when only (#7169)
    - drm-syncobj: fixup fd leak with timelines
    - hyprctl: increase hyprctl timeout to 5s to fix #6801 (#7152)
    - ime-relay: fix crash on nullptr surface focus
    - input: Fix hyprctl switchxkblayout not actually changing layout
      (#7070)
    - input: fix capabilities enum types passed
    - input: fix invalid usage of dev in setTouchDeviceConfigs
    - input: fix keyboard leds with multiple keyboards (#7079)
    - input: fix leds on kb creation (#7206)
    - internal: fix fullscreen typos (#7134)
    - keybinds: fix NoSymbol keybinds (#7199)
    - keybinds: fix movewindow float to 0 (#6777)
    - layersurface: fixup focus issues in onUnmap
    - layout: fix dynamic rules not updating after setting fullscreen
      (#7129)
    - meson: fix wlroots-hyprland dep checks (for libliftoff patch to
      work) (#6736)
    - output: minor tearing fixes
    - pointer: fix buffer crash (#7131)
    - presentation-feedback: fix invalid values sent after aq merge
    - renderer: Explicit sync fixes (#7151)
    - renderer: fix a few xray regressions (#6855)
    - renderer: fixup crashes on inaccessible files for bg
    - renderer: fixup nvidia driver version checks
    - renderer: partially revert previous xray fix (#6868)
    - session: fix activate events being always treated as on (#6696)
    - sessionLock: fix the check for locking a locked session (#6843)
    - shortcutsInhibit: fix crash
    - style: fix clang-format
    - surface: fix zero_scaling xwayland damage
    - surface: fixup logical damage size calculations
    - toplevelexport: fix flipped r/b channels when sharing windows
      (#6861)
    - touch: fix touch swipe invert config (#7014)
    - virtual-pointer: fixup virtual pointer warp events
    - wayland/compositor: fixup buffer damage tracking for
      wl_shm buffers
    - wayland/compositor: fixup double buffer releases
    - wayland/surface: fixup self-owning surface roles
    - xdg-shell: fix xdg-positioner y-flip (#7094)
    - xdg-shell: fixup unassigned wl surfaces to xdg surfaces
    - xwayland: fix high cpu idle usage
    - xwayland: fix setting title prop (#6809)
    - xwayland: fixup WM_SIZE_HINTS handling according to ICCCM
    - xwm: Fix xwayland black window bug after losing focus (#6966)
    + Other:
    - Meson: replace props.json with VERSION
    - Meson: install config and wallpapers to DATADIR/hypr
    - Completions: use only awk (#6763)
    - Core: Move to aquamarine (#6608)
    - compositor: ignore setting surface scanout if DS is disabled
    - compositor: implement wayland socket handover (#6930)
    - compositor: minor cleanups for fading out layers
    - compositor: simplify getWindowFromSurface
    - config: avoid using initial ws tracking for exec-once
    - config: don't crash when getenv HOME returns null
    - config: use hyprutils helper (#6891)
    - core/surface: drop map/unmap events in member funcs
    - core: Improve handling of window properties (#6776)
    - core: Properly shutdown wl display (#7018)
    - core: avoid locking 2 wayland sockets (#6971)
    - core: emit unmap event after unmap in surface destroy
    - core: move to steady_clock where applicable
    - cursor: Better xcursor implementation (#7178)
    - cursormgr: avoid scanning ill formed inherit (#7211)
    - cursormgr: implement inheriting themes for xcursor (#7197)
    - debug: dont manually unlock the lock_guard (#7210)
    - debug: get rid of useless 1s in logs (#6969)
    - egl: attempt a 3.2 egl context first
    - egl: avoid setting debug mode and handle legacyrenderer
    - egl: require gles 3.0 only
    - egl: support getting the device via platform_device
    - ext-foreign-toplevel: Send done after title and class (#6857)
    - hyprctl completions: Use only awk rather than grep + awk
    - hyprctl: link to much less libraries (#7212)
    - hyprerror: minor stylistic changes
    - hyprpm: execute all git commands regardless of fails
    - hyprpm: init submodules after resets
    - input: Emulate discrete scrolling from v120 events (#6881)
    - input: don't simulate mouse movement on focus change in
      follow_mouse = 2/3 if no_warps is false (#7015)
    - input: refocus last window on keyboard unfocusable surfaces
    - input: unify removing currentlyDraggedWindow (#7071)
    - inputmgr: ensure we dont divide by zero (#6713)
    - internal: refactor fullscreen states (#7104)
    - internal: some minor fd/socket cleanups and make logging thread
      safe (#7123)
    - keybinds: allow toggling fullscreenstate (#7128)
    - keybinds: handle monitor change in moveWindowIntoGroup (#7030)
    - keybinds: handle null monitor in pinActive (#7122)
    - keybinds: improve fullscreenstate toggling (#7174)
    - keybinds: never switch to another monitor with per_monitor
      (#6665)
    - keybinds: remove toggleopaque (#7024)
    - keyboard: properly update keymap state and fd on keymap changes
    - keyboard: update xkb state after key event
    - layer-shell: avoid crashes on unmap (#7092)
    - layer-shell: properly map and unmap surface and propagate unmap
      events
    - layer-shell: validate exclusiveEdge and don't set it as top by
      default (#7006)
    - layershell: don't throw misaligned error on exclusive edge 0
    - layersurface: null check for surface validity before unmap()
    - layout: update workspace rules on layout change (#6878)
    - meson: install wayland.hpp header
    - opengl: destroy cairo image surface after use
    - output: submit damage to kms
    - pointer-constraint: set lifetime correctly
    - pointer/hw: extend cursor swapchain to 3
    - pointer: round position when rendering software cursors
    - pointer: update geometry after unplug events
    - pointer: use preMonitorCommit for resetting render state
    - protocols: Move globalshortcuts impl (#7102)
    - protocols: move screencopy and toplevel export to
      hyprwayland-scanner (#7065)
    - protocols: move text-input-v1 to hyprwayland-scanner (#7096)
    - renderer/layer-shell: use explicitly set exclusiveEdge (#6984)
    - renderer: Make shader time always count from zero (#6903)
    - renderer: don't skip back background on preBlurQueued
    - renderer: don't use the surface counter in popup iterations
    - renderer: drastically optimize bg texture creation
    - renderer: drop redundant spammy trace log
    - renderer: guard layer in renderLayer
    - renderer: untransform textures matching display transform
    - renderer: use session lock alpha for rendering lacking locks
    - seat: don't send keyboard data without a keyboard cap (#6697)
    - session-lock: send locked after the lock screen is properly
      rendered (#6850)
    - sessionLock: don't sendLocked when session lock has already
      been destoyed (#7150)
    - sessionLock: focus lock on creation based on mouse position
      (#6658)
    - surface: avoid crashes on fading out layers
    - surface: emit unmap before unmapping and releasing the buffers
    - tablet: Send .frame() on .proximity_out() (#6761)
    - touch: set lastInputTouch on every event
    - virtualptr: allow binding to output
    - virtualptr: map to entire screen if no output is provided
    - wayland/compositor: drop pending buffer ref if synchronous
    - wayland/compositor: release buffers on unmap
    - wayland/output: avoid sending events to dead outputs
    - window/ls: reset core signals after destroy
    - window: drop ack requirement for applying pending reported size
    - window: override noMaximize if new window takes over fullscreen
      (#6812) (#6870)
    - wl_seat: avoid sending events to objects without caps
    - workspaces: don't try to reopen special workspaces (#6802)
    - xcursor: rework bootleg xcursor (#7140)
    - xdg-shell: completely rewrite xdg-positioner (#7067)
    - xdg-shell: make xdg-positioner flip target greatest available
      space (#7209)
    - xwayland: avoid unfocusing on OR child focuses
    - xwayland: break cyclic loop of parents (#6722)
    - xwm: drop invalid case for clearing X focus
* Wed Jun 26 2024 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.41.2:
    + Hi all! 0.41.2 bringing even more fixes on top of 0.41.1. Enjoy!
    + New features:
    - core: add ability to select previous workspace per monitor
      (#6598)
    - hyprctl: added --follow option to rolliglog (#6325)
    - hyprpm: add --no-shallow
    - input: add cursor:warp_on_changeworkspace (#6480)
    - keybinds: add custom event dispatcher
    - vrr: add option to fix mouse breaking vrr (#6483)
    - window: expose pseudotiled state and add param to dispatcher
      (#6583)
    + Fixes:
    - animations: fix overriding direction for slide
    - core: fix a few small memory leaks on exit (#6470)
    - data-device: minor fixes
    - egl: fixup format modifier lookups with implicit modifiers
    - foreign-toplevel-wlr: fix out-of-range for missing monitor
      resources
    - format: fix flipped r/b channels on legacy_renderer
    - hyprctl: add a newline after log()
    - hyprctl: fix zsh completion (#6467)
    - keybinds: fix mouse pass (#6652)
    - output: fix cursors disappearing after dpms (#6659)
    - subcompositor/renderer: fixup handling of subsurfaces below the
      main one
    - surface: add virtual destructor to surfacerole to avoid
      undefined behaviour (#6620)
    - vrr: add option to fix mouse breaking vrr (#6483)
    - xdg-shell: fixup xdg-positioner's pointForAnchor with
      non-corner points
    - xwayland: fixup unfocus atom conditions
    + Other:
    - compositor: bump nofile rlimits on launch
    - constraints: Lock surface region when region is empty (#6627)
    - core: Move to hyprutils for Math
    - core: avoid bumping hard rlimits, restore on fork
    - damageRing: move to hyprland impl
    - data-device: abort drag on unaccepted offers
    - data-device: properly abort drag on missing device
    - dbus: import PATH XDG_DATA_DIRS variables into systemd and dbus
      session
    - format: include macros for unreachable
    - helpers: make shm_open() portable after 8bcccf9 (#6471)
    - hyprctl: avoid using select()
    - hyprctl: make recv timeout bigger and give error message if it
      does timeout (#6621)
    - hyprland.conf: update master section (#6537)
    - keybinds: ignore missing keysyms if no other methods match
    - master: refine master layout new window handling (#6479)
    - math: include cstring for memset
    - misc: a few compiler level performance optimisations (#6559)
    - output: avoid crashes when binding a defunct wl_output global
    - pointer: use software rendering when monitor is mirrored
      (#6587)
    - renderer: shrink occlusion rect if blur is used
    - seat/dnd: unfocus pointer from surfaces on dnd start
    - seat: track pressed pointer buttons
    - window: improve swallowing functionality
    - window: use effective damage for tearing re-schedules
    - wl-compositor: don't send enter to defunct output globals
    - wl_data_device: send drop_performed in completeDrag
    - wl_seat: accomodate for apps late-binding seat resources
    - wl_seat: send repeat data from current keyboard on bind
    - xdg-shell: Continue transform of popup until size fits (#6521)
    - xdg-shell: properly check for resource version for TILED and
      SUSPENDED states
    - xwayland: do not set a new data source if it has no MIMEs
    - xwayland: drop some spammy logs to trace
    - xwayland: force default plain mime atoms on known types
    - xwayland: use safeRemove for removing files
* Fri Jun 14 2024 Florian "spirit" <sp1rit@disroot.org>
  - Added support for loading plugins using "hyprpm"
    + Added "opensuse-hyprpm-use-hyprland-devel-subpkg.patch" needed
      for this purpose
* Thu Jun 13 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.41.1:
    + Hello there! After 0.41.0's bumpy start, we're bringing 0.41.1 to
      you to fix a bunch of bugs and issues.
    + New features:
    - binds: Add description to key binds (#6358)
    + Fixes:
    - compositor: update suspended states on moveworkspacetomonitor
    - foreign-toplevel: fixup output resource finding
    - formats: fixup for legacy_renderer builds
    - groupbar: fix groupbar position rounding (#6433)
    - input: fix input regions being ignored on ls-es (#6413)
    - keybinds: fix bindm (#6429)
    - layershell: Fix keyboard focus grabs (#4968) (#6394)
    - layershell: minor fixes to re-mapping of layers
    - seat: fixup touch event handling
    - seatmgr: fix missing nullcheck in updateActiveKeyboardData
    - session-lock: fix refocus after unlocking (#6423)
    - sessionLock: fix focus not being tied to mouse (#6414)
    - virtualkeyboard: check if VirtualKeyboard is valid before
      accessing client. (#6460)
    - wayland: consistently check mmap error after 6967a31 (#6402)
    + Other:
    - core: move to hyprutils for utils (#6385)
    - datadevice: only send actions for ver >= 3
    - groupbar: Don't apply monitor scale twice to groupbar text
      (#6411)
    - hyprpm: print all types of cmake errors during configure
    - input: fallback to main surface if not found on window
    - layer: don't close special ws when restoring focus (#6424)
    - renderer: properly software lock cursors with zoom_factor
      (#6434)
* Mon Jun 10 2024 Florian "spirit" <sp1rit@disroot.org>
  - Update to version 0.41.0:
    + The biggest Hyprland update in its history has just dropped.
      Almost 200 commits, over 25000 lines changed. A lot of things
      added, and continuing work on detaching from wlroots. Enjoy!
    + As with 0.40, there is a lot of internal work going on detaching
      from wlroots, so some bugs are to be expected. However, many
      from 0.40 have been ironed out, so give 0.41 a try!
    + New features:
    - Meson: add wayland.xml proto
    - config: add tag dispacther and window rule (#6211)
    - debug: Add ARM GPU info (#6212)
    - error: Add option to change position of HyprError bar (#3241)
      (#6111)
    - gestures: Add gestures:workspace_swipe_min_fingers option
      (#6342)
    - hyprctl: Add Config Flag to hyprctl systeminfo (#6160)
    - hyprctl: Add locked cmd to requests (#6042)
    - hyprctl: add --quiet flag (#6380)
    - hyprctl: add delimiter to hyprctl batch command (#6261)
    - input: add cursor:persistent_warps to maintain relative
      position within a window (#6338)
    - internal: Add missing errno.h include to SdDaemon.cpp (#5938)
    - ipc: add togglegroup, moveintogroup and moveoutofgroup events
      (#5866)
    - keybinds: Add option to disable window direction monitor
      fallback (#6182)
    - keybinds: Added new dispatcher (sendshortcut) (#6174)
    - keybinds: add empty on monitor and next empty flags (#5936)
    - keybinds: add keybind combos and add Left and Right mod
      distinction. (#5966)
    - meson: add more xcb-* dependencies after addd3e7
    - pointer: add back nvidia hardware cursor quirks (#6220)
    - protocols: add hyprland_focus_grab_v1 implementation (#5850)
    - renderer: render fonts with pango, add global font_family
      config option (#6138)
    - seatmgr: Add a grab class
    - windowrules add focusonactivate (#5976)
    - wlr-foreign-toplevel: fix fullscreen failing and add output
      support (#6360)
    + Fixes:
    - Fix initial xdg-decoration toplevel decoration mode negotiation
    - box: fix noNegativeSize
    - build: fix non-pch build (#6337)
    - compositor: fix getMonitorFromVector getting wrong monitor
      (#6010)
    - core: fix a few asan reported issues and a coredump on exit
      (#6285)
    - core: fix on-empty workspace being called too often (#6026)
    - core: remove unused includes and fix warn
    - cursor: minor fixes for unhiding surfaces
    - decorations: fix groupbar input (#5963)
    - groupbar: Fix window title rendering (#6392)
    - groupbar: fix title scaling (#5969)
    - helpers: fix misuse of syscalls in sd namespace (#6379)
    - idle-inhibit: fix and cleanup visibility logic
    - input: fix modifier and leds (#6062)
    - input: fix virtual devices not updating capabilities (#6366)
    - keybinds: Fix classic global keybinds(pass dispatcher) (#5967)
    - keybinds: fix empty on monitor for new workspaces (#6089)
    - keybinds: fix pass
    - keybinds: fix release binds in submaps (#6025)
    - keybinds: fix xkb keybind name to keysym comparison (#5917)
    - layersurface: fix invalid use of std::move
    - layout: Fix shrinking pseudotile windows. (#6143)
    - layout: fix centering of new floating windows
    - memory: fix SP/WP hierarchy templates
    - pkg-config: fix wlroots dir
    - popups: fix breadthfirst and at
    - renderer: fix xwayland solitary rechecks (#6295)
    - seat: fix pointer frame events not being sent correctly
    - shadow: fix small pixel gaps between border
    - socket2: fix events being reordered (#5955)
    - tablet: fix mapping when mapped region is specified (#6206)
    - wayland: fix invalid wl_output_mode dimensions sent
    - window: fix invalid env buffer size in getEnv
    - wlr-foreign-toplevel: fix fullscreen failing and add output
      support (#6360)
    - xdg-shell: fixup positioner behavior with slide and resize
    - xdg_shell: fix nested xdg_positioner calculations
    + Other:
    - Tablet: move to new impl
    - buffer: track asynchronous buffers and don't release them until
      unref
    - build: ProtocolManager missing header LIstener.hpp (#6391)
    - build: include missing header: "debug/Log.hpp" in Format.cpp
      (#6365)
    - build: update meson, cmake setup
    - compositor: change monitor focus when no_warps is enabled
      (#6260)
    - config: move various cursor-related vars to cursor:
    - configmgr: shadow exec rules when window is unmapped
    - core: chase hyprwayland-scanner
    - core: cleanup environment on exit (#5941)
    - core: drop unused protocol impls
    - core: free more memory on destruction (#6348)
    - core: remove wayland sockets on exit (#5959)
    - core: verify surface roles on creation of objects
    - cursor: move to a hyprland impl
    - datadevice: guard surface in dnd for null
    - deco-positioner: avoid infinite recalcs
    - decoration: Stacked group tabs (#5886)
    - deps: update wlroots
    - egl: assume implicit modifiers are available for old drivers
    - eventloop: don't call lost timers
    - foreign-toplevel-wlr: send current class and title on map
    - foreign-toplevel: bypass no activate focus checks
    - hookSystem: Make needsDeadCleanup volatile (#6356)
    - hyprctl: Allow setting name for custom/headless outputs (#6319)
    - hyprctl: Make setcursor better (support XCursor themes, give
      fail message) (#6097)
    - hyprctl: return exitStatus in requestHyprpaper() and request()
      (#6083)
    - hyprpm: don't shallow clone on non-main branches
    - hyprpm: force en_US locale for date calcs
    - hyprpm: print and fail on missing packages during configure
    - idle-inhibit: enable idle inhibitor if no hl surface is
      associated (#5882)
    - input: find surface pos correctly when mouse drag is active
    - inputmgr: send pointer motion on ffm != 1
    - internal: Replace monitor rule when disabling head. (#6136)
    - internal: new shared_ptr and weak_ptr implementation (#5883)
    - internal: save previous workspace before change (#6202)
    - kde-server-decoration: move to new impl
    - keybinds: make the keybind manager check for session lock
      (#5894)
    - layer-shell: move to new impl
    - layersurface: avoid restack on identical layers
    - layersurface: reset popuphead after unmap
    - log: log with local timezone (#6331)
    - monitor: avoid UB on undefined auto dir
    - output: remove wl_output globals for mirrored displays
    - pointer-constraints: Remove unnecessary cursor warps (#5895)
    - pointer: Include monitor scaling in HW hotspot calculation
      (#6283)
    - pointer: damage in software mode on cursor image changes
    - pointer: don't calculate hw hotspot for missing hw cursors
    - pointer: don't update hw cursors on disabled displays
    - pointer: remove dividing hotspot by scale
    - pointermgr: ensure compositor exist on destroy (#6216)
    - pointermgr: reset entered outputs when resetting surface
    - popup: clip input region to surface size
    - popup: minor safety improvements
    - popups: avoid infinite recursion in bf
    - presentation-time: move to new impl
    - primary-selection: move to hyprland impl
    - renderer: allow custom uv for surface no-blur passes
    - renderer: avoid locking during rendering
    - renderer: deny solitary during a session lock
    - screencopy: don't spam sw cursor locks
    - screencopy: use a simple renderer for frame passing
    - seat: Send discrete event when axis source is scroll wheel
      (#6103)
    - seat: discrete round away from zero + high res scrolling
      (#6317)
    - seat: don't send keymap on empty device
    - seat: send axis_stop events after axis events
    - seat: send enter/leave events to all bound wl_seats for a
      client
    - seat: send events to all bound seats for a client
    - seat: update keymap/repeat info on keymap events from keebs
    - session-lock: don't allow events from rejected locks
    - tablet: avoid null deref on an empty cursor set
    - toplevelexport: avoid locking software cursors during render
    - virtual-keyboard: emit event before finishing keyboard
    - virtual-keyboard: release keys before destroy
    - wayland/core: move to new impl (#6268)
    - window: avoid nullptr deref on monitor in box helpers
    - window: avoid uaf on updateWindow decos
    - window: guard monitor in bounding box calculations
    - window: set sane default pseudo size
    - window: verify suppress flags in onUpdateState
    - windows: Revert "window: set config only when both props end
      anims" (#5904)
    - windows: make new_window_takes_over_fullscreen use the new
      window's workspace (#6263)
    - wl-data-device: move to hyprland impl
    - wl_seat: move to hyprland impl
    - wl_seat: send frame event after pointer leave (#6074)
    - wlr-data-device: move to hyprland impl
    - wlroots: bump
    - xdg-activation: keep tokens after the resource is dead
    - xdg-shell: move to new impl
    - xdg_shell: ignore outdated ack_configure events
    - xdg_shell: improve xdg_positioner resize calculations
    - xdg_shell: improve xdg_positioner slide behavior
    - xkb: check value correctly with
      xkb_state_layout_index_is_active() (#5925)
    - xwayland: Remove delta for real position with xwayland zero
      scaling (#6057)
    - xwayland: don't destroy server client
    - xwayland: move to hyprland impl (#6086)
    - xwayland: verify new xsurf is valid in prop reads
* Sat May 04 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.40.0:
    + This is a massive update, with mostly changes under-the-hood, but
      also many QoL additions and fixes!
      A lot of wlroots implementations have been rewritten to use
      Hyprland-made ones. More will come, but this release also serves
      as a real test to their stability.
    + Breaking changes:
    - The hyprland logs, sockets, etc. have moved from /tmp/hypr to
      $XDG_RUNTIME_DIR/hypr.
    + New features:
    - alpha-modifier: add support for protocol
    - config: Add More Monitor 'Auto' Positions. (#5670)
    - config: add absolute monitor workspace selectors (#5848)
    - config: added option to choose the default monitor for the
      cursor (#5847)
    - core: add libinput backend support for headless session (#5699)
    - ext-foreign-toplevel: add implementation
    - keybindmgr: add optional silent suffix to movewindow. (#5597)
    - log: Add some colors to stdout log (#5778)
    - windowrules: add subtract window option to move rule (#5770)
    - windows: add misc:initial_workspace_tracking
    - workspace: Add 'v' flag for workspace selector that counts only
      visible windows (#5628)
    - workspace: Add fullscreen workspace selector (#5640)
    + Fixes:
    - CrashReporter: fix deadlocks by making it mostly
      async-signal-safe (#5771)
    - cursormgr: fix misscaled cursors on fractional
    - foreign-toplevel: fix bad_any_cast in moveWindow
    - foreign: fix no-pch builds
    - format: fix clang-format
    - hyprctl: add missing json string escapes (#5811)
    - hyprctl: fix activewindow request not showing workspace name
      (#5623)
    - hyprctl: fix instances path
    - hyprpm: fix for multi-user + improve directory structure
    - hyprpm: fix updating headers
    - input: fix active keyboard for seat after destroying one
      (#5725)
    - internal: fix a few asan reported leaks on exit of hyprland
      (#5852)
    - keybindmgr: add optional silent suffix to movewindow. (#5597)
    - makefile: fix old headers only being copied
    - misc: fix autocompletions for meson (hyprctl/hyprpm)
    - nix: fix missing git in wlroots build
    - pluginsystem: fix unhooking on exit
    - pointer-constraints: remove emoji to fix clang
    - protocols: fix for hyprwayland-scanner update
    - relative-pointer: fix missing header for g_pCompositor (#5681)
    - renderer: Fix mirrored displays when transformed and preserve
      aspect ratio (#5697)
    - renderer: fix rounding of the size of fractionally scaled
      monitors (#5748)
    - renderer: fix safety around sendFrameEventsToWorkspace
    - scripts: fix asan patch
    - sessionLock: fix incorrect protocol error raised
    - socket2: fix empty activewindowv2 events
    - swipe: fix crashes with invalid distance
    - tokens: add more modes to initial_workspace_tracking
    - tokens: fix initial workspace token ignoring special
    - windowrules: Fix Floating Grouped Windows Crash and Bug.
      (#5826)
    - workspace: Fix duplication of "special:" in special workspace
      name (#5729)
    - workspacerule: Fix monitor settings being deleted when merging
      ws rules (#5864)
    + Other:
    - Fractional-scale: move to new impl
    - HookSystem: improve callback safety
    - Protocols: implement protoLog
    - XDG-Output: move to hyprwayland-scanner
    - compositor: more fs safety around tmp directories
    - compositor: properly update workspace in
      moveWindowToWorkspaceSafe
    - config: Allow more sensible input options for enabling
      animations. (#5659)
    - config: Default unconfigured monitors to open to the right
      (#5741)
    - config: Expand on window matching (#5518)
    - config: merge all rules set for the same workspace selection
      (#5656)
    - config: polish default config file (#5672)
    - core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr (#5788)
    - core: Move tearing to hyprwayland-scanner (#5657)
    - core: prefer mkdir over create_directory and permissions
    - core: remove libsystemd dependency (#5660)
    - cursor-shape: allow duplicate devices per pointer resource
    - cursor-shape: move to new impl
    - cursor-shape: use - instead of _ in shapes
    - cursormgr: attempt using - instead of _ for failed cursors
      before fallback
    - events: set window initial* before searching for rules
    - ext-idle-notify: move to new impl
    - fractional: set scale before configure
    - gamma-control: move to new impl
    - helpers: Add new C++ Signal and Listener classes
    - hid: don't access expired resources in virtual devices
    - hooksystem: check for existing random outdir
    - hooksystem: use a random 700 directory for assembler
    - hyprctl: use XDG_RUNTIME_DIR if available
    - idle-inhibit: Always recheck idle inhibitors on creation and
      deletion (#5738)
    - idle-inhibit: don't destroy inhibitor on surface destroy
    - idle-inhibit: move to new impl
    - ime-v2: move to new impl
    - input: Introduce basic hyprland HID classes
    - input: check for focused_client being null before reading its
      client
    - input: ignore destroyed devices in static events
    - inputmgr: dont double free on hotplug (#5855)
    - internal: Window storage rework - part 1 (#5762)
    - internal: store matched windowrules and emit event
    - keybinds: check for special workspace equality before switching
    - keybinds: clear repeat source on mouse inputs
    - keyboard: check for wlr() validity before accessing
    - keyboard: prevent UAF in destroy events
    - layerSurface: refactor/move to a memory-safe impl
    - layout: Trigger layout recalcuation on deco position/size
      change (#5821)
    - layout: limit updates when mouse animate drag is enabled
      (#5838)
    - managers: Add a TokenManager
    - output-management: move to new impl
    - pluginAPI/hooks: Remove dependency on cc from the hooksystem
      (#5801)
    - pluginapi: unregister callbacks on lost ptrs
    - pluginsystem: unload entire plugin before calling dlclose()
    - pointer-constraints: don't warp on entering a confined pointer
    - pointer-constraints: move to new impl
    - pointer-gestures: move to new impl
    - props: bump version to 0.40.0
    - protocols: minor style improvements to new impls
    - protocols: utilize hyprwayland-scanner 0.3.3 functions
    - relative-pointer: move to new impl
    - renderer: avoid rendering frame if finalDamage is empty
    - renderer: send frame events to apps on empty damage renders
    - session-lock: move to new impl
    - sessionLock: call wlr_surface_map/_unmap on the surface
      manually
    - sessionLock: remove m_pLastFocus on destroy of surface
    - sessionLock: set locked after emitting event
    - shaders: Use sin-less hash for noise (#5607)
    - shortcuts-inhibitor: move to new impl
    - tearing-control: hyprland impl (#5655)
    - tearing-control: search through all valid windows
    - text-input-v3: move to new impl
    - tokenmgr: separate getRandomUUID from registerNewToken
    - virtual-keyboard: destroy on vdestroy event
    - virtual-keyboard: move to new impl
    - virtual-pointer: move to new impl
    - wayland-protocol: remove unused CWaylandResource
    - Window: add destroy signal
    - windows: don't force workspace change on same tracked workspace
    - windows: recalculate monitor after updating windows (#5647)
    - windows: set fullscreen border size to 0 (#5865)
    - wlr-foreign-toplevel: move to new impl
    - wlr-foreign-toplevel: send done after property changes
    - wlr-output-power: move to new impl
    - xdg-activation: move to new impl
    - xdg-decoration: move to new impl
* Tue Apr 16 2024 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.39.1:
    + Fixes:
    - constraint: Fix xwl cursor locking for scaled monitors (#5587)
    - hyprpm: minor fixes to hyprpm for shallow and versioned clones
    - misc: fix autocompletions for meson (hyprctl/hyprpm)
    - notifications: fix notifications on manually rotated monitor
      (#5599)
    + Other:
    - CI: unshallow on checkout before sourcing the tarball
    - cursor: add hyprcursor loggers
    - build: Unbreak build on FreeBSD by adjusting dependencies
      (#5595)
    - hyprpm: checkout branch and rev separately
    - hyprpm: err out on missing runtime deps
    - input: send an empty relative event after constraint motion
      events
    - window: remove input ref on unmap
  - Dropped "bash-completion-install-dir.patch" as it has been included
    upstream.
* Mon Apr 15 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.39.0:
    + New features:
    - hyprctl: Add shell completions (#5404)
    - hyprpm: add shell completions (#5423)
    - hyprpm: add support for minimum versions
    - layouts: add missing include
    - monitor: add workspace null check to visible flag
    - renderer: Add dimaround layer rule (#4643)
    - swipe: add events
    - workspace: Add count group flag in windowCount workspace
      selector prop (#5499)
    - workspacerules: add back on-created-empty functionality (#5452)
    + Fixes:
    - CColor: fix getAsHex
    - IME: fix IME popup mouse inputs (again) (#5417)
    - IME: fix blurry ime on scaled
    - IME: fix crash on restarting IME (#5428)
    - IME: fix incorrect popup damage (#5383)
    - IME: fix race condition on closing window (#5455)
    - compositor: fix ghost fadingOut windows remaining after cleanup
    - configmgr: fix header priority
    - constraint: fix possible uaf on double destruction
    - core: fix compile without pch
    - core: fix some crash conditions around workspace ptrs in
      CWindow
    - core: fix visibility flags in moveWorkspaceToMonitor
    - hooksystem: Fix miscalculation in comment (#5442)
    - hooksystem: manually map trampoline addresses
    - hyprctl: fix fish completions
    - hyprctl: fix grammar mistakes in completions
    - hyprctl: fix zsh completions
    - hyprpm: fix wlroots path (#5567)
    - input: fix focus on maximized bg surfaces
    - input: fixup background layer checking on maximized
    - keybinds: fix spammy warning
    - macros: fix no pch warning
    - master: fix center resizing (#5394)
    - master: fix crash (#5472)
    - master: fix full height when all windows master (#5549)
    - master: fix swapped workspaces (#5397)
    - master: fix workspace orientation not being restored after
      workspace rule no longer applies (#5463)
    - opengl: fix modif in blur
    - renderer: some fixes for renderModif
    - window: fix invalid last workspace id
    - workspace: fix crash on destruction of compositor (#5495)
    - workspace: fix special unnamed workspace rules (#5390)
    - workspacerules: fix workspace rule loops (#5433)
    + Other:
    - Workspace/core: Refactor workspace storage (#5380)
    - blur: block modif only on no new optimize
    - compositor: move wl_display_destroy_clients (#5498)
    - compositor: remove windows from fadingOut properly
    - config: Don't override fullscreen opacity if only two opacities
      are provided (#5512)
    - config: verify string length in wrv2 before calling back
    - core: Event loop rework (#5466)
    - core: assert attempted UAFs in windowExists
    - core: simplify sanityCheckWorkspaces
    - cursor: Fallback to xcursor if failed to render hyprcursor
      (#5534)
    - damageSurface: don't correct smallVec twice
    - deps: move from wlroots to wlroots-hyprland
    - eventloop: move timers to an event loop fd
    - hooksystem: attempt allocating pages in linear order
    - hyprctl: improve help pages (#5385)
    - hyprctl: print monitor disabled status (#5525)
    - hyprerror: align 32-bit types after 4c79668 (#5375)
    - hyprpm: Improve Hyprpm Update Performance (#5530)
    - hyprpm: Use proper path to update repo when processing user
      provided revision (#5414)
    - hyprpm: ignore version checks for shallow clones
    - hyprpm: install shell completions
    - hyprpm: print more info on build failures
    - inhibitor: always destroy on window unmap
    - input: Dont set active monitor when simulating mouse movement
      (#5465)
    - input: Option for handling off-window axis events (#4177)
    - input: allow focus to bottom layers on maximized in reserved
    - input: don't remove pinned focus on workspace change (#5486)
    - layers: separate anim configs for open/close (#5421)
    - master: guard window in moveWindowTo
    - monitor: check for invalid workspaces in onConnect
    - monitor: unset visible flag from ws on disconnect
    - opengl: log framebuffer errors
    - popups: more safety in damage checking
    - props: Allow setting per-window fullscreen opacity (#5470)
    - props: Parse border color props as gradient (#5513)
    - renderer: avoid double-rendering ls-es on fadingOut
    - renderer: block screen shader on screencopy
    - renderer: render back layer for workspace-less passes
    - scripts: switch to branch --show-current for branch in
      generateVersion
    - subsurface: init existing subsurfaces on children creations
    - swipe: nuke numbered
    - window: always unref workspace on unmap
    - workspaces: add visible flag
    - workspace: remove lastFocusedWindow on unmap
    - workspace: remove monitor and visible flags on inert
    - workspace: update windows when selector match could change
      (#5533)
  - Added "bash-completion-install-dir.patch"
* Tue Apr 09 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.38.1:
    + This release comes with a few backports from main to 0.38.0 to
      fix a few issues and performance bugs.
    + Backports:
    - hyprerror: align 32-bit types after 4c79668 (#5375)
    - renderer: block screen shader on screencopy
    - input: allow focus to bottom layers on maximized in reserved
    - renderer: avoid double-rendering ls-es on fadingOut
    - CColor: fix getAsHex
    - subsurface: init existing subsurfaces on children creations
    - compositor: remove windows from fadingOut properly
    - compositor: fix ghost fadingOut windows remaining after cleanup
* Tue Apr 02 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.38.0:
    + New features:
    - config/workspace: added workspace selectors
    - hyprctl: add missing commands to usage (#5211)
    - input: Add options to set tablet's active area (#5199)
    - input: add misc:hide_cursor_on_key_press
    - keybinds: add Dispatchers for "force float" and "force tiling"
      (non-toggle) (#5137)
    - keybinds: add binds:disable_keybind_grabbing
    - layers: add animation direction overrides
    - renderer: add support for gles3.2 screen shaders
    - screenshader: add screen_size uniform
    - socket2: add pin event
    - tablet: Add left_handed option for tablets (#5178)
    + Fixes:
    - CGradientValueData: fix toString() method (#5220)
    - IME/TI: Fixes and refactoring
    - IME: Fix ime popup coordinates and artifacts (#5373)
    - IME: Refactor and fixup popups
    - IME: don't assert on lock mismatch, just fix it
    - IME: fix crashes with destroyed text-inputs
    - animations: Fix animation issue in
      focusworkspaceoncurrentmonitor (#5202)
    - animations: Fix incorrect animation when manually moving a
      window when its being created (#5141)
    - animations: fix layer slide with fade
    - animvar: fixup update callbacks and cleanup
    - avar: fix warp onEnd conditions
    - avar: minor fixes
    - build: fix builds without pch (#5198)
    - core: Fix resizeparams (#5262)
    - core: fix fullscreen + floating focus change (#5291)
    - core: fix missing workspace events during swapping (#5251)
    - deco: fix groupbar offset (#5364)
    - dispatchers: fix swap workspaces wrong positioning of floating
      windows (#5328)
    - format: fix format
    - hyprctl: fix plugin list on no plugins (#5357)
    - hyprpm: add missing newline (#5207)
    - ime: fix build without pch
    - input: Fix incorrect keyboard focus taken when no window was
      present (#5337)
    - input: fix crash with text-input-v1 (#5234)
    - keybinds: Fix exit trigger by moving it to monitor.frame
      (#5240)
    - layers: fix bottom slide animation (#5307)
    - master: fix moving fullscreen workspace and remove duplicate
      code (#5131)
    - reenderer: Add 1 border damage to fix number rounding issues
      (#5343)
    - renderer/animations: Fix various inaccurate damage tracking
      issues and offsets (#5297)
    - renderer: Fix layer and window damage sometimes missing 1 frame
      (#5370)
    - renderer: Fix rendering when swiping workspaces (#5367)
    - renderer: minor fixes to misaligned reported surface rendering
    - renderer: minor fixups for misaligned surface rendering offsets
    - scripts: fix asan patch
    - swipe: fix nullptr in onSwipeUpdate (#5191)
    - tablet: minor focus fixes
    - textinput: fix ime when opening multiple windows (#5281)
    - textinput: fix typo (#5365)
    - windowrules: Fix resizeparams parsing. (#5206)
    - workspace: fix integer overflow in selector parser (#5177)
    - workspace: fix selectors with special:
    + Other:
    - IME: Improve handling of text-input and ime-relay (#5147)
    - IME: guard unfocused TIs in leave
    - animationmgr: use realpos and size for border damage
    - animations: simplify window loop
    - compositor: remove windows from fading out on destroy
    - config: Config error limit/hyprctl (#5165)
    - config: be a bit louder in the disabled log warning
    - constraint: do not disable constraints in destroy
    - constraint: set active flag before propagating props
    - core: ensure m_pLastMonitor validity over unsafe state
    - core: match all workspace rules instead of the first one only
      (#5340)
    - cursormgr: don't set x theme in changeTheme
    - cursormgr: initialize size to 0
    - cursormgr: log theme loading failures
    - cursormgr: scale hotspot with buffer
    - dispatchers: open special ws on active monitor instead of mouse
      monitor (#5330)
    - hyprctl: output json with --batch if requested (#5277)
    - hyprpm: avoid crashes on corrupted headers
    - hyprpm: log shell in build without fails
    - input: Only limit drag resizes (#5164)
    - input: focus window on mouse down on groupbar (#5224)
    - layer-shell: render popups above everything
    - layers: don't change workspace on layer restore focus (#5308)
    - layershell: release all mouse buttons before focus on new ls
      (#5219)
    - layershell: update render pos and size in arrange
    - layout: improve initial size prediction for floating
    - master: Make master workspace orientation rule dynamic (#5339)
    - opengl: minor adjustment to getPreferredReadFormat
    - opengl: report shader compilation errors from screen_shader
      (#5138)
    - refactor: move window.hpp to desktop/
    - renderer: allow blurring ls popups
    - renderer: disable surface adjustments for misaligned reported
      when manual resizing
    - renderer: don't render window on other mons during anim in
    - renderer: don't translate surface box on interactive resizes
      with non-updated sizes
    - renderer: dont render fullscreen special on wrong monitor
      (#5249)
    - renderer: forward decl for b_pch=false (#5250)
    - screenShader: allow camel for screensize
    - socket2: sanitize data for newlines
    - swipe: Touchscreen workspace swipe (#4489)
    - text-input: reset lock counter on surface destroy
    - textinput: send deactivate on disable ti
    - window: assign surface on create
    - window: set config only when both props end anims
    - xwayland: assign wlr_surface on associate
  - Removed "fixed-missing-return-statement.patch" as the issue has
    been fixed upstream.
* Wed Mar 20 2024 Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
  - Add hyprland-wallpapers subpackage: Wallpapers too large are
    included in the main package.
* Sat Mar 16 2024 Florian "sp1rit" <sp1rit@disroot.org>
  - Update to version 0.37.1:
    + A massive (not) update to fix rendering of half of your apps, oops.
    + New features:
    - renderer: add better multi monitor animations (#5126)
    + Fixes:
    - renderer: fix non-reported sizes window box calculations
  - Changes from version 0.37.0:
    + Happy 2 years of Hyprland!! Thanks to everyone who has supported
      Hyprland in any way shape or form, couldn't have done it without
      yall. <3
    + New features:
    - config: Add input:scroll_factor configuration (#4980)
    - cursormgr: add fallbacks for unknown cursors
    - hyprpm: Add support for specifying exact git revisions for plugin
      repo (#4983)
    - input: add general:resize_corner for manual resizing (#5090)
    - input: fix window move stutter by introducing additional checks
      for low-hz monitors (#4553)
    - keybinds: Add the 'catchall' keyword that matches all keys (#4930)
    - layers: add fully featured animations
    - notify: Add custom fontsize support for notifications (#4981)
    - socket2: Add 5 IPC event with support for workspace ID (#5022)
    - subsurface/popup: expand on map/unmap to add buffering
    + Fixes:
    - animations: fix m_Goal not being set after #4911 (#4992)
    - configmgr: fix compile on 32-bit archs
    - core: add additional headers for Popup.cpp and
      InputMethodRelay.hpp (#4909)
    - core: Fix typo and check grandchild PID in spawn() (#5070)
    - core: fix crashes on access of deleted wlr_ surface
    - cursormgr: fix invalid access to hyprcursor in xwayland init
    - cursormgr: fix memory leak with cursor buffers
    - hyprctl: Fix incorrect invalid fontsize kwarg response (#5013)
    - input: fix minor default cursor reset conditions
    - input: fix window move stutter by introducing additional checks
      for low-hz monitors (#4553)
    - internal: minor fixups for fading out xwayland windows
    - keybinds: Fix typo (#5081)
    - layers: minor fixes for new animations
    - layout: Fix toggling fullscreen special workspace on different
      monitor (#5000)
    - lock: fix red screen issues with multiple monitors (#5100)
    - master: Fix animate resize (#4942)
    - master: Fix master layout window focus and scroll (#5074)
    - master: fix invalid config usage
    - opengl: fix compilation on legacy renderer (#4928)
    - popup: minor fixes to xdg geometries
    - renderer: fix invalid access on non-assigned surfaces
    - renderer: minor fixes to transformations
    - subsurface: fix visibility check
    - surface: fix damage tearing feedback
    - windowrules: fix center
    - xwayland: fix no_xwayland compiles
    + Other:
    - animations: Refactor AnimatedVariable (#4911)
    - compositor: ignore grab extend behind special workspaces (#4944)
    - compositor: reject focus to noFocus OR xwayland windows
    - compositor: update state after moving to workspace
    - config: improve config value infrastructure
    - config: more safety around monitor keyword
    - config: report errors from sourced files
    - config: update per device input configs link (#4951)
    - constraints: only warp cursor on deactivate if constraint is
      locked. (#5056)
    - cursormgr: use XCURSOR_THEME for x themes
    - drag: check min size for reisze drags
    - dwindle: preserve fs state on switchWindows
    - events: apply monitor state on sessionActive
    - events: don't switch to active workspace on workspace rule
    - events: ignore setTitle when title didn't change
    - events: update render data after workspace window rule (#4931)
    - hyprctl: hide unmapped windows without -a
    - hyprctl: parse custom types in getoption
    - hyprctl: print format and modes
    - hyprpm: don't copy .so if file doesn't exist
    - input: Rewritten pointer constraints (#4889)
    - input: only override dragging corner on floating (#5092)
    - input: scale local coords in constraints
    - input: send motion to confined cursors
    - internal: Support libhyprcursor (#5009)
    - internal: Removed Herobrine
    - keybinds: Allow fullscreen/maximize in special workspace (#4921)
    - keybinds: Better handling of workspace_back_and_forth (#4952)
    - keybinds: better follow xkb translation state
    - keybinds: track submap at press for keypresses
    - keybinds: unconstrain mouse on focusmonitor and cyclenext (#4863)
    - layer-shell: allow for popup creation before map
    - layout: unfullscreen on toggle into tiled fullscreen
    - layout: warp the cursor when focusing windows (#4982)
    - master: change active monitor when moving windows around (#5001)
    - monitor: remove commas from short description (#4970)
    - notifs: Implement notification dimissing (#4790)
    - popup: send scale on map
    - refactor: move a few things to desktop/
    - renderer: Allow headless mode in hyprland (#4794)
    - renderer: adjust surface dimensions for oversized not-yet ackd
      surface sizes
    - renderer: force a few render frames on init anim end
    - renderer: respect forceNoBlur when rendering small surface windows
      (#4932)
    - sessionlock: refocus after destroy focused surface (#5117)
    - splashes: add 2ya splash
    - subsurface: Rewrite the subsurface tree (#4877)
    - subsurface: don't update transform on unmap
    - subsurfaceTree: assign surfaces to a CWLSurface
    - surface: unify owners
    - surfacetree: Revert "subsurfaceTree: assign surfaces to a CWLSurface"
    - window: ignore surface updates in unsafe / on invalid monitors
    - window: prevent vector modification segfault while iterating
    - window: remove unused list
    - windowrules: Make min/maxsize rules dynamic (#4775)
    - windowrules: check if floating when resizing from maxsize (#5019)
    - windowrules: minor improvements to min/max size
    - xdg: check for floating conditions before sending tiled size hint
    - xdg: minor improvements to initial size reporting
    - xdg: rewrite entire popup implementation
    - xkb: handle invalid keymaps in updateXKBTranslationState
    - xwayland: Set xwayland's name prop (#4924)
    - xwayland: disable initial focus for xwayland dialogs (#4936)
    - xwayland: set scaledBy for unmanaged windows in map
    - xwaylandmgr: don't read xwayland surface from unmapped xwayland
  - Added "fixed-missing-return-statement.patch" which is necessary to
    build hyprlang on non x86_64 architectures and some compile flags
* Fri Mar 01 2024 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.36.0:
    + A lot of fixes and changes, enjoy! Thanks for all the
      contributions :)
      CPU and GPU usage should be considerably down from 0.35.*
    + Breaking changes
    - config:
    * migrated to hyprlang. Some nice additions include
      rgba(123, 123, 69, 0.5), dynamic variables updating, and
      more.
    * all device:XYZ sections are now device { name = XYZ ..., see
      the wiki
    * ## is now properly treated as an escaped #.
    - windowrules:
    * no*request rules have been nuked in favor of the new suppressevent rule.
    + New features:
    - config: Add option to resolve keybinds by sym instead of code
      (#4851)
    - config: add defaultName for workspace rules
    - config: add opengl:force_introspection
    - core: add env to disable crash reporter
    - dispatchers: add Fullscreen without sending fullscreen to
      application (#4720)
    - dwindle: add swapsplit dispatcher (#4702)
    - feat: Add css style gaps (#4723)
    - hyprctl: add -r argument
    - internal: add forcenofocus prop (#4672)
    - keybinds: Add an option to pass a window argument to
      moveoutofgroup (#4724)
    - renderer: add more logging for fails in beginRender
    - socket2: monitoraddedv2 IPC event for monitor description and
      id (#4646)
    - windowrules: add suppressevent
    + Fixes:
    - config: fix errors in default config
    - config: fix layout invalidation for keyword commands (#4826)
    - config: fix tiny typo in defaultConfig.hpp (#4693)
    - core: Fix SEGV/ABRT core dump when exiting (#4823)
    - core: Fix building plugins (#4783)
    - core: Try to fix the exit hang (#4811)
    - crashreporter: fix logging of function data (#4632)
    - format: fix formatting
    - hyprctl: fix dispatchBatch() treating empty curitem as last
      request (#4681)
    - hyprctl: fix showing invalid instances
    - input: fix follow_focus
    - input: fix vectorToWindowUnified with floating over fs
    - keybinds: Fix focus not moving along when moving workspace
      (#4660)
    - keybinds: fix focuswindow for fullscreen (#4840)
    - keybinds: fix keys without keysyms triggering random binds
      (#4739)
    - keybinds: fix movewindoworgroup onto empy workspace on next
      monitor (#4486)
    - keybinds: fix swapactiveworkspaces not moving focus
    - layout: Fixed ghost window when opened while fullscreen on a
      different workspace (#4822)
    - monitors: fix outputmgr nullptr crash (#4738)
    - renderer: fix invalid damage accumulation with invalid
      buffer_age
    - renderer: fixup damage_ring rotation
    - renderer: minor fixes for introspection detection
    - screencopy: fix invalid damage being used for final copy in
      dma
    - screencopy: fix ~dtor being in monitorRenderResources map
    - shadow: fix missed invalid use of cfg val ptr
    - surface: fix damage calcs with a viewport src
    - surface: fix invalid damage tracking in damageSurface
    - surface: minor fixes for last logicalDamage calc fix
    - xdgpopup: fix UAF because of an invalid listener connection
    + Other:
    - IME: don't set modifiers on grab destroy
    - Migrate the config to hyprlang (#4656)
    - animationmgr: expand layer box for damage
    - assets: update tetrahedra by honkadaloonga
    - avar: return curve value of 1 when not animated
    - compositor: allow source monitor to be provided to
      getMonitorInDirection (#4837)
    - compositor: check for pworkspace validity in setActiveMonitor
    - config: adjust default splash col
    - config: remove usages of nomaximizerequest from default cfg
    - config: update default config for hyprlang migration
    - core: nullcheck for old monitor in moveWorkspaceToMonitor
    - crashreporter: Use ~/.cache as cache dir (#4719)
    - dwindle: round wbox before setting
    - events: bring back accidentally nuked preConfigReload
    - groupbar: scale groupbar text according to monitor scale (#4640)
    - hyprctl: ignore non-lock files for instances
    - hyprctl: jsonify new gaps
    - hyprctl: more safety around stoull
    - hyprctl: reload everything on dynamic source keywords
    - hyprctl: remove hardcoded hyprctl commands. (#4671)
    - input: Map touch devices and tablets bound to an output (#3544)
    - input: avoid rampant refocuses on popups
    - input: avoid reassigns of unchanged surfaces in
      processMouseRequest
    - input: don't schedule frame on cursor move on hw cursors
    - input: focus monitor on mouse down
    - input: log cursor image requests
    - input: partially revert #4514
    - input: refocus on completed drags
    - internal: removed Herobrine
    - keybinds: focus floating on top of fs
    - keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor
      instead (#4625)
    - misc: remove unused var
    - misc: you're the best for reading this :)
    - monitor: don't damage twice (#4727)
    - opengl: check bottom/bg layers for required introspection
    - renderer: Update splash text properties to be configurable
      (#4707)
    - renderer: accept custom state requests for fake outputs
    - renderer: don't calculate mirror damage without mirrors present
    - renderer: don't set solitary on present notifications
    - renderer: ignore set cursor surface if cursor should be hidden
      (#4780)
    - renderer: nuke lastFrameDamage and rework finalDamage
    - renderer: take into account fading out windows in solitary recheck
    - renderer: update cursor also when hostpot only changes
    - rules: ignore static tile/float rules in dynamic gets
    - screencopy/toplevelexport: sanitize pointers in ::copyFrame
    - screencopy: attempt binding framebuffer before gathering format
    - screencopy: avoid dangling client ptrs on client destroy
    - screencopy: damage entire screen on a no-damage request
    - screencopy: move monitor verif check to the proper place
    - screencopy: send full frame damage
    - sessionLock: send preferred fractional scale
    - shaders: use highp for fragments
    - socket2: move to the wayland event loop
    - surface: ensure global pointers valid before using in
      destructor (#4844)
    - toplevelexport: set last damage for dmabuf copy
    - vector: avoid min0 clamps without a max being invalid
    - wayland: implement keyboard_shortcuts_inhibit_v1
    - windowrules: nuke no*request
    - xdg: manually schedule initial configures
    - xwayland: ignore OR activate requests if surface doesn't want
      focus
    - xwaylandmgr: clamp size in setWindowSize
    - xwaylandmgr: proper clamping for setWindowSize
* Mon Feb 12 2024 Florian <packaging@sp1rit.anonaddy.me>
  - Update to version 0.35.0:
    + New hyprland release? No way. I think we got some new stuff and
      fixes.
      This release was brought to you by the Hyprland Corp.
    + New features:
    - config: Add border gradients to windowrulev2 (#4335)
    - hyprctl: add systeminfo
    - hyprpm: add --force for update
    - input: add special_fallthrough
    - keybinds: Add dispatcher for xmonad/qtile-style workspace
      switching (#4439)
    - master: Add more null checks for rollnext (#4343)
    - renderer: Add new background infrastructure
    + Fixes:
    - dwindle: fix windows being created at incorrect position when
      cursor is over reserved area (#4520)
    - hyprctl: screen_shader config fixes (#4102)
    - hyprpm: fix crash on add plugin
    - hyprpm: fix invalid pkg-config path env in build
    - keybinds: fix ignoremods with release
    - keybinds: fix keys getting stuck + minor refactor and
      optimizations to keybind handling (#4304)
    - keybinds: fix tracking of sent key states
    - layershell: Fix greedy mouse grab from keyboard_interactive
      layer (#4401)
    - main: Fix typo in std::cerr (#4359)
    - meson: fix wlroots patch (#4324)
    - pluginapi: fix hooks with negative rip offsets
    - renderer: fixup misaligned fsv1 surfaces with uv
    - subsurfaceTree: Fix nullptr crash when disconnecting a monitor
      (#4577)
    + Other:
    - HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict
      (#4321)
    - build: protocols: require wayland-protocols >= 1.32
    - compositor: clarify common errors at launch
    - compositor: don't close special on focus on pinned (#4533)
    - config: variables update their value when set again (#4263)
    - core: improve cleanup logic
    - crashreporter: skip first possibly cut off line in log tail
    - damage: use buffer_damage instead of effective_damage
    - dwindle: avoid sending negative sizes to wlr
    - events: ignore sending mouse enter to focused if a constraint
      is active
    - fractional: Set preferred scale on monitor config reload
      (#4406)
    - groupbar: Drag single window instead of destroying group
      (#4327)
    - groupbar: improve gradient handling (#4390)
    - groupbar: separate gradients from title (#4444)
    - hyprctl: move to a class and unify commands
    - hyprpm: don't update headers if they are up-to-date, only
      recompile
    - hyprpm: handle failed compilations gracefully
    - hyprpm: install headers locally (#4585)
    - hyprpm: log verbose return of cmake and meson in update
    - hyprpm: update global state on plugin recompile not header
      update
    - hyprpm: verify headersHashCompiled as well in headersValid()
    - input: Allow disabling touchscreen input (#4517)
    - input: allow focusSurface when locked if surfase is sessionLock
    - input: focus window on mouse down on decoration (#4514)
    - input: leave special on focus (#4358)
    - input: partially revert #4401
    - input: remove animate checks on resize limiter (#4480)
    - input: track exclusive LSes
    - internal: minor header cleanup
    - issue templates: make versions spoiler'd
    - keybinds: Refocus only if the silently moved window had the
      focus (#4328)
    - keybinds: avoid duplicated held keys, only use last, remove all
    - layout: Round window pos and size on togglefloating (#4407)
    - layout: save float props before setting fs state (#4537)
    - layout: update rules before applying fullscreen nodes in
      layouts
    - make: unbreak with non-GNU ln(1) after 78f9ba9
    - master: guard PNODE in roll*
    - monitor: clear output state after usage
    - monitor: don't call output_state_finish on buffer-less state
      clears
    - monitor: wrap usage of wlr_output_state
    - opengl: apply box rot to projections
    - opengl: rassert false on lost context
    - opengl: use texBox for rendering background texture
    - pluginapi: allow registering hyprctl commands
    - renderer: Only force nearest neighbor when the sizes are off by
      one or two (#4325)
    - renderer: allow rendering multiple fullscreen windows in third
      fs pass
    - renderer: avoid unnecessary gpu resource deletions
    - renderer: ignore box offsets for fullscreen windows
    - renderer: overhaul renderModifData
    - renderer: reset fb pointers after render pass
    - screenshader: rename output uniform to wl_output (#4606)
    - subsurfaceTree: update surface tree protocol feedback on map
    - surface: avoid spam of window surfaces with scale and transform
      events
    - swipe: Prevent hiding current workspace when swiping (#4417)
    - tearing-control: handle unmapped surfaces for hints
    - wlroots: update version patches
    - xwayland: remove delta from pos sets in configureX11
    - xwayland: remove reportedsize set in unmanagedSetGeometry
      (#4539)
  - The patch "0001-fixed-patchd-wlroots-build.patch" has been dropped
    as it appears as if it isn't necessary anymore.
* Thu Jan 04 2024 Florian <packaging@sp1rit.anonaddy.me>
  - Update to version 0.34.0:
    + Hey, haven't seen you in a year! New year, new hyprland update.
      The longest commit gap to date ends with this plentiful one :D
    + New tools:
    - hyprpm: a hyprland plugin manager. See the wiki or
      hyprpm --help for usage.
    + New features:
    - config: add debug:disable_scale_checks
    - config: add qt env to default config
    - dispatchers: add tiled/floating to cyclenext
    - groupbar: add egl context to refreshGroupBarGradients() (#4238)
    - groupbar: add enabling groupbar and setting priority (#4299)
    - hyprctl: add decorations (#4275)
    - hyprpm: add duplicate header error and log more verbose in
      install fails
    - input: Add scroll_points option for device (#4101)
    - input: add relative_input for tablets
    - master: add dispatchers rollnext and rollprev (#4209)
    - opengl: add toggleable nvidia_anti_flicker
    - renderer: add decoration:blur:popups_ignorealpha
    - renderer: add occlusion for special workspaces
    - renderer: add option to blur popups
    - systemd: add HYPRLAND_NO_SD_NOTIFY
    - windowrules: add focus param
    - windowrules: add initialTitle and initialClass (#4259)
    - windowrules: add onworkspace
    + Fixes:
    - border: fix failed assert on small windows
    - border: fix missed translate by offset
    - deco: fix missing border on togglefloating (#4305)
    - functionHooks: fix incorrect protlen calcs
    - hyprpm: fix with system headers
    - internal: fix interactions with fakefullscreen (#4113)
    - internal: minor include fixes and missed format
    - renderer: double lookup fix, input: double conversion fix (#4124)
    - renderer: fix auto scale detection with fractional
    - renderer: fix null cursor surface sets being ignored
    - signal: fix invalid pointer access (#4207)
    - toplevelexport: fix missed pmonitor set for opengl
    - toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
    - windowrules: minor fixes to onworkspace
    - xdg-shell: fix sending of suspended state
    + Other:
    - compositor: don't block focus if there is no keyboard
    - compositor: spawn environment setup with keybind manager (#3722)
    - config: Avoid regenerating config if --config is used (#4103)
    - config: Use canonical instead of read_symlink (#4136)
    - config: don't emit reloaded event before eventManager is created
    - config: improve layoutopt handling for workspacerules
    - configmanager: set a limit to config variable substitutions
    - crashreporter: don't explicitly set 777 on crash report directory
    - deco-positioner: include sticky in sent geometry
    - dwindle: Use window->middle() when cursor is on reserved area (#4253)
    - filesystem: Set the sticky bit on /tmp/hypr (#4199)
    - focus: prefer sendMotionEventsToFocused for ensuring cursor image
    - groupbar: Middle click on groupbar to close tab (#4297)
    - groupbar: remove extra border size from groupbars (#4262)
    - hyprctl: allow instances without HIS
    - hyprctl: check only ISDEBUG in version (#3702)
    - hyprpm: Make sure we're in git repo before getting new hash (#4303)
    - hyprpm: cast std::clamp args to be of the same type (#4116)
    - hyprpm: clone plugins recursively
    - hyprpm: guard empty command
    - hyprpm: trim paths in PATH
    - idle: notify idle on tablet inputs (#4201)
    - input: Activate resize_on_border only when key is pressed (#4170)
    - input: Ignore some input events when focus is on a layer surface (#4306)
    - input: Prevent crash with invalid keyboard layout (#4157)
    - input: allow setting cursor even if it's hidden
    - input: don't steal mouseDown from LS (#4260)
    - input: unset resize cursor on empty focus
    - internal: Remake borders as window decorations (#4104)
    - internal: Unify input handling on decorations (#4280)
    - internal: convert uname fields to strings before logging
    - internal: import qt env to dbus
    - internal: nuke CWindow::m_bMappedX11
    - internal: removed Herobrine
    - keybinds: Keep focus on special when switching workspaces (#4084)
    - keybinds: check for null last monitor in changeworkspace (#4077)
    - layout: Focus a floating window after closing the last tiled (#4137)
    - pluginapi: Trampoline hooks %rip patching improvements (#4256)
    - pluginapi: better wording for plugin function hook errors
    - pluginapi: log assembler return
    - pluginapi: manually detect endbr64 opcodes in function hooks
    - renderer: Allocate background texture only if required (#4111)
    - renderer: apply scale to wlr after checks
    - renderer: cursor hiding logic improvements (#4184)
    - renderer: deny invalid scales and suggest a replacement
    - renderer: don't render decorations on renderdata.decorate false
    - renderer: don't set surfaces on cursor timeout
    - renderer: don't use clipBox for pinned window occlusion during animations
    - renderer: ignore windowRequestedCursorHide
    - renderer: improve cursor hiding infra
    - renderer: improve fullscreen workspace client rendering
    - renderer: reject non-clean scales, find nearest clean
    - renderer: staticize local functions
    - renderer: use 120 as the denominator in scale checks
    - renderer: use nearest_neighbor for misaligned fractional-scale surfaces
    - renderer: use xray for background blur on small() surfaces
    - shadow: Avoid rounded shadows when rounding is 0 (#4230)
    - shadow: correctly scale boxes
    - socket2: emit configreloaded event
    - special: move floating windows along with the workspace
    - toplevel-export: commence render pass before reading
    - xdg: use better min/max size checks for floating resizes
    - xdgshell: bump to 6, send suspended states
    - xwayland: don't change workspace on configure for invisible windows
    - xwayland: set reported and pending size/pos on geometry sets
    - xwaylandmgr: allow resizes without a monitor
* Wed Dec 06 2023 Florian <packaging@sp1rit.anonaddy.me>
  - Update to version 0.33.1:
    + Small patch to fix some issues with screencopy / toplevel-export
      (notably crashing and/or misaligned buffers) and crashes on exit.
    + Fixes:
    - framebuffer: ignore addStencil on legacyRenderer
    - screencopy: fix glReadPixels offset
    - screencopy: fix legacyrenderer builds
    - toplevelexport: fix getPreferredReadFormat param in captureToplevel
    + Other:
    - hyprctl: order commands alphabetically (#4061)
    - input: Stop propagating axis events after valid binds (#4059)
    - input: don't send mouse events on touch (#4071)
    - internal: various improvements to avoid crashes on exit
* Tue Dec 05 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.33.0:
    + After the longest commit gap to date, I decided to bring y'all
      the 0.33.0 update. Enjoy!
    + Nvidia patches have been removed, they are no longer needed.
    + New features:
    - env: add HYPRLAND_NO_RT
    - events: add keyPress and mouseAxis
    - general: add workspace gaps (#3877)
    - hyprctl: Add 'layouts' command (#3895)
    - hyprctl: add monitors all to report all connected monitors
      (#3730)
    - pluginapi: add touch event hooks (#3836)
    - renderer: Adding an option to disable first launch animation
      [#3933])
    - workspacerules: Add workspace rule for master layout
      orientation (#3964)
    + Fixes:
    - config: Minor --config improvements, fixes (#4034)
    - config: fix red warn in default config
    - configmgr: fix parsing of touchdevice groups
    - deps: downgrade wlroots to fix crashes
    - group: fix dragging into floating groups (#3719)
    - groupbar: Fix position of groupbar titles on monitor scales
      != 1.0 (#3856)
    - groupbar: allow reload and fix locked groupbar gradient (#3546)
    - groupbar: fix crash in renderGradientTo
    - groupbar: fix text pos with verical offset (#3893)
    - hooksystem: fix missed log include
    - input: Fix custom acceleration profile config (#3948)
    - input: fix overzealous mouse capture on resize_on_border
      (#4010)
    - makefile: Add CXXFLAGS to hyprlctl's Makefile (#3913)
    - managers: fix debug log using printf format (#4007)
    - monitor: fix transform matrix calculations for transformed
    - opengl: fix missed makeEGLCurrent
    - opengl: fix nvidia read formats
    - opengl: fix swapped rgb drm formats
    - opengl: fix window introspection check
    - opengl: fix xray modes in introspection checks for ls
    - opengl: fixup blur dirty repaint conditions with solitary
    - output-layout: fix wlroots display handling (#3718)
    - pluginmgr: fix double use of dlerror()
    - renderer: Fix floating clipbox (#3907)
    - renderer: Fixup double rendering cases with special (#3928)
    - renderer: fix double render of tiled on workspace switch
    - renderer: fix floating window rendering when scale > 1 (#3901)
    - renderer: fix inverseOpaque calcs in renderWithBlur
    - renderer: fix software cursors on nvidia
    - renderer: fixup cursor scaling
    - screencopy: fix broken shm copying
    - screencopy: fix detecting gl shm formats
    - screencopy: fix shm exports with 10-bit
    - screencopy: fix shm sharing if introspection required
    - screencopy: fix transformed on shm
    - shadow: add workspace offset to floating window shadow (#3906)
    - vector: New operator overloads and small fix in Vector2D.
      (#3891)
    + Other:
    - build: remove nv patches (#3957)
    - compositor: drop unused vectorToWindow func
    - config: add nomaximizerequest all to default cfg
    - config: default special_scale_factor to 1
    - config: log info about logs before loading vars
    - config: Add variables to default config (#4032)
    - decorations: recalc layout and positioner on add/remove
    - deco-positioner: don't remove hidden windows' data
    - exec: remove redundant environment variables from spawn (#3923)
    - functionhooks: throw an exception on unsupported %rip usage
    - groupbar: more safety around gradient textures
    - groupbar: translate box by workspace offset
    - hyprctl: use a rolling buffer for reading requests
    - input: Handle fullscreen windows in vectorToWindowIdeal (#4021)
    - input: make fallback layout us
    - input: pass mouse input to IME popups (#3922)
    - inputmgr: clean lists in ~dtor
    - internal: Allow floating windows on special (#3872)
    - internal: make getPlusMinusKeywordResult return optional
    - internal: replace INT_MAX with WORKSPACE_INVALID
    - keybinds: Close special workspace after moving windows out of
      it (#3649)
    - layer-shell: simulate mouse movement on unmap
    - layout: Don't update pseudoSize after window moved by mouse.
      (#3873)
    - logging: move to an internal rolling log buffer
    - monitor: remove comma from monitor description (#3996)
    - opengl: Don't use wrong shader just because it's GLES (#3867)
    - opengl: better checking for required introspection
    - opengl: check for introspection on special_blur
    - opengl: clear layer fade fbs in ~dtor
    - opengl: don't make a mirror buffer on fakeFrame
    - opengl: free window framebuffers in ~dtor
    - opengl: require introspection on mirroring
    - opengl: tiled special require introspection
    - plugins: make logging on error more verbose
    - renderer: Move to a full Hyprland GL rendering pipeline (#3920)
    - renderer: avoid rendering floating windows twice with special
    - renderer: better checks for special rendering in
      renderWorkspaceWindows
    - renderer: clip floating boxes on slide anim
    - renderer: don't make snapshots of invisible windows on close
    - renderer: drop unnecessary spammy logs
    - renderer: make sure lastWindow has correct ws in
      renderWorkspaceWindows
    - renderer: nvidia checks and use glFinish on nvidia
    - renderer: pass proper arg to main param of uv calcs
    - renderer: proper full occlusion checks for back layer
    - renderer: separate oversize uv calcs in dimensions
    - renderer: use occlusion checks for buffer clear
    - renderer: use viewporter corrected size for uv calcs
    - screencopy: use buffer format for glReadPixels
    - screencopy: use drmFormat instead of wlr funcs
    - screencopy: use new isNvidia() for format
    - shaders: Some more changes in rgb2hsl. (#3834)
    - shadow: avoid fatal mutation of the windowBox for calcs
    - shadow: avoid using glClear and don't draw behind window if
      ignore_window
    - subsurfaces: damage window on subsurface size change
    - surface: avoid infinite pointer image resets
    - windowrules: make idleinhibit dynamic
* Sat Nov 11 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Upstream seams incapable of properly validating their releases.
  - Update to version 0.32.3:
    + A small hotfix for 0.32.2's occasional crashes.
    + Fixes:
    - decoration-positioner: improve stability
    + Other:
    - props: bump ver to 0.32.3
  - Changes from version 0.32.2:
    + A result of a few small hurried mistakes in 0.32.1. Hypr-active
      development, am I right? :)
    + Fixes:
    - shadow: move workspace offset calcs to draw
    - xdg: set state maximized for all tiled windows
    + Other:
    - props: bump ver to 0.32.2
    - shaders: Avoid calculating unused values in hsl2rgb. (#3827)
    - shaders: Small optimization in rgb2hsl. (#3831)
  - Changes from version 0.32.1:
    + Small update with some fixes for screencopy, xdg surface
      handling, shadows on 10bit, etc.
    + Fixes:
    - hyprctl: Fix build warnings (#3821)
    - screencopy: round boxes
    - xdg-shell: improve ack-configure handling
    - xdg-shell: update reported size on ack_configure
    - xwayland: add half of delta to configure request sizes
    + Other:
    - animationmgr: push shadow avs to ended on disabled
    - deco-positioner: recalc after uncache
    - decoration-positioner: improve extent handling
    - decorations: Decoration Positioner (#3800)
    - deps: update wlroots
    - hyprctl: return group list in correct order (#3683)
    - input: don't schedule repaint on cursor move if hardware
    cursors are in use
    - opengl: remove unused alpha matte from shadow
    - opengl: switch to black-and-white for alpha mattes
    - shaders: Use clamp in doubleCircleSigmoid. (#3824)
    - shadow: alpha treatment improvements
* Tue Nov 07 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.32.0:
    + A small update brought to you by yours truly :)
      This time without breaking changes. I think.
    + New features:
    - binds: add ignoreMods flag
    - binds: add movefocus_cycles_fullscreen
    - example: add special workspace to default config
    - fractional-scale: fix addon existence check
    - groups: add option to configure font name (#3751)
    - hooksystem: add callbackinfo struct and cancellable events
    - hyprctl: add a query for workspace rules (#3630)
    - hyprctl: add focusHistoryID to hyprctl clients
    - pluginapi: add a config keyword adding method
    - renderer: add transformers
    - renderer: added new customization options to the blur shaders
    (#3650)
    - windowrules: add nearestneighbor
    - workspacerules: Add new optional "default command" for
    auto-launching apps on new workspaces (#3559)
    + Fixes:
    - Master: fix drop_at_cursor when there are only two windows
    (#3734)
    - compositor: Fix a lack of a check for workspace equality on
    same monitors in getInDirection (#3625)
    - config: fixup usage of plugin in handles
    - fix(build): do not include wlr headers directly, use
    includes.hpp instead. (#3587)
    - fractional-scale: fix addon existence check
    - group: fixes for dragging groups onto groupbars (#3708)
    - includes: fix box headers (#3771)
    - input: fix force_zero_scaling for tablet and touch (#3644)
    - input: fix mouse down handling on unset last surface
    - input: simulate mouse movement to fix focus on open/close
    window
    - layout: fix missed setWindowSize in no_gaps_when_only node
    apply
    - layout: fix various rounding errors
    - master: fix movewindow across monitors (#3628)
    - master: fix moving window between monitors (#3721)
    - master: fix resizing wrong window behind in special workspace
    (#3591)
    - pluginapi: fixup get_hash functions
    - renderer: fix legacy_renderer build (#3732)
    - renderer: fix missed box scale
    - renderer: fix shimmers when manual resizing
    - renderer: fix small surface's blur region being offset by
    monitor coords
    - renderer: fixup blend disable conditions in renderSurface
    - shadow: fix ignore_window false
    - shadow: fix missed fullBox.scale
    - shadows: fix on transformed
    - wlsurface: fix small detection
    + Other:
    - Core: various unsafe state improvements (#3713)
    - Decos: Window decoration flags, shadow improvements (#3739)
    - Internal: Hyprland box implementation (#3755)
    - Map cmake None to meson's plain
    - box: use std::round instead of std::floor in ::round()
    - compositor: allow windowfromregex floating param
    - compositor: allow windowfromregex tiled param
    - compositor: do not process fullscreen events in unsafe
    - compositor: find windows in direction on floating
    - compositor: remove old comment
    - compositor: send preferred scale and transform events to
    surfaces
    - dwindle: move to CBox for expressing nodes
    - events: better adjust to unreported sizes for xwayland apps
    - events: ignore takes_over_fullscreen for floating windows
    - events: make new windows taking over fullscreen keep the
    existing mode (#3588)
    - events: set reported size on floating map
    - events: set reported size on the end of mapping
    - fractional-scale: post error on taken fs objects
    - hyprctl: log monitor id in workspaces request
    - includes: include sharedDefs in includes.hpp
    - includes: include vector2d for sharedDefs
    - input: Apply scaling to cursorPosOnActivate position (#3664)
    - input: better cursor image infrastructure
    - input: don't reset cursor movement timer on
    simulateMouseMovement (#3595)
    - input: handle mouse on decorations (#3560)
    - input: let input-grabbing decos have prio over resize on
    border
    - input: properly track xdg surfaces' geometry in
    vectorToSurfaceLocal
    - input: remove incorrect check in re-enter
    - input: send motion events on focusWindow if follows_mouse is 0
    - input: simulate movement only if mouse is over in open/close
    window
    - internal: create canBeGroupedInto() (#3693)
    - internal: honor close_special_on_empty on moveToWorkspace
    - layershell: support ON_DEMAND keyboard mode
    - layout: avoid redundant size sets on new fullscreen
    - layout: better storage for no fullscreen checks var
    - layout: round box in mouseMove
    - layout: round window boxes after special scale factor
    - main: set isShuttingDown after display dispatch reaches the
    end
    - meson: generate version.h before install_headers (#3612)
    - region: include box in the header
    - renderer: allow transform enabling from outside opengl
    - renderer: avoid drawing invisibly small surfaces in
    renderSurface
    - renderer: blur properly behind small surfaces
    - renderer: cast std::clamp args to be of the same type (#3589)
    - renderer: improvements to wayland surface small() detection
    - renderer: properly pass 10-bit formats to opengl
    - renderer: properly set currentFB on snapshot renders
    - renderer: render oversized blur with respect to fade alpha
    - renderer: respect viewporter dest on base surfaces
    - renderer: use optional for cursor surface storing
    - renderer: use preOffset pos instead of offset
    - shaders: support changing the outer radius of borders
    independently
    - subprojects: update tracy
    - surface/wayland: conform to small surface requirements
    - transformers: allow modifying renderdata pre-pass
    - window: update window reported size on damage events
    - workspacerules: search for special properly
    - xdg: send unconstrain events after a popup reposition (#3716)
    - xdg: use std::ceil for sending scale to surfaces
  - Dropped "fix_ia86_std_clamp.patch" as it has been merged upstream.
* Sun Oct 22 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Added "fix_ia86_std_clamp.patch" that is required for Hyprland to
    build on ia86.
* Thu Oct 19 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.31.0:
    + A sizeable update for y'all, with quite a few breaking changes.
    + Breaking changes:
    - decoration:multisample_edges has been nuked. A better
    algorithm is used by default.
    - misc:disable_hypr_chan has been removed. The new, more
    flexible option is misc:force_default_wallpaper with a default
    of -1. Setting to 0 will use the non-anime backgrounds
    exclusively and behave like the old disable_hypr_chan = true.
    - All group-related options have been moved to group:, please
    see the docs here:
    https://wiki.hyprland.org/Configuring/Variables/#group
    - Some makefile stuff has been changed/removed
    + New features:
    - Plugin API: Add version query (#3545)
    - dispatchers: Add option to center the cursor on the focused
    window when switching workspaces (#3528)
    - includes: add missing log include to animatedvariable
    - input: Add map to region options for tablets (#3425)
    - internal: Add GTK portal as fallback (#3469)
    - internal: add a watchdog
    - layout: add new_window_takes_over_fullscreen mode 2
    - makefile: fix using -d test for a binary file AND re-add
    missing portals conf (#3570)
    - master: add option to drag and drop windows at cursor position
    (#3465)
    - misc: add misc:new_window_takes_over_fullscreen
    - renderer: add force_wallpaper instead of no_hypr_chan (#3459)
    - renderer: add further conditions to solitary recheck
    - renderer: Tearing implementation (#3441)
    - workspacerules: Add a persistent workspace rule (#3530)
    + Fixes:
    - dispatchers: fix extra monitor offset when snapping floating
    (#3520)
    - events: fixup empty events not being sent on unmap
    - hyprctl: fix crash in unsafe state with activeworkspace
    - input: fix unused variable warn
    - input: fix warn
    - input: fixup frame schedule conditions on mouse move
    - input: fixup mouse down refocus conditions
    - input: minor constraint fixes
    - master: fix drop_at_cursor on workspace 2 (#3512)
    - renderer: considerable fixes to repaint logic
    - renderer: fix missing check for surfaceCount in rechecking
    solitary
    - renderer: fixup solitary conditions
    + Other:
    - Debug: respect logging settings for wlr (#3584)
    - animationmgr: damage floating windows on workspace anim
    - build: Unbreak build without precompiled headers (#3400)
    - build: guard execinfo.h via build systems (#3547)
    - build: include version.h in PluginAPI.hpp (#3571)
    - cleanup: Replace find() with C++20 starts_with(), ends_with()
    and contains() (#3572)
    - config: mention force_default_wallpaper in default configs
    - config: restore configCurrenPath after sourcing file (#3339)
    - config: trim spaces in the rule field in windowrulev2
    - crashreporter: avoid using empty CACHE_HOME
    - dispatchers: support number as arg in changegroupactive
    (#3329)
    - dwindle: Avoid rounding errors in window position (#3524)
    - events: don't focus new window if spawned behind fullscreen
    - events: set new window alpha to 0 if it's tiled behind
    fullscreen
    - examples/readme: mention tearing
    - groups: create group and groupbar config sections (#3522)
    - groups: ensure consistency in dispatcher behavior with global
    group lock (#3531)
    - hyprctl: avoid .pop_back() on empty string
    - hyprctl: log activelyTearing for monitors
    - input: avoid using the wrong surface in drag focus force
    - input: properly track mouse focus on drag operations
    - internal: Further unsafe state improvements (#3404)
    - internal: better versioning (#3543)
    - internal: include missing header (#3464)
    - internal: removed Herobrine
    - internal: use pragma once in version.h
    - layershell: avoid configure on unchanged size
    - layout: check for specialworkspace in floating toggle
    - layout: don't discard fullscreen on new tiling
    - log: log wlr errors regardless of env
    - meson: Sort input file list (#3550)
    - meson: use ln with force flag (#3568)
    - monitor: ensure vrr on workspace change
    - notifications: Schedule a frame on notification creation
    (#3556)
    - pluginapi: remove starting newline in demangled func name
    (#3502)
    - props: bump ver to v0.31.0
    - render: stop locking SWC on tearing
    - renderer: avoid spamming software cursor locks
    - renderer: extract solitary check into frame handler
    - renderer: lock software cursors while tearing
    - renderer: nuke multisample_edges in favor of a faster
    algorithm
    - renderer: optimize render pipeline when there is a solitary
    client
    - renderer: remove old debug log
    - screencopy: enhance error logging
    - shaders: Remove redundant clamp of smoothsteps return value.
    (#3456)
    - shaders: improve border rounding
    - tearing: cleanup vars and avoid rendering before drm is ready
    - watchdog: don't hang on exit
    - watchdog: initialize after config
    - watchdog: remove thread on destroy
    - wsrules: check for workspace ID matches on numbered workspaces
  - Renamed 0002-fix-patched-wlroots-build.patch to
    0001-fixed-patchd-wlroots-build.patch simply due to git doing this
* Sat Sep 23 2023 Florian <packaging@sp1rit.anonaddy.me>
  - Update to version 0.30.0:
    + New Hyprland update guys wake up!
      Shoutout to the entire country of Romania and @fufexan, and the
      top Gs pumping out more MRs than I can physically review @memchr
      @Dickby @MightyPlaza @thejch and more :)
    + New features:
    - config: add wildcard handling in source= (#3276)
    - doc: Add a CoC (#3366)
    - dwindle: add proper movement for window move binds
    - feat: add a new movewindoworgroup dispatcher (#3006)
    - input/config: add button scroll lock (#3189)
    - layout: add direction parameter to onWindowCreated and friends
      (#3269)
    - layout: add missing groupbar decoration to the window (#3235)
    - master: Add mfact dispatcher (#3298)
    - master: Add orientationcycle command on MasterLayout (#3128)
    - master: Add smart resizing option for master layout (#3210)
    - misc: add disable_hypr_chan option (#3343)
    - socket2: add renameWorkspace event
    - socket2: added "activespecial" IPC event (#3163)
    - varlist: move to a separate header, add join
    - windowrules: add % to resizeparams (#3246)
    - windowrules: add on-screen constraint to wrv2 'move' (#3247)
    - windowrules: add rule group to map windows grouped (#3279)
    + Fixes:
    - Vector2D: fix typo in include
    - config: fix relative path resolution (#3308)
    - dwindle: fix moving windows on special
    - dwindle: fix: don't merge groups when moving window (#3302)
    - fix(layout): remove focusWindow calls from
      onWindowCreatedTiling (#3233)
    - fix: focusWindow on hidden workspace triggers another
      focusWindow. (#3216)
    - fix: inconsistent behaviour where last workspace was not saved
      (#3261)
    - hyprctl: fix missing comma in getopt -j
    - input: Various constraint handling fixes (#3381)
    - input: minor constraint fixes
    - internal: Fix wlr output management (#3234)
    - master: Fix the wrong resize speed in master layout center
      orientation (#3289)
    - master: partially revert 0e64dd2 and fix the animation (#3327)
    - refactor: fix missed middle() call in CKeybindManager
    - renderer: Fix blur for passes set to 0. (#3181)
    - renderer: fix missing dontRound check in renderSurface
    - windowrules: Monitor rule fix (#3157)
    - windowrules: fix workspace exec rule with special (#3316)
    - windowrules: fix workspace rule separation
    + Other:
    - animatedvariable: don't reset timers on duplicate setters
    - animationmgr: Optimize CAnimationManager::scheduleTick a bit.
      (#3172)
    - animationmgr: guard monitor ptr in animationSlide
    - bezier: Optimize CBezierCurve::getYForPoint (#3321)
    - bezier: Remove Todo about N-Point bezier curves. (#3352)
    - build: use PCH to reduce compile time (#3095)
    - config/input: Improve fallback behavior for unset device
      config values (#3184)
    - config: Integrate HASCONFIG into
      CConfigManager::getConfigValueSafeDevice (#3195)
    - config: disable blur special by default
    - config: don't enable vrr 2 for maximized workspaces
    - config: loosen restrictions around animation keywords
    - hyprctl: Make device configs queryable (#3226)
    - hyprctl: print monitor IDs as int64
    - input: do not process mouse in unsafe state
    - input: don't refocus on switched workspace on the same monitor
    - input: don't warp region constraints
    - input: guard constraint in unconstrainMouse
    - input: lock focus to last surface on buttons held
    - input: simplify fullscreen workspace input calculations
    - internal: Make part of CCompositor::focusWindow a bit easier
      to read. (#3356)
    - internal: Remove all .c_str() calls when using std::vformat
      (#3198)
    - keybinds: Do not suppress pass and mouse release (#3219)
    - keybinds: avoid onWindowRemoved & onWindowCreated when group
      has one member (#3286)
    - keybinds: focus last window on workspace change to another mon
    - keybinds: ignore conditions on special release
    - keybinds: ignore mods on release of special binds
    - keybinds: implement pushactivetobottom dispacher (#3217)
    - keybinds: movewindow to screen edge for floating windows
      (#3245)
    - keybinds: simulate movement on empty focus after workspace
      change
    - keybinds: track pressed special binds
    - keybinds: unify changeworkspace dispatcher (#3250)
    - keybinds: warp cursor to correct window in
      moveWindowOutOfGroup (#3290)
    - layout: Allow the layout to control how windows are raised in
      groups (#3275)
    - logging/format: use std::format_string to catch formatting
      string errors at compile time (#3377)
    - logging: implement std::formatter for some types (#3380)
    - master: respect the resizing animation option in master layout
      (#3300)
    - monitor: ignore no-op workspace changes
    - monitor: minor adjustments
    - refactor: flatten nesting ifs in layout window creation method
      (#3294)
    - refactor: manually resets singletons (#3395)
    - refactor: replace lambdas with CKeybindManager::switchToWindow
      (#3229)
    - refactor: replace manual iteration of CWindow with existing
      methods (#3147)
    - refactor: utilize 'middle()' method for window/montior center
      (#3253)
    - renderer: cleanup drm format selection
    - renderer: damage monitor on special workspace change
    - renderer: separate workspace window render logic
    - screencopy: log renderer_begin_with_buffer failures
    - socket2: emit lockgroups event (#3317)
    - varlist: cleanup unintuitive string splitting (#3369)
    - window: recalculate layout on swallow in map
    - wlroots: disable wlr vulkan support
    - xdgoutput: do not destroy resources on monitorRemoved
    - xwayland: adjust coord calculation
    - xwaylandmgr: find closest output in xwayland coord translation
* Sun Sep 03 2023 Florian <packaging@sp1rit.anonaddy.me>
  - Update to version 0.29.1:
    + New hyprland update :)
      Fixes some annoying wlroots bump related issues and adds some
      QoL stuff.
    + New features:
    - special: add misc:close_special_on_empty
    + Fixes:
    - fix: use-after-free of CWindow* in
      CHyprGroupBarDecoration::draw (#3146)
    - input: fix xwayland constraint calcs
    - keybinds: fixup global conditions
    - keybinds: fixup release conditions
    - refactor: raise SIGABRT instead of write to null address
      (#3124)
    - renderer: fixup occlusion conditions
    - screencopy: fix region sharing
    - text-input-v1: Fix preedit styling in chromium (#3131)
    + Other:
    - compositor: remove wlr_scene refs
    - decos: groupbar mouse interaction (#3102)
    - globalshortcuts: allow empty appid
    - input: warp in unconstrainMouse
    - internal: Unsafe state reworks (#3114)
    - internal: workspace rule handling refactor (#3116)
    - keybinds: set special monitor id before recalc
    - keybinds: suppress up event if down was consumed
    - layout: always center floating xdg windows
    - meson: remove refs to ext-workspace-unstable-v1
    - opengl: cleanup framebuffer style
    - readme: refactor and update a bit
    - readme: remove wlr_ext workspace proto support mention
    - renderer: don't set enabled in applyMonitorRule
    - renderer: render IME popups in fullscreen
    - waylandResource: remove user data in markDefunct and not ~dtor
    - window: check for special id matching in close_special_on_empty
    - wlr-ext-workspace: remove protocol impl
* Tue Aug 29 2023 Florian <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.29.0:
    + Plamene zore bude me iz sna.
      New Hyprland update brought to you by Yours Truly :)
    + Breaking changes
    - misc:suppress_portal_warnings has been yeeten (alongside the
      warning)
    + New features:
    - animations: add slidefade and slidefadevert styles for
      workspaces (#3008)
    - background: add background color option (#2915)
    - config: add vrr per-display
    - feat(debug): add debug:suppress_errors to suppress errors.
      (#3032)
    - hyprctl: add --instance
    - input: add transparent binds
    - internal: add a new monitor auto system
    - internal: add lock files and hyprctl instances
    - renderer: add decoration:blur:special
    - renderer: don't add workspace offset to pinned
    - rules: add layer and window xray rules
    + Fixes:
    - Close keymap files. Fixes #2904 (#2905)
    - compositor: fix auto positioning offset calcs
    - compositor: fix log types
    - compositor: fix missed raw throws
    - compositor: fix offset in auto arrangeMonitors
    - compositor: fix skipping iterators in arrangeMonitors
    - fix workspace change focus (#2891)
    - fix: improved focus behaviour on workspace switching for
      follow_mouse!=1 (#3041)
    - hyprctl: fix hyprpaper
    - hyprctl: fix old request methods
    - input: fix and unify client checking in mouseRequests
    - internal: Fix XDP multi-portal issues (#3077)
    - internal: Fix grouped windows not being properly focused on
      activation (#2925)
    - macros: fix missing include
    - master: fix always_center_master (#2961)
    - renderer: fix missing premultiplication for border
      multisampling
    - shaders: minor premultiplication fixes
    - toplevelexport: minor fixes to dmabuf
    - xwayland: fix incorrect VECINRECT usage
    - xwayland: fix use of xwayland coords in native spaces
    + Other:
    - animationmgr: avoid redundant ticks
    - compositor: don't apply offsets in renderer
    - compositor: log more in arrangeMonitors
    - compositor: log thrown runtime exceptions
    - compositor: minor cleanup
    - compositor: update window rules on workspace move
    - config: adjust default background color
    - deps: update wlroots
    - dwindle: disallow togglesplit on fullscreen
    - dwindle: use smart on display borders (#2897)
    - gestures: Swipe direction lock (#3052)
    - input: improved path handling; null check return value of
      fopen. (#3061)
    - input: notify idle about activity on mouse move regardless of
      focus
    - input: sanitize newlines in device names
    - input: unify constraint hint logic
    - internal: Wayland Protocol impl improvements (#2944)
    - internal: allow negative monitor offsets
    - internal: allow opening empty special workspaces
    - internal: cleanup headers in helpers/
    - internal: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE
      (#2989)
    - internal: move backtrace to specific func
    - keybinds: Keep aspect ratio (#2907)
    - keybinds: Only call fclose() when we have a valid file.
      (#2908)
    - layers: set proper alpha to top grabbing surfaces
    - layout: Use refreshrate tick on all manual animations (#2988)
    - layout: allow changing float status of fullscreen windows
    - layout: allow drag on fullscreen windows
    - layout: use full box for visibility check of floating xdg
    - master: layout resize makes the wrong size changes (#3064)
    - props: bump ver to 0.29.0
    - remove shadow no_gaps_when_only (#2956)
    - remove shadow no_gaps_when_only master (#2958)
    - renderer: Border improvements (#2986)
    - renderer: don't blur special on disabled blur
    - renderer: fully switch to premultiplied alpha
    - renderer: make contrast and brightness adjustments before
      rendering
    - renderer: remember extents before removing a window and use
      them for dt
    - renderer: track fade alpha for blur if ignore opacity is true
    - renderer: update alpha of layers only if active ws (#2994)
    - rules: center window improvements (#2935)
    - toplevel: patches group toplevel-activated (#2931)
    - xdgoutput: don't send all details in .get
    - xdgoutput: manually destroy manager resource
    - xdgoutput: mark resources defunct when monitor is unplugged
    - xdgoutput: separate logic for zero scaling positions
    - xdgshell: damage old popup coords after a reposition
    - xwayland: drop wlr_xwayland_surface.events.set_pid (#2884)
    - xwayland: use a completely separate coordinate system
    - xwayland: use logical pos in unmanaged geom requests
* Fri Aug 11 2023 Florian <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.28.0:
    + Ayo new Hyprland update!
      The biggest performance update in Hyprland's history!
    - CPU idle reduced by half.
    - GPU usage reduced around 2-4 times.
    + Breaking Changes:
    - All blur values have been moved to decoration:blur:.
    + New features:
    - Added git tag in json version command (#2821)
    - add config option to enable/disable new intuitive resizing
      (#2774)
    - background: add option to force hypr chan
    - backgrounds: add hypr chan var 2
    - groups: add use_current_group_pos (#2759)
    - init: Request SCHED_RR using CAP_SYS_NICE (#2690)
    - input: add support for cursor-shape-v1
    - keybinds: add toggle to dpms
    - renderer: add canSkipBackBufferClear
    - renderer: add occlusion for back layers
    - renderer: Various Blur Improvements (#2877)
    - socket1: add a timeout for requests
    - tracy: add more opengl zones
    - windowrules: add workspace param
    - xwayland: Add temporary fix for #2808 by adding nullptr check.
      (#2829)
    + Fixes:
    - Fix background occlusion ignoring monitor position (#2771)
    - init: Fix for issue #2797 (#2799)
    - input: Fix #2376 mouse movement bug in XWayland (#2776)
    - input: fix styling
    - opengl: fix warn
    - render: Border fixes (#2781)
    - renderer: fix rounding in renderSurface
    - toplevelexport: support dmabuf + various fixes
    - window: fix segfault in boundingbox
    - windowrules: fix opacity override
    - xwayland: Add temporary fix for #2808 by adding nullptr check.
      (#2829)
    + Other:
    - animationmanager: optimize avar state
    - animationmgr: avoid looping over all avars in favor of only
      active ones
    - assets/meson.build: install new wallpapers
    - config: schedule frame for mons on reload
    - config: update default config for new blur changes
    - debug: add tracy
    - deps: update wlroots
    - forms: bring back auto labels
    - hyprctl: rerender on cursor_zoom_factor dynamic calls
    - internal: Wrap regions (#2750)
    - internal: Removed Herobrine
    - keybinds: Make moveintogroup locking check configurable
      (#2796)
    - layout: no_border_when_only-improvements (#2791)
    - layout: use warp() instead of setValue()
    - opengl: adjust blend and reduce the usage of clear
    - props: bump version to 0.28.0
    - region: allow ctor from pixman_box32_t
    - render: avoid allocating mirrorfb for no reason
    - render: use primitive end() only when no screen shader is
      present
    - renderer: adjust distribution of backgrounds
    - renderer: cleanup back buffer skip checks
    - renderer: cleanup old redundancies in CFramebuffer
    - renderer: disable init anim on disabled animations
    - renderer: don't occlude when pre-blur is queued
    - renderer: remove unused var
    - renderer: reset scissor after renderTexturePrimitive
    - renderer: scale box for occlusion
    - renderer: take workspace offset into account for occlusion
    - renderer: use primitive rendering for copying buffers
    - shaders: short-circuit rounding if radius <= 0
    - windowrules: implements nomaximizerequest (#2785)
    - windowrules: improve opacity
* Wed Jul 19 2023 Florian <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.27.2:
    + Minor patch to fix nested sessions and screencopy crashes.
    + New features:
    - Add bringWindowToTop function to IHyprLayout (#2747)
    + Fixes:
    - no_xwayland: fix redef
    + Other:
    - keybinds: movegroupwindow-improvement (#2740)
    - render: set refresh to 0 for both wl and x11 backends
    - screencopy: guard region buffer values in frameDamage
    - screencopy: improve shm handling
    - screencopy: use wlr_buffer api for shm copies
* Tue Jul 18 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.27.1:
    + Minor update to fix some crash issues and stuff
    + New features:
    - background: add mascot versions
    - build: add asan enable status flag
    - issues: add form templates
    - keybinds: add movegroupwindow
    - windowrules: add border size rule
    + Fixes:
    - fix: handle window change directions in fullscreen (#2728)
    - idle: fix reverse flag for new idle protocol
    - massive-fix (#2725)
    + Other:
    - Allow empty args in hyprctl dispatch (#2724)
    - Avoid connected monitor reusing unavailable ID (#2731)
    - Dwindle: Make resize more intuitive (#2681)
    - Make bind modmask case-insensitive (#2714)
    - deps: update wlroots (#2734)
    - idle: implement new protocol
    - internal: Protocol C++ Wraps + XDGOutput impl (#2733)
    - internal: Remove herobrine
    - layout: recalc window on dynamic rule update
    - layout: recalculate monitor instead of window in
    updateDynamicRules
    - monitor: disconnect bind on disconnect
    - monitor: unplug all callbacks in ~dtor
    - move/resize window (#2706)
    - only return 0 when using -h (#2738)
    - renderer: use correct wlr sample func
    - screencopy: nullcheck for empty buffer
    - update group decos (#2705)
    - xwayland: guard monitor validity in xwayland scale overriding
* Fri Jul 14 2023 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Dropped 0001-meson-fix-hyprland.pc-install-location.patch. It
    turns out, /usr/share/pkgconfig was the right directory after all.
  - Updated to version 0.27.0:
    + Sup y'all, new Hyprland update dropped :)
      Shoutout to grandma
    + New features:
    * Add support for smart splitting (#2676)
    * Allow setting alpha value for ignorezero layer rule (#2477)
    * feat: add ipc set title window event (#2419)
    * feat: add lockactivegroup dispatcher (#2478)
    * feat: add variable to customize locked group border color
      (#2507)
    * gestures: add workspace_swipe_use_r
    * noxwl: add missing stubs
    * pluginapi: add configReloaded event
    * rules: add nodim
    * rules: add stayfocused
    * screenshader: add output uniform
    * xwayland: add force_zero_scaling
    * xwayland: add nearest neighbor filtering as an opt
    + Fixes:
    * Fix crash when screen size is 0x0 (#2523)
    * Fix fractional scale updates in some cases (#2447)
    * chore: fix typos (#2463)
    * config: fix floating rules with floating-by-rule windows
    * config: fix reading touchpad values to non-touchpad per-device
      cfgs
    * config: minor path handling fixes
    * configmgr: fix idiotic comparisons in device configs
    * fix updating revision in wlroots.wrap
    * format: fix hooksystem
    * gradient: fix warn
    * groupbar fixes (#2630)
    * groupbar: fix damage calcs
    * groupbar: fix vram leak
    * internal: minor style fixes
    * layout: minor style fixes
    * lockgroups fix (#2636)
    * main: fix segfault when -c is given with no other arguments
      (#2470)
    * opengl: fix invalid tex references to tex-less shader
    * plugins: fix config value usage in init
    * screenshader: fix uniform variable checks (#2513)
    * screenshot fix (#2640)
    * swipe: fix mixup of r/m
    * texture: fix styling
    * xwayland: fix minor force_zero_scaling bugs
    * xwaylandmanager: fixup style
    + Other:
    * Avoid passing control unix socket descriptors to children
      (#2656)
    * Cleanup compositor deadcode (#2657)
    * Close socket2 client descriptor on hangup (#2654)
    * Implement pass binds (#2503)
    * Keep new mapped layer's alpha zero if the workspace has a
      fullscreen window (#2686)
    * Make movetoworkspace register previous workspace (#2436)
    * Partial revert of Commit 302ec13: (#2539)
    * Reloads animated decoration values set on window rules (#2594)
    * Reloads dynamic window rules (#2585)
    * Reuse same ID when reconnecting monitor, otherwise use minimum
      available ID (#2666)
    * Update ISSUE_GUIDELINES.md faq link to the wiki (#2424)
    * Xdg config home support (#2047)
    * [hyprctl] Expose the special workspace id and name of the
      monitor (#2392)
    * animationmgr: warp on equal start and goal
    * calculate zoom_center based on monitor scale (#2482)
    * compositor: don't set dim percent on disabled dim
    * compositor: move group members properly in
      moveWindowToWorkspaceSafe
    * crashreporter: log tag
    * damage: account for popups in getFullWindowBoundingBox
    * eventmanager: drop obsoleted ignore events flag (#2660)
    * events: remove old comment
    * gamma: use wlr's new gamma manager event
    * hyprctl: recalc layout on setprop
    * includes: move workspace protocol header to includes
    * input: force focus on movefocus
    * input: remove old redundant code
    * input: schedule frame on mouse move
    * input: update surface input on changeworkspace
    * internal: damage window on change group
    * internal: make borderSize prop overridable
    * internal: properly set monitor props on special windows
    * keybinds: remove old todo
    * layout: improve time restraints in window drag
    * layout: set pseudo to float size in new window
    * layouts: make aware of borderSize prop
    * monitor desc default workspace (#2673)
    * monitor desc default workspace but working now (#2678)
    * monitor desc support (#2670)
    * props: bump ver to 0.27.0
    * render: move lastFrameDamage to CMonitor
    * render: resize subsurfaces with size resizes
    * renderer: damage decos on damageWindow
    * screencopy: send original damage, avoid extents
    * shader: init uniforms to -1
    * shader: remove useless comment
    * shadow: drop useless damageEntire()
    * toplevelexport: ignore defunct windows
    * window: recalc on deco remove
    * xwayland: disconnect events on destroy
    * xwayland: remove spaces from output names
    * xwayland: send zero scaling to xwayland if enabled
    * zoom: multiply by scale only on mouseZoomUseMouse (#2495)
* Tue May 30 2023 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Added "devel" package required to build Hyprland plugins.
    + Added required tests:
    * 0001-meson-fix-hyprland.pc-install-location.patch
    * 0002-fix-patched-wlroots-build.patch
  - Update to version 0.26.0:
    + WHY DID MY ENTIRE RELEASE GET WIPED REEEE
      Anyways Hyprland update woooo
    + New features:
    * Add "next on monitor or empty" workspace parameter (#2198)
    * Add hyprland to waybar-hyprland path as fallback for hyprctl
    * Add split preselection (#2240)
    * decos: recalc on add
    * groupbars: add text color opt
    * groupbars: add title and gradient rendering
    * input: add custom accel profiles
    * input: only configure newly added touch devices
    * lock: add allow_session_lock_restore
    * pluginapi: add separate window render events
    * renderer,config: add custom DRM modeline support (#2254)
    + Fixes:
    * 1483: fix crash on last display disconnect (#2344)
    * Fix UAF in animation end callback if callback deletes the
      animation (#2389)
    * Fix broken pipe crash when event listener terminates (#2339)
    * Fix not finding function symbols for hooking (#2292)
    * Fixed wrong focus changes when moving background workspaces
      (#2258)
    * bug fix (#2314)
    * configmanager: fix substr offset in default ws rule
    * examples: fix incorrect link in per-device config comments
      (#2353)
    * focus: fix #1675 window not scrollable after movefocus (#2390)
    * groupbars: fix minor alignment issues
    * groupbars: fix reserved area on titles
    * hyprctl: fix cut-off json outputs (#2352)
    * includes: use libdrm prefix for include
    * keybinds: fix tryMoveFocusToMonitor with special
    * launchanim: fix #2291
    * layers: fix wonky focus on multimon
    * monitors: fix some bugs with re-plug
    * render: minor fixes to fullscreen rendering
    * touch: fix double offset in local
    * workspaces: minor fixes for multi-special
    + Other:
    * Issue template: request users to ping me for Nix
    * animationmgr: allow empty avars
    * compositor: disallow sending pinned to special
    * compositor: don't focus pointer in focusWindow
    * config: clear layer rules on reload
    * configmanager: deprecate bindws
    * configmanager: remove useless log from handleWorkspaceRule
    * configmanager: store workspace rules as a deque
    * don't swap workspaces if monitors are the same (#2322)
    * examples: update plugin headers
    * examples: update plugin makefile
    * focus: make cursor follow movewindow (#2374)
    * groupbar: make exclusive
    * groupbars: conserve VRAM by staticizing textures
    * groupbars: make gradients toggleable
    * hyprctl: recalc layout on dynamic workspace
    * includes: remove redundant from screencopy
    * input: check for matrix availability in touch config
    * input: don't move monitor focus on wp change (#2320)
    * input: don't refocus on closed window
    * input: reset cursor hide timer on tablet
    * internal: make CAnimatedVariable non-move non-copy
    * internal: remove check for negative exact vector args
    * internal: use i64 for workspaces in outofbounds
    * internal: removed Herobrine
    * layershell: don't enter on unmapped ls
    * layershell: focus if changed keyboard mode
    * layout: don't reset to floating size on drag tiled
    * layouts: ignore direction forces on non-map
    * master: guard monitor in recalc
    * meson & nix: install wlroots headers (#2287)
    * monitors: toggle special on changeworkspace with special
    * moveActiveToWorkspace: update last window of old ws
    * pluginenv: copy built wlr headers
    * quote hash for the GIT_COMMIT_HASH macro (#2227)
    * readme: update previews
    * varlist: allow using s for std::isspace
    * vector: restore cmath include after 438d063 (#2394)
    * vector: use c++ stdlib math functions instead of cmath
    * version: bump to 0.26.0
    * window: reveal current from group on toplevel activate
    * wlr_ext_workspaces: honor activate from client + format
    * workspacerules: overwrite on existing
* Wed May 03 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.25.0:
    + Small update brought to you by Yours Truly™ :)
    + New features:
    * Add activeworkspace hyprctl command (#2202)
    * Add ability to split master when only 1 additional window
      (#2025)
    * Add follow mouse mode to avoid refocusing under cursor (#2135)
    * Add plugin configuration to home manager module
    * Add subdir for cmake as well (#2163)
    * Add warning about setting hyprland config with home manager
    * Add windowrule fakeFullScreen (#2043)
    * Added moveCursor dispatcher (#2100)
    * Added some workspace-specific rules (#1986)
    * Format: use %lx for all addresses
    * IHyprLayout: add missing static modifiers to config vars
    * Meson: add subdirs to pkg-config file
    * Render: add cursor_zoom
    * Renderer: add init animation
    * config: add missing header for libc++ after 3a631e4 (#2208)
    * events: add render event for plugins
    * internal: add tag to version, send hash in release ci
    * layouts: add missing static modifiers to config vars
    * pluginAPI: add note about API expansion
    * plugins: Add "tick" event (#2029)
    * renderer: add support for rendering workspaces
    * rules: add noinitialfocus
    * swallow: Add swallow_exception_regex (#2026)
    + Fixes:
    * Fix apps requesting fullscreen (#2099)
    * Fix dragging cursor being forced on fullscreen windows (#2115)
    * Fix possible usage of clamp with lo > hi in Vector2D (#2049)
    * Fixed a crash when waking up monitors in power-saving mode
      (#2139)
    * Plugin header overhaul 2: fixes (Electric boogaloo) (#2201)
    * blur: fixup optimization bool
    * crashReporter: fix invalid format string
    * damage: fix damage on moves / workspace changes
    * dispatchers: fix missing log param
    * dispatchers: fix movetoworkspace with bound ws-es
    * dispatchers: fix named ws-es on changeworkspace
    * formats: fix endian ifdef
    * input: fix kb focus on top layers without interactive flag
    * input: fix ls focus in non-input area
    * internal: fix -Wsign-compare and -Wunused-variable warnings
    * keybinds: fix move to named
    * misc: fix a warning
    * renderer: fix fadingout render on fs
    * renderer: fix incorrect delta calc
    * renderer: fix incorrect shouldRenderWindow calcs
    * renderer: fix misused size -> transformed size
    * rules: fix monitor rule with names
    * swallow: fix invalid regexes with empty vals
    * workspaces: fixup workspaces not activating on workspace
      switch
    * xwayland: crude fix for qt dnds
    + Other:
    * Allow movefocus for empty workspaces (#2011)
    * Declarative plugin management (#2180)
    * Disable systemctl when built without systemd support (#2066)
    * Honor debug:enable_stdout_logs on startup (#2197)
    * Implement window move (#2018)
    * Keep fullscreen mode in moveWindowToWorkspaceSafe (#2191)
    * Plugin header overhaul (#2087)
    * Prefer bundled wlroots headers to system ones (#2204)
    * Remove wlr_output_damage.h (#2121)
    * Screencopy: unify frame and client between impls + event
    * Window resizing for pseudotiled windows (#2140)
    * args: print help on invalid arg
    * compositor: ignore contraints on warp in moveWorkspaceToMonitor
    * config: ignore invalid paths in configPaths
    * crashReporter: avoid segfault in deref plugin system
    * crashReporter: log on crash
    * fractional-scale: notify all surfaces on window move
    * hyprctl: allow spaces in cursor themes
    * hyprctl: don't assume output validity in hyprctl workspaces
    * input: don't refocus on dragging
    * input: improve mouse release conditions
    * input: make overlay layers precede constraints
    * input: release mouse buttons before refocuses
    * input: send null keycodes on focusSurface
    * internal: avoid buffer overflows with socket paths
    * internal: don't change ws on active swap
    * internal: don't iterate special workspaces in move
    * internal: don't sanity check workspaces on internal ws calls
    * internal: guarantee activeWindow event type
    * internal: improve fullscreen fade
    * internal: include headers from protocols/
    * internal: move workspace special check higher in changeWorkspace
    * internal: moveToWorkspace before setting ws
    * internal: prevent premature destroy in moveworkspace
    * internal: unhardcode sun_path size after a6cfe70 (#2137)
    * internal: update fullscreen fade on workspace move
    * internal: use setSpecialWorkspace on destroy in sanityCheck
    * internal: warp workspace on change only if old mon is last
    * internal: workspace manip handling rework
    * keybinds: avoid sending release on suppressed press
    * keybinds: minor adjustments to workspace
    * keybinds: more intelligent fallback on silent move
    * keybinds: only warp on different monitor ws
    * keybinds: refocus properly on silent move
    * keybinds: remove old comment
    * keybinds: send pass with a null keymap
    * keybinds: simulate workspace switch on focusWindow to another
      ws
    * listeners: more safety around change
    * make ext_workspace_unstable impl more atomic (#2023)
    * makefile: use -f in copies to avoid errors on running hl
    * misc: scan ppids in exec rules
    * monitor: recalc layout on switched ws
    * monitor: update fullscreen fade on workspace change
    * monitors: set special monitor ID on open
    * only ignore no_gaps_when_only when the workspace rule
      specifies a border (#2217)
    * opengl: don't use new optim with xray off on special tiled
    * opengl: keep current rendered workspace in renderData
    * pluginAPI: make symbols static
    * pluginenv: configure cmake to build protocols
    * popups: send scale info
    * renderer: improvements to layer render detection
    * renderer: more checks for background LS optimizations
    * renderer: reset renderModif on fullscreen render
    * renderer: skip rendering bottom layers on fullscreen opaque
    * renderer: workspace rendering improvements
    * screencopy: clamp damage to framebuffer
    * screencopy: implement dmabuf
    * screencopy: improve consistency of share indicator
    * tick: don't tick on invalid session
    * windows: check for fullscreen after rules
    * workspace: don't check LS-es in startAnim
    * workspace: don't lose monitor with refocus on no warps
    * workspaces: deactivate all on monitor switch
    * workspaces: restore monitor on re-plug
    * xwayland: allow initial focus to dialogs
* Tue Apr 11 2023 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Updated _service to allow hyprland to be submitted to factory.
* Tue Apr 11 2023 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.24.1:
    + A minor update to fix a serious VFR issue + add the GS impl.
    + Fixes:
    - renderer: fixup damage repaint
    - screencopy: fix crash in invalid format reads
    + Other:
    - GlobalShortcuts protocol impl (#1886)
    - hyprctl: sanity check icons in notify
    - socket2: receive bytes to avoid endless loops
    - textInput: don't double destroy TI
* Sun Apr 09 2023 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.24.0:
    + A minor update with some small changes as usual. Brought to you
      by Yours Truly.
    + New features:
    * Feat: add initial class/title to hyprctl clients
    * LS: add blur and ignorezero rules
    * LS: support address: in layerrules
    * Meson: add rdynamic ld flag
    * config: add misc:suppress_portal_warnings
    * crashReporter: add hl ver
    * debug: added manual_crash
    * feat: add debug:enable_stdout_logs
    * feat: add forcergbx rule
    * feat: add pretty notifications
    * hyprctl: add notify
    * meson: add pango deps
    * notifs: add ICON_OK to icons
    * plugin api: add addNotificationV2
    * plugins: Add an API entry for finding functions by name
    * plugins: mark getFunctionAddressFromSignature deprecated
    + Fixes:
    * Fix crash in CConfigManager::parseKeyword (#1983)
    * Fix nix build options
    * Fix some typos (#1907)
    * Fix swiping onto a new workspace with multiple monitors. (#1971)
    * Input: fix always_follow_on_dnd
    * LS: fix support for legacy blurls
    * Misc FreeBSD fixes (#1926)
    * Renderer: fix dim easing
    * config: fix long variables being substrd
    * dpms: fix key_press_enables_dpms
    * dpms: fix keyboard dpms
    * fix: a fullscreen bug. (#1821) (#1831)
    * groups: fix moving between displays
    * input: fix click-to-refocus not working on loose
    * input: fix minor issue with holding focus
    * keybinds: allow code: prefix
    * monitors: fix segfault on non-unsafe remove
    * monitors: fixes to unsafe mode
    * popups: fix heap-use-after-free
    * screencopy: fix crash
    * screencopy: fix incorrect resource error post
    * screencopy: fix read on incorrect monitor render
    * screencopy: minor fixes for damage_ring
    * shaders: fix missing discardAlphaZero
    + Other:
    * Better and more secure argument parsing, and code reformatting (#1976)
    * Feat: Introduce render_ahead_of_time (#1863)
    * Focus: warp cursor on movewindow
    * Hyprland Screencopy impl (#1800)
    * LS: don't try to get rules on non-existent ls
    * compositor: adjust xdp error cases
    * config: default manual animations to false
    * config: default no direct scanout to true
    * config: improve ux on workspace and transform
    * config: make default config use hyphenated dev names
    * core: remove old redundant shutdown stuff
    * crashReporter: try $XDG_CACHE_HOME before $HOME (#1920)
    * dbus: don't update vars in nests
    * debug: allow manual crash from hyprctl
    * debug: minor improvements to manual crash
    * debug: unbreak debug builds
    * docs: update crash report dirs
    * docs: update issue guidelines for asan env
    * events: guard output in change
    * examples: pull correct wlr dirs in example plugin
    * hyprctl: ignore null output monitors
    * input: don't overset resize icons on drag
    * input: don't set icon on held buttons without a drag
    * input: hold focus on mouse buttons
    * input: ignore constraints on touch
    * internal: comply to nofocus on vectorToWindow
    * internal: don't remove x11 children on parent remove
    * internal: listen to output.damage events
    * internal: make togglefloat better visible on small size deltas
    * internal: migrate to damage_ring
    * internal: release buttons on unmap
    * internal: rename ensureDPMS to ensureMonitorStatus
    * internal: wrap wlr surfaces (#1822)
    * keybinds: allow MOD1 as an alias of ALT
    * keybinds: improve movefocus on fullscreen
    * keybinds: remember last workspace on focusmonitor
    * layer: allow focus on top/overlay surfaces without a window
    * log: Move stdout log disabling to the end of init
    * log: log wlr logs to stdout
    * logs: disable stdout after init
    * monitors: don't refocus on apply rule
    * monitors: guard output in damageSurface
    * monitors: guard output when read
    * monitors: guard scale in onConnect
    * monitors: more guards for safety
    * monitors: remove from monitors on unsafe
    * monitors: update surface outputs on recover from unsafe
    * notifs: use empty color for auto
    * output: handle needs_frame
    * plugins: use new lookups in example
    * render: plug missing software cursor unlocks
    * renderer: don't use simple rect on alphazero stencil
    * renderer: go back to rendering layers without reverse
    * screencopy: allow on legacy renderer
    * secret: removed Herobrine
    * subsurfaces: avoid reading destroyed surfaces
    * subsurfaces: guard node's surface
    * surface: set to nullptr after destroy()
    * swallow: move swallowed on workspace change
    * swipe: block on locked session
    * switches: do not fire on no change in toggle
    * toplevelExport: honor overlay_cursor
    * window: unassign surface on unmap
    * windowrules: allow monitor by str
    * windows: only connect unmap when mapped
    * workspaces: preserve pin on moves
* Wed Mar 15 2023 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.23.0beta:
    + A minor update after a short wait as usual, brought to you by
      the one and only.
    + Notable changes
    * Your wrappers have been deprecated by the new env keyword.
    * A powerful plugin system has landed. See the wiki
    * zwp_text_input_v1 support has landed for supporting IME under
      electron wayland.
    + New features:
    * Add env to example cfgs
    * Add option to disable/enable mouse window dragging animations (#1658)
    * Added center orientation to master layout (#1642)
    * Added decoration reserved area
    * Added mouseButton event
    * Added mouseMove event
    * Added moveintogroup dispatcher
    * Added moveoutofgroup dispatcher
    * Dwindle: Added default_split_ratio
    * add desc: to getMonitorFromString
    * add env dbus opt
    * add env keyword to cfg
    * add log tail to crash reports
    * add mfact setting for master layout (#1666)
    * add mouse_left _right
    * add toggle group lock
    * added a lockgroups dispatcher
    * allow blurls by address
    * blurls: fix address substr length
    * config: add key_press_enables_dpms
    * fix mfact not applying to addmaster (#1715)
    * groups: add deco on moveIntoGroup
    * Plugin System (#1590)
    + Fixes:
    * Bezier: Fix incorrect binary search in bezier approx
    * Buffer overflow fix (#1707)
    * Compositor: fix crash on exit
    * Fix fatal aborts with X11 OR windows
    * Fix plugin argument-less hyprctl calls (#1723)
    * Fix plugin config breakage (#1687)
    * Mirrors: minor fixes
    * Opengl: Fix forcefully setting missing time prop to final shader
    * Plugin Hooks: fix calls to %rip offsets
    * Plugin Hooks: fix original bytes on %rip accesses
    * blurls: fix address substr length
    * fix bezier step approx
    * fix changegroupactive back
    * fix credentials of invalid surfaces
    * fix cursor image on drag not resize
    * fix cyclenext on empty focus
    * fix mfact not applying to addmaster (#1715)
    * fixup constraint snapping on no hint
    * groups: fix fullscreen behavior with groups
    * ime: fix panels overflowing on corners
    * input: minor fixes for tiv1
    * minor fixes to X11 configure/or handling
    * minor fixes to touch handling
    * tiv1: minor fixes for crashes
    + Other:
    * Allow decos to request interactivity
    * Allow environment in config
    * Conform to X11 OR surfaces wanting focus
    * Convert reverse iterators to ranges
    * Don't set surface cursors for overriden
    * Draw HyprError on the last monitor
    * Enable manual anims by default
    * Events: Avoid sending std::nullptr_t in keyboardFocus
    * Include unmapped and hidden windows in hyprctl clients
    * Initialize priority managers before server init
    * Mirrors: remove accidentally leftover logs
    * Move AnimationManager::tick() to an event loop
    * Nix: move dependency overrides inside wlroots-hyprland call
    * Optionally expose time to screen shaders (#1700)
    * Readme: update to mention plugins
    * Remove useless rax preserve across callq
    * Renderer: Nuke onWindowResize{start/end}
    * Reset cursor to pointer on focus on interactable deco
    * Resize on border icon bug (#1608)
    * Revert small incorrect change to dragging
    * Simplfy framebuffer erasing in cleanupFadingOut
    * Unload plugins on compositor cleanup (#1662)
    * Up the bezier bake count
    * Update the debug overlay
    * allow focus to grouped windows
    * bugifx: updated urls poiting to old wiki pages (#1738)
    * config: explicitly use environ(7) after b03c897 (#1708)
    * crashReporter: remove inconsistent log from crash reports
    * deny configure requests on drag
    * dispatchers: disallow togglesplit on fullscreen
    * dispatchers: remember named workspaces in prev
    * don't snap on empty hint
    * generate coredumps on sigabrt too
    * ime: account for text height in popup calcs
    * input: text-input-v1 support (#1778)
    * layoutmgr: don't reenable layout on unchanged layout
    * make window reserved area less stupid
    * master: better cycle
    * movefocus: Set new workspace as active when focusing new monitor (#1640)
    * nuke cursorSI due to crashes
    * nuke unmanagedx11 vector
    * opengl: use a passthru shader for final wlr copy
    * remove old unused animation cfgs
    * reset signal handlers in unrecoverable
    * systemd: expand sysd import env script
    * unblock pure wayland compiles
    * update dbus env on exec-once dispatches
    * update decos on anim values update
    * update license on main branch (#1604)
    * use .txt for crash reports
    * use XCURSOR_SIZE for internal cursor size
    * use corner cursors on resize (#1638)
    * use sans for fonts instead of noto sans
    * xwl: don't try to get unmanaged titles
    + What's Changed
    * update license on main branch by @o69mar in #1604
    * Resize on border icon bug by @horriblename in #1608
    * use corner cursors on resize by @fufexan in #1638
    * movefocus: Set new workspace as active when focusing new monitor by @RyanDwyer in #1640
    * Added center orientation to master layout by @sharkusk in #1642
    * [WIP] Plugin System by @vaxerski in #1590
    * Add option to disable/enable mouse window dragging animations by @DashieTM in #1658
    * Unload plugins on compositor cleanup by @Duckonaut in #1662
    * Fix plugin config breakage by @Duckonaut in #1687
    * Optionally expose time to screen shaders by @scorpion-26 in #1700
    * add mfact setting for master layout by @hillyu in #1666
    * Buffer over-read in removeBeginEndSpacesTabs() by @opsuu in #1707
    * config: unbreak on BSDs due to undeclared environ by @jbeich in #1708
    * fix mfact not applying to addmaster by @hillyu in #1715
    * Fix plugin argument-less hyprctl calls by @Duckonaut in #1723
    * bugifx: updated urls poiting to old wiki pages by @asbachb in #1738
    * [WIP] text-input-v1 support by @vaxerski in #1778
  - Dropped: wlroots_fix_ia86.patch. Included upstream
* Fri Feb 24 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Added: wlroots_fix_ia86.patch. This allows compiling hyprland on
    ia86 again. Can be dropped once hyprland updates wlroots to any
    commit that has 59acc697 in it's history.
* Tue Feb 21 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.22.0beta:
    + A minor update after a short wait, brought to you by Yours Truly.
    + Breaking changes
    * dwindle:col.group... -> general:col.group...
    * misc:no_vfr -> misc:vfr. bool, heavily recommended to leave at
      default on. Saves on CPU usage.
    * misc:vrr -> Adaptive sync of your monitor. 0 (off), 1 (on),
      2 (fullscreen only). Default 0 to avoid white flashes on
      select hardware.
    + New features:
    * Add vrr to hyprctl monitor (#1560)
    * Added a crash reporter
    * Added an Event Hook System (#1578)
    * Added execr
    * Added support for layoutmsg params and added the param
      'newfocus' for 'swapwithmaster' and 'focusmaster' (#1522)
    * add a minimize ipc event
    * add misc:mouse_move_focuses_monitor
    * add missing xwayland stub
    * add prev to getWorkspaceIDFromString
    * added activewindowv2
    * libinput: add tap_button_map (#1495)
    * move no_vfr to vfr and add vrr
    + Fixes:
    * Fix VRR JSON output in hyprctl monitors (#1562)
    * Fix some issues with a lost focus of the maximized window
      after using swapwithmaster in fullscreen mode (#1524)
    * fix compile for single_pixel_buffer_v1
    * fix crash with libc++ in appid
    * fix group data in hyprctl
    * fix json output in hyprctl animations
    * fix legacy system call to create hypr dir
    * fix quick start link
    * fix urgent hint order in code
    * fix warn
    * fix(hyprctl): allow dispatcher to have no args (#1464)
    * fixup LS scaling impl
    * fixup backtrace curpath
    * fixup stutter in rendering with toplevel_export
    + Other:
    * Allow to disable X11 backend separately from Xwayland after
      5a750b4 (#1445)
    * Generate symbol info in release for crash reports
    * Get active VT via ioctl instead of sysfs after e90c5c6 (#1448)
    * Group/Tab Rework (#1580)
    * Implement ext-session-lock-v1
    * Only use true/false in default config to reduce confusion
      (#1517)
    * Resize on border (#1347)
    * Simulate mouse movement on unmap of popups and subsurfaces
    * Unbreak CrashReporter on FreeBSD (#1589)
    * Unbreak build with libc++ (#1457)
    * Update CMakeLists.txt (#1514)
    * Update blurriness of layersurfaces after hyprctl keyword
      blurls (#1493)
    * abort instead of exiting on sigsegv
    * adjust crash report paths
    * bring back dynamic ls geom updates
    * clear focus on failed unlock attempt
    * clear focus on lockscreen refocus
    * conform to unmanaged X11 activate requests
    * don't alter LS geom on unmap
    * don't loop border anim on disabled
    * enable UV calcs for all surfaces
    * enable single_pixel_buffer_v1
    * err on invalid transform in monitor cfg
    * explicit config path for autoreload config #1423 (#1494)
    * ext_workspace_unstable: send done after output_enter when
      wl_output is bound late (#1481)
    * ext_workspace_unstable: send output_enter when wl_output is
      bound late (#1480)
    * feat: border angle animations (#1469)
    * focusCurrentOrLast dispatcher (#1545)
    * force monitor focus on refocus
    * ignore VR headsets (#1555)
    * ignore damage on hidden windows in animationmanager
    * ignore hidden in allfloat
    * improve VRR state checking with updates to mosthz
    * make a null surface focus reset lastfocus
    * meson: build in release by default
    * minor adjustments to xwayland positioning
    * notify of fractional scale for LS-es
    * place sessionlock surfaces at correct coordinates
    * properly clamp size in dragging floating corners
    * properly meld groups together
    * properly rid of whitespace chars from cfg lines
    * refocus on monitor attach
    * remove constraint recheck log
    * render lockscreen in fullscreenworkspace
    * reset focus on lock surface destroy
    * reset layout-set render vars on floating
    * rethink visible flag in animmgr
    * scale the opaque region in blurring
    * simplify nullcheck in minimize
    * unset hidden at grouped remove
    * update issue guidelines for crash reports
* Sat Jan 28 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.21.0beta:
    + Minor update after a short while.
    + New features:
    * Add "on" and "off" for the bind of switch (#1342)
    * Add hyprctl animations
    * Add tablets calibration matrix for dynamic rotation with
      2-in1/tablet PC usage (#1319)
    * add an urgent event
    * add fakefullscreen prop to windows in hyprctl
    * add hyprctl setprop
    * added binds:focus_preferred_method
    * added hyprctl seterror
    * added layer rules
    * added make model and serial to hyprctl monitors
    * added misc:hide_cursor_on_touch
    * feat: add focus to urgent or last window (#1402)
    * feat: dispatcher, add workspace renaming (#1336)
    * fix destroying addon in fractional scale impl
    + Fixes:
    * fix clamp in monitor relative
    * fix cmake systemd header detection
    * fix color typo in hyprerror
    * fix cutting geometry on surfaces spilling out
    * fix deprecated-copy warn
    * fix destroying addon in fractional scale impl
    * fix dimaround with transformed displays
    * fix focus history on workspace jumps
    * fix font color in hyprerror
    * fix rounding exceeding max in single-line errors
    * fix up log types
    * fix: cursor changing on window move and resize (#1371)
    * fix: hyprland crashing wenn moving window -1 from first
      monitor (#1419)
    + Other:
    * better log wl socket adding and use auto if failed
    * Don't ignore previous maximise on defullscreen req (#1393)
    * Implement urgency hint for workspaces (#1379)
    * Pin dispatcher for a specific window (#1340)
    * allow preblur for opaque surfaces if alpha not 1
    * better error handling around getMonitorFromString
    * change placement of isSwitchingToPrevious (#1388)
    * damage monitor on moveactive
    * damage monitor on stack rotations
    * damage on border change
    * describe layers in hyprctl layers
    * don't set cursor when timeout reached
    * dump monitor data after setting rules
    * escape json strings in hyprctl binds
    * expand region twice in blur damage
    * handle fullscreen requests on maximized windows
    * ignore null ls-es in cleanup
    * make hyprerror follow fadein anim
    * master layout: remember size & pos of floating windows on
      fullscreen 1 (#1374)
    * move window to top if floating activate
    * recalculate layout on deco or border change
    * release mouse buttons on map from LS
    * remove restrictions from setprop for ints
    * repaint on dynamic decoration keywords
    * replace java envvar
    * reset dragged window on failed begin
    * scale hyprerror
    * send cursor updates on touch move
    * send enter for IME popups
    * small hyprerror revamp
    * update animated deco values after setprop
    * update wlroots dep
    * warp cursor on login to center
    * wp-fractional-scaling-v1 impl (#1373)
* Sun Jan 08 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.20.1beta:
    + Minor patch mostly to fix some crashes with overshot animations.
    + New features:
    * added hyprctl binds
    + Fixes:
    * fix crashes and bug wiki link (#1333)
    * fix crashes on monitor ls remove
    * minor fixes for fakefullscreen
    * remove color rassert to fix overshot beziers
    + Other:
    * Build: use props file for versioning
    * clamp a instead of asserting
    * removed Herobrine
  - Changes from version 0.20.0beta:
    + A small update after a short wait brought to you by Yours Truly™
      et al; Fun stuff, as usual.
    + New features:
    * Add 'exact' option for 'splitratio' (#1245)
    * Add sane permissions for /tmp/hypr
    * Added clang format (#1239)
    * Added make configdebug
    * add auto scale
    * add disabling keyboards
    * add touchdevice to devicevalue
    * added dim_special
    * added dimaround
    * added fakefullscreen
    * added maximize windowrule
    * added workspace_swipe_numbered
    + Fixes:
    * Fix cycleprev bug introduced in 46891b1 (#1213) (#1242)
    * Fix focus not changing on (empty) workspace change (#1243)
    * fix blur damage spam on no blurred windows
    * fix damage issues with dimaround unmap
    * fix double remove in destroyKeyboard
    * fix dynamic monitor disables corrupting pmosthz
    * fix for gap in master layout orientation right #1171 (#1260)
    * fix group bar color calc
    * fix mouse resize on master orientations
    * fix restack in xwayland stubs
    * fix stupid typo
    * fix workspace special rules
    * minor xcursor and scale fixes
    + Other:
    * Allow floats in % rules
    * Drop Pango (unused) (#1251)
    * Drop X11 headers (unused) (#1252)
    * Make libinput tap-and-drag configurable (#1267)
    * Normalize color storage
    * Revert "Send initial focus to X11 type dialog"
    * Send initial focus to X11 type dialog
    * account for dimAround in fullboundingbox
    * adjust medium ppi values
    * allow binding tablets to outputs
    * clarify layout enum
    * clean draggedwindow in dragend
    * destroy LS-es on disconnected monitor
    * do not overwrite existing hyprland.desktop (#1228)
    * downgrade wlroots due to issues
    * get window under cursor in kill
    * ignore dim when pass popup
    * ignore focus to empty input region ls-es
    * ignore self in candidate floating
    * ignore silent workspace rules to same workspace
    * log more in group creation
    * mark blur dirty on dynamic blur keywords
    * move setActiveMonitor backup later in onDisconnect
    * normalize gradients and denormalize in groupbar
    * prevent moving to invalid workspaces
    * refocus on special move
    * remember master width on master close
    * remember pos and size across fullscreen moves
    * remember size and pos on fullscreen 1
    * remove damage_entire_on_snapshot
    * remove main_mod
    * remove useless log
    * render overlay layers in reverse
    * render pinned windows above floating separately
    * respect ls protocol by forcing kb focus to kb interactive top
      and overlay
    * s/pkgs.system/pkgs.hostPlatform.system/g
    * sanity check workspaces after enabling mirror
    * set created over fullscreen in movetotop
    * simplify workspace sanity checks
    * support gradients in dwindle group colors
    * touch up the clang format and format all files
    * update debug coredump instructions
    * update readme images
    * update wlroots dep
    * use auto scale in default cfgs
    * use auto scale in fallback rule
    * use curves for special dim anim
    * verify lastmon status on connect
  - Added "jq" to builddepends, as it it now used to calculate the
    current version.
* Mon Dec 12 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.19.2beta:
    + New features:
    - Added toplevel handle sharing
    - add changefloatingmode event
    - add missing c_str in debug log
    - ensure mapped state in addViewCoords
    + Fixes:
    - fix drag resizing on special ws-es
    - fix memory safety in getWindowFromSurface
    - fix minor issues with move focus and follow mouse 0
    - fix sharing scaled windows
    - fix string escaping in CMakeLists.txt
    - fix up relative monitors
    - minor focus fixes with LS-es and moving windows
    + Other:
    - do not reject drags on visible windows over fullscreen
    - find a default workspace smarter
    - handle constraint cursor hints better
    - optimize m+- and e+- workspace opts
    - sort valid ws-es in relative
    - update hyprland-protocols
    - use anim callbacks and don't spam config resets in drag
* Fri Dec 09 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.19.1beta:
    + Minor changes including bumping the wlroots ver, fixing a memory
      leak and some issues with moving fullscreen windows.
    + New features:
    - add failsafe for dwindle windows
    - added nomaxsize rule
    + Fixes:
    - fix lost windows clogging up memory
    - fix up moving to special workspace
    - minor fixes to special workspace behavior
    - minor toplevel sharing fixups
* Tue Dec 06 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.19.0beta:
    + New features:
    - Add nofullscreen to windowrules (#1107)
    - Add option for retrieving first empty workspace (#1085)
    - Added handling more special workspaces
    - Added screen shaders
    - Fix incorrect layout positions in mirror re-add
    - add scroll_button libinput opt
    - added blur_xray
    - added border gradients
    - added hyprctl switchxkblayout
    - Implement window sharing with the hl toplevel export proto (#1179)
    + Fixes:
    - Fix a compiler warning (#1124)
    - Fix cmake error when using clang (#1009)
    - Fix incorrect layout positions in mirror re-add
    - Fix minor issues with mirrors
    - Fix swiping on the first workspace going to the last (#1067)
    - Fix wrong layout recalculate if statement (#1167)
    - fix AA on borders
    - fix border inner offset in shader
    - fix crash in blurls remove
    - fix crash in setActiveMonitor null
    - fix crash with invalid frag dynamic shaders
    - fix decorations missing after no_gaps_when_only toggle floating
    - fix events in changeworkspace with bound ws-es
    - fix fadeout with animated border
    - fix group border oversaturation
    - fix invisible windows on moving fullscreen out
    - fix master resizes all
    - fix minor issues with blur w/o new optim
    - fix minor issues with blur_new_optimize
    - fix shader destroy id unset
    - fix transformed border thickness
    - fix up the border shader
    - fix warning
    - minor fixes for mirrors & log more monitor events
    - minor monitor code fixups
    - monitor rule fixes
    - use highp for pixcoord to fix nvidia border issues
    + Other:
    - Render focused window at last (#1060)
    - Reset callbacks on remap
    - Setting wayland environment variables at startup (#1045)
    - Unify rounding shaders
    - Update wiki link in manpage (#1144)
    - Use internal device naming for Hyprctl devices (#1174)
    - allow 360 degrees of freedom in gradients
    - avoid duplicate device names
    - avoid header clashes in make all
    - avoid using wayland-0 as a socket name
    - better capability handling
    - block surface feedback on window sharing
    - blur xray for layers (#1158)
    - check for special workspace open in attemptDirectScanout
    - convert bordercolors to GradientValueData correctly (#1122)
    - damage monitor on group switch
    - damage windows after switch
    - default blur new optimizations to 1
    - don't attempt rendering on begin failure
    - don't change alpha on special anims
    - don't focus back after dnd on follow mouse 1
    - don't initial focus on LS keyboard grab
    - don't send motion events to lock constraints
    - don't set AS in onConnect
    - find base surface if no subsurface found in ls
    - find floating windows below closed one
    - ignore alpha when sharing window
    - improve constraint handling
    - make focus/swap master layoutmsgs two-way
    - minor changes to unsafe state handling
    - more memory safety around onDisconnect
    - optimize border shader
    - optimize data feeding to gradient renderer
    - override force opaque rule on keybind
    - recalculate layout only when needed on dynamic keywords
    - reload shader on dynamic shader keyword
    - remove global var
    - remove idiotic guard in processMouseDownNormal
    - remove redundant strval_empty checks
    - remove resize transitions
    - reset m_bEmptyFocusCursorSet on workspace switch
    - respect no_gaps_when_only in fullscreen 1
    - return full monitor box for fullscreen windows in idealBB
    - schedule frames and reloads on session re-activate
    - show groupings and swallowing in hyprctl (#1159)
    - skip covered windows on fullscreen workspaces in getWindowInDirection
    - unify setting of the active monitor
    - use gradients in default configs
* Wed Nov 16 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.18.0beta:
    + New features:
    * Add an idleinhibit windowrule
    * Add bordercolor windowrule (#992)
    * Add focusmaster dispatcher (#942)
    * Add keyboard led update after keys/mod update
    * Added creating / destroying outputs on a multi-backend + headless backend
    * Added decoration:shadow_scale
    * Added direct scanout
    * Added exec rules
    * Added multiple master layoutmsgs
    * Added resize transitions
    * Added resizing individual master windows
    * add more wlroots flags for faster compile
    * add move cursor windowrule
    * added monitor cycling
    * added toggle for drm scanout flags
    * added unset rules
    * added workspace_swipe_forever
    + Fixes:
    * Fix crashes with DS and mirrors
    * Fix missing focusedmon event on focusmonitor dispatcher
    * Fix resize transitions on multimon + transformed
    * Minor fixes for virtual input devices
    * Multiple animation optimization and xwayland wine fixes
    * Nix HM: Fix invalid escapes
    * fix extents in shadow deco
    * fix fullscreen maximize size
    * fix invalid master slave pos calc on y != 0
    * fix issues with direct scanout's lack of surface frame feedback
    * fix master window finding on closed
    * fix missing stub for xwayland
    * fix ordering in mouse connect
    * fix passing input to constrained windows without relative
    * fix raw exec in configmanager
    * fix relative protocol paths
    * fix safety over ls outputs
    * fix shadow extent & offset calculations
    * fix slide calcs for windows outside the viewport
    * fix swipe on 2 detached workspaces
    * fix the damageBox in damageMonitor
    * fix trailing comma in hyprctl activewindow
    * fix unregistering avars on sethidden
    * minor fixes for follow_mouse 3
    * minor loose focus fixes
    * resize transition fixes + default transitions to false
    + Other:
    * Allow arguments to hyprctl dispatch exec commands. (#990)
    * Dispatcher to center floating window (#961)
    * Nix HM: prevent race condition between dbus and systemd
    * Revert "Set child stdout and stderr to /dev/null (#1000)"
    * Set child stdout and stderr to /dev/null (#1000)
    * apply some rules dynamically when state of window changes (#1020)
    * automatically update dbus environment on start
    * constraint focus simplifications
    * deprecate general:damage_tracking
    * don't update the env in session-less hl
    * guard empty str in isNumber
    * guard empty str in removeBeginEndSpacesTabs
    * guard header windows in layout messages
    * guard lastwindow in circlenext
    * handle transforming displays in outputMgr
    * helpers: implement getPPIDof on BSDs (#972)
    * ignore constraints on exclusiveClient create
    * include utility in defines
    * meson: explicitly specify path for find(1) (#971)
    * meson: use gl instead of GL
    * move no_direct_scanout to misc
    * notify idle on touch down
    * possible crash when current workspace does not exist (#1023)
    * prevent double-registering of avars
    * remove ensureFDsValid, legacy
    * remove old comments
    * remove redundant check in CShader
    * remove redundant includes
    * remove spammy ime logs
    * remove spammy logs for DS
    * render the debug overlay only on visible monitors
    * set cursor to hand1 when moving a window
    * streamline hypctl output of windows (#983)
    * update window values after map finish
    * use goal values in changeWindowFloatingMode
    * use lld instead of i in hyprctl getopt for accurate int reads
* Sun Oct 30 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.17.0beta:
    + New features:
    * Add windowrules for noblur and noshadow (#884)
    * Added hyprctl cursorpos
    * add 10bit support to displays
    * add disabling pointer devices
    * added swipe create new
    * allow glob wildcard in addreserved
    * Allow 100%- for move rule
    * allow # escaping in config
    + Fixes:
    * Fix self-noding in changeWindowFloatingMode
    * fix animate_manual_resizes with moves
    * fix crash in event manager on hangup
    * fix debug nest black screen
    * fix default 0 in box passing test
    * fix maximized windows not hiding tiled
    * fix minor anim issue with swipe new
    * fix minor focus oopsie
    * fix refocus on last window
    * fix silent + size windowrules
    * fix swipe with fullscreen maximized
    * minor fix for swipes from empty workspaces
    * minor fix to silent ws rules
    * minor fixes for xwayland refocus
    * minor swipe on new fixes
    * minor workspace rule parsing fixes
    + Other:
    * CMakeLists.txt: use sh instead of bash
    * Improve hyprctl
    * No xwayland overhaul (#920)
    * Rework candidate finding on close window
    * Rework workspace rules
    * T1C: window dance compat
    * Transpose matrices on LEGACY_RENDERER
    * allow cyclenext on null focus
    * allow nofocus + workspace silent
    * always report sizes after a window unmap
    * avoid applying offset twice in onConnect
    * avoid creating bound WS-es in moveWorkspaceToMonitor
    * avoid layout changes when unnecessary in applyMonitorRule
    * bump xdg ver to 5
    * constrain mouse on focus change
    * default focus_on_activate to false
    * disable adaptive sync with no_vfr off
    * don't set custom mode in change
    * ensure VRR for current display only in onConnect
    * handle activate requests
    * ignore pointer constraints in touch
    * lower IME errors to WARNs
    * meson.build,CMakeLists.txt: use sh instead of bash
    * meson.build: use sh instead of bash
    * meson: Fallback to 'opengl' when 'GL' is not found.
    * more safety around shutting down and mouse movements
    * more safety for focus requests
    * properly find the constraint window
    * properly scan for subsurfaces in fullscreen input refocus
    * remove redundant check
    * render layer snapshot without blur
    * respect nofocus in candidate searching
    * respect wsbind in workspace silent rules
    * revert output smart layout reporting
    * set lastmonitor in onDisconnect
    * unify LS unmap focus
    * unrestrict hyprctl message size
* Mon Oct 17 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.16.0beta:
    + Thanks Brodie Robertson for the coverage!
    + New features:
    * Add additionnal matrices and rename config var
    * Add debug coredump instructions (#812)
    * Add input:touchdevice:td_rotation config
    * Add input:touchdevice:transform config
    * Add support for rgba() and rgb() colors in the config
    * a bit more default config nice addons
    * add PKGBUILD to ignored files
    * add loose focus behavior
    * add maxsize window rule
    * add touch binding to output
    * added bringactivetotop dispatcher
    * fix invalid json output by adding a missing comma
    + Fixes:
    * Nix modules: fix environment variables
    * fix crash in renderWorkspaceWithFullscreenWindow
    * fix invalid json output by adding a missing comma
    * fix windowsOut disabled with fadeOut enabled
    * simplify shouldRenderWindow and fix one cond
    + Other:
    * check for same workspace in workspace rule
    * default & example config overhaul
    * don't recalc offset on monitor reload offset auto
    * ignore OR windows' size hints
    * remove old log
    * rename transform in DC to touch_transform
    * rework focus system to be more safe and faster
    * set XCURSOR_SIZE if not set in init
    * set workspace name in previous
    * unsetenv on no XWayland
    * use size hints when available in xwayland default geom
    * use static for transformation matrices
* Tue Oct 11 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.15.3beta:
    + Very small update to fix black screens on some hardware.
    + Other:
    * Change matrixProjection function stop use matrixFlip180
      everywhere.
    * Let openGL transpose the matrixes for us.
    * Replace $(nproc) with $(shell nproc).
    * Simplify matrix calculations
    * Update wlroots
* Sun Oct 09 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.15.2beta:
    + Rather minor update, some bugfixes and minor features.
    + New features:
    * Added clipping support, clip windows on slide anim
    * add open/close layer events
    + Fixes:
    * fix a VRAM leak in destroyMonitorResources
    * Transform the box data send to texture shaders.
    + Other:
    * Check earlier if pixman regions are empty.
    * Check earlier if pixman_region is empty in some places.
    * better subsurface handling on unmaps
    * ensure texture safety in clearWithTex()
    * inverse_transform the box in renderRectWithDamage.
    * make swipe respect slidevert
    * offset floating windows out of bounds on ws anims
    * release all fbs in destroyMonitorResources
    * swallow improvements
* Thu Oct 06 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Updated to version 0.15.1beta:
    + Critical update: 0.15.0beta has a defect due to an issue with
      wlroots making the GPU suffer a lot!
    + New features:
    * Add accel profile and scroll method
    * Add input:touchpad:scroll_factor
    * Add switch device handling and binds
    * add desc: to monitor rules
    * add dpms per output
    * add dpms status info in hyprctl
    * add left_handed config for input
    * add minsize rule
    * added a noanim rule
    * additional logic for identical pid swallowing
    + Fixes:
    * Fix compiler warnig comparing signed and unsigned integers.
    * Fix compiler warnings.
    * Fix getDeviceInt string arg "input:left_handed"
    * Merge branch 'fix_rounding_in_size_changing_windows' into
      rework_rounding_shader
    * Merge branch 'main' into fix_rounding_in_size_changing_windows
    * Merge branch 'make_TTY_unsigned' into fix_left_handed
    * fix naming when workspace back and forth
    * fix string corruption in hyprctl monitors -j
    * fix tty switch freeze
    * fix workspace previous with multi-mon ws moves
    * fixes to window swallowing with same pid
    * fixing your shit.
    * revert wlroots ver to fix critical gpu issue
    + Other:
    * Avoid 38 files to compile every time a shader is modified.
    * Compare PLASTWINDOW & PWINDOWTOCHANGETO m_iMonitorID's instead
      of PWINDOWTOCHANGETO->m_iMonitorID &
      g_pCompositor->m_pLastMonitor->ID
    * Cut the number of pixels that call length() in half.
    * Don't pass bottomRight to textureShaders compute it within.
    * Even less branching (taken more or less from the border
      shader).
    * Make the rounding texture shaders smaller and more efficient.
    * Merge branch 'main' into rework_rounding_shader
    * Remove texcoord from QUADFRAGSRC.
    * Remove unused ignoreCorners variable from texture shaders.
    * Rework rounding shader
    * Send absolute screen coordinates to texture shaders.
    * focusedmon event check change
    * ignore VT switches to current vt
    * log GPU info for debugging
    * map touch to the correct output
    * monitor desc improvements
    * more checks in pid gathering
    * more monitor checks for shutdown:
    * reset sigmask on fork
    * return true on vt switch keysyms to avoid printing stuff
    * texcoord is unused in the rounding part of the textureshaders.
    * update wlroots dep
    * use goalv in clientsRequest
    * use vectorToWindowIdeal in mouse binds
* Tue Oct 04 2022 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.15.0beta:
    + Enjoy your CPU usage when idle going down by as much as 95% in
      some cases and much more!
    + New features:
    * Add "highest" mode to Monitor for autoconfiguration.
    * Added window swallowing
    * add case for empty strings in isNumber
    * add fullscreen info to clients request
    * add refreshrate or resolution preference
    * added high to monitor resolution
    + Fixes:
    * Fix #711
    * It wasn't a problem with the bug i tried to fix.
    * Merge branch 'main' into fix_bordersize_again
    * Splash position fix
    * fix Hz Log
    * fix commas in free binds
    * fix crash
    * fix crash on dwindle splitratio alter on single group
    * fix custom rules on null modelist
    * fix ipc event missing on silent movetoworkspace
    * fix oopsies in rule code
    * fix silly mistakes
    * minor OR XWayland fixes
    + Other:
    * Change scaledBorderSize to int.
    * Replace clamp with max if there is no upper bound.
    * Scale border size in calculations of windows
    * Scale border size in window size pos calculation
    * Scale the border size, revert the window scaling according to
      border
    * Scale the cairo matrix to fit the monitor dimensions.
    * Shift splash up if monitor has wider ratio than bgTexture.
    * Unify arg lists, allow for trailing spaces in args
    * Use double literals, don't cast a integer literal to double.
    * Use double literals, don't cast integer or float literals to
      double.
    * allow for pure workspace names in dispatchers
    * allow one less arg in bind
    * anchor to proper quad in floating resize
    * apply new node data to all group windows on close
    * change Preferred mode to use highest refreshrate
    * default pass_mouse_when_bound to 0
    * disallow pinning fullscreen
    * don't decorate on only no gaps
    * don't recalc pseudo on fullscreen
    * enter outputs for non-interactive ls-es too
    * focusable checks in nextWindow calls
    * guard event in maximize request
    * guard kb settings in xkb translation state
    * handle maximize toplevel request
    * include shaders only in opengl.cpp
    * optimize removing trailing spaces
    * optimize vector config value setting
    * overwrite wsbind rules on existing
    * remove empty line
    * remove more silly mistakes
    * remove polling from socket2, fully event based
    * remove redundant attrib setting
    * rewrite isNumber
    * scale border size in dwindle layout window sizes.
    * send a focusedmon event on focus change mon
    * support max in size rules
    * support more wlr_cursor events
    * update wlroots dep
    * use goalv in movetoworkspace
    * use the event data for determining maximize status in requests
* Wed Sep 21 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.14.0beta:
    + Breaking changes
    * main_mod has been deprecated.
      new syntax for mouse binds: (example)
      bindm=SUPER,mouse:272,movewindow
      bindm=SUPER,mouse:273,resizewindow
    + New features:
    * Added monitor mirroring
    * add default speed to hyprctl devices mice
    * added misc:disable_autoreload
    * added window pinning
    * added wsbind
    + Fixes:
    * Various subsurface handling fixes
    * fix LS fading out on ws change
    * fix an unholy memory safety issue
    * fix animation issues with workspace silent
    * fix decos on pinned
    * fix fadeout on unmap fullscreen
    * fix focus follows mouse 0 event sending on wrong window
    * fix groupbar being wonk on scaled
    * fix groups with fullscreen
    * fix hyprland freeze when undocking from docking station
    * fix misc fullscreen issues
    * fix mouse binds being stuck
    * fix moving between fullscreen workspaces
    * fix pinned fade on fs
    * fix refocus on same workspace
    * fix special fullscreen
    * fix special workspace dispatcher logic
    * fix wonky focus on movetoworkspace
    * fix ws switching with LS opacity
    * minor code styling fixes
    * minor mouse bind handling fixes
    * minor swipe fixes
    + Other:
    * accept any case in binds
    * allow current in monitorfromstring
    * better cycling in fullscreen with pinned
    * better dwindle swapping with groups
    * disable enabling groups on fullscreen windows
    * disallow fullscreen pinned
    * disallow move/resize dispatchers on fullscreen windows
    * don't apply alpha to fadingOut on setWindowFullscreen
    * don't iterate over subsurfaces in unmap
    * export HYPRLAND_CMD for scripts
    * fade control for fullscreen action on windows
    * fullscreen animation en-nice-ment
    * guard invalid FB allocs
    * handle multi-ws swaps in layouts
    * handle touch devices internally as objects
    * hyprctl-nopoll
    * introduce new mouse binds in default and example cfgs
    * more forceRendering checks in shouldRenderWindow
    * mouse binds overhaul
    * only check for visible on xdg
    * prevent assert killing Hyprland after reenabling monitor
    * tick config after reload request
    * verify visibility of new geom in floating creation
* Fri Sep 09 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.13.1beta:
    + New features:
    * consistent output of window addresses
    * fix group decos on added windows
    + Fixes:
    * fix addreserved lag
    * fix group decos on added windows
    * guard drag in destroyDrag to fix a crash
    + Other:
    * more guarding in cleanup pid gathering
    * prevent missed surface size updates on fullscreen window close
* Wed Sep 07 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.13.0beta:
    + New features:
    * Added Xwayland and floating props to windowrulev2
    * Added windowrulev2
    * add lastwindow info to hyprctl workspaces
    * added a submap IPC event
    * added closewindow dispatcher
    + Fixes:
    * Fix some more crimes against humanity
    * fix a damage issue with transformed blur
    * fix a minor bug with no gaps when only and groups
    * fix blur on transformed displays
    * fix dwindle no gaps when only when dissolving a group
    * fix mouse focus not returning from a LS on follow mouse 0
    * fix no_gaps_when_only with a group
    * fix some minor crimes against humanity
    * fix splash positioning
    * fix transformed blur on new optimizations
    * fix up styling
    * fix wonky behavior with silent workspace rule
    + Other:
    * Update wlroots dep
    * damage drag on destroy
    * default rounding to 0
    * don't accumulate from virtual
    * escape json strings in workspaces lastwindow title
    * guard pFoundWindow in CInputManager under fullscreen
    * guard parent in X11TransientFor
    * guard psurface in activateSurface
    * guard unsafe state in unmap ls
    * optimize calls in toggleSpecialWorkspace
    * refocus on reserved area
    * remember last window on workspace
    * remove tiling node when invalid
    * sanity check on last window
    * send accumulated modifiers to surfaces
    * set last monitor and dont refocus in some cases
      (changeworkspace)
    * simplify code and update monitor on warp
    * simplify config monitor reloads and rearrange layers
    * unify monitor args
    * use activateSurface in unconstrainMouse
    * use lastMonitor in mapWindow
    * warp only on another monitor in changeworkspace
    * wrap lastwindow in quotes in hyprctl json
* Tue Aug 30 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.12.1beta:
    + New features:
    * Add HiDPI xwayland + wlroots patches (#591)
    * Added window dimming
    + Fixes:
    * finally fixed transformed snapshots
    * fix LS popup damage
    * fix dwindle groupbars
    + Other:
    * disable fullscreen and floating dispatchers on special
    * set last monitor on move focus dispatcher
* Mon Aug 29 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.12.0beta:
    + New features:
    * Add cleaninstall task
    * Nix: add nixConfig
    * add clean install for those who build from source
    * added a forceinput rule
    * added a specialWorkspace anim leaf
    * added a swapactiveworkspaces dispatcher
    * added an event for moving workspace
    * added swapnext
    * added swapnext and swapprev for master
    + Fixes:
    * fix device closing
    * fix fullscreen in moving ws
    * fix fullscreen on workspace rule silent
    * fix indents, change crit log to info
    * fix internal keybinds
    * fix logic in candidates on unmap
    * fix more indents, im sorry vaxry
    * fix parser in nested categories
    * fix segfault in inactive sessions
    * fix shadows on silent rule
    * fix silent workspaces with back and forth
    * fix styling in const ptrs
    * fix subsurface UV handling on oversized windows
    * fix window rules
    * fix xwayland config option for nix (#587)
    * fixes to swapnext logic on dwindle
    * minor damage fixes
    * minor fixes to the viewporter behavior
    + Other:
    * Allow passing the mouse as well in pass
    * Force wlroots to not send leave events in pass to XWayland
    * Multiple improvements to the shutdown procedure
    * Unfocus first on non-internal ws changes
    * Viewporter implementaion (#585)
    * allow specifying window for toggle floating
    * better find device cats
    * don't find a new candidate to refocus on unfocused unmap
    * don't focus silent windows
    * guard nullptr in unmap
    * ignore oversized popups' dims in global coords
    * implemented DRM leasing for VR headsets
    * modify exit behaviour a bit
    * move X11 transients to top on parent top
    * optimize options in dwindle
    * pass press and release events separately
    * ratelimit setting cursor
    * remove general:sensitivity from the default config
    * reset uv on invalid buffer source box
* Tue Aug 23 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.11.1beta:
    + New features:
    * added HYPRLAND_LOG_WLR envvar
    * added misc:float_switch_override_focus
    + Fixes:
    * IME Popup damage fixes
    * fix IME grab on multiple open native inputs
    * fix LS snapshot rendering logic
    * fix logic in fullscreen close candidates
    * fix minor refocus issue
    * fix oversized popup misalignment
    * fix up hyprctl dispatch
    * fix up keyword to accept spaced args
    * fix wlr logging
    * minor fix on unfocus on fullscreen workspace
    * minor fixes to candidate finding
    + Other:
    * always use /usr/share/ for wayland-sessions
    * clean up temp logic in snapshots
    * damage on force warp resize
    * destroy monitor resources on exit
    * doc: build man pages to repo
    * doc: install mapages
    * docs: install manpages with meson
    * don't refocus if candidate is last window
    * don't round popups
    * dropped deprecated gethostbyname check
    * fullscreen request only when mapped
    * gha: build man pages
    * improve compatability with older meson versions
    * move monitor damage to separate funcs
    * openSUSE patches
    * remove unintuitive candidate behavior
    * report sizes to all windows on fullscreen
    * use a custom logging func for wlr
  - Dropped gethostbyname.patch, included upstream.
  - Dropped old-meson.patch, included upstream.
* Mon Aug 22 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Update to version 0.11.0beta:
    + Breaking changes:
    * The SHIFT modifying behaviour in the config has been removed
      example:
      bind=SHIFT,exclam,movetoworkspace,1 # OLD
      bind=SHIFT,1,movetoworkspace,1 # NEW
      As an additional result of the above, for multi-layout users,
      see
      https://wiki.hyprland.org/Configuring/Uncommon-tips--tricks/
    + New features:
    * Add mapwindow, unmapwindow and movewindow IPC events
    * Add switching to previous workspace
    * add general:allow_workspace_cycles option
    * add general:workspace_back_and_forth option
    * add switching to previous workspace
    + Fixes:
    * fix a minor border issue
    * fix another edge case for fullscreen default windows
    * fix bug which allowed a switch to workspace ID -1.
    * fix crash
    * fix incorrect popup handling on oversized
    * fix retrieval of monitor
    * fix special workspace windows being xray with new optim
    * fix style conflicts and config + monitor retrieval
    * fix warn
    * minor activewindow and focus fixes
    + Other:
    * handle fullscreen pre-map
    * remove unused func
    * set new optimizations for blur in example configs
    * use a custom translation state in keybinds
    * warn about outdated keybind cfg
* Sat Aug 20 2022 Florian "spirit" <packaging@sp1rit.anonaddy.me>
  - Initial packaging

Files

/usr/bin/Hyprland
/usr/bin/hyprctl
/usr/bin/hyprland
/usr/bin/hyprpm
/usr/share/doc/packages/hyprland
/usr/share/doc/packages/hyprland/README.md
/usr/share/hypr
/usr/share/hypr/hyprland.conf
/usr/share/hypr/lockdead.png
/usr/share/hypr/lockdead2.png
/usr/share/licenses/hyprland
/usr/share/licenses/hyprland/LICENSE
/usr/share/man/man1/Hyprland.1.gz
/usr/share/man/man1/hyprctl.1.gz
/usr/share/wayland-sessions
/usr/share/wayland-sessions/hyprland.desktop
/usr/share/xdg-desktop-portal
/usr/share/xdg-desktop-portal/hyprland-portals.conf


Generated by rpm2html 1.8.1

Fabrice Bellet, Fri Jan 31 23:54:14 2025