Gala: Wayland: design window communication API

Created on 3 Sep 2017  路  5Comments  路  Source: elementary/gala

We should design a way to inspect and interact with windows that are currently running, possibly through DBus.

Couple of features that I think should be implemented within the server:

  1. Get a list of currently opened windows
  2. Get information about a particular window:

    • Title

    • State (minimized, maximized)

    • Type (normal, desktop, dock etc.)

    • Icon

    • Size and position

    • The workspace it's currently on

    • The screen it's currently on

    • Process ID

    • Where in the window stack the window is (on top, on bottom)

    • Possibly a unique ID (not needed with DBus)

  1. Performing different actions on a particular window:

    • Minimizing
    • Unminizing
    • Unmaximizing
    • Maximizing
    • Activating
    • Closing
    • Moving to a particular workspace
    • Changing it's size and position (for dock windows)
  2. Receiving information about events:

    • Window workspace changed
    • Window closed
    • Window state changed (minimized, maximized etc.)
    • Window name changed

Feel free to discuss the API in the comments.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

All 5 comments

Who can access this dbus? Any process about any window?

I think any application can now access this information through libbamf and libwnck, so there is no difference although, since we will be implementing this API, we can restrict the access to this information.

I think any application can now access this information through libbamf and libwnck

Sure, but this is a problem and we shouldn't propagate this to wayland-land.

Any process on this?

Was this page helpful?
0 / 5 - 0 ratings