hyprland/hyprland.changes

4511 lines
201 KiB
Plaintext

-------------------------------------------------------------------
Fri Dec 20 07:58:25 UTC 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 19:35:11 UTC 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 11:20:07 UTC 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 13:55:57 UTC 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 21:31:16 UTC 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 9 16:26:26 UTC 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 9 15:11:23 UTC 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 6 11:41:04 UTC 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 8 23:12:21 UTC 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 8 07:43:20 UTC 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 07:58:46 UTC 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 21:51:19 UTC 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 15:36:52 UTC 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 17:10:38 UTC 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 4 22:46:12 UTC 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 17:04:36 UTC 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 09:57:22 UTC 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 9 12:43:09 UTC 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 2 15:46:34 UTC 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 12:47:48 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Add hyprland-wallpapers subpackage: Wallpapers too large are
included in the main package.
-------------------------------------------------------------------
Sat Mar 16 19:50:56 UTC 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 1 00:16:18 UTC 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 10:46:15 UTC 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 4 10:44:41 UTC 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 6 16:56:14 UTC 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 5 17:53:38 UTC 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 19:05:40 UTC 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 7 21:53:45 UTC 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 22:21:49 UTC 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 14:12:29 UTC 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 08:11:28 UTC 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 3 17:30:30 UTC 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 13:31:16 UTC 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 14:37:54 UTC 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 13:12:44 UTC 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 21:15:46 UTC 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 16:38:11 UTC 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 09:11:41 UTC 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 3 21:07:55 UTC 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 12:19:45 UTC 2023 - Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
- Updated _service to allow hyprland to be submitted to factory.
-------------------------------------------------------------------
Tue Apr 11 10:49:36 UTC 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 9 06:49:43 UTC 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 16:18:46 UTC 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 17:26:55 UTC 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 00:13:30 UTC 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 17:03:24 UTC 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 8 18:04:51 UTC 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 19:06:36 UTC 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 9 19:11:18 UTC 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 6 21:05:39 UTC 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 22:07:56 UTC 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 14:38:58 UTC 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 21:02:05 UTC 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 10:20:17 UTC 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 9 22:32:20 UTC 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 6 23:06:29 UTC 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 4 08:28:42 UTC 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 17:38:03 UTC 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 9 13:51:45 UTC 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 7 18:39:03 UTC 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 19:23:22 UTC 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 11:25:37 UTC 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 21:43:17 UTC 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 10:24:52 UTC 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 22:27:43 UTC 2022 - Florian "spirit" <packaging@sp1rit.anonaddy.me>
- Initial packaging