Skip to content

Releases: hyprwm/Hyprland

v0.21.0beta

28 Jan 18:38
Compare
Choose a tag to compare

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

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

07 Jan 12:55
Compare
Choose a tag to compare

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

05 Jan 22:36
Compare
Choose a tag to compare

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

Full Changelog: v0.19.2beta...v0.20.0beta

v0.19.2beta

12 Dec 15:05
111d209
Compare
Choose a tag to compare

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

07 Dec 19:39
Compare
Choose a tag to compare

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

06 Dec 13:22
Compare
Choose a tag to compare

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

Full Changelog: v0.18.0beta...v0.19.0beta

v0.18.0beta

16 Nov 17:45
Compare
Choose a tag to compare

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

Full Changelog: v0.17.0beta...v0.18.0beta

v0.17.0beta

30 Oct 12:40
Compare
Choose a tag to compare

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

Full Changelog: v0.16.0beta...v0.17.0beta

v0.16.0beta

17 Oct 16:26
Compare
Choose a tag to compare

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

Full Changelog: v0.15.3beta...v0.16.0beta

v0.15.3beta

11 Oct 09:57
Compare
Choose a tag to compare

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