Last Comment Bug 316851 - Need workaround for bug 56488 in Help
: Need workaround for bug 56488 in Help
Status: RESOLVED FIXED
: fixed1.8
Product: SeaMonkey
Classification: Client Software
Component: Help Documentation (show other bugs)
: unspecified
: PowerPC Mac OS X
: -- normal (vote)
: seamonkey1.0beta
Assigned To: Stefan [:stefanh]
: Daniel Wang
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-11-17 06:39 PST by Stefan [:stefanh]
Modified: 2005-12-22 16:29 PST (History)
4 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Add a "fake" statusbar to the Mac help window (2.26 KB, patch)
2005-11-17 08:34 PST, Stefan [:stefanh]
no flags Details | Diff | Review
Screenshot of how it would look on Mac (118.29 KB, image/gif)
2005-11-17 08:37 PST, Stefan [:stefanh]
no flags Details
Screenshot of Firefox Help window on Mac (1.5rc1) (46.89 KB, image/gif)
2005-11-17 08:48 PST, Stefan [:stefanh]
no flags Details
New approach, only add stuff in content area (2.33 KB, patch)
2005-11-27 13:54 PST, Stefan [:stefanh]
no flags Details | Diff | Review
Screenshots of latest patch in action (114.92 KB, image/gif)
2005-11-28 08:55 PST, Stefan [:stefanh]
no flags Details
Screenshots of the missing down-scroll arrow (no patch applied) (119.54 KB, image/gif)
2005-11-28 09:28 PST, Stefan [:stefanh]
no flags Details
Screenshot of Help-, browser- and mail window (33.07 KB, image/gif)
2005-11-29 10:51 PST, Stefan [:stefanh]
no flags Details
Screenshots of :root { overflow: scroll; } in action (25.18 KB, image/gif)
2005-11-30 11:20 PST, Stefan [:stefanh]
no flags Details
New version, following jag's suggestions (1.00 KB, patch)
2005-11-30 19:42 PST, Stefan [:stefanh]
neil: superreview+
Details | Diff | Review
Screenshots of patch in action (116.51 KB, image/gif)
2005-11-30 19:51 PST, Stefan [:stefanh]
no flags Details
New version with height set in help.css (2.11 KB, patch)
2005-12-02 15:18 PST, Stefan [:stefanh]
no flags Details | Diff | Review
New approach, fix both themes global.css (3.54 KB, patch)
2005-12-03 11:33 PST, Stefan [:stefanh]
no flags Details | Diff | Review
Screenshots of statusbar in navigator window (37.77 KB, image/gif)
2005-12-03 11:39 PST, Stefan [:stefanh]
no flags Details
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0) (3.62 KB, patch)
2005-12-05 13:38 PST, Stefan [:stefanh]
jag-mozilla: review+
neil: superreview+
iann_bugzilla: approval‑seamonkey1.0+
Details | Diff | Review

Description Stefan [:stefanh] 2005-11-17 06:39:28 PST
Currently, because of bug 56488, mac user can't use the down scroll arrow in the Help window - it's hidden behind the resizer. Toolkit have work around this by adding margin to #appcontent in Pinstripe's help.css. We can't do this, though - doing that would affect all platforms.

One approach is to use platformClasses.css to insert a fake statusbar at the bottom of the window on Mac.
Comment 1 Stefan [:stefanh] 2005-11-17 08:34:21 PST
Created attachment 203400 [details] [diff] [review]
Add a "fake" statusbar to the Mac help window

This is one way of doing it. The problem is that I don't know the effects of the border-style on other platforms. Another way of doing it would be to add the <hbox/> to just the content window - then the effect would be similar to toolkit's Help window.

Thoughts?
Comment 2 Stefan [:stefanh] 2005-11-17 08:37:40 PST
Created attachment 203401 [details]
Screenshot of how it would look on Mac

Here's a screenshot of how it would look on Mac (both themes).
Comment 3 Stefan [:stefanh] 2005-11-17 08:48:15 PST
Created attachment 203403 [details]
Screenshot of Firefox Help window on Mac (1.5rc1)

