KActivities: port away from use of quint for window ID handling
Open, Needs TriagePublic

Description

KActivities ResourceInstance(quintptr wid, QObject *parent = nullptr);

KActivities assumes a window ID is a number.

This will be a wayland problem.

IMHO this should be a QWindow so that we have a chance for an implementation to do something in the future. That would bring a QGui dep :/

Adding this as an overload without removing and deprecating the int version would be doable within KF5.

Ultimately we need some way for:

  • applications to set a URI on a UID
  • kactivitymanagerd to know when a surface with that UID is active or not
  • we could go the same way as orca on wayland and have the clients tell kactivitymanagerd directly when they have/lose focus, and skip the WM completely

Though that's arguably more a wayland task than a frameworks task.

davidedmundson renamed this task from KActivities ResourceInstance(quintptr wid, QObject *parent = nullptr); to KActivities: port away from use of quint for window ID handling.
davidedmundson updated the task description. (Show Details)

Action plan:

  • change the DBus API for clients to signal when they get/lose focus
  • this also helps with some needs from PBI
  • daemon will need to support both for a while
  • public API then doesn't /neeeed/ to change, as we can get a window from a winID even on wayland, but it would probably still be neater
ltoscano moved this task from Needs Input to Backlog on the KF6 board.Jun 12 2021, 1:11 PM

Taking a step back, what do we even do with the focus in/out information?

The quick share applet uses this to track what thing is in focus and offers to share that. The whole thing is quite a bit broken though

nicolasfella moved this task from Backlog to In Progress on the KF6 board.Jul 12 2023, 10:18 AM
nicolasfella moved this task from In Progress to Done on the KF6 board.Nov 7 2023, 11:28 PM