Docky doesn't show windows dragged from another desk when CurrentDesktopOnly is enabled

Bug #581077 reported by Colin Keenan
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Docky
Fix Released
Low
Robert Dyer

Bug Description

colin@ubuntu:~$ docky -d
[Info 15:00:38.493] Docky version: 2.1.0 bzr docky r1343 ppa
[Info 15:00:38.552] Kernel version: 2.6.32.22
[Info 15:00:38.571] CLR version: 2.0.50727.1433
[Debug 15:00:40.561] [UserArgs] BufferTime = 10
[Debug 15:00:40.566] [UserArgs] MaxSize = 2147483647
[Debug 15:00:40.566] [UserArgs] NetbookMode = False
[Debug 15:00:40.566] [UserArgs] NoPollCursor = False
[Info 15:00:41.305] [DockController] Setting theme: Classic
[Debug 15:00:41.633] [WindowMatcher] Initialize WindowMatcher
[Debug 15:00:41.725] [WindowMatcher] Loading /home/colin/.cache/docky/docky.desktop.en_US.utf8.cache
[Info 15:00:44.146] [DrawingService] Could not find 'banshee', using fallback of 'extension'.
[Info 15:00:44.267] [DrawingService] Could not find 'deluge', using fallback of 'extension'.
[Info 15:00:44.301] [DrawingService] Could not find 'emesene', using fallback of 'extension'.
[Info 15:00:44.340] [DrawingService] Could not find 'gajim', using fallback of 'extension'.
[Info 15:00:44.398] [DrawingService] Could not find 'gtg', using fallback of 'extension'.
[Info 15:00:44.469] [DrawingService] Could not find 'liferea', using fallback of 'extension'.
[Info 15:00:44.559] [DrawingService] Could not find 'pidgin', using fallback of 'extension'.
[Info 15:00:44.597] [DrawingService] Could not find 'rhythmbox', using fallback of 'extension'.

Docky 2.1.0 on Ubuntu Lucid
X Server Information: Version 11.0, Vendor Version 1.7.6 (10706000), NV-CONTROL Version 1.12
GeForce MX 420 VBIOS 04.17.00.45.af, 64MB, AGP4X on a DELL E772c (CRT-0)
Gnome 2.30.0
Mono JIT compiler version 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4)

How to reproduce problem:

Use gconf-editor to activate CurrentDesktopOnly and Docky does what is expected except for when dragging windows from another desk to the current desk.

I am using metacity and have completely removed compiz. I have 3 desk workspaces (not 1 desk with 3 views).

I have a top-of-screen gnome-panel that has the workplace switcher applet on it.

That switcher shows an icon for the active window in each desk, and allows me to move a window from one desk to another by dragging the icon in the desktop switcher.

If I drag a window from the current desk to another desk, Docky correctly removes that icon from itself.

However, if I drag a window from another desk to the current desk, Docky doesn't show the new window. If I bring another open window on top of the one I dragged, I now have no way to access the one I dragged. Minimizing and maximizing the one I dragged also does not make it appear on Docky.

Docky fixes itself if I switch to a different desk and back again, or if I open a new window on the desk that Docky isn't showing everything on.

I realize the "Current Desktop Only" feature probably isn't fully implemented otherwise I could set it without using gconf-editor, but is there an easy way to refresh Docky without opening a new window or switching desktops?

Revision history for this message
Colin Keenan (colinkeenan) wrote :
Robert Dyer (psybers)
Changed in docky:
importance: Undecided → Low
assignee: nobody → Robert Dyer (psybers)
Revision history for this message
Colin Keenan (colinkeenan) wrote :

I don't know what's happened, but ever since I reported this bug, Docky doesn't show any open windows on any desktop when CurrentDesktopOnly is enabled unless a new window is opened.

I've been using Docky for a couple of days in CurrentDesktopOnly without problem other than the bug I just reported. Now all of a sudden, Docky is useless with this feature enabled. So for now, I will not enable CurrentDesktopOnly.

Robert Dyer (psybers)
Changed in docky:
status: New → Confirmed
Revision history for this message
Robert Dyer (psybers) wrote :

The feature works fine for me, other than the problem reported here.

I am not sure there is anything I can do about this bug though. There is no event to notify us when a window moves workspaces/viewports and thus no way to know we need to refresh.

Revision history for this message
Robert Dyer (psybers) wrote :

Fixed in rev 1344.

Revision history for this message
Robert Dyer (psybers) wrote :

Ah hah, you are correct. I was not running 1343 which seems to have horribly broken this feature entirely.

Revision history for this message
Robert Dyer (psybers) wrote :

Rev 1345 should fix that regression and thus close this bug.

Changed in docky:
status: Confirmed → Fix Committed
Revision history for this message
Colin Keenan (colinkeenan) wrote :

Thanks for keeping me up to date on this issue.

Changed in docky:
status: Fix Committed → Triaged
Revision history for this message
Colin Keenan (colinkeenan) wrote :

OK - I have upgraded to 1346 and Docky is usable again with CurrentDesktopOnly enabled. The problem of dragging windows from another desktop not showing in Docky is still the same.

I realize that problem may not be fixable, so I would hope the following would be possible though:

1) Create a docky-refresh terminal command (that could be used in scripts, assigned to keystroke combos, or assigned to gnome-panel buttons)

2) Have Docky refresh every time an active window becomes inactive. Docky already recognizes this event by removing the highlight from the icon that represents the window that used to be active. Now I suggest also doing a refresh instead of just removing the highlight, so that Docky can recognize what window is now active that wasn't before.

Number 2) would solve this window dragging from another desktop problem if at least one window was active on the current desktop before dragging the new window over.

It seems Docky already does a refresh whenever a window it already knows about on the current desk goes from inactive to active as proven by the fact that dragging windows off the current desk works perfectly in Docky. So, it should be easy enough to also have Docky refresh when the opposite event happens.

Revision history for this message
Colin Keenan (colinkeenan) wrote :

Actually, having Docky refresh every time an active window becomes inactive would solve the whole problem because I think even when there's no open windows on the Desktop, either the gnome-panel or the Desktop itself is considered the open window, and Docky would still get the event that either of those previously active "windows' are no longer active when a window gets dragged from another desk.

Changed in docky:
status: Triaged → New
Revision history for this message
Robert Dyer (psybers) wrote :

Colin, Rico undid my commit because it was causing a crash for some users. I have pushed the fix back in (and made it so it won't crash).

Changed in docky:
status: New → Fix Committed
Revision history for this message
Colin Keenan (colinkeenan) wrote :

Thanks!

Docky version: 2.1.0 bzr docky r1357 ppa

Everything works as expected now.

Changed in docky:
milestone: none → 2.0.4
Changed in docky:
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted docky into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.