xapp window should reflect app name rather than "Xmir root window"

Bug #1542028 reported by kevin gunn on 2016-02-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Pocket Desktop
High
Unassigned
Canonical System Image
High
kevin gunn
Libertine
Status tracked in Devel
Devel
High
Christopher Townsend
Trunk
High
Christopher Townsend
libertine (Ubuntu)
High
Christopher Townsend
xorg-server (Ubuntu)
High
Daniel van Vugt

Bug Description

Launching xapp on ubuntu-pd in windowed mode, results in a window title of "root xmir"
It should reflect the app name in the container.

Related branches

kevin gunn (kgunn72) on 2016-02-04
Changed in canonical-pocket-desktop:
importance: Undecided → High
Changed in puritine (Ubuntu):
importance: Undecided → High
Changed in xorg-server (Ubuntu):
importance: Undecided → High
Changed in canonical-devices-system-image:
importance: Undecided → High
tags: added: xmir
Daniel van Vugt (vanvugt) wrote :

Do you mean "Xmir root window"? If so then that's not a bug. That Mir surface represents the whole X11 desktop. So it's not an app window but is the X11 root window.

If you run Xmir -rootless you will get per-app window names as the apps are actually running in different windows. But the way we use Xmir right now in Unity8 I believe is not -rootless. So it may have any number of apps visible simultaneously and there is no correct "app name" to display for the whole desktop, assuming you have a typical window manager.

That all said, what we might be able to do is somehow deduce at the X server level what the focussed window title is and switch the X server's window title to match it. Although for any use case other than a fullscreen window manager that would be incorrect. But it's theoretically possible to do such an enhancement as an option for Unity8.

What would be better still though would be to enhance Unity8 to support 'Xmir -rootless' if not already, and then the window titles will all look right (as well as dialogs etc).

Changed in xorg-server (Ubuntu):
status: New → Incomplete
kevin gunn (kgunn72) wrote :

we need to do something for users as they don't really care or want to know that the "Mir surface represents the whole X11 desktop. So it's not an app window but is the X11 root window."

unfortunately running -rootless we have the splash window problems.

and right, this is exactly what we want
"we might be able to do is somehow deduce at the X server level what the focussed window title is and switch the X server's window title to match it."

Daniel van Vugt (vanvugt) wrote :

Yeah it's doable, but would be wrong for any use case other than when you have a fullscreen window manager where the window title is also somehow visible. I just realized we must be using a fullscreen window manager, but in a window (!).

So it's a rare use case in theory, but something we should be able to do...

Daniel van Vugt (vanvugt) wrote :

It's very important to know though; are you seeing "Xmir root window" or "root xmir"?

Only the former is Xmir. If the latter then it would be Unity8 not displaying the actual window title (so in that case any Xmir enhancement would not help).

kevin gunn (kgunn72) wrote :

it actually says "Xmir root window", which is weird I felt like it used to say "root xmir".
But i've tried gedit, LO, FF....all say "Xmir root window"

kevin gunn (kgunn72) wrote :

ah, i wonder if we should make this a unity8 change?

because I just noticed that the unity8 system bar actually reflects the application names
"Firefox"
"Gedit
"GIMP Image Editor"
"X-Chat GNOME"
....however all the app windows always say "Xmir root window"

Daniel van Vugt (vanvugt) wrote :

Cool. Seems Unity8 has improved since I worked on this last. Before it wasn't displaying live window titles from the app/Xmir at all, but getting them from the .desktop file. Though comment #6 suggests that's partially still true for the system bar; they sound like names from .desktop files.

Changed in xorg-server (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Incomplete → Triaged
summary: - xapp window should reflect app name rather than "root xmir"
+ xapp window should reflect app name rather than "Xmir root window"
Changed in xorg-server (Ubuntu):
status: Triaged → In Progress
Daniel van Vugt (vanvugt) wrote :

Done, in a series of commits:
https://git.launchpad.net/~xmir-team/xorg-server/+git/xmir/

Unfortunately how well it works depends on the window manager. It worked immediately with no window manager. And took some more effort to work with Matchbox window manager. Also seems to mostly work with Compiz, but not at all with Metacity for some reason.

If you find it's not working as desired, please take a snapshot of:
   $ xwininfo -root -tree
and send it to me.

Changed in xorg-server (Ubuntu):
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

Forgot to mention; you set the title using the -title <string> option. By default it's a fixed string of your choice, but an ampersand tells Xmir to try and guess the window title from the window tree:
   Xmir -title @

It's not enabled by default because it only applies to running single window (non-rootless) Xmir with a single X client, itself in a window.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.17.3-2ubuntu3

---------------
xorg-server (2:1.17.3-2ubuntu3) xenial; urgency=medium

  * debian/patches/xmir.patch:
    - Add ability to set title for XMir (LP: #1542028)
    - Use swapinterval 0 (LP: #1502738)
    - Add sufficient traversal hacks for Matchbox

 -- Robert Ancell <email address hidden> Mon, 15 Feb 2016 17:32:21 -0800

Changed in xorg-server (Ubuntu):
status: Fix Committed → Fix Released
Pat McGowan (pat-mcgowan) wrote :

not sure who is working on this

Changed in canonical-devices-system-image:
assignee: nobody → kevin gunn (kgunn72)
status: New → Confirmed

Xmir still needs to be updated in the Overlay PPA and I will need to make some modifications to Libertine to make use of the "-title @" option. ubuntu-app-laucnh hardcodes the options used in Xmir, so instead of having to patch u-a-l every time, I have a plan to make a script in Libertine that calls Xmir how we want to set and to also set an env var to tell u-a-l to use the script instead.

affects: puritine (Ubuntu) → libertine (Ubuntu)
Changed in libertine (Ubuntu):
status: New → In Progress
Changed in libertine:
status: New → In Progress
importance: Undecided → High
Changed in libertine (Ubuntu):
assignee: nobody → Christopher Townsend (townsend)

Fix committed into lp:libertine at revision 178, scheduled for release in libertine, milestone Unknown

Changed in libertine:
status: In Progress → Fix Committed
Changed in canonical-pocket-desktop:
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libertine - 0.99.11+16.04.20160302-0ubuntu1

---------------
libertine (0.99.11+16.04.20160302-0ubuntu1) xenial; urgency=medium

  [ Chris Townsend ]
  * Add a way to call Xmir with different options than what is hardcoded in
    ubuntu-app-launch. (LP: #1542028)
  * Use '-title @' Xmir option to set proper XMir window titles.
  * Add ability to enable or disable i386 multiarch support in a Libertine
    container. (LP: #1518812)

  [ Stephen M. Webb ]
  * libertine-demo: do not remove the ContainersConfig file if there are still
    containers.
  * remove the unnecessary quotes from the .desktop file.

  [ CI Train Bot ]
  * No-change rebuild.

 -- Christopher Townsend <email address hidden> Wed, 02 Mar 2016 22:06:45 +0000

Changed in libertine (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers