xpra icon
Bug tracker and wiki

Opened 5 months ago

Closed 4 months ago

Last modified 3 months ago

#2023 closed enhancement (fixed)

let applications tell us about their content type

Reported by: Antoine Martin Owned by: J. Max Mena
Priority: major Milestone: 2.5
Component: server Version: 2.4.x
Keywords: Cc:

Description

Rather than guessing (#1950), the application can tell us exactly what it is doing.

Change History (9)

comment:1 Changed 5 months ago by Antoine Martin

Owner: changed from Antoine Martin to Nathan Hallquist

Done in r20908.

See also ticket:1952#comment:5

@nathan_lstc: you may want to set the "video" content-type on your video windows, and "text" or "picture" on the other ones.

comment:2 Changed 4 months ago by Nathan Hallquist

Is there an easy way to set content-type on startup for programs that don't set their own window properties?

I'm working on getting our developers to implement this, but so far it's not done yet.

comment:3 Changed 4 months ago by Antoine Martin

Is there an easy way to set content-type on startup for programs that don't set their own window properties?

You can set the default content-type for all windows with:

XPRA_DEFAULT_CONTENT_TYPE=video

(or "text" or whatever)
But that's a bad idea as it applies to ALL windows.

A better way is to use the window title or window class (see #1950, ie: browser/xpra/trunk/src/content-type), or the desktop file's category mechanism: #1956

comment:4 in reply to:  3 Changed 4 months ago by Nathan Hallquist

I've found that

xprop -format _XPRA_CONTENT_TYPE 8s -set _XPRA_CONTENT_TYPE video

lets me click on the window and set the property. I've also sent some example code for doing this programatically in WxWidgets to our developers, Still waiting to hear back from them.

In the meantime the above command is good enough. I can tell my users to do that.

Is there a way to tell XPRA to us NVENC *only* on the window with that property set? Is there, perhaps, a smarter way to sidestep the 2 NVENC encoder limitation on GTX?

Nathan

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

comment:5 in reply to:  3 Changed 4 months ago by Nathan Hallquist

Using the "xwininfo" command I think I can even track down the "subwindow" that has the OpenGL (I could be mistaken on this point). If it is, in fact, a "subwindow", does XPRA read it's properties or does it only read properties on windows managed by the window manager (that have _NET_WM_WINDOW_TYPE set)?

If my question is nonsense, please forgive me (and let me know). I'm new to all this.

comment:6 Changed 4 months ago by Antoine Martin

Is there a way to tell XPRA to us NVENC *only* on the window with that property set?

Not at present, but you could set the other windows to "text" which would make it far less likely that they would end up using a video encoder. (see r21020)

Is there, perhaps, a smarter way to sidestep the 2 NVENC encoder limitation on GTX?

Find some license keys. (gdb rwatch is your friend ;)

If it is, in fact, a "subwindow", does XPRA read it's properties or does it only read properties on windows managed by the window manager (that have _NET_WM_WINDOW_TYPE set)?

Xpra is the window manager...
To know which windows xpra is managing, you can use:

$ xpra info | grep xid

It will only read the _XPRA_CONTENT_TYPE property on the windows it manages (those it has an xid for) and not any of their children. (their parent should be an xpra corral window for non-OR windows)

comment:7 Changed 4 months ago by Antoine Martin

Owner: changed from Nathan Hallquist to J. Max Mena

@maxmylyn: this may be of interest, otherwise just close it.

comment:8 Changed 4 months ago by J. Max Mena

Resolution: fixed
Status: newclosed

I'll pass a note along. Closing.

comment:9 Changed 3 months ago by Antoine Martin

Related tweaks:

  • r21247 honour content-type instead of overriding it with video detection, set b-frames attribute in all cases of video content
  • r21248 boost quality for text, lower it for video
  • r21246 tkdiff is text (see #2086)
Note: See TracTickets for help on using tickets.