After the longest commit gap to date, I decided to bring y'all the 0.33.0 update. Enjoy!
- Yours truly.
Notes for Packagers
- 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:
- cmakelists: fix old wlroots sover
- 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)
- cmake: include tracy cpp if set
- 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)
- flake.lock: update nixpkgs and xdph
- 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: remove Herobrine
- 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
- makefile: update wlroots sover
- meson: Update wlroots-meson-build.patch (#3950)
- monitor: remove comma from monitor description (#3996)
- nix: override libdrm to use newer version (#4003)
- 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
Special Thanks
Special thanks to these chads for donating their moolah:
- pulsar256
- alukortti
- WhoKnows
- Ferreo
- VDawg
- Philipp Soldunov
- moneyspreder
- wisesheepbh
- Zack Mitkin
- JPEG
- Squiddles
- Spearhead
- Bug23451
- george_markas
- ItsDrike
- System64
- Armin
- Michael Xspect
- spikespaz
- Logno
- istasi
MRs
- Fix sending wl "finished" events on monitor disabling. Fixes #1274 by @levnikmyskin in #3718
- Some more changes in rgb2hsl. by @Dickby in #3834
- feat: add touch event hooks by @horriblename in #3836
- Close special workspace after moving windows out of it by @thejch in #3649
- Fix position of groupbar titles on monitor scales != 1.0 by @Dickby in #3856
- Don't use wrong matrix just because it's GLES by @Dickby in #3867
- nix: add libGL to build inputs by @andresilva in #3871
- hyprctl: change monitorRequest to report all connected monitors by @TheAngusMcFire in #3730
- Allow floating windows on special by @vaxerski in #3872
- Don't update pseudoSize after window moved by mouse. by @Dickby in #3873
- New operator overloads and small fix in Vector2D. by @Dickby in #3891
- group: dragging into floating groups by @MightyPlaza in #3719
- group:fix text position by @MightyPlaza in #3893
- Workspace gaps by @end-4 in #3877
- Fix floating window rendering when scale > 1 by @thejch in #3901
- Add workspace offset to floating window shadow by @thejch in #3906
- Fix floating clipbox scale by @thejch in #3907
- Add hyprctl 'layouts' command by @zakk4223 in #3895
- Add CXXFLAGS to hyprlctl's Makefile by @NgoHuy in #3913
- Move to a full Hyprland GL rendering pipeline by @vaxerski in #3920
- Make exec support compound bash commands by @thejch in #3923
- flake.lock: update nixpkgs and xdph by @andresilva in #3927
- Fixup double rendering cases with special by @vaxerski in #3928
- renderer: Adding an option to disable first launch animation by @xavi-b in #3933
- Pass mouse input to IME popups by @MikeWalrus in #3922
- Update wlroots-meson-build.patch by @coldified in #3950
- Fix custom acceleration profile config by @jibingeo in #3948
- Remove nvidia patches by @vaxerski in #3957
- allow reload and fix locked groupbar gradient by @MightyPlaza in #3546
- monitor: remove comma from monitor description by @zephvr in #3996
- nix: override libdrm to use newer version by @andresilva in #4003
- managers: fix debug log using printf format by @zephvr in #4007
- Fix overzealous mouse capture by resize_on_border for XWayland applications by @wrenby in #4010
- Add workspace rule for master layout orientation by @thejch in #3964
- Handle fullscreen windows in vectorToWindowIdeal by @dranull in #4021
- Minor --config improvements, fixes by @dranull in #4034
- Add variables to default config by @PolskiGlizda in #4032
New Contributors
- @TheAngusMcFire made their first contribution in #3730
- @NgoHuy made their first contribution in #3913
- @xavi-b made their first contribution in #3933
- @MikeWalrus made their first contribution in #3922
- @coldified made their first contribution in #3950
- @jibingeo made their first contribution in #3948
- @zephvr made their first contribution in #3996
- @wrenby made their first contribution in #4010
- @dranull made their first contribution in #4021
- @PolskiGlizda made their first contribution in #4032
Full Changelog: v0.32.3...v0.33.0