Skip to content

Conversation

@3l0w
Copy link

@3l0w 3l0w commented Sep 26, 2024

Describe your PR, what does it fix/add?

This PR implements the input capture desktop portal with the new protocol defined in hyprwm/hyprland-protocols#8.
Fixes #259
Fixes #64

Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)

Nothing to declare yet.

Is it ready for merging, or does it need work?

It work when used with hyprwm/Hyprland#7919.

TODO List:

  • See if the fd multiplication problem is fixed
  • Calculate the invalids barriers on SetPointerBarriers
  • Replace the trash impl of get_line_intersection by one that follow the specs
  • Warp pointer when the cursor is released by the capturing program
  • Move most of the impl to Hyprland
  • Impl some kind of security around Permission Manager: add permission management for screencopy Hyprland#9930, maybe move some of the impl ive done here to Hyprland
  • See if i limit to only one client, (for now multiple clients can connect, first arrive with his zones, first to be triggered)
  • Fix unable to access tty when captured

Copy link
Member

@vaxerski vaxerski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a bit of a lengthy review, mostly style and guidelines. Many comments apply to the entirety of the PR

@vaxerski
Copy link
Member

tag me for review when ready

@littleblack111
Copy link

littleblack111 commented Oct 25, 2024

hey, uh the new version did not compile with the following error:

