Closed Bug 79974 Opened 24 years ago Closed 23 years ago

Need to prevent windows from extending behind dock

Categories

(Core :: XUL, defect, P1)

PowerPC
macOS
defect

Tracking

()

RESOLVED FIXED
mozilla0.9.5

People

(Reporter: devsin, Assigned: mikepinkerton)

References

Details

(Keywords: regression, Whiteboard: [PDT+] [OSX+])

Attachments

(1 file)

Fizzilla needs to implement the behavior where an application's windows will not extend below the area of the screen occupied by the Dock. This support needs to be in place for both manual and automatic resizing. A very useful feature that (surprisingly) has been widely adopted by Mac OS X developers.
->pink. I'll be happy if we could just ensure that the windows are entirely on the screen.
Assignee: trudelle → pinkerton
ok.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0
Note: The Dock is not necessarily at the bottom of the screen.
Note: if Apple ever makes that an official feature, I'm sure this behavior will still apply and work correctly.
FWIW, movable Dock is an official behavior as of September.
>I'll be happy if we could just ensure that the windows are entirely on the screen. Uh, then file a different bug for that. This is specifically for keeping windows from going behind the dock. As has been mentioned, a feature in Mac OS X 10.1 will allow different orientations for the dock (bottom, left and right). If Mozilla doesn't have the ability to stay away from the dock, it'll end up covering the status bar, scroll bar or sidebar (if anyone actually uses that thing).
I think you'll see this addressed in 10.something, at least for the optional side positions for the dock.
Bug 83570 fixed the problem of being able to manually resize windows below the dock by making nsScreenMac::GetAvailRect() use the Carbon 1.3 function ::GetAvailableWindowPositioningBounds() which automatically subtracts the bounds of the menu bar and the dock. However, automatic resizing (zooming) can still resize a window below the dock because nsMacWindow::CalculateAndSetZoomedSize() does not use nsScreenMac::GetAvailRect() to calculate the available window bounds. It uses the following hard-coded calculations instead: Rect tempRect = (**gdZoomDevice).gdRect; rightVal = tempRect.right; if (gdZoomDevice == ::GetMainDevice()) { rightVal -= 64; // make room for finder desktop icons wTitleHeight += ::GetMBarHeight(); } Rect zoomRect; ::SetRect(&zoomRect, tempRect.left + 7, tempRect.top + wTitleHeight + 3, rightVal - 12, tempRect.bottom - 8); ::SetWindowStandardState ( mWindowPtr, &zoomRect ); where gdZoomDevice is the screen. I'm not sure whether this function should use nsScreenMac::GetAvailRect() or just call ::GetAvailableWindowPositioningBounds() directly.
Blocks: 102998
ccing danm for review, sfraser for sr. This fixes the zoomrect to not cover the dock, but doesn't fix manual resize or moving, which i personally think should be up to the user. The finder allows the user to move/resize a window to cover the dock.
Priority: -- → P1
Target Milestone: mozilla1.0 → mozilla0.9.6
I don't think we should leave room for Finder icons on the left side in Mac OS X, because desktop icons aren't as important, aren't the same size, and often aren't used altogether. Also, a vertical dock on the left side would probably screw up this calculation anyway.
r=danm
+ // find which screen the window is (mostly) on and get its rect. GetAvialRect() Spelling. Otherwise, sr=sfraser
Comment on attachment 52051 [details] [diff] [review] fix zooming to not cover dock r=danm/sr=sfraser
Attachment #52051 - Flags: superreview+
Attachment #52051 - Flags: review+
let it bake on the trunk for a couple of days, then let's see if we can take it.
Keywords: nsbranch+
Whiteboard: [PDT]
Comment on attachment 52051 [details] [diff] [review] fix zooming to not cover dock a=asa (on behalf of drivers) for checkin to 0.9.5.
Attachment #52051 - Flags: approval+
Target Milestone: mozilla0.9.6 → mozilla0.9.5
landed on trunk, waiting for go-ahead on branch
can we discuss this @ today's PDT?
Whiteboard: [PDT] → [PDT] [OSX+]
pls check this into the branch - PDT+, after they have been verified on th trunk
Whiteboard: [PDT] [OSX+] → [PDT+] [OSX+]
pls check this into the branch - PDT+
Keywords: regression
landed on MOZILLA_0_9_4_BRANCH.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Chris - can you help jrgm with the verification of this on OS X?
verified fixed in the 9.4 candidate; zooming a window will not cover dock, but moving can put a window behind dock. note: on the osx I tried (10.0x), resizing would not cover the dock either.
Keywords: vtrunk
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: