SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for hyprland-devel-0.41.2-1.1.noarch.rpm :

* Wed Jun 26 2024 Florian \"spirit\" - Update to version 0.41.2: + Hi all! 0.41.2 bringing even more fixes on top of 0.41.1. Enjoy! + New features: - core: add ability to select previous workspace per monitor (#6598) - hyprctl: added --follow option to rolliglog (#6325) - hyprpm: add --no-shallow - input: add cursor:warp_on_changeworkspace (#6480) - keybinds: add custom event dispatcher - vrr: add option to fix mouse breaking vrr (#6483) - window: expose pseudotiled state and add param to dispatcher (#6583) + Fixes: - animations: fix overriding direction for slide - core: fix a few small memory leaks on exit (#6470) - data-device: minor fixes - egl: fixup format modifier lookups with implicit modifiers - foreign-toplevel-wlr: fix out-of-range for missing monitor resources - format: fix flipped r/b channels on legacy_renderer - hyprctl: add a newline after log() - hyprctl: fix zsh completion (#6467) - keybinds: fix mouse pass (#6652) - output: fix cursors disappearing after dpms (#6659) - subcompositor/renderer: fixup handling of subsurfaces below the main one - surface: add virtual destructor to surfacerole to avoid undefined behaviour (#6620) - vrr: add option to fix mouse breaking vrr (#6483) - xdg-shell: fixup xdg-positioner\'s pointForAnchor with non-corner points - xwayland: fixup unfocus atom conditions + Other: - compositor: bump nofile rlimits on launch - constraints: Lock surface region when region is empty (#6627) - core: Move to hyprutils for Math - core: avoid bumping hard rlimits, restore on fork - damageRing: move to hyprland impl - data-device: abort drag on unaccepted offers - data-device: properly abort drag on missing device - dbus: import PATH XDG_DATA_DIRS variables into systemd and dbus session - format: include macros for unreachable - helpers: make shm_open() portable after 8bcccf9 (#6471) - hyprctl: avoid using select() - hyprctl: make recv timeout bigger and give error message if it does timeout (#6621) - hyprland.conf: update master section (#6537) - keybinds: ignore missing keysyms if no other methods match - master: refine master layout new window handling (#6479) - math: include cstring for memset - misc: a few compiler level performance optimisations (#6559) - output: avoid crashes when binding a defunct wl_output global - pointer: use software rendering when monitor is mirrored (#6587) - renderer: shrink occlusion rect if blur is used - seat/dnd: unfocus pointer from surfaces on dnd start - seat: track pressed pointer buttons - window: improve swallowing functionality - window: use effective damage for tearing re-schedules - wl-compositor: don\'t send enter to defunct output globals - wl_data_device: send drop_performed in completeDrag - wl_seat: accomodate for apps late-binding seat resources - wl_seat: send repeat data from current keyboard on bind - xdg-shell: Continue transform of popup until size fits (#6521) - xdg-shell: properly check for resource version for TILED and SUSPENDED states - xwayland: do not set a new data source if it has no MIMEs - xwayland: drop some spammy logs to trace - xwayland: force default plain mime atoms on known types - xwayland: use safeRemove for removing files
* Fri Jun 14 2024 Florian \"spirit\" - Added support for loading plugins using \"hyprpm\" + Added \"opensuse-hyprpm-use-hyprland-devel-subpkg.patch\" needed for this purpose
* Thu Jun 13 2024 Florian \"sp1rit\" - Update to version 0.41.1: + Hello there! After 0.41.0\'s bumpy start, we\'re bringing 0.41.1 to you to fix a bunch of bugs and issues. + New features: - binds: Add description to key binds (#6358) + Fixes: - compositor: update suspended states on moveworkspacetomonitor - foreign-toplevel: fixup output resource finding - formats: fixup for legacy_renderer builds - groupbar: fix groupbar position rounding (#6433) - input: fix input regions being ignored on ls-es (#6413) - keybinds: fix bindm (#6429) - layershell: Fix keyboard focus grabs (#4968) (#6394) - layershell: minor fixes to re-mapping of layers - seat: fixup touch event handling - seatmgr: fix missing nullcheck in updateActiveKeyboardData - session-lock: fix refocus after unlocking (#6423) - sessionLock: fix focus not being tied to mouse (#6414) - virtualkeyboard: check if VirtualKeyboard is valid before accessing client. (#6460) - wayland: consistently check mmap error after 6967a31 (#6402) + Other: - core: move to hyprutils for utils (#6385) - datadevice: only send actions for ver >= 3 - groupbar: Don\'t apply monitor scale twice to groupbar text (#6411) - hyprpm: print all types of cmake errors during configure - input: fallback to main surface if not found on window - layer: don\'t close special ws when restoring focus (#6424) - renderer: properly software lock cursors with zoom_factor (#6434)
* Mon Jun 10 2024 Florian \"spirit\" - Update to version 0.41.0: + The biggest Hyprland update in its history has just dropped. Almost 200 commits, over 25000 lines changed. A lot of things added, and continuing work on detaching from wlroots. Enjoy! + As with 0.40, there is a lot of internal work going on detaching from wlroots, so some bugs are to be expected. However, many from 0.40 have been ironed out, so give 0.41 a try! + New features: - Meson: add wayland.xml proto - config: add tag dispacther and window rule (#6211) - debug: Add ARM GPU info (#6212) - error: Add option to change position of HyprError bar (#3241) (#6111) - gestures: Add gestures:workspace_swipe_min_fingers option (#6342) - hyprctl: Add Config Flag to hyprctl systeminfo (#6160) - hyprctl: Add locked cmd to requests (#6042) - hyprctl: add --quiet flag (#6380) - hyprctl: add delimiter to hyprctl batch command (#6261) - input: add cursor:persistent_warps to maintain relative position within a window (#6338) - internal: Add missing errno.h include to SdDaemon.cpp (#5938) - ipc: add togglegroup, moveintogroup and moveoutofgroup events (#5866) - keybinds: Add option to disable window direction monitor fallback (#6182) - keybinds: Added new dispatcher (sendshortcut) (#6174) - keybinds: add empty on monitor and next empty flags (#5936) - keybinds: add keybind combos and add Left and Right mod distinction. (#5966) - meson: add more xcb-
* dependencies after addd3e7 - pointer: add back nvidia hardware cursor quirks (#6220) - protocols: add hyprland_focus_grab_v1 implementation (#5850) - renderer: render fonts with pango, add global font_family config option (#6138) - seatmgr: Add a grab class - windowrules add focusonactivate (#5976) - wlr-foreign-toplevel: fix fullscreen failing and add output support (#6360) + Fixes: - Fix initial xdg-decoration toplevel decoration mode negotiation - box: fix noNegativeSize - build: fix non-pch build (#6337) - compositor: fix getMonitorFromVector getting wrong monitor (#6010) - core: fix a few asan reported issues and a coredump on exit (#6285) - core: fix on-empty workspace being called too often (#6026) - core: remove unused includes and fix warn - cursor: minor fixes for unhiding surfaces - decorations: fix groupbar input (#5963) - groupbar: Fix window title rendering (#6392) - groupbar: fix title scaling (#5969) - helpers: fix misuse of syscalls in sd namespace (#6379) - idle-inhibit: fix and cleanup visibility logic - input: fix modifier and leds (#6062) - input: fix virtual devices not updating capabilities (#6366) - keybinds: Fix classic global keybinds(pass dispatcher) (#5967) - keybinds: fix empty on monitor for new workspaces (#6089) - keybinds: fix pass - keybinds: fix release binds in submaps (#6025) - keybinds: fix xkb keybind name to keysym comparison (#5917) - layersurface: fix invalid use of std::move - layout: Fix shrinking pseudotile windows. (#6143) - layout: fix centering of new floating windows - memory: fix SP/WP hierarchy templates - pkg-config: fix wlroots dir - popups: fix breadthfirst and at - renderer: fix xwayland solitary rechecks (#6295) - seat: fix pointer frame events not being sent correctly - shadow: fix small pixel gaps between border - socket2: fix events being reordered (#5955) - tablet: fix mapping when mapped region is specified (#6206) - wayland: fix invalid wl_output_mode dimensions sent - window: fix invalid env buffer size in getEnv - wlr-foreign-toplevel: fix fullscreen failing and add output support (#6360) - xdg-shell: fixup positioner behavior with slide and resize - xdg_shell: fix nested xdg_positioner calculations + Other: - Tablet: move to new impl - buffer: track asynchronous buffers and don\'t release them until unref - build: ProtocolManager missing header LIstener.hpp (#6391) - build: include missing header: \"debug/Log.hpp\" in Format.cpp (#6365) - build: update meson, cmake setup - compositor: change monitor focus when no_warps is enabled (#6260) - config: move various cursor-related vars to cursor: - configmgr: shadow exec rules when window is unmapped - core: chase hyprwayland-scanner - core: cleanup environment on exit (#5941) - core: drop unused protocol impls - core: free more memory on destruction (#6348) - core: remove wayland sockets on exit (#5959) - core: verify surface roles on creation of objects - cursor: move to a hyprland impl - datadevice: guard surface in dnd for null - deco-positioner: avoid infinite recalcs - decoration: Stacked group tabs (#5886) - deps: update wlroots - egl: assume implicit modifiers are available for old drivers - eventloop: don\'t call lost timers - foreign-toplevel-wlr: send current class and title on map - foreign-toplevel: bypass no activate focus checks - hookSystem: Make needsDeadCleanup volatile (#6356) - hyprctl: Allow setting name for custom/headless outputs (#6319) - hyprctl: Make setcursor better (support XCursor themes, give fail message) (#6097) - hyprctl: return exitStatus in requestHyprpaper() and request() (#6083) - hyprpm: don\'t shallow clone on non-main branches - hyprpm: force en_US locale for date calcs - hyprpm: print and fail on missing packages during configure - idle-inhibit: enable idle inhibitor if no hl surface is associated (#5882) - input: find surface pos correctly when mouse drag is active - inputmgr: send pointer motion on ffm != 1 - internal: Replace monitor rule when disabling head. (#6136) - internal: new shared_ptr and weak_ptr implementation (#5883) - internal: save previous workspace before change (#6202) - kde-server-decoration: move to new impl - keybinds: make the keybind manager check for session lock (#5894) - layer-shell: move to new impl - layersurface: avoid restack on identical layers - layersurface: reset popuphead after unmap - log: log with local timezone (#6331) - monitor: avoid UB on undefined auto dir - output: remove wl_output globals for mirrored displays - pointer-constraints: Remove unnecessary cursor warps (#5895) - pointer: Include monitor scaling in HW hotspot calculation (#6283) - pointer: damage in software mode on cursor image changes - pointer: don\'t calculate hw hotspot for missing hw cursors - pointer: don\'t update hw cursors on disabled displays - pointer: remove dividing hotspot by scale - pointermgr: ensure compositor exist on destroy (#6216) - pointermgr: reset entered outputs when resetting surface - popup: clip input region to surface size - popup: minor safety improvements - popups: avoid infinite recursion in bf - presentation-time: move to new impl - primary-selection: move to hyprland impl - renderer: allow custom uv for surface no-blur passes - renderer: avoid locking during rendering - renderer: deny solitary during a session lock - screencopy: don\'t spam sw cursor locks - screencopy: use a simple renderer for frame passing - seat: Send discrete event when axis source is scroll wheel (#6103) - seat: discrete round away from zero + high res scrolling (#6317) - seat: don\'t send keymap on empty device - seat: send axis_stop events after axis events - seat: send enter/leave events to all bound wl_seats for a client - seat: send events to all bound seats for a client - seat: update keymap/repeat info on keymap events from keebs - session-lock: don\'t allow events from rejected locks - tablet: avoid null deref on an empty cursor set - toplevelexport: avoid locking software cursors during render - virtual-keyboard: emit event before finishing keyboard - virtual-keyboard: release keys before destroy - wayland/core: move to new impl (#6268) - window: avoid nullptr deref on monitor in box helpers - window: avoid uaf on updateWindow decos - window: guard monitor in bounding box calculations - window: set sane default pseudo size - window: verify suppress flags in onUpdateState - windows: Revert \"window: set config only when both props end anims\" (#5904) - windows: make new_window_takes_over_fullscreen use the new window\'s workspace (#6263) - wl-data-device: move to hyprland impl - wl_seat: move to hyprland impl - wl_seat: send frame event after pointer leave (#6074) - wlr-data-device: move to hyprland impl - wlroots: bump - xdg-activation: keep tokens after the resource is dead - xdg-shell: move to new impl - xdg_shell: ignore outdated ack_configure events - xdg_shell: improve xdg_positioner resize calculations - xdg_shell: improve xdg_positioner slide behavior - xkb: check value correctly with xkb_state_layout_index_is_active() (#5925) - xwayland: Remove delta for real position with xwayland zero scaling (#6057) - xwayland: don\'t destroy server client - xwayland: move to hyprland impl (#6086) - xwayland: verify new xsurf is valid in prop reads
* Sat May 04 2024 Florian \"sp1rit\" - Update to version 0.40.0: + This is a massive update, with mostly changes under-the-hood, but also many QoL additions and fixes! A lot of wlroots implementations have been rewritten to use Hyprland-made ones. More will come, but this release also serves as a real test to their stability. + Breaking changes: - The hyprland logs, sockets, etc. have moved from /tmp/hypr to $XDG_RUNTIME_DIR/hypr. + New features: - alpha-modifier: add support for protocol - config: Add More Monitor \'Auto\' Positions. (#5670) - config: add absolute monitor workspace selectors (#5848) - config: added option to choose the default monitor for the cursor (#5847) - core: add libinput backend support for headless session (#5699) - ext-foreign-toplevel: add implementation - keybindmgr: add optional silent suffix to movewindow. (#5597) - log: Add some colors to stdout log (#5778) - windowrules: add subtract window option to move rule (#5770) - windows: add misc:initial_workspace_tracking - workspace: Add \'v\' flag for workspace selector that counts only visible windows (#5628) - workspace: Add fullscreen workspace selector (#5640) + Fixes: - CrashReporter: fix deadlocks by making it mostly async-signal-safe (#5771) - cursormgr: fix misscaled cursors on fractional - foreign-toplevel: fix bad_any_cast in moveWindow - foreign: fix no-pch builds - format: fix clang-format - hyprctl: add missing json string escapes (#5811) - hyprctl: fix activewindow request not showing workspace name (#5623) - hyprctl: fix instances path - hyprpm: fix for multi-user + improve directory structure - hyprpm: fix updating headers - input: fix active keyboard for seat after destroying one (#5725) - internal: fix a few asan reported leaks on exit of hyprland (#5852) - keybindmgr: add optional silent suffix to movewindow. (#5597) - makefile: fix old headers only being copied - misc: fix autocompletions for meson (hyprctl/hyprpm) - nix: fix missing git in wlroots build - pluginsystem: fix unhooking on exit - pointer-constraints: remove emoji to fix clang - protocols: fix for hyprwayland-scanner update - relative-pointer: fix missing header for g_pCompositor (#5681) - renderer: Fix mirrored displays when transformed and preserve aspect ratio (#5697) - renderer: fix rounding of the size of fractionally scaled monitors (#5748) - renderer: fix safety around sendFrameEventsToWorkspace - scripts: fix asan patch - sessionLock: fix incorrect protocol error raised - socket2: fix empty activewindowv2 events - swipe: fix crashes with invalid distance - tokens: add more modes to initial_workspace_tracking - tokens: fix initial workspace token ignoring special - windowrules: Fix Floating Grouped Windows Crash and Bug. (#5826) - workspace: Fix duplication of \"special:\" in special workspace name (#5729) - workspacerule: Fix monitor settings being deleted when merging ws rules (#5864) + Other: - Fractional-scale: move to new impl - HookSystem: improve callback safety - Protocols: implement protoLog - XDG-Output: move to hyprwayland-scanner - compositor: more fs safety around tmp directories - compositor: properly update workspace in moveWindowToWorkspaceSafe - config: Allow more sensible input options for enabling animations. (#5659) - config: Default unconfigured monitors to open to the right (#5741) - config: Expand on window matching (#5518) - config: merge all rules set for the same workspace selection (#5656) - config: polish default config file (#5672) - core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr (#5788) - core: Move tearing to hyprwayland-scanner (#5657) - core: prefer mkdir over create_directory and permissions - core: remove libsystemd dependency (#5660) - cursor-shape: allow duplicate devices per pointer resource - cursor-shape: move to new impl - cursor-shape: use - instead of _ in shapes - cursormgr: attempt using - instead of _ for failed cursors before fallback - events: set window initial
* before searching for rules - ext-idle-notify: move to new impl - fractional: set scale before configure - gamma-control: move to new impl - helpers: Add new C++ Signal and Listener classes - hid: don\'t access expired resources in virtual devices - hooksystem: check for existing random outdir - hooksystem: use a random 700 directory for assembler - hyprctl: use XDG_RUNTIME_DIR if available - idle-inhibit: Always recheck idle inhibitors on creation and deletion (#5738) - idle-inhibit: don\'t destroy inhibitor on surface destroy - idle-inhibit: move to new impl - ime-v2: move to new impl - input: Introduce basic hyprland HID classes - input: check for focused_client being null before reading its client - input: ignore destroyed devices in static events - inputmgr: dont double free on hotplug (#5855) - internal: Window storage rework - part 1 (#5762) - internal: store matched windowrules and emit event - keybinds: check for special workspace equality before switching - keybinds: clear repeat source on mouse inputs - keyboard: check for wlr() validity before accessing - keyboard: prevent UAF in destroy events - layerSurface: refactor/move to a memory-safe impl - layout: Trigger layout recalcuation on deco position/size change (#5821) - layout: limit updates when mouse animate drag is enabled (#5838) - managers: Add a TokenManager - output-management: move to new impl - pluginAPI/hooks: Remove dependency on cc from the hooksystem (#5801) - pluginapi: unregister callbacks on lost ptrs - pluginsystem: unload entire plugin before calling dlclose() - pointer-constraints: don\'t warp on entering a confined pointer - pointer-constraints: move to new impl - pointer-gestures: move to new impl - props: bump version to 0.40.0 - protocols: minor style improvements to new impls - protocols: utilize hyprwayland-scanner 0.3.3 functions - relative-pointer: move to new impl - renderer: avoid rendering frame if finalDamage is empty - renderer: send frame events to apps on empty damage renders - session-lock: move to new impl - sessionLock: call wlr_surface_map/_unmap on the surface manually - sessionLock: remove m_pLastFocus on destroy of surface - sessionLock: set locked after emitting event - shaders: Use sin-less hash for noise (#5607) - shortcuts-inhibitor: move to new impl - tearing-control: hyprland impl (#5655) - tearing-control: search through all valid windows - text-input-v3: move to new impl - tokenmgr: separate getRandomUUID from registerNewToken - virtual-keyboard: destroy on vdestroy event - virtual-keyboard: move to new impl - virtual-pointer: move to new impl - wayland-protocol: remove unused CWaylandResource - Window: add destroy signal - windows: don\'t force workspace change on same tracked workspace - windows: recalculate monitor after updating windows (#5647) - windows: set fullscreen border size to 0 (#5865) - wlr-foreign-toplevel: move to new impl - wlr-foreign-toplevel: send done after property changes - wlr-output-power: move to new impl - xdg-activation: move to new impl - xdg-decoration: move to new impl
* Tue Apr 16 2024 Florian \"spirit\" - Update to version 0.39.1: + Fixes: - constraint: Fix xwl cursor locking for scaled monitors (#5587) - hyprpm: minor fixes to hyprpm for shallow and versioned clones - misc: fix autocompletions for meson (hyprctl/hyprpm) - notifications: fix notifications on manually rotated monitor (#5599) + Other: - CI: unshallow on checkout before sourcing the tarball - cursor: add hyprcursor loggers - build: Unbreak build on FreeBSD by adjusting dependencies (#5595) - hyprpm: checkout branch and rev separately - hyprpm: err out on missing runtime deps - input: send an empty relative event after constraint motion events - window: remove input ref on unmap- Dropped \"bash-completion-install-dir.patch\" as it has been included upstream.
* Mon Apr 15 2024 Florian \"sp1rit\" - Update to version 0.39.0: + New features: - hyprctl: Add shell completions (#5404) - hyprpm: add shell completions (#5423) - hyprpm: add support for minimum versions - layouts: add missing include - monitor: add workspace null check to visible flag - renderer: Add dimaround layer rule (#4643) - swipe: add events - workspace: Add count group flag in windowCount workspace selector prop (#5499) - workspacerules: add back on-created-empty functionality (#5452) + Fixes: - CColor: fix getAsHex - IME: fix IME popup mouse inputs (again) (#5417) - IME: fix blurry ime on scaled - IME: fix crash on restarting IME (#5428) - IME: fix incorrect popup damage (#5383) - IME: fix race condition on closing window (#5455) - compositor: fix ghost fadingOut windows remaining after cleanup - configmgr: fix header priority - constraint: fix possible uaf on double destruction - core: fix compile without pch - core: fix some crash conditions around workspace ptrs in CWindow - core: fix visibility flags in moveWorkspaceToMonitor - hooksystem: Fix miscalculation in comment (#5442) - hooksystem: manually map trampoline addresses - hyprctl: fix fish completions - hyprctl: fix grammar mistakes in completions - hyprctl: fix zsh completions - hyprpm: fix wlroots path (#5567) - input: fix focus on maximized bg surfaces - input: fixup background layer checking on maximized - keybinds: fix spammy warning - macros: fix no pch warning - master: fix center resizing (#5394) - master: fix crash (#5472) - master: fix full height when all windows master (#5549) - master: fix swapped workspaces (#5397) - master: fix workspace orientation not being restored after workspace rule no longer applies (#5463) - opengl: fix modif in blur - renderer: some fixes for renderModif - window: fix invalid last workspace id - workspace: fix crash on destruction of compositor (#5495) - workspace: fix special unnamed workspace rules (#5390) - workspacerules: fix workspace rule loops (#5433) + Other: - Workspace/core: Refactor workspace storage (#5380) - blur: block modif only on no new optimize - compositor: move wl_display_destroy_clients (#5498) - compositor: remove windows from fadingOut properly - config: Don\'t override fullscreen opacity if only two opacities are provided (#5512) - config: verify string length in wrv2 before calling back - core: Event loop rework (#5466) - core: assert attempted UAFs in windowExists - core: simplify sanityCheckWorkspaces - cursor: Fallback to xcursor if failed to render hyprcursor (#5534) - damageSurface: don\'t correct smallVec twice - deps: move from wlroots to wlroots-hyprland - eventloop: move timers to an event loop fd - hooksystem: attempt allocating pages in linear order - hyprctl: improve help pages (#5385) - hyprctl: print monitor disabled status (#5525) - hyprerror: align 32-bit types after 4c79668 (#5375) - hyprpm: Improve Hyprpm Update Performance (#5530) - hyprpm: Use proper path to update repo when processing user provided revision (#5414) - hyprpm: ignore version checks for shallow clones - hyprpm: install shell completions - hyprpm: print more info on build failures - inhibitor: always destroy on window unmap - input: Dont set active monitor when simulating mouse movement (#5465) - input: Option for handling off-window axis events (#4177) - input: allow focus to bottom layers on maximized in reserved - input: don\'t remove pinned focus on workspace change (#5486) - layers: separate anim configs for open/close (#5421) - master: guard window in moveWindowTo - monitor: check for invalid workspaces in onConnect - monitor: unset visible flag from ws on disconnect - opengl: log framebuffer errors - popups: more safety in damage checking - props: Allow setting per-window fullscreen opacity (#5470) - props: Parse border color props as gradient (#5513) - renderer: avoid double-rendering ls-es on fadingOut - renderer: block screen shader on screencopy - renderer: render back layer for workspace-less passes - scripts: switch to branch --show-current for branch in generateVersion - subsurface: init existing subsurfaces on children creations - swipe: nuke numbered - window: always unref workspace on unmap - workspaces: add visible flag - workspace: remove lastFocusedWindow on unmap - workspace: remove monitor and visible flags on inert - workspace: update windows when selector match could change (#5533)- Added \"bash-completion-install-dir.patch\"
* Tue Apr 09 2024 Florian \"sp1rit\" - Update to version 0.38.1: + This release comes with a few backports from main to 0.38.0 to fix a few issues and performance bugs. + Backports: - hyprerror: align 32-bit types after 4c79668 (#5375) - renderer: block screen shader on screencopy - input: allow focus to bottom layers on maximized in reserved - renderer: avoid double-rendering ls-es on fadingOut - CColor: fix getAsHex - subsurface: init existing subsurfaces on children creations - compositor: remove windows from fadingOut properly - compositor: fix ghost fadingOut windows remaining after cleanup
* Tue Apr 02 2024 Florian \"sp1rit\" - Update to version 0.38.0: + New features: - config/workspace: added workspace selectors - hyprctl: add missing commands to usage (#5211) - input: Add options to set tablet\'s active area (#5199) - input: add misc:hide_cursor_on_key_press - keybinds: add Dispatchers for \"force float\" and \"force tiling\" (non-toggle) (#5137) - keybinds: add binds:disable_keybind_grabbing - layers: add animation direction overrides - renderer: add support for gles3.2 screen shaders - screenshader: add screen_size uniform - socket2: add pin event - tablet: Add left_handed option for tablets (#5178) + Fixes: - CGradientValueData: fix toString() method (#5220) - IME/TI: Fixes and refactoring - IME: Fix ime popup coordinates and artifacts (#5373) - IME: Refactor and fixup popups - IME: don\'t assert on lock mismatch, just fix it - IME: fix crashes with destroyed text-inputs - animations: Fix animation issue in focusworkspaceoncurrentmonitor (#5202) - animations: Fix incorrect animation when manually moving a window when its being created (#5141) - animations: fix layer slide with fade - animvar: fixup update callbacks and cleanup - avar: fix warp onEnd conditions - avar: minor fixes - build: fix builds without pch (#5198) - core: Fix resizeparams (#5262) - core: fix fullscreen + floating focus change (#5291) - core: fix missing workspace events during swapping (#5251) - deco: fix groupbar offset (#5364) - dispatchers: fix swap workspaces wrong positioning of floating windows (#5328) - format: fix format - hyprctl: fix plugin list on no plugins (#5357) - hyprpm: add missing newline (#5207) - ime: fix build without pch - input: Fix incorrect keyboard focus taken when no window was present (#5337) - input: fix crash with text-input-v1 (#5234) - keybinds: Fix exit trigger by moving it to monitor.frame (#5240) - layers: fix bottom slide animation (#5307) - master: fix moving fullscreen workspace and remove duplicate code (#5131) - reenderer: Add 1 border damage to fix number rounding issues (#5343) - renderer/animations: Fix various inaccurate damage tracking issues and offsets (#5297) - renderer: Fix layer and window damage sometimes missing 1 frame (#5370) - renderer: Fix rendering when swiping workspaces (#5367) - renderer: minor fixes to misaligned reported surface rendering - renderer: minor fixups for misaligned surface rendering offsets - scripts: fix asan patch - swipe: fix nullptr in onSwipeUpdate (#5191) - tablet: minor focus fixes - textinput: fix ime when opening multiple windows (#5281) - textinput: fix typo (#5365) - windowrules: Fix resizeparams parsing. (#5206) - workspace: fix integer overflow in selector parser (#5177) - workspace: fix selectors with special: + Other: - IME: Improve handling of text-input and ime-relay (#5147) - IME: guard unfocused TIs in leave - animationmgr: use realpos and size for border damage - animations: simplify window loop - compositor: remove windows from fading out on destroy - config: Config error limit/hyprctl (#5165) - config: be a bit louder in the disabled log warning - constraint: do not disable constraints in destroy - constraint: set active flag before propagating props - core: ensure m_pLastMonitor validity over unsafe state - core: match all workspace rules instead of the first one only (#5340) - cursormgr: don\'t set x theme in changeTheme - cursormgr: initialize size to 0 - cursormgr: log theme loading failures - cursormgr: scale hotspot with buffer - dispatchers: open special ws on active monitor instead of mouse monitor (#5330) - hyprctl: output json with --batch if requested (#5277) - hyprpm: avoid crashes on corrupted headers - hyprpm: log shell in build without fails - input: Only limit drag resizes (#5164) - input: focus window on mouse down on groupbar (#5224) - layer-shell: render popups above everything - layers: don\'t change workspace on layer restore focus (#5308) - layershell: release all mouse buttons before focus on new ls (#5219) - layershell: update render pos and size in arrange - layout: improve initial size prediction for floating - master: Make master workspace orientation rule dynamic (#5339) - opengl: minor adjustment to getPreferredReadFormat - opengl: report shader compilation errors from screen_shader (#5138) - refactor: move window.hpp to desktop/ - renderer: allow blurring ls popups - renderer: disable surface adjustments for misaligned reported when manual resizing - renderer: don\'t render window on other mons during anim in - renderer: don\'t translate surface box on interactive resizes with non-updated sizes - renderer: dont render fullscreen special on wrong monitor (#5249) - renderer: forward decl for b_pch=false (#5250) - screenShader: allow camel for screensize - socket2: sanitize data for newlines - swipe: Touchscreen workspace swipe (#4489) - text-input: reset lock counter on surface destroy - textinput: send deactivate on disable ti - window: assign surface on create - window: set config only when both props end anims - xwayland: assign wlr_surface on associate- Removed \"fixed-missing-return-statement.patch\" as the issue has been fixed upstream.
* Wed Mar 20 2024 Muhammad Akbar Yanuar Mantari - Add hyprland-wallpapers subpackage: Wallpapers too large are included in the main package.
* Sat Mar 16 2024 Florian \"sp1rit\" - Update to version 0.37.1: + A massive (not) update to fix rendering of half of your apps, oops. + New features: - renderer: add better multi monitor animations (#5126) + Fixes: - renderer: fix non-reported sizes window box calculations- Changes from version 0.37.0: + Happy 2 years of Hyprland!! Thanks to everyone who has supported Hyprland in any way shape or form, couldn\'t have done it without yall. <3 + New features: - config: Add input:scroll_factor configuration (#4980) - cursormgr: add fallbacks for unknown cursors - hyprpm: Add support for specifying exact git revisions for plugin repo (#4983) - input: add general:resize_corner for manual resizing (#5090) - input: fix window move stutter by introducing additional checks for low-hz monitors (#4553) - keybinds: Add the \'catchall\' keyword that matches all keys (#4930) - layers: add fully featured animations - notify: Add custom fontsize support for notifications (#4981) - socket2: Add 5 IPC event with support for workspace ID (#5022) - subsurface/popup: expand on map/unmap to add buffering + Fixes: - CrashReporter: Fix compilation with musl libc (#4805) - animations: fix m_Goal not being set after #4911 (#4992) - configmgr: fix compile on 32-bit archs - core: add additional headers for Popup.cpp and InputMethodRelay.hpp (#4909) - core: Fix typo and check grandchild PID in spawn() (#5070) - core: fix crashes on access of deleted wlr_ surface - cursormgr: fix invalid access to hyprcursor in xwayland init - cursormgr: fix memory leak with cursor buffers - hyprctl: Fix incorrect invalid fontsize kwarg response (#5013) - input: fix minor default cursor reset conditions - input: fix window move stutter by introducing additional checks for low-hz monitors (#4553) - internal: minor fixups for fading out xwayland windows - keybinds: Fix typo (#5081) - layers: minor fixes for new animations - layout: Fix toggling fullscreen special workspace on different monitor (#5000) - lock: fix red screen issues with multiple monitors (#5100) - master: Fix animate resize (#4942) - master: Fix master layout window focus and scroll (#5074) - master: fix invalid config usage - opengl: fix compilation on legacy renderer (#4928) - popup: minor fixes to xdg geometries - renderer: fix invalid access on non-assigned surfaces - renderer: minor fixes to transformations - subsurface: fix visibility check - surface: fix damage tearing feedback - windowrules: fix center - xwayland: fix no_xwayland compiles + Other: - animations: Refactor AnimatedVariable (#4911) - compositor: ignore grab extend behind special workspaces (#4944) - compositor: reject focus to noFocus OR xwayland windows - compositor: update state after moving to workspace - config: improve config value infrastructure - config: more safety around monitor keyword - config: report errors from sourced files - config: update per device input configs link (#4951) - constraints: only warp cursor on deactivate if constraint is locked. (#5056) - cursormgr: use XCURSOR_THEME for x themes - drag: check min size for reisze drags - dwindle: preserve fs state on switchWindows - events: apply monitor state on sessionActive - events: don\'t switch to active workspace on workspace rule - events: ignore setTitle when title didn\'t change - events: update render data after workspace window rule (#4931) - hyprctl: hide unmapped windows without -a - hyprctl: parse custom types in getoption - hyprctl: print format and modes - hyprpm: don\'t copy .so if file doesn\'t exist - input: Rewritten pointer constraints (#4889) - input: only override dragging corner on floating (#5092) - input: scale local coords in constraints - input: send motion to confined cursors - internal: Support libhyprcursor (#5009) - internal: Removed Herobrine - keybinds: Allow fullscreen/maximize in special workspace (#4921) - keybinds: Better handling of workspace_back_and_forth (#4952) - keybinds: better follow xkb translation state - keybinds: track submap at press for keypresses - keybinds: unconstrain mouse on focusmonitor and cyclenext (#4863) - layer-shell: allow for popup creation before map - layout: unfullscreen on toggle into tiled fullscreen - layout: warp the cursor when focusing windows (#4982) - master: change active monitor when moving windows around (#5001) - monitor: remove commas from short description (#4970) - notifs: Implement notification dimissing (#4790) - popup: send scale on map - refactor: move a few things to desktop/ - renderer: Allow headless mode in hyprland (#4794) - renderer: adjust surface dimensions for oversized not-yet ackd surface sizes - renderer: force a few render frames on init anim end - renderer: respect forceNoBlur when rendering small surface windows (#4932) - sessionlock: refocus after destroy focused surface (#5117) - splashes: add 2ya splash - subsurface: Rewrite the subsurface tree (#4877) - subsurface: don\'t update transform on unmap - subsurfaceTree: assign surfaces to a CWLSurface - surface: unify owners - surfacetree: Revert \"subsurfaceTree: assign surfaces to a CWLSurface\" - window: ignore surface updates in unsafe / on invalid monitors - window: prevent vector modification segfault while iterating - window: remove unused list - windowrules: Make min/maxsize rules dynamic (#4775) - windowrules: check if floating when resizing from maxsize (#5019) - windowrules: minor improvements to min/max size - xdg: check for floating conditions before sending tiled size hint - xdg: minor improvements to initial size reporting - xdg: rewrite entire popup implementation - xkb: handle invalid keymaps in updateXKBTranslationState - xwayland: Set xwayland\'s name prop (#4924) - xwayland: disable initial focus for xwayland dialogs (#4936) - xwayland: set scaledBy for unmanaged windows in map - xwaylandmgr: don\'t read xwayland surface from unmapped xwayland- Added \"fixed-missing-return-statement.patch\" which is necessary to build hyprlang on non x86_64 architectures and some compile flags
* Fri Mar 01 2024 Florian \"sp1rit\" - Update to version 0.36.0: + A lot of fixes and changes, enjoy! Thanks for all the contributions :) CPU and GPU usage should be considerably down from 0.35.
* + Breaking changes - config:
* migrated to hyprlang. Some nice additions include rgba(123, 123, 69, 0.5), dynamic variables updating, and more.
* all device:XYZ sections are now device { name = XYZ ..., see the wiki
* ## is now properly treated as an escaped #. - windowrules:
* no
*request rules have been nuked in favor of the new suppressevent rule. + New features: - config: Add option to resolve keybinds by sym instead of code (#4851) - config: add defaultName for workspace rules - config: add opengl:force_introspection - core: add env to disable crash reporter - dispatchers: add Fullscreen without sending fullscreen to application (#4720) - dwindle: add swapsplit dispatcher (#4702) - feat: Add css style gaps (#4723) - hyprctl: add -r argument - internal: add forcenofocus prop (#4672) - keybinds: Add an option to pass a window argument to moveoutofgroup (#4724) - renderer: add more logging for fails in beginRender - socket2: monitoraddedv2 IPC event for monitor description and id (#4646) - windowrules: add suppressevent + Fixes: - config: fix errors in default config - config: fix layout invalidation for keyword commands (#4826) - config: fix tiny typo in defaultConfig.hpp (#4693) - core: Fix SEGV/ABRT core dump when exiting (#4823) - core: Fix building plugins (#4783) - core: Try to fix the exit hang (#4811) - crashreporter: fix logging of function data (#4632) - format: fix formatting - hyprctl: fix dispatchBatch() treating empty curitem as last request (#4681) - hyprctl: fix showing invalid instances - input: fix follow_focus - input: fix vectorToWindowUnified with floating over fs - keybinds: Fix focus not moving along when moving workspace (#4660) - keybinds: fix focuswindow for fullscreen (#4840) - keybinds: fix keys without keysyms triggering random binds (#4739) - keybinds: fix movewindoworgroup onto empy workspace on next monitor (#4486) - keybinds: fix swapactiveworkspaces not moving focus - layout: Fixed ghost window when opened while fullscreen on a different workspace (#4822) - monitors: fix outputmgr nullptr crash (#4738) - renderer: fix invalid damage accumulation with invalid buffer_age - renderer: fixup damage_ring rotation - renderer: minor fixes for introspection detection - screencopy: fix invalid damage being used for final copy in dma - screencopy: fix ~dtor being in monitorRenderResources map - shadow: fix missed invalid use of cfg val ptr - surface: fix damage calcs with a viewport src - surface: fix invalid damage tracking in damageSurface - surface: minor fixes for last logicalDamage calc fix - xdgpopup: fix UAF because of an invalid listener connection + Other: - IME: don\'t set modifiers on grab destroy - Migrate the config to hyprlang (#4656) - animationmgr: expand layer box for damage - assets: update tetrahedra by honkadaloonga - avar: return curve value of 1 when not animated - compositor: allow source monitor to be provided to getMonitorInDirection (#4837) - compositor: check for pworkspace validity in setActiveMonitor - config: adjust default splash col - config: remove usages of nomaximizerequest from default cfg - config: update default config for hyprlang migration - core: nullcheck for old monitor in moveWorkspaceToMonitor - crashreporter: Use ~/.cache as cache dir (#4719) - dwindle: round wbox before setting - events: bring back accidentally nuked preConfigReload - groupbar: scale groupbar text according to monitor scale (#4640) - hyprctl: ignore non-lock files for instances - hyprctl: jsonify new gaps - hyprctl: more safety around stoull - hyprctl: reload everything on dynamic source keywords - hyprctl: remove hardcoded hyprctl commands. (#4671) - input: Map touch devices and tablets bound to an output (#3544) - input: avoid rampant refocuses on popups - input: avoid reassigns of unchanged surfaces in processMouseRequest - input: don\'t schedule frame on cursor move on hw cursors - input: focus monitor on mouse down - input: log cursor image requests - input: partially revert #4514 - input: refocus on completed drags - internal: removed Herobrine - keybinds: focus floating on top of fs - keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead (#4625) - misc: remove unused var - misc: you\'re the best for reading this :) - monitor: don\'t damage twice (#4727) - opengl: check bottom/bg layers for required introspection - renderer: Update splash text properties to be configurable (#4707) - renderer: accept custom state requests for fake outputs - renderer: don\'t calculate mirror damage without mirrors present - renderer: don\'t set solitary on present notifications - renderer: ignore set cursor surface if cursor should be hidden (#4780) - renderer: nuke lastFrameDamage and rework finalDamage - renderer: take into account fading out windows in solitary recheck - renderer: update cursor also when hostpot only changes - rules: ignore static tile/float rules in dynamic gets - screencopy/toplevelexport: sanitize pointers in ::copyFrame - screencopy: attempt binding framebuffer before gathering format - screencopy: avoid dangling client ptrs on client destroy - screencopy: damage entire screen on a no-damage request - screencopy: move monitor verif check to the proper place - screencopy: send full frame damage - sessionLock: send preferred fractional scale - shaders: use highp for fragments - socket2: move to the wayland event loop - surface: ensure global pointers valid before using in destructor (#4844) - toplevelexport: set last damage for dmabuf copy - vector: avoid min0 clamps without a max being invalid - wayland: implement keyboard_shortcuts_inhibit_v1 - windowrules: nuke no
*request - xdg: manually schedule initial configures - xwayland: ignore OR activate requests if surface doesn\'t want focus - xwaylandmgr: clamp size in setWindowSize - xwaylandmgr: proper clamping for setWindowSize
* Mon Feb 12 2024 Florian - Update to version 0.35.0: + New hyprland release? No way. I think we got some new stuff and fixes. This release was brought to you by the Hyprland Corp. + New features: - config: Add border gradients to windowrulev2 (#4335) - hyprctl: add systeminfo - hyprpm: add --force for update - input: add special_fallthrough - keybinds: Add dispatcher for xmonad/qtile-style workspace switching (#4439) - master: Add more null checks for rollnext (#4343) - renderer: Add new background infrastructure + Fixes: - dwindle: fix windows being created at incorrect position when cursor is over reserved area (#4520) - hyprctl: screen_shader config fixes (#4102) - hyprpm: fix crash on add plugin - hyprpm: fix invalid pkg-config path env in build - keybinds: fix ignoremods with release - keybinds: fix keys getting stuck + minor refactor and optimizations to keybind handling (#4304) - keybinds: fix tracking of sent key states - layershell: Fix greedy mouse grab from keyboard_interactive layer (#4401) - main: Fix typo in std::cerr (#4359) - meson: fix wlroots patch (#4324) - pluginapi: fix hooks with negative rip offsets - renderer: fixup misaligned fsv1 surfaces with uv - subsurfaceTree: Fix nullptr crash when disconnecting a monitor (#4577) + Other: - HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict (#4321) - build: protocols: require wayland-protocols >= 1.32 - compositor: clarify common errors at launch - compositor: don\'t close special on focus on pinned (#4533) - config: variables update their value when set again (#4263) - core: improve cleanup logic - crashreporter: skip first possibly cut off line in log tail - damage: use buffer_damage instead of effective_damage - dwindle: avoid sending negative sizes to wlr - events: ignore sending mouse enter to focused if a constraint is active - fractional: Set preferred scale on monitor config reload (#4406) - groupbar: Drag single window instead of destroying group (#4327) - groupbar: improve gradient handling (#4390) - groupbar: separate gradients from title (#4444) - hyprctl: move to a class and unify commands - hyprpm: don\'t update headers if they are up-to-date, only recompile - hyprpm: handle failed compilations gracefully - hyprpm: install headers locally (#4585) - hyprpm: log verbose return of cmake and meson in update - hyprpm: update global state on plugin recompile not header update - hyprpm: verify headersHashCompiled as well in headersValid() - input: Allow disabling touchscreen input (#4517) - input: allow focusSurface when locked if surfase is sessionLock - input: focus window on mouse down on decoration (#4514) - input: leave special on focus (#4358) - input: partially revert #4401 - input: remove animate checks on resize limiter (#4480) - input: track exclusive LSes - internal: minor header cleanup - issue templates: make versions spoiler\'d - keybinds: Refocus only if the silently moved window had the focus (#4328) - keybinds: avoid duplicated held keys, only use last, remove all - layout: Round window pos and size on togglefloating (#4407) - layout: save float props before setting fs state (#4537) - layout: update rules before applying fullscreen nodes in layouts - make: unbreak with non-GNU ln(1) after 78f9ba9 - master: guard PNODE in roll
* - monitor: clear output state after usage - monitor: don\'t call output_state_finish on buffer-less state clears - monitor: wrap usage of wlr_output_state - opengl: apply box rot to projections - opengl: rassert false on lost context - opengl: use texBox for rendering background texture - pluginapi: allow registering hyprctl commands - renderer: Only force nearest neighbor when the sizes are off by one or two (#4325) - renderer: allow rendering multiple fullscreen windows in third fs pass - renderer: avoid unnecessary gpu resource deletions - renderer: ignore box offsets for fullscreen windows - renderer: overhaul renderModifData - renderer: reset fb pointers after render pass - screenshader: rename output uniform to wl_output (#4606) - subsurfaceTree: update surface tree protocol feedback on map - surface: avoid spam of window surfaces with scale and transform events - swipe: Prevent hiding current workspace when swiping (#4417) - tearing-control: handle unmapped surfaces for hints - wlroots: update version patches - xwayland: remove delta from pos sets in configureX11 - xwayland: remove reportedsize set in unmanagedSetGeometry (#4539)- The patch \"0001-fixed-patchd-wlroots-build.patch\" has been dropped as it appears as if it isn\'t necessary anymore.
* Thu Jan 04 2024 Florian - Update to version 0.34.0: + Hey, haven\'t seen you in a year! New year, new hyprland update. The longest commit gap to date ends with this plentiful one :D + New tools: - hyprpm: a hyprland plugin manager. See the wiki or hyprpm --help for usage. + New features: - config: add debug:disable_scale_checks - config: add qt env to default config - dispatchers: add tiled/floating to cyclenext - groupbar: add egl context to refreshGroupBarGradients() (#4238) - groupbar: add enabling groupbar and setting priority (#4299) - hyprctl: add decorations (#4275) - hyprpm: add duplicate header error and log more verbose in install fails - input: Add scroll_points option for device (#4101) - input: add relative_input for tablets - master: add dispatchers rollnext and rollprev (#4209) - opengl: add toggleable nvidia_anti_flicker - renderer: add decoration:blur:popups_ignorealpha - renderer: add occlusion for special workspaces - renderer: add option to blur popups - systemd: add HYPRLAND_NO_SD_NOTIFY - windowrules: add focus param - windowrules: add initialTitle and initialClass (#4259) - windowrules: add onworkspace + Fixes: - border: fix failed assert on small windows - border: fix missed translate by offset - deco: fix missing border on togglefloating (#4305) - functionHooks: fix incorrect protlen calcs - hyprpm: fix with system headers - internal: fix interactions with fakefullscreen (#4113) - internal: minor include fixes and missed format - renderer: double lookup fix, input: double conversion fix (#4124) - renderer: fix auto scale detection with fractional - renderer: fix null cursor surface sets being ignored - signal: fix invalid pointer access (#4207) - toplevelexport: fix missed pmonitor set for opengl - toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy - windowrules: minor fixes to onworkspace - xdg-shell: fix sending of suspended state + Other: - compositor: don\'t block focus if there is no keyboard - compositor: spawn environment setup with keybind manager (#3722) - config: Avoid regenerating config if --config is used (#4103) - config: Use canonical instead of read_symlink (#4136) - config: don\'t emit reloaded event before eventManager is created - config: improve layoutopt handling for workspacerules - configmanager: set a limit to config variable substitutions - crashreporter: don\'t explicitly set 777 on crash report directory - deco-positioner: include sticky in sent geometry - dwindle: Use window->middle() when cursor is on reserved area (#4253) - filesystem: Set the sticky bit on /tmp/hypr (#4199) - focus: prefer sendMotionEventsToFocused for ensuring cursor image - groupbar: Middle click on groupbar to close tab (#4297) - groupbar: remove extra border size from groupbars (#4262) - hyprctl: allow instances without HIS - hyprctl: check only ISDEBUG in version (#3702) - hyprpm: Make sure we\'re in git repo before getting new hash (#4303) - hyprpm: cast std::clamp args to be of the same type (#4116) - hyprpm: clone plugins recursively - hyprpm: guard empty command - hyprpm: trim paths in PATH - idle: notify idle on tablet inputs (#4201) - input: Activate resize_on_border only when key is pressed (#4170) - input: Ignore some input events when focus is on a layer surface (#4306) - input: Prevent crash with invalid keyboard layout (#4157) - input: allow setting cursor even if it\'s hidden - input: don\'t steal mouseDown from LS (#4260) - input: unset resize cursor on empty focus - internal: Remake borders as window decorations (#4104) - internal: Unify input handling on decorations (#4280) - internal: convert uname fields to strings before logging - internal: import qt env to dbus - internal: nuke CWindow::m_bMappedX11 - internal: removed Herobrine - keybinds: Keep focus on special when switching workspaces (#4084) - keybinds: check for null last monitor in changeworkspace (#4077) - layout: Focus a floating window after closing the last tiled (#4137) - pluginapi: Trampoline hooks %rip patching improvements (#4256) - pluginapi: better wording for plugin function hook errors - pluginapi: log assembler return - pluginapi: manually detect endbr64 opcodes in function hooks - renderer: Allocate background texture only if required (#4111) - renderer: apply scale to wlr after checks - renderer: cursor hiding logic improvements (#4184) - renderer: deny invalid scales and suggest a replacement - renderer: don\'t render decorations on renderdata.decorate false - renderer: don\'t set surfaces on cursor timeout - renderer: don\'t use clipBox for pinned window occlusion during animations - renderer: ignore windowRequestedCursorHide - renderer: improve cursor hiding infra - renderer: improve fullscreen workspace client rendering - renderer: reject non-clean scales, find nearest clean - renderer: staticize local functions - renderer: use 120 as the denominator in scale checks - renderer: use nearest_neighbor for misaligned fractional-scale surfaces - renderer: use xray for background blur on small() surfaces - shadow: Avoid rounded shadows when rounding is 0 (#4230) - shadow: correctly scale boxes - socket2: emit configreloaded event - special: move floating windows along with the workspace - toplevel-export: commence render pass before reading - xdg: use better min/max size checks for floating resizes - xdgshell: bump to 6, send suspended states - xwayland: don\'t change workspace on configure for invisible windows - xwayland: set reported and pending size/pos on geometry sets - xwaylandmgr: allow resizes without a monitor
* Wed Dec 06 2023 Florian - Update to version 0.33.1: + Small patch to fix some issues with screencopy / toplevel-export (notably crashing and/or misaligned buffers) and crashes on exit. + Fixes: - framebuffer: ignore addStencil on legacyRenderer - screencopy: fix glReadPixels offset - screencopy: fix legacyrenderer builds - toplevelexport: fix getPreferredReadFormat param in captureToplevel + Other: - hyprctl: order commands alphabetically (#4061) - input: Stop propagating axis events after valid binds (#4059) - input: don\'t send mouse events on touch (#4071) - internal: various improvements to avoid crashes on exit
* Tue Dec 05 2023 Florian \"spirit\" - Update to version 0.33.0: + After the longest commit gap to date, I decided to bring y\'all the 0.33.0 update. Enjoy! + Nvidia patches have been removed, they are no longer needed. + New features: - env: add HYPRLAND_NO_RT - events: add keyPress and mouseAxis - general: add workspace gaps (#3877) - hyprctl: Add \'layouts\' command (#3895) - hyprctl: add monitors all to report all connected monitors (#3730) - pluginapi: add touch event hooks (#3836) - renderer: Adding an option to disable first launch animation [#3933]) - workspacerules: Add workspace rule for master layout orientation (#3964) + Fixes: - config: Minor --config improvements, fixes (#4034) - config: fix red warn in default config - configmgr: fix parsing of touchdevice groups - deps: downgrade wlroots to fix crashes - group: fix dragging into floating groups (#3719) - groupbar: Fix position of groupbar titles on monitor scales != 1.0 (#3856) - groupbar: allow reload and fix locked groupbar gradient (#3546) - groupbar: fix crash in renderGradientTo - groupbar: fix text pos with verical offset (#3893) - hooksystem: fix missed log include - input: Fix custom acceleration profile config (#3948) - input: fix overzealous mouse capture on resize_on_border (#4010) - makefile: Add CXXFLAGS to hyprlctl\'s Makefile (#3913) - managers: fix debug log using printf format (#4007) - monitor: fix transform matrix calculations for transformed - opengl: fix missed makeEGLCurrent - opengl: fix nvidia read formats - opengl: fix swapped rgb drm formats - opengl: fix window introspection check - opengl: fix xray modes in introspection checks for ls - opengl: fixup blur dirty repaint conditions with solitary - output-layout: fix wlroots display handling (#3718) - pluginmgr: fix double use of dlerror() - renderer: Fix floating clipbox (#3907) - renderer: Fixup double rendering cases with special (#3928) - renderer: fix double render of tiled on workspace switch - renderer: fix floating window rendering when scale > 1 (#3901) - renderer: fix inverseOpaque calcs in renderWithBlur - renderer: fix software cursors on nvidia - renderer: fixup cursor scaling - screencopy: fix broken shm copying - screencopy: fix detecting gl shm formats - screencopy: fix shm exports with 10-bit - screencopy: fix shm sharing if introspection required - screencopy: fix transformed on shm - shadow: add workspace offset to floating window shadow (#3906) - vector: New operator overloads and small fix in Vector2D. (#3891) + Other: - build: remove nv patches (#3957) - compositor: drop unused vectorToWindow func - config: add nomaximizerequest all to default cfg - config: default special_scale_factor to 1 - config: log info about logs before loading vars - config: Add variables to default config (#4032) - decorations: recalc layout and positioner on add/remove - deco-positioner: don\'t remove hidden windows\' data - exec: remove redundant environment variables from spawn (#3923) - functionhooks: throw an exception on unsupported %rip usage - groupbar: more safety around gradient textures - groupbar: translate box by workspace offset - hyprctl: use a rolling buffer for reading requests - input: Handle fullscreen windows in vectorToWindowIdeal (#4021) - input: make fallback layout us - input: pass mouse input to IME popups (#3922) - inputmgr: clean lists in ~dtor - internal: Allow floating windows on special (#3872) - internal: make getPlusMinusKeywordResult return optional - internal: replace INT_MAX with WORKSPACE_INVALID - keybinds: Close special workspace after moving windows out of it (#3649) - layer-shell: simulate mouse movement on unmap - layout: Don\'t update pseudoSize after window moved by mouse. (#3873) - logging: move to an internal rolling log buffer - monitor: remove comma from monitor description (#3996) - opengl: Don\'t use wrong shader just because it\'s GLES (#3867) - opengl: better checking for required introspection - opengl: check for introspection on special_blur - opengl: clear layer fade fbs in ~dtor - opengl: don\'t make a mirror buffer on fakeFrame - opengl: free window framebuffers in ~dtor - opengl: require introspection on mirroring - opengl: tiled special require introspection - plugins: make logging on error more verbose - renderer: Move to a full Hyprland GL rendering pipeline (#3920) - renderer: avoid rendering floating windows twice with special - renderer: better checks for special rendering in renderWorkspaceWindows - renderer: clip floating boxes on slide anim - renderer: don\'t make snapshots of invisible windows on close - renderer: drop unnecessary spammy logs - renderer: make sure lastWindow has correct ws in renderWorkspaceWindows - renderer: nvidia checks and use glFinish on nvidia - renderer: pass proper arg to main param of uv calcs - renderer: proper full occlusion checks for back layer - renderer: separate oversize uv calcs in dimensions - renderer: use occlusion checks for buffer clear - renderer: use viewporter corrected size for uv calcs - screencopy: use buffer format for glReadPixels - screencopy: use drmFormat instead of wlr funcs - screencopy: use new isNvidia() for format - shaders: Some more changes in rgb2hsl. (#3834) - shadow: avoid fatal mutation of the windowBox for calcs - shadow: avoid using glClear and don\'t draw behind window if ignore_window - subsurfaces: damage window on subsurface size change - surface: avoid infinite pointer image resets - windowrules: make idleinhibit dynamic
* Sat Nov 11 2023 Florian \"spirit\" - Upstream seams incapable of properly validating their releases.- Update to version 0.32.3: + A small hotfix for 0.32.2\'s occasional crashes. + Fixes: - decoration-positioner: improve stability + Other: - props: bump ver to 0.32.3- Changes from version 0.32.2: + A result of a few small hurried mistakes in 0.32.1. Hypr-active development, am I right? :) + Fixes: - shadow: move workspace offset calcs to draw - xdg: set state maximized for all tiled windows + Other: - props: bump ver to 0.32.2 - shaders: Avoid calculating unused values in hsl2rgb. (#3827) - shaders: Small optimization in rgb2hsl. (#3831)- Changes from version 0.32.1: + Small update with some fixes for screencopy, xdg surface handling, shadows on 10bit, etc. + Fixes: - hyprctl: Fix build warnings (#3821) - screencopy: round boxes - xdg-shell: improve ack-configure handling - xdg-shell: update reported size on ack_configure - xwayland: add half of delta to configure request sizes + Other: - animationmgr: push shadow avs to ended on disabled - deco-positioner: recalc after uncache - decoration-positioner: improve extent handling - decorations: Decoration Positioner (#3800) - deps: update wlroots - hyprctl: return group list in correct order (#3683) - input: don\'t schedule repaint on cursor move if hardware cursors are in use - opengl: remove unused alpha matte from shadow - opengl: switch to black-and-white for alpha mattes - shaders: Use clamp in doubleCircleSigmoid. (#3824) - shadow: alpha treatment improvements
* Tue Nov 07 2023 Florian \"spirit\" - Update to version 0.32.0: + A small update brought to you by yours truly :) This time without breaking changes. I think. + New features: - binds: add ignoreMods flag - binds: add movefocus_cycles_fullscreen - example: add special workspace to default config - fractional-scale: fix addon existence check - groups: add option to configure font name (#3751) - hooksystem: add callbackinfo struct and cancellable events - hyprctl: add a query for workspace rules (#3630) - hyprctl: add focusHistoryID to hyprctl clients - pluginapi: add a config keyword adding method - renderer: add transformers - renderer: added new customization options to the blur shaders (#3650) - windowrules: add nearestneighbor - workspacerules: Add new optional \"default command\" for auto-launching apps on new workspaces (#3559) + Fixes: - Master: fix drop_at_cursor when there are only two windows (#3734) - compositor: Fix a lack of a check for workspace equality on same monitors in getInDirection (#3625) - config: fixup usage of plugin in handles - fix(build): do not include wlr headers directly, use includes.hpp instead. (#3587) - fractional-scale: fix addon existence check - group: fixes for dragging groups onto groupbars (#3708) - includes: fix box headers (#3771) - input: fix force_zero_scaling for tablet and touch (#3644) - input: fix mouse down handling on unset last surface - input: simulate mouse movement to fix focus on open/close window - layout: fix missed setWindowSize in no_gaps_when_only node apply - layout: fix various rounding errors - master: fix movewindow across monitors (#3628) - master: fix moving window between monitors (#3721) - master: fix resizing wrong window behind in special workspace (#3591) - pluginapi: fixup get_hash functions - renderer: fix legacy_renderer build (#3732) - renderer: fix missed box scale - renderer: fix shimmers when manual resizing - renderer: fix small surface\'s blur region being offset by monitor coords - renderer: fixup blend disable conditions in renderSurface - shadow: fix ignore_window false - shadow: fix missed fullBox.scale - shadows: fix on transformed - wlsurface: fix small detection + Other: - Core: various unsafe state improvements (#3713) - Decos: Window decoration flags, shadow improvements (#3739) - Internal: Hyprland box implementation (#3755) - Map cmake None to meson\'s plain - box: use std::round instead of std::floor in ::round() - compositor: allow windowfromregex floating param - compositor: allow windowfromregex tiled param - compositor: do not process fullscreen events in unsafe - compositor: find windows in direction on floating - compositor: remove old comment - compositor: send preferred scale and transform events to surfaces - dwindle: move to CBox for expressing nodes - events: better adjust to unreported sizes for xwayland apps - events: ignore takes_over_fullscreen for floating windows - events: make new windows taking over fullscreen keep the existing mode (#3588) - events: set reported size on floating map - events: set reported size on the end of mapping - fractional-scale: post error on taken fs objects - hyprctl: log monitor id in workspaces request - includes: include sharedDefs in includes.hpp - includes: include vector2d for sharedDefs - input: Apply scaling to cursorPosOnActivate position (#3664) - input: better cursor image infrastructure - input: don\'t reset cursor movement timer on simulateMouseMovement (#3595) - input: handle mouse on decorations (#3560) - input: let input-grabbing decos have prio over resize on border - input: properly track xdg surfaces\' geometry in vectorToSurfaceLocal - input: remove incorrect check in re-enter - input: send motion events on focusWindow if follows_mouse is 0 - input: simulate movement only if mouse is over in open/close window - internal: create canBeGroupedInto() (#3693) - internal: honor close_special_on_empty on moveToWorkspace - layershell: support ON_DEMAND keyboard mode - layout: avoid redundant size sets on new fullscreen - layout: better storage for no fullscreen checks var - layout: round box in mouseMove - layout: round window boxes after special scale factor - main: set isShuttingDown after display dispatch reaches the end - meson: generate version.h before install_headers (#3612) - region: include box in the header - renderer: allow transform enabling from outside opengl - renderer: avoid drawing invisibly small surfaces in renderSurface - renderer: blur properly behind small surfaces - renderer: cast std::clamp args to be of the same type (#3589) - renderer: improvements to wayland surface small() detection - renderer: properly pass 10-bit formats to opengl - renderer: properly set currentFB on snapshot renders - renderer: render oversized blur with respect to fade alpha - renderer: respect viewporter dest on base surfaces - renderer: use optional for cursor surface storing - renderer: use preOffset pos instead of offset - shaders: support changing the outer radius of borders independently - subprojects: update tracy - surface/wayland: conform to small surface requirements - transformers: allow modifying renderdata pre-pass - window: update window reported size on damage events - workspacerules: search for special properly - xdg: send unconstrain events after a popup reposition (#3716) - xdg: use std::ceil for sending scale to surfaces- Dropped \"fix_ia86_std_clamp.patch\" as it has been merged upstream.
* Sun Oct 22 2023 Florian \"spirit\" - Added \"fix_ia86_std_clamp.patch\" that is required for Hyprland to build on ia86.
* Thu Oct 19 2023 Florian \"spirit\" - Update to version 0.31.0: + A sizeable update for y\'all, with quite a few breaking changes. + Breaking changes: - decoration:multisample_edges has been nuked. A better algorithm is used by default. - misc:disable_hypr_chan has been removed. The new, more flexible option is misc:force_default_wallpaper with a default of -1. Setting to 0 will use the non-anime backgrounds exclusively and behave like the old disable_hypr_chan = true. - All group-related options have been moved to group:, please see the docs here: https://wiki.hyprland.org/Configuring/Variables/#group - Some makefile stuff has been changed/removed + New features: - Plugin API: Add version query (#3545) - dispatchers: Add option to center the cursor on the focused window when switching workspaces (#3528) - includes: add missing log include to animatedvariable - input: Add map to region options for tablets (#3425) - internal: Add GTK portal as fallback (#3469) - internal: add a watchdog - layout: add new_window_takes_over_fullscreen mode 2 - makefile: fix using -d test for a binary file AND re-add missing portals conf (#3570) - master: add option to drag and drop windows at cursor position (#3465) - misc: add misc:new_window_takes_over_fullscreen - renderer: add force_wallpaper instead of no_hypr_chan (#3459) - renderer: add further conditions to solitary recheck - renderer: Tearing implementation (#3441) - workspacerules: Add a persistent workspace rule (#3530) + Fixes: - dispatchers: fix extra monitor offset when snapping floating (#3520) - events: fixup empty events not being sent on unmap - hyprctl: fix crash in unsafe state with activeworkspace - input: fix unused variable warn - input: fix warn - input: fixup frame schedule conditions on mouse move - input: fixup mouse down refocus conditions - input: minor constraint fixes - master: fix drop_at_cursor on workspace 2 (#3512) - renderer: considerable fixes to repaint logic - renderer: fix missing check for surfaceCount in rechecking solitary - renderer: fixup solitary conditions + Other: - Debug: respect logging settings for wlr (#3584) - animationmgr: damage floating windows on workspace anim - build: Unbreak build without precompiled headers (#3400) - build: guard execinfo.h via build systems (#3547) - build: include version.h in PluginAPI.hpp (#3571) - cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() (#3572) - config: mention force_default_wallpaper in default configs - config: restore configCurrenPath after sourcing file (#3339) - config: trim spaces in the rule field in windowrulev2 - crashreporter: avoid using empty CACHE_HOME - dispatchers: support number as arg in changegroupactive (#3329) - dwindle: Avoid rounding errors in window position (#3524) - events: don\'t focus new window if spawned behind fullscreen - events: set new window alpha to 0 if it\'s tiled behind fullscreen - examples/readme: mention tearing - groups: create group and groupbar config sections (#3522) - groups: ensure consistency in dispatcher behavior with global group lock (#3531) - hyprctl: avoid .pop_back() on empty string - hyprctl: log activelyTearing for monitors - input: avoid using the wrong surface in drag focus force - input: properly track mouse focus on drag operations - internal: Further unsafe state improvements (#3404) - internal: better versioning (#3543) - internal: include missing header (#3464) - internal: removed Herobrine - internal: use pragma once in version.h - layershell: avoid configure on unchanged size - layout: check for specialworkspace in floating toggle - layout: don\'t discard fullscreen on new tiling - log: log wlr errors regardless of env - meson: Sort input file list (#3550) - meson: use ln with force flag (#3568) - monitor: ensure vrr on workspace change - notifications: Schedule a frame on notification creation (#3556) - pluginapi: remove starting newline in demangled func name (#3502) - props: bump ver to v0.31.0 - render: stop locking SWC on tearing - renderer: avoid spamming software cursor locks - renderer: extract solitary check into frame handler - renderer: lock software cursors while tearing - renderer: nuke multisample_edges in favor of a faster algorithm - renderer: optimize render pipeline when there is a solitary client - renderer: remove old debug log - screencopy: enhance error logging - shaders: Remove redundant clamp of smoothsteps return value. (#3456) - shaders: improve border rounding - tearing: cleanup vars and avoid rendering before drm is ready - watchdog: don\'t hang on exit - watchdog: initialize after config - watchdog: remove thread on destroy - wsrules: check for workspace ID matches on numbered workspaces- Renamed 0002-fix-patched-wlroots-build.patch to 0001-fixed-patchd-wlroots-build.patch simply due to git doing this
* Sat Sep 23 2023 Florian - Update to version 0.30.0: + New Hyprland update guys wake up! Shoutout to the entire country of Romania and AATTfufexan, and the top Gs pumping out more MRs than I can physically review AATTmemchr AATTDickby AATTMightyPlaza AATTthejch and more :) + New features: - config: add wildcard handling in source= (#3276) - doc: Add a CoC (#3366) - dwindle: add proper movement for window move binds - feat: add a new movewindoworgroup dispatcher (#3006) - input/config: add button scroll lock (#3189) - layout: add direction parameter to onWindowCreated and friends (#3269) - layout: add missing groupbar decoration to the window (#3235) - master: Add mfact dispatcher (#3298) - master: Add orientationcycle command on MasterLayout (#3128) - master: Add smart resizing option for master layout (#3210) - misc: add disable_hypr_chan option (#3343) - socket2: add renameWorkspace event - socket2: added \"activespecial\" IPC event (#3163) - varlist: move to a separate header, add join - windowrules: add % to resizeparams (#3246) - windowrules: add on-screen constraint to wrv2 \'move\' (#3247) - windowrules: add rule group to map windows grouped (#3279) + Fixes: - Vector2D: fix typo in include - config: fix relative path resolution (#3308) - dwindle: fix moving windows on special - dwindle: fix: don\'t merge groups when moving window (#3302) - fix(layout): remove focusWindow calls from onWindowCreatedTiling (#3233) - fix: focusWindow on hidden workspace triggers another focusWindow. (#3216) - fix: inconsistent behaviour where last workspace was not saved (#3261) - hyprctl: fix missing comma in getopt -j - input: Various constraint handling fixes (#3381) - input: minor constraint fixes - internal: Fix wlr output management (#3234) - master: Fix the wrong resize speed in master layout center orientation (#3289) - master: partially revert 0e64dd2 and fix the animation (#3327) - refactor: fix missed middle() call in CKeybindManager - renderer: Fix blur for passes set to 0. (#3181) - renderer: fix missing dontRound check in renderSurface - windowrules: Monitor rule fix (#3157) - windowrules: fix workspace exec rule with special (#3316) - windowrules: fix workspace rule separation + Other: - animatedvariable: don\'t reset timers on duplicate setters - animationmgr: Optimize CAnimationManager::scheduleTick a bit. (#3172) - animationmgr: guard monitor ptr in animationSlide - bezier: Optimize CBezierCurve::getYForPoint (#3321) - bezier: Remove Todo about N-Point bezier curves. (#3352) - build: use PCH to reduce compile time (#3095) - config/input: Improve fallback behavior for unset device config values (#3184) - config: Integrate HASCONFIG into CConfigManager::getConfigValueSafeDevice (#3195) - config: disable blur special by default - config: don\'t enable vrr 2 for maximized workspaces - config: loosen restrictions around animation keywords - hyprctl: Make device configs queryable (#3226) - hyprctl: print monitor IDs as int64 - input: do not process mouse in unsafe state - input: don\'t refocus on switched workspace on the same monitor - input: don\'t warp region constraints - input: guard constraint in unconstrainMouse - input: lock focus to last surface on buttons held - input: simplify fullscreen workspace input calculations - internal: Make part of CCompositor::focusWindow a bit easier to read. (#3356) - internal: Remove all .c_str() calls when using std::vformat (#3198) - keybinds: Do not suppress pass and mouse release (#3219) - keybinds: avoid onWindowRemoved & onWindowCreated when group has one member (#3286) - keybinds: focus last window on workspace change to another mon - keybinds: ignore conditions on special release - keybinds: ignore mods on release of special binds - keybinds: implement pushactivetobottom dispacher (#3217) - keybinds: movewindow to screen edge for floating windows (#3245) - keybinds: simulate movement on empty focus after workspace change - keybinds: track pressed special binds - keybinds: unify changeworkspace dispatcher (#3250) - keybinds: warp cursor to correct window in moveWindowOutOfGroup (#3290) - layout: Allow the layout to control how windows are raised in groups (#3275) - logging/format: use std::format_string to catch formatting string errors at compile time (#3377) - logging: implement std::formatter for some types (#3380) - master: respect the resizing animation option in master layout (#3300) - monitor: ignore no-op workspace changes - monitor: minor adjustments - refactor: flatten nesting ifs in layout window creation method (#3294) - refactor: manually resets singletons (#3395) - refactor: replace lambdas with CKeybindManager::switchToWindow (#3229) - refactor: replace manual iteration of CWindow with existing methods (#3147) - refactor: utilize \'middle()\' method for window/montior center (#3253) - renderer: cleanup drm format selection - renderer: damage monitor on special workspace change - renderer: separate workspace window render logic - screencopy: log renderer_begin_with_buffer failures - socket2: emit lockgroups event (#3317) - varlist: cleanup unintuitive string splitting (#3369) - window: recalculate layout on swallow in map - wlroots: disable wlr vulkan support - xdgoutput: do not destroy resources on monitorRemoved - xwayland: adjust coord calculation - xwaylandmgr: find closest output in xwayland coord translation
* Sun Sep 03 2023 Florian - Update to version 0.29.1: + New hyprland update :) Fixes some annoying wlroots bump related issues and adds some QoL stuff. + New features: - special: add misc:close_special_on_empty + Fixes: - fix: use-after-free of CWindow
* in CHyprGroupBarDecoration::draw (#3146) - input: fix xwayland constraint calcs - keybinds: fixup global conditions - keybinds: fixup release conditions - refactor: raise SIGABRT instead of write to null address (#3124) - renderer: fixup occlusion conditions - screencopy: fix region sharing - text-input-v1: Fix preedit styling in chromium (#3131) + Other: - compositor: remove wlr_scene refs - decos: groupbar mouse interaction (#3102) - globalshortcuts: allow empty appid - input: warp in unconstrainMouse - internal: Unsafe state reworks (#3114) - internal: workspace rule handling refactor (#3116) - keybinds: set special monitor id before recalc - keybinds: suppress up event if down was consumed - layout: always center floating xdg windows - meson: remove refs to ext-workspace-unstable-v1 - opengl: cleanup framebuffer style - readme: refactor and update a bit - readme: remove wlr_ext workspace proto support mention - renderer: don\'t set enabled in applyMonitorRule - renderer: render IME popups in fullscreen - waylandResource: remove user data in markDefunct and not ~dtor - window: check for special id matching in close_special_on_empty - wlr-ext-workspace: remove protocol impl
* Tue Aug 29 2023 Florian - Updated to version 0.29.0: + Plamene zore bude me iz sna. New Hyprland update brought to you by Yours Truly :) + Breaking changes - misc:suppress_portal_warnings has been yeeten (alongside the warning) + New features: - animations: add slidefade and slidefadevert styles for workspaces (#3008) - background: add background color option (#2915) - config: add vrr per-display - feat(debug): add debug:suppress_errors to suppress errors. (#3032) - hyprctl: add --instance - input: add transparent binds - internal: add a new monitor auto system - internal: add lock files and hyprctl instances - renderer: add decoration:blur:special - renderer: don\'t add workspace offset to pinned - rules: add layer and window xray rules + Fixes: - Close keymap files. Fixes #2904 (#2905) - compositor: fix auto positioning offset calcs - compositor: fix log types - compositor: fix missed raw throws - compositor: fix offset in auto arrangeMonitors - compositor: fix skipping iterators in arrangeMonitors - fix workspace change focus (#2891) - fix: improved focus behaviour on workspace switching for follow_mouse!=1 (#3041) - hyprctl: fix hyprpaper - hyprctl: fix old request methods - input: fix and unify client checking in mouseRequests - internal: Fix XDP multi-portal issues (#3077) - internal: Fix grouped windows not being properly focused on activation (#2925) - macros: fix missing include - master: fix always_center_master (#2961) - renderer: fix missing premultiplication for border multisampling - shaders: minor premultiplication fixes - toplevelexport: minor fixes to dmabuf - xwayland: fix incorrect VECINRECT usage - xwayland: fix use of xwayland coords in native spaces + Other: - animationmgr: avoid redundant ticks - compositor: don\'t apply offsets in renderer - compositor: log more in arrangeMonitors - compositor: log thrown runtime exceptions - compositor: minor cleanup - compositor: update window rules on workspace move - config: adjust default background color - deps: update wlroots - dwindle: disallow togglesplit on fullscreen - dwindle: use smart on display borders (#2897) - gestures: Swipe direction lock (#3052) - input: improved path handling; null check return value of fopen. (#3061) - input: notify idle about activity on mouse move regardless of focus - input: sanitize newlines in device names - input: unify constraint hint logic - internal: Wayland Protocol impl improvements (#2944) - internal: allow negative monitor offsets - internal: allow opening empty special workspaces - internal: cleanup headers in helpers/ - internal: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE (#2989) - internal: move backtrace to specific func - keybinds: Keep aspect ratio (#2907) - keybinds: Only call fclose() when we have a valid file. (#2908) - layers: set proper alpha to top grabbing surfaces - layout: Use refreshrate tick on all manual animations (#2988) - layout: allow changing float status of fullscreen windows - layout: allow drag on fullscreen windows - layout: use full box for visibility check of floating xdg - master: layout resize makes the wrong size changes (#3064) - props: bump ver to 0.29.0 - remove shadow no_gaps_when_only (#2956) - remove shadow no_gaps_when_only master (#2958) - renderer: Border improvements (#2986) - renderer: don\'t blur special on disabled blur - renderer: fully switch to premultiplied alpha - renderer: make contrast and brightness adjustments before rendering - renderer: remember extents before removing a window and use them for dt - renderer: track fade alpha for blur if ignore opacity is true - renderer: update alpha of layers only if active ws (#2994) - rules: center window improvements (#2935) - toplevel: patches group toplevel-activated (#2931) - xdgoutput: don\'t send all details in .get - xdgoutput: manually destroy manager resource - xdgoutput: mark resources defunct when monitor is unplugged - xdgoutput: separate logic for zero scaling positions - xdgshell: damage old popup coords after a reposition - xwayland: drop wlr_xwayland_surface.events.set_pid (#2884) - xwayland: use a completely separate coordinate system - xwayland: use logical pos in unmanaged geom requests
* Fri Aug 11 2023 Florian - Updated to version 0.28.0: + Ayo new Hyprland update! The biggest performance update in Hyprland\'s history! - CPU idle reduced by half. - GPU usage reduced around 2-4 times. + Breaking Changes: - All blur values have been moved to decoration:blur:. + New features: - Added git tag in json version command (#2821) - add config option to enable/disable new intuitive resizing (#2774) - background: add option to force hypr chan - backgrounds: add hypr chan var 2 - groups: add use_current_group_pos (#2759) - init: Request SCHED_RR using CAP_SYS_NICE (#2690) - input: add support for cursor-shape-v1 - keybinds: add toggle to dpms - renderer: add canSkipBackBufferClear - renderer: add occlusion for back layers - renderer: Various Blur Improvements (#2877) - socket1: add a timeout for requests - tracy: add more opengl zones - windowrules: add workspace param - xwayland: Add temporary fix for #2808 by adding nullptr check. (#2829) + Fixes: - Fix background occlusion ignoring monitor position (#2771) - init: Fix for issue #2797 (#2799) - input: Fix #2376 mouse movement bug in XWayland (#2776) - input: fix styling - opengl: fix warn - render: Border fixes (#2781) - renderer: fix rounding in renderSurface - toplevelexport: support dmabuf + various fixes - window: fix segfault in boundingbox - windowrules: fix opacity override - xwayland: Add temporary fix for #2808 by adding nullptr check. (#2829) + Other: - animationmanager: optimize avar state - animationmgr: avoid looping over all avars in favor of only active ones - assets/meson.build: install new wallpapers - config: schedule frame for mons on reload - config: update default config for new blur changes - debug: add tracy - deps: update wlroots - forms: bring back auto labels - hyprctl: rerender on cursor_zoom_factor dynamic calls - internal: Wrap regions (#2750) - internal: Removed Herobrine - keybinds: Make moveintogroup locking check configurable (#2796) - layout: no_border_when_only-improvements (#2791) - layout: use warp() instead of setValue() - opengl: adjust blend and reduce the usage of clear - props: bump version to 0.28.0 - region: allow ctor from pixman_box32_t - render: avoid allocating mirrorfb for no reason - render: use primitive end() only when no screen shader is present - renderer: adjust distribution of backgrounds - renderer: cleanup back buffer skip checks - renderer: cleanup old redundancies in CFramebuffer - renderer: disable init anim on disabled animations - renderer: don\'t occlude when pre-blur is queued - renderer: remove unused var - renderer: reset scissor after renderTexturePrimitive - renderer: scale box for occlusion - renderer: take workspace offset into account for occlusion - renderer: use primitive rendering for copying buffers - shaders: short-circuit rounding if radius <= 0 - windowrules: implements nomaximizerequest (#2785) - windowrules: improve opacity
* Wed Jul 19 2023 Florian - Updated to version 0.27.2: + 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
* Tue Jul 18 2023 Florian \"spirit\" - Updated to version 0.27.1: + Minor update to fix some crash issues and stuff + 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
* Fri Jul 14 2023 Florian \"sp1rit\" - Dropped 0001-meson-fix-hyprland.pc-install-location.patch. It turns out, /usr/share/pkgconfig was the right directory after all.- Updated to version 0.27.0: + 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)
* 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)
* 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
* 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
* 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)
* Tue May 30 2023 Florian \"sp1rit\" - Added \"devel\" package required to build Hyprland plugins. + Added required tests:
* 0001-meson-fix-hyprland.pc-install-location.patch
* 0002-fix-patched-wlroots-build.patch- Update to version 0.26.0: + 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
* 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
* Wed May 03 2023 Florian \"spirit\" - Update to version 0.25.0: + Small update brought to you by Yours Truly™ :) + 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)
* 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
* Window resizing for pseudotiled windows (#2140)
* args: print help on invalid arg
* 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: 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
* 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
* Tue Apr 11 2023 Florian \"sp1rit\" - Updated _service to allow hyprland to be submitted to factory.
* Tue Apr 11 2023 Florian \"sp1rit\" - Update to version 0.24.1: + 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
* Sun Apr 09 2023 Florian \"sp1rit\" - Update to version 0.24.0: + 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
* 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)
* 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
* 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
* 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
* Wed Mar 15 2023 Florian \"sp1rit\" - Update to version 0.23.0beta: + 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.
* 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 fatal aborts with X11 OR windows
* Fix plugin argument-less hyprctl calls (#1723)
* Fix plugin config breakage (#1687)
* Mirrors: minor fixes
* 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
* 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
* 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
* 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
* update license on main branch by AATTo69mar in #1604
* Resize on border icon bug by AATThorriblename in #1608
* use corner cursors on resize by AATTfufexan in #1638
* movefocus: Set new workspace as active when focusing new monitor by AATTRyanDwyer in #1640
* Added center orientation to master layout by AATTsharkusk in #1642
* [WIP] Plugin System by AATTvaxerski in #1590
* Add option to disable/enable mouse window dragging animations by AATTDashieTM in #1658
* Unload plugins on compositor cleanup by AATTDuckonaut in #1662
* Fix plugin config breakage by AATTDuckonaut in #1687
* Optionally expose time to screen shaders by AATTscorpion-26 in #1700
* add mfact setting for master layout by AATThillyu in #1666
* Buffer over-read in removeBeginEndSpacesTabs() by AATTopsuu in #1707
* config: unbreak on BSDs due to undeclared environ by AATTjbeich in #1708
* fix mfact not applying to addmaster by AATThillyu in #1715
* Fix plugin argument-less hyprctl calls by AATTDuckonaut in #1723
* bugifx: updated urls poiting to old wiki pages by AATTasbachb in #1738
* [WIP] text-input-v1 support by AATTvaxerski in #1778- Dropped: wlroots_fix_ia86.patch. Included upstream
* Fri Feb 24 2023 Florian \"spirit\" - Added: wlroots_fix_ia86.patch. This allows compiling hyprland on ia86 again. Can be dropped once hyprland updates wlroots to any commit that has 59acc697 in it\'s history.
* Tue Feb 21 2023 Florian \"spirit\" - Update to version 0.22.0beta: + 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
* Sat Jan 28 2023 Florian \"spirit\" - Update to version 0.21.0beta: + Minor update after a short while. + 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)
* 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 + 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)
* 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
* 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)
* Sun Jan 08 2023 Florian \"spirit\" - Update to version 0.20.1beta: + Minor patch mostly to fix some crashes with overshot animations. + New features:
* added hyprctl binds + Fixes:
* fix crashes and bug wiki link (#1333)
* fix crashes on monitor ls remove
* minor fixes for fakefullscreen
* remove color rassert to fix overshot beziers + Other:
* Build: use props file for versioning
* clamp a instead of asserting
* removed Herobrine- Changes from version 0.20.0beta: + A small update after a short wait brought to you by Yours Truly™ et al; Fun stuff, as usual. + New features:
* Add \'exact\' option for \'splitratio\' (#1245)
* Add sane permissions for /tmp/hypr
* Added clang format (#1239)
* Added make configdebug
* add auto scale
* add disabling keyboards
* add touchdevice to devicevalue
* added dim_special
* added dimaround
* added fakefullscreen
* added maximize windowrule
* added workspace_swipe_numbered + Fixes:
* Fix cycleprev bug introduced in 46891b1 (#1213) (#1242)
* Fix focus not changing on (empty) workspace change (#1243)
* fix blur damage spam on no blurred windows
* fix damage issues with dimaround unmap
* fix double remove in destroyKeyboard
* fix dynamic monitor disables corrupting pmosthz
* fix for gap in master layout orientation right #1171 (#1260)
* fix group bar color calc
* fix mouse resize on master orientations
* fix restack in xwayland stubs
* fix stupid typo
* fix workspace special rules
* minor xcursor and scale fixes + Other:
* Allow floats in % rules
* Drop Pango (unused) (#1251)
* Drop X11 headers (unused) (#1252)
* Make libinput tap-and-drag configurable (#1267)
* Normalize color storage
* Revert \"Send initial focus to X11 type dialog\"
* Send initial focus to X11 type dialog
* account for dimAround in fullboundingbox
* adjust medium ppi values
* allow binding tablets to outputs
* clarify layout enum
* clean draggedwindow in dragend
* destroy LS-es on disconnected monitor
* do not overwrite existing hyprland.desktop (#1228)
* downgrade wlroots due to issues
* get window under cursor in kill
* ignore dim when pass popup
* ignore focus to empty input region ls-es
* ignore self in candidate floating
* ignore silent workspace rules to same workspace
* log more in group creation
* mark blur dirty on dynamic blur keywords
* move setActiveMonitor backup later in onDisconnect
* normalize gradients and denormalize in groupbar
* prevent moving to invalid workspaces
* refocus on special move
* remember master width on master close
* remember pos and size across fullscreen moves
* remember size and pos on fullscreen 1
* remove damage_entire_on_snapshot
* remove main_mod
* remove useless log
* render overlay layers in reverse
* render pinned windows above floating separately
* respect ls protocol by forcing kb focus to kb interactive top and overlay
* s/pkgs.system/pkgs.hostPlatform.system/g
* sanity check workspaces after enabling mirror
* set created over fullscreen in movetotop
* simplify workspace sanity checks
* support gradients in dwindle group colors
* touch up the clang format and format all files
* update debug coredump instructions
* update readme images
* update wlroots dep
* use auto scale in default cfgs
* use auto scale in fallback rule
* use curves for special dim anim
* verify lastmon status on connect- Added \"jq\" to builddepends, as it it now used to calculate the current version.
* Mon Dec 12 2022 Florian \"spirit\" - Update to version 0.19.2beta: + New features: - Added toplevel handle sharing - add changefloatingmode event - add missing c_str in debug log - ensure mapped state in addViewCoords + Fixes: - fix drag resizing on special ws-es - fix memory safety in getWindowFromSurface - fix minor issues with move focus and follow mouse 0 - fix sharing scaled windows - fix string escaping in CMakeLists.txt - fix up relative monitors - minor focus fixes with LS-es and moving windows + Other: - do not reject drags on visible windows over fullscreen - find a default workspace smarter - handle constraint cursor hints better - optimize m+- and e+- workspace opts - sort valid ws-es in relative - update hyprland-protocols - use anim callbacks and don\'t spam config resets in drag
* Fri Dec 09 2022 Florian \"spirit\" - Update to version 0.19.1beta: + Minor changes including bumping the wlroots ver, fixing a memory leak and some issues with moving fullscreen windows. + New features: - add failsafe for dwindle windows - added nomaxsize rule + Fixes: - fix lost windows clogging up memory - fix up moving to special workspace - minor fixes to special workspace behavior - minor toplevel sharing fixups
* Tue Dec 06 2022 Florian \"spirit\" - Update to version 0.19.0beta: + New features: - Add nofullscreen to windowrules (#1107) - Add option for retrieving first empty workspace (#1085) - Added handling more special workspaces - Added screen shaders - Fix incorrect layout positions in mirror re-add - add scroll_button libinput opt - added blur_xray - added border gradients - added hyprctl switchxkblayout - Implement window sharing with the hl toplevel export proto (#1179) + Fixes: - Fix a compiler warning (#1124) - Fix cmake error when using clang (#1009) - Fix incorrect layout positions in mirror re-add - Fix minor issues with mirrors - Fix swiping on the first workspace going to the last (#1067) - Fix wrong layout recalculate if statement (#1167) - fix AA on borders - fix border inner offset in shader - fix crash in blurls remove - fix crash in setActiveMonitor null - fix crash with invalid frag dynamic shaders - fix decorations missing after no_gaps_when_only toggle floating - fix events in changeworkspace with bound ws-es - fix fadeout with animated border - fix group border oversaturation - fix invisible windows on moving fullscreen out - fix master resizes all - fix minor issues with blur w/o new optim - fix minor issues with blur_new_optimize - fix shader destroy id unset - fix transformed border thickness - fix up the border shader - fix warning - minor fixes for mirrors & log more monitor events - minor monitor code fixups - monitor rule fixes - use highp for pixcoord to fix nvidia border issues + Other: - Render focused window at last (#1060) - Reset callbacks on remap - Setting wayland environment variables at startup (#1045) - Unify rounding shaders - Update wiki link in manpage (#1144) - Use internal device naming for Hyprctl devices (#1174) - allow 360 degrees of freedom in gradients - avoid duplicate device names - avoid header clashes in make all - avoid using wayland-0 as a socket name - better capability handling - block surface feedback on window sharing - blur xray for layers (#1158) - check for special workspace open in attemptDirectScanout - convert bordercolors to GradientValueData correctly (#1122) - damage monitor on group switch - damage windows after switch - default blur new optimizations to 1 - don\'t attempt rendering on begin failure - don\'t change alpha on special anims - don\'t focus back after dnd on follow mouse 1 - don\'t initial focus on LS keyboard grab - don\'t send motion events to lock constraints - don\'t set AS in onConnect - find base surface if no subsurface found in ls - find floating windows below closed one - ignore alpha when sharing window - improve constraint handling - make focus/swap master layoutmsgs two-way - minor changes to unsafe state handling - more memory safety around onDisconnect - optimize border shader - optimize data feeding to gradient renderer - override force opaque rule on keybind - recalculate layout only when needed on dynamic keywords - reload shader on dynamic shader keyword - remove global var - remove idiotic guard in processMouseDownNormal - remove redundant strval_empty checks - remove resize transitions - reset m_bEmptyFocusCursorSet on workspace switch - respect no_gaps_when_only in fullscreen 1 - return full monitor box for fullscreen windows in idealBB - schedule frames and reloads on session re-activate - show groupings and swallowing in hyprctl (#1159) - skip covered windows on fullscreen workspaces in getWindowInDirection - unify setting of the active monitor - use gradients in default configs
* Wed Nov 16 2022 Florian \"spirit\" - Updated to version 0.18.0beta: + New features:
* Add an idleinhibit windowrule
* Add bordercolor windowrule (#992)
* Add focusmaster dispatcher (#942)
* Add keyboard led update after keys/mod update
* Added creating / destroying outputs on a multi-backend + headless backend
* Added decoration:shadow_scale
* Added direct scanout
* Added exec rules
* Added multiple master layoutmsgs
* Added resize transitions
* Added resizing individual master windows
* add more wlroots flags for faster compile
* add move cursor windowrule
* added monitor cycling
* added toggle for drm scanout flags
* added unset rules
* added workspace_swipe_forever + Fixes:
* Fix crashes with DS and mirrors
* Fix missing focusedmon event on focusmonitor dispatcher
* Fix resize transitions on multimon + transformed
* Minor fixes for virtual input devices
* Multiple animation optimization and xwayland wine fixes
* Nix HM: Fix invalid escapes
* fix extents in shadow deco
* fix fullscreen maximize size
* fix invalid master slave pos calc on y != 0
* fix issues with direct scanout\'s lack of surface frame feedback
* fix master window finding on closed
* fix missing stub for xwayland
* fix ordering in mouse connect
* fix passing input to constrained windows without relative
* fix raw exec in configmanager
* fix relative protocol paths
* fix safety over ls outputs
* fix shadow extent & offset calculations
* fix slide calcs for windows outside the viewport
* fix swipe on 2 detached workspaces
* fix the damageBox in damageMonitor
* fix trailing comma in hyprctl activewindow
* fix unregistering avars on sethidden
* minor fixes for follow_mouse 3
* minor loose focus fixes
* resize transition fixes + default transitions to false + Other:
* Allow arguments to hyprctl dispatch exec commands. (#990)
* Dispatcher to center floating window (#961)
* Nix HM: prevent race condition between dbus and systemd
* Revert \"Set child stdout and stderr to /dev/null (#1000)\"
* Set child stdout and stderr to /dev/null (#1000)
* apply some rules dynamically when state of window changes (#1020)
* automatically update dbus environment on start
* constraint focus simplifications
* deprecate general:damage_tracking
* don\'t update the env in session-less hl
* guard empty str in isNumber
* guard empty str in removeBeginEndSpacesTabs
* guard header windows in layout messages
* guard lastwindow in circlenext
* handle transforming displays in outputMgr
* helpers: implement getPPIDof on BSDs (#972)
* ignore constraints on exclusiveClient create
* include utility in defines
* meson: explicitly specify path for find(1) (#971)
* meson: use gl instead of GL
* move no_direct_scanout to misc
* notify idle on touch down
* possible crash when current workspace does not exist (#1023)
* prevent double-registering of avars
* remove ensureFDsValid, legacy
* remove old comments
* remove redundant check in CShader
* remove redundant includes
* remove spammy ime logs
* remove spammy logs for DS
* render the debug overlay only on visible monitors
* set cursor to hand1 when moving a window
* streamline hypctl output of windows (#983)
* update window values after map finish
* use goal values in changeWindowFloatingMode
* use lld instead of i in hyprctl getopt for accurate int reads
* Sun Oct 30 2022 Florian \"spirit\" - Updated to version 0.17.0beta: + New features:
* Add windowrules for noblur and noshadow (#884)
* Added hyprctl cursorpos
* add 10bit support to displays
* add disabling pointer devices
* added swipe create new
* allow glob wildcard in addreserved
* Allow 100%- for move rule
* allow # escaping in config + Fixes:
* Fix self-noding in changeWindowFloatingMode
* fix animate_manual_resizes with moves
* fix crash in event manager on hangup
* fix debug nest black screen
* fix default 0 in box passing test
* fix maximized windows not hiding tiled
* fix minor anim issue with swipe new
* fix minor focus oopsie
* fix refocus on last window
* fix silent + size windowrules
* fix swipe with fullscreen maximized
* minor fix for swipes from empty workspaces
* minor fix to silent ws rules
* minor fixes for xwayland refocus
* minor swipe on new fixes
* minor workspace rule parsing fixes + Other:
* CMakeLists.txt: use sh instead of bash
* Improve hyprctl
* No xwayland overhaul (#920)
* Rework candidate finding on close window
* Rework workspace rules
* T1C: window dance compat
* Transpose matrices on LEGACY_RENDERER
* allow cyclenext on null focus
* allow nofocus + workspace silent
* always report sizes after a window unmap
* avoid applying offset twice in onConnect
* avoid creating bound WS-es in moveWorkspaceToMonitor
* avoid layout changes when unnecessary in applyMonitorRule
* bump xdg ver to 5
* constrain mouse on focus change
* default focus_on_activate to false
* disable adaptive sync with no_vfr off
* don\'t set custom mode in change
* ensure VRR for current display only in onConnect
* handle activate requests
* ignore pointer constraints in touch
* lower IME errors to WARNs
* meson.build,CMakeLists.txt: use sh instead of bash
* meson.build: use sh instead of bash
* meson: Fallback to \'opengl\' when \'GL\' is not found.
* more safety around shutting down and mouse movements
* more safety for focus requests
* properly find the constraint window
* properly scan for subsurfaces in fullscreen input refocus
* remove redundant check
* render layer snapshot without blur
* respect nofocus in candidate searching
* respect wsbind in workspace silent rules
* revert output smart layout reporting
* set lastmonitor in onDisconnect
* unify LS unmap focus
* unrestrict hyprctl message size
* Mon Oct 17 2022 Florian \"spirit\" - Updated to version 0.16.0beta: + Thanks Brodie Robertson for the coverage! + New features:
* Add additionnal matrices and rename config var
* Add debug coredump instructions (#812)
* Add input:touchdevice:td_rotation config
* Add input:touchdevice:transform config
* Add support for rgba() and rgb() colors in the config
* a bit more default config nice addons
* add PKGBUILD to ignored files
* add loose focus behavior
* add maxsize window rule
* add touch binding to output
* added bringactivetotop dispatcher
* fix invalid json output by adding a missing comma + Fixes:
* Nix modules: fix environment variables
* fix crash in renderWorkspaceWithFullscreenWindow
* fix invalid json output by adding a missing comma
* fix windowsOut disabled with fadeOut enabled
* simplify shouldRenderWindow and fix one cond + Other:
* check for same workspace in workspace rule
* default & example config overhaul
* don\'t recalc offset on monitor reload offset auto
* ignore OR windows\' size hints
* remove old log
* rename transform in DC to touch_transform
* rework focus system to be more safe and faster
* set XCURSOR_SIZE if not set in init
* set workspace name in previous
* unsetenv on no XWayland
* use size hints when available in xwayland default geom
* use static for transformation matrices
* Tue Oct 11 2022 Florian \"spirit\" - Updated to version 0.15.3beta: + Very small update to fix black screens on some hardware. + Other:
* Change matrixProjection function stop use matrixFlip180 everywhere.
* Let openGL transpose the matrixes for us.
* Replace $(nproc) with $(shell nproc).
* Simplify matrix calculations
* Update wlroots
* Sun Oct 09 2022 Florian \"spirit\" - Updated to version 0.15.2beta: + Rather minor update, some bugfixes and minor features. + New features:
* Added clipping support, clip windows on slide anim
* add open/close layer events + Fixes:
* fix a VRAM leak in destroyMonitorResources
* Transform the box data send to texture shaders. + Other:
* Check earlier if pixman regions are empty.
* Check earlier if pixman_region is empty in some places.
* better subsurface handling on unmaps
* ensure texture safety in clearWithTex()
* inverse_transform the box in renderRectWithDamage.
* make swipe respect slidevert
* offset floating windows out of bounds on ws anims
* release all fbs in destroyMonitorResources
* swallow improvements
* Thu Oct 06 2022 Florian \"spirit\" - Updated to version 0.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
* Tue Oct 04 2022 Florian \"sp1rit\" - Update to version 0.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
* Wed Sep 21 2022 Florian \"spirit\" - Update to version 0.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
* 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
* Fri Sep 09 2022 Florian \"spirit\" - Update to version 0.13.1beta: + 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
* Wed Sep 07 2022 Florian \"spirit\" - Update to version 0.13.0beta: + New features:
* Added Xwayland and floating props to windowrulev2
* Added windowrulev2
* add lastwindow info to hyprctl workspaces
* added a submap IPC event
* added closewindow dispatcher + 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
* 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
* Tue Aug 30 2022 Florian \"spirit\" - Update to version 0.12.1beta: + 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
* Mon Aug 29 2022 Florian \"spirit\" - Update to version 0.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
* Tue Aug 23 2022 Florian \"spirit\" - Update to version 0.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- Dropped gethostbyname.patch, included upstream.- Dropped old-meson.patch, included upstream.
* Mon Aug 22 2022 Florian \"spirit\" - Update to version 0.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 https://wiki.hyprland.org/Configuring/Uncommon-tips--tricks/ + 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
* Sat Aug 20 2022 Florian \"spirit\" - Initial packaging
 
ICM