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
Sami Liedes
b2a18aa80a
input: Fix disabling tap-to-click ( #7304 )
...
* Allow disabling tap-to-click
* Style fix
2024-08-18 08:14:42 +01:00
Vaxry
92744b5b9a
IPC: Add config descriptions ( #7377 )
...
Thanks @gulafaran for the work
---
Co-authored-by: @gulafaran
2024-08-17 17:33:16 +01:00
Ikalco
fa6ee51367
input: fix leds on kb creation ( #7206 )
2024-08-07 08:44:20 +01:00
MightyPlaza
e989a0bcff
internal: refactor fullscreen states ( #7104 )
...
* refactor fullscreen
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/LayerSurface.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/desktop/Workspace.hpp
modified: src/events/Windows.cpp
modified: src/helpers/Monitor.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/DwindleLayout.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/layout/MasterLayout.hpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/IdleInhibitor.cpp
modified: src/managers/input/InputManager.cpp
modified: src/managers/input/Swipe.cpp
modified: src/protocols/ForeignToplevelWlr.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/config/ConfigManager.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/Swipe.cpp
* fix mapWindow fullscreen
modified: src/events/Windows.cpp
* fix typo
modified: src/desktop/Workspace.cpp
* add fullscreenstate
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
* change syncFullscreen to lower
modified: src/config/ConfigManager.hpp
* initialize fs state
modified: src/desktop/Window.hpp
2024-07-31 19:55:52 +02:00
Sungyoon Cho
9b6ae4f77b
input: fix keyboard leds with multiple keyboards ( #7079 )
2024-07-28 11:46:38 +01:00
MightyPlaza
ad711ef421
input: unify removing currentlyDraggedWindow ( #7071 )
...
modified: src/desktop/Window.cpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/InputManager.cpp
2024-07-27 17:46:19 +01:00
vaxerski
729b47d46d
input: refocus last window on keyboard unfocusable surfaces
...
fixes #4460
2024-07-27 17:49:35 +02:00
Ikalco
e8374e0792
debug: get rid of useless 1s in logs ( #6969 )
...
* get rid of 1s in logs lol
* replace WLR with AQ in logs
2024-07-22 18:06:11 +02:00
Vaxry
efcbcd7297
input: fix invalid usage of dev in setTouchDeviceConfigs
...
ref #6943
2024-07-21 16:45:46 +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
Agent00Ming
8e15f91c24
input: Emulate discrete scrolling from v120 events ( #6881 )
...
* seat: avoid sending axis_stop() when source is wheel
* fix rounding for absolute discrete values greater than 1
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com >
2024-07-18 21:57:08 +02:00
Vaxry
13bc7e1e14
style: fix clang-format
2024-07-13 12:36:35 +02:00
Tom Englund
8ff9410d2c
inputmgr: ensure we dont divide by zero ( #6713 )
...
some weird combination of scrolling/nesting hyprland and closing a
window i managed to divide by zero here, reported by ubsan. add a check
to ensure we dont hit UB.
2024-06-30 13:15:59 +02:00
Vaxry
9c5dd59d4b
input: fix capabilities enum types passed
...
hyprland down to the seat protocol impl expects IHID capabilities, not WL_ ones
ref #6702 #6196
2024-06-29 00:23:02 +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
Vaxry
a99f314106
input: fallback to main surface if not found on window
...
fixes #6421
2024-06-12 18:39:52 +02:00
Vaxry
9d7d5ec3c8
seatmgr: fix missing nullcheck in updateActiveKeyboardData
...
sometimes we may set a keyboard that's about-to-be-deleted, we might as well check for that
additionally avoid setting null keyboards altogether
2024-06-12 17:03:12 +02:00
MightyPlaza
b6bf4afb48
layer: don't close special ws when restoring focus ( #6424 )
...
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/managers/input/InputManager.cpp
2024-06-11 22:56:35 +02:00
outfoxxed
21b9e31bf4
layershell: Fix keyboard focus grabs ( #4968 ) ( #6394 )
2024-06-11 19:35:30 +02:00
outfoxxed
809820921d
sessionLock: fix focus not being tied to mouse ( #6414 )
2024-06-11 17:11:15 +02:00
void0red
d724556b7e
input: fix virtual devices not updating capabilities ( #6366 )
...
Signed-off-by: void0red <void0red@gmail.com >
2024-06-08 17:15:57 +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
Agent00Ming
d0a224a491
seat: discrete round away from zero + high res scrolling ( #6317 )
...
* Discrete scrolling round away from zero
e.deltaDiscrete can be multiples of 30 instead of the usual 120 causing
the rounded value to be 0 when too small causing erratic scrolling.
* Send value120 alongside discrete
Fixes sensitivity issues for clients that support value120 axis events
2024-06-03 22:47:02 +02:00
Vaxry
addd3e7f1a
xwayland: move to hyprland impl ( #6086 )
2024-05-25 22:43:51 +02:00
Can
ce17961aad
keybinds: Added new dispatcher (sendshortcut) ( #6174 )
2024-05-24 20:58:26 +02:00
Vaxry
f8857e6072
input: find surface pos correctly when mouse drag is active
...
fixes #6144
2024-05-18 21:20:01 +01:00
Vaxry
23cd4c7998
seat: update keymap/repeat info on keymap events from keebs
...
fixes #6114
2024-05-17 19:28:33 +01:00
Agent00Ming
3ac0e7ead1
seat: Send discrete event when axis source is scroll wheel ( #6103 )
...
modified: src/managers/SeatManager.cpp
modified: src/managers/input/InputManager.cpp
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com >
2024-05-16 13:30:55 +01:00
Vaxry
7fbe05a250
inputmgr: send pointer motion on ffm != 1
...
fixes #6077
2024-05-15 16:22:45 +01:00
Vaxry
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
Vaxry
fc72df8e58
seatmgr: Add a grab class
2024-05-14 23:13:33 +01:00
Vaxry
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
Vaxry
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
Sungyoon Cho
d0a4a0e0d8
input: fix modifier and leds ( #6062 )
2024-05-14 16:14:43 +01:00
Vaxry
b0861b6709
config: move various cursor-related vars to cursor:
2024-05-09 22:25:20 +01:00
Vaxry
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
Vaxry
c98acaed62
virtual-keyboard: release keys before destroy
2024-05-09 14:07:21 +01:00
Vaxry
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
Vaxry
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
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation ( #5883 )
...
moves std::shared_ptrs to a new implementation
Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
- this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
- reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
- this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
- this is useful in destructors and callbacks.
2024-05-05 17:16:00 +01:00
Vaxry
a3b4923c42
input: ignore destroyed devices in static events
...
fixes #5863
2024-05-04 00:48:25 +01:00
Vaxry
1237732b97
input: Introduce basic hyprland HID classes
...
Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp
Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
2024-05-03 22:40:27 +01:00
Tom Englund
1c73beaf9b
inputmgr: dont double free on hotplug ( #5855 )
...
* inputmgr: dont double free on hotplug
since we are also unrefing the state on hotplugging the keyboard set the
state to nullptr so the destructor if case actually catches its been
already freed.
* keybindgmgr: dont double free on layout switching
d5bf153
added keymap unref at the end of updateXKBTranslationState to
not leak it when exiting, only it causes updateXKBTranslationState to
double free when changing layouts. since its already freed. remove the
unneeded extra xkb_keymap_unref.
2024-05-03 18:10:41 +01:00
Vaxry
2755297670
virtual-pointer: move to new impl
2024-05-03 01:52:05 +01:00
Vaxry
7d49819b5e
virtual-keyboard: destroy on vdestroy event
2024-05-03 00:54:32 +01:00
Vaxry
6aa2d123ae
virtual-keyboard: move to new impl
2024-05-03 00:31:48 +01:00
Vaxry
8bcccf9f0f
ime-v2: move to new impl
2024-05-01 16:41:17 +01:00
Vaxry
90e1411315
session-lock: move to new impl
2024-04-30 16:34:09 +01:00