Skip to content

Releases: hyprwm/Hyprland

v0.10.3beta

20 Aug 18:12
Compare
Choose a tag to compare

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

17 Aug 13:15
4c1dba6
Compare
Choose a tag to compare

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

Full Changelog: v0.10.1beta...v0.10.2beta

v0.10.1beta

11 Aug 21:01
Compare
Choose a tag to compare

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

08 Aug 19:35
Compare
Choose a tag to compare

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

02 Aug 20:28
Compare
Choose a tag to compare

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

31 Jul 22:55
Compare
Choose a tag to compare

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

Full Changelog: v0.8.1beta...v0.9.0beta

v0.8.1beta

26 Jul 20:55
Compare
Choose a tag to compare

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

26 Jul 08:16
Compare
Choose a tag to compare

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 and hyprctl 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 invalid pos
  • 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

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

12 Jul 20:21
f9985a3
Compare
Choose a tag to compare

Minor update b/c of VFR issues.

Fixes:

  • fix device sections shadowing parse errors

Other:

  • default vfr to off

v0.7.0beta

12 Jul 12:23
Compare
Choose a tag to compare

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