Screenshot of Firefox Help window for comparison. Note that it's only the content area that has the faked statusbar - done with css (not possible in SeaMonkey).
Comment 4 Stefan [:stefanh] 2005-11-27 13:45:12 PST
I suppose I better take this since Neil doesn't have a mac ;)
Comment 5 Stefan [:stefanh] 2005-11-27 13:54:19 PST
Created attachment 204308 [details] [diff] [review]
New approach, only add stuff in content area

Another approach that won't affect other systems.
Comment 6 Stefan [:stefanh] 2005-11-28 08:55:22 PST
Created attachment 204363 [details]
Screenshots of latest patch in action

This is probably the best alternative. The only thing that keeps it from being perfect in Modern is the splitter's right border. But I guess it's better than not being able to scroll the Help window.
Comment 7 Stefan [:stefanh] 2005-11-28 09:28:25 PST
Created attachment 204364 [details]
Screenshots of the missing down-scroll arrow (no patch applied)

Here's screenshots of how it currently looks on mac. Note that the down-scroll arrow is covered by the resizer.
Comment 8 neil@parkwaycc.co.uk 2005-11-28 16:39:56 PST
So the Mac resizer is always native coloured, right? How does that look in the Modern theme in other windows? Would it be possible to make the hbox match?
Comment 9 Stefan [:stefanh] 2005-11-29 10:51:59 PST
Created attachment 204472 [details]
Screenshot of Help-, browser- and mail window

