v0.43.0
版本发布时间: 2024-09-09 01:00:46
hyprwm/Hyprland最新发布版本:v0.44.1(2024-10-09 21:03:04)
A new, big update 0.43.0 brought to you by Yours Truly.
Many bugfixes, and new features, as always.
Notes for packagers
- Hyprland now requires C++26 support to build. gcc>=14 or clang>=18 will be needed.
- Installable assets have moved to
assets/install/
. All pngs there should be installed to$PREFIX/share/hypr/
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 92744b5b9aa3 (#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:
- CI: clarify Nix CI jobs; disable on forked repositories
- CI: disable stale workflow on forks (#7535)
- CMake: drop duplicate -luuid after 5262292abc56
- CMake: drop unused deps after 016da234d0e8
- CMakeLists: wayland.xml is in wayland-scanner pkgdatadir
- Nix: exclude wayland-scanner until next staging merge
- Nix: include xcursor regardless of xwayland
- Nix: remove unused dependencies
- README: Change image sources from vaxerski/Hyprland to hyprwm/Hyprland (#7315)
- Revert "syncobj: wait for deadline instead of available"
- Update aquamarine input in flake
- 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)
Special Thanks
Special thanks to these chads for donating, as always:
- Xoores
- taigrr
- SomeMediocreGamer
- Azelphur
- ari-cake
- alukortti
- MasterHowToLearn
- Theory_Lukas
- maltbeverage
- Plyply
- Poor as shit
- Milan
- johndoe42
- yyyyyyyan
- seb
- Cromat_tux
- DaGaugl
- Philipp Soldunov
- nico
- atomicptr
- ircurry
- normal
- Mikey G
- JPEG
- Sven
- neoney
- Valentin MATHIEU
- Morally2412
- Enzi
- Logno
- Mihail
- niraami
- KelpShake
MRs
- core: Move to C++26 and use native_handle to CLOEXEC the debug fd by @vaxerski in https://github.com/hyprwm/Hyprland/pull/7219
- type conversion to new types to avoid unsigned int rollover and signed int overflow by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7216
- fix: set correct paths to header files by @matt1432 in https://github.com/hyprwm/Hyprland/pull/7245
- xcursmgr add a new setting to sync gsettings by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7253
- Include cstring whenever strncpy is used by @earboxer in https://github.com/hyprwm/Hyprland/pull/7267
- cursor: make inactive_timeout setting a float by @wwaltb in https://github.com/hyprwm/Hyprland/pull/7268
- fix initial cursorwarp by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7286
- Prepend ${DESTDIR} when creating hyprland symbolic link fixes #7280) by @yangyingchao in https://github.com/hyprwm/Hyprland/pull/7281
- fix explicit sync option warning by @ikalco in https://github.com/hyprwm/Hyprland/pull/7293
- fix data race and a unsigned int rollover by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7278
- Fix fullscreenState toggling behaviour by @txkyel in https://github.com/hyprwm/Hyprland/pull/7288
- protocols avoid crashing in drmlease by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7290
- fix cursor gsettings on session change by @ikalco in https://github.com/hyprwm/Hyprland/pull/7295
- readme: Change image sources from vaxerski/Hyprland to hyprwm/Hyprland by @PaddeCraft in https://github.com/hyprwm/Hyprland/pull/7315
- fix resizing by @MightyPlaza in https://github.com/hyprwm/Hyprland/pull/7323
- Add file path to asset ERR log by @davc0n in https://github.com/hyprwm/Hyprland/pull/7336
- handle file errors when loading xcursor themes by @ikalco in https://github.com/hyprwm/Hyprland/pull/7326
- helpers: fix: revert to signed arithmetic for cycling through workspaces by @ErynGalen in https://github.com/hyprwm/Hyprland/pull/7339
- Fix syncFullscreen inconsistent with state when set by fullscreenState by @txkyel in https://github.com/hyprwm/Hyprland/pull/7343
- gamma-control: fix crash on monitor disconnect by @PaideiaDilemma in https://github.com/hyprwm/Hyprland/pull/7353
- Preserve existing XDG_CURRENT_DESKTOP by @Vladimir-csp in https://github.com/hyprwm/Hyprland/pull/7347
- protocols refactor protocol logging to a macro by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7324
- Add HYPRLAND_NO_SD_VARS env condition by @Vladimir-csp in https://github.com/hyprwm/Hyprland/pull/7358
- renderbuffer ensure framebuffer gets deleted by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7363
- xcursormgr dont apply scale on gsettings by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7316
- Add config descriptions by @vaxerski in https://github.com/hyprwm/Hyprland/pull/7377
- Update aquamarine input in flake by @leiserfg in https://github.com/hyprwm/Hyprland/pull/7382
- Fix disabling tap-to-click by @sliedes in https://github.com/hyprwm/Hyprland/pull/7304
- shm align size to stride by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7383
- compositor: update suspendstate on window move by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7396
- flake: update aquamarine by @diniamo in https://github.com/hyprwm/Hyprland/pull/7395
- hyprpm, hyprctl: update shell completions by @LOSEARDES77 in https://github.com/hyprwm/Hyprland/pull/7399
- Unbreak build with libc++ by @jbeich in https://github.com/hyprwm/Hyprland/pull/7403
- feat: more systemd examples by @JL2210 in https://github.com/hyprwm/Hyprland/pull/7409
- Fix typo by @arash28134 in https://github.com/hyprwm/Hyprland/pull/7446
- feat: add a config to control which window to focus on when closing window by @ParaN3xus in https://github.com/hyprwm/Hyprland/pull/7368
- dont cast enum out of range by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7448
- fix: static asan patch by @JL2210 in https://github.com/hyprwm/Hyprland/pull/7439
- dont rollover in layersurface by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7451
- CMakeLists: wayland.xml is in wayland-scanner pkgdatadir by @flokli in https://github.com/hyprwm/Hyprland/pull/7467
- Fix crash reports having execute permission by @Redender64 in https://github.com/hyprwm/Hyprland/pull/7469
- layersurface remove expired layers on arranging by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7457
- Fix modifier keys getting stuck if depressed during config reload by @MahouShoujoMivutilde in https://github.com/hyprwm/Hyprland/pull/7486
- windowrules: add fullscreenstate field by @sungyoonc in https://github.com/hyprwm/Hyprland/pull/7466
- refactor dispatchers to be beetter by @ikalco in https://github.com/hyprwm/Hyprland/pull/7331
- hyprpm: Fix checking dependencies by @ntnn in https://github.com/hyprwm/Hyprland/pull/7504
- xwayland: deactivate xwayland focus if wayland is focused by @Trimutex in https://github.com/hyprwm/Hyprland/pull/7458
- sessionLock: fix misc:allow_session_lock_restore by @PaideiaDilemma in https://github.com/hyprwm/Hyprland/pull/7511
- Rename all instances of "emtpy" to "empty" by @adharmic in https://github.com/hyprwm/Hyprland/pull/7522
- build: fix 32bit builds by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7510
- make most for loops use const references by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7527
- fix some minor typos by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7530
- constify the remaining for loops by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7534
- CI: disable stale workflow on forks by @NotAShelf in https://github.com/hyprwm/Hyprland/pull/7535
- Fix missing include needed by clang by @GreatGameGal in https://github.com/hyprwm/Hyprland/pull/7490
- Fix NO_XWAYLAND build by @gekola in https://github.com/hyprwm/Hyprland/pull/7538
- hyprctl: avoid parsing string::npos on invalid cmd by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7544
- don't get timezone every time logging, its expensive cause cpp dum by @ikalco in https://github.com/hyprwm/Hyprland/pull/7550
- nix(flake): update aquamarine by @diniamo in https://github.com/hyprwm/Hyprland/pull/7540
- ensure buffer format on commit by @ikalco in https://github.com/hyprwm/Hyprland/pull/7556
- renderer: better lockscreen dead behavior by @vaxerski in https://github.com/hyprwm/Hyprland/pull/7574
- xwayland: update overrideRedirect on map and configure by @Trimutex in https://github.com/hyprwm/Hyprland/pull/7575
- keybinds: release mods after sendshortcut by @darkwater in https://github.com/hyprwm/Hyprland/pull/7581
- Add a window rule to render while unfocused by @vaxerski in https://github.com/hyprwm/Hyprland/pull/7582
- meson: unbreak build with BSD find(1) by @jbeich in https://github.com/hyprwm/Hyprland/pull/7590
- fix direct scanout by @ikalco in https://github.com/hyprwm/Hyprland/pull/7594
- CI: clarify Nix CI jobs; disable on forked repositories by @NotAShelf in https://github.com/hyprwm/Hyprland/pull/7595
- fixes crash on Hyprland exit by @ikalco in https://github.com/hyprwm/Hyprland/pull/7600
- Fixed selection mismatch during 'wlr reset primary selection'. by @TheMical in https://github.com/hyprwm/Hyprland/pull/7598
- fix crash on monitor removed with gammaControl by @ikalco in https://github.com/hyprwm/Hyprland/pull/7601
- xwm: read atom name from xcb by @gulafaran in https://github.com/hyprwm/Hyprland/pull/7546
- textinput: send deactivate to ime on destory ti by @sungyoonc in https://github.com/hyprwm/Hyprland/pull/7614
- textinput: don't deactivate ime if another ti is focused by @sungyoonc in https://github.com/hyprwm/Hyprland/pull/7617
- CMake: drop unused dependencies (a la Meson) by @jbeich in https://github.com/hyprwm/Hyprland/pull/7626
- input: don't emit idle activity when calling simulateMouseMovement by @PaideiaDilemma in https://github.com/hyprwm/Hyprland/pull/7649
- sessionLock: ensure sls focus in some edge cases by @PaideiaDilemma in https://github.com/hyprwm/Hyprland/pull/7647
- config: add option to enable/disable xwayland by @Trimutex in https://github.com/hyprwm/Hyprland/pull/7633
- config: Add a variable to prevent groups from merging after being dragged by @Sonotsugipaa in https://github.com/hyprwm/Hyprland/pull/7650
- textinput: fix ime activation in some edge cases by @sungyoonc in https://github.com/hyprwm/Hyprland/pull/7660
- workspacerules: fix on-created-empty window focus by @sungyoonc in https://github.com/hyprwm/Hyprland/pull/7657
- input: move idle notify to input handlers by @PaideiaDilemma in https://github.com/hyprwm/Hyprland/pull/7659
- input: kb focus mouse focused window if unset by @outfoxxed in https://github.com/hyprwm/Hyprland/pull/7666
- input: try to refocus a focusable window when seat grabs are reset by @outfoxxed in https://github.com/hyprwm/Hyprland/pull/7669
- Added default button mapping for laptop multimedia keys for volume an… by @DarthChillash in https://github.com/hyprwm/Hyprland/pull/7672
- config: add exec-shutdown for running commands on shutdown by @Trimutex in https://github.com/hyprwm/Hyprland/pull/7683
New Contributors
- @matt1432 made their first contribution in https://github.com/hyprwm/Hyprland/pull/7245
- @wwaltb made their first contribution in https://github.com/hyprwm/Hyprland/pull/7268
- @txkyel made their first contribution in https://github.com/hyprwm/Hyprland/pull/7288
- @PaddeCraft made their first contribution in https://github.com/hyprwm/Hyprland/pull/7315
- @davc0n made their first contribution in https://github.com/hyprwm/Hyprland/pull/7336
- @ErynGalen made their first contribution in https://github.com/hyprwm/Hyprland/pull/7339
- @Vladimir-csp made their first contribution in https://github.com/hyprwm/Hyprland/pull/7347
- @leiserfg made their first contribution in https://github.com/hyprwm/Hyprland/pull/7382
- @JL2210 made their first contribution in https://github.com/hyprwm/Hyprland/pull/7409
- @arash28134 made their first contribution in https://github.com/hyprwm/Hyprland/pull/7446
- @ParaN3xus made their first contribution in https://github.com/hyprwm/Hyprland/pull/7368
- @flokli made their first contribution in https://github.com/hyprwm/Hyprland/pull/7467
- @Redender64 made their first contribution in https://github.com/hyprwm/Hyprland/pull/7469
- @ntnn made their first contribution in https://github.com/hyprwm/Hyprland/pull/7504
- @adharmic made their first contribution in https://github.com/hyprwm/Hyprland/pull/7522
- @GreatGameGal made their first contribution in https://github.com/hyprwm/Hyprland/pull/7490
- @gekola made their first contribution in https://github.com/hyprwm/Hyprland/pull/7538
- @TheMical made their first contribution in https://github.com/hyprwm/Hyprland/pull/7598
- @Sonotsugipaa made their first contribution in https://github.com/hyprwm/Hyprland/pull/7650
- @DarthChillash made their first contribution in https://github.com/hyprwm/Hyprland/pull/7672
Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.42.0...v0.43.0
1、 source-v0.43.0.tar.gz 51.87MB
2、 v0.43.0.tar.gz 49.14MB