v0.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.
Notes for packagers
- wallpaper paths have changed. See
assets/
or theMakefile
.
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:
- Meson: fix wallpaper installation
- cmakelists: fix wlroots patch sed
- 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 & 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)
- nix: fix overlay composition
- 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)
- Makefile: force ln command to overwrite symlink (#4347)
- Makefile: pass PREFIX to CMake
- Makefile: remove hyprland symlink on uninstall
- Nix: disable fortify for devshell (#4463)
- build: protocols: require wayland-protocols >= 1.32
- cmake: Propagate NO_XWAYLAND to wlroots building setup (#4385)
- 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
- examples: remove example plugin
- 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
- internal: removed Herobrine
- 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)
- subprojects: remove wlroots.wrap
- 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)
Special thanks
Special thanks as always to these gigachads for throwing some money at me:
- Brodie Robertson
- maxhbr
- pulsar256
- alukortti
- Wickedly
- Philipp Soldunov
- blepabyte
- Adam Szegedi
- garypippi
- ewb
- Motschen
- orbitaldrop
- Seb
- frank
- MasterHowToLearn
- MR_POOR
- Dustee
MRs
- fix keys getting stuck + minor refactor & optimizations to keybind handling by @rszyma in #4304
- Update wlroots-meson-build.patch by @bvr-yr in #4324
- Only force nearest neighbor when the sizes are off by one or two by @q234rty in #4325
- HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict by @earboxer in #4321
- Drag single window instead of destroying group by @dranull in #4327
- Refocus only if the silently moved window had the focus by @dranull in #4328
- variables update their value when set again by @flick0 in #4263
- Makefile: force ln command to overwrite symlink by @rszyma in #4347
- Add more null checks for rollnext by @thejch in #4343
- Fixed a typo by @naksudev in #4359
- Unbreak install with CMake on FreeBSD by @jbeich in #4361
- leave special on focus by @phonetic112 in #4358
- Propagate
NO_XWAYLAND
on cmake to meson building wlroots by @Piroro-hs in #4385 - groupbar: improve gradient handling by @MightyPlaza in #4390
- Round window pos and size on togglefloating by @Clyybber in #4407
- Prevent hiding current workspace when swiping by @scorpion-26 in #4417
- Fix greedy mouse grab from keyboard_interactive layer by @earboxer in #4401
- Set preferred scale on monitor config reload by @1over137 in #4406
- screen_shader config fixes by @dranull in #4102
- Add border gradients to windowrulev2 by @IdmFoundInHim in #4335
- groupbar: separate gradients from title by @MightyPlaza in #4444
- Implement a dispatcher for xmonad/qtile-style workspace switching by @virchau13 in #4439
- Disable fortify for devshell by @huynguyen in #4463
- remove PANIMATE checks on tick thing by @phonetic112 in #4480
- build: protocols: require wayland-protocols >= 1.32 by @SeanMcG in #4488
- Allow disabling touchscreen input by @earboxer in #4517
- Check if pinned window is focused on special by @phonetic112 in #4533
- layout: save float props before setting fs state by @bvr-yr in #4537
- dwindle: fix windows being created at incorrect position when cursor is over reserved area by @rszyma in #4520
- remove m_vReportedSize set for xwayland by @phonetic112 in #4539
- nix: fix overlay composition by @GrizzlT in #4555
- subprojects: remove wlroots.wrap by @fufexan in #4572
- Makefile: remove hyprland symlink on uninstall by @Roger-Roger-debug in #4574
- Fix nullptr crash when disconnecting a monitor by @abmantis in #4577
- hyprpm: install headers locally by @vaxerski in #4585
- screenshader: rename output uniform to monitor by @JManch in #4606
- focus window on mouse down on decoration by @MightyPlaza in #4514
New Contributors
- @rszyma made their first contribution in #4304
- @bvr-yr made their first contribution in #4324
- @earboxer made their first contribution in #4321
- @flick0 made their first contribution in #4263
- @naksudev made their first contribution in #4359
- @phonetic112 made their first contribution in #4358
- @Piroro-hs made their first contribution in #4385
- @Clyybber made their first contribution in #4407
- @1over137 made their first contribution in #4406
- @IdmFoundInHim made their first contribution in #4335
- @virchau13 made their first contribution in #4439
- @huynguyen made their first contribution in #4463
- @SeanMcG made their first contribution in #4488
- @GrizzlT made their first contribution in #4555
- @abmantis made their first contribution in #4577
Full Changelog: v0.34.0...v0.35.0