Commit Graph
7322 Commits
Author SHA1 Message Date
erstarrandGitHub 96de3464c4 windows/focus: differentiate fullscreen focus reason into default and layout handled reasons. (#14370)
* differentiate RECALCULATE_REASON_TOGGLE_FULLSCREEN into default and layout handled reasons.

* fix

* add layout handled fs reason as not a hard focus reason. fullscreen handler fits the col to view anyway

* clang-format
2026-05-15 16:08:42 +01:00
VaxryandGitHub b74b1f934f config/lua: use ref for workspace destroy events (#14562)
in destroy the SP is already lost
2026-05-15 11:35:51 +01:00
805f7bf48e tests: check that we can auto-group floating windows (#14453)
Co-authored-by: mugen <iorjgiodr3548769uyj@534ytgr89ui0ji.345tu>
2026-05-14 23:43:49 +01:00
enziandGitHub a45fc64935 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-14 15:02:24 +01:00
darkwaterandGitHub b1c58d317b config/lua: revert "restrict package module loading to lua-only modules (#14526)" (#14533)
This reverts commit 8643d5b718.
2026-05-14 14:30:27 +01:00
Kai RatzeburgandGitHub 8643d5b718 config/lua: restrict package module loading to lua-only modules (#14526) 2026-05-13 22:03:01 +01:00
Nuno DavidandGitHub 5b8106d200 lua/objects: add cm and reserved properties to monitor (#14523) 2026-05-13 20:35:04 +01:00
VaxryandGitHub 2d21fa3e5c input: properly make input-blocked windows inaccessible (#14517)
* input: properly make input-blocked windows inaccessible

* FUCKER FYUCXDDDDDDDDDDDDDDDDDD
2026-05-13 20:34:44 +01:00
VaxryandGitHub 998d3af07f algo/floating: do not alter pinned windows' state on ws move (#14513)
fixes #14457
2026-05-13 15:50:49 +01:00
ZerbyandGitHub 3e7ce667b7 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 14:28:51 +01:00
André SilvaandGitHub c9e56d767e tests: fix broken test and flakiness (#14506)
* tests: restore HEADLESS-2 position after crashOnGeomUpdate

fixes followMouseShrink test

* tests: check alpha goal in floatingFocusOnFullscreen

fix flaky floatingFocusOnFullscreen test

* tests: use layout focus API in scrollFullscreen

* tests: more flakes
2026-05-13 14:06:14 +01:00
André SilvaandGitHub 9099ac3118 groups: sync window monitor/workspace when added to a group (#14478) 2026-05-13 12:54:15 +01:00
Mihai Fufezan 3a8ac9076a nix/module: link /share path
allows linking the lua stub
2026-05-13 14:37:47 +03:00
Mihai Fufezan b034fa5381 flake.lock: update aquamarine 2026-05-13 13:59:29 +03:00
VaxryandGitHub 0cce82eec2 render/gl/framebuffer: fix swizzle comparisons (#14481)
ref #14375
2026-05-12 20:30:23 +01:00
Kai RatzeburgandGitHub 9a3aed9bff pointer: fix cursor bounds not updating on monitor layout changes (#14393) 2026-05-12 20:30:13 +01:00
vaxerskiandgithub-actions[bot] 690ac8422a [gha] Nix: update inputs 2026-05-12 18:29:47 +00:00
fazziandGitHub f0d9f89977 monitor: don't set back to 8 bit when applying rules (#14404) 2026-05-12 19:27:58 +01:00
VaxryandGitHub d61c96913c meta/lua-stubs: overwrite scale to accept float and int (#14461) 2026-05-12 13:24:15 +01:00
bizmythandGitHub b76a9e0722 config/lua: allow re-enabling monitors (#14447) 2026-05-12 12:44:58 +01:00
VaxryandGitHub 5e441cae53 hyprtester: report failures at the end (#14421) 2026-05-11 14:09:43 +01:00
VaxryandGitHub 6841447b4a config/propRefresher: avoid crash if event loop manager isn't loaded (#14423)
ref #14414
2026-05-11 14:09:24 +01:00
Linux UserandGitHub a73c4168ce helpers: include numbers header (#14406)
Fixes error `no member named 'numbers' in namespace 'std'` on llvm/musl
2026-05-11 13:34:16 +01:00
ArchSavandGitHub 2f2c9500e1 algo/master: add an option to focus master when window is closed (#14306) 2026-05-11 13:29:35 +01:00
VaxryandGitHub 3e21a68bd0 render/cm: fix premult in shaders (#14403) 2026-05-10 20:42:45 +01:00
Aaron BlaskoandGitHub b740add78e meta: update lua stubs for permissions (#14400) 2026-05-10 20:02:27 +01:00
VaxryandGitHub 404b0e4e55 Minor fixes today (#14401)
* compositor: fix invalid capture in vectorToWindowUnified

* config/legacy: fix bad format log in handleSource
2026-05-10 19:59:07 +01:00
VaxryandGitHub 7a1af50326 renderer: set proper image description in snapshots (#14398) 2026-05-10 16:09:42 +01:00
VaxryandGitHub dab9649439 monitor: don't modeset on reserved changes (#14397) 2026-05-10 15:56:21 +01:00
VaxryandGitHub da395cdc53 gestures/scroll_move: guard col to avoid crash (#14394) 2026-05-10 15:04:59 +01:00
erstarrandGitHub 205d680652 algo/scrolling: add inhibit_scroll dispatch for scrolling algorithm (#13955) 2026-05-10 12:07:31 +01:00
VirtandGitHub ee58a513f7 config: fix plugin variables with dashes (#14379) 2026-05-09 22:01:31 +01:00
Vaxry af923e30d1 version: bump to 0.55.0 v0.55.0 2026-05-09 14:35:27 +01:00
littleblack111andGitHub 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
UjinT34andGitHub 6df053b70b renderer: fix decoration colors with linear FP16 (#14361) 2026-05-09 13:57:33 +01:00
Matteo GolinelliandGitHub 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 AndreevandGitHub 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
UjinT34andGitHub 07a086afee renderer: handle HDR -> SDR with cm_auto_hdr (#14102) 2026-05-09 11:41:06 +01:00
VaxryandGitHub 8b78de5d90 compositor: recalculate workspace state after fs state update (#14369) 2026-05-08 23:22:07 +01:00
erstarrandGitHub 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
phaniumandGitHub 544268931a build: bump hyprutils to 0.13.1 (#14365)
Fail to build from source
2026-05-08 19:34:40 +01:00
erstarrandGitHub 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
VaxryandGitHub ac75bcab71 renderer: fix shadow CM calculations (#14364) 2026-05-08 15:31:12 +01:00
VaxryandGitHub b94f149854 config: allow hashes for parsing colors (#14337) 2026-05-08 15:31:02 +01:00
VaxryandGitHub a6a0cc308c desktop/workspace: fix visibility criteria matching (#14349)
ref https://github.com/hyprwm/Hyprland/discussions/14233
2026-05-08 15:00:38 +01:00
VaxryandGitHub 91eb3898ed layout/scrolling: fix edge detection in recalculate() (#14359)
ref #14339
2026-05-08 14:59:34 +01:00
Vaxry de9f8dc983 cmake: fix permissions for directories by default 2026-05-08 01:26:37 +01:00
erstarrandGitHub fe76c536a4 repo: ignore the autogen file meta/hl.meta.lua (#14336) 2026-05-08 01:21:31 +01:00
VaxryandGitHub 6c2296722b config: always call refresh after config reload (#14346) 2026-05-08 01:20:22 +01:00