summaryrefslogtreecommitdiff
path: root/src/config
Commit message (Collapse)AuthorAgeFilesLines
* keybind/actions: `cycle_next` w/ `tiled = true` doesn't choose only tiled ↵erstarr2026-05-081-4/+8
| | | | | | | | | windows (#14164) * fix tiling only selection: actually select only tiling when chosen * clang-format * test: cycle_next float only and tiled only
* algo/scrolling: various scrolling view related bugfixes (#13974)erstarr2026-05-083-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-088-19/+188
|
* config: always call refresh after config reload (#14346)Vaxry2026-05-082-4/+2
|
* config: find lua paths first (#14335)Mihai Fufezan2026-05-081-27/+14
| | | | | * config: find lua paths first * config/supplementary/jeremy: use designated initializer list
* gestures: add scroll_move (#14063)Vaxry2026-05-073-4/+11
|
* renderer: more FP16 fixes (#14070)UjinT342026-05-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-1/+1
| | | Makes scroll handle fullscreen by itself, allowing for fs scrolls.
* config: use lua by default, generate lua if no config presentVaxry2026-05-076-22/+34
|
* propRefresher: fix misnamed valueVaxry2026-05-061-1/+1
|
* config/legacy: fix missing fallbacks crashing device gettersVaxry2026-05-061-4/+20
|
* config: fix propRefresher to not run on first launchVaxry2026-05-065-64/+20
|
* config/lua: fix device bool int reads (#14313)ImperishableSecret2026-05-0614-9/+60
| | | | | * config/lua: fix device bool int reads * config/lua: fix device typed reads
* config/lua: add simple layout API (#14258)Vaxry2026-05-0612-30/+705
| | | Adds a simple layout lua api
* config/refresher: refresh watcher state properly (#14307)Vaxry2026-05-065-6/+7
| | | ref #14301
* config/refresher: fix refreshing of cursor zooms (#14283)Vaxry2026-05-065-16/+19
|
* groups: add groupbar middle_click_close option (#14242)Maxim Andreev2026-05-051-0/+1
|
* config: add device tags (#13728)ArchSav2026-05-052-0/+2
| | | | | --------- Co-authored-by: Mio Argillander <mio@argillander.me>
* windows/focus: add fallbacks when focussing workspaces (#14270)fazzi2026-05-041-5/+7
|
* config/legacy: fix crash on getConfigValue of plugin fnsVaxry2026-05-041-0/+9
|
* config/lua: add clear tag api (#14273)Lichie2026-05-033-0/+25
|
* config/lua: fix dispatcher shapes to not be callable (#14268)Vaxry2026-05-035-10/+155
| | | this would only lead to abuse, explicitly forbid it
* desktop/windowRule: add `confine_pointer` window rule (#13379)fazzi2026-05-021-0/+1
|
* keybinds: fix keycode matching on lua (#14254)Vaxry2026-05-022-10/+21
|
* config/lua: workspace.move/rename should accept "workspace" instead of "id" ↵Gregor2026-05-021-3/+3
| | | | as a parameter (#14232)
* tests: fix gtests crashing (#14244)Vaxry2026-05-012-4/+7
|
* config/lua: add noopVaxry2026-05-011-0/+10
|
* config/workspace-rules: support modifying persistent and monitor (#14217)shezdy2026-04-303-8/+8
| | | | | * workspace rules: support modifying persistent and monitor * support modifying isDefault
* config/actions: fix misuse of ActionResult's error type (#14221)Vaxry2026-04-302-24/+23
|
* binds: add an auto_consuming flag (#13919)MightyPlaza2026-04-303-4/+32
|
* config/lua: expand properties in the workspace object (#14194)ImperishableSecret2026-04-295-34/+188
|
* desktop/window: refactor over fullscreen stateVaxry2026-04-292-3/+5
|
* desktop/window: expand hidden into proper statesVaxry2026-04-291-0/+4
|
* animations: add springs (#14171)Vaxry2026-04-293-42/+124
|
* config: refresh window states on border_size changes (#14201)Freevatar2026-04-291-1/+1
|
* config/lua: fix unbind behavior (#14199)Vaxry2026-04-291-16/+2
|
* config/lua: add ExpressionVec2, allow using a table for vec2 rules (#14197)Vaxry2026-04-285-39/+163
|
* desktop/layerRule: use variants for storage internallyVaxry2026-04-282-6/+16
| | | | Improves storage: less dynamic parsing, immediate config errors, faster.
* desktop/windowRule: use variants for storage internallyVaxry2026-04-284-18/+48
| | | | Improves storage: less dynamic parsing, immediate config errors, faster.
* config/errors: Report and categorize errors properly for actions (#14192)Vaxry2026-04-2811-219/+370
| | | | Makes all errors categorized, some not displayed, some displayed. All errors can be obtained after hl.dispatch()
* config/actions: remove spammy errors and make them silentVaxry2026-04-271-33/+33
| | | | those are just annoying
* logging: update uri of debug log in ConfigManager to reflect change in wiki ↵Michael Tennant2026-04-271-1/+1
| | | | (#14185)
* config/lua: fix window object to selector logicVaxry2026-04-261-1/+1
|
* config/legacy: translate default window args properlyVaxry2026-04-261-2/+2
| | | | fixes some dispatchers
* config/lua: don't pop up an error if no target was found (#14175)Vaxry2026-04-262-29/+29
|
* config/legacy: default to active window for movetoworkspace dispatchers (#14170)3ventic2026-04-261-2/+2
|
* config/lua: init lua config manager, use lua if available (#13817)Vaxry2026-04-26107-2865/+13286
| | | Adds a new lua config manager, which will automatically be used if there is a lua config present.
* internal: include setByUser in CConfigManager::getConfigValue (#14155)Damien Trala2026-04-261-1/+1
|
* input: implement follow_mouse_shrink (#13707)Mihail Costea2026-04-202-0/+9
| | | | | | | | | | | | | | | | | * input: implement follow_mouse_shrink Add a new config option `input:follow_mouse_shrink` (INT, 0-300, default 0) that shrinks inactive window hitboxes by the specified number of pixels for focus detection purposes. This creates a dead zone in gaps between windows where moving the cursor will not trigger a focus change. The shrink only applies to inactive (non-focused) windows and only during mouse-move focus checks (follow_mouse = 1). Click and scroll interactions are unaffected — clicking on a window in the shrunk area still works normally once the window is focused. Closes #9973 * tests: add integration test for follow_mouse_shrink
* errorOverlay: modernize, refactor, use GPU rendering (#14122)Vaxry2026-04-192-7/+10
| | | | | | | Improves the overlay's rendering: - GPU accelerated - supports gradients - wraps - cleaner code a bit