[ 22%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/core/PortalManager.cpp.o
/home/system/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp: In member function ‘void CPortalManager::init()’:
/home/system/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp:211:58: error: no matching function for call to ‘createSessionBusConnection(const char [45])’
  211 |         m_pConnection = sdbus::createSessionBusConnection("org.freedesktop.impl.portal.desktop.hyprland");
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/sdbus-c++/sdbus-c++.h:27,
                 from /home/system/xdg-desktop-portal-hyprland/src/core/PortalManager.hpp:4,
                 from /home/system/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp:1:
/usr/include/sdbus-c++/IConnection.h:481:55: note: candidate: ‘std::unique_ptr<sdbus::IConnection> sdbus::createSessionBusConnection()’
  481 |     [[nodiscard]] std::unique_ptr<sdbus::IConnection> createSessionBusConnection();
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IConnection.h:481:55: note:   candidate expects 0 arguments, 1 provided
/usr/include/sdbus-c++/IConnection.h:491:55: note: candidate: ‘std::unique_ptr<sdbus::IConnection> sdbus::createSessionBusConnection(const ServiceName&)’
  491 |     [[nodiscard]] std::unique_ptr<sdbus::IConnection> createSessionBusConnection(const ServiceName& name);
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IConnection.h:491:101: note:   no known conversion for argument 1 from ‘const char [45]’ to ‘const sdbus::ServiceName&’ {aka ‘const sdbus::BusName&’}
  491 |     [[nodiscard]] std::unique_ptr<sdbus::IConnection> createSessionBusConnection(const ServiceName& name);
      |                                                                                  ~~~~~~~~~~~~~~~~~~~^~~~
/home/system/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp: In member function ‘void CPortalManager::startEventLoop()’:
/home/system/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp:366:35: error: ‘class sdbus::IConnection’ has no member named ‘processPendingRequest’; did you mean ‘processPendingEvent’?
  366 |             while (m_pConnection->processPendingRequest()) {
      |                                   ^~~~~~~~~~~~~~~~~~~~~
      |                                   processPendingEvent
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-address-of-temporary’ may have been intended to silence earlier diagnostics
make[2]: *** [CMakeFiles/xdg-desktop-portal-hyprland.dir/build.make:125: CMakeFiles/xdg-desktop-portal-hyprland.dir/src/core/PortalManager.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/xdg-desktop-portal-hyprland.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
-- Install configuration: ""
CMake Error at build/hyprland-share-picker/cmake_install.cmake:52 (file):
  file INSTALL cannot find
  "/home/system/xdg-desktop-portal-hyprland/build/hyprland-share-picker/hyprland-share-picker":
  No such file or directory.
Call Stack (most recent call first):
  build/cmake_install.cmake:47 (include)

@3l0w 3l0w force-pushed the feat/input-capture-impl branch from 37c5d83 to 75a754a Compare October 25, 2024 23:33
@3l0w
Copy link
Author

3l0w commented Oct 25, 2024

I am aware, it is due to the sdbus version bumb, it should be good now

@Azodox
Copy link

Azodox commented Oct 26, 2024

I am having this:

In file included from /home/luke/xdg-desktop-portal-hyprland/src/core/PortalManager.hpp:11,
                 from /home/luke/xdg-desktop-portal-hyprland/src/core/PortalManager.cpp:1:
/home/luke/xdg-desktop-portal-hyprland/src/core/../portals/InputCapture.hpp:2:10: fatal error: dbusDefines.hpp: No such file or directory
    2 | #include "dbusDefines.hpp"
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/xdg-desktop-portal-hyprland.dir/build.make:125: CMakeFiles/xdg-desktop-portal-hyprland.dir/src/core/PortalManager.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/xdg-desktop-portal-hyprland.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
-- Install configuration: ""
-- Installing: /usr/bin/hyprland-share-picker
-- Up-to-date: /usr/bin/hyprland-share-picker
CMake Error at build/cmake_install.cmake:81 (file):
  file INSTALL cannot find
  "/home/luke/xdg-desktop-portal-hyprland/build/xdg-desktop-portal-hyprland":
  No such file or directory.

@@ -0,0 +1,100 @@
#pragma once
#include "dbusDefines.hpp"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#include "dbusDefines.hpp"
#include "../dbusDefines.hpp"

@littleblack111
Copy link

@3l0w
Copy link
Author

3l0w commented Oct 26, 2024

I pushed the fix

@littleblack111
Copy link

i gave feedback in hyprwm/Hyprland#7919

@gptlang
Copy link

gptlang commented Nov 5, 2024

Hyprland 0.44.0 built from branch  at commit 189f6152f1354ae936cafffa7b7dd62af8dd5bd4  (input-capture: fix rebase issues).

Deskflow:

[2024-11-05T00:39:23] ERROR: failed to initialize input capture session, quitting: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.InputCapture” on object at path /org/freedesktop/portal/desktop

Is this currently working?

@littleblack111
Copy link

it works for me. restart ur xdg-desktop-portals after installation

@3l0w
Copy link
Author

3l0w commented Nov 5, 2024

Also make sure that the hyprland.portal file has been copied over /usr/share/xdg-desktop-portal/portals

@littleblack111
Copy link

littleblack111 commented Nov 5, 2024

also, as an update, still consistently have my modifiers always held down on the client and have to restart input leap/the connection(stop then start again) to fix

@gptlang
Copy link

gptlang commented Nov 5, 2024

It seems to work fine now as the server. org.freedesktop.portal.RemoteDesktop is still needed for the client though.

@littleblack111
Copy link

littleblack111 commented Nov 9, 2024

also @3l0w, input capture should not work in ext-session-lock. i.e. rn in hyprlock, you can still control other device via input leap

@littleblack111
Copy link

It seems to work fine now as the server. org.freedesktop.portal.RemoteDesktop is still needed for the client though.

dont know if this will work: https://github.com/waycrate/xdg-desktop-portal-luminous since hyprland is no longer wlroots. but it does have org.freedesktop.portal.RemoteDesktop

@SMQuazi
Copy link

SMQuazi commented Oct 18, 2025

Something weird started happening recently. I'm not sure if it's input-leap or this implementation , but whenever I start the server, there's a portion of my screen that I can no longer move to. It's roughly the size of my side monitors

My hyprland setup

monitor=DP-1, 2560x1440@120, -1440x0, 1, transform, 1
monitor=HDMI-A-1, 3840x2160@120, 0x0, 1, bitdepth, 10, cm, hdr, sdrbrightness, 1.2, sdrsaturation, 1, vrr, 3
monitor=DP-2, 2560x1440@120, 3840x0, 1, transform, 3

the box I can't enter is about 1120 x 1440

fwiw, this doesn't happen in KDE with input-leap so I'm inclined to believe it has something to do with the implementation, which I've used for a while now. Only since the last update that broke my hyprland install has this been happening.

Edit: Hmm, I think what's happening is the box I can't entire is actually 2560x1440. It's just the first monitor is rotated, so it's 1440x2560. And my 2nd monitor blocks off what's remain after the 1440 (2560 -1440 = 1120).

@ZeroSegFault
Copy link

I wanted to report I have been running this with deskflow and two Mac’s for the past few weeks and the experience has been rock solid. If there is any specific testing you require let me know but it’s been solid for me.

@vaxerski
Copy link
Member

vaxerski commented Nov 7, 2025

the Hyprland MR is pending first

@SMQuazi
Copy link

SMQuazi commented Nov 9, 2025

Something weird started happening recently. I'm not sure if it's input-leap or this implementation , but whenever I start the server, there's a portion of my screen that I can no longer move to. It's roughly the size of my side monitors

My hyprland setup

monitor=DP-1, 2560x1440@120, -1440x0, 1, transform, 1
monitor=HDMI-A-1, 3840x2160@120, 0x0, 1, bitdepth, 10, cm, hdr, sdrbrightness, 1.2, sdrsaturation, 1, vrr, 3
monitor=DP-2, 2560x1440@120, 3840x0, 1, transform, 3

the box I can't enter is about 1120 x 1440

fwiw, this doesn't happen in KDE with input-leap so I'm inclined to believe it has something to do with the implementation, which I've used for a while now. Only since the last update that broke my hyprland install has this been happening.

Edit: Hmm, I think what's happening is the box I can't entire is actually 2560x1440. It's just the first monitor is rotated, so it's 1440x2560. And my 2nd monitor blocks off what's remain after the 1440 (2560 -1440 = 1120).

I can confirm it has something to do with the rotated screens. I no longer see this happening after re-adjusting the screens and setting to be horizontal instead of vertical.

@syorito-hatsuki
Copy link

Not sure if that relates to the upper-mentioned text, but I notice that in Discord Vertical rotated screen windows and screen itself shares in 90 degree rotation

@3l0w 3l0w force-pushed the feat/input-capture-impl branch from aa7f2f4 to ab6dc44 Compare November 11, 2025 15:44
@Kaysera
Copy link

Kaysera commented Nov 11, 2025

I think something broke with the compilation. On cmake --build build I get the following error:

/tmp/xdg-desktop-portal-hyprland/src/core/../portals/InputCapture.hpp:45:25: error: ‘CCHyprlandInputCaptureV1’ was not declared in this scope; did you mean ‘CCHyprlandInputCaptureManagerV1’?
   45 |         std::unique_ptr<CCHyprlandInputCaptureV1> whandle;

And inspecting the file InputCapture.hpp the only thing that comes to mind is that the import #include "hyprland-input-capture-v1.hpp" makes reference to a file that does not exist.

In case that it is useful, I'm trying to compile with Fedora 42 and this is my list of dependencies according to cmake

cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
-- Configuring XDPH in Release with CMake
-- Checking deps...
CMake Deprecation Warning at hyprland-share-picker/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Checking for module 'hyprutils>=0.2.6'
--   Found hyprutils, version 0.8.4
-- Checking for modules 'wayland-client;wayland-protocols;libpipewire-0.3>=1.1.82;libspa-0.2;libdrm;uuid;gbm;hyprlang>=0.2.0;hyprutils>=0.2.6;hyprwayland-scanner>=0.4.2'
--   Found wayland-client, version 1.24.0
--   Found wayland-protocols, version 1.45
--   Found libpipewire-0.3, version 1.4.9
--   Found libspa-0.2, version 0.2
--   Found libdrm, version 2.4.126
--   Found uuid, version 2.40.4
--   Found gbm, version 25.1.9
--   Found hyprlang, version 0.6.4
--   Found hyprutils, version 0.8.4
--   Found hyprwayland-scanner, version 0.4.5
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Found wayland-scanner at //usr/share/wayland
-- Configuring done (4.9s)
-- Generating done (0.5s)
-- Build files have been written to: /tmp/xdg-desktop-portal-hyprland/build

Thanks

@3l0w
Copy link
Author

3l0w commented Nov 11, 2025

Hum maybe you are missing the subproject/hyprland-protocols folder, or not up date hyprland-protocols

@Kaysera
Copy link

Kaysera commented Nov 11, 2025

Super weird behavior. I just checked to see if I had the hyprland-protocols and the subproject folder, and I had them installed and the subfolder there with the last update. For reference, I prepared the repo with:

git clone https://github.com/3l0w/xdg-desktop-portal-hyprland
git checkout feat/input-capture-impl
git submodule init && git submodule update

That gave the error I posted before. Even if I go inside the subproject/hyprland-protocols folder and I run the build and install process of the README, the error persists.

But then, if I modify the CMakeLists.txt to avoid the system protocols and force the subproject one, the compilation runs flawlessly.

And what is even weirder, even if I revert the changes of the CMakeLists.txt to use again the system protocols, it compiles just fine (even deleting and re-cloning the repo)

I have been able to replicate this behavior in two separate computers, so I don't really know what or how is happening. I found a solution but I'm at a loss of how or why it works 😅

@frob
Copy link

frob commented Nov 12, 2025

I recently updated to the latest on this branch. All in all this has been very stable.

RE the numlock issue I was having. Pretty sure this is an issue with my machine. I am running Omarchy and this setup has a utility that messes with Capslock/Numlock. Either way, it remains consistent. Every time I move from my server to a client or back I have to turn on Numlock.

The repeat key still doesn't seem to carry over from server to client. This is, by far, the most annoying issue for me.

Something new that I noticed is that keyboard events are no longer being captured if the server is locked. This used to work but it no longer does. I don't know if this was expected behavior or if this is something to do with my setup. Mouse events continue to propagate, move and click.

@Kaysera
Copy link

Kaysera commented Nov 13, 2025

I also updated to the last version, and it works almost great, but I'm finding that if the server goes to sleep, then when it resumes libei seems to be locked and I have to restart. Using input-leap, I get the error [2025-11-13T09:55:56] NOTE: Failed to set up ei: Operation not permitted, but I don't know how to find something more descriptive.

I'm not sure if it has something to do with this input-leap/input-leap#2325, but it does not ask for permissions, there is no popup.

@3l0w
Copy link
Author

3l0w commented Nov 13, 2025

I recently updated to the latest on this branch. All in all this has been very stable.

RE the numlock issue I was having. Pretty sure this is an issue with my machine. I am running Omarchy and this setup has a utility that messes with Capslock/Numlock. Either way, it remains consistent. Every time I move from my server to a client or back I have to turn on Numlock.

The repeat key still doesn't seem to carry over from server to client. This is, by far, the most annoying issue for me.

Something new that I noticed is that keyboard events are no longer being captured if the server is locked. This used to work but it no longer does. I don't know if this was expected behavior or if this is something to do with my setup. Mouse events continue to propagate, move and click.

Currently this impl "capture" the modifiers (num lock, caps lock, etc...), i know that mutter (gnome) doesn't do that
You can try this patch on the Hyprland repo (to apply paste in a file and then do a git apply FILE):

diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp
index 8cd88d02..e19bbad4 100644
--- a/src/managers/input/InputManager.cpp
+++ b/src/managers/input/InputManager.cpp
@@ -1519,11 +1519,6 @@ void CInputManager::onKeyboardMod(SP<IKeyboard> pKeyboard) {
     const bool USEIME = HASIME && !DISALLOWACTION;
     auto       MODS   = pKeyboard->m_modifiersState;
 
-    PROTO::inputCapture->modifiers(MODS.depressed, MODS.latched, MODS.locked, MODS.group);
-
-    if (PROTO::inputCapture->isCaptured())
-        return;
-
     // use merged mods states when sending to ime or when sending to seat with no ime
     // if passing from ime, send mods directly without merging
     if (USEIME || !HASIME) {

If you have better results don't hesitate to tell me, maybe i will make this patch live

@3l0w
Copy link
Author

3l0w commented Nov 13, 2025

I also updated to the last version, and it works almost great, but I'm finding that if the server goes to sleep, then when it resumes libei seems to be locked and I have to restart. Using input-leap, I get the error [2025-11-13T09:55:56] NOTE: Failed to set up ei: Operation not permitted, but I don't know how to find something more descriptive.

I'm not sure if it has something to do with this input-leap/input-leap#2325, but it does not ask for permissions, there is no popup.

Is this consistent ? I will try on my side
And no its not related to that issue you linked, as i said in hyprwm/Hyprland#7919 (comment), you need to enable permission enforcement.

@3l0w 3l0w marked this pull request as draft November 13, 2025 09:45
@Kaysera
Copy link

Kaysera commented Nov 13, 2025

Possibly related to permissions, I did not have them enforced. Probably was using an old version before that did not need them. I will configure them and reply back, thanks a lot!

I have also found that the layout is not being passed properly, but I should check first this in case it is messing something up. My server has the Spanish keyboard layout configured in Hyprland, but the client register English keys 😅

@Kaysera
Copy link

Kaysera commented Nov 13, 2025

I have been checking this today, and it was a permission problem. Now with them enforced the pop-up appears and works as it should, even after waking from sleep. However, I have been finding some more bugs using the latest version of input-leap, 3.0.3:

  • If you disable a monitor, it shows a warning disconnecting from EIS and the permissions pop-up will not appear again (and of course input-leap does not work anymore), only reappearing after a reboot.
  • The permissions button "apply and remember" does not work as it should. It allows the app but upon reboot it does not remember the permissions
  • On that subject, I have not been able to allow them through config either (https://wiki.hypr.land/Configuring/Permissions/). I have tried allowing xdg-desktop-portal-hyprland for keyboard and screencopy, as the popup shows that the one accessing the input is xdg-desktop-portal-hyprland. Should I be allowing input-leap instead? And which one is the correct permission?

If you need me to log anything or give more details, I'm totally available. I wrote down what I thought would be relevant, but if anything else is needed, I'll try to help as much as I can 😁

@3l0w
Copy link
Author

3l0w commented Nov 18, 2025

Possibly related to permissions, I did not have them enforced. Probably was using an old version before that did not need them. I will configure them and reply back, thanks a lot!

I have also found that the layout is not being passed properly, but I should check first this in case it is messing something up. My server has the Spanish keyboard layout configured in Hyprland, but the client register English keys 😅

Huh, quite strange i use the french keyboard and i have no issue at all, since i send the keymap to the client (Eis.cpp#L176)
Maybe try to open the log of hyprland: https://wiki.hypr.land/Contributing-and-Debugging/ and lookout for any Cannot open keymap or Using keymap

@3l0w
Copy link
Author

3l0w commented Nov 18, 2025

I have been checking this today, and it was a permission problem. Now with them enforced the pop-up appears and works as it should, even after waking from sleep. However, I have been finding some more bugs using the latest version of input-leap, 3.0.3:

* If you [disable a monitor](https://wiki.hypr.land/Configuring/Monitors/#disabling-a-monitor), it shows a warning disconnecting from EIS and the permissions pop-up will not appear again (and of course input-leap does not work anymore), only reappearing after a reboot.

* The permissions button "apply and remember" does not work as it should. It allows the app but upon reboot it does not remember the permissions

* On that subject, I have not been able to allow them through config either (https://wiki.hypr.land/Configuring/Permissions/). I have tried allowing xdg-desktop-portal-hyprland for keyboard and screencopy, as the popup shows that the one accessing the input is  xdg-desktop-portal-hyprland. Should I be allowing input-leap instead? And which one is the correct permission?

If you need me to log anything or give more details, I'm totally available. I wrote down what I thought would be relevant, but if anything else is needed, I'll try to help as much as I can 😁

This MR doesn't aim to fix permission manager issues, the popup not appearing until reboot is a normal behavior.
You should allow xdg-desktop-portal-hyprland with "input-capture", but i forget to add it so there is a new commit with the fix on the Hyprland repo
And the monitor disabled who broke everything is quite strange, since i use it everyday

@Kaysera
Copy link

Kaysera commented Nov 18, 2025

Hey, thanks for your time in answering

  • The problem with the keymap does not appear anymore. I think something weird was happening with the permissions and now is working as it should
  • With the new commit, I can set input-capture in the permissions and works perfectly
  • If the popup is normal, I totally understand this MR is not the place, sorry 😅
  • Last thing is that disabling the monitor still breaks the setup. I have built the debug Hyprland mode and enable the debugs, but looking in /run/user/1000/hypr/.../hyprlandd.log gives me too much information, and I don't know what to look for. Do you have some pointers on where I can look for the error, so that we can trace it down?

Thanks

@3l0w
Copy link
Author

3l0w commented Nov 18, 2025

Maybe you should send here the xdph logs and also the input-leap one (set it to debug)

@sithlord48
Copy link

You might also want to try out deskflow in case its an input-leap issue we have fixed already.

@Kaysera
Copy link

Kaysera commented Nov 18, 2025

I changed to the last version of deskflow, but it is still the same. I have logged both deskflow as DEBUG and XDPH, starting the server with everything working, and then plugging a new monitor (which disables my laptop integrated monitor), which causes deskflow to fail. The only thing I'm seeing as a warning is that it seems to have a problem setting or detecting the barrier change when the monitors change.

Thanks!

Here are the logs for deskflow

settings file: /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/Deskflow.conf
[2025-11-18T15:03:34] IPC: peer fingerprint: C8AF04B7ADC7C300CDA5A4E0563BA41016DD3859FA7CAAA66BD3FEFA9BCA3427
[2025-11-18T15:03:34] DEBUG: read 1 fingerprint(s) from file: /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/tls/trusted-clients
[2025-11-18T15:03:34] DEBUG: fingerprint matches trusted fingerprint
[2025-11-18T15:03:34] INFO: accepted secure socket
[2025-11-18T15:03:34] DEBUG: openssl cipher: TLS_AES_256_GCM_SHA384         TLSv1.3 Kx=any      Au=any   Enc=AESGCM(256)            Mac=AEAD
[2025-11-18T15:03:34] INFO: network encryption protocol: TLSv1.3
[2025-11-18T15:03:34] NOTE: accepted client connection
[2025-11-18T15:03:34] DEBUG: saying hello as Barrier, protocol v1.8
[2025-11-18T15:03:34] WARNING: can't open xkb display during reading languages
[2025-11-18T15:03:34] INFO: local languages: en
[2025-11-18T15:03:34] DEBUG: received client "DESKTOP-MNG07K8" info shape=0,-2160 4791x3600 at 0,0
[2025-11-18T15:03:34] DEBUG: active sides: L (0x02)
[2025-11-18T15:03:34] IPC: client "DESKTOP-MNG07K8" has connected
[2025-11-18T15:04:21] INFO: stopping core process (desktop mode)
[2025-11-18T15:04:21] INFO: stopping core desktop process
[2025-11-18T15:04:21] WARNING: desktop process exited with code: 9
[2025-11-18T15:04:38] INFO: starting core server process (desktop mode)
[2025-11-18T15:04:38] INFO: core config file: /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/deskflow-server.conf
[2025-11-18T15:04:38] INFO: running command: /app/bin/deskflow-core server -f --debug DEBUG --name Taidy-Laptop --enable-crypto --address :24800 -c /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/deskflow-server.conf --tls-cert /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/tls/deskflow.pem
[2025-11-18T15:04:38] DEBUG: opening configuration "/home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/deskflow-server.conf"
[2025-11-18T15:04:38] DEBUG: configuration read successfully
[2025-11-18T15:04:38] INFO: using ei screen for wayland
[2025-11-18T15:04:38] DEBUG: adopting new buffer
[2025-11-18T15:04:38] DEBUG: adopting new buffer
[2025-11-18T15:04:38] WARNING: can't open xkb display during reading languages
[2025-11-18T15:04:39] DEBUG: opened display
[2025-11-18T15:04:39] DEBUG: glib thread running
[2025-11-18T15:04:39] DEBUG: setting up input capture session
[2025-11-18T15:04:39] DEBUG: active sides: L (0x02)
[2025-11-18T15:04:39] DEBUG: active sides: L (0x02)
[2025-11-18T15:04:39] IPC: started server, waiting for clients
[2025-11-18T15:04:39] DEBUG: event queue is ready
[2025-11-18T15:04:39] DEBUG: add pending events to buffer
[2025-11-18T15:04:39] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:39] DEBUG: portal input capture session initialized
[2025-11-18T15:04:39] DEBUG: input capture zone, 2560x1440@0,0
[2025-11-18T15:04:39] DEBUG: barrier (left) 1 at 0,0-0,1439
[2025-11-18T15:04:39] DEBUG: eis connection established, fd=15
[2025-11-18T15:04:39] DEBUG: enabling the portal input capture session
[2025-11-18T15:04:39] DEBUG: connected to eis
[2025-11-18T15:04:39] DEBUG: ei: using seat default
[2025-11-18T15:04:39] DEBUG: adding device captured relative pointer
[2025-11-18T15:04:39] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:39] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:04:39] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:39] DEBUG: adding device captured keyboard
[2025-11-18T15:04:39] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:39] DEBUG: device captured keyboard is resumed
[2025-11-18T15:04:39] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:39] DEBUG: opening new socket: C434D760
[2025-11-18T15:04:39] DEBUG: openssl version: OpenSSL 3.3.5 30 Sep 2025
settings file: /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/Deskflow.conf
[2025-11-18T15:04:39] ERROR: tls error occurred (generic failure)
[2025-11-18T15:04:39] ERROR: openssl error: error:0A000126:SSL routines::unexpected eof while reading
[2025-11-18T15:04:39] ERROR: failed to accept secure socket
[2025-11-18T15:04:39] WARNING: client connection may not be secure
[2025-11-18T15:04:40] DEBUG: opening new socket: C43964D0
[2025-11-18T15:04:40] DEBUG: openssl version: OpenSSL 3.3.5 30 Sep 2025
[2025-11-18T15:04:40] IPC: peer fingerprint: C8AF04B7ADC7C300CDA5A4E0563BA41016DD3859FA7CAAA66BD3FEFA9BCA3427
[2025-11-18T15:04:40] DEBUG: read 1 fingerprint(s) from file: /home/guille/.var/app/org.deskflow.deskflow/config/Deskflow/tls/trusted-clients
[2025-11-18T15:04:40] DEBUG: fingerprint matches trusted fingerprint
[2025-11-18T15:04:40] INFO: accepted secure socket
[2025-11-18T15:04:40] DEBUG: openssl cipher: TLS_AES_256_GCM_SHA384         TLSv1.3 Kx=any      Au=any   Enc=AESGCM(256)            Mac=AEAD
[2025-11-18T15:04:40] INFO: network encryption protocol: TLSv1.3
[2025-11-18T15:04:40] NOTE: accepted client connection
[2025-11-18T15:04:40] DEBUG: saying hello as Barrier, protocol v1.8
[2025-11-18T15:04:40] WARNING: can't open xkb display during reading languages
[2025-11-18T15:04:40] INFO: local languages: en
[2025-11-18T15:04:40] DEBUG: received client "DESKTOP-MNG07K8" info shape=0,-2160 4791x3600 at 0,0
[2025-11-18T15:04:40] DEBUG: active sides: L (0x02)
[2025-11-18T15:04:40] IPC: client "DESKTOP-MNG07K8" has connected
[2025-11-18T15:04:46] DEBUG: device captured relative pointer started emulating
[2025-11-18T15:04:46] DEBUG: device captured keyboard started emulating
[2025-11-18T15:04:46] DEBUG: event: motion on primary x=1280 y=720)
[2025-11-18T15:04:46] DEBUG: portal cb activated, id=5
[2025-11-18T15:04:46] DEBUG: event: motion on primary x=-23 y=548)
[2025-11-18T15:04:46] DEBUG: releasing input capture session, id=5
[2025-11-18T15:04:46] INFO: switch from "Taidy-Laptop" to "DESKTOP-MNG07K8" at 4767,-789
[2025-11-18T15:04:46] INFO: leaving screen
[2025-11-18T15:04:46] DEBUG: ignored screen "Taidy-Laptop" update of clipboard 0 (unchanged)
[2025-11-18T15:04:46] DEBUG: ignored screen "Taidy-Laptop" update of clipboard 1 (unchanged)
[2025-11-18T15:04:46] DEBUG: sending clipboard 0 to "DESKTOP-MNG07K8"
[2025-11-18T15:04:46] DEBUG: sent clipboard size=4
[2025-11-18T15:04:46] DEBUG: sending clipboard 1 to "DESKTOP-MNG07K8"
[2025-11-18T15:04:46] DEBUG: sent clipboard size=4
[2025-11-18T15:04:46] DEBUG: device captured relative pointer stopped emulating
[2025-11-18T15:04:46] DEBUG: device captured keyboard stopped emulating
[2025-11-18T15:04:46] DEBUG: device captured relative pointer started emulating
[2025-11-18T15:04:46] DEBUG: device captured keyboard started emulating
[2025-11-18T15:04:46] DEBUG: portal cb activated, id=10
[2025-11-18T15:04:48] INFO: switch from "DESKTOP-MNG07K8" to "Taidy-Laptop" at 36,577
[2025-11-18T15:04:48] INFO: entering screen
[2025-11-18T15:04:48] DEBUG: releasing input capture at x=36 y=577
[2025-11-18T15:04:48] DEBUG: releasing input capture session, id=10 x=36.0 y=577.0
[2025-11-18T15:04:48] DEBUG: device captured relative pointer stopped emulating
[2025-11-18T15:04:48] DEBUG: device captured keyboard stopped emulating
[2025-11-18T15:04:50] DEBUG: device captured relative pointer started emulating
[2025-11-18T15:04:50] DEBUG: device captured keyboard started emulating
[2025-11-18T15:04:50] DEBUG: event: motion on primary x=36 y=577)
[2025-11-18T15:04:50] DEBUG: portal cb activated, id=15
[2025-11-18T15:04:50] DEBUG: event: motion on primary x=-88 y=641)
[2025-11-18T15:04:50] DEBUG: releasing input capture session, id=15
[2025-11-18T15:04:50] INFO: switch from "Taidy-Laptop" to "DESKTOP-MNG07K8" at 4702,-557
[2025-11-18T15:04:50] INFO: leaving screen
[2025-11-18T15:04:50] DEBUG: ignored screen "Taidy-Laptop" update of clipboard 0 (unchanged)
[2025-11-18T15:04:50] DEBUG: ignored screen "Taidy-Laptop" update of clipboard 1 (unchanged)
[2025-11-18T15:04:50] DEBUG: device captured relative pointer stopped emulating
[2025-11-18T15:04:50] DEBUG: device captured keyboard stopped emulating
[2025-11-18T15:04:50] DEBUG: device captured relative pointer started emulating
[2025-11-18T15:04:50] DEBUG: device captured keyboard started emulating
[2025-11-18T15:04:50] DEBUG: portal cb activated, id=20
[2025-11-18T15:04:52] INFO: switch from "DESKTOP-MNG07K8" to "Taidy-Laptop" at 4,624
[2025-11-18T15:04:52] INFO: entering screen
[2025-11-18T15:04:52] DEBUG: releasing input capture at x=4 y=624
[2025-11-18T15:04:52] DEBUG: releasing input capture session, id=20 x=4.0 y=624.0
[2025-11-18T15:04:52] DEBUG: device captured relative pointer stopped emulating
[2025-11-18T15:04:52] DEBUG: device captured keyboard stopped emulating
[2025-11-18T15:04:57] DEBUG: removing device captured relative pointer
[2025-11-18T15:04:57] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:57] DEBUG: adding device captured relative pointer
[2025-11-18T15:04:57] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:57] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:04:57] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:57] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:57] DEBUG: portal cb disabled
[2025-11-18T15:04:57] DEBUG: removing device captured keyboard
[2025-11-18T15:04:57] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:57] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:57] DEBUG: adding device captured keyboard
[2025-11-18T15:04:57] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:57] DEBUG: device captured keyboard is resumed
[2025-11-18T15:04:57] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:57] DEBUG: removing device captured keyboard
[2025-11-18T15:04:57] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:57] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:57] DEBUG: adding device captured keyboard
[2025-11-18T15:04:57] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:57] DEBUG: device captured keyboard is resumed
[2025-11-18T15:04:57] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: removing device captured relative pointer
[2025-11-18T15:04:58] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:58] DEBUG: adding device captured relative pointer
[2025-11-18T15:04:58] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:58] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:04:58] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: removing device captured relative pointer
[2025-11-18T15:04:58] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:58] DEBUG: adding device captured relative pointer
[2025-11-18T15:04:58] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:58] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:04:58] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: removing device captured relative pointer
[2025-11-18T15:04:58] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:58] DEBUG: adding device captured relative pointer
[2025-11-18T15:04:58] DEBUG: logical output size: [email protected]
[2025-11-18T15:04:58] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:04:58] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:04:58] DEBUG: input capture zone, 2880x1800@0,0
[2025-11-18T15:04:58] DEBUG: barrier (left) 1 at 0,0-0,1799
[2025-11-18T15:04:58] DEBUG: input capture zone, 2880x1800@0,0
[2025-11-18T15:04:58] DEBUG: barrier (left) 1 at 0,0-0,1799
[2025-11-18T15:04:58] DEBUG: enabling the portal input capture session
[2025-11-18T15:05:02] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: adding device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: adding device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: adding device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: adding device captured relative pointer
[2025-11-18T15:05:02] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:02] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:02] DEBUG: portal cb disabled
[2025-11-18T15:05:02] DEBUG: input capture zone, 2880x1800@0,0
[2025-11-18T15:05:02] DEBUG: barrier (left) 1 at 0,0-0,1799
[2025-11-18T15:05:02] DEBUG: input capture zone, 0x0@0,0
[2025-11-18T15:05:02] DEBUG: barrier (left) 1 at 0,0-0,-1
[2025-11-18T15:05:02] DEBUG: input capture zone, 2880x1800@0,0
[2025-11-18T15:05:02] DEBUG: barrier (left) 1 at 0,0-0,1799
[2025-11-18T15:05:02] DEBUG: input capture zone, 0x0@0,0
[2025-11-18T15:05:02] DEBUG: barrier (left) 1 at 0,0-0,-1
[2025-11-18T15:05:02] DEBUG: enabling the portal input capture session
[2025-11-18T15:05:02] WARNING: failed to apply barrier 1 (0/0-0/1799)
[2025-11-18T15:05:02] WARNING: failed to apply barrier 1 (0/0-0/-1)
[2025-11-18T15:05:02] DEBUG: input capture zone, 2880x1800@0,0
[2025-11-18T15:05:02] DEBUG: barrier (left) 1 at 0,0-0,1799
[2025-11-18T15:05:02] DEBUG: input capture zone, 2560x1440@1920,0
[2025-11-18T15:05:02] DEBUG: barrier (left) 1 at 1920,0-1920,1439
[2025-11-18T15:05:03] DEBUG: input capture zone, 2560x1440@1920,0
[2025-11-18T15:05:03] DEBUG: barrier (left) 1 at 1920,0-1920,1439
[2025-11-18T15:05:03] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:03] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:03] DEBUG: adding device captured relative pointer
[2025-11-18T15:05:03] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:03] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:05:03] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:03] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:03] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:03] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:03] DEBUG: adding device captured relative pointer
[2025-11-18T15:05:03] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:03] DEBUG: device captured relative pointer is resumed
[2025-11-18T15:05:03] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:03] DEBUG: screen "Taidy-Laptop" shape changed
[2025-11-18T15:05:03] INFO: ei: Disconnected by EIS
[2025-11-18T15:05:03] DEBUG: removing device captured keyboard
[2025-11-18T15:05:03] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:03] DEBUG: removing device captured relative pointer
[2025-11-18T15:05:03] DEBUG: logical output size: [email protected]
[2025-11-18T15:05:03] DEBUG: re-allocating portal input capture connection and releasing active captures
[2025-11-18T15:05:03] WARNING: disconnected from eis, will afterwards commence attempt to reconnect
[2025-11-18T15:05:03] DEBUG: shutting down glib thread
[2025-11-18T15:05:03] DEBUG: eis screen handling portal session closed
[2025-11-18T15:05:03] DEBUG: adopting new buffer
[2025-11-18T15:05:03] DEBUG: discarding 2 event(s)
[2025-11-18T15:05:03] DEBUG: glib thread running
[2025-11-18T15:05:03] DEBUG: adopting new buffer
[2025-11-18T15:05:03] DEBUG: setting up input capture session
[2025-11-18T15:05:03] DEBUG: portal input capture session initialized
[2025-11-18T15:05:03] DEBUG: input capture zone, 2560x1440@0,0
[2025-11-18T15:05:03] DEBUG: barrier (left) 1 at 0,0-0,1439
[2025-11-18T15:05:03] DEBUG: eis connection established, fd=5
[2025-11-18T15:05:03] DEBUG: enabling the portal input capture session

