Releases: hyprwm/Hyprland
v0.21.0beta
Minor update after a short while. Re-released: backport crash fixes.
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)
- Nix: update waybar-hyprland, add hyprland-nvidia (#1409)
- 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
- nix: add hyprland-protocols through pkgconfig (#1275)
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)
- Nix CI: build xdg-desktop-portal-hyprland
- 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
- nix: react to another stdenv change (#1399)
- 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)
New Contributors
- @cyrinux made their first contribution in #1336
- @ri-char made their first contribution in #1342
- @raffaem made their first contribution in #1340
- @maximbaz made their first contribution in #1374
- @ppenguin made their first contribution in #1319
- @devil-may-c0de made their first contribution in #1388
- @scorpion-26 made their first contribution in #1393
- @xVermillionx made their first contribution in #1419
- @pranaless made their first contribution in #1420
Special thanks
Special thanks to these gigachads for their financial support:
- HauntedCoffeePot
- Lipt0nas
- speedboat
- Dashie
- Murderburger_
- jacekpoz
- Jose
- Nesslo
- Xeco
- ShabirK
- taka0
- rig0r
- Sam
- Insert 5Star Name
Full Changelog: v0.20.1beta...v0.21.0beta
v0.20.1beta
Minor patch mostly to fix some crashes with overshot animations.
New features:
- CI: add jq to Arch Meson build
- Nix: add jq
- 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
Special thanks
Special thanks to these gigachads for donating, as usual:
- Karagra
- HauntedCoffeePot
- Lipt0nas
- speedboat
New Contributors
Full Changelog: v0.20.0beta...v0.20.1beta
v0.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
- nix/hm-module: add disableAutoreload option
- nix/hm-module: add nvidiaPatches option
- nix/module: add nvidiaPatches option
- nix/wlroots: add nvidia patch
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
- nix: update wlroots & fix updater
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
- nix/flake: remove merged overrides
- nix/hm-module: make config optional
- nix: handle reloading of multiple/dead instances on home manager generation switch
- nix: update xdph
- 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
- removed Herobrine
Special thanks
as usual, massive <3 to those chads for donating towards further development of this project:
- Karagra
- HauntedCoffeePot
- Lipt0nas
- speedboat
- blue_struct
- Merlin04
- Aljosha
- Struan
- krylov_subspace
- abs3nt
New Contributors
- @rytec-nl made their first contribution in #1262
- @blurgyy made their first contribution in #1263
- @TheOnlyMrCat made their first contribution in #1267
- @colemickens made their first contribution in #1296
- @257 made their first contribution in #1253
Full Changelog: v0.19.2beta...v0.20.0beta
v0.19.2beta
New features:
- Added toplevel handle sharing
- Revert "nix: add cachix to nixos module"
- add changefloatingmode event
- add missing c_str in debug log
- ensure mapped state in addViewCoords
- nix: add xdph to flake and enable it in the nixos module
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
Special Thanks
as usual, special thanks to these chads for donating to help the project stay alive:
- speedboat
- Karagra
- HauntedCoffeePot
- Lipt0nas
- zjeffer
- Matthias
New Contributors
Full Changelog: v0.19.1beta...v0.19.2beta
v0.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
- nix: add cachix to nixos module
Fixes:
- fix lost windows clogging up memory
- fix up moving to special workspace
- minor fixes to special workspace behavior
- minor toplevel sharing fixups
Other:
- remove double semicolons
- unset fullscreen in onWindowRemoved
Special thanks
Special thanks as always to these chads for donating to keep the project going:
- Pebor
- HauntedCoffeePot
- Lipt0nas
- speedboat
- Karagra
Full Changelog: v0.19.0beta...v0.19.1beta
v0.19.0beta
Cool stuff.
Info for packagers:
the source-
tarball has changed. Everything is now in a subdir called hyprland-source/
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
- Nix: add libdrm and wayland-protocols overlay
- 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)
- nix: add cmake and wlroots to devshell (#1155)
- nix: add xdph to nixos module
- 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
- nix: remove merged hwdata override
- nix: update nixpkgs (includes merged hwdata update)
- 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
Special Thanks
Special thanks as usual to those alpha male gigachads for dropping me some euros:
- umop3plsdn
- Karagra
- Teddy-Kun
- Martin E
- Vibrose
- AmadeusWM
- Lipt0nas
- HauntedCoffeePot
- Leftas
- Pebor
New Contributors
- @julianschuler made their first contribution in #1060
- @Maks-s made their first contribution in #1009
- @CactiChameleon9 made their first contribution in #1067
- @hnboy made their first contribution in #1124
- @heymisphere made their first contribution in #1144
- @eriedaberrie made their first contribution in #1159
Full Changelog: v0.18.0beta...v0.19.0beta
v0.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
Special Thanks
As tradition, special thanks to those gigachads for donating in support of the project:
- re-ynd
- Pebor
- speedboat
- HauntedCoffeePot
- Karagra
- Lipt0nas
New Contributors
- @abbadanor made their first contribution in #942
- @jbeich made their first contribution in #972
- @philj56 made their first contribution in #990
- @sioodmy made their first contribution in #991
- @leftas made their first contribution in #997
- @ElJeffe made their first contribution in #983
- @Mango0x45 made their first contribution in #1000
Full Changelog: v0.17.0beta...v0.18.0beta
v0.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
Special Thanks
As usual, special thanks to those people for dropping some euros to me:
- JNC
- Zephan
- Lipt0nas
- HauntedCoffeePot
- Karagra
New Contributors
- @wael444 made their first contribution in #893
- @riley-martin made their first contribution in #912
- @rakino made their first contribution in #924
Full Changelog: v0.16.0beta...v0.17.0beta
v0.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
Special thanks
Special thanks to these massive epic alpha male gigachads for donating:
- Lipt0nas
- HauntedCoffeePot
- Karagra
- mdaydevelopment
- yavko
- Heisfer
New Contributors
- @KyleUltimate made their first contribution in #812
- @brodi1 made their first contribution in #844
- @histausse made their first contribution in #813
- @K1llf0rce made their first contribution in #857
Full Changelog: v0.15.3beta...v0.16.0beta
v0.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
Special thanks
Special thanks as usual to these chads for donating:
- Neutronic
- Karagra
- Lipt0nas
- HauntedCoffeePot
Full Changelog: v0.15.2beta...v0.15.3beta