[RFC] WindowMetadata framework fundamentals

Sebastian Kügler sebas at kde.org
Wed Jul 13 00:18:54 UTC 2016


During the Plasma sprint in March, we've been fleshing out plans to create a 
mechanisms for apps to be represented by the shell. 

The goals it to achieve a richer integration between apps and the workspace. 
The idea is that windows can announce a richer set of metadata that can be 
used to enhance the window's representation in the workspace/shell. Think of

- task switchers with more meaningful thumbnails of better quality
- server-side decoration actions to "remote-control" the app
- user-visible features similar to the mpris-controls in the task bar
- currently open document

More thoughts on this are explained on this wiki page
https://community.kde.org/KWin/Window_Metadata (which is not quite up-to-date 
with the implementation I'm proposing here).

These features are achieved by using D-Bus for client-server communication.

I've written some basic components that provide the basic mechanisms for that. 
There's a library for the clients, one for the server, qtquick components for 
both sides, autotests and interactive testing apps. The functionality is 
fairly slim, I've only implemented to allow apps to announce titles and 
thumbnails. The title property is rather simple, the thumbnail property is a 
bit more involved -- the server (compositor, task manager, task switcher, 
etc.) requests thumbnails to be passed via a connection-private file 
descriptor and communicates the semantics over D-Bus.

Here's a run-down of what's currently there. I think it provides a good base 
for the above goals. It's not complete by any means, api docs are also missing 
still (I expect some semantics to change).

Attached, find a README.md file that explains the implementation and its 
components.

The code can be found in the kde:scratch/sebas/windowmetadata repository.

Feedback is most welcome.
-- 
sebas

Sebastian Kügler    •    http://vizZzion.orghttp://www.kde.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: README.md
Type: text/markdown
Size: 7393 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160713/edda0b5e/attachment.bin>


More information about the Plasma-devel mailing list