(In reply to comment #8)
> So the Mac resizer is always native coloured, right? How does that look in the
> Modern theme in other windows? Would it be possible to make the hbox match?

I assume you mean matching the statusbar in other windows? As you can see, apart from a missing 3d effect, the hbox matches pretty well. The MailNews statusbar lacks a top border (also no border in, for instance, bm manager and View Source). In the MailNews case I assume a border would look strange when you have focus in the content area (black border around the area, in the image left pane has focus)
Comment 10 neil@parkwaycc.co.uk 2005-11-29 17:41:05 PST
Ok, so maybe this is silly, but what about adding this style to the XP_MACOSX section of platformClasses.css:
:root { overflow: scroll; }
(I think :root is correct but bz wasn't around to check...)
Comment 11 Stefan [:stefanh] 2005-11-30 11:20:02 PST
Created attachment 204573 [details]
Screenshots of :root { overflow: scroll; } in action

Code-wise, it's a clean solution. But if you judge it by the way it looks, then I think my solution is better. "Using overflow: scroll;" looks acceptable in Classic. Modern looks worse with it's "empty" scrollbar with arrows. Note also that there will be an empty vertical scrollbar in some windows.
Comment 12 jag (Peter Annema) 2005-11-30 16:57:19 PST
What you really want is just a little block below the down scroll arrow that pushes the scrollbar up (or rather, compresses it) but doesn't affect the content area. Naturally we don't want to apply this to all vertical scrollbars on Mac, just this specific instance, but I'm not quite sure how we get our special version of vertical scrollbar applied.
Comment 13 jag (Peter Annema) 2005-11-30 17:17:19 PST
Of course, providing a true fix kinda defeats the purpose of this work-around bug, and I'm guessing the real fix is hard. As a work-around I don't really care whether it's a fake status bar or a disabled horizontal scrollbar, though I'd like to see the fake status bar run below everything, not just the content area.
Comment 14 jag (Peter Annema) 2005-11-30 17:32:24 PST
Which would be the first patch, more of less. I think I can live without the border between the status bar and the content pane.
Comment 15 Stefan [:stefanh] 2005-11-30 19:42:06 PST
Created attachment 204637 [details] [diff] [review]
New version, following jag's suggestions

OK, hope you're OK with this Neil. I just added height="15" to the <hbox/> in help.xul. No need to use the appearance stuff in classic either. So, this patch only adds a 3 lines of code to help.xul. I couldn't help removing some empty lines at the end of the file, so we actually end up with -2 lines...
Comment 16 Stefan [:stefanh] 2005-11-30 19:51:54 PST
Created attachment 204639 [details]
Screenshots of patch in action

Here's how it looks. Interestingly, in classic, there's a gap between the <hbox/> and the down-scroll arrow that looks 0.5 px wider than normal (if I look at other windows). But it is probably correct, looks the same as the one in attachment #204573 [details]
Comment 17 jag (Peter Annema) 2005-11-30 21:43:05 PST
I'm not feeling too happy with hardcoding that height in the XUL, though I guess it's directly tied to the height of the resizer widget.
Comment 18 neil@parkwaycc.co.uk 2005-12-01 01:27:52 PST
Re your border issue, would that be solved if you used a real <statusbar/>?
Comment 19 Stefan [:stefanh] 2005-12-01 02:35:42 PST
(In reply to comment #17)
> I'm not feeling too happy with hardcoding that height in the XUL, though I
> guess it's directly tied to the height of the resizer widget.

Ah, ok. I'll do it with css if you prefer - I just thought it wasn't necessary to touch two more files.

(In reply to comment #18)
> Re your border issue, would that be solved if you used a real <statusbar/>?

You mean the fact that the latest approach means that there's no border anymore? No it won't - since I believe we only want a border at the bottom of the content area, like in attachment #203401 [details]

Comment 20 neil@parkwaycc.co.uk 2005-12-01 02:50:00 PST
Comment on attachment 204637 [details] [diff] [review]
New version, following jag's suggestions

OK, so this full-width "statusbar" resembles the effect you get with the mail window with the missing border anyway.
Comment 21 neil@parkwaycc.co.uk 2005-12-01 02:50:53 PST
(In reply to comment #17)
>I'm not feeling too happy with hardcoding that height in the XUL, though I
>guess it's directly tied to the height of the resizer widget.
Would a real <statusbar> already have the correct height?
Comment 22 jag (Peter Annema) 2005-12-01 02:55:24 PST
(In reply to comment #20)
> (From update of attachment 204637 [details] [diff] [review] [edit])
> OK, so this full-width "statusbar" resembles the effect you get with the mail
> window with the missing border anyway.

That's what I was going for, consistency in look with other windows (e.g. Mail/News, Browser with sidebar).

Stefan, wanna try a true <statusbar> all the way across and see how it looks?
Comment 23 Stefan [:stefanh] 2005-12-01 04:00:26 PST
> Stefan, wanna try a true <statusbar> all the way across and see how it looks?

I think I already tried that when I started to look at the problem, but I can try again when I get back home (no equipment and time here) - I don't remember exactly how it looked. But I think the height of the statusbar would be the height set in global/mac/global.css. For classic it's 1.9em and for Modern no height is set iirc (that would explain why the statusbar's height in Modern isn't enough to reach the top of the resizer in some windows - like the bm window - no bugs filed yet, but if I'm right we should probably set a min-height to 15px. I actually get the feeling that the mac resizer just floats above everything.
Comment 24 Stefan [:stefanh] 2005-12-01 07:51:10 PST
Yeah, it works like I said. If you use a <statusbar/> in help.xul, without specifying any height the following happens:

Modern: No visible statusbar in the Help window.
Classic: A statusbar with the same height as in the other windows.

Now, if you think it's OK to set the min-height of the statusbar in modern/global/global.css to 15px we could go for it. That would also make the Modern statusbar look ok in, for instance, the bm window.

That is, I think the Mac Classic statusbar is too high to look nice in the Help window, but on the other hand it is too high in a lot of other windows. So, the height of the mac classic statusbar should imo be changed anyway (in a separate bug I suppose). It also seems that the current em unit causes text to render badly in the statusbar on at least 10.3.9 - I always have a lot of odd text artifacts in my chatzilla statusbar. It seems that those artifacts doesn't appear if I change the height unit to pixels.
Comment 25 Stefan [:stefanh] 2005-12-02 15:18:08 PST
Created attachment 204834 [details] [diff] [review]
New version with height set in help.css

This version sets the height of the hbox with css. That will also make the hbox themable.
Comment 26 Stefan [:stefanh] 2005-12-02 15:47:24 PST
Comment on attachment 204834 [details] [diff] [review]
New version with height set in help.css

jag, do you like this one better (no hard-coded height)?
Comment 27 jag (Peter Annema) 2005-12-02 16:26:02 PST
That's better, but I like your previous suggestion even better than that!

Let's fix up the <statusbar/> CSS in classic and modern and use that. I'm ok with you doing that under this bug, but if you feel another bug needs to be filed, go ahead and make this depend on that.

Btw, if we wanna keep the old <statusbar/> height in classic for whatever reason, we can always override it specifically for Help.

Thank you for working on this!
Comment 28 Stefan [:stefanh] 2005-12-03 07:58:33 PST
 > Let's fix up the <statusbar/> CSS in classic and modern and use that. I'm ok
> with you doing that under this bug, but if you feel another bug needs to be
> filed, go ahead and make this depend on that.
> 
> Btw, if we wanna keep the old <statusbar/> height in classic for whatever
> reason, we can always override it specifically for Help.

OK, Modern is pretty straight-forward. 15px min-height in global.css and "border-top: none" in help.css. Classic is a bit more complicated, the statusbar has a min-height of 1.9em in mac/global.css. I could override that in help.css by setting min-height to 15px. As it is now, using min-height 15px in global.css makes us lose one pixel.

Statusbar in navigator window:

1) With min-height set to 1.9em in global.css: Computed style of height is 18.9333px and computed min-height is 20.9333px

2) With min-height set to 15px in global.css: Computed style of height is 18px and (naturally) min-height is 15px

Hmm, I do want to get rid of that em unit, since I think it's the cause of other issues... One solution is to set the height of the statusbar to 21px in global.css and to 15px in help.css. Interestingly, that would change the position of the buttons in the component bar - they will be positioned 1px closer to the top.

Comment 29 Stefan [:stefanh] 2005-12-03 11:33:06 PST
Created attachment 204898 [details] [diff] [review]
New approach, fix both themes global.css

OK, so I think I have a solution that works well here. Statusbar in both themes global.css gets a min-height of 15px. With this approach we only need to remove the statusbar's top border in Modern's help.css.

Now, in order to compensate the loss of 1px height in Classic's statusbar, I've added 1px top padding to the statusbarpanels. The statusbar's height is now 19px instead of 18.9333px. Height of statusbar and vertical position of elements looks identical with/without the patch.

Note that this is only tested on mac, I don't know the effects of the min-height: 15px; in modern/global/global.css on nix/win.

jag, what do you think?
Comment 30 Stefan [:stefanh] 2005-12-03 11:39:34 PST
Created attachment 204899 [details]
Screenshots of statusbar in navigator window

Here's a screenshot of the navigator statusbar (non-patched vs patched build). Never mind the lack of rightmost part of the content area's bottom-border in the non-patched build - that is a different issue and you'll see it in the patched build as well (but not in this particular case).
Comment 31 Stefan [:stefanh] 2005-12-05 13:38:42 PST
Created attachment 205079 [details] [diff] [review]
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0)

jag thought it was best to leave the 1.9em min-height in Classic's global.css and  file a separate bug on that. I'll probably do that when I've done some more investigation of the artifact issue.
Comment 32 jag (Peter Annema) 2005-12-14 02:06:26 PST
Comment on attachment 205079 [details] [diff] [review]
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0)

Wow, sorry, I thought I'd already marked this r=jag
Comment 33 Stefan [:stefanh] 2005-12-14 04:43:01 PST
Comment on attachment 205079 [details] [diff] [review]
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0)

Fixes a long-time standing mac issue in the Help viewer (down-scroll arrow hidden behind resizer). Low-risk, mac-only...
Comment 34 Robert Kaiser (not working on stability any more) 2005-12-14 07:25:39 PST
Comment on attachment 205079 [details] [diff] [review]
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0)

a=me for branch checkin, still one needed to go
Comment 35 Ian Neal 2005-12-14 08:05:47 PST
Comment on attachment 205079 [details] [diff] [review]
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0)

a=me - the second one!
Comment 36 Stefan [:stefanh] 2005-12-14 11:31:12 PST
Checked in on trunk/branch by Standard8.
Comment 37 Ian Neal 2005-12-22 16:29:51 PST
Comment on attachment 205079 [details] [diff] [review]
New version - don't touch classic's global.css (checked in to trunk/branch 1.8 & 1.8.0)

Checking in (branch 1.8.0)
extensions/help/resources/content/help.xul;
new revision: 1.59.14.1; previous revision: 1.59
extensions/help/resources/skin/classic/help.css;
new revision: 1.16.14.1; previous revision: 1.16
extensions/help/resources/skin/modern/help.css;
new revision: 1.15.14.1; previous revision: 1.15
themes/modern/global/global.css;
new revision: 1.51.34.1; previous revision: 1.51
done

Note You need to log in before you can comment on or make changes to this bug.