fullscreen apps on multihead

Bug #533872 reported by Florian Scandella
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Docky
Fix Released
Low
Robert Dyer

Bug Description

in multihead seupts fullscreen apps on the second head disables (hides) docky on the first head.
hacked a quick fix by testing the geometry of the fullscreen app against the docks geometry.

i'm new to bzr, so i hope the patch is ok this way.

Revision history for this message
Florian Scandella (flo-chilicode) wrote :
Revision history for this message
Robert Dyer (psybers) wrote :

Thanks for this. The devs dont run multiple monitors so not only do we not test it but it is very slow to get any bugs fixed.

Changed in docky:
importance: Undecided → Low
assignee: nobody → Jason Smith (jassmith)
Revision history for this message
Robert Dyer (psybers) wrote :

I pushed a slightly different fix for this. Please pull rev 1172 and verify it does/does not work. My version attempts to avoid doing extra work, but as I said earlier I can't test this so who knows if I made a mistake. :-)

Changed in docky:
status: New → Fix Committed
Revision history for this message
lunch (launch-mailinator-com) wrote :

Unfortunately this patch does not fix the bug.

Steps to reproduce:

1. Open up docky settings and make sure its in "Window Dodge" mode.
2. Open up Rhythmbox and drag in to your second monitor.
3. In Rhythmbox enable party mode (View > Party Mode checked)
4. Try to unhide docky on your main monitor.

You will see it remains hidden regardless of you putting your mouse toward it to unhide.

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

No as I said, we the devs do not run multiple monitors. Thus I can not reproduce it, steps or no steps. :-)

That is why I asked you to verify my fix.

Changed in docky:
status: Fix Committed → In Progress
Revision history for this message
Robert Dyer (psybers) wrote :

Uh... @lunch: are you sure you read the bug description? I think you might be talking about a different bug.

@original bug poster: please verify my patch fixes YOUR bug.

Revision history for this message
lunch (launch-mailinator-com) wrote :

No I'm talking about this bug.

Revision history for this message
lunch (launch-mailinator-com) wrote :

Also I wrote down the steps to clear up how I got the bug to reproduce so that other people can test it out not necessarily the devs.

Revision history for this message
Rico Tzschichholz (ricotz) wrote :

@Robert: The check "screen.ActiveWindow != null" is important and needs to stay! So please revert this change and look at bzr1094 (https://bugs.edge.launchpad.net/docky/+bug/511587)

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

@Rico: read the code carefully, and realize that evaluations 'short circuit' and thus if screen.ActiveWindow == null the rest of that expression wont even be evaluated, so we dont get a NPE.

rev1094 has this:
(screen.ActiveWindow == null || (screen.ActiveWindow != null && !screen.ActiveWindow.IsFullscreen))

rev1172 has this:
(screen.ActiveWindow == null || !screen.ActiveWindow.IsFullscreen || !WindowIntersectingOther)

which if we ignore the 'new' check, is this:
(screen.ActiveWindow == null || !screen.ActiveWindow.IsFullscreen)

But like I said, the == null check in 1094 (and still in 1172) will short-circuit the expression and thus screen.ActiveWindow.IsFullscreen only executes if screen.ActiveWindow != null (because if it is null, the whole expression is immediately true and we dont have to even check the RHS).

Revision history for this message
Rico Tzschichholz (ricotz) wrote :

@Robert: sorry, you are right.

Revision history for this message
Florian Scandella (flo-chilicode) wrote :

no, it does not work. the problem with this is that it does not test if the fullscreen window is intersecting, but if *any* window is intersecting.
Eg: 1 window fs on the second head, 1 normal window intersecting docky on the primary head -> docky does not show up.

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

Rev 1222 (hopefully) fixes this once and for all. :-)

Changed in docky:
status: In Progress → Fix Committed
assignee: Jason Smith (jassmith) → Robert Dyer (psybers)
Revision history for this message
Florian Scandella (flo-chilicode) wrote :

as far as i can see, it's working. thx

Changed in docky:
status: Fix Committed → Fix Released
Changed in docky:
milestone: none → 2.0.2
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.