Releases: hyprwm/Hyprland
v0.10.3beta
New features:
- Added an activelayout event
- added input:kb_file
- added dwindle:use_active_for_splits
- added main param to keyboards
Fixes:
- Fix occasional hangups on exit
- More fullscreen animation fixes
- fix crashes
- fix custom rounding in shadow deco
- fix dwindle active for splits
- fix lastFocus on activateWindow
- fix refocus on no window
- fix swipe on workspace style fade
- fix typo in swipe alpha control
- multiple fixes for device configs
Other:
- Animate workspaces with fullscreen windows
- Don't draw fullscreen windows on other monitors
- Find a candidate better on window close
- better integrate touch with subsurfaces
- minor changes to the activelayout event
- move absolutePath to MiscFunctions
- no focus to OR Xwayland
- reload on input and device hyprctl
- reset lastwindow on full LS focus
- update wiki links in readme
- update wlroots dep
New Contributors
Special thanks
Special thanks to those people for their amazing financial support:
- Neutronic
- HauntedCoffeePot
- Karagra
Full Changelog: v0.10.2beta...v0.10.3beta
v0.10.2beta
New features:
- Nix HM module: add XDG_SESSION_TYPE, fix reload
- added config-only to hyprctl reload
- added misc:animate_manual_resizes
- added resizewindowpixel and movewindowpixel
- added support for window selection in moving to workspace
Fixes:
- Nix HM module: add XDG_SESSION_TYPE, fix reload
- better fix the last fix
- fix active keymap in hyprctl devices
- fix autogen config warning
- fix borders on no_gaps_when_only
- fix crash with fullscreen requests
- fix groups not updating size on head change
- fix memory issue with hyprctl devices
- fix wallpaper pixelation in some cases
- fix: support clang in meson build
- fixed popup unmap damage
- remove unused fixXWaylandWindowsOnWorkspace
Other:
- Nix HM module: reload config-only
- clean up fullscreen logic in fullscreenWindow event
- damage monitor on workspace swipe end
- default hardcoded rule to preferred auto
- disallow configure from fullscreen
- ensure egl is current in begin
- force sending size on setWindowFullscreen
- ignore dwindle reload on full window null
- more checks in fullscreen event
- never animate moving floating windows
- nix: use cleanSource (#518)
- scale hyprerror with the monitor res
Special thanks
Special thanks to the following folks who have donated to keep this project alive and kickin':
- Karagra
- HauntedCoffeePot
- Neutronic
- cullyn.eth
- noderunner
- Timo Bilhöfer
New Contributors
- @SignalWalker made their first contribution in #515
Full Changelog: v0.10.1beta...v0.10.2beta
v0.10.1beta
Re-released to fix a minor bug.
New features:
- Added hyprctl setcursor
- add parse errors for invalid kb layouts
- added experimental monitor saving
- added hyprctl getoption
- added misc:layers_hog_keyboard_focus
- flake: add aarch64-linux as supported platform
Fixes:
- fix cyclenext on fullscreen
- fix cyclenext with fullscreen windows
- fix error for popin
- fix flags syntax in json
- fix formatting in focused monitor hyprctl
- fix movefocusto with null last
- fixes to toplevel updates
- further fixes to monitor disabling on launch
Other:
- Completely rewrote Dwindle group code
- adjust curve size for scaled
- allow focus to override redirect
- change active to focused in hyprctl monitors
- change activemon to focusedmon for consistency
- clean up unconstraining logic
- compile shaders for every context separately
- destroy program in shader destructor
- disable focus to menu x11 types
- disallow nested groups creation
- don't damage in unsafe state
- enable layers_hog_keyboard_focus by default
- focus monitor on monitor rule
- handle fullscreen in dwindle groups better
- handle json for hyprctl version
- ignore further keybinds on submap change
- makes active windoe consistient with client json
- minor changes to monitor logging
- reinit render on disconnected displays
- scale rounding in shadows
- set correct full params in disabled at launch
- unhide window on requested size change
- warn about incorrect bezier args
Special Thanks
Special thanks to those people for continued financial support to keep this project alive:
- Karagra
- HauntedCoffeePot
Full Changelog: v0.10.0beta...v0.10.1beta
v0.10.0beta
New features:
- add more errors
- add position auto for mon config
- added IME protocol support
- added basic touch controls
- added misc:always_follow_on_dnd
- added popin anim minimum %
Fixes:
- fix crash in dwindle on create tiled
- fix crash in getMaxSizeForWindow
- fix crash in toplevel set appid
- fix crash with reenabling a monitor
- fix dynamic reenabling of a monitor
- fix lastwindow in focusWindow null
- fix monitor rule possible segv
- fix possible crashes with IME
- fix rare IME crash
- fix recursion bomb
- fix refocus shenanigans with window data
- fix rounding on switching only tiled
- fix unconstrain coords
- fix various shadow damage issues
- fixed missing recursion of force in dwindle
- multiple IME fixes
Other:
- Change monitor active to json bool
- Change to json bools
- Have hyprctl -j activewindows return empty json object if there are no activewindows
- Updated the readme header
- better foreign toplevel protocol obedience
- change workspace in focusWindow if necessary
- check for x11type and not nofocus in wcf
- clamp resizing tiled to their max sizes
- clear ls lists on monitor disconnect
- disallow swapping in fullscreen
- do not animate mouse resizes in layouts
- erase instead of overwriting monitor rules
- fullscreen new window on fullscreen movefocus
- guard monitor settings
- guard onDisconnect
- guard toplevel funcs
- guard zero border
- ignore borders in nogapswhenonly
- log more in output cfg
- make monitor IDs permanent
- mention IME in the readme
- move IME panel below the cursor to not obstruct
- move refocus on only unmap
- noInitialFocus in onWindowCreatedFloating as a check
- notify of all mods in pass
- only ensure DPMS in hyprctl monitors
- output valid json when there are no clients
- reject tiling windows that do not meet the max size requirement
- reload monitors instantly on tickHyprCtl
- remember floating size between tiles
- remove incorrect border thickness calc
- remove some spammy logs from IME
- scale shadows properly
- send enter and leave events for surfaces
- simplify border rendering when rounding is 0
- support zwp_input_method_v2 popups
- unlock the event queue before sleeping
- update wlroots dep
- use auto in default configs
- use empty json object when no activewindow
New Contributors
Special Thanks
Special thanks to those people for donating to keep Hyprland alive:
- xeco
- HauntedCoffeePot
- Karagra
Full Changelog: v0.9.1beta...v0.10.0beta
v0.9.1beta
New features:
- added decoration:blur_new_optimizations
- added dwindle:no_gaps_when_only
- added follow_mouse 3
- added general:no_cursor_warps
- added master:no_gaps_when_only
- added opaque windowrule
Fixes:
- fix new blur optimizations with non-full damage
- fix oopsie with optim
- fix preWindowPass with floating as first
- fix preferred mode
- fixes to the new blur system
Other:
- bring back xdg current desktop
- default new blur optimiz to 0
- don't stencil with new optimizations in blur
- guard texid in new optimized blur
- mark blur dirty on monitor damage
- optimize new blur rendering
- reload blur on cfg reload
- revert blur changes
- use nproc in makefile
Special thanks
Special thanks to those people for supporting Hyprland by donating:
- re-ynd
Full Changelog: v0.9.0beta...v0.9.1beta
v0.9.0beta
Amended, second release - fixed a crash issue with the original one.
New features:
- Added layoutmsg and some master layout msgs
- Added toggleopaque dispatcher
- add gestures to example configs
- added DPMS
- added a dpms dispatcher
- added binds:scroll_event_delay
- added misc:damage_entire_on_snapshot
- added misc:mouse_move_enables_dpms
- added preferred to monitor cfg
- docs: add man pages
- meson: add -DGIT arguments (#321)
- nix: add home-manager module (#395)
Fixes:
- Fix crash from moving current workspace to nonexistent (null) monitor.
- Fix hyprctl flags help
- Nix: fix failing module
- even more damage scaled fixes
- fix alpha with xwl opacity
- fix crash oopsie
- fix empty workspace name on unspecified default
- fix fullscreen workspace slide anims
- fix lack of return in tickHyprctl
- fix ls fadeout on scaled
- fix minor XDG issue
- fix minor memory issue
- fix snapshots on scaled
- fix some XWayland weird popups
- fix typo in new anim handlers
- fixed device configs
- fixes to surface damaging on scaled 3
- minor fixes to render loop
- minor fullscreen anim fixes
- more scaled surface damage fixes
- some window fadeout fixes
- surface damage fixes
Other:
- Animation config rework
- Apply suggestions from code review
- Co-authored-by: Mihai Fufezan fufexan@pm.me
- Nix module: make package nullable
- Optimize shaders
- Remove extra packages in nix module (#343)
- Spam the protocols less with resizes of XDG
- account for scale in downrounding
- account for border in rounding
- account for geom in initial XDG window popups
- damage monitor on dpms on
- damage popups correctly
- do not call dmabuf_create twice
- focus to first window on not found in refocus
- hide only XWayland on incorrect size
- move to XDG 4
- optimize xwayland has_alpha blur
- remove wlr_viewporter, we do not support it
- render ls popups correctly
- support wlr-output-power-management
- tick hyprctl separately
- update decos on configureX11
- update default configs for new anim config
- update wlroots dep
- use pref in default configs
- use transformed size in popup unconstrain
- windowrules for floating remove hidden flag
Special thanks
A special thank you for donating to those people:
- devin
- roger
- BeardWarrior
New Contributors
- @volitank made their first contribution in #379
- @Misterio77 made their first contribution in #395
- @Roger-Roger-debug made their first contribution in #440
- @reptee made their first contribution in #343
- @IanManske made their first contribution in #446
Full Changelog: v0.8.1beta...v0.9.0beta
v0.8.1beta
Minor update to v0.8.0beta, mainly fixing some crippling bugs causing multiple crashes on certain PCs.
New features:
- Add a pass dispatcher
- add binding to mouse buttons
Fixes:
- fix swipe not cancelling constraints
- fix typo in LS destroy event
- fix typo in XDG popup callbacks
- listener fixes
Other:
- log xwayland in hyprctl
- r and e exclusivity in bind
- schedule recalcs in LS
v0.8.0beta
New features:
- Add config flag
- Add hyprctl output in json when
-j
flag is used - Add workspace switching with mouse wheel
- Added a multiplier for the width to height ratio
- Added shadow colors animations and inactive col
- Wrap adding to fading out
- add clangd cache in gitignore
- add config flag
- add master:new_on_top
- add new wallpapers
- add remove, to blurls
- add sensitivity per device & reload mice on config
- add simple help message
- added PID and address-based options for focuswindow, as well as updated
hyprctl clients
to be consistent with logs andhyprctl activewindow
- added active keymap prop
- added center windowrule
- added default touchpad settings to example configs
- added keybind repeat flag
- added keybinds on key up
- added ls noprocess
- added master layout
- added shadowing keybinds
- added time logging
- added workspace swipe fingers
- ci: add release workflow
Fixes:
- Fix VRAM memory leak when releasing snapshots
- Fix calls to
substr
with invalidpos
- Fix error when running
hyprctl dispatch exec
with an arg that contains a/
- Fix handleKeybinds debug log
- Fix issues with batch requests
- Fix merge
- Fixed SEGFAULT when running hyprctl with only the -j option
- Fixed TTY switching (#364)
- Shadowing Keybinds fixes
- ci: fix repo source
- fix ASan error
- fix backwards hyprctl compat
- fix blur on oversized, default to enabled
- fix border rendering on certain windows
- fix borders on scaled
- fix center
- fix dashes in hyprctl
- fix fade corner artifacts
- fix fading out layers without unmap
- fix focus on fullscreen and over
- fix hyprctl with relative negative
- fix keybinds shadowing multibinds
- fix logo center
- fix memory read after free in damageSurface
- fix oopsie in log
- fix oopsie include
- fix opacity active
- fix opacity inactive methodology
- fix selection events
- fix shadowing with doesntHave
- fix shadows on unmanaged and noborder
- fix some swipe issues
- fix swiping with one workspace on monitor
- fix transformed snapshots a bit
- fix warning
- fix webkit
- fix wlr workspace names before init
- fix workspace swipes mistake
- fixed fullscreen opacity on fullscreen 1
- fixed issue causing hyprctl to output ill-formed json when strings include characters needing escaping
- fixed session-less envs
- fixed up hyprctl flags
- fixed vertical swapping issue
- ls fixes
- readme fix
- remove fixXwaylandwindowsonworkspace, not needed anymore
- wrapped wl_listener fixes
Other:
- Change workspace wheel scrolling direction
- Consider scroll as a 'pressed' key
- Disallow scrolling into empty workspaces
- Impl changeworkspace(e+{n})
- Make the thread manager into a wl event loop timer
- Merge branch 'hyprwm:main' into main
- Merge branch 'main' of github.com:xDarksome/Hyprland
- Merge remote-tracking branch 'upstream/main' into mouse-wheel-cfg
- Merge upstream
- Minor changes to the renderer's overflow behavior
- Restore events/Devices.cpp formatting
- Try mouse wheel configuration
- Updated assets/hyprland.png
- Use enum for specifying hyprctl output format and change the way flags
- adjust ls fading out logic
- adjust workspace on geom change x11
- arrange after switch
- better doc in help
- change bind flag parsing
- ci: upload source
- don't poison wlr in make install
- dont cycle on fullscreen
- dont focus anything on constrained
- focuswindow options + other hyprctl bugs I found when testing
- force unmap on direct destroy
- guard pSurface in unmapsubsurface
- hyprwm in readme links
- layersurfaces: set default geometry
- make layerSurfaces into RAII
- minor change to unmanaged X11 geom requests
- minor changes to swipes
- minor code adjustments
- move floating windows manually on moveworkspacetomonitor
- new logo
- notify enter on subsurfaces with follow mouse not 1
- obey xdg reqs better
- pass through pinch events
- reject windows with tiny sizes, overwrite size
- reload input after exec once
- reload layout on hyprctl layout
- remove forced envvars
- remove server from hyprctl as it's unused
- shadow keybinds on drag events
- shadow with respect of keysym on press
- simplify formats
- update deco values on fullscreen
- update hyprctl help
- update logo
- update moveactivetoworkspace logic
- use defines for unreachable
New Contributors
- @Caleb-T-Owens made their first contribution in #242
- @dgerblick made their first contribution in #376
- @System-x64 made their first contribution in #404
Special thanks
Special thanks to those people for supporting the development of Hyprland by donating:
- Misterio
- Frigaut
- Karagra
- Murderburger
Full Changelog: v0.7.1beta...v0.8.0beta
v0.7.1beta
Minor update b/c of VFR issues.
Fixes:
- fix device sections shadowing parse errors
Other:
- default vfr to off
v0.7.0beta
New features:
- Added binding by keycodes
- Added splashes
- Added swipe workspace gestures
- Added yes/no values to int parsing
- add config drag_lock for touchpad (#353)
- add namespace to hyprctl layers
- added active monitor to hyprctl monitors
- added cyclenext param previous
- added general:disable_hyprland_logo
- added keycode support to unbind
- added ls blurring
- added misc:no_vfr
- added rules to hyprctl devices and fixed rules
- added support for wlr_idle_inhibitor_v1
- nix: add devShell
Fixes:
- added rules to hyprctl devices and fixed rules
- fix config reload on fullscreen mode maximized
- fix corner artifacts
- fix focus on layers when constrained
- fix focus on maximized windows with special open
- fix hyprerror on scaled outputs
- fix incorrect mouse pos in fullscreen xdg
- fix internal workspace changes being clamped
- fix meson C++23
- fix minor issues with floating windows and fullscreen
- fix possible swipe crash
- fix special status when workspace is changed
- fix stretched ls
- fixed hyprctl layers crash
- fixed layersurface focus quirks
- fixed swiping with one ws
- fixed special ws deletion
- fixed tiled popups going behind windows
- minor event fixes
- nix: fix wallpaper location (#334)
Other:
- Disallow focus to modal and override_redirect X11 windows
- [gha] bump flake inputs
- accumulate mods from all kbs for keybind processing
- active opacity is now animated
- allow focus to modal
- allow windowrule special again
- changed C++ std to C++23, use std::string::contains
- clear kb focus on focusSurface null
- clear with 17
- don't refocus on virt ptrs
- find floating special windows in vector methods
- handle unmanaged X11 setGeometry
- nix: use gcc12Stdenv
- only set xwayland size/pos on reasonable deltas
- refocus after group toggles
- respect size in setgeo unmanaged x11
- roll VFR for everyone
- set proper C++23 std to meson as well
- squish oversized subsurfaces while animating
- support relative paths in source=
- unfocus keyboard on refocus null
- update decos on setgeometry x11
- update wlroots dep
- use C++ throw methods instead of printf and exit
- use std::unreachable in avars
New Contributors
Full Changelog: v0.6.3beta...v0.7.0beta