Releases: hyprwm/Hyprland
v0.24.0
A minor update with some small changes as usual. Brought to you by Yours Truly.
New features:
- Feat: add initial class/title to hyprctl clients
- LS: add blur and ignorezero rules
- LS: support address: in layerrules
- Meson: add rdynamic ld flag
- Nix: add pango dep
- config: add misc:suppress_portal_warnings
- crashReporter: add hl ver
- debug: added manual_crash
- feat: add debug:enable_stdout_logs
- feat: add forcergbx rule
- feat: add pretty notifications
- hyprctl: add notify
- meson: add pango deps
- notifs: add ICON_OK to icons
- plugin api: add addNotificationV2
- plugins: Add an API entry for finding functions by name
- plugins: mark getFunctionAddressFromSignature deprecated
Fixes:
- Fix crash in CConfigManager::parseKeyword (#1983)
- Fix nix build options
- Fix some typos (#1907)
- Fix swiping onto a new workspace with multiple monitors. (#1971)
- Input: fix always_follow_on_dnd
- LS: fix support for legacy blurls
- Misc FreeBSD fixes (#1926)
- Nix: fix meson patch
- Nix: fix meson patch again
- Renderer: fix dim easing
- config: fix long variables being substrd
- dpms: fix key_press_enables_dpms
- dpms: fix keyboard dpms
- fix: a fullscreen bug. (#1821) (#1831)
- groups: fix moving between displays
- input: fix click-to-refocus not working on loose
- input: fix minor issue with holding focus
- keybinds: allow code: prefix
- monitors: fix segfault on non-unsafe remove
- monitors: fixes to unsafe mode
- popups: fix heap-use-after-free
- screencopy: fix crash
- screencopy: fix incorrect resource error post
- screencopy: fix read on incorrect monitor render
- screencopy: minor fixes for damage_ring
- shaders: fix missing discardAlphaZero
Other:
- Better and more secure argument parsing, and code reformatting (#1976)
- Feat: Introduce render_ahead_of_time (#1863)
- Focus: warp cursor on movewindow
- Hyprland Screencopy impl (#1800)
- LS: don't try to get rules on non-existent ls
- Nix: disable HiDPI for default package
- Nix: rebase wlroots-hidpi patch
- compositor: adjust xdp error cases
- config: default manual animations to false
- config: default no direct scanout to true
- config: improve ux on workspace and transform
- config: make default config use hyphenated dev names
- core: remove old redundant shutdown stuff
- crashReporter: try
$XDG_CACHE_HOME
before$HOME
(#1920) - dbus: don't update vars in nests
- debug: allow manual crash from hyprctl
- debug: minor improvements to manual crash
- debug: unbreak debug builds
- docs: update crash report dirs
- docs: update issue guidelines for asan env
- events: guard output in change
- examples: pull correct wlr dirs in example plugin
- hyprctl: ignore null output monitors
- input: don't overset resize icons on drag
- input: don't set icon on held buttons without a drag
- input: hold focus on mouse buttons
- input: ignore constraints on touch
- internal: comply to nofocus on vectorToWindow
- internal: don't remove x11 children on parent remove
- internal: listen to output.damage events
- internal: make togglefloat better visible on small size deltas
- internal: migrate to damage_ring
- internal: release buttons on unmap
- internal: rename ensureDPMS to ensureMonitorStatus
- internal: wrap wlr surfaces (#1822)
- keybinds: allow MOD1 as an alias of ALT
- keybinds: improve movefocus on fullscreen
- keybinds: remember last workspace on focusmonitor
- layer: allow focus on top/overlay surfaces without a window
- log: Move stdout log disabling to the end of init
- log: log wlr logs to stdout
- logs: disable stdout after init
- monitors: don't refocus on apply rule
- monitors: guard output in damageSurface
- monitors: guard output when read
- monitors: guard scale in onConnect
- monitors: more guards for safety
- monitors: remove from monitors on unsafe
- monitors: update surface outputs on recover from unsafe
- nix/xwayland-hidpi: update patch
- notifs: use empty color for auto
- output: handle needs_frame
- plugins: use new lookups in example
- render: plug missing software cursor unlocks
- renderer: don't use simple rect on alphazero stencil
- renderer: go back to rendering layers without reverse
- screencopy: allow on legacy renderer
- secret: removed Herobrine
- subsurfaces: avoid reading destroyed surfaces
- subsurfaces: guard node's surface
- surface: set to nullptr after destroy()
- swallow: move swallowed on workspace change
- swipe: block on locked session
- switches: do not fire on no change in toggle
- toplevelExport: honor overlay_cursor
- window: unassign surface on unmap
- windowrules: allow monitor by str
- windows: only connect unmap when mapped
- workspaces: preserve pin on moves
New Contributors
- @lisuke made their first contribution in #1825
- @alyanser made their first contribution in #1847
- @oliver-ni made their first contribution in #1894
- @goggle made their first contribution in #1907
- @awpr made their first contribution in #1971
- @nitrogenez made their first contribution in #1976
Special Thanks
Special thanks to these hyprchads for donating me some moolah to keep this project goin':
- speedboat
- Murderburger_
- pulsar256
- HauntedCoffeePot
- Lipt0nas
- notoh
- David N
- Mathis
- Zephan
- HeadTriXz
- Bill Nye
- nehrbash
- basstitan
- jsw
- Taylor Coffelt
- System64
- Sepi
- Kulayb
- TlasT
Full Changelog: v0.23.0beta...v0.24.0
v0.23.0beta
A minor update after a short wait as usual, brought to you by the one and only.
Notable changes
- Your wrappers have been deprecated by the new
env
keyword. See the wiki - A powerful plugin system has landed. See the wiki
zwp_text_input_v1
support has landed for supporting IME under electron wayland.
New features:
- Add env to example cfgs
- Add option to disable/enable mouse window dragging animations (#1658)
- Added center orientation to master layout (#1642)
- Added decoration reserved area
- Added mouseButton event
- Added mouseMove event
- Added moveintogroup dispatcher
- Added moveoutofgroup dispatcher
- Dwindle: Added default_split_ratio
- add desc: to getMonitorFromString
- add env dbus opt
- add env keyword to cfg
- add log tail to crash reports
- add mfact setting for master layout (#1666)
- add mouse_left _right
- add toggle group lock
- added a lockgroups dispatcher
- allow blurls by address
- blurls: fix address substr length
- config: add key_press_enables_dpms
- fix mfact not applying to addmaster (#1715)
- groups: add deco on moveIntoGroup
- Plugin System (#1590)
Fixes:
- Bezier: Fix incorrect binary search in bezier approx
- Buffer overflow fix (#1707)
- Compositor: fix crash on exit
- Fix clang compilation (#1697)
- Fix fatal aborts with X11 OR windows
- Fix plugin argument-less hyprctl calls (#1723)
- Fix plugin config breakage (#1687)
- Mirrors: minor fixes
- Nix: fix build on aarch64
- Nix: fix hidpi patch
- Nix: fix hyprland-no-hidpi
- Opengl: Fix forcefully setting missing time prop to final shader
- Plugin Hooks: fix calls to %rip offsets
- Plugin Hooks: fix original bytes on %rip accesses
- blurls: fix address substr length
- fix bezier step approx
- fix changegroupactive back
- fix credentials of invalid surfaces
- fix cursor image on drag not resize
- fix cyclenext on empty focus
- fix mfact not applying to addmaster (#1715)
- fixup constraint snapping on no hint
- groups: fix fullscreen behavior with groups
- ime: fix panels overflowing on corners
- input: minor fixes for tiv1
- minor fixes to X11 configure/or handling
- minor fixes to touch handling
- tiv1: minor fixes for crashes
Other:
- Allow decos to request interactivity
- Allow environment in config
- CI/nix: update nix-install-action
- CI/nix: update nix-install-action
- Conform to X11 OR surfaces wanting focus
- Convert reverse iterators to ranges
- Don't set surface cursors for overriden
- Draw HyprError on the last monitor
- Enable manual anims by default
- Events: Avoid sending std::nullptr_t in keyboardFocus
- Include unmapped and hidden windows in hyprctl clients
- Initialize priority managers before server init
- Mirrors: remove accidentally leftover logs
- Move AnimationManager::tick() to an event loop
- Nix: move dependency overrides inside wlroots-hyprland call
- Optionally expose time to screen shaders (#1700)
- Readme: update to mention plugins
- Refactor CMake and Make file (#1766)
- Remove useless rax preserve across callq
- Renderer: Nuke onWindowResize{start/end}
- Reset cursor to pointer on focus on interactable deco
- Resize on border icon bug (#1608)
- Revert small incorrect change to dragging
- Simplfy framebuffer erasing in cleanupFadingOut
- Unload plugins on compositor cleanup (#1662)
- Up the bezier bake count
- Update the debug overlay
- Use
${PREFIX}
rather than /usr directly in Makefile, and force the build to attempt compilation even if the user does not have${PREFIX}/lib
write permissions (#1688) - allow focus to grouped windows
- bugifx: updated urls poiting to old wiki pages (#1738)
- config: explicitly use environ(7) after b03c897 (#1708)
- crashReporter: remove inconsistent log from crash reports
- deny configure requests on drag
- dispatchers: disallow togglesplit on fullscreen
- dispatchers: remember named workspaces in prev
- don't snap on empty hint
- generate coredumps on sigabrt too
- ime: account for text height in popup calcs
- input: text-input-v1 support (#1778)
- layoutmgr: don't reenable layout on unchanged layout
- make window reserved area less stupid
- master: better cycle
- movefocus: Set new workspace as active when focusing new monitor (#1640)
- nuke cursorSI due to crashes
- nuke unmanagedx11 vector
- opengl: use a passthru shader for final wlr copy
- remove old unused animation cfgs
- reset signal handlers in unrecoverable
- systemd: expand sysd import env script
- unblock pure wayland compiles
- update dbus env on exec-once dispatches
- update decos on anim values update
- update license on main branch (#1604)
- use .txt for crash reports
- use XCURSOR_SIZE for internal cursor size
- use corner cursors on resize (#1638)
- use sans for fonts instead of noto sans
- xwl: don't try to get unmanaged titles
What's Changed
- update license on main branch by @o69mar in #1604
- Resize on border icon bug by @horriblename in #1608
- use corner cursors on resize by @fufexan in #1638
- movefocus: Set new workspace as active when focusing new monitor by @RyanDwyer in #1640
- Added center orientation to master layout by @sharkusk in #1642
- [WIP] Plugin System by @vaxerski in #1590
- Add option to disable/enable mouse window dragging animations by @DashieTM in #1658
- Unload plugins on compositor cleanup by @Duckonaut in #1662
- Fix plugin config breakage by @Duckonaut in #1687
- Use
${PREFIX}
rather than /usr directly in Makefile, and force the build to attempt compilation even if the user does not have${PREFIX}/lib
write permissions by @Froggo8311 in #1688 - Nix: fix hidpi patch by @fufexan in #1695
- Fix clang compilation by @scorpion-26 in #1697
- Nix: simplify CI by @fufexan in #1699
- Optionally expose time to screen shaders by @scorpion-26 in #1700
- add mfact setting for master layout by @hillyu in #1666
- Buffer over-read in removeBeginEndSpacesTabs() by @opsuu in #1707
- config: unbreak on BSDs due to undeclared
environ
by @jbeich in #1708 - fix mfact not applying to addmaster by @hillyu in #1715
- Fix plugin argument-less hyprctl calls by @Duckonaut in #1723
- bugifx: updated urls poiting to old wiki pages by @asbachb in #1738
- Nix: fix build on aarch64 by @fufexan in #1739
- [WIP] text-input-v1 support by @vaxerski in #1778
- Refactor CMake and Make file by @stephan-cr in #1766
Special Thanks
Special thanks as usual to those gigachads for donating their pennies to me:
- Dashie
- Murderburger_
- HauntedCoffeePot
- Lipt0nas
- speedboat
- Jose Montilla
- Pebor
- Monty
- Carlos Echenique
- aestheticjack
- mechgyver
- Vibrose
- pulsar256
- pingu
- Goggi
New Contributors
- @o69mar made their first contribution in #1604
- @RyanDwyer made their first contribution in #1640
- @sharkusk made their first contribution in #1642
- @Duckonaut made their first contribution in #1662
- @Froggo8311 made their first contribution in #1688
- @hillyu made their first contribution in #1666
- @opsuu made their first contribution in #1707
- @asbachb made their first contribution in #1738
- @stephan-cr made their first contribution in #1766
Full Changelog: v0.22.0beta...v0.23.0beta
v0.22.0beta
A minor update after a short wait, brought to you by Yours Truly.
Breaking changes
dwindle:col.group...
-> general:col.group...
misc:no_vfr
-> misc:vfr
. bool
, heavily recommended to leave at default on
. Saves on CPU usage.
misc:vrr
-> Adaptive sync of your monitor. 0 (off), 1 (on), 2 (fullscreen only). Default 0
to avoid white flashes on select hardware.
New features:
- Add vrr to hyprctl monitor (#1560)
- Added a crash reporter
- Added an Event Hook System (#1578)
- Added execr
- Added support for layoutmsg params and added the param 'newfocus' for 'swapwithmaster' and 'focusmaster' (#1522)
- add a minimize ipc event
- add misc:mouse_move_focuses_monitor
- add missing xwayland stub
- add prev to getWorkspaceIDFromString
- added activewindowv2
- libinput: add tap_button_map (#1495)
- move no_vfr to vfr and add vrr
Fixes:
- Fix VRR JSON output in hyprctl monitors (#1562)
- Fix some issues with a lost focus of the maximized window after using swapwithmaster in fullscreen mode (#1524)
- fix compile for single_pixel_buffer_v1
- fix crash with libc++ in appid
- fix group data in hyprctl
- fix json output in hyprctl animations
- fix legacy system call to create hypr dir
- fix quick start link
- fix urgent hint order in code
- fix warn
- fix(hyprctl): allow dispatcher to have no args (#1464)
- fixup LS scaling impl
- fixup backtrace curpath
- fixup stutter in rendering with toplevel_export
Other:
- Allow to disable X11 backend separately from Xwayland after 5a750b4 (#1445)
- Generate symbol info in release for crash reports
- Get active VT via ioctl instead of sysfs after e90c5c6 (#1448)
- Group/Tab Rework (#1580)
- Implement ext-session-lock-v1
- Only use true/false in default config to reduce confusion (#1517)
- Resize on border (#1347)
- Simulate mouse movement on unmap of popups and subsurfaces
- Unbreak CrashReporter on FreeBSD (#1589)
- Unbreak build with libc++ (#1457)
- Update CMakeLists.txt (#1514)
- Update blurriness of layersurfaces after hyprctl keyword blurls (#1493)
- abort instead of exiting on sigsegv
- adjust crash report paths
- bring back dynamic ls geom updates
- clear focus on failed unlock attempt
- clear focus on lockscreen refocus
- conform to unmanaged X11 activate requests
- don't alter LS geom on unmap
- don't loop border anim on disabled
- enable UV calcs for all surfaces
- enable single_pixel_buffer_v1
- err on invalid transform in monitor cfg
- explicit config path for autoreload config #1423 (#1494)
- ext_workspace_unstable: send done after output_enter when wl_output is bound late (#1481)
- ext_workspace_unstable: send output_enter when wl_output is bound late (#1480)
- feat: border angle animations (#1469)
- focusCurrentOrLast dispatcher (#1545)
- force monitor focus on refocus
- ignore VR headsets (#1555)
- ignore damage on hidden windows in animationmanager
- ignore hidden in allfloat
- improve VRR state checking with updates to mosthz
- make a null surface focus reset lastfocus
- meson: build in release by default
- minor adjustments to xwayland positioning
- notify of fractional scale for LS-es
- place sessionlock surfaces at correct coordinates
- properly clamp size in dragging floating corners
- properly meld groups together
- properly rid of whitespace chars from cfg lines
- refocus on monitor attach
- remove constraint recheck log
- render lockscreen in fullscreenworkspace
- reset focus on lock surface destroy
- reset layout-set render vars on floating
- rethink visible flag in animmgr
- scale the opaque region in blurring
- simplify nullcheck in minimize
- unset hidden at grouped remove
- update issue guidelines for crash reports
Special Thanks
Special thanks as usual to these massive giga-ultra-hyper-chads for donating to me to keep this thing going:
- HauntedCoffeePot
- Lipt0nas
- speedboat
- Dashie
- Murderburger_
- Yves
- jas
- elias4352
- kuripa
- Carlos Echenique
- LegitCamper
- Mr.Ben
- Goggi
- pingu
New Contributors
- @ozwaldorf made their first contribution in #1464
- @MaxVerevkin made their first contribution in #1480
- @coffebar made their first contribution in #1494
- @bloodandcoffee made their first contribution in #1514
- @dbeley made their first contribution in #1517
- @Philipp-M made their first contribution in #1522
- @normaltaro made their first contribution in #1545
- @wsippel made their first contribution in #1555
- @horriblename made their first contribution in #1347
Full Changelog: v0.21.0beta...v0.22.0beta
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