d5689bb539
internal: cleanup CMonitor usage and fix a few ref hogs
...
ref #8221
2024-10-26 02:06:13 +01:00
Vaxry
f044e4c951
internal: Move CMonitor to SP ( #8178 )
...
* move monitors to sp
* XD
2024-10-19 23:03:29 +01:00
UjinT34
ee8116ac5d
input: Fix VRR for constrained cursors ( #6877 )
2024-10-12 01:29:51 +01:00
57b632ead8
pointer: expand sw cursor damage box
...
fixes #8031
just a bit, rounding errors I guess
2024-10-08 17:03:19 +01:00
49713fab04
pointermgr: avoid hogging CMonitor refs
2024-09-25 23:15:41 +01:00
Vaxry
e6cf643f5a
pointermgr: Hide hardware cursor on leave ( #7806 )
2024-09-18 18:47:53 +01:00
Ikalco
e74efd87e5
internal: fix initial cursor warping ( #7793 )
2024-09-14 23:37:18 +01:00
518399a95b
pointermgr: avoid derefing null outputs
2024-09-11 09:30:21 +01:00
Maximilian Seidler
8237d7e1a4
input: move dmps activation to input listeners ( #7721 )
2024-09-09 21:29:00 +01:00
Maximilian Seidler
4988e00b1d
input: move idle notify to input handlers ( #7659 )
...
* Revert "input: don't emit idle activity when calling simulateMouseMovement (#7649 )"
This reverts commit ea10592ad3
.
* input: move idle notify calls to input event listeners
* input: don't post idle activity when keyboard is not enabled
2024-09-06 00:58:57 +01:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
Tom Englund
8d6c18076f
core: make most for loops use const references ( #7527 )
...
why not let the compiler optimise things for us at hyprspeeds when we
can.
2024-08-26 17:25:39 +02:00
Tom Englund
511eea71c6
pointermgr: fix initial cursorwarp ( #7286 )
...
change the hook to monitorAdded instead of newMonitor so its finalized
in the compositor and added to vMonitors, move the
checkDefaultCursorWarp to PointerManager and check for it upon mode
change. and also ensure it doesnt go out of bounds by replacing it in
the middle again on resolution changes.
2024-08-11 19:42:18 +01:00
Vaxry
37e1411e8d
core/surface/buffer: Buffer lock/release fixes ( #7110 )
2024-07-31 21:47:26 +02:00
f3a9f9ec45
pointer: use preMonitorCommit for resetting render state
...
in DS preRender is not called
2024-07-30 15:32:42 +02:00
e673220340
core/surface: fixup a few pointer handling edge cases
2024-07-29 19:29:08 +02:00
01560c9d7c
virtualptr: map to entire screen if no output is provided
...
fixes #6749
2024-07-29 18:13:23 +02:00
23a8f06594
virtualptr: allow binding to output
2024-07-29 16:27:09 +02:00
4c3b035162
pointer/hw: rollback the swapchain on multiple renders without a commit
...
fixes the hack
2024-07-22 19:19:37 +02:00
f17f8b219c
pointer/hw: extend cursor swapchain to 3
...
otherwise on some commits we draw twice and we draw over the front buffer
2024-07-22 19:05:45 +02:00
77b134e23b
virtual-pointer: fixup virtual pointer warp events
...
fixes #6976
2024-07-22 17:24:30 +02:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
Moves Hyprland from wlroots to aquamarine for the backend.
---------
Signed-off-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: diniamo <diniamo53@gmail.com>
2024-07-21 13:09:54 +02:00
13bc7e1e14
style: fix clang-format
2024-07-13 12:36:35 +02:00
cc98594c3a
pointer: update geometry after unplug events
...
fixes #6700
fixes #6740
2024-07-05 23:05:09 +02:00
drendog
2fa57f2dc4
pointer: change min cursor padding to 0 ( #6027 )
...
* fix: change min cursor padding to 0
* chore: set default hotspot padding to 0
* fix: adjusting clamp after getting closest point to fix getting off limit point
* fix: deal with floating point to clamp to prev value
* refactor: max coords to vector
* fix: remove box closestPoint adjustment due its fix on hyprutils
2024-07-02 12:17:48 +02:00
3ba3d20ad3
pointer: round position when rendering software cursors
...
otherwise the image gets resampled and gets blurry
2024-06-25 18:44:54 +02:00
Lucas Reis
20a465f69d
pointer: use software rendering when monitor is mirrored ( #6587 )
...
* pointer_manager: add lock/unlock software wrappers that receive the raw pointer
* monitor: lock/unlock software pointer rendering when adding/removing mirrored screens
* use relative path in includes
2024-06-19 16:24:28 +02:00
fb15b7aa2a
core: Move to hyprutils for Math
...
Moves CRegion, CBox and Vector2D over to hyprutils.
Requires hyprutils>=0.1.4
2024-06-19 16:20:15 +02:00
UjinT34
a9d53a2252
vrr: add option to fix mouse breaking vrr ( #6483 )
...
* option to fix mouse breaking vrr
* skip damage on mouse move
* remove this-> & cleanup
* add cursor:min_refresh_rate to avoid cursor freezing
* run clang-format
---------
Co-authored-by: UjinT34 <ujin@uvpn.ru>
2024-06-14 13:45:32 +02:00
Ikalco
38132ffaf5
renderer: properly software lock cursors with zoom_factor ( #6434 )
2024-06-12 19:28:52 +02:00
Vaxry
6967a31450
wayland/core: move to new impl ( #6268 )
...
* wayland/core/dmabuf: move to new impl
it's the final countdown
2024-06-08 10:07:59 +02:00
obivan
df6ebe358b
pointer: Include monitor scaling in HW hotspot calculation ( #6283 )
2024-05-31 12:38:52 +02:00
90f262aada
pointer: remove dividing hotspot by scale
...
fixes #6117
2024-05-25 20:43:38 +02:00
thejch
0d6eae0523
pointer: add back nvidia hardware cursor quirks ( #6220 )
2024-05-24 20:50:22 +02:00
Tom Englund
4e42107d25
pointermgr: ensure compositor exist on destroy ( #6216 )
...
on exit of hyprland the CMonitor destroy signal comes after the
compositor has been destructed, causing a heap use after free. add if
check to ensure compositor exist and isnt shutting down when its
triggered.
2024-05-23 21:19:14 +02:00
Ming-Chuan
df80fbf706
tablet: fix mapping when mapped region is specified ( #6206 )
...
When `region_size` is set in the config (non-empty
`boundBox`), cursor is mapped to wrong coordinate because
`CBox::translate` mutates `TAB->boundBox`, making all subsequent coordinate
calculations wrong.
This also fixes the edge case where user sets `region_position` but
not `region_size`.
2024-05-23 13:52:32 +02:00
49485ba36a
pointer: damage in software mode on cursor image changes
...
fixes #6126
2024-05-17 20:04:17 +01:00
abbe71d26d
pointer: don't update hw cursors on disabled displays
2024-05-16 19:34:36 +01:00
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
4cdddcfe46
cursor: minor fixes for unhiding surfaces
...
the surface equality check is done in CPointerManager, the one in renderer can be wrong
fixes #5975
2024-05-14 16:45:12 +01:00
1753059b07
pointermgr: reset entered outputs when resetting surface
...
fixes #5970
2024-05-09 23:08:40 +01:00
fe4737fb9d
pointer: don't calculate hw hotspot for missing hw cursors
...
ref #5964
2024-05-09 19:17:04 +01:00
84e8d1810d
Tablet: move to new impl
...
Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
2024-05-09 13:37:39 +01:00
ed411f53bd
cursor: move to a hyprland impl
...
This moves wlr_cursor to a completely new impl mostly under
CPointerManager
Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00