xpra icon
Bug tracker and wiki

Opened 4 years ago

Last modified 2 years ago

#794 assigned task

EWMH attributes: missing pieces, incomplete platform support

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: future
Component: core Version: trunk
Keywords: Cc:

Description

Split from #775, overlaps with #723, #772, #773 and #774.

Parts of the spec still missing or incomplete:

  • _NET_WM_ALLOWED_ACTIONS should take into account what the client is capable of (made more difficult by #41) - we should also detect this better rather than just relying on os.name==posix (which evaluates to True on OSX despite the fact that most of these things are meaningless on OSX..)
  • _NET_WM_SYNC_REQUEST (#723)
  • stacking issues: _NET_RESTACK_WINDOW and above / below attributes in configure requests
  • _NET_FRAME_EXTENTS and _NET_REQUEST_FRAME_EXTENTS: we should be able to do something: we already have the values for win23, on X11 we can create temporary unmapped windows on each desktop and send the frame request (and do this whenever the geometry changes), and send the metadata back to the server when we have it... which will require a bit of logic
  • _NET_WM_PING: not urgent but nice to have
  • window icons specified using WM_HINTS (icon_pixmap + icon_mask or icon_window..)
  • _NET_WM_USER_TIME and _NET_WM_USER_TIME_WINDOW: nice to have

Platform specific issues:

  • GTK does not expose the shaded state for windows.. so we don't synchronize it back from the client
  • _NET_WM_MOVERESIZE for win32 and osx (#772)
  • lots of things missing on OSX
  • virtual desktops for win32 and osx (#774 / #776)

Code issues:

  • probably need to refactor xpra.platform.gui...
  • GTK3 (#640)

Change History (6)

comment:1 Changed 3 years ago by Antoine Martin

Status: newassigned

r9733 adds support for synchronizing _NET_WM_STATE_FOCUSED from X11 clients back to the server and cleans up the code a bit.

For win32 and osx, we could emulate this by synthesizing those property changes: either client side whenever the focus changes, or telling the server to take care of it.

comment:2 Changed 3 years ago by Antoine Martin

For _NET_FRAME_EXTENTS and _NET_REQUEST_FRAME_EXTENTS see #919 and #885.

comment:3 Changed 3 years ago by Antoine Martin

Summary: emwh attributes: missing pieces, incomplete platform supportEWMH attributes: missing pieces, incomplete platform support
  • WM_CLASS done in r9661 (some cleanup prep in r9660): we can now synchronize even after the window has been realized (we bypass GTK2 to avoid its obnoxious warning)
  • WM_COMMAND done in r9963

Test applications are included in each commit.

Last edited 3 years ago by Antoine Martin (previous) (diff)

comment:4 Changed 2 years ago by Antoine Martin

Milestone: 0.170.18

comment:5 Changed 2 years ago by Antoine Martin

Milestone: 0.181.0

Milestone renamed

comment:6 Changed 2 years ago by Antoine Martin

Milestone: 1.0future

Remains (all low priority):

  • _NET_WM_ALLOWED_ACTIONS
  • _NET_RESTACK_WINDOW
  • _NET_WM_PING
  • window icons specified using WM_HINTS (icon_pixmap + icon_mask or icon_window..) - not used anywhere?
  • _NET_WM_USER_TIME and _NET_WM_USER_TIME_WINDOW - GTK already does this...
  • virtual desktops for win32 and osx (#774 / #776)
Note: See TracTickets for help on using tickets.