Notification area ("system tray") missing when using dual monitors of different sizes, with their bottoms aligned

Bug #778256 reported by Jeffery To on 2011-05-06
142
This bug affects 26 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Medium
Unassigned
4.0
Won't Fix
Medium
Unassigned
unity (Ubuntu)
Medium
Unassigned
Oneiric
Medium
Unassigned

Bug Description

Binary package hint: unity

When I have an external monitor attached to my notebook (Thinkpad X201 running Ubuntu 11.04), no notification / system tray icons (for Skype or other whitelisted programs) appear. The notification icons appear correctly when I'm only using the built-in screen.

Related branches

Kruz (info-kruz) wrote :

I can confirm that bug with my Dell E6400, Nvidia Quadro NVS 160M.

Weihua Yao (weihuayao) wrote :

I can confirm this bug.

Thinkpad X61 with latest ubuntu 11.04 natty.

Jeffery To (jefferyto) wrote :

I discovered something interesting when I clicked on the Workspace Switcher.

My laptop screen (1280x800) is on the left, bottom aligned with my desktop monitor (1680x1050) which is on the right. When I activate the Workspace Switcher, I can see my missing notification icons in the invisible area above my laptop screen.

Attached is a screenshot I took of the Workspace Switcher screen (I had set my number of workspaces to 1 for this image). Ignoring the right half of the image (which looks like a different bug), on the left I have a maximized Nautilus window, and above it, at the top of screen, are the tray icons for Skype and DavMail.

Jeffery To (jefferyto) wrote :

So the notification area is still present on my desktop, just in the hidden "dead space" above my laptop monitor.

summary: - Notification area ("system tray") missing when using dual monitors
+ Notification area ("system tray") missing when using dual monitors of
+ different sizes, with their bottoms aligned
Marius Gedminas (mgedmin) wrote :

So, I'm not familiar with Nux, the GUI toolkit that Unity uses. unity/src/PanelTray.cpp has these tantalizing lines of code:

    void
    PanelTray::Draw (nux::GraphicsEngine& gfx_content, bool force_draw)
    {
      nux::Geometry geo = GetGeometry ();

      if (geo.x != _last_x || geo.y != _last_y)
      {
        _last_x = geo.x;
        _last_y = geo.y;

        gtk_window_move (GTK_WINDOW (_window), geo.x + PADDING, geo.y);
      }
    }

It appears to me that geo contains coordinates relative to the parent widget (which is the panel), while _window is a top-level window and wants absolute screen coordinates, and therefore this works only when the panel is at +0+0. If only I knew how to convert relative coordinates to absolute ones in Nux...

Marius Gedminas (mgedmin) wrote :

Some sniffing (does Nux have any documentation? I couldn't find anything more than some doxygen-formatted comments) resulted in a find: Nux has GetGeometry(), GetRootGeometry() and GetAbsoluteGeometry() methods. I think using one of the latter two (and what's the difference? Doxygen comments were not clear enough) might fix the bug.

Marius Gedminas (mgedmin) wrote :

As an experiment I replaced GetGeometry() with GetAbsoluteGeometry(), built a deb, installed it, killed the panel process to get it to restart. ls -l /proc/$pid/exe confirms that I'm running my latest code, according to the timestamp of the executable.

The bug remains unfixed.

Marius Gedminas (mgedmin) wrote :

According to some debug printfs I added to PanelTray.cpp, both GetAbsoluteGeometry() and GetRootGeometry() always return coordinates relative to the top-left corner of a panel.

(And, for extra fun, the systray window is repositioned twice: once for the panel on the left screen, and once for the panel on the right screen. This would cause extra fun if my screens had different widths.)

Marius Gedminas (mgedmin) wrote :

Correction: GetAbsoluteGeometry() works! I'm not sure what I did wrong on my first attempt.

Sebastien Bacher (seb128) wrote :

Thanks for your work Marius, The Ubuntu Summit is happening this week and most of the Unity team is busy so it's likely they will not have time for reviewing your work before next week but that bug is on their list

Rati Gelashvili (ratig) wrote :

I confirm this bug, Ubuntu 11.04 with Unity, thinkpad X201,

Marius, is there any way I can manually fix this bug like you did ?

Marius Gedminas (mgedmin) wrote :

Rati: here's what I did

    sudo apt-get install build-essential devscripts
    sudo apt-get build-dep unity
    apt-get source unity
    $EDITOR unity-*/src/PanelTray.cpp
      find PanelTray::Draw in there and replace GetGeometry() with GetAbsoluteGeometry()
    debuild -i
    sudo dpkg -i ../unity*.deb

