Commit graph

445 commits

Author SHA1 Message Date
Kamikadze
9190443d95
refactor: use std::ranges whenever possible (#10584) 2025-05-30 14:25:59 +01:00
d9c8a37811
input: always allow focus to permission popups 2025-05-18 19:34:20 +02:00
Vaxry
158c0f2911
permissions: add permission management for keyboards (#10367) 2025-05-18 19:13:20 +02:00
705b97c4ac
input: revert #10416 and #10418
fixes #10451
2025-05-17 19:43:12 +02:00
2aa21625bd
input: ensure seat grabs from exclusive layers can be dismissed (#10418) 2025-05-17 13:06:48 +02:00
2946009006
input: do not send mouse events when outside of a surface (#10416) 2025-05-16 23:39:28 +02:00
Vaxry
a51e639d81
input: disallow virtual keyboards from changing LED state (#10402) 2025-05-14 17:48:17 +01:00
nyx
53bfb92d65
layout: allow interacting with pinned windows when fullscreened (#10326)
* layout: allow interacting with pinned windows when fullscreened

* IHyprLayout: format code

* e
2025-05-08 20:59:51 +02:00
davc0n
9cd5b25745
protocols: refactor class member vars (u-z) (#10282)
* protocols: refactor class member vars (u-z)

* protocols: fix clang format
2025-05-04 23:39:00 +02:00
davc0n
adbae0f74d
protocols: refactor class member vars (a-m) (#10265) 2025-05-04 00:13:29 +02:00
Honkazel
3465efcdc1
internal: Use vecnotinrect instead of !vecinrect (#10262)
* monitor: use vecnotinrect

* inputmanager: vecnotinrect

* clang format
2025-05-03 18:54:15 +02:00
Virt
cdf5736f1a
layerrules: fix abovelock interactivity for touch input (#10253) 2025-05-03 16:07:02 +02:00
davc0n
d9cad5e1b6
protocols: refactor class member vars (core) (#10259) 2025-05-03 16:02:49 +02:00
davc0n
ce821294e2
managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
davc0n
5b3e489108
inputs: refactor class member vars (#10230) 2025-05-01 23:57:11 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars (#10218) 2025-04-30 23:45:20 +02:00
9868b18378
input: don't use pointer hold logic for unmapped surfs
fixes #10215
2025-04-30 00:31:21 +01:00
davc0n
e9c3fcbb64
devices: refactor class member vars (#10206) 2025-04-29 19:51:07 +02:00
davc0n
2118440488
windows: refactor class member vars (#10168) 2025-04-28 22:25:22 +02:00
Virt
4cf62c114e
layerrules: add abovelock to render above lockscreen (#9793) 2025-04-25 16:38:31 +02:00
davc0n
02d7badd15
workspaces: refactor class member vars (#10167) 2025-04-25 02:37:12 +02:00
davc0n
0e80ecc534
layers: refactor class member vars (#10149)
* layers: refactor class member vars

* popups: rename m_WLSurface to m_wlSurface
2025-04-24 20:49:49 +02:00
davc0n
241a4935a2
compositor: refactor class member vars (#10141) 2025-04-22 15:23:29 +02:00
nyx
55e953b383
InputManager: add nofollowmouse (#9994)
* InputManager: add nofollowmouse

with this, focus_follows_mouse=1 acts like focus_follows_mouse=2 on the specific windows defined by the user

* e

* e

biggest e of all time
2025-04-21 20:48:27 +02:00
nyx
d29723cb76
keybinds: allow executing binds not bound to a key (#10102) 2025-04-21 20:47:14 +02:00
nyx
225e13c3cc
InputManager: add config option to disable keybinds per device (#10064) 2025-04-17 02:19:10 +02:00
877fb5b93a time: move to stl's clocks and move timer 2025-04-16 01:37:48 +01:00
MightyPlaza
ffd6cf65e4
windowrules: allow incrementing window props (#9566) 2025-04-16 01:00:40 +02:00
Vaxry
70ae99f521
input/layers: Fix exclusive LS focus / refocus after unmap (#9984) 2025-04-07 20:52:11 +02:00
phonetic112
e59680481d
input: Fix clicking through groupbar tabs (#9606) 2025-03-15 01:22:39 +01:00
Khalid J.
b21edb1a97 input: fix touch calibration matrix overriding
make the default behavior non-overriding to avoid overriding user-set
values elswehere.
2025-03-11 00:51:42 +00:00
nyx
4435f5c546
input: fixup mouse check for flipping x / y (#9529) 2025-03-06 17:33:01 +01:00
nyx
d7e7a29261
input: add flip_x and flip_y for touchpad (#9481) 2025-03-03 21:56:01 +01:00
Indy Ray
f148b96bea
input: Provide a non-zero time for button release triggered during window unmap. (#9513)
It doesn't seem that this is actually required, but it seems more consistant with other areas, such as in CVirtualKeyboardV1Resource::releasePressed.
2025-03-01 16:53:30 +01:00
andrewandreii
59c615c321
input: add follow_mouse_threshold (#9392) 2025-02-17 03:03:27 +01:00
user111111111111111111111111111111111
2bad73354a
core: cleanup header includes (#9088)
Cleanup some unneeded includes to speed up compilation
2025-01-17 15:21:35 +00:00
Maximilian Seidler
5642ed331d
core: move parts of the animation system to hyprutils (#8868)
* core: change animation manager to use Hyprutils::Animation

* config: move animation config to hyprutils animation tree

* use g_pAnimationManager->createAnimation and the new PHLANIMVAR template

* core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks

* core: adapt animated variable usage (dereference the shared pointer)

* misc: bump CMakeLists to hyprutils 0.3.3
2025-01-07 17:55:14 +00:00
de3ad245dc input: add warp_back_after_non_mouse_input
adds cursor:warp_back_after_non_mouse_input

fixes #8675
2024-12-15 23:54:14 +00:00
Vaxry
9f7a96b997
core/data: Use pointer focus for DnD operations (#8707)
fixes #7737
2024-12-14 16:19:56 +01:00
Mike Will
df956a0f6f windowrules: add rules for mouse and touchpad scroll factors (#8655) 2024-12-11 17:27:49 +00:00
Vaxry
8bbeee1173
core: Add clang-tidy (#8664)
This adds a .clang-tidy file for us.

It's not a strict requirement to be compliant, but I tuned it to be alright.
2024-12-07 18:51:18 +01:00
745a82ce8a core: workspace-related function cleanup / refactor
CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
2024-11-22 16:01:02 +00:00
JManch
07052a515b
pointer: map devices across all outputs by default (#8352) 2024-11-11 13:45:33 +00:00
0ccc0ace88 input: ignore non-kb ls-es in refocusLastWindow
ref #8293
2024-11-09 02:25:54 +00:00
4c7a2faf85 input: cleanup device naming logic
ref #8301
2024-11-09 01:53:05 +00:00
nickodei
3b66351eeb
input: Refocus window on scrolling if follows mouse (#8361) 2024-11-08 17:25:37 +00:00
Tom Englund
7c7a84ff60
internal: more profiling less calls and local copies (#8300)
* compositor: reduce amount of window box copies

mousemoveunified can call this very frequently, the cbox copying
actually shows up as an impact in such cases, move it down in the scope
and only do it when necessery.

* core: constify and reference frequent calls

profiling shows these as frequent called functions try to reduce the
amount of copies with references and const the variables.

* pointermgr: remove not used local copy, const ref

remove unneded local copies and const ref cursorsize.

* inputmgr: reduce amount of calls to vectortowindow

the amount of calls to g_pCompositor->vectorToWindowUnified fast ramps
up in cpu usage with enough windows existing and moving the mouse, move
the PWINDOWIDEAL up and reuse it if its already the same.

* protocol: compositor remove unused local copy

remove unused local copy of accumulateCurrentBufferDamage and const
previousBuffer.

* renderer: reduce scope of variables and refactor

move a few variables down in their scopes to reduce the amount of calls
and copies when not needed, also add one more for loop in
renderWorkspaceWindows and store the windows in a vector with
weakpointers that should be rendered, this adds a loop but reduces the
amount of repeated calls to shouldRenderWindow and also makes the rest
of the loops go over way smaller vector when many windows exist.
2024-10-30 23:20:32 +00:00
a0b2169ed6 input: revert #8279 2024-10-30 22:14:43 +00:00
nickodei
ee91df62f0
input: simulate mouse movement after scroll to refocus window (#8279) 2024-10-30 19:12:16 +00:00
Tom Englund
f9b52203f5
internal: optimize cursor move a bit (#8264)
* window: inline and const getWindowMainSurfaceBox

getWindowMainSurfaceBox gets called a lot of times from deep down from
mousemoveunified, profiling mousemoveunified it spends quite a lot of
cpu time in here, let the compiler optimize the call to
getWindowMainSurfaceBox by inlining and making it const. reducing the
overhead.

* inputmgr: return early and use std::any_of

return early in mousemoveunified to reduce the amount of unnecessery
calls to various pointers when not needed, also make isconstrained use
std::any_of instead of for loop to use the STL optimized paths with
hopes and dreams marginally faster.

* decoration: return early, reduce temporar copy

return earlier and reduce the temp copies by using one .lock instead of
two
2024-10-27 17:51:26 +00:00