And here are the logs for XDPH

[LOG] Initializing xdph...
[LOG] XDG_CURRENT_DESKTOP set to Hyprland
[LOG] Gathering exported interfaces
[LOG]  | Got interface: wl_seat (ver 9)
[LOG]  | Got interface: wl_data_device_manager (ver 3)
[LOG]  | Got interface: wl_compositor (ver 6)
[LOG]  | Got interface: wl_subcompositor (ver 1)
[LOG]  | Got interface: wl_shm (ver 1)
[LOG]  | Got interface: wp_viewporter (ver 1)
[LOG]  | Got interface: wp_tearing_control_manager_v1 (ver 1)
[LOG]  | Got interface: wp_fractional_scale_manager_v1 (ver 1)
[LOG]  | Got interface: zxdg_output_manager_v1 (ver 3)
[LOG]  | Got interface: wp_cursor_shape_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_idle_inhibit_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_relative_pointer_manager_v1 (ver 1)
[LOG]  | Got interface: zxdg_decoration_manager_v1 (ver 1)
[LOG]  | Got interface: wp_alpha_modifier_v1 (ver 1)
[LOG]  | Got interface: zwlr_gamma_control_manager_v1 (ver 1)
[LOG]  | Got interface: ext_foreign_toplevel_list_v1 (ver 1)
[LOG]  | Got interface: zwp_pointer_gestures_v1 (ver 3)
[LOG]  | Got interface: zwlr_foreign_toplevel_manager_v1 (ver 3)
[LOG] [toplevel] (activate) locks: 1
[LOG]  | Got interface: zwp_keyboard_shortcuts_inhibit_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_text_input_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_text_input_manager_v3 (ver 1)
[LOG]  | Got interface: zwp_pointer_constraints_v1 (ver 1)
[LOG]  | Got interface: zwlr_output_power_manager_v1 (ver 1)
[LOG]  | Got interface: xdg_activation_v1 (ver 1)
[LOG]  | Got interface: ext_idle_notifier_v1 (ver 2)
[LOG]  | Got interface: hyprland_lock_notifier_v1 (ver 1)
[LOG]  | Got interface: ext_session_lock_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_input_method_manager_v2 (ver 1)
[LOG]  | Got interface: zwp_virtual_keyboard_manager_v1 (ver 1)
[LOG]  | Got interface: zwlr_virtual_pointer_manager_v1 (ver 2)
[LOG]  | Got interface: zwlr_output_manager_v1 (ver 4)
[LOG]  | Got interface: org_kde_kwin_server_decoration_manager (ver 1)
[LOG]  | Got interface: hyprland_focus_grab_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_tablet_manager_v2 (ver 1)
[LOG]  | Got interface: zwlr_layer_shell_v1 (ver 5)
[LOG]  | Got interface: wp_presentation (ver 2)
[LOG]  | Got interface: xdg_wm_base (ver 7)
[LOG]  | Got interface: zwlr_data_control_manager_v1 (ver 2)
[LOG]  | Got interface: zwp_primary_selection_device_manager_v1 (ver 1)
[LOG]  | Got interface: xwayland_shell_v1 (ver 1)
[LOG]  | Got interface: zwlr_screencopy_manager_v1 (ver 3)
[LOG] [pipewire] connected
[LOG] [screencopy] init successful
[LOG]  | Got interface: hyprland_toplevel_export_manager_v1 (ver 2)
[LOG]  | Got interface: hyprland_toplevel_mapping_manager_v1 (ver 1)
[LOG] [toplevel mapping] registered manager
[LOG]  | Got interface: hyprland_global_shortcuts_manager_v1 (ver 1)
[LOG] [globalshortcuts] registered
[LOG]  | Got interface: xdg_wm_dialog_v1 (ver 1)
[LOG]  | Got interface: wp_single_pixel_buffer_manager_v1 (ver 1)
[LOG]  | Got interface: wp_security_context_manager_v1 (ver 1)
[LOG]  | Got interface: hyprland_ctm_control_manager_v1 (ver 2)
[LOG]  | Got interface: hyprland_input_capture_manager_v1 (ver 1)
[LOG] [input-capture] initializing input capture portal
[LOG] [input-capture] init successful
[LOG]  | Got interface: hyprland_surface_manager_v1 (ver 2)
[LOG]  | Got interface: wp_content_type_manager_v1 (ver 1)
[LOG]  | Got interface: xdg_toplevel_tag_manager_v1 (ver 1)
[LOG]  | Got interface: xdg_system_bell_v1 (ver 1)
[LOG]  | Got interface: ext_workspace_manager_v1 (ver 1)
[LOG]  | Got interface: ext_data_control_manager_v1 (ver 1)
[LOG]  | Got interface: wp_pointer_warp_v1 (ver 1)
[LOG]  | Got interface: wp_fifo_manager_v1 (ver 1)
[LOG]  | Got interface: wp_commit_timing_manager_v1 (ver 1)
[LOG]  | Got interface: wp_color_manager_v1 (ver 1)
[LOG]  | Got interface: wp_drm_lease_device_v1 (ver 1)
[LOG]  | Got interface: wp_linux_drm_syncobj_manager_v1 (ver 1)
[LOG]  | Got interface: wl_drm (ver 2)
[LOG]  | Got interface: zwp_linux_dmabuf_v1 (ver 5)
[LOG]  | Got interface: wl_output (ver 4)
[LOG] [core] dmabufFeedbackMainDevice
[LOG] Found output name DP-2
[LOG] [toplevel] Activated, bound to 1, toplevels: 7
[LOG] [screencopy] Registered for toplevel export
[LOG] [screenshot] init successful
[LOG] [input-capture] New session:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal2000804471
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | parent_window:
[LOG] [input-capture]  | capabilities : 3
[LOG] [input-capture]  | sessionId : input-capture-0
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal2043440001
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2560 h: 1440 x: 0 y: 0
[LOG] [input-capture] New ConnectToEIS request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal2139208335
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 1
[LOG] [input-capture]  | barrier: 1, [0, 0] [0, 1439] valid: true
[LOG] [input-capture] New Enable request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture] activate, activationId 5, barrierId 1, x -23, y 548
[LOG] [input-capture] New Release request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | activationId: 5
[LOG] [input-capture] activate, activationId 10, barrierId 1, x -37, y 548
[LOG] [input-capture] New Release request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | activationId: 10
[LOG] [input-capture]  | cursorPosition: 36 577
[LOG] [input-capture] activate, activationId 15, barrierId 1, x -88, y 641
[LOG] [input-capture] New Release request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | activationId: 15
[LOG] [input-capture] activate, activationId 20, barrierId 1, x -88, y 639
[LOG] [input-capture] New Release request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | activationId: 20
[LOG] [input-capture]  | cursorPosition: 4 624
[LOG] [core] dmabufFeedbackMainDevice
[LOG] [core] dmabufFeedbackMainDevice
[LOG]  | Got interface: wl_output (ver 4)
[LOG] [core] dmabufFeedbackMainDevice
[LOG] [core] dmabufFeedbackMainDevice
[LOG] Found output name eDP-1
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal202741400
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2880 h: 1800 x: 0 y: 0
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal381654115
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2880 h: 1800 x: 0 y: 0
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal1876796375
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 4
[WARN] [input-capture] Invalid zone set, discarding barriers
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal1959870848
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 5
[LOG] [input-capture]  | barrier: 1, [0, 0] [0, 1799] valid: true
[LOG] [input-capture] New Enable request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG]  | Got interface: wl_output (ver 4)
[LOG] [core] dmabufFeedbackMainDevice
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal1245447178
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2880 h: 1800 x: 0 y: 0
[LOG] [input-capture]  | w: 0 h: 0 x: 0 y: 0
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal732093737
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2880 h: 1800 x: 0 y: 0
[LOG] [input-capture]  | w: 0 h: 0 x: 0 y: 0
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal1219092839
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 8
[WARN] [input-capture] Invalid zone set, discarding barriers
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal623675606
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 9
[LOG] [input-capture]  | barrier: 1, [0, 0] [0, 1799] valid: false
[LOG] [input-capture]  | barrier: 1, [0, 0] [0, -1] valid: false
[LOG] [input-capture] New Enable request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] Found output name DP-2
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal1544893960
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2880 h: 1800 x: 0 y: 0
[LOG] [input-capture]  | w: 2560 h: 1440 x: 1920 y: 0
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal343630721
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 11
[LOG] [input-capture]  | barrier: 1, [0, 0] [0, 1799] valid: true
[LOG] [input-capture]  | barrier: 1, [1920, 0] [1920, 1439] valid: true
[LOG] [core] dmabufFeedbackMainDevice
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal190004392
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2560 h: 1440 x: 1920 y: 0
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal375411429
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1648202081
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 13
[LOG] [input-capture]  | barrier: 1, [1920, 0] [1920, 1439] valid: true
[LOG] [input-capture] Monitor layout has changed, notifing clients
[LOG] [input-capture] Monitor layout has changed, notifing clients
hyprland_input_capture_v1#20: error 1: The barrier id 1 is invalid
[LOG] [input-capture] New session:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal2068978813
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1388851433
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | parent_window:
[LOG] [input-capture]  | capabilities : 3
[LOG] [input-capture]  | sessionId : input-capture-1
[LOG] [input-capture] New GetZones request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal506838400
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1388851433
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | w: 2560 h: 1440 x: 0 y: 0
[LOG] [input-capture] New ConnectToEIS request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1388851433
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture] New SetPointerBarriers request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/request/1_139/portal1545868677
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1388851433
[LOG] [input-capture]  | appid: org.deskflow.deskflow
[LOG] [input-capture]  | zoneSet: 16
[LOG] [input-capture]  | barrier: 1, [0, 0] [0, 1439] valid: true
[LOG] [input-capture] New Enable request:
[LOG] [input-capture]  | /org/freedesktop/portal/desktop/session/1_139/portal1388851433
[LOG] [input-capture]  | appid: org.deskflow.deskflow

