xpra icon
Bug tracker and wiki

Opened 4 years ago

Closed 4 years ago

Last modified 2 years ago

#774 closed enhancement (fixed)

more correct synchronization of virtual desktops

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

Description (last modified by Antoine Martin)

Tasks:

  • ensure the server defines _NET_DESKTOP_NAMES and _NET_NUMBER_OF_DESKTOPS to match the client
  • get the value for X11 clients and Windows 10 (which finally supports virtual desktops - Microsoft, welcome to the 1980s)
  • monitor for changes and update the server (the "desktop_size" packet can be augmented for that)

This should allow application which are virtual desktop aware to work properly.

Change History (7)

comment:1 Changed 4 years ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned

Mostly done:

  • r8361: see commit message for details
  • r8362: detect client side changes

With this in place, I can see:

$ xprop -root | egrep "_NET_DESKTOP_NAMES\(UTF8_STRING\)|_NET_NUMBER_OF_DESKTOPS\(CARDINAL\)"
_NET_DESKTOP_NAMES(UTF8_STRING) = "desktop 1", "desktop 2"
_NET_NUMBER_OF_DESKTOPS(CARDINAL) = 2

Or with xpra info:

$ xpra info | egrep "desktops|desktop_names"
client.desktop_names=('desktop 1', 'desktop 2')
client.desktops=2

And changing the preferences on the client side is immediately reflected on the server side.

Remaining TODO:

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

comment:2 Changed 4 years ago by Antoine Martin

Owner: changed from Antoine Martin to alas
Status: assignednew

Ready for testing:

  • r8370 contains the bulk of the changes
  • r8371 adds a test app: "test workspace"
  • r8372: minor fixes

How to test:

  • we now have workspace in xpra info
  • there is an xpra control interface: xpra control :DISPLAY WINDOWID WORKSPACE (ie: xpra control :10 1 2 moves window 1 to workspace 2)
  • the test app can be used to move itself to different workspaces, should work the same inside and outside xpra
  • the client-side window manager can also be used to move windows to different workspaces

No matter which method is used, the value shown in xpra info should be consistent with reality.

Support for win32 and OSX has been moved to #776, as this will take longer.

comment:3 Changed 4 years ago by J. Max Mena

Retested with a r8661 Fedora 21 client, an r8640 OSX client, and an r8647 Win8.1 client against a Fedora 20 r8661 (downloaded from xpra.org/beta) server:

  • Workspace info not found in xpra info (did an xpra info :13 | grep workspace )
  • xpra control :13 3 2 returns
    server returned error code 6
    invalid command
    
  • The test app does not show any workspace information and does not appear to work.
  • This does work. I can move between workspaces by right clicking on the window in Fedora 21(the client computer) and selecting "Move to Workspace Down"

comment:4 Changed 4 years ago by Antoine Martin

OSX client.. Win8.1 client..


MS Windows and OSX clients are not supported for this feature yet: see comment:2 and #776.


Workspace info not found in xpra info


The workspace is only shown if it has been set to something meaningful. (the default is unset)

$ xpra info | grep workspace=
window[1].workspace=0
window[5].workspace=1

xpra control :13 3 2 returns


Oops, sorry about that - I forgot the verb.
The control command to use is:

xpra control :DISPLAY workspace WINDOWID WORKSPACE

ie:

xpra control :DISPLAY workspace 1 2

The test app does not show any workspace information and does not appear to work.


It does not show workspace information, it is used to set it.
(but you have to use a supported OS, not OSX...)

comment:5 Changed 4 years ago by J. Max Mena

Owner: changed from alas to Antoine Martin

retested with CentOS runknown(20150217 beta build from xpra.org/beta) and Fedora 21 r8661 clients against a Fedora 20 r8661 server:

using xpra control :13 workspace 3 0 I can move firefox between workspaces. Interestingly if I use a number higher than the maximum number of workspaces(that is, moving to workspace 4 when I only have 2) it'll just move it to the highest workspace number(in my case 2). This works with both Fedora 21 and CentOS 6.4.

In addition, the python app(now that I know how to use it) works as expected. I can use it to move across workspaces in both Fedora 21 and CentOS 6.4.

edit: and xpra info | grep workspace is showing correct values, as well.

Re-assigning back to you

Last edited 4 years ago by J. Max Mena (previous) (diff)

comment:6 Changed 4 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

if I use a number higher than the maximum number of workspaces it'll just move it to the highest workspace number


Yes, it is capped.

Looks done, closing.

comment:7 Changed 2 years ago by Antoine Martin

Windows 10 support moved to #1442

Note: See TracTickets for help on using tickets.