Closed
Bug 127575
Opened 23 years ago
Closed 22 years ago
enable full screen mode to function on secondary display of multi-monitor systems
Categories
(Core :: XUL, enhancement)
Tracking
()
RESOLVED
FIXED
Future
People
(Reporter: ruediger, Assigned: deanis74)
References
()
Details
Attachments
(1 file, 2 obsolete files)
2.54 KB,
patch
|
emaijala+moz
:
review+
jag+mozilla
:
superreview+
asa
:
approval1.4+
|
Details | Diff | Splinter Review |
When using Mozilla on a Windows-XP system with more than one monitor attached
(multi-monitor) and you put a window into full screen mode that is on the
secondary display, the window is always shown on the primary display. However,
the full screen window has the dimensions of the secondary display (can be seen
only when using displays with different resolutions).
Full screen mode for windows on the primary display works fine.
Reproducible: Always
Steps to Reproduce:
1. Start mozilla on a multi-monitor system (Windows XP)
2. Move window to secondary display
3. Switch to full screen mode (F11)
Comment 2•23 years ago
|
||
same with windows 2000
Updated•23 years ago
|
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Target Milestone: --- → Future
Comment 3•23 years ago
|
||
Same problem on build 2002031104 XP and 2000, I didn't see this bug originally
and filed a dup. Could we add the word 'multiple' instead of or in addition to
the word 'multi-' to the summary?
*** Bug 133848 has been marked as a duplicate of this bug. ***
Comment 5•23 years ago
|
||
Problem persists in RC1. Also, it looks like Mozilla is hiding the taskbar on
full-screen. How about the other always on top application bars when it is on
another monitor? From the current behaviour, it looks like those bars will
cover up the mozilla full screen window.
*** Bug 146243 has been marked as a duplicate of this bug. ***
Comment 8•22 years ago
|
||
I am not sure it is the same problem since the window state can be 'tricked'
into remember being in the other monitor through a series of open and closes,
but I haven't gotten that to work for full screen mode.
*** Bug 150999 has been marked as a duplicate of this bug. ***
Comment 10•22 years ago
|
||
*** Bug 139370 has been marked as a duplicate of this bug. ***
URL: http:/
Severity: normal → enhancement
Component: Browser-General → XP Toolkit/Widgets
Keywords: helpwanted
Summary: On multi-monitor systems, switching to full screen mode moves window to primary display. → enable full screen mode to function on secondary display of multi-monitor systems
Comment 11•22 years ago
|
||
*** Bug 155464 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 12•22 years ago
|
||
*** Bug 151704 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 13•22 years ago
|
||
*** Bug 153697 has been marked as a duplicate of this bug. ***
Comment 14•22 years ago
|
||
per a posting in de.comm.software.mozilla, this happens on linux too. os->all
(message-id <3D621C37.FD6B0302@imr.uni-hannover.de>, in german)
OS: Windows XP → All
Comment 15•22 years ago
|
||
err, no idea why I thought that was on linux; it was windows (but windows 98,
therefore setting os to win98)
OS: All → Windows 98
Comment 16•22 years ago
|
||
*** Bug 164859 has been marked as a duplicate of this bug. ***
Comment 17•22 years ago
|
||
*** Bug 164926 has been marked as a duplicate of this bug. ***
Comment 18•22 years ago
|
||
This is also a bug in Linux. Please read my comments in this bug, as it provides
more details about this in versions of mozilla for XFree:
http://bugzilla.mozilla.org/show_bug.cgi?id=164926
Thanks
Comment 19•22 years ago
|
||
*** Bug 165159 has been marked as a duplicate of this bug. ***
Comment 20•22 years ago
|
||
A few thoughts about this bug:
Note that in windows machines using the nvidia driver, there's this feature
called nview, which is a "window manager" level feature that does not allow a
program to become full screen across multiple monitors. AFAIK, no other driver
does this.
This feature doesn't exist in Linux, presumably since there can be many window
managers, and the task of maximizing is usually a job that is left up to the
window manager. The only sollution for Linux would be to detect the presence of
Xinerama XFree extensions and use the information supplied by the Xinerama API
to maximize the window into the monitor it's currently occupying.
Examples of programs that do this are mplayer, xine, and xawtv.
I hope this information is helpful. Otherwise, nevermind. :)
Assignee | ||
Comment 21•22 years ago
|
||
This bug happens because of this code in GlobalWindowImpl::SetFullScreen():
http://lxr.mozilla.org/mozilla/source/dom/src/base/nsGlobalWindow.cpp#1950
It gets the size of the current screen, but then moves to 0,0. We should move
to the top-left of the current screen. We should use, I think, availTop and
availLeft instead.
- MoveTo(0, 0);
+ PRInt32 screenLeft;
+ PRInt32 screenTop;
+ screen->GetAvailLeft(&screenLeft);
+ screen->GetAvailTop(&screenTop);
+ MoveTo(screenLeft, screenTop);
Can someone with multiple monitors try this?
Comment 22•22 years ago
|
||
*** Bug 164198 has been marked as a duplicate of this bug. ***
Comment 23•22 years ago
|
||
*** Bug 168329 has been marked as a duplicate of this bug. ***
Comment 24•22 years ago
|
||
*** Bug 169463 has been marked as a duplicate of this bug. ***
Comment 25•22 years ago
|
||
*** Bug 182025 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 26•22 years ago
|
||
Has anyone tried my suggestion in comment 21?
Comment 27•22 years ago
|
||
*** Bug 182024 has been marked as a duplicate of this bug. ***
Comment 28•22 years ago
|
||
*** Bug 182889 has been marked as a duplicate of this bug. ***
Comment 29•22 years ago
|
||
*** Bug 173839 has been marked as a duplicate of this bug. ***
Comment 30•22 years ago
|
||
*** Bug 185577 has been marked as a duplicate of this bug. ***
Comment 31•22 years ago
|
||
*** Bug 184205 has been marked as a duplicate of this bug. ***
Comment 32•22 years ago
|
||
Please everyone,
if you'd like this bug fixed, vote for it. It doesn't seem to be going anywhere. =)
I am crossing my fingers that this will help it get fixed soon.
Assignee | ||
Comment 33•22 years ago
|
||
Mike: I suggested a fix in comment 21. I need someone with a second monitor to
test it.
Assignee | ||
Comment 34•22 years ago
|
||
Updating URL. The code I'm thinking about looks to now be in
nsBaseWidget::MakeFullScreen().
Assignee | ||
Comment 35•22 years ago
|
||
This doesn't break anything in my single-monitor setup. Kerz, can you try it
on your multi setup?
Assignee | ||
Comment 36•22 years ago
|
||
Comment on attachment 109508 [details] [diff] [review]
patch take 1
> // Hide all of the OS chrome
> if (fullScreen)
> fullScreen->HideAllOSChrome();
>- } else if (mOriginalBounds) {
>- Resize(mOriginalBounds->x, mOriginalBounds->y, mOriginalBounds->width,
>- mOriginalBounds->height, PR_TRUE);
>+ } else if (mOriginalBounds) {
>+ Resize(mOriginalBounds->x, mOriginalBounds->y, mOriginalBounds->width,
>+ mOriginalBounds->height, PR_TRUE);
Ignore this whitespace change. I totally misread that part of the code.
Comment 37•22 years ago
|
||
I just tested the patch on my multi-monitor Windows 2000 system.
I'm seeing two problems.
1. It always hides the taskbar, regardless of whether Mozilla is going
fullscreen on the same screen as the taskbar.
2. When it is going fullscreen on the same screen as the taskbar, it hides the
taskbar but does not take up the space the taskbar was occupying, leaving the
desktop visible there.
Assignee | ||
Comment 38•22 years ago
|
||
Did you exclude the part of the patch in comment 36? I'm not sure if that's
related or not, but it's a good place to start. If you did, I can look at
this when I get back from holidays.
Comment 39•22 years ago
|
||
After having an e-mail discussion with Dean Tessman, he told me to report my
findings here.
It looks like Mozilla's method of going fullscreen is flawed. It hides the
taskbar in a bad way, and the OS isn't aware of what's going on. If Mozilla
crashes or hangs, the taskbar remains hidden, but it's still there reserving its
space. You can see this by maximizing another window. It will leave that space
empty.
With Dean's patch, the available area on the current monitor is used, which of
course doesn't include the reserved taskbar space. Then there's still the
problem of the taskbar being hidden even if the Mozilla window is on another
monitor.
IE doesn't hide the taskbar at all. It sets itself as always on top and takes
the full screen dimensions instead of the available space. When it loses focus,
it turns "always on top" back off, much like Mozilla currently unhides the
taskbar when it loses focus.
Mozilla should probably go about doing this the same way IE currently does. Not
only does it resolve the issue of the taskbar hiding when it shouldn't, it also
deals with any unknown windows docked to the side of the screen, like the
taskbar does, from third-party applications like ICQ.
Comment 40•22 years ago
|
||
Let us not forget that this is a Linux issue too.
Comment 41•22 years ago
|
||
This bug has Windows marked as the OS. If the current patch does not already
fix the issue in Linux, we probably need a seperate bug, as someone on Linux
will have to take a look at it. If the current patch works perfectly on Linux,
then the only work left for the next version of the patch is Windows-specific,
so just sit tight.
Comment 42•22 years ago
|
||
I can only hope that any patch that fixes this issue in windows will also it for
Linux too. But I have my doubts...
I'm following this bug because my original bug, which was described as a bug in
mozilla for Linux, was flagged as a duplicate of this one.
Perhaps it would be a good idea to create a separate bug for this issue under Linux.
Assignee | ||
Comment 43•22 years ago
|
||
burpmaster: thinking about your investigations in comment 39 a little more, I
think you should file a separate bug on changing how we do full-screen on Windows.
I'm going to do up a new patch here in the next day or so that should hopefully
address the multi-monitor problem on all platforms. burpmaster will (if the
offer's still good) test it for me on Windows before I post it here.
Assignee | ||
Comment 44•22 years ago
|
||
Burpmaster says this works on his multi-monitor Win2K setup. Can someone
running dual monitors under Linux try it?
Attachment #109508 -
Attachment is obsolete: true
Assignee | ||
Comment 45•22 years ago
|
||
Comment on attachment 115359 [details] [diff] [review]
patch v2
This fixes the problem on Windows, can someone with a Linux build environment
and multiple monitors please test this?
In the meantime, Ere any chance of reviewing this? I won't ask for an sr until
I hear back from a Linux user.
Attachment #115359 -
Flags: review?(ere)
Comment 46•22 years ago
|
||
Comment on attachment 115359 [details] [diff] [review]
patch v2
Two things:
1. Maybe I'm just paranoid, but I think you should |if (screenManager)| and
screen before using them as the assertion won't prevent trying to use them. I'd
also check the return values of the called methods.
2. This one is the real problem. I have WinXP with Radeon 7500 and was running
Mozilla on the secondary display. Pressing F11 switched to Mozilla to
fullscreen, but it also caused the taskbar on the primary display to be hidden.
I believe it shouldn't be hidden when it's not on the same display.
Attachment #115359 -
Flags: review?(ere) → review-
Assignee | ||
Comment 47•22 years ago
|
||
Thanks Ere, I can add those checks.
As for the task bar disappearing, that's what comment 39 talks about but it's
out of the scope of this bug. Burpmaster, did you ever file a bug for changing
how we do full screen on Windows?
Comment 48•22 years ago
|
||
I just filed bug 195963 for the taskbar issue. The patch for this bug should be
checked in (when it's ready) because it's an improvement that doesn't make
things any worse, and I think the remaining issue is elsewhere in the code anyway.
Assignee | ||
Comment 49•22 years ago
|
||
Attachment #115359 -
Attachment is obsolete: true
Assignee | ||
Comment 50•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
Ere, better?
Attachment #116672 -
Flags: review?(ere)
Comment 51•22 years ago
|
||
Attachment #116672 -
Flags: review?(ere) → review+
Assignee | ||
Comment 52•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
Jag, how about some sr-lovin'?
Attachment #116672 -
Flags: superreview?(jaggernaut)
Comment 53•22 years ago
|
||
This just makes the window full screen on the monitor it's on right? And not
across all screens? Good good.
Assignee | ||
Comment 54•22 years ago
|
||
You are correct, sir.
Updated•22 years ago
|
Attachment #116672 -
Flags: superreview?(jaggernaut) → superreview?(hewitt)
Comment 55•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
sr=jag
Attachment #116672 -
Flags: superreview?(hewitt) → superreview+
Assignee | ||
Comment 56•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
Aw man, I never checked this in. Requesting a= for 1.4. This is a low-impact
fix that gets full screen mode working as expected on multiple monitor setups.
Attachment #116672 -
Flags: approval1.4b+
Attachment #116672 -
Flags: approval1.4b+ → approval1.4b?
Comment 57•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
a=sspitzer, it doesn't look like it will affect single screen users.
if you don't have all the platforms to test (linux, mac & windows), maybe you
can ask around on irc to get people to verify.
Attachment #116672 -
Flags: approval1.4b? → approval1.4b+
Assignee | ||
Comment 58•22 years ago
|
||
Before I go trolling on IRC, is there somone with a linux or mac build env
paying attention to this bug that can double-check the fix?
Assignee: hewitt → dean_tessman
Status: ASSIGNED → NEW
Assignee | ||
Comment 59•22 years ago
|
||
Really, this is cross-platform code so it _should_ work on all platforms. If it
doesn't work then it's more likely a bug in that platform's screen rectangle
functions and not this code.
Status: NEW → ASSIGNED
Assignee | ||
Comment 60•22 years ago
|
||
No testers == nobody really wants this fixed...??
Comment 61•22 years ago
|
||
I'd really like it fixed, but am on Windows. =(. The current state fullscreen
is in now is really bad.
Before, at least it maximized to the first monitor, now it just puts itself in a
100x50 window in the corner. This is on 1.4a.
Thanks for you hard work, I would really love to see your patch. I don't think
it could be any worse that the current code, unless it formats the hard disk, etc.
Assignee | ||
Comment 62•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
requesting approval for 1.4. caillon tested this on his single-monitor linux
and fullscreen still works as expected. burpmaster tested it on his
dual-monitor windows setup with no problem. seeing as this is xp code, it
should work on all platforms.
Attachment #116672 -
Flags: approval1.4?
Comment 63•22 years ago
|
||
Comment on attachment 116672 [details] [diff] [review]
patch v3
a=asa (on behalf of drivers) for checkin to 1.4. Please be on the lookout for
any incoming regression reports and be ready to correct problems or back out
the changes.
Attachment #116672 -
Flags: approval1.4b+
Attachment #116672 -
Flags: approval1.4?
Attachment #116672 -
Flags: approval1.4+
Assignee | ||
Comment 64•22 years ago
|
||
dwitte checked this in for me.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 65•21 years ago
|
||
*** Bug 188436 has been marked as a duplicate of this bug. ***
Comment 66•21 years ago
|
||
Hi, guys, I've tried the 1.4 rc1 and fullscreen mode on my second monitor. The
new code works much better than before, but there is a strange side effect.
When I enable fullscreen mode on the second monitor, the taskbar (on the first)
disappears. When I click on the first monitor, it reappears. It is not a big
problem, but certainly annoying as it flickers on and off.
I'm on Win XP, BTW.
Comment 67•21 years ago
|
||
That last issue is covered in bug 195963.
Comment 68•21 years ago
|
||
*** Bug 151816 has been marked as a duplicate of this bug. ***
Updated•16 years ago
|
Keywords: helpwanted
You need to log in
before you can comment on or make changes to this bug.
Description
•