summaryrefslogtreecommitdiff
path: root/src/protocols
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix initial xdg-decoration toplevel decoration mode negotiationwouter@wouterbijlsma.nl2024-06-021-0/+2
| | | | | | | | | | | | Clients using zxdg_decoration_manager_v1::get_toplevel_decoration may expect a receiving a zxdg_toplevel_decoration_v1::configure event to determine the initial decoration mode, without having to go through a zxdg_toplevel_decoration_v1::set_mode request. Hyprland was not sending this event, resulting in unwanted decorations being drawn. Specifically, clients using libdecor, e.g. applications using recent GLFW, would draw GTK decorations with artefacts. This change fixes these.
* seat: don't send keymap on empty devicevaxerski2024-06-021-0/+3
|
* xwayland: move to hyprland impl (#6086)Vaxry2024-05-255-1/+162
|
* internal: Replace monitor rule when disabling head. (#6136)Alessio Molinari2024-05-231-1/+8
| | | Closes #5978
* screencopy: use a simple renderer for frame passingvaxerski2024-05-231-2/+2
|
* xdg-shell: fixup positioner behavior with slide and resizevaxerski2024-05-211-15/+19
| | | | | | if sliding and resizing, include the slide in the resize to avoid off-screen surfaces. fixes #6150
* virtual-keyboard: emit event before finishing keyboardVaxry2024-05-171-1/+1
| | | | ref #6123
* tablet: avoid null deref on an empty cursor setVaxry2024-05-171-1/+1
| | | | fixes#6116
* datadevice: guard surface in dnd for nullVaxry2024-05-151-17/+19
| | | | fixes #6076
* primary-selection: move to hyprland implVaxry2024-05-144-13/+496
|
* wlr-data-device: move to hyprland implVaxry2024-05-143-0/+433
|
* wl-data-device: move to hyprland implVaxry2024-05-144-0/+895
|
* seatmgr: Add a grab classVaxry2024-05-144-178/+97
|
* xdg-shell: move to new implVaxry2024-05-145-6/+960
|
* wl_seat: move to hyprland implVaxry2024-05-1410-196/+803
|
* input: fix modifier and leds (#6062)Sungyoon Cho2024-05-141-1/+2
|
* screencopy: don't spam sw cursor locksVaxry2024-05-112-7/+28
|
* presentation-time: move to new implVaxry2024-05-102-0/+198
|
* layer-shell: move to new implVaxry2024-05-092-0/+319
| | | | Also bumps the hw-s dep
* text-input-v3: atomically enable/disable on commitVaxry2024-05-091-7/+11
|
* virtual-keyboard: release keys before destroyVaxry2024-05-092-0/+20
|
* Tablet: move to new implVaxry2024-05-092-0/+892
| | | | Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
* cursor: move to a hyprland implVaxry2024-05-093-20/+26
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* xdg-activation: keep tokens after the resource is deadVaxry2024-05-082-10/+25
| | | | fixes #5957
* foreign-toplevel: bypass no activate focus checksVaxry2024-05-081-4/+3
| | | | | | ref #5939 those are used by focus switchers so they should bypass stuff like focus_on_activate = false
* session-lock: don't allow events from rejected locksVaxry2024-05-072-1/+12
| | | | fixes #5913
* core: chase hyprwayland-scannerVaxry2024-05-071-2/+2
|
* foreign-toplevel-wlr: send current class and title on mapVaxry2024-05-071-2/+2
| | | | fixes #5910
* pointer-constraints: Remove unnecessary cursor warps (#5895)Agent00Ming2024-05-061-6/+0
| | | | | modified: src/protocols/PointerConstraints.cpp Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-0528-80/+75
| | | | | | | | | | | 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.
* protocols: add hyprland_focus_grab_v1 implementation (#5850)outfoxxed2024-05-052-0/+402
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 090358d0d19cc65208641eaefa0a905e99145730. * 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>
* kde-server-decoration: move to new implVaxry2024-05-052-0/+93
|
* input: Introduce basic hyprland HID classesVaxry2024-05-034-28/+28
| | | | | | 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.
* output-management: move to new implVaxry2024-05-032-0/+763
|
* virtual-pointer: move to new implVaxry2024-05-032-0/+222
|
* virtual-keyboard: move to new implVaxry2024-05-032-0/+190
|
* cursor-shape: use - instead of _ in shapesVaxry2024-05-021-21/+21
| | | | ref #5824
* fractional: set scale before configureVaxry2024-05-021-0/+3
| | | | fixes #5842
* protocols: utilize hyprwayland-scanner 0.3.3 functionsVaxry2024-05-0121-147/+104
| | | | stuff like ::version(), ::client(), ::error() etc
* ime-v2: move to new implVaxry2024-05-012-0/+543
|
* sessionLock: remove m_pLastFocus on destroy of surfaceVaxry2024-05-011-0/+4
| | | | fixes #5822
* sessionLock: call wlr_surface_map/_unmap on the surface manuallyVaxry2024-04-301-1/+6
| | | | | | fixes unmapped subsurfaces etc ref #5816
* sessionLock: set locked after emitting eventVaxry2024-04-301-2/+2
| | | | ref #5816
* sessionLock: fix incorrect protocol error raisedVaxry2024-04-301-1/+1
| | | | fixes #5816
* session-lock: move to new implVaxry2024-04-302-0/+304
|
* cursor-shape: allow duplicate devices per pointer resourceVaxry2024-04-302-11/+5
| | | | fixes #5798
* ext-idle-notify: move to new implVaxry2024-04-292-0/+159
|
* xdg-activation: move to new implVaxry2024-04-292-0/+152
|
* wlr-output-power: move to new implVaxry2024-04-292-0/+130
|
* pointer-constraints: don't warp on entering a confined pointerVaxry2024-04-271-1/+2
| | | | ref #5774