summaryrefslogtreecommitdiff
path: root/src/helpers
Commit message (Collapse)AuthorAgeFilesLines
* algo/scrolling: various scrolling view related bugfixes (#13974)erstarr2026-05-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix scrolling view move when a grouped window is closed - prevent redundant space assignment for a grouped window that's about to be unmapped, add a `FOCUS_REASON` for unmapping grouped windows * fix focus_fallback after unmapping a window floating moving view * fix view change when changing workspaces (special and normal). add an optional `RECALCULATE_REASON` parameter to `recalculate()` calls of all algorithms. add an optional `RECALCULATE_MONITOR_REASON` parameter to `recalculateMonitor()` calls. add 2 new `FOCUS_REASON`s, for workspace change and special workspace toggle * Fix hyprctl keyword causing scrolling view move. rename INPUT_MODE_KB to INPUT_MODE_HARD since it seems to have little to do with keybinds * fix fullscreen/maximise moving the scrolling view * fix opening of layer 3 programs moving scrolling view * refactor, clean up and clang-format * fix bad decisions * fix includes, clang-format. * remove TODO * `focuswindow` no longer moves scrolling view when `follow_focus = 0` * fix: changes in a group's current window no longer casues scrolling view shift when `follow_focus = 0` * fix: `moveintogroup`, `movewindoworgroup` no longer causes scrolling view change if `follow_focus = 0` * clang-format * add `RECALCULATE_REASON_UNKNOWN`, `RECALCULATE_MONITOR_REASON_UNKNOWN`, `REMOVE_FROM_GROUP_REASON_UNKNOWN` remove optional wrapper from their enums, refactor code to work with the change * dispatches that call `switchtoWindow()` in CKeybindManager no longer cause scrolling view to move if `follow_focus = 0`. They still cause the move if `follow_focus = 1` Dispatches effected by this: `movefocus`, `cyclenext`, `focuscurrentorlast`, `focuscurrentorurgent` * Fix for Lua: switchToWondow * Fix for Lua: focus({window}) * Fix for Lua: Move Window Into Group * clang-format * Drop `hyprctl keyword` change * test: `focus({window})` with `follow_focus = false` * test: `focus({window})` with `follow_focus = true` * test: test Focus Fallback * test: Focus Fallback with groups * test: workspace change * test: special workspace toggle * test: workspace change - special to special also minor refactoring * test: close window in a group * test: move window into group `follow_focus = false` minor fix in test: expect -> assert * test: move window into group `follow_focus = true` * test: new layer * test: maximise fix in test: expect to assert. * test: fullscreen * test: `dispatch window.focus({ direction })` when `follow_focus = false` * test: `dispatch window.focus({ direction })` when `follow_focus = true` test-fix: expect -> assert * test: move focus within group when `follow_focus = false` * test: move focus within group when `follow_focus = true` * test-fix: kill all layers before killing all windows in layers test. prevents internal post test cleanup function failing to kill all layers test-fix: maximized and fullscreen swapped between their tests test-fix: testScrollingViewBehaviourMoveFocusInGroupFollowFocusTrue missing layout initialization test-fix: testScrollingViewBehaviourWorkspaceChange, testScrollingViewBehaviourCloseWindowInGroup have stale window class in a comment clang-format * catch up with main: move to new test function * clean-up the clean-up part of the tests: redundant * clang-format * pain * suffering: fix rebase fail * test: manually kill all layers since the cleanup function fails * remove test: fullscreen and maximise. scrolling has its own behaviour now
* config: allow hashes for parsing colors (#14337)Vaxry2026-05-082-115/+0
|
* renderer: more FP16 fixes (#14070)UjinT342026-05-075-28/+463
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix fp16 blur with invalidation * restore tonemap code * fix fade outs * add sdr compat for unaware surfaces * use a better work space, not linear, only for sdr * fix hl tf -> wp tf * cache workbuffer descriptions * linear not normalised WIP * clear offload fb * CM math * fix includes * use precalculated cm for shadows * inner glow cm * quad cm * fix unmodified copy * codegen * cache color CM * mark blur dirty when CM/DS changes * avoid icc workbuffer * fp16 blur finish hack * fix output hdr luminances * use srgb for mirroring/sharing with fp16 * defaults people --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* layout/scrolling: handle fullscreen manually (#14190)Vaxry2026-05-071-7/+27
| | | Makes scroll handle fullscreen by itself, allowing for fs scrolls.
* windows/focus: add fallbacks when focussing workspaces (#14270)fazzi2026-05-041-4/+1
|
* render: scale background to monitor resolution (#14250)davc0n2026-05-041-7/+10
| | | | | | | | | | | | | * render: scale background to monitor resolution Currently the background is not scaled, e.g. 8k size image always uses ~128Mb of VRAM. We could reduce the consumption for low-end devices and monitors with lower resolution: - ~8Mb for 1080p - ~16Mb for 2k - ~32Mb for 4k * render: use gpu to scale bgtex and fix missing reset on size change
* config/lua: add clear tag api (#14273)Lichie2026-05-032-0/+10
|
* gestures: add live pinch cursor zoom (#14049)Barrett Ruth2026-05-022-7/+29
|
* helpers/systemInfo: extract info fns (#14222)Vaxry2026-04-304-49/+268
|
* splashes: update splashesVaxry2026-04-301-42/+15
|
* monitor: fix centered floating windows off-screen in special workspace (#14203)Zebra27112026-04-301-1/+1
| | | Signed-off-by: Zebra2711 <zebra2711t@gmail.com>
* desktop/window: refactor over fullscreen stateVaxry2026-04-291-1/+1
|
* desktop/window: expand hidden into proper statesVaxry2026-04-291-1/+1
|
* config/lua: add ExpressionVec2, allow using a table for vec2 rules (#14197)Vaxry2026-04-282-1/+55
|
* desktop/windowRule: use variants for storage internallyVaxry2026-04-281-3/+8
| | | | Improves storage: less dynamic parsing, immediate config errors, faster.
* monitor: set format back after failing DS activation (#14168)fazzi2026-04-261-1/+10
| | | | | we do run m_lastScanout.reset(), but m_lastScanout might sometimes not be set. cache format from before attempting DS, and set back to it on activation failure.
* config/lua: init lua config manager, use lua if available (#13817)Vaxry2026-04-266-26/+26
| | | Adds a new lua config manager, which will automatically be used if there is a lua config present.
* errorOverlay: modernize, refactor, use GPU rendering (#14122)Vaxry2026-04-191-5/+5
| | | | | | | Improves the overlay's rendering: - GPU accelerated - supports gradients - wraps - cleaner code a bit
* renderer: Various CM fixes, part 8 of refactors (#13860)UjinT342026-04-167-35/+172
| | | Part 8 of Ujin's refactors.
* notifications: move and small refactor (#14094)Vaxry2026-04-161-5/+6
| | | moves to notification/, and adds a new style manager getter.
* monocle: avoid repeated workspace monitor lock() calls (#14085)Visal Vijay2026-04-161-10/+11
| | | | | | | | | * refactor(monocle): avoid repeated workspace monitor lock() calls * clang-format * cleanup: avoid repeated weak_ptr::lock() calls * style: shorten variable name PMONITORWORKSPACEOWNER to PMONITOR
* monitor: ensure swapchain is updated before mode test (#14065)Visal Vijay2026-04-142-4/+15
| | | | | | | | | | | * monitor: ensure swapchain is updated before mode test * monitor: ensure swapchain update via helper for all mode set paths * monitor: fix formatting * monitor: move swapchain helper to CMonitorState * monitor: move swapchain helper to CMonitorState
* hyprctl: fix lib64 pkgconfig for version-checking (#14051)David2026-04-121-1/+1
| | | | Fedora Linux uses /usr/lib64/ for 64-bit shared libraries. Because of that the pkgconfig dir on Fedora is /usr/lib64/pkgconfig
* egl: move over to use hyprgraphics (#12988)Tom Englund2026-04-052-295/+6
| | | use the hyprgraphics helpers instead.
* internal: silence compiler warnings about unused return values (#13997)Tom Englund2026-04-051-1/+3
| | | | | | | | | | | | | | | | * misc: silence warnings about ignoring return value on reads silence warnings on ignored return values on read() and print an error if it occurs. * misc: silence warnings about ignoring return value on writes silence warnings on ignored return values on write() and print an error where we can, or pass them the maybe_unused attribute. * misc: silence warnings about ignoring return value on pipe silence warnings on ignored return value on pipe(), print an error and exit on failure.
* miscfunctions: reuse monitor pointer instead of repeated calls (#13977)Visal Vijay2026-04-041-2/+3
|
* renderer: skip redundant render-path workPppp11162026-04-041-2/+8
|
* monitor: centralize solitary and scanout eligibility checksPppp11162026-04-044-30/+147
|
* scheduler: keep a strong monitor ref in frame callbacksPppp11162026-04-041-22/+24
|
* refactor: improve readability of monitor rule comparison (#13884)Visal Vijay2026-03-311-14/+20
|
* renderer: refactor part 7: api fixes (#13631)UjinT342026-03-289-39/+270
| | | | | | | Part 7 of ujin's refactors --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* renderer/cm: Support wp-cm-v1 version 2 (#12817)UjinT342026-03-252-10/+16
|
* internal: rewrite deviceNameToInternalString using a single range pipeline ↵Mr. Myxa2026-03-212-7/+13
| | | | (#13806)
* config: cleanup the entire config infrastructure (#13785)Vaxry2026-03-204-154/+143
| | | | Massively refactors the config infrastructure, sorely needed and will be req'd for the lua stuff
* misc: fix missing noreturn attribute for throwError (#13746)Mr. Myxa2026-03-171-1/+1
|
* config/workspacerule: add animation style (#13380)ItsOhen2026-03-131-2/+4
|
* renderer: refactor projection setting (#13485)UjinT342026-03-071-2/+1
|
* renderer: move m_renderData to renderer (#13474)UjinT342026-03-073-9/+10
|
* renderer: refactor resources and flags (#13471)UjinT342026-03-073-23/+64
|
* renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)UjinT342026-03-063-4/+4
| | | Part 1 of the renderer refactors
* renderer: shader variants refactor (#13434)UjinT342026-03-067-36/+43
| | | Part 0 of renderer reworks.
* render/cm: add ICC profile pipeline (#12711)Vaxry2026-03-045-23/+929
| | | Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
* monitor: damage old special monitor on changeVaxry2026-02-281-0/+1
| | | | ref https://github.com/hyprwm/Hyprland/discussions/13419
* monitor: update pinned window states properly on changeWorkspace (#13441)Vaxry2026-02-281-1/+1
| | | ref https://github.com/hyprwm/Hyprland/discussions/13440
* monitor: keep workspace monitor bindings on full reconnect (#13384)Zynix2026-02-281-11/+25
| | | When all monitors disconnect, non-active workspaces could migrate to the wrong output after reconnect. Preserve workspace ownership and re-apply assigned monitor bindings on connect.
* format: safeguard drmGetFormat functions (#13416)Tom Englund2026-02-281-2/+10
| | | they can return null if not found.
* renderer: better sdr eotf settings (#12812)UjinT342026-02-264-12/+91
|
* event: refactor HookSystem into a typed event bus (#13333)Vaxry2026-02-221-8/+8
| | | | | Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
* protocols: implement image-capture-source-v1 and image-copy-capture-v1 (#11709)Ikalco2026-02-222-4/+8
| | | Implements the new screencopy protocols
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-213-12/+46
| | | | | Rewrites layouts to be much smaller, and deal with much less annoying BS. Improves the overall architecture, unifies handling of pseudotiling, and various other improvements.