Skip to content

Releases: hyprwm/Hyprland

v0.15.1beta

06 Oct 21:19
Compare
Choose a tag to compare

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

03 Oct 21:49
Compare
Choose a tag to compare

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

21 Sep 17:28
Compare
Choose a tag to compare

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

09 Sep 13:40
Compare
Choose a tag to compare

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

07 Sep 17:11
6e195a6
Compare
Choose a tag to compare

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

30 Aug 19:12
Compare
Choose a tag to compare

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

29 Aug 10:05
Compare
Choose a tag to compare

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

Full Changelog: v0.11.1beta...v0.12.0beta

v0.11.1beta

23 Aug 21:24
Compare
Choose a tag to compare

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

22 Aug 08:08
Compare
Choose a tag to compare

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

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

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