eed1361f39
wlr-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
fc72df8e58
seatmgr: Add a grab class
2024-05-14 23:13:33 +01:00
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
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
8562d38477
screencopy: don't spam sw cursor locks
2024-05-11 22:10:42 +01:00
a7e23d2f1e
presentation-time: move to new impl
2024-05-10 02:38:54 +01:00
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
d7aed240db
text-input-v3: atomically enable/disable on commit
2024-05-09 14:27:48 +01:00
c98acaed62
virtual-keyboard: release keys before destroy
2024-05-09 14:07:21 +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
e4e84064f2
xdg-activation: keep tokens after the resource is dead
...
fixes #5957
2024-05-08 22:17:17 +01:00
5e7925eaeb
foreign-toplevel: bypass no activate focus checks
...
ref #5939
those are used by focus switchers so they should bypass stuff like focus_on_activate = false
2024-05-08 01:31:22 +01:00
22a86fd7a2
session-lock: don't allow events from rejected locks
...
fixes #5913
2024-05-07 18:43:00 +01:00
ec092bd601
core: chase hyprwayland-scanner
2024-05-07 14:28:26 +01:00
0acad88c3c
foreign-toplevel-wlr: send current class and title on map
...
fixes #5910
2024-05-07 11:48:08 +01:00
Agent00Ming
fa69de8ab6
pointer-constraints: Remove unnecessary cursor warps ( #5895 )
...
modified: src/protocols/PointerConstraints.cpp
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-05-06 17:19:26 +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
outfoxxed
aaf35b9f1f
protocols: add hyprland_focus_grab_v1 implementation ( #5850 )
...
* protocols: add hyprland_focus_grab_v1 implementation
* protocols/focus_grab: fix keyboard focus staying on unlisted windows
When creating a focus grab with layershell surfaces, the last active
toplevel kept keyboard focus.
* protocols/focus_grab: fix formatting
* protocols/focus_grab: try to pick surface for keyboard focus
* focus_grab: update keyboard focus to match spec
* Revert "protocols/focus_grab: try to pick surface for keyboard focus"
This reverts commit 090358d0d1
.
* protocols/focus_grab: fix issues and match new spec
* kde-server-decoration: move to new impl
* protocols/focus_grab: review fixup
* Update hyprland-protocols
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-05-05 03:14:35 +01:00
62eadad20f
kde-server-decoration: move to new impl
2024-05-05 02:00:55 +01:00
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
8a2269272b
output-management: move to new impl
2024-05-03 18:08:04 +01:00
2755297670
virtual-pointer: move to new impl
2024-05-03 01:52:05 +01:00
6aa2d123ae
virtual-keyboard: move to new impl
2024-05-03 00:31:48 +01:00
a3ca016d42
cursor-shape: use - instead of _ in shapes
...
ref #5824
2024-05-02 16:21:33 +01:00
eeb78ef965
fractional: set scale before configure
...
fixes #5842
2024-05-02 15:13:47 +01:00
0237e39f74
protocols: utilize hyprwayland-scanner 0.3.3 functions
...
stuff like ::version(), ::client(), ::error() etc
2024-05-01 19:40:35 +01:00
8bcccf9f0f
ime-v2: move to new impl
2024-05-01 16:41:17 +01:00
ed58cc4c31
sessionLock: remove m_pLastFocus on destroy of surface
...
fixes #5822
2024-05-01 02:33:36 +01:00
70ebc3add3
sessionLock: call wlr_surface_map/_unmap on the surface manually
...
fixes unmapped subsurfaces etc
ref #5816
2024-04-30 21:59:07 +01:00
a09103cd38
sessionLock: set locked after emitting event
...
ref #5816
2024-04-30 21:20:06 +01:00
dbb8b294d6
sessionLock: fix incorrect protocol error raised
...
fixes #5816
2024-04-30 20:02:30 +01:00
90e1411315
session-lock: move to new impl
2024-04-30 16:34:09 +01:00
5e6f7b1cdb
cursor-shape: allow duplicate devices per pointer resource
...
fixes #5798
2024-04-30 00:05:29 +01:00
f2b03e9679
ext-idle-notify: move to new impl
2024-04-29 17:50:07 +01:00
86133983a9
xdg-activation: move to new impl
2024-04-29 16:43:24 +01:00
33e0bb1478
wlr-output-power: move to new impl
2024-04-29 01:38:24 +01:00
2e763764bf
pointer-constraints: don't warp on entering a confined pointer
...
ref #5774
2024-04-27 21:15:33 +01:00
e400a288d0
pointer-constraints: remove emoji to fix clang
...
fixes #5765
2024-04-27 13:27:24 +01:00
Vaxry
bca7804bb6
internal: Window storage rework - part 1 ( #5762 )
...
* Window storage rework - part 1
* format
* remove useless include
* fix pch
* format
* fix crash in dwindle
* fix vram leak
* prefer .expired() for bool checks
2024-04-27 12:43:12 +01:00
25aec3ac8c
pointer-constraints: move to new impl
2024-04-27 03:17:04 +01:00
d9ec2785cb
wlr-foreign-toplevel: send done after property changes
...
fixes #5753
2024-04-26 13:14:50 +01:00
1d40af64d3
text-input-v3: move to new impl
2024-04-25 23:27:44 +01:00
9fc3cb5629
foreign-toplevel: fix bad_any_cast in moveWindow
...
fixes #5740
2024-04-25 16:35:09 +01:00
01df3b73d8
shortcuts-inhibitor: move to new impl
2024-04-25 14:32:35 +01:00
ecf282d331
wlr-foreign-toplevel: move to new impl
2024-04-25 01:10:43 +01:00
3878f806ff
pointer-gestures: move to new impl
2024-04-24 21:36:56 +01:00
d86eec332f
idle-inhibit: don't destroy inhibitor on surface destroy
...
fixes #5731
2024-04-24 19:15:01 +01:00
e5fa0007a5
foreign: fix no-pch builds
2024-04-24 16:03:56 +01:00
0d1bb65c75
ext-foreign-toplevel: add implementation
2024-04-24 15:48:06 +01:00
012a2802e0
Protocols: implement protoLog
2024-04-22 18:44:25 +01:00
741c75d907
gamma-control: move to new impl
2024-04-22 18:21:03 +01:00
8afdb8403b
style: fix clang-format
2024-04-21 21:29:37 +01:00
Tom Englund
f041d763ae
relative-pointer: fix missing header for g_pCompositor ( #5681 )
2024-04-21 21:24:07 +01:00
f587c3e0ba
alpha-modifier: add support for protocol
2024-04-21 21:21:22 +01:00
87173bd09d
protocols: fix for hyprwayland-scanner update
2024-04-21 21:20:48 +01:00
ed69502ff6
xdg-decoration: move to new impl
2024-04-21 20:04:58 +01:00
4954dcbbb3
relative-pointer: move to new impl
2024-04-21 19:30:23 +01:00
55f1f3fedf
protocols: minor style improvements to new impls
2024-04-21 19:29:45 +01:00
d9fe1d0f58
idle-inhibit: move to new impl
2024-04-21 16:54:52 +01:00
30e4b404f2
cursor-shape: move to new impl
2024-04-21 01:49:23 +01:00
4ad739ec63
HookSystem: improve callback safety
2024-04-20 20:16:42 +01:00
1055e6bee6
wayland-protocol: remove unused CWaylandResource
2024-04-20 19:40:01 +01:00
84ee839ca6
XDG-Output: move to hyprwayland-scanner
2024-04-20 19:39:59 +01:00
ea47e8c92a
Fractional-scale: move to new impl
2024-04-20 14:19:16 +01:00
Vaxry
ea95449402
core: Move tearing to hyprwayland-scanner ( #5657 )
...
Adds a new dependency: hyprwayland-scanner https://github.com/hyprwm/hyprwayland-scanner
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-04-20 13:25:29 +01:00
1ebc32f5f4
tearing-control: search through all valid windows
...
ref #5655
2024-04-20 00:08:49 +01:00
Vaxry
b52a49b4c4
tearing-control: hyprland impl ( #5655 )
...
* tearing: hl impl
* format
2024-04-19 22:16:35 +01:00
Sungyoon Cho
c4b660a339
IME: fix crash on restarting IME ( #5428 )
2024-04-04 17:34:04 +01:00
d605e47511
renderer: block screen shader on screencopy
2024-04-03 21:35:16 +01:00
efdc1af044
renderer: some fixes for renderModif
2024-04-03 14:09:58 +01:00
9f2ed02f35
IME/TI: Fixes and refactoring
...
Fixes #5189
2024-03-22 23:08:52 +00:00
d2b42e29c6
IME: fix crashes with destroyed text-inputs
...
ref #5189
2024-03-22 18:45:28 +00:00
joshua
5c1097cbc1
IME: Improve handling of text-input and ime-relay ( #5147 )
...
* input: Handling multiple surfaces for the text-input-v1 protocol implementation and imporve InputMethodRelay logic
fixes #2708
* clang-format
* minor style nits
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-03-19 15:54:33 +00:00
49f5fd59ad
opengl: minor adjustment to getPreferredReadFormat
...
fixes #4791
2024-03-19 02:42:39 +00:00
063708df26
config: improve config value infrastructure
2024-03-03 18:41:38 +00:00
cc94123fa7
renderer: minor fixes to transformations
2024-03-03 02:18:06 +00:00
GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
98034fea3c
screencopy: send full frame damage
...
fixes #4855
2024-02-27 14:51:27 +00:00
21f7f32dc9
screencopy: avoid dangling client ptrs on client destroy
2024-02-27 12:23:59 +00:00
8c3613632a
renderer: nuke lastFrameDamage and rework finalDamage
...
this fucking SUCKED
2024-02-23 01:02:32 +00:00
94aeb06d6b
toplevelexport: set last damage for dmabuf copy
2024-02-22 03:10:01 +00:00
02c9a2d769
screencopy: damage entire screen on a no-damage request
2024-02-20 15:22:54 +00:00
e793f10b8b
screencopy: fix invalid damage being used for final copy in dma
2024-02-19 20:05:51 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
a42b984f51
screencopy: fix ~dtor being in monitorRenderResources map
2024-02-15 02:01:40 +00:00
ef490965a2
screencopy: attempt binding framebuffer before gathering format
2024-02-15 00:59:06 +00:00
a6ccd36147
screencopy: move monitor verif check to the proper place
...
oops
2024-02-07 23:47:14 +00:00
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
b1b8d732e6
toplevelexport: fix missed pmonitor set for opengl
...
ref #4165
2023-12-15 21:20:13 +00:00
4e5d9b90c0
toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
...
ref #4165
2023-12-15 21:04:34 +00:00
aa020a2a1a
toplevel-export: commence render pass before reading
...
fixes #4070
2023-12-07 17:58:13 +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
ab66fa430e
screencopy: fix glReadPixels offset
...
fixes #4042
2023-12-05 20:04:53 +00:00
da863459c4
screencopy: fix legacyrenderer builds
...
fixes #4044
2023-12-05 14:59:12 +00:00
83248b6936
toplevelexport: fix getPreferredReadFormat param in captureToplevel
...
fixes #4043
2023-12-05 14:43:54 +00:00
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00
45d3fbb8d8
opengl: free window framebuffers in ~dtor
...
ref #4036
2023-12-04 01:44:16 +00:00