@3l0w
Copy link
Author

3l0w commented Nov 18, 2025

Are you sure that xdg-desktop-portal-hyprland is up to date ?
The issue: is the line: hyprland_input_capture_v1#20: error 1: The barrier id 1 is invalid
I am pretty sure that ive fixed it a few weeks ago

@Kaysera
Copy link

Kaysera commented Nov 18, 2025

I'm using the latest version of this branch 3l0w:feat/input-capture. I double checked and recompiled, even edited some logs to verify that the new compilation is the one being used and it is this one 😅

Let me put here the compilation logs, just in case

cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
-- The C compiler identification is GNU 15.2.1
-- The CXX compiler identification is GNU 15.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring XDPH in Release with CMake
-- Checking deps...
CMake Deprecation Warning at hyprland-share-picker/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found WrapVulkanHeaders: /usr/include
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.3.0")
-- Checking for module 'hyprutils>=0.2.6'
--   Found hyprutils, version 0.8.4
-- Checking for modules 'wayland-client;wayland-protocols;libpipewire-0.3>=1.1.82;libspa-0.2;libdrm;uuid;gbm;hyprlang>=0.2.0;hyprutils>=0.2.6;hyprwayland-scanner>=0.4.2'
--   Found wayland-client, version 1.24.0
--   Found wayland-protocols, version 1.45
--   Found libpipewire-0.3, version 1.4.9
--   Found libspa-0.2, version 0.2
--   Found libdrm, version 2.4.126
--   Found uuid, version 2.40.4
--   Found gbm, version 25.1.9
--   Found hyprlang, version 0.6.4
--   Found hyprutils, version 0.8.4
--   Found hyprwayland-scanner, version 0.4.5
-- Checking for module 'sdbus-c++>=2.0.0'
--   Found sdbus-c++, version 2.1.0
-- Checking for module 'hyprland-protocols'
--   Found hyprland-protocols, version 0.7.0
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Found wayland-scanner at //usr/share/wayland
-- Configuring done (2.8s)
-- Generating done (0.1s)
-- Build files have been written to: /tmp/xdg-desktop-portal-hyprland/build
[  2%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/wlr-screencopy-unstable-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/wlr-screencopy-unstable-v1.hpp
[  5%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/ext-foreign-toplevel-list-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/ext-foreign-toplevel-list-v1.hpp
[  7%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-global-shortcuts-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-global-shortcuts-v1.hpp
[ 10%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-input-capture-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-input-capture-v1.hpp
[ 12%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-toplevel-export-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-toplevel-export-v1.hpp
[ 15%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-toplevel-mapping-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/hyprland-toplevel-mapping-v1.hpp
[ 17%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/linux-dmabuf-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/linux-dmabuf-v1.hpp
[ 20%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/wayland.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/wayland.hpp
[ 23%] Generating /tmp/xdg-desktop-portal-hyprland/protocols/wlr-foreign-toplevel-management-unstable-v1.cpp, /tmp/xdg-desktop-portal-hyprland/protocols/wlr-foreign-toplevel-management-unstable-v1.hpp
[ 25%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/core/PortalManager.cpp.o
[ 28%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/helpers/Log.cpp.o
[ 30%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/helpers/MiscFunctions.cpp.o
[ 33%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/helpers/Timer.cpp.o
[ 35%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/main.cpp.o
[ 38%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/portals/GlobalShortcuts.cpp.o
[ 41%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/portals/InputCapture.cpp.o
[ 43%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/portals/Screencopy.cpp.o
[ 46%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/portals/Screenshot.cpp.o
[ 48%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/ScreencopyShared.cpp.o
/tmp/xdg-desktop-portal-hyprland/src/shared/ScreencopyShared.cpp: In function ‘SSelectionData promptForScreencopySelection()’:
/tmp/xdg-desktop-portal-hyprland/src/shared/ScreencopyShared.cpp:51:46: aviso: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   51 |     static auto* const*      PCUSTOMPICKER = (Hyprlang::STRING* const)g_pPortalManager->m_sConfig.config->getConfigValuePtr("screencopy:custom_picker_binary")->getDataStaticPtr();
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
En el ámbito global:
cc1plus: nota: unrecognized command-line option ‘-Wno-address-of-temporary’ may have been intended to silence earlier diagnostics
[ 51%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/Session.cpp.o
[ 53%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/ToplevelManager.cpp.o
[ 56%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/ToplevelMappingManager.cpp.o
[ 58%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/wayland.cpp.o
[ 61%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/wlr-foreign-toplevel-management-unstable-v1.cpp.o
[ 64%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/wlr-screencopy-unstable-v1.cpp.o
[ 66%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/hyprland-global-shortcuts-v1.cpp.o
[ 69%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/hyprland-toplevel-export-v1.cpp.o
[ 71%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/hyprland-toplevel-mapping-v1.cpp.o
[ 74%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/hyprland-input-capture-v1.cpp.o
[ 76%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/linux-dmabuf-v1.cpp.o
[ 79%] Building CXX object CMakeFiles/xdg-desktop-portal-hyprland.dir/protocols/ext-foreign-toplevel-list-v1.cpp.o
[ 82%] Linking CXX executable xdg-desktop-portal-hyprland
[ 82%] Built target xdg-desktop-portal-hyprland
[ 82%] Built target hyprland-share-picker_autogen_timestamp_deps
[ 84%] Automatic MOC and UIC for target hyprland-share-picker
[ 84%] Built target hyprland-share-picker_autogen
[ 87%] Building CXX object hyprland-share-picker/CMakeFiles/hyprland-share-picker.dir/hyprland-share-picker_autogen/mocs_compilation.cpp.o
[ 89%] Building CXX object hyprland-share-picker/CMakeFiles/hyprland-share-picker.dir/main.cpp.o
[ 92%] Building CXX object hyprland-share-picker/CMakeFiles/hyprland-share-picker.dir/mainpicker.cpp.o
[ 94%] Building CXX object hyprland-share-picker/CMakeFiles/hyprland-share-picker.dir/elidedbutton.cpp.o
[ 97%] Linking CXX executable hyprland-share-picker
[100%] Built target hyprland-share-picker
sudo cmake --install build
[sudo] contraseña para guille:
-- Install configuration: ""
-- Installing: /usr/bin/hyprland-share-picker
-- Up-to-date: /usr/bin/hyprland-share-picker
-- Installing: /usr/lib/xdg-desktop-portal-hyprland
-- Installing: /usr/share/xdg-desktop-portal/portals/hyprland.portal
-- Installing: /usr/share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service
-- Installing: /usr/lib/systemd/user/xdg-desktop-portal-hyprland.service

@Kaysera
Copy link

Kaysera commented Nov 18, 2025

I'm using uwsm to launch the Hyprland session, in case it is important. I have checked the docs and it does not say anything related to XDPH, but I don't know if it might be also related

@3l0w
Copy link
Author

3l0w commented Nov 24, 2025

You have a quite strange bug, i will publish a commit to disable the barrier check that make your xdph crash.
The issue is linked to a desync of the monitors xdph knows and the ones Hyprland knows

@Kaysera
Copy link

Kaysera commented Nov 24, 2025

Thanks, I'll test the new commit. If you want to add logging so that I can share it here, I will do it no problem, both for xdph and Hyprland (I currently have it compiled in debug mode)

To add more information in case it could help you, this is how I'm disabling the integrated screen when I connect the external display https://gist.github.com/aron-hoogeveen/217b6d5d7e25bfda606eee94347ba6b6

@frob
Copy link

frob commented Nov 27, 2025

I updated to the latest a couple of days ago and now deskflow doesn't work. I have uninstalled it and I am working through getting it working again. It looks like stuff works until I get to the barrier between server and client and the input disappears. It wont come back to either machine. I have to open a new TTY and switch back to Hypr to get the input back. Odd thing seeing as how the only input that worked was CTL + ALT + F2 to get to the TTY.

@sithlord48
Copy link

sithlord48 commented Nov 27, 2025

deskflow ignores the ctrl+alt+f# shortcuts for this reason, that is in case you wanted to switch ttys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Input Capture Support [Feature Request] EIS Support