Scrollbar buttons missing (GTK3)

RESOLVED FIXED in seamonkey2.56
(NeedInfo from)

Status

RESOLVED FIXED
3 years ago
a year ago

People

(Reporter: mrmazda, Assigned: frg, NeedInfo)

Tracking

(Blocks: 2 bugs)

SeaMonkey 2.43 Branch
seamonkey2.56
Unspecified
Linux
Dependency tree / graph

SeaMonkey Tracking Flags

(seamonkey2.49esr fixed, seamonkey2.50 wontfix, seamonkey2.51 wontfix, seamonkey2.52 wontfix, seamonkey2.53 affected, seamonkey2.54 wontfix, seamonkey2.55 wontfix, seamonkey2.56 fixed)

Details

(Whiteboard: [workaround see comments #11 and #17])

Attachments

(3 attachments, 1 obsolete attachment)

(Reporter)

Description

3 years ago
Environments in which observed:
A.Fedora 24, KDE Plasma:
1-default DE theme (Breeze)
2-Oxygen DE theme
openSUSE 42.1, KDE3, oxygen-gtk DE theme
B.same errant behavior whether using Default or Modern SM theme

Actual behavior (new in rv46):
1-scrollbutton-up and scrollbutton-down are missing
2-clicking above or below scroll grab button behaving as if shift key is held down, scrolling more the farther away from the scroll grab button the click is made

Expected behavior (same as in rv45):
1-working scrollbuttons in their usual locations
2-clicking above or below scroll grab button without shift key held down scrolls only ~one screen per click

Comment 1

3 years ago
More precise summary due to report.
Changed Version, OS due to report.

@reporter:
a) Your screenshot shows a problem with Chatzilla, what is not a genuine 
   SeaMonkey application, but a bundled add-on. Do you also observe the problem
   with email client, browser, addressbook, ...?
b) Also Your screenshot shows a problem with vertical scroll bar. Also
   horizontal scrollbar affected?
c) From what source did you download your SM? 
   <http://ftp.mozilla.org/pub/seamonkey/>?
d) The unexpected click-on-scrollbar-behavior might be a separate bug.
Please answer without citing, simply start your reply like
a): <answer>
Status: NEW → UNCONFIRMED
Ever confirmed: false
Flags: needinfo?(mrmazda)
OS: Unspecified → Linux
Summary: scrollbars fubared by upgrade from 2.42 to 2.43 → Vertical scrollbar buttons missing
Version: SeaMonkey 2.46 Branch → SeaMonkey 2.43 Branch

Comment 2

3 years ago
I did my own tests:

Effects are REPRODUCIBLE with  English SeaMonkey 2.43a1  (X11; Linux x86_64; rv:46.0)  Gecko/20100101 Firefox/46.0 Build 20160109003001  (Classic Default Theme AND ALSO Modern Theme) on VirtualBox Ubuntu 14.04 LTS

a): Also reproducible with Browser
b): also vertical scrollbar affected
c): no longer relevant
d): The suspect that the click-on-scrollbar-behavior-problem is plausible, 
    nevertheless I prefer to handle that in a separate Bug until it is crystal 
    clear that both bugs have the same roots.
e): A problem what is reproducible with all themes (or did I misunderstand 
    something?) is not a Theme Componet bug.
f) Same problem(s) reported as
   "Bug 1269149 - rv46 scrollbar UI bad in Linux/KDE", so probably a Core
   problem. 
g) I can't remember to have seen that with SeaMonkey on Windows, so probably
   related to OS "Linux"
Component: Themes → General
Flags: needinfo?(mrmazda)
Summary: Vertical scrollbar buttons missing → Scrollbar buttons missing
(Reporter)

Comment 4

3 years ago
a) Yes in browser, which is where bug was first noticed. CZ, standard in SM, was the smallest open window demonstrating the problem. I don't use pre-releases for email, so mailnews and address book were not tested.

b) Yes

e) Only SM theme I use is Modern, except occasional brief tests to check if default SM theme behavior differs. The non-Gnome Linux DEs are what I tested using several of, which do theme variously, and provide varying adaptations to support GTK widgets. 

f) Bug roots for both are most likely in core, but it's hard to say completely missing buttons regardless of environment have no theme-related component.

g) I tested only on Linux, but multiple DEs (two distros, KDE3, KDE5, IceWM), to confirm problem not limited to a single environment. I would have checked Linux as platform if "the" Platform "field" wasn't disguised by having been split into two select lists in the input form. (Hardware and OS should be distinguished by separate labels instead of being combined as "Platform".)

This is indubitably fallout from switch to GTK3 toolkit. These things were discussed and confirmed in irc://moznet/seamonkey prior to filing.
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 5

