Commit Graph
7325 Commits
Author SHA1 Message Date
Christopher Kaster e68def5824 meta/lua: add missing notification text field and make timeout required (#14665) 2026-06-07 12:24:08 +02:00
Ivo Šmerek f88569b1a2 config: fix decoration values to refresh on runtime eval/keyword change (#14590)
* config: fix decoration values to refresh on runtime eval/keyword change

Signed-off-by: BlueManCZ <ivo97@centrum.cz>

* config: fix border colors to refresh on runtime eval/keyword change

Signed-off-by: BlueManCZ <ivo97@centrum.cz>

* call damageMonitor in REFRESH_WINDOW_STATES

Signed-off-by: BlueManCZ <ivo97@centrum.cz>

---------

Signed-off-by: BlueManCZ <ivo97@centrum.cz>
2026-06-07 12:24:08 +02:00
Tom Englund 7cb54c91e6 texture: cache G and A swizzle channels aswell (#14605)
add caching for G and A channels aswell.
2026-06-07 12:24:08 +02:00
Nikolai Nechaev 103604996e meta/lua: Gestures can accept a lua function (#14649) 2026-06-07 12:24:08 +02:00
Vaxry acdad4ed38 keybinds: set a fallback releasePending flag for special lua binds (#14600)
fixes #14445
2026-06-07 12:24:08 +02:00
Vaxry c11104377e decoration/glow: fix visibility when no decorate is set (#14602)
fixes #14585
2026-06-07 12:24:08 +02:00
Vaxry 39d7e209c7 version: bump to 0.55.2 v0.55.2 2026-05-16 13:59:19 +01:00
floresce d165363c53 layout/WindowTarget: fix crash when toggling float on oversized windows (#14587)
Related to my issue https://github.com/hyprwm/Hyprland/discussions/14537#discussion-10063053
2026-05-16 13:59:10 +01:00
UjinT34 1f8086ad92 renderer: fix border cm for mirroring (#14574) 2026-05-16 13:59:10 +01:00
Vaxry 850f30ccca config/values: default no_hardware_cursors to 2 (#14575) 2026-05-16 13:59:10 +01:00
Anthony Green fd5450615d protocols/grab: fix refocus to unreachable windows (#14555) 2026-05-16 13:59:10 +01:00
Vaxry d57751358d config/lua: use ref for workspace destroy events (#14562)
in destroy the SP is already lost
2026-05-16 13:59:10 +01:00
enzi 60d6e61f1f xwayland: lock focus while dragging an xwayland window (#12051)
* menu bar dropdown hover wasn't opening other entries with hover

* fixes 2 bugs for Jetbrains IDEs
- tab reordering
- detaching a tab to a new window

* helper function for `isX11Popup`

* moved logic to Windows.cpp
added helper to get private `m_currentlyHeldButtons`

* latest merge

* latest merge

* latest merge

* demorgan flip of logic

* removed code that slipped in from other branch

* revert unintended submodule pointer bumps
2026-05-16 13:59:10 +01:00
darkwater 70f32e7e82 config/lua: revert "restrict package module loading to lua-only modules (#14526)" (#14533)
This reverts commit 8643d5b718.
2026-05-16 13:59:10 +01:00
vaxerski a47147bc09 [gha] Nix: update inputs v0.55.1 2026-05-13 22:55:46 +00:00
Vaxry 6ad5e7082e version: bump to 0.55.1 2026-05-13 23:54:19 +01:00
Kai Ratzeburg 0f396ddcd7 config/lua: restrict package module loading to lua-only modules (#14526) 2026-05-13 23:54:07 +01:00
Vaxry fe3fa4af23 input: properly make input-blocked windows inaccessible (#14517)
* input: properly make input-blocked windows inaccessible

* FUCKER FYUCXDDDDDDDDDDDDDDDDDD
2026-05-13 23:54:07 +01:00
Vaxry 8000241949 algo/floating: do not alter pinned windows' state on ws move (#14513)
fixes #14457
2026-05-13 23:54:07 +01:00
Zerby 452ef12c51 monitor: fix top-layer bar visibility on workspace change with scrolling-layout fullscreen (#14425)
* monitor: fix top-layer bar visibility on workspace change with scrolling-layout fullscreen

* desktop/workspace: add hasFullscreen helper
2026-05-13 23:54:07 +01:00
André Silva 9e0ca2affa groups: sync window monitor/workspace when added to a group (#14478) 2026-05-13 23:54:07 +01:00
Vaxry 2495313e40 render/gl/framebuffer: fix swizzle comparisons (#14481)
ref #14375
2026-05-13 23:54:07 +01:00
Kai Ratzeburg 92f8e98a8f pointer: fix cursor bounds not updating on monitor layout changes (#14393) 2026-05-13 23:54:07 +01:00
fazzi 049e5ab9ab monitor: don't set back to 8 bit when applying rules (#14404) 2026-05-13 23:54:07 +01:00
Vaxry bad6466485 meta/lua-stubs: overwrite scale to accept float and int (#14461) 2026-05-13 23:54:07 +01:00
bizmyth 6a3a8dc1e1 config/lua: allow re-enabling monitors (#14447) 2026-05-13 23:54:07 +01:00
Vaxry 09240e8031 config/propRefresher: avoid crash if event loop manager isn't loaded (#14423)
ref #14414
2026-05-13 23:54:07 +01:00
Linux User 90dbfba02f helpers: include numbers header (#14406)
Fixes error `no member named 'numbers' in namespace 'std'` on llvm/musl
2026-05-13 23:54:07 +01:00
Vaxry 33bb27d773 render/cm: fix premult in shaders (#14403) 2026-05-13 23:54:07 +01:00
Aaron Blasko a090000cc4 meta: update lua stubs for permissions (#14400) 2026-05-13 23:54:07 +01:00
Vaxry 68ebab1efe Minor fixes today (#14401)
* compositor: fix invalid capture in vectorToWindowUnified

* config/legacy: fix bad format log in handleSource
2026-05-13 23:54:07 +01:00
Vaxry c3fe09d01c renderer: set proper image description in snapshots (#14398) 2026-05-13 23:54:07 +01:00
Vaxry 71f7ce07e4 monitor: don't modeset on reserved changes (#14397) 2026-05-13 23:54:07 +01:00
Vaxry a37d78b382 gestures/scroll_move: guard col to avoid crash (#14394) 2026-05-13 23:54:07 +01:00
Virt f880a42bd4 config: fix plugin variables with dashes (#14379) 2026-05-13 23:54:07 +01:00
Vaxry af923e30d1 version: bump to 0.55.0 v0.55.0 2026-05-09 14:35:27 +01:00
littleblack111 74d4c53702 desktop/rule: recheck eating the applied rule (#14362)
tag mutates it, causing a recheck, with the applied rule is gone as it
is unregistered after first applying
2026-05-09 14:09:37 +01:00
UjinT34 6df053b70b renderer: fix decoration colors with linear FP16 (#14361) 2026-05-09 13:57:33 +01:00
Matteo Golinelli 11bd00cd18 input: fix touch monitor focus ordering (#14310) 2026-05-09 12:22:34 +01:00
Vaxry 09d13d387b gitignore: ignore pointer scroll test artifact 2026-05-09 12:03:04 +01:00
Maxim Andreev ed2cb532da input: keep pointer focus on layer surfaces during keyboard refocus (#14018)
Do not let sendMotionEventsToFocused() steal pointer focus from
non-window surfaces such as waybar when follow_mouse is disabled.

This keeps keyboard focus changes from workspace switches from moving
pointer focus off the bar under the cursor, which otherwise makes
workspace scrolling on waybar behave one event behind.
2026-05-09 12:01:03 +01:00
UjinT34 07a086afee renderer: handle HDR -> SDR with cm_auto_hdr (#14102) 2026-05-09 11:41:06 +01:00
Vaxry 8b78de5d90 compositor: recalculate workspace state after fs state update (#14369) 2026-05-08 23:22:07 +01:00
erstarr 1a164704e7 keybind/actions: cycle_next w/ tiled = true doesn't choose only tiled windows (#14164)
* fix tiling only selection: actually select only tiling when chosen

* clang-format

* test: cycle_next float only and tiled only
2026-05-08 19:34:54 +01:00
phanium 544268931a build: bump hyprutils to 0.13.1 (#14365)
Fail to build from source
2026-05-08 19:34:40 +01:00
erstarr bd7f695363 algo/scrolling: various scrolling view related bugfixes (#13974)
* 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
2026-05-08 16:45:43 +01:00
Vaxry ac75bcab71 renderer: fix shadow CM calculations (#14364) 2026-05-08 15:31:12 +01:00
Vaxry b94f149854 config: allow hashes for parsing colors (#14337) 2026-05-08 15:31:02 +01:00
Vaxry a6a0cc308c desktop/workspace: fix visibility criteria matching (#14349)
ref https://github.com/hyprwm/Hyprland/discussions/14233
2026-05-08 15:00:38 +01:00
Vaxry 91eb3898ed layout/scrolling: fix edge detection in recalculate() (#14359)
ref #14339
2026-05-08 14:59:34 +01:00