Skip to content

Releases: hyprwm/Hyprland

v0.27.2

19 Jul 11:42
Compare
Choose a tag to compare

Minor patch to fix nested sessions and screencopy crashes.

New features:

  • Add bringWindowToTop function to IHyprLayout (#2747)

Fixes:

  • no_xwayland: fix redef

Other:

  • keybinds: movegroupwindow-improvement (#2740)
  • render: set refresh to 0 for both wl and x11 backends
  • screencopy: guard region buffer values in frameDamage
  • screencopy: improve shm handling
  • screencopy: use wlr_buffer api for shm copies

Special Thanks

Special thanks as usual to those gigachads for donating:

  • ThatOneLutenist
  • Lipt0nas
  • speedboat
  • pulsar256
  • alukortti
  • garypippi

MRs

Full Changelog: v0.27.1...v0.27.2

v0.27.1

18 Jul 19:52
Compare
Choose a tag to compare

Minor update to fix some crash issues and stuff

Shoutout to grandma, without you this wouldn't have been possible!

New features:

  • background: add mascot versions
  • build: add asan enable status flag
  • issues: add form templates
  • keybinds: add movegroupwindow
  • windowrules: add border size rule

Fixes:

  • fix: handle window change directions in fullscreen (#2728)
  • idle: fix reverse flag for new idle protocol
  • massive-fix (#2725)

Other:

  • Allow empty args in hyprctl dispatch (#2724)
  • Avoid connected monitor reusing unavailable ID (#2731)
  • Dwindle: Make resize more intuitive (#2681)
  • Make bind modmask case-insensitive (#2714)
  • deps: update wlroots (#2734)
  • idle: implement new protocol
  • internal: Protocol C++ Wraps + XDGOutput impl (#2733)
  • internal: Remove herobrine
  • layout: recalc window on dynamic rule update
  • layout: recalculate monitor instead of window in updateDynamicRules
  • monitor: disconnect bind on disconnect
  • monitor: unplug all callbacks in ~dtor
  • move/resize window (#2706)
  • only return 0 when using -h (#2738)
  • renderer: use correct wlr sample func
  • screencopy: nullcheck for empty buffer
  • update group decos (#2705)
  • xwayland: guard monitor validity in xwayland scale overriding

Special Thanks

Special thanks as usual to those based individuals for donating:

  • Lipt0nas
  • speedboat
  • pulsar256
  • alukortti
  • garypippi

MRs

New Contributors

Full Changelog: v0.27.0...v0.27.1

v0.27.0

12 Jul 11:30
Compare
Choose a tag to compare

Sup y'all, new Hyprland update dropped :)

Shoutout to grandma

New features:

  • Add support for smart splitting (#2676)
  • Allow setting alpha value for ignorezero layer rule (#2477)
  • feat: add ipc set title window event (#2419)
  • feat: add lockactivegroup dispatcher (#2478)
  • feat: add variable to customize locked group border color (#2507)
  • gestures: add workspace_swipe_use_r
  • noxwl: add missing stubs
  • pluginapi: add configReloaded event
  • rules: add nodim
  • rules: add stayfocused
  • screenshader: add output uniform
  • xwayland: add force_zero_scaling
  • xwayland: add nearest neighbor filtering as an opt

Fixes:

  • Fix crash when screen size is 0x0 (#2523)
  • Fix fractional scale updates in some cases (#2447)
  • Nix CI: fix typo
  • chore: fix typos (#2463)
  • config: fix floating rules with floating-by-rule windows
  • config: fix reading touchpad values to non-touchpad per-device cfgs
  • config: minor path handling fixes
  • configmgr: fix idiotic comparisons in device configs
  • fix updating revision in wlroots.wrap
  • format: fix hooksystem
  • gradient: fix warn
  • groupbar fixes (#2630)
  • groupbar: fix damage calcs
  • groupbar: fix vram leak
  • internal: minor style fixes
  • layout: minor style fixes
  • lockgroups fix (#2636)
  • main: fix segfault when -c is given with no other arguments (#2470)
  • opengl: fix invalid tex references to tex-less shader
  • plugins: fix config value usage in init
  • screenshader: fix uniform variable checks (#2513)
  • screenshot fix (#2640)
  • swipe: fix mixup of r/m
  • texture: fix styling
  • xwayland: fix minor force_zero_scaling bugs
  • xwaylandmanager: fixup style

Other:

  • Avoid passing control unix socket descriptors to children (#2656)
  • Cleanup compositor deadcode (#2657)
  • Close socket2 client descriptor on hangup (#2654)
  • Implement pass binds (#2503)
  • Keep new mapped layer's alpha zero if the workspace has a fullscreen window (#2686)
  • Make movetoworkspace register previous workspace (#2436)
  • Nix CI: split inputs and wlroots updating
  • Nix/portals.patch: conditionally check portals
  • Nix: patch portals search dir
  • Partial revert of Commit 302ec13: (#2539)
  • Reloads animated decoration values set on window rules (#2594)
  • Reloads dynamic window rules (#2585)
  • Reuse same ID when reconnecting monitor, otherwise use minimum available ID (#2666)
  • Update ISSUE_GUIDELINES.md faq link to the wiki (#2424)
  • Xdg config home support (#2047)
  • [hyprctl] Expose the special workspace id and name of the monitor (#2392)
  • animationmgr: warp on equal start and goal
  • calculate zoom_center based on monitor scale (#2482)
  • compositor: don't set dim percent on disabled dim
  • compositor: move group members properly in moveWindowToWorkspaceSafe
  • crashreporter: log tag
  • damage: account for popups in getFullWindowBoundingBox
  • eventmanager: drop obsoleted ignore events flag (#2660)
  • events: remove old comment
  • flake.lock: update nixpkgs
  • flake.lock: update nixpkgs
  • gamma: use wlr's new gamma manager event
  • hyprctl: recalc layout on setprop
  • includes: move workspace protocol header to includes
  • input: force focus on movefocus
  • input: remove old redundant code
  • input: schedule frame on mouse move
  • input: update surface input on changeworkspace
  • internal: damage window on change group
  • internal: make borderSize prop overridable
  • internal: properly set monitor props on special windows
  • keybinds: remove old todo
  • layout: improve time restraints in window drag
  • layout: set pseudo to float size in new window
  • layouts: make aware of borderSize prop
  • monitor desc default workspace (#2673)
  • monitor desc default workspace but working now (#2678)
  • monitor desc support (#2670)
  • props: bump ver to 0.27.0
  • render: move lastFrameDamage to CMonitor
  • render: resize subsurfaces with size resizes
  • renderer: damage decos on damageWindow
  • screencopy: send original damage, avoid extents
  • shader: init uniforms to -1
  • shader: remove useless comment
  • shadow: drop useless damageEntire()
  • toplevelexport: ignore defunct windows
  • typo (#2643)
  • window: recalc on deco remove
  • xwayland: disconnect events on destroy
  • xwayland: remove spaces from output names
  • xwayland: send zero scaling to xwayland if enabled
  • zoom: multiply by scale only on mouseZoomUseMouse (#2495)

Special Thanks

Special thanks as usual to those chads for donating me some moolah:

  • Lipt0nas
  • speedboat
  • pulsar256
  • Sinkerine
  • hi im brown
  • jsw
  • meeri
  • Ary Kleinerman
  • Guido Panebianco
  • Spearhead
  • Amadeus
  • spikespaz
  • sbatial
  • kamui
  • Neo
  • dano

MRs

New Contributors

Full Changelog: v0.26.0...v0.27.0

v0.26.0

29 May 17:28
Compare
Choose a tag to compare

WHY DID MY ENTIRE RELEASE GET WIPED REEEE

Anyways Hyprland update woooo

New features:

  • Add "next on monitor or empty" workspace parameter (#2198)
  • Add hyprland to waybar-hyprland path as fallback for hyprctl
  • Add split preselection (#2240)
  • decos: recalc on add
  • groupbars: add text color opt
  • groupbars: add title and gradient rendering
  • input: add custom accel profiles
  • input: only configure newly added touch devices
  • lock: add allow_session_lock_restore
  • pluginapi: add separate window render events
  • renderer,config: add custom DRM modeline support (#2254)

Fixes:

  • 1483: fix crash on last display disconnect (#2344)
  • Fix UAF in animation end callback if callback deletes the animation (#2389)
  • Fix broken pipe crash when event listener terminates (#2339)
  • Fix not finding function symbols for hooking (#2292)
  • Fixed wrong focus changes when moving background workspaces (#2258)
  • bug fix (#2314)
  • configmanager: fix substr offset in default ws rule
  • examples: fix incorrect link in per-device config comments (#2353)
  • focus: fix #1675 window not scrollable after movefocus (#2390)
  • groupbars: fix minor alignment issues
  • groupbars: fix reserved area on titles
  • hyprctl: fix cut-off json outputs (#2352)
  • includes: use libdrm prefix for include
  • keybinds: fix tryMoveFocusToMonitor with special
  • launchanim: fix #2291
  • layers: fix wonky focus on multimon
  • monitors: fix some bugs with re-plug
  • render: minor fixes to fullscreen rendering
  • touch: fix double offset in local
  • workspaces: minor fixes for multi-special

Other:

  • Issue template: request users to ping me for Nix
  • Nix: expose/use flake's own hyprland-protocols in overlays.default (#2235)
  • animationmgr: allow empty avars
  • compositor: disallow sending pinned to special
  • compositor: don't focus pointer in focusWindow
  • config: clear layer rules on reload
  • configmanager: deprecate bindws
  • configmanager: remove useless log from handleWorkspaceRule
  • configmanager: store workspace rules as a deque
  • don't swap workspaces if monitors are the same (#2322)
  • examples: update plugin headers
  • examples: update plugin makefile
  • focus: make cursor follow movewindow (#2374)
  • groupbar: make exclusive
  • groupbars: conserve VRAM by staticizing textures
  • groupbars: make gradients toggleable
  • hyprctl: recalc layout on dynamic workspace
  • includes: remove redundant from screencopy
  • input: check for matrix availability in touch config
  • input: don't move monitor focus on wp change (#2320)
  • input: don't refocus on closed window
  • input: reset cursor hide timer on tablet
  • internal: make CAnimatedVariable non-move non-copy
  • internal: remove check for negative exact vector args
  • internal: use i64 for workspaces in outofbounds
  • internal: removed Herobrine
  • layershell: don't enter on unmapped ls
  • layershell: focus if changed keyboard mode
  • layout: don't reset to floating size on drag tiled
  • layouts: ignore direction forces on non-map
  • master: guard monitor in recalc
  • meson & nix: install wlroots headers (#2287)
  • monitors: toggle special on changeworkspace with special
  • moveActiveToWorkspace: update last window of old ws
  • pluginenv: copy built wlr headers
  • quote hash for the GIT_COMMIT_HASH macro (#2227)
  • readme: update previews
  • varlist: allow using s for std::isspace
  • vector: restore cmath include after 438d063 (#2394)
  • vector: use c++ stdlib math functions instead of cmath
  • version: bump to 0.26.0
  • window: reveal current from group on toplevel activate
  • wlr_ext_workspaces: honor activate from client + format
  • workspacerules: overwrite on existing

Special thanks

Special thanks to these chads for donating moolah to keep me shakin' my ass on this keyboard :)

  • Speedboat
  • Lipt0nas
  • HauntedCoffeePot
  • pulsar256
  • Lunics
  • Mathis
  • Roger
  • taigrr
  • Bosko
  • Psy
  • Denis Keksel
  • jo
  • Bjoern Sonnenschein

MRs

New Contributors

Full Changelog: v0.25.0...v0.26.0

v0.25.0

03 May 16:28
Compare
Choose a tag to compare

Small update brought to you by Yours Truly™ :)

Note for packagers: source v0.25.0-2 fixes build issues.

"I don't know my top one, maybe when things stabilize a little bit and you're not making changes every single hour" - Brodie Robertson

Meanwhile me:

New features:

  • Add activeworkspace hyprctl command (#2202)
  • Add ability to split master when only 1 additional window (#2025)
  • Add follow mouse mode to avoid refocusing under cursor (#2135)
  • Add plugin configuration to home manager module
  • Add subdir for cmake as well (#2163)
  • Add warning about setting hyprland config with home manager
  • Add windowrule fakeFullScreen (#2043)
  • Added moveCursor dispatcher (#2100)
  • Added some workspace-specific rules (#1986)
  • Format: use %lx for all addresses
  • IHyprLayout: add missing static modifiers to config vars
  • Meson: add subdirs to pkg-config file
  • Render: add cursor_zoom
  • Renderer: add init animation
  • config: add missing header for libc++ after 3a631e4 (#2208)
  • events: add render event for plugins
  • internal: add tag to version, send hash in release ci
  • layouts: add missing static modifiers to config vars
  • pluginAPI: add note about API expansion
  • plugins: Add "tick" event (#2029)
  • renderer: add support for rendering workspaces
  • rules: add noinitialfocus
  • swallow: Add swallow_exception_regex (#2026)

Fixes:

  • Fix apps requesting fullscreen (#2099)
  • Fix dragging cursor being forced on fullscreen windows (#2115)
  • Fix possible usage of clamp with lo > hi in Vector2D (#2049)
  • Fixed a crash when waking up monitors in power-saving mode (#2139)
  • Nix: fix recursion in package overlays (#2210)
  • Plugin header overhaul 2: fixes (Electric boogaloo) (#2201)
  • blur: fixup optimization bool
  • crashReporter: fix invalid format string
  • damage: fix damage on moves / workspace changes
  • dispatchers: fix missing log param
  • dispatchers: fix movetoworkspace with bound ws-es
  • dispatchers: fix named ws-es on changeworkspace
  • formats: fix endian ifdef
  • input: fix kb focus on top layers without interactive flag
  • input: fix ls focus in non-input area
  • internal: fix -Wsign-compare and -Wunused-variable warnings
  • keybinds: fix move to named
  • misc: fix a warning
  • renderer: fix fadingout render on fs
  • renderer: fix incorrect delta calc
  • renderer: fix incorrect shouldRenderWindow calcs
  • renderer: fix misused size -> transformed size
  • rules: fix monitor rule with names
  • swallow: fix invalid regexes with empty vals
  • workspaces: fixup workspaces not activating on workspace switch
  • xwayland: crude fix for qt dnds

Other:

  • Allow movefocus for empty workspaces (#2011)
  • Declarative plugin management (#2180)
  • Disable systemctl when built without systemd support (#2066)
  • Honor debug:enable_stdout_logs on startup (#2197)
  • Implement window move (#2018)
  • Keep fullscreen mode in moveWindowToWorkspaceSafe (#2191)
  • Plugin header overhaul (#2087)
  • Prefer bundled wlroots headers to system ones (#2204)
  • Remove wlr_output_damage.h (#2121)
  • Screencopy: unify frame and client between impls + event
  • Unbreak CMake build on FreeBSD (#2209)
  • Window resizing for pseudotiled windows (#2140)
  • args: print help on invalid arg
  • cmake: ignore format-truncation
  • cmake: sync pkg-config --cflags with meson (#2181)
  • compositor: ignore contraints on warp in moveWorkspaceToMonitor
  • config: ignore invalid paths in configPaths
  • crashReporter: avoid segfault in deref plugin system
  • crashReporter: log on crash
  • fractional-scale: notify all surfaces on window move
  • hyprctl: allow spaces in cursor themes
  • hyprctl: don't assume output validity in hyprctl workspaces
  • input: don't refocus on dragging
  • input: improve mouse release conditions
  • input: make overlay layers precede constraints
  • input: release mouse buttons before refocuses
  • input: send null keycodes on focusSurface
  • internal: avoid buffer overflows with socket paths
  • internal: don't change ws on active swap
  • internal: don't iterate special workspaces in move
  • internal: don't sanity check workspaces on internal ws calls
  • internal: guarantee activeWindow event type
  • internal: improve fullscreen fade
  • internal: include headers from protocols/
  • internal: move workspace special check higher in changeWorkspace
  • internal: moveToWorkspace before setting ws
  • internal: prevent premature destroy in moveworkspace
  • internal: unhardcode sun_path size after a6cfe70 (#2137)
  • internal: update fullscreen fade on workspace move
  • internal: use setSpecialWorkspace on destroy in sanityCheck
  • internal: warp workspace on change only if old mon is last
  • internal: workspace manip handling rework
  • keybinds: avoid sending release on suppressed press
  • keybinds: minor adjustments to workspace
  • keybinds: more intelligent fallback on silent move
  • keybinds: only warp on different monitor ws
  • keybinds: refocus properly on silent move
  • keybinds: remove old comment
  • keybinds: send pass with a null keymap
  • keybinds: simulate workspace switch on focusWindow to another ws
  • listeners: more safety around change
  • make ext_workspace_unstable impl more atomic (#2023)
  • makefile: put pkg-config file in the default dir
  • makefile: use -f in copies to avoid errors on running hl
  • misc: scan ppids in exec rules
  • monitor: recalc layout on switched ws
  • monitor: update fullscreen fade on workspace change
  • monitors: set special monitor ID on open
  • nix/*module: use mdDoc for documentation
  • nix: update xdph
  • only ignore no_gaps_when_only when the workspace rule specifies a border (#2217)
  • opengl: don't use new optim with xray off on special tiled
  • opengl: keep current rendered workspace in renderData
  • pluginAPI: make symbols static
  • pluginenv: configure cmake to build protocols
  • popups: send scale info
  • renderer: improvements to layer render detection
  • renderer: more checks for background LS optimizations
  • renderer: reset renderModif on fullscreen render
  • renderer: skip rendering bottom layers on fullscreen opaque
  • renderer: workspace rendering improvements
  • screencopy: clamp damage to framebuffer
  • screencopy: implement dmabuf
  • screencopy: improve consistency of share indicator
  • tick: don't tick on invalid session
  • windows: check for fullscreen after rules
  • workspace: don't check LS-es in startAnim
  • workspace: don't lose monitor with refocus on no warps
  • workspaces: deactivate all on monitor switch
  • workspaces: restore monitor on re-plug
  • xwayland: allow initial focus to dialogs

Special Thanks

Special thanks to these gigachads for donating $$$ to keep this thing going

  • speedboat
  • pulsar256
  • Lipt0nas
  • HauntedCoffeePot
  • StayBlue
  • Mushtario Pepperoni
  • Guido Panebianco
  • pbo
  • Scott
  • YinAqu
  • Adam Szegedi
  • Hubro
  • Travis Semczyszyn
  • vertiKarl
  • proycon

New Contributors

Full Changelog: v0.24.1...v0.25.0

v0.24.1

09 Apr 17:11
Compare
Choose a tag to compare

A minor update to fix a serious VFR issue + add the GS impl.

Fixes:

  • renderer: fixup damage repaint
  • screencopy: fix crash in invalid format reads

Other:

  • GlobalShortcuts protocol impl (#1886)
  • hyprctl: sanity check icons in notify
  • socket2: receive bytes to avoid endless loops
  • textInput: don't double destroy TI

Special Thanks

Special thanks to these hyprchads for donating me some moolah to keep this project goin':

  • speedboat
  • Murderburger_
  • pulsar256
  • HauntedCoffeePot
  • Lipt0nas
  • StayBlue
  • notoh
  • David N
  • Mathis
  • Zephan
  • HeadTriXz
  • Bill Nye
  • nehrbash
  • basstitan
  • jsw
  • Taylor Coffelt
  • System64
  • Sepi
  • Kulayb
  • TlasT

Full Changelog: v0.24.0...v0.24.1

v0.24.0

08 Apr 12:20
Compare
Choose a tag to compare

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

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

14 Mar 22:12
8531d1d
Compare
Choose a tag to compare

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

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

Full Changelog: v0.22.0beta...v0.23.0beta

v0.22.0beta

20 Feb 23:25
Compare
Choose a tag to compare

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

Full Changelog: v0.21.0beta...v0.22.0beta

v0.21.0beta

28 Jan 18:38
Compare
Choose a tag to compare

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

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