I could upload the binary deb files for i386 somewhere if you'd like (and if you trust me not to have inserted any malicious backdoors in there ;). My Debian-fu/time constraints do not extend to setting up PPAs, sadly.

Rati Gelashvili (ratig) wrote :

This is awesome, it worked, thanks a lot Marius ! <3 Unity and Ubuntu

Rati Gelashvili (ratig) wrote :

This is unbelievable, after a recent update icons disappeared again, will try the fix again soon

David D Lowe (flimm) on 2011-05-15
Changed in unity (Ubuntu):
status: New → Confirmed
Omer Akram (om26er) wrote :

There is an update of Unity waiting in the queue, it will reach natty-proposed soon I believe there is a similar fix in that coming version of Unity. I dont have multi-monitors to test this but would be helpful if someone affected by this bug could try that and report here in this bug report.

Didier Roche (didrocks) on 2011-05-30
Changed in unity:
status: New → Confirmed
Rati Gelashvili (ratig) wrote :

so far, after every unity update I have to do this manual fix again .. Do you know when that update is going to be released ?

Marius Gedminas (mgedmin) wrote :

I can reproduce this bug with unity 3.8.14-0ubuntu1~natty1 from natty-proposed.

Neil J. Patel (njpatel) on 2011-06-09
Changed in unity:
status: Confirmed → Fix Committed
Didier Roche (didrocks) on 2011-06-09
Changed in unity (Ubuntu):
status: Confirmed → Fix Committed
Rati Gelashvili (ratig) wrote :

When is the fix going to be distributed ?

Sebastien Bacher (seb128) wrote :

is that still an issue using 3.8.16?

Rati Gelashvili (ratig) wrote :

Yes, the bug is still there

Rati Gelashvili (ratig) wrote :

I updated to 3.8.16, but the same thing happens

I see the same problem. I'm running 3.8.16-0ubuntu1~natty1. If I adjust my layout such that the smaller screen is at the top edge, rather than the bottom, then I see the icons fine.

Annoyingly the system tray is also always on the left screen, even though I set my centre monitor to be my primary (xrandr --output DisplayPort-2 --primary). The unity launcher DTRT, but the system tray does not.

Changed in unity (Ubuntu):
status: Fix Committed → Incomplete
status: Incomplete → Confirmed
Changed in unity:
status: Fix Committed → Confirmed
Miklos Juhasz (mjuhasz) wrote :

I have two screens: 1440x900 on the left and 1920x1080 as my primary screen on the right. They are top aligned and the system tray appeared on top of the global menu on the panel and it was on the bigger screen only.
Replacing the GetGeometry() with GetAbsoluteGeometry() worked for me, see comment https://bugs.launchpad.net/ubuntu/+source/unity/+bug/778256/comments/12
This does not seem to be fixed in Oneiric (unity 4.14.2-0ubuntu1) and definitely not fixed in the latest Natty version (unity_3.8.16-0ubuntu1~natty2_i386)

I can confirm that this bug is still in natty and that the GetAbsoluteGeometry() fix works. I have yet to upgrade to oneiric on my dual-screen system, but I sure hope it's fixed there.

Unity 11.10 - the same problem.

Miklos Juhasz (mjuhasz) wrote :

This bugfix got lost during the merge in revision 1361: http://bazaar.launchpad.net/~unity-team/unity/trunk/revision/1361
It was fixed in revision 1228: http://bazaar.launchpad.net/~unity-team/unity/trunk/revision/1228
The fix landed in June but this way it did not make it into Oneiric and is not part of the latest 5.0 release in Precise either.
Could any Ubuntu developer please check this out? It's a one liner change only.

Omer Akram (om26er) on 2012-01-15
Changed in unity (Ubuntu Oneiric):
importance: Undecided → Medium
Changed in unity:
importance: Undecided → Medium
Changed in unity (Ubuntu):
importance: Undecided → Medium
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity (Ubuntu Oneiric):
status: New → Confirmed
alfonx (skpublic) wrote :

I can confirm the bug for 11.10. If you rotate one of the two screens by 90, you can only do it when the screens are topaligned.. Otherwise the bar is in the "dead space".. a bummer. Please someone help, i sponsor 2 beers via paypal!

tags: added: multimonitor
tags: added: nux
tags: removed: nux
Miklos Juhasz (mjuhasz) wrote :

Omer kindly put the patch under review so the ball is rolling.

In case you want to have this fix asap I uploaded the latest Unity with this patch included into my ppa: ppa:mjuhasz/backports
It also includes the fix for bug #754565 (Shift+click on a launcher icon to open a new application instance) but otherwise it's the same as the Unity 4.28 currently in proposed. Feel free to install and enjoy it until this fix officially lands in the repositories.

