------------------------------------------------------------------- Tue Dec 5 17:53:38 UTC 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 19:05:40 UTC 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 7 21:53:45 UTC 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 22:21:49 UTC 2023 - Florian "spirit" - Added "fix_ia86_std_clamp.patch" that is required for Hyprland to build on ia86. ------------------------------------------------------------------- Thu Oct 19 14:12:29 UTC 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 08:11:28 UTC 2023 - Florian - Update to version 0.30.0: + New Hyprland update guys wake up! Shoutout to the entire country of Romania and @fufexan, and the top Gs pumping out more MRs than I can physically review @memchr @Dickby @MightyPlaza @thejch 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 3 17:30:30 UTC 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 13:31:16 UTC 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 14:37:54 UTC 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 13:12:44 UTC 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 21:15:46 UTC 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 16:38:11 UTC 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 09:11:41 UTC 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 3 21:07:55 UTC 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 12:19:45 UTC 2023 - Florian "sp1rit" - Updated _service to allow hyprland to be submitted to factory. ------------------------------------------------------------------- Tue Apr 11 10:49:36 UTC 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 9 06:49:43 UTC 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 16:18:46 UTC 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 @o69mar in #1604 * Resize on border icon bug by @horriblename in #1608 * use corner cursors on resize by @fufexan in #1638 * movefocus: Set new workspace as active when focusing new monitor by @RyanDwyer in #1640 * Added center orientation to master layout by @sharkusk in #1642 * [WIP] Plugin System by @vaxerski in #1590 * Add option to disable/enable mouse window dragging animations by @DashieTM in #1658 * Unload plugins on compositor cleanup by @Duckonaut in #1662 * Fix plugin config breakage by @Duckonaut in #1687 * Optionally expose time to screen shaders by @scorpion-26 in #1700 * add mfact setting for master layout by @hillyu in #1666 * Buffer over-read in removeBeginEndSpacesTabs() by @opsuu in #1707 * config: unbreak on BSDs due to undeclared environ by @jbeich in #1708 * fix mfact not applying to addmaster by @hillyu in #1715 * Fix plugin argument-less hyprctl calls by @Duckonaut in #1723 * bugifx: updated urls poiting to old wiki pages by @asbachb in #1738 * [WIP] text-input-v1 support by @vaxerski in #1778 - Dropped: wlroots_fix_ia86.patch. Included upstream ------------------------------------------------------------------- Fri Feb 24 17:26:55 UTC 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 00:13:30 UTC 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 17:03:24 UTC 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 8 18:04:51 UTC 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 19:06:36 UTC 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 9 19:11:18 UTC 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 6 21:05:39 UTC 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 22:07:56 UTC 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 14:38:58 UTC 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 21:02:05 UTC 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 10:20:17 UTC 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 9 22:32:20 UTC 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 6 23:06:29 UTC 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 4 08:28:42 UTC 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 17:38:03 UTC 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 9 13:51:45 UTC 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 7 18:39:03 UTC 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 19:23:22 UTC 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 11:25:37 UTC 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 21:43:17 UTC 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 10:24:52 UTC 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 22:27:43 UTC 2022 - Florian "spirit" - Initial packaging