3 years ago
(In reply to Rainer Bielefeld from comment #3)
> fallout from switch to GTK3 toolkit

Sounds plausible

Comment 6

3 years ago
Yes, only releases are currently built with GTK2, development versions are built with GTK3 by default, thus I'm assuming that this is your own build or one grabbed from the nightly or tinderbox sites.

There should be a Core/Widget bug report on this (also applies to Firefox 46.0), thus likely a dupe.
Component: General → UI Design

Comment 7

3 years ago
(In reply to rsx11m from comment #6)
> There should be a Core/Widget bug report 

Probably "Bug 627699 - (gtk3) Port GTK2 to GTK3" due to Bug 1269149 comment #2 (by Loic)
See Also: → bug 1269149

Comment 8

3 years ago
Bug 627699 is just the meta bug with /lots/ of dependencies. I sure hope that SeaMonkey will keep shipping releases with GTK2 for a while, given the plenty of issues with GTK3 still being open...

Updated

3 years ago
Summary: Scrollbar buttons missing → Scrollbar buttons missing (GTK3)

Comment 9

3 years ago
NI jhorak@redhat.com We are missing the scrollbar buttons
Blocks: 627699
Perhaps a dupe of bug 1271498?
User agent: Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 SeaMonkey/2.47a1
Build identifier: 20160623050145
http://hg.mozilla.org/mozilla-central/rev/437fc937572dd344f58226d40ba9eccb4ffcaedb
http://hg.mozilla.org/comm-central/rev/a0fd317f89e2

Whether or not there are scrollbar buttons depends on the (complete) theme you use. I don't see them in Default or Modern but EarlyBlue has them. All of them have scrollbar _thumbs_ which are good enough for me. (Instead of clicking the buttons, hitting ↑ or ↓ on the keyboard gives the same result.) I haven't checked more themes but if you want buttons and don't like EarlyBlue (or LCARSTrek, with widgets similar to EarlyBlue's but colours extremely different) there are more themes available. IIUC MetalLion has buttons too.

Hint: At https://addons.mozilla.org/en-us/seamonkey/complete-themes/?sort=updated the themes still actively maintained are listed first.
Whiteboard: [workaround see comment #11]
(Reporter)

Comment 12

3 years ago
In case it's not evident from simply looking at the attachment, I use exclusively the Modern theme that SeaMonkey ships with, which I have been using since before the Mozilla Suite reached version 1.0; and, I use it with many profiles, on many machines, most of them running some form of KDE, most often KDE3 or TDE (a KDE3 fork), and most often via systemsettings using (as noted in comment 0) oxygen-gtk in GTK applications.
In case it's not evident from reading comment #11, a workaround is not the same as a fix.

Comment 14

3 years ago
(Partial quote of Frank Lion from bug 1213152 comment #23)
> Just to, hopefully, clarify a couple of things. The non-appearance of
> scrollbar arrows is not a GTK3 bug, but the omission of just 2 lines of code
> in gtk.css by many Linux OS theme writers, especially Mint. It shows far
> more in browsers, but this omission is evident in other programs that have
> scrollbars and use GTK3, such as Nemo, a main file manager. As so many Linux
> theme writers have mucked this up (a 100% working default theme template
> would have helped) it is assumed by users to be a GTK3/OS or browser bug. It
> 'may' be possible to add the required 2 lines in SeaMonkey's
> chrome://global/content/bindings/scrollbar.xml#scrollbar.

Comment 15

3 years ago
(Yet another quote of Frank Lion from bug 1213152 comment #25)
> No problem. all that I wrote there is correct, but we can fix this! Add the
> following to SM's default scrollbars.css - 
> 
> scrollbarbutton[sbattr="scrollbar-up-bottom"],
> scrollbarbutton[sbattr="scrollbar-down-top"] {
>   display: none;
> }
> scrollbarbutton[sbattr="scrollbar-up-top"],
> scrollbarbutton[sbattr="scrollbar-down-bottom"] {
>   display: -moz-box !important;
> }
> 
> Quick Reproduce: Put this theme on -
> https://addons.mozilla.org/en-us/seamonkey/addon/metal-lion-sea-monkey/
> ?src=cb-dl-updated and any Linux OS theme that is known to vanish the
> scrollbar arrows. As expected, upon SM restart, arrows are gone and same
> with default, etc.
> 
> Now take the scrollbar.xpi that comes with that theme, which uses 'override'
> to, er, override the default scrollbar.css. Edit the scrollbars.css of the
> .xpi and add the above code around line 124. Save, restart, etc. the arrows
> are back and you're done. Putting a 'good' Linux theme on later has no
> adverse effect. 
> 
> Obviously, the code is added to default's scrollbar.css as a proper fix, but
> I'm spelling out the above method, so that other people can test this out
> for themselves. But, I've tested and can't break it. 
> 
> Lucky you linked to that scrollbar bug, I read the comments and picked up
> the fact that Early Bird was not getting whacked by this and that is where
> this fix comes from. :)

Comment 16

3 years ago
I've added Frank's code to toolkit/content/minimal-xul.css and the scrollbar buttons magically appeared in both the classic and modern. :-) The modern theme has suite/themes/modern/global/scrollbars.css but there is no counterpart for the classic theme, thus would need to find a feasible place somewhere.
(Reporter)

Comment 17

2 years ago
Workaround not requiring extension or add-on:

Put the following in ~/.config/gtk-3.0/gtk.css

*{
-GtkScrollbar-has-backward-stepper: 1;
-GtkScrollbar-has-forward-stepper: 1;
-GtkRange-slider-width: 13;
-GtkRange-stepper-size: 13;
}
Whiteboard: [workaround see comment #11] → [workaround see comments #11 and #17]

Updated

2 years ago
Blocks: 1367257
(Assignee)

Comment 18

a year ago
Lets see if we can fix it for 2.49.2
Blocks: 1420707
(Assignee)

Comment 19

a year ago
Posted patch 1269145-scrollbar.patch (obsolete) — Splinter Review
Works fine for me in 2.49.2 under Cent OS 7.4. Windows and OSX are not affected. Any advise how we can get this into Linux Classic theme without pulling in the whole scrollbars.css. Putting the patch from Moderns scrollbars.css into Classic communicator.css seems not to work. Using DOM Inspector I only see the toolkits theme css files pulled in for content scrollbars.
Attachment #8937349 - Flags: feedback?(stefanh)
Attachment #8937349 - Flags: feedback?(iann_bugzilla)
(Assignee)

Comment 20

a year ago
Tried some other approaches but forking scrollbar.css was the only option getting it working for me in Classic. 2.56 is in bad share right probably because of the toolbar xbl removals but you can see the scrollbars in the error console.
Assignee: nobody → frgrahl
Attachment #8937349 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8937349 - Flags: feedback?(stefanh)
Attachment #8937349 - Flags: feedback?(iann_bugzilla)
Attachment #8942713 - Flags: review?(stefanh)
(Assignee)

Comment 21

a year ago
ESR 52 version for next 2.49.x
(Assignee)

Updated

a year ago
status-seamonkey2.49esr: --- → affected
status-seamonkey2.50: --- → wontfix
status-seamonkey2.51: --- → wontfix
status-seamonkey2.52: --- → wontfix
status-seamonkey2.53: --- → affected
status-seamonkey2.54: --- → wontfix
status-seamonkey2.55: --- → wontfix
I don't have any means of testing this, so I think Ian is a better choice here. That said, what style rules are you using to get the buttons to display? Forking the whole file makes me a bit sad... :-(
(Assignee)

Comment 23

a year ago
Comment on attachment 8942713 [details] [diff] [review]
1269145-scrollbar.patch

> That said, what style rules are you using to get the buttons to display?

Essentially the ones added in the Modern theme. Adding them in communicator.css didn't work probably because of the different namespace and including a new file with only the directives didn't do it either. Only minimal-xul.css and scrollbar.css were loaded for the bars in web content according to DOM Inspector.

> Forking the whole file makes me a bit sad... :-(

Well given the current rate with which the source is dumbed down it probably doesn't matter much and needs to be done anyway soon. But if you have another idea I am all ears. Couldf the original scrollbar.css be included and then overridden in a new file?
Attachment #8942713 - Flags: review?(stefanh) → review?(iann_bugzilla)

Comment 24

a year ago
Comment on attachment 8942713 [details] [diff] [review]
1269145-scrollbar.patch

r=me
Attachment #8942713 - Flags: review?(iann_bugzilla) → review+

Comment 25

a year ago
Comment on attachment 8942714 [details] [diff] [review]
1269145-scrollbar-52.patch

r/a=me for ESR52
Attachment #8942714 - Flags: review+
Attachment #8942714 - Flags: approval-comm-esr52+

Comment 26

a year ago
Pushed by frgrahl@gmx.net:
https://hg.mozilla.org/comm-central/rev/4b11d994f023
Show gtk3 scrollbar buttons in SeaMonkey. r=IanN
Status: ASSIGNED → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED
(Assignee)

Comment 27

a year ago
Fixed for 2.49.2

NI so I don't forget to file a followup bug to see if it can be done better.
status-seamonkey2.49esr: affected → fixed
status-seamonkey2.56: --- → fixed
Flags: needinfo?(frgrahl)
Target Milestone: --- → Seamonkey2.56

Updated

a year ago
Duplicate of this bug: 1437927
You need to log in before you can comment on or make changes to this bug.