Omer Akram (om26er) wrote :

I was waiting for the fix to get into trunk first before proposing the SRU fix.

Could anyone facing the issue please add a SRU test case to the bug description?

Changed in unity:
status: Confirmed → Fix Committed
milestone: none → 5.2.0
Changed in unity (Ubuntu):
status: Confirmed → Fix Committed
Changed in unity (Ubuntu Oneiric):
status: Confirmed → Triaged
Omer Akram (om26er) wrote :

Also this will have to wait a few more days since there is already one unity in oneiric-proposed.

Didier Roche (didrocks) on 2012-02-03
Changed in unity:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (5.4 KiB)

This bug was fixed in the package unity - 5.2.0-0ubuntu1

---------------
unity (5.2.0-0ubuntu1) precise; urgency=low

  * New upstream release.
    - Unity needs a way to switch (tab) between windows on current workspace
      (LP: #863399)
    - compiz crashed with SIGSEGV in BamfLauncherIcon::NameForWindow()
      (LP: #865840)
    - Gradual degradation in desktop performance. (LP: #888039)
    - compiz (unity) crashes with SIGSEGV when a window is minimized.
      (LP: #918329)
    - FavoriteStore external change support (LP: #681503)
    - Launcher - Make Launcher left of screen reveal more responsive and less
      prone to false positives (LP: #765819)
    - Window auto-maximise functionality should be disabled on monitors with a
      resolution above 1024 x 600 (LP: #797808)
    - Dash: very high latency responding to input (LP: #828582)
    - Dash - Behaviour of the 'All' button in the Dash filters broken in
      several ways (LP: #841864)
    - alt-tab - The app title in the top left of the top bar should change as
      the alt-tab focus changes (LP: #855516)
    - Keyboard shortcut - Add keyboard shortcut hint overlay that is displayed
      when a user presses and holds the Super key (LP: #855532)
    - Unity crashes when started in an environment without utouch support
      (LP: #860707)
    - Dash - Remove Dash Home shortcut icons (LP: #885738)
    - Dash - Most Frequently Used apps change to Recently Used, without
      Launcher favorites (LP: #893214)
    - Should have a launcher on every monitor (LP: #915944)
    - Launcher autohide behaviour on multi-monitor (LP: #915946)
    - the unity wrapper should kill compiz before restarting it (LP: #919132)
    - Launcher - Implement workspace/launcher cross interactions (LP: #690143)
    - Application icons should only display windows from the current workspace
      in the window spread (LP: #689733)
    - Notification area ("system tray") missing when using dual monitors of
      different sizes, with their bottoms aligned (LP: #778256)
    - Clicking Nautilus launcher icon fails to open a Nautilus file explorer
      window when copying a file and all other Nautilus windows are closed /
      bamf should skip the taskbar (LP: #784804)
    - Dash - the search box is not aligned correctly relative to the Launcher
      BFB button (LP: #838904)
    - Dash - A expand/collapse arrow is missing from all the filter category
      headers (LP: #841870)
    - Dash - the filter buttons should not have a mouse over state
      (LP: #838901)
    - Dash - the "Filter results" text is the wrong size, wrong font weight,
      and aligned incorrectly in both the vertical and horizontal axis
      (LP: #863240)
    - Add SUPER+TAB switching mode that enables the user to switch
      applications via the Launcher (LP: #891620)
    - Software Centre - automatically add app icon to launcher (LP: #761851)
    - Compiz add transparency to titlebar along with the panel (LP: #912682)
    - The search box is too opaque and dark (LP: #913717)
    - Dash - Make statefulness of Dash Home and Dash Lenses consistent
      (LP: #914759)
    - Unity 5.0: "All" button for filters render as "..." (LP: #91...

Read more...

Changed in unity (Ubuntu):
status: Fix Committed → Fix Released
tsetso (vyrgozunqk) wrote :

Well i can confirm this bug, it also affects me on oneiric ( 12.04 ) with all latest updatest installed.
And to add another thing, systray-apps ( before they dissapear ) where shown only on the secondary monitor ( i don't know if it's a bug or it's intendet to be like that.)

Changed in unity (Ubuntu Oneiric):
status: Triaged → Confirmed

I confirm the bug on oneiric 64 bit version, systray is present only on secondary monitor!

And also on Precise 64 bit version.

Stephen M. Webb (bregma) on 2013-08-06
Changed in unity (Ubuntu Oneiric):
status: Confirmed → Won't Fix
status: Won't Fix → Fix Released
status: Fix Released → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers