github hyprwm/Hyprland v0.38.0

latest releases: v0.41.1, v0.41.0, v0.40.0...
2 months ago

A nice april update for y'all brought by the Hyprland Corporation

No backdoors added, I promise.

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
  • README: Fix Preview B image (#5188)
  • 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
  • github: fix github issue template crash dir (#5269)
  • 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
  • Nix: match derivation to Nixpkgs
  • 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)
  • github: remove redundant instruction (#5163)
  • 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)
  • internal: removed Herobrine
  • 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
  • makefile: Remove old headers first (#5316)
  • 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

Special thanks

Special thanks as always to these chads for donating:

  • alukortti
  • Wickedly
  • pulsar256
  • Philipp Soldunov
  • MasterHowToLearn
  • Theory_Lukas
  • Goggi
  • someone
  • sandsquare
  • Yok0ri
  • C0d3Cr4f73r
  • Keule2
  • Bims
  • yutkat
  • taigrr
  • Crazyroostereye
  • Zerron21
  • jaketompkins
  • Vic
  • ari-cake
  • ModalDiagram

MRs

New Contributors

Full Changelog: v0.37.1...v0.38.0

Don't miss a new Hyprland release

NewReleases is sending notifications on new releases.