Releases: hyprwm/Hyprland
v0.15.1beta
Critical update: 0.15.0beta has a defect due to an issue with wlroots making the GPU suffer a lot!
New features:
- Add accel profile and scroll method
- Add input:touchpad:scroll_factor
- Add switch device handling and binds
- add desc: to monitor rules
- add dpms per output
- add dpms status info in hyprctl
- add left_handed config for input
- add minsize rule
- added a noanim rule
- additional logic for identical pid swallowing
Fixes:
- Fix compiler warnig comparing signed and unsigned integers.
- Fix compiler warnings.
- Fix getDeviceInt string arg "input:left_handed"
- Merge branch 'fix_rounding_in_size_changing_windows' into rework_rounding_shader
- Merge branch 'main' into fix_rounding_in_size_changing_windows
- Merge branch 'make_TTY_unsigned' into fix_left_handed
- fix naming when workspace back and forth
- fix string corruption in hyprctl monitors -j
- fix tty switch freeze
- fix workspace previous with multi-mon ws moves
- fixes to window swallowing with same pid
- fixing your shit.
- revert wlroots ver to fix critical gpu issue
Other:
- Avoid 38 files to compile every time a shader is modified.
- Compare PLASTWINDOW & PWINDOWTOCHANGETO m_iMonitorID's instead of PWINDOWTOCHANGETO->m_iMonitorID & g_pCompositor->m_pLastMonitor->ID
- Cut the number of pixels that call length() in half.
- Don't pass bottomRight to textureShaders compute it within.
- Even less branching (taken more or less from the border shader).
- Make the rounding texture shaders smaller and more efficient.
- Merge branch 'main' into rework_rounding_shader
- Remove texcoord from QUADFRAGSRC.
- Remove unused ignoreCorners variable from texture shaders.
- Rework rounding shader
- Send absolute screen coordinates to texture shaders.
- focusedmon event check change
- ignore VT switches to current vt
- log GPU info for debugging
- map touch to the correct output
- monitor desc improvements
- more checks in pid gathering
- more monitor checks for shutdown:
- reset sigmask on fork
- return true on vt switch keysyms to avoid printing stuff
- texcoord is unused in the rounding part of the textureshaders.
- update wlroots dep
- use goalv in clientsRequest
- use vectorToWindowIdeal in mouse binds
Special thanks
Special thanks to these chads for donating:
- primalmotion - massively
- Karagra
- Lipt0nas
- HauntedCoffeePot
- Neutronic
- Vagahbond
- k1f0
- umop3plsdn
New Contributors
- @lylac-1 made their first contribution in #773
Full Changelog: v0.15.0beta...v0.15.1beta
v0.15.0beta
Enjoy your CPU usage when idle going down by as much as 95% in some cases and much more!
New features:
- Add "highest" mode to Monitor for autoconfiguration.
- Added window swallowing
- add case for empty strings in isNumber
- add fullscreen info to clients request
- add refreshrate or resolution preference
- added high to monitor resolution
Fixes:
- Fix #711
- It wasn't a problem with the bug i tried to fix.
- Merge branch 'main' into fix_bordersize_again
- Splash position fix
- fix Hz Log
- fix commas in free binds
- fix crash
- fix crash on dwindle splitratio alter on single group
- fix custom rules on null modelist
- fix ipc event missing on silent movetoworkspace
- fix oopsies in rule code
- fix silly mistakes
- minor OR XWayland fixes
Other:
- Change scaledBorderSize to int.
- Replace clamp with max if there is no upper bound.
- Scale border size in calculations of windows
- Scale border size in window size pos calculation
- Scale the border size, revert the window scaling according to border
- Scale the cairo matrix to fit the monitor dimensions.
- Shift splash up if monitor has wider ratio than bgTexture.
- Unify arg lists, allow for trailing spaces in args
- Use double literals, don't cast a integer literal to double.
- Use double literals, don't cast integer or float literals to double.
- allow for pure workspace names in dispatchers
- allow one less arg in bind
- anchor to proper quad in floating resize
- apply new node data to all group windows on close
- change Preferred mode to use highest refreshrate
- default pass_mouse_when_bound to 0
- disallow pinning fullscreen
- don't decorate on only no gaps
- don't recalc pseudo on fullscreen
- enter outputs for non-interactive ls-es too
- focusable checks in nextWindow calls
- guard event in maximize request
- guard kb settings in xkb translation state
- handle maximize toplevel request
- include shaders only in opengl.cpp
- optimize removing trailing spaces
- optimize vector config value setting
- overwrite wsbind rules on existing
- remove empty line
- remove more silly mistakes
- remove polling from socket2, fully event based
- remove redundant attrib setting
- rewrite isNumber
- scale border size in dwindle layout window sizes.
- send a focusedmon event on focus change mon
- support max in size rules
- support more wlr_cursor events
- update wlroots dep
- use goalv in movetoworkspace
- use the event data for determining maximize status in requests
Special Thanks
Special thanks as usual to these people for donating their hard-earned money to some kid on the internet (me) to keep this project alive!
- Neutronic
- Karagra
- Lipt0nas
- HauntedCoffeePot
- Wyfe
New Contributors
Full Changelog: v0.14.0beta...v0.15.0beta
v0.14.0beta
Breaking changes
main_mod
has been deprecated.
new syntax for mouse binds: (example)
bindm=SUPER,mouse:272,movewindow
bindm=SUPER,mouse:273,resizewindow
New features:
- Added monitor mirroring
- Nix modules: add recommendedEnvironment option
- add default speed to hyprctl devices mice
- added misc:disable_autoreload
- added window pinning
- added wsbind
Fixes:
- Various subsurface handling fixes
- fix LS fading out on ws change
- fix an unholy memory safety issue
- fix animation issues with workspace silent
- fix decos on pinned
- fix fadeout on unmap fullscreen
- fix focus follows mouse 0 event sending on wrong window
- fix groupbar being wonk on scaled
- fix groups with fullscreen
- fix hyprland freeze when undocking from docking station
- fix misc fullscreen issues
- fix mouse binds being stuck
- fix moving between fullscreen workspaces
- fix pinned fade on fs
- fix refocus on same workspace
- fix special fullscreen
- fix special workspace dispatcher logic
- fix wonky focus on movetoworkspace
- fix ws switching with LS opacity
- minor code styling fixes
- minor mouse bind handling fixes
- minor swipe fixes
Other
- accept any case in binds
- allow current in monitorfromstring
- better cycling in fullscreen with pinned
- better dwindle swapping with groups
- disable enabling groups on fullscreen windows
- disallow fullscreen pinned
- disallow move/resize dispatchers on fullscreen windows
- don't apply alpha to fadingOut on setWindowFullscreen
- don't iterate over subsurfaces in unmap
- export HYPRLAND_CMD for scripts
- fade control for fullscreen action on windows
- fullscreen animation en-nice-ment
- guard invalid FB allocs
- handle multi-ws swaps in layouts
- handle touch devices internally as objects
- hyprctl-nopoll
- introduce new mouse binds in default and example cfgs
- more forceRendering checks in shouldRenderWindow
- mouse binds overhaul
- only check for visible on xdg
- prevent assert killing Hyprland after reenabling monitor
- tick config after reload request
- verify visibility of new geom in floating creation
Special Thanks
Special thanks to these chads for donating:
- Neutronic
- Karagra
- HauntedCoffeePot
- Lipt0nas
- Goggi
- Fabian
- The_Branch_Manager
New Contributors
Full Changelog: v0.13.1beta...v0.14.0beta
v0.13.1beta
Small update to address a common DnD crash in 0.13.0
New features:
- consistent output of window addresses
- fix group decos on added windows
Fixes:
- fix addreserved lag
- fix group decos on added windows
- guard drag in destroyDrag to fix a crash
Other:
- more guarding in cleanup pid gathering
- prevent missed surface size updates on fullscreen window close
Special thanks
Special thanks to these people for their continued support:
- Neutronic
- Karagra
- HauntedCoffeePot
- Lipt0nas
Full Changelog: v0.13.0beta...v0.13.1beta
v0.13.0beta
New features:
- Added Xwayland and floating props to windowrulev2
- Added windowrulev2
- Nix modules: add common environment variables
- add lastwindow info to hyprctl workspaces
- added a submap IPC event
- added closewindow dispatcher
- nix: move wlroots and add nvidia patches (#608)
Fixes:
- Fix some more crimes against humanity
- fix a damage issue with transformed blur
- fix a minor bug with no gaps when only and groups
- fix blur on transformed displays
- fix dwindle no gaps when only when dissolving a group
- fix mouse focus not returning from a LS on follow mouse 0
- fix no_gaps_when_only with a group
- fix some minor crimes against humanity
- fix splash positioning
- fix transformed blur on new optimizations
- fix up styling
- fix wonky behavior with silent workspace rule
Other:
- Update wlroots dep
- damage drag on destroy
- default rounding to 0
- don't accumulate from virtual
- escape json strings in workspaces lastwindow title
- flake: remove overlay warning
- guard pFoundWindow in CInputManager under fullscreen
- guard parent in X11TransientFor
- guard psurface in activateSurface
- guard unsafe state in unmap ls
- optimize calls in toggleSpecialWorkspace
- refocus on reserved area
- remember last window on workspace
- remove tiling node when invalid
- sanity check on last window
- send accumulated modifiers to surfaces
- set last monitor and dont refocus in some cases (changeworkspace)
- simplify code and update monitor on warp
- simplify config monitor reloads and rearrange layers
- unify monitor args
- use activateSurface in unconstrainMouse
- use lastMonitor in mapWindow
- warp only on another monitor in changeworkspace
- wrap lastwindow in quotes in hyprctl json
Special thanks
Special thanks to these gigachads for donating to support Hyprland's growth:
- Neutronic
- Karagra
- HauntedCoffeePot
- Lipt0nas
New Contributors
- @marsupialgutz made their first contribution in #634
Full Changelog: v0.12.1beta...v0.13.0beta
v0.12.1beta
Minor update to address some damage issues with LS-es, transformed displays and group bars in 0.12.0beta
New features:
- Add HiDPI xwayland + wlroots patches (#591)
- Added window dimming
Fixes:
- finally fixed transformed snapshots
- fix LS popup damage
- fix dwindle groupbars
Other:
- disable fullscreen and floating dispatchers on special
- set last monitor on move focus dispatcher
Special Thanks
Special thanks as usual to these chads for their continued support:
- HauntedCoffeePot
- Neutronic
- Karagra
Full Changelog: v0.12.0beta...v0.12.1beta
v0.12.0beta
New features:
- Add cleaninstall task
- Nix: add nixConfig
- add clean install for those who build from source
- added a forceinput rule
- added a specialWorkspace anim leaf
- added a swapactiveworkspaces dispatcher
- added an event for moving workspace
- added swapnext
- added swapnext and swapprev for master
Fixes:
- fix device closing
- fix fullscreen in moving ws
- fix fullscreen on workspace rule silent
- fix indents, change crit log to info
- fix internal keybinds
- fix logic in candidates on unmap
- fix more indents, im sorry vaxry
- fix parser in nested categories
- fix segfault in inactive sessions
- fix shadows on silent rule
- fix silent workspaces with back and forth
- fix styling in const ptrs
- fix subsurface UV handling on oversized windows
- fix window rules
- fix xwayland config option for nix (#587)
- fixes to swapnext logic on dwindle
- minor damage fixes
- minor fixes to the viewporter behavior
Other:
- Allow passing the mouse as well in
pass
- Force wlroots to not send leave events in pass to XWayland
- Multiple improvements to the shutdown procedure
- Unfocus first on non-internal ws changes
- Viewporter implementaion (#585)
- allow specifying window for toggle floating
- better find device cats
- don't find a new candidate to refocus on unfocused unmap
- don't focus silent windows
- guard nullptr in unmap
- ignore oversized popups' dims in global coords
- implemented DRM leasing for VR headsets
- modify exit behaviour a bit
- move X11 transients to top on parent top
- optimize options in dwindle
- pass press and release events separately
- ratelimit setting cursor
- remove general:sensitivity from the default config
- reset uv on invalid buffer source box
Special thanks
Special thanks to these chads for their support:
- port19
- HauntedCoffeePot
- Neutronic
- Karagra
New Contributors
- @NotAShelf made their first contribution in #573
- @nicholascioli made their first contribution in #587
- @alec-lefors made their first contribution in #588
Full Changelog: v0.11.1beta...v0.12.0beta
v0.11.1beta
New features:
- added HYPRLAND_LOG_WLR envvar
- added misc:float_switch_override_focus
Fixes:
- IME Popup damage fixes
- fix IME grab on multiple open native inputs
- fix LS snapshot rendering logic
- fix logic in fullscreen close candidates
- fix minor refocus issue
- fix oversized popup misalignment
- fix up hyprctl dispatch
- fix up keyword to accept spaced args
- fix wlr logging
- minor fix on unfocus on fullscreen workspace
- minor fixes to candidate finding
Other:
- always use /usr/share/ for wayland-sessions
- clean up temp logic in snapshots
- damage on force warp resize
- destroy monitor resources on exit
- doc: build man pages to repo
- doc: install mapages
- docs: install manpages with meson
- don't refocus if candidate is last window
- don't round popups
- dropped deprecated gethostbyname check
- fullscreen request only when mapped
- gha: build man pages
- improve compatability with older meson versions
- move monitor damage to separate funcs
- openSUSE patches
- remove unintuitive candidate behavior
- report sizes to all windows on fullscreen
- use a custom logging func for wlr
Special thanks
Massive thank you to these people for their support:
- Karagra
- HauntedCoffeePot
- Neutronic
- Vibrose
- Dashie
Full Changelog: v0.11.0beta...v0.11.1beta
v0.11.0beta
Breaking changes
- The SHIFT modifying behaviour in the config has been removed
example:
bind=SHIFT,exclam,movetoworkspace,1 # OLD
bind=SHIFT,1,movetoworkspace,1 # NEW
- As an additional result of the above, for multi-layout users, see this page
New features:
- Add mapwindow, unmapwindow and movewindow IPC events
- Add switching to previous workspace
- add general:allow_workspace_cycles option
- add general:workspace_back_and_forth option
- add switching to previous workspace
Fixes:
- fix a minor border issue
- fix another edge case for fullscreen default windows
- fix bug which allowed a switch to workspace ID -1.
- fix crash
- fix incorrect popup handling on oversized
- fix retrieval of monitor
- fix special workspace windows being xray with new optim
- fix style conflicts and config + monitor retrieval
- fix warn
- minor activewindow and focus fixes
Other:
- handle fullscreen pre-map
- remove unused func
- set new optimizations for blur in example configs
- use a custom translation state in keybinds
- warn about outdated keybind cfg
New Contributors
- @CharlesEkkel made their first contribution in #352
Special thanks
Special thanks to the following people for their continued amazing support:
- Neutronic
- HauntedCoffeePot
- Karagra
Full Changelog: v0.10.3beta...v0.11.0beta
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