Commit graph

1802 commits

Author SHA1 Message Date
Vaxry
ab8e015bc9
screenshare/frame: set m_copied after shm copy succeeds (#14165) 2026-04-25 22:15:14 +01:00
Conner
73f4807796
keybinds: fix missing z-order update on floating toggle (#14100) 2026-04-20 19:45:22 +01:00
Mihail Costea
e12d2b7cc8
input: implement follow_mouse_shrink (#13707)
* 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
2026-04-20 16:56:30 +01:00
Vaxry
a360c31d04
errorOverlay: modernize, refactor, use GPU rendering (#14122)
Improves the overlay's rendering:
- GPU accelerated
- supports gradients
- wraps
- cleaner code a bit
2026-04-19 18:47:49 +01:00
UjinT34
66ea2e2c9e
renderer: Various CM fixes, part 8 of refactors (#13860)
Part 8 of Ujin's refactors.
2026-04-16 19:19:25 +01:00
Nikolai Nechaev
ff459f4a2a
groups: fix movewindoworgroup when moving from group to group (#14086)
* Add test for movewindowgroup

* groups: Fix `movewindoworgroup` moving into group

Fixes `CKeybindManager::moveWindowIntoGroup` to
remove a window from a group before attempting
to add it to another group. Addresses #13843.

But the animation of moving a window from a group
into another group now looks weird: as if the
whole target group is being moved.
2026-04-16 17:54:04 +01:00
Visal Vijay
1ea0a43615
monocle: avoid repeated workspace monitor lock() calls (#14085)
* refactor(monocle): avoid repeated workspace monitor lock() calls

* clang-format

* cleanup: avoid repeated weak_ptr::lock() calls

* style: shorten variable name PMONITORWORKSPACEOWNER to PMONITOR
2026-04-16 17:53:12 +01:00
933a24caa6
screencopy: clear buffer before rendering (#14064)
If reusing wl_buffers when capturing a transparent window, the current
frame would overlay the previous frame instead of replacing it.
2026-04-13 09:17:10 +01:00
Vaxry
814337fdd2
keybinds: fix wrong space assignment in pin (#14061) 2026-04-12 23:04:42 +01:00
Visal Vijay
f7755322fc
input: avoid repeated weak_ptr::lock() and ensure consistent usage (#14039) 2026-04-10 14:38:28 +01:00
75dc67e63f input: lazy cache getWindowIdeal() 2026-04-07 12:07:36 -04:00
Tom Englund
809b9b9e78
egl: move over to use hyprgraphics (#12988)
use the hyprgraphics helpers instead.
2026-04-05 19:37:07 +01:00
Andreas Backx
8edb7c5663
xwayland: pipe through monitor in coordinate mapping (#13700)
* xwayland: prefer monitor-aware hover coords

Introduce monitor-aware XWayland coordinate helpers and keep the X11 hover path anchored to the main surface box while preserving detailed debug logging, reducing dependence on nearest-monitor guesses in layout-sensitive input paths.

* xwayland: use window monitor for reported coords

Report X11 window positions through the window's known monitor instead of the generic nearest-monitor heuristic so boundary-aligned outputs keep stable XWayland coordinates.

* xwayland: use window monitor for real position restore

Convert XWayland geometry back into compositor space using the window's current monitor when available so vertically offset layouts do not round-trip through the wrong output.

* xwayland: use window monitor for unmanaged geometry

Restore override-redirect X11 geometry through the window's known monitor so helper windows and popups avoid nearest-monitor misclassification on offset layouts.

* xwayland: remove monitor conversion debug logging

Drop the temporary XWayland hover and coordinate conversion diagnostics now that the monitor-selection bug is confirmed and the window-monitor based conversions fix the issue.

* xwayland: drop unrelated focused-motion change

Remove the exploratory X11-specific pointer focus scaling from InputManager so the monitor mapping fix stays narrowly scoped to the XWayland coordinate conversion changes that actually resolve the bug.

* clang-format XWaylandManager
2026-04-05 16:54:38 +01:00
Tom Englund
3af9b10890
internal: silence compiler warnings about unused return values (#13997)
* 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.
2026-04-05 14:45:27 +01:00
a151c67165 animation: avoid redundant damage calls in tick
animated variables would independently damage, that's redundant.
2026-04-04 11:53:49 -04:00
Vaxry
29cf6264a2
desktop/window: reduce window deco updates (#13980)
AVARDAMAGE_ENTIRE doesn't mean the geometry changed, so no point in an expensive update
2026-04-04 14:06:07 +01:00
Pppp1116
4c42269ce6 monitor: centralize solitary and scanout eligibility checks 2026-04-04 08:26:24 -04:00
Pppp1116
a84e98d2a8
seat/compositor: fix minor issues (#13958) 2026-04-02 22:29:45 +01:00
UjinT34
38a7f03cf0
renderer: refactor part 7: api fixes (#13631)
Part 7 of ujin's refactors

---------

Co-authored-by: Vaxry <vaxry@vaxry.net>
2026-03-28 21:41:45 +00:00
ssareta
420ee44eed
protocols: allow xdg-foreign to be used by sandboxed apps (#13854)
* allowlist xdgForeignExporter

* also allow importer
2026-03-28 15:35:58 +00:00
littleblack111
1c25bcc811
dispatchers: add moveintoorcreategroup (#13325) 2026-03-28 15:31:04 +00:00
UjinT34
2e5e800e4b
renderer/cm: Support wp-cm-v1 version 2 (#12817) 2026-03-25 23:48:06 +00:00
UjinT34
8196711aaa
screencopy: check share session state (#13839) 2026-03-25 13:37:53 +00:00
Chris Naporlee
63c56bad6f
protocols: reimplement unstable/xdg-foreign-v2 (#13716) 2026-03-23 23:08:58 +00:00
Dregu
64a2e4e263
input: fix the multimon touch fix (#13819) 2026-03-23 12:55:22 +00:00
Vaxry
8726a7363e
config: cleanup the entire config infrastructure (#13785)
Massively refactors the config infrastructure, sorely
needed and will be req'd for the lua stuff
2026-03-20 17:52:37 +00:00
ssareta
b940b0d2c1
screencopy: fix crash in screensharing toplevel with invalid handle (#13781) 2026-03-19 21:04:52 +00:00
Dregu
3b902a47fe
input: fix touch screen focus on multi monitor (#13764)
* input: fix touch screen focus on multi monitor

* skip some more strictly pointer related things for touch
2026-03-19 19:18:29 +00:00
Khalid
d635b499e1
input: focus monitor on touch down events (#13773) 2026-03-18 20:19:29 +00:00
902e8de7f0
source: c-f for new clang version 2026-03-15 15:23:21 -05:00
ItsOhen
de3471b335
config/workspacerule: add animation style (#13380) 2026-03-13 16:50:34 -05:00
ArchSav
24a95621e5
input: add device specific binds (#13073)
Adds support for device-specific binds
2026-03-13 08:48:01 -05:00
UjinT34
8662ecba03
renderer: fix share window projection (#13695) 2026-03-11 20:48:48 +00:00
UjinT34
03f444e0ab
renderer: fix crash with nullptr FBs (#13641) 2026-03-09 11:10:08 +00:00
UjinT34
02f30ea15b
renderer: refactor gl renderer (#13488) 2026-03-07 18:21:23 +00:00
UjinT34
b227efc849
renderer: refactor projection setting (#13485) 2026-03-07 15:23:54 +00:00
UjinT34
73fca55e7c
renderer: move m_renderData to renderer (#13474) 2026-03-07 13:47:13 +00:00
UjinT34
966f20d305
renderer: refactor resources and flags (#13471) 2026-03-07 13:13:34 +00:00
UjinT34
4152ac76d0
renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)
Part 1 of the renderer refactors
2026-03-06 21:44:10 +00:00
UjinT34
a5858018d8
renderer: shader variants refactor (#13434)
Part 0 of renderer reworks.
2026-03-06 21:05:10 +00:00
Nikolai Nechaev
42f0a6005b
keybinds: Remove removed keybinds (#13605)
There seems to be no reason for them to remain.

But if they are kept, no notification appears to warn
a user that a dispatcher used in their config is no
longer valid. The config remains valid, but the bindings
do not work anymore.
2026-03-06 16:33:08 +00:00
JaSha256
ae9ca17b40
pointer: fix hardware cursor rendering on rotated/flipped monitors (#13574)
Replace the broken cairo_matrix_rotate() approach with explicit
per-transform pattern matrices for all 8 wl_output_transform values.
2026-03-05 15:14:23 +00:00
Vaxry
972f23efe8
screencopy: fix isOutputBeingSSd (#13586)
use sessions instead of pending frames
2026-03-05 15:14:13 +00:00
Ikalco
803e81ac39
screenshare: improve destroy logic of objects (#13554) 2026-03-05 14:06:55 +00:00
Ikalco
c47ae950f4
screencopy: fix minor crash (#13566) 2026-03-04 20:01:37 +00:00
Harsh Narayan Jha
3f169ee5de
socket2: emit kill event (hyprctl kill) (#13104) 2026-03-04 20:00:00 +00:00
Vaxry
10754745a9
render/cm: add ICC profile pipeline (#12711)
Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
2026-03-04 19:50:28 +00:00
Vaxry
be03497b82
layout/algos: use binds:window_direction_monitor_fallback for moves (#13508)
ref https://github.com/hyprwm/Hyprland/discussions/13473
2026-03-02 21:39:06 +00:00
André Silva
fe0a202137
desktop/group: respect direction when moving window out of group (#13490) 2026-03-02 21:12:27 +00:00
f0a80ce5e0
keybinds: fixup changegroupactive 2026-03-01 10:12:15 +00:00