770956b092
input: don't schedule frame on cursor move on hw cursors
...
spams unnecessary frames. Maybe we should ignore empty damage frame requests too?
ref #3747 #3490
2024-02-15 01:26:48 +00:00
3cca36e773
input: avoid rampant refocuses on popups
2024-02-15 01:24:40 +00:00
b7ab15dc80
input: log cursor image requests
2024-02-15 00:59:04 +00:00
890307532c
input: avoid reassigns of unchanged surfaces in processMouseRequest
2024-02-12 20:02:00 +00:00
e4bb5fa4af
input: focus monitor on mouse down
...
fixes #4649
2024-02-10 17:39:53 +00:00
658f718fa3
input: partially revert #4514
...
issues with refocus in #4649
2024-02-10 17:05:38 +00:00
MightyPlaza
cbadf3e3f3
input: focus window on mouse down on decoration ( #4514 )
...
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
Zach DeCook
df17991b1c
input: Allow disabling touchscreen input ( #4517 )
...
* enable/disable touch device
* ConfigManager: update documentation of 'enabled'
2024-01-24 00:15:01 +00:00
17339e0ae9
input: track exclusive LSes
...
ref #4465
2024-01-19 16:45:34 +01:00
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +01:00
307dd8f511
input: partially revert #4401
...
ref #4465
2024-01-17 14:43:38 +01:00
Zach DeCook
c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer ( #4401 )
...
* Layer: Don't allow a keyboard-layer to steal focus from other layers
* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
scorpion-26
babb9c07b0
swipe: Prevent hiding current workspace when swiping ( #4417 )
...
When workspace_swipe_use_r is enabled, swiping from WS 1 to a non-empty WS 2 would
hide WS 1 (Similar effect to issue #4076 ). This is caused by a faulty
check which doesn't consider, that workspaceIDLeft could be the current
workspace.
This bug is only a problem for r, because m wraps around on WS 1 m-1, whereas r stays on WS 1.
2024-01-11 19:22:40 +01:00
dranull
7c1ac58a4b
input: Ignore some input events when focus is on a layer surface ( #4306 )
...
* No motion events with focus on LS on workspace change
* Don't check scroll events on decorations with focus on LS
2024-01-01 13:02:16 +01:00
dranull
5f8e4068e5
groupbar: Middle click on groupbar to close tab ( #4297 )
...
* Prevent window swapping when the head is removed
* Bring floating windows to top when selected
* Allow clicks on gropubar in fullscreen 1
* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
9242b03317
internal: minor include fixes and missed format
2023-12-29 10:27:09 +01:00
f771c10d1a
renderer: ignore windowRequestedCursorHide
...
ref #4197 , thanks @dtop129
co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull
8321d6be46
internal: Unify input handling on decorations ( #4280 )
...
* Unify input handling on decorations
* Make input methods private
* Optional data
2023-12-28 23:54:41 +01:00
MightyPlaza
6cd82d948f
input: don't steal mouseDown from LS ( #4260 )
...
modified: src/managers/input/InputManager.cpp
2023-12-27 11:44:13 +01:00
Junxuan Liao
53c78ab906
idle: notify idle on tablet inputs ( #4201 )
...
Fixes #4028 .
2023-12-20 17:53:54 +01:00
dusanx
0c74df4f9e
renderer: cursor hiding logic improvements ( #4184 )
...
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
dranull
9ca0c7d814
input: Activate resize_on_border only when key is pressed ( #4170 )
2023-12-16 20:47:58 +00:00
dranull
36fa33f7ca
input: Prevent crash with invalid keyboard layout ( #4157 )
2023-12-15 00:39:03 +00:00
1950c3fc9c
input: unset resize cursor on empty focus
...
fixes #4133
2023-12-12 14:55:48 +00:00
nmzik
53ce7992be
renderer: double lookup fix, input: double conversion fix ( #4124 )
2023-12-11 16:28:22 +00:00
Mihai Fufezan
0c10b8ab2d
input: Add scroll_points option for device ( #4101 )
2023-12-10 16:30:08 +00:00
dd0714c22a
input: add relative_input for tablets
...
closes #2639
2023-12-09 04:07:28 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
swwind
13b4c6de86
input: don't send mouse events on touch ( #4071 )
2023-12-06 14:30:40 +00:00
dranull
cfd94c5b30
input: Stop propagating axis events after valid binds ( #4059 )
2023-12-05 21:16:26 +00:00
2d04cb1cc6
input: make fallback layout us
2023-12-05 00:48:39 +00:00
Wren Baxter
8440a30231
input: fix overzealous mouse capture on resize_on_border ( #4010 )
...
fixes #2456
2023-12-01 01:12:08 +00:00
b2f3623131
events: add keyPress and mouseAxis
...
fixes #4011 fixes #4008
2023-11-30 18:45:12 +00:00
Jibin George
2ce4b94a22
input: Fix custom acceleration profile config ( #3948 )
2023-11-25 14:39:21 +00:00
Junxuan Liao
929c44e361
input: pass mouse input to IME popups ( #3922 )
2023-11-25 14:27:57 +00:00
end-4
646f4bc638
general: add workspace gaps ( #3877 )
...
* anims: workspace gap
* anims: ws gaps: on swipe end
* anims: ws gaps: add missing parentheses
* format
* refractor
* Update Swipe.cpp
* format
* fix swipe to right
* ws gaps: move animations:workspace_gap to general:gaps_workspace
* ws gaps: general:gaps_workspace -> general:gaps_workspaces
2023-11-19 12:33:26 +00:00
Ching Pei Yang
4d6fa6ed0c
pluginapi: add touch event hooks ( #3836 )
2023-11-13 16:32:12 +00:00
47d46aa56c
inputmgr: clean lists in ~dtor
...
ref #3558
2023-11-12 14:03:46 +00:00
69e314207d
internal: replace INT_MAX with WORKSPACE_INVALID
2023-11-12 13:34:54 +00:00
Vaxry
9be6fbf5ea
decorations: Decoration Positioner ( #3800 )
2023-11-11 14:37:17 +00:00
92cb44ddb2
input: don't schedule repaint on cursor move if hardware cursors are in use
2023-11-10 18:49:15 +00:00
Vaxry
55b4f84fea
Internal: Hyprland box implementation ( #3755 )
...
* box impl
* remove unused operators
* missed applyfromwlr
2023-11-04 17:03:05 +00:00
Vaxry
73e78f05ad
Decos: Window decoration flags, shadow improvements ( #3739 )
2023-11-04 13:10:52 +00:00
86318ce04f
input: let input-grabbing decos have prio over resize on border
2023-10-29 23:37:12 +00:00
MightyPlaza
9abfa9efc6
input: handle mouse on decorations ( #3560 )
2023-10-29 20:14:47 +00:00
7a5234a0cc
input: better cursor image infrastructure
...
Improves handling of cursor images/surfaces
Fixes an issue with decos and cursors
Fixes #3471
2023-10-29 18:09:05 +00:00
Antoine Dutot
1d47e2c408
input: fix force_zero_scaling for tablet and touch ( #3644 )
...
* Attempt to fix force_zero_scaling for tablet and touch for XWayland apps.
* Formated using clang-format.
* Simpler way to compute touch origin.
2023-10-27 10:15:29 +01:00
47256a6ed8
input: remove incorrect check in re-enter
...
fixes #3659
2023-10-26 22:21:13 +01:00
92cf1c2337
input: fix mouse down handling on unset last surface
...
fixes #3659
2023-10-26 18:54:19 +01:00
Tyler Schneider
07714dd5bd
input: Apply scaling to cursorPosOnActivate position ( #3664 )
2023-10-26 02:05:10 +01:00
616ff343b7
input: fix warn
2023-10-24 00:53:59 +01:00
98059b52d7
layershell: support ON_DEMAND keyboard mode
...
fixes #2264
2023-10-22 23:32:55 +01:00
a61eb7694d
hooksystem: add callbackinfo struct and cancellable events
2023-10-21 14:52:43 +01:00
André Silva
784f8a88fb
input: don't reset cursor movement timer on simulateMouseMovement ( #3595 )
...
Fixes #2570
2023-10-17 17:00:39 +01:00
Philip Damianik
442209942f
cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ( #3572 )
...
* Replace find() with C++20 starts_with() and ends_with()
* Replace find() with C++20 contains()
2023-10-15 19:07:23 +01:00
MightyPlaza
d537815d43
groups: create group and groupbar config sections ( #3522 )
...
* config: create group section
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* separate group border and groupbar colors
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add new line
modified: config/ConfigManager.cpp
2023-10-10 17:42:45 +01:00
vaxerski
4b3efc73c5
events: fixup empty events not being sent on unmap
...
Ref #3506 https://github.com/hyprwm/Hyprland/issues/3506#issuecomment-1749508111
2023-10-06 01:11:47 +01:00
vaxerski
f803be3d31
input: fixup frame schedule conditions on mouse move
2023-10-04 12:57:37 +01:00
vaxerski
7b002d609b
input: fix warn
2023-09-29 20:06:20 +01:00
vaxerski
e07e64458e
input: fix unused variable warn
2023-09-29 17:55:41 +01:00
vaxerski
a44ab7748f
renderer: optimize render pipeline when there is a solitary client
2023-09-29 17:51:07 +01:00
Vaxry
88b63a00b6
renderer: Tearing implementation ( #3441 )
2023-09-28 21:48:33 +01:00
vaxerski
d48c11cc3f
input: minor constraint fixes
...
Better adjust to constraints that do not set a hint. Fixes #3436
2023-09-28 20:02:00 +01:00
Cascade aka. Isoheptane
6d7dc70f66
input: Add map to region options for tablets ( #3425 )
...
* Add region remap for tablets
* Fix code style
2023-09-27 19:49:30 +01:00
vaxerski
3b445ec849
input: avoid using the wrong surface in drag focus force
2023-09-23 17:20:39 +01:00
vaxerski
de95089552
input: fixup mouse down refocus conditions
...
fixes #3402
2023-09-23 13:30:53 +01:00
vaxerski
fb80cbe415
input: properly track mouse focus on drag operations
2023-09-23 01:28:45 +01:00
vaxerski
b662215fad
input: simplify fullscreen workspace input calculations
...
Fixes an issue with special workspaces not receiving focus above fullscreen windows, and cleans up the code
2023-09-21 23:58:58 +01:00
alaricljs
e4ddfcfa0c
keybinds: implement pushactivetobottom dispacher ( #3217 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-21 22:18:26 +01:00
vaxerski
62efc045d7
input: lock focus to last surface on buttons held
...
fixes #3385
2023-09-20 19:50:46 +01:00
Vaxry
0dbd997003
input: Various constraint handling fixes ( #3381 )
...
Fixes #3204
2023-09-20 16:47:05 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types ( #3380 )
2023-09-20 16:25:03 +01:00
vaxerski
af15b15b4b
input: guard constraint in unconstrainMouse
2023-09-17 16:46:04 +01:00
vaxerski
b9b38424b0
input: fix hints not being used if committed at the beginning
2023-09-15 21:01:54 +01:00
b884544ee6
input: don't refocus on switched workspace on the same monitor
2023-09-13 11:33:36 +01:00
memchr
bc41d7ec85
fix: inconsistent behaviour where last workspace was not saved ( #3261 )
2023-09-11 23:39:24 +01:00
vaxerski
3859607b6c
input: do not process mouse in unsafe state
2023-09-10 23:44:47 +01:00
398e861b55
internal: fix warnings
2023-09-07 16:43:01 +02:00
Philip Damianik
8c83852704
internal: Remove all .c_str()
calls when using std::vformat
( #3198 )
...
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-06 21:45:37 +02:00
Philip Damianik
60c01dab01
config: Integrate HASCONFIG into CConfigManager::getConfigValueSafeDevice ( #3195 )
2023-09-06 19:16:46 +02:00
Philip Damianik
a15e3e1f38
config/input: Improve fallback behavior for unset device config values ( #3184 )
...
* Fix fallback behavior for unset device config values
* Replace overload with default argument for fallback config key
* Remove default value for fallback argument in source
* Fix typos
2023-09-06 16:14:18 +02:00
unrealhoang
f90a009e93
input/config: add button scroll lock ( #3189 )
2023-09-06 14:54:48 +02:00
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +02:00
vaxerski
d9937fcdba
input: minor constraint fixes
...
fixes the confined region, warping issues, etc. Closes #3158
2023-09-04 17:34:19 +02:00
vaxerski
bb0933437f
wlr-ext-workspace: remove protocol impl
...
Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35 ) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
2023-09-01 17:10:03 +02:00
q234rty
5035f5fc68
text-input-v1: Fix preedit styling in chromium ( #3131 )
2023-09-01 16:39:15 +02:00
MightyPlaza
b10cae3010
decos: groupbar mouse interaction ( #3102 )
...
* allow groupbar clicking
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
* remove setting pos inside insertWindowToGroup()
modified: src/Window.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
* add group window by index and group size functions
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/managers/input/InputManager.cpp
* allow dragging into groupbar
modified: src/Window.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
* allow dragging from groupbar
modified: src/managers/KeybindManager.cpp
* try groupbar clicking before border resize
modified: src/managers/input/InputManager.cpp
* block grabbing groupbar on floating (crash)
remove later when crashing is fixed
modified: src/managers/KeybindManager.cpp
* remove redundant { }
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
* implement getWindowDecorationBox()
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fix crash when moveoutofgroup in floating windows
also removes dragging from floating windows limitation
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
* use CRegion in getWindowDecorationBox()
modified: src/helpers/Region.cpp
modified: src/helpers/Region.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* add groupbar scrolling
modified: src/config/ConfigManager.cpp
modified: src/managers/input/InputManager.cpp
* change name to getWindowDecorationRegion()
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* make dragging from group less hacky for floating
modified: src/managers/KeybindManager.cpp
2023-08-30 17:39:22 +02:00
vaxerski
c98a00678c
input: fix xwayland constraint calcs
...
some minor adjustments, fixes #3028
2023-08-30 17:23:35 +02:00
vaxerski
28a90d6055
input: warp in unconstrainMouse
...
XWayland coord translation would fuck up if we did this in destroyConstraint
2023-08-30 13:42:17 +02:00
memchr
f0da0b0be4
input: improved path handling; null check return value of fopen. ( #3061 )
2023-08-25 17:21:55 +02:00
vaxerski
ad085666c1
input: sanitize newlines in device names
...
fixes #3066 by replacing newlines with dashes in device names
2023-08-25 12:17:48 +02:00
end-4
17ea7db23a
gestures: Swipe direction lock ( #3052 )
2023-08-23 22:40:19 +02:00
942ee943f5
input: unify constraint hint logic
...
Unifies the constraint hint logic. Previously, ignoring the stupid conditions, unscaled hints were mistaken with scaled coordinates.
2023-08-18 22:40:23 +02:00
end-4
37a211a2ae
animations: add slidefade and slidefadevert styles for workspaces ( #3008 )
...
* add slidefade and slidefadevert animations
* fix swiping for slidefadevert
* rename minPerc to movePerc for slidefade anim styles
* change default slidefade percentage to 100%
* remove useless comments
* findlastof + 1
* debug logging for slidefade/slidefadevert percentage
2023-08-17 22:30:20 +02:00
MightyPlaza
7155b4c266
renderer: Border improvements ( #2986 )
...
* simplify getting border size
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix border damage and input box
modified: src/Window.cpp
modified: src/managers/AnimationManager.cpp
* add border size in resize_on_border box
modified: src/managers/input/InputManager.cpp
* simplify border (fixes possible typo)
modified: src/Window.cpp
* use updateSpecialRenderData()
modified: Window.cpp
modified: Window.hpp
modified: events/Windows.cpp
modified: layout/DwindleLayout.cpp
modified: layout/IHyprLayout.cpp
modified: layout/MasterLayout.cpp
modified: render/Renderer.cpp
* update window workspace rule data on reload
modified: src/config/ConfigManager.cpp
* use rounding()
modified: src/Window.cpp
2023-08-17 10:13:19 +02:00
0220e4c1ea
input: notify idle about activity on mouse move regardless of focus
2023-08-13 17:46:20 +02:00
MightyPlaza
6295cbe9cb
keybinds: Keep aspect ratio ( #2907 )
2023-08-08 18:52:20 +02:00
Michael
cebab759d5
Close keymap files. Fixes #2904 ( #2905 )
...
Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
2023-08-07 19:34:15 +02:00
vaxerski
7a2027d1fd
input: fix and unify client checking in mouseRequests
2023-08-03 18:44:07 +02:00