New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

theme dev talk #101

Closed
raveit65 opened this Issue Jan 24, 2016 · 127 comments

Comments

Projects
None yet
3 participants
@raveit65
Member

raveit65 commented Jan 24, 2016

themes needs a rewrite to 3.20

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Jan 24, 2016

Member

@ lukefromdc

OK, I counrt a total of 11 desktop themes that will have to be ported assuming we don't plan to drop any of them. Once you've done one it's about 8 hours work to rough port one, maybe 4 more to finish. The kicker is this: Mint will be updating to Ubuntu's 16.04 release this Spring, but that will be GTK3.18. I don;t know if Mint will then sit on Ubuntu LTS again for the next 4 years, but if they do they won't ever have to support this exact version of GTK3. Thus they might not port anything this time around. Between the two of us we can port a selection of themes, but we'll need more hands if 11 are to be supported. That's a lot of themes for just one or two developers to deal with. First port always takes the longest, the things I learn the hard way on my own theme are quickly reapplied to anything else I port. Should be the same for everyone else.

Yes, there are a lot of themes. But most of them are sister themes which are only different in color scheme.
Menta should be same as BlueMenta.
GreenLaguna is very similar to BlackMate but a bit different.
Traditional themes should be only different in color scheme
Submarine themes are different in colorscheme and some color definitions, but the structure is the same.
Contrast themes are different but they are very simple themes.
So, for half of the themes it is simply a copy/paste action.
Before gtk+-3.20 use a 2 or 3 in minor version it should be sufficient to have only 1 theme from every sister theme ready, because we don't know what will change in gtk+.
In general for me it is sufficient to have only one or 2 themes ready when 3.20.0 will release.

Well i like to port BlueMenta for myself because i want to learn what i have to change.
And doing it for myself is the best way to learn it.
But feel free to start with another theme if you have some free time.
If you catch the Submarine themes, please comment only out stuff which does not work anymore, we can delete the lines later.,.............Blue-Submarine is my real baby.

And thank you again for your efforts.

Member

raveit65 commented Jan 24, 2016

@ lukefromdc

OK, I counrt a total of 11 desktop themes that will have to be ported assuming we don't plan to drop any of them. Once you've done one it's about 8 hours work to rough port one, maybe 4 more to finish. The kicker is this: Mint will be updating to Ubuntu's 16.04 release this Spring, but that will be GTK3.18. I don;t know if Mint will then sit on Ubuntu LTS again for the next 4 years, but if they do they won't ever have to support this exact version of GTK3. Thus they might not port anything this time around. Between the two of us we can port a selection of themes, but we'll need more hands if 11 are to be supported. That's a lot of themes for just one or two developers to deal with. First port always takes the longest, the things I learn the hard way on my own theme are quickly reapplied to anything else I port. Should be the same for everyone else.

Yes, there are a lot of themes. But most of them are sister themes which are only different in color scheme.
Menta should be same as BlueMenta.
GreenLaguna is very similar to BlackMate but a bit different.
Traditional themes should be only different in color scheme
Submarine themes are different in colorscheme and some color definitions, but the structure is the same.
Contrast themes are different but they are very simple themes.
So, for half of the themes it is simply a copy/paste action.
Before gtk+-3.20 use a 2 or 3 in minor version it should be sufficient to have only 1 theme from every sister theme ready, because we don't know what will change in gtk+.
In general for me it is sufficient to have only one or 2 themes ready when 3.20.0 will release.

Well i like to port BlueMenta for myself because i want to learn what i have to change.
And doing it for myself is the best way to learn it.
But feel free to start with another theme if you have some free time.
If you catch the Submarine themes, please comment only out stuff which does not work anymore, we can delete the lines later.,.............Blue-Submarine is my real baby.

And thank you again for your efforts.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Jan 26, 2016

Member

I just added a mostly complete port of Green-Submarine. Basically usable but probably needs more work. Picked this one so you can fine-tune it for Blue-Submarine. OK, we've now got one light theme and one dark theme usable enough for GTK 3.19/20 testing if nothing else. I only use a limited set of apps, plus check them in gtk3-widget-factory and gtk3-demo, same as my own theme but without the long-term day to day use that always seems to turn up the minor issues.

Member

lukefromdc commented Jan 26, 2016

I just added a mostly complete port of Green-Submarine. Basically usable but probably needs more work. Picked this one so you can fine-tune it for Blue-Submarine. OK, we've now got one light theme and one dark theme usable enough for GTK 3.19/20 testing if nothing else. I only use a limited set of apps, plus check them in gtk3-widget-factory and gtk3-demo, same as my own theme but without the long-term day to day use that always seems to turn up the minor issues.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Jan 29, 2016

Member

Phew, fist raw port for BlueMenta is done, now i can go in details to check if all stuff is working like it should.
Progressbar and Scale is quite broken. I didn't touch mate/gnome/others-application.css.
Looks like that all this settings are lost if we can't use specific 'app selectors'.....this is really a regression for me.
I will take a look at green-submarine over the weekend to find out the button jumping.
I guess it's a issue with .linked button logic.
Sadly, an important page is droped from gtk3-inspector where you could see the theme settings of a widget, with that tool it was easy to find out a padding or border issue for a button. ......another regression for me.
Also it looks like that not all widgets are ported to using nodes.
So i have to look for every widget how they did it with adwaita theme
I guess there will come more changes.
Ok, i didn't test BlueMenta port with Mate, need to set up a VM first with fedora-24.

Member

raveit65 commented Jan 29, 2016

Phew, fist raw port for BlueMenta is done, now i can go in details to check if all stuff is working like it should.
Progressbar and Scale is quite broken. I didn't touch mate/gnome/others-application.css.
Looks like that all this settings are lost if we can't use specific 'app selectors'.....this is really a regression for me.
I will take a look at green-submarine over the weekend to find out the button jumping.
I guess it's a issue with .linked button logic.
Sadly, an important page is droped from gtk3-inspector where you could see the theme settings of a widget, with that tool it was easy to find out a padding or border issue for a button. ......another regression for me.
Also it looks like that not all widgets are ported to using nodes.
So i have to look for every widget how they did it with adwaita theme
I guess there will come more changes.
Ok, i didn't test BlueMenta port with Mate, need to set up a VM first with fedora-24.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Jan 29, 2016

Member

PS: i didn't remove the old obsolete selectors for the moment, so we can use this as references for other themes.

Member

raveit65 commented Jan 29, 2016

PS: i didn't remove the old obsolete selectors for the moment, so we can use this as references for other themes.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Jan 29, 2016

Member

I just added a new branch to my repo with some Green-Submarine fixes.

https://github.com/lukefromdc/mate-themes/tree/Green-Submarine-fixes-gtk3.20

Working on those toolbar.primary-toobar selectors right now, will then see if I can do anything about the jumping. The linked-button code is very complex so no guarantees. If you know the offending widgets though, new jumping on a gtk3.19 port is almost always caused by a border that is present in one widget state and absent in another, in a few cases by a missing minimum-width or minimum-height. Only with treeview separators was the latter the culprit in my work, the rest was borders

Member

lukefromdc commented Jan 29, 2016

I just added a new branch to my repo with some Green-Submarine fixes.

https://github.com/lukefromdc/mate-themes/tree/Green-Submarine-fixes-gtk3.20

Working on those toolbar.primary-toobar selectors right now, will then see if I can do anything about the jumping. The linked-button code is very complex so no guarantees. If you know the offending widgets though, new jumping on a gtk3.19 port is almost always caused by a border that is present in one widget state and absent in another, in a few cases by a missing minimum-width or minimum-height. Only with treeview separators was the latter the culprit in my work, the rest was borders

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Jan 29, 2016

Member

A quick check of BlueMenta here shows it basically working but with some
issues. Images in some buttons don't show up, no text in switches and
progressbars look like they have only a border of the progressbar progress
portion. Only checked Caja and gtk3-widget-factory though and don't know
really what it's supposed to look like. I figure that out normally by installing the
gtk3.18 version, putting the gtk3.20 version in a gtk-3.20 folder in the theme
directory, and then changing gtk versions. I have multiple GTK 3 versions built
into single debian packages apiece so rolling back and re-updating is a one
package installation.

On 1/29/2016 at 3:46 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Phew, fist raw port for BlueMenta is done, now i can go in details
to check if all stuff is working like it should.
Progressbar and Scale is quite broken. I didn't touch
mate/gnome/others-application.css.
Looks like that all this settings are lost if we can't use
specific 'app selectors'.....this is really a regression for me.
I will take a look at green-submarine over the weekend to find out
the button jumping.
I guess it's a issue with .linked button logic.
Sadly, an important page is droped from gtk3-inspector where you
could see the theme settings of a widget, with that tool it was
easy to find out a padding or border issue for a button.
......another regression for me.
Also it looks like that not all widgets are ported to using nodes.
So i have to look for every widget how they did it with adwaita
theme
I guess there will come more changes.
Ok, i didn't test BlueMenta port with Mate, need to set up a VM
first with fedora-24.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-176961961

Member

lukefromdc commented Jan 29, 2016

A quick check of BlueMenta here shows it basically working but with some
issues. Images in some buttons don't show up, no text in switches and
progressbars look like they have only a border of the progressbar progress
portion. Only checked Caja and gtk3-widget-factory though and don't know
really what it's supposed to look like. I figure that out normally by installing the
gtk3.18 version, putting the gtk3.20 version in a gtk-3.20 folder in the theme
directory, and then changing gtk versions. I have multiple GTK 3 versions built
into single debian packages apiece so rolling back and re-updating is a one
package installation.

On 1/29/2016 at 3:46 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Phew, fist raw port for BlueMenta is done, now i can go in details
to check if all stuff is working like it should.
Progressbar and Scale is quite broken. I didn't touch
mate/gnome/others-application.css.
Looks like that all this settings are lost if we can't use
specific 'app selectors'.....this is really a regression for me.
I will take a look at green-submarine over the weekend to find out
the button jumping.
I guess it's a issue with .linked button logic.
Sadly, an important page is droped from gtk3-inspector where you
could see the theme settings of a widget, with that tool it was
easy to find out a padding or border issue for a button.
......another regression for me.
Also it looks like that not all widgets are ported to using nodes.
So i have to look for every widget how they did it with adwaita
theme
I guess there will come more changes.
Ok, i didn't test BlueMenta port with Mate, need to set up a VM
first with fedora-24.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-176961961

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Jan 31, 2016

Member

See mate-desktop/caja@5b56a80
Now we can style destktop canvas items independent from navigation-window with
.caja-desktop.caja-canvas-item { }
or
.caja-desktop EelEditableLabel.entry { }

Works well with 3.20, i think we need to add more style classes like this for old classes CajaNavigationWindow and CajaDesktopWindow at the top of the tree.
Than we can style caja independent from other applications.
Same for other mate applications which we need to style, ie mate-panel and pluma.

Member

raveit65 commented Jan 31, 2016

See mate-desktop/caja@5b56a80
Now we can style destktop canvas items independent from navigation-window with
.caja-desktop.caja-canvas-item { }
or
.caja-desktop EelEditableLabel.entry { }

Works well with 3.20, i think we need to add more style classes like this for old classes CajaNavigationWindow and CajaDesktopWindow at the top of the tree.
Than we can style caja independent from other applications.
Same for other mate applications which we need to style, ie mate-panel and pluma.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 1, 2016

Member

Once toplevel windows are labelled this way, widgets within them are a lot easier to single out, only needing their own style class if it is necessary to distinguish between them in the same app, such as Caja navigation windows vs the Caja desktop.

Member

lukefromdc commented Feb 1, 2016

Once toplevel windows are labelled this way, widgets within them are a lot easier to single out, only needing their own style class if it is necessary to distinguish between them in the same app, such as Caja navigation windows vs the Caja desktop.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 1, 2016

Member

I've added some more style classes , see latest commits at caja master.
.caja-navigation-window at top level
.caja-side-pane --> top level for sidebars

I noticed that the .view class for IconView (navigation-window) doesn't work with 3.20, but adding a class 'fm-icon-container' does not help.
Here 'scrolledwindow.frame helps, but this is a bit odd.
Any Ideas?

Member

raveit65 commented Feb 1, 2016

I've added some more style classes , see latest commits at caja master.
.caja-navigation-window at top level
.caja-side-pane --> top level for sidebars

I noticed that the .view class for IconView (navigation-window) doesn't work with 3.20, but adding a class 'fm-icon-container' does not help.
Here 'scrolledwindow.frame helps, but this is a bit odd.
Any Ideas?

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 1, 2016

Member

The .view situation works like this: in gtk3.20, that custom icon-view widget is always transparent. If you look at it in gtk-inspector, the style class is in fact being applied but it is now a backgroundless, always transparent widget, possibly by becoming a "windowless" widget that simply draws its foreground over whatever is beneath. Thus a background cannot be set for it. Anything else set with .view still works, such as the rubberband theming if not otherwise explicitly themes.

Therefore, the only way to set the background is to set it on something underneath the iconview, the scrolled window is the first one underneath. This can put boxes over the scrollbars in list views, however. The only solution I can think of would be to put a frame or some such thing inside the scrolled window, then put the FMIconView inside that. Either leave it out for the desktop or use the navigation window theme class to override an otherwise transparent BG for it so as not to get an opaque background over the desktop background.

Right now I am using the scrolled window to take the background and putting up with the list view scrollbar white box on top.

Member

lukefromdc commented Feb 1, 2016

The .view situation works like this: in gtk3.20, that custom icon-view widget is always transparent. If you look at it in gtk-inspector, the style class is in fact being applied but it is now a backgroundless, always transparent widget, possibly by becoming a "windowless" widget that simply draws its foreground over whatever is beneath. Thus a background cannot be set for it. Anything else set with .view still works, such as the rubberband theming if not otherwise explicitly themes.

Therefore, the only way to set the background is to set it on something underneath the iconview, the scrolled window is the first one underneath. This can put boxes over the scrollbars in list views, however. The only solution I can think of would be to put a frame or some such thing inside the scrolled window, then put the FMIconView inside that. Either leave it out for the desktop or use the navigation window theme class to override an otherwise transparent BG for it so as not to get an opaque background over the desktop background.

Right now I am using the scrolled window to take the background and putting up with the list view scrollbar white box on top.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 2, 2016

Member

OK, understand, we have to live with it for the momment.
I added some more style classes for caja.
.caja-pathbar
.caja-search-bar
.caja-location-entry
If we need some more , ie CajaTrashBar and others, please let me know.

Member

raveit65 commented Feb 2, 2016

OK, understand, we have to live with it for the momment.
I added some more style classes for caja.
.caja-pathbar
.caja-search-bar
.caja-location-entry
If we need some more , ie CajaTrashBar and others, please let me know.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 2, 2016

Member

The Caja trashbar can be themed by the # widget name #caja-extra-view-widget ,
which covers the trashbar and I think covers other info bars, though I never see
any but the trashbar with my setup.

On 2/1/2016 at 8:02 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

OK, understand, we have to live with it for the momment.
I added some more style classes for caja.
.caja-location-entry
.caja-search-bar
.caja-location-entry
If we need some more , ie CajaTrashBar and others, please let me
know.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-178288533

Member

lukefromdc commented Feb 2, 2016

The Caja trashbar can be themed by the # widget name #caja-extra-view-widget ,
which covers the trashbar and I think covers other info bars, though I never see
any but the trashbar with my setup.

On 2/1/2016 at 8:02 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

OK, understand, we have to live with it for the momment.
I added some more style classes for caja.
.caja-location-entry
.caja-search-bar
.caja-location-entry
If we need some more , ie CajaTrashBar and others, please let me
know.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-178288533

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 2, 2016

Member

Thanks for the hint.
Btw, do you see that issue with mate-terminal on bare metal with 3.20 ?
mate-desktop/mate-terminal#111
My rawhide installation is in virtualbox.

Member

raveit65 commented Feb 2, 2016

Thanks for the hint.
Btw, do you see that issue with mate-terminal on bare metal with 3.20 ?
mate-desktop/mate-terminal#111
My rawhide installation is in virtualbox.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 2, 2016

Member

Yes I do, that has been going on since the beginning of GTK3.19, but I figured
at the time it was just another gtk3.19 bug. Now it looks like it may be here to
stay.

On 2/2/2016 at 12:32 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Thanks for the hint.
Btw, do you see that issue with mate-terminal on bare metal with
3.20 ?
mate-desktop/mate-terminal#111
My rawhide installation is in virtualbox.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-178703510

Member

lukefromdc commented Feb 2, 2016

Yes I do, that has been going on since the beginning of GTK3.19, but I figured
at the time it was just another gtk3.19 bug. Now it looks like it may be here to
stay.

On 2/2/2016 at 12:32 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Thanks for the hint.
Btw, do you see that issue with mate-terminal on bare metal with
3.20 ?
mate-desktop/mate-terminal#111
My rawhide installation is in virtualbox.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-178703510

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 3, 2016

Member

I just tested the latest BlueMenta, it's coming along nicely but some builtin icons
are still rendering either white on white or transparent in gtk3-widget-factory and
in GtkInspector. Also, you need to set a min-width on menu items containing
checks or radios, as that is defaulting to zero and removing the images.

On 2/2/2016 at 12:32 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Thanks for the hint.
Btw, do you see that issue with mate-terminal on bare metal with
3.20 ?
mate-desktop/mate-terminal#111
My rawhide installation is in virtualbox.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-178703510

Member

lukefromdc commented Feb 3, 2016

I just tested the latest BlueMenta, it's coming along nicely but some builtin icons
are still rendering either white on white or transparent in gtk3-widget-factory and
in GtkInspector. Also, you need to set a min-width on menu items containing
checks or radios, as that is defaulting to zero and removing the images.

On 2/2/2016 at 12:32 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Thanks for the hint.
Btw, do you see that issue with mate-terminal on bare metal with
3.20 ?
mate-desktop/mate-terminal#111
My rawhide installation is in virtualbox.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-178703510

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 3, 2016

Member

I added min-witdh for check/radio buttons, i never known that, thx.
And yes, some symbolic icons don't render very well on selected button state.
Normal symbolic icons change to white fg for a dark bg, i don't know why this doesn't work, maybe the contrast is too low for this bg color.
The missing icon in headerbar button of gtk3-inspector is a result of replacing symbolic icons in windows-control.css with regular icons.
With this line https://github.com/mate-desktop/mate-themes/blob/master/desktop-themes/BlueMenta/gtk-3.0/window-controls.css#L274
i revert the replacement for the menu button. I need to know the exact button name to do the same for this button.

Member

raveit65 commented Feb 3, 2016

I added min-witdh for check/radio buttons, i never known that, thx.
And yes, some symbolic icons don't render very well on selected button state.
Normal symbolic icons change to white fg for a dark bg, i don't know why this doesn't work, maybe the contrast is too low for this bg color.
The missing icon in headerbar button of gtk3-inspector is a result of replacing symbolic icons in windows-control.css with regular icons.
With this line https://github.com/mate-desktop/mate-themes/blob/master/desktop-themes/BlueMenta/gtk-3.0/window-controls.css#L274
i revert the replacement for the menu button. I need to know the exact button name to do the same for this button.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 3, 2016

Member

I do not know the name of the one in gtk3-widget-factory, it does not come up
with a name in gtk3-inspector. It has the style class .image-button.popup.toggle
but the problem with fixing buttons by name in test programs like this is that they
are symptoms of larger problems that these programs are designed to reveal.

One tip: I find that different themes with the same icon theme give different results,
I don't get this issue with my theme at all, but in that case the symbolic icons are
rendered white on a dark background in both programs. Most symbolic icons are
disabled in my theme but these still come up as symbolics, perhaps they are
hardcoded as such?

On 2/3/2016 at 11:20 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

I added min-witdh for check/radio buttons, i never known that, thx.
And yes, some symbolic icons don't render very well on selected
button state.
Normal symbolic icons change to white fg for a dark bg, i don't
know why this doesn't work, maybe the contrast is too low for this
bg color.
The missing icon in headerbar button of gtk3-inspector is a result
of replacing symbolic icons in windows-control.css with regular
icons.
With this line https://github.com/mate-desktop/mate-
themes/blob/master/desktop-themes/BlueMenta/gtk-3.0/window-
controls.css#L274
i revert the replacement for the menu button. I need to know the
exact button name to do the same for this button.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-179320917

Member

lukefromdc commented Feb 3, 2016

I do not know the name of the one in gtk3-widget-factory, it does not come up
with a name in gtk3-inspector. It has the style class .image-button.popup.toggle
but the problem with fixing buttons by name in test programs like this is that they
are symptoms of larger problems that these programs are designed to reveal.

One tip: I find that different themes with the same icon theme give different results,
I don't get this issue with my theme at all, but in that case the symbolic icons are
rendered white on a dark background in both programs. Most symbolic icons are
disabled in my theme but these still come up as symbolics, perhaps they are
hardcoded as such?

On 2/3/2016 at 11:20 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

I added min-witdh for check/radio buttons, i never known that, thx.
And yes, some symbolic icons don't render very well on selected
button state.
Normal symbolic icons change to white fg for a dark bg, i don't
know why this doesn't work, maybe the contrast is too low for this
bg color.
The missing icon in headerbar button of gtk3-inspector is a result
of replacing symbolic icons in windows-control.css with regular
icons.
With this line https://github.com/mate-desktop/mate-
themes/blob/master/desktop-themes/BlueMenta/gtk-3.0/window-
controls.css#L274
i revert the replacement for the menu button. I need to know the
exact button name to do the same for this button.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-179320917

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 5, 2016

Member

Be advised that there were enough changes in today's version (2-4-2016) of
gtk3.19.8 to force me to explicitly theme the wnck workspace switcher in my
own theme, something which had not previously been necessary. Nothing
else seemed to break except Adwaita and only Adwaita forced the panel to
a much larger default height which could not be changed, no doubt due to
accidently matching some selector in Adwaita.

BlueMenta, Green-Submarine, and BlackMATE didn't get any new panel issues,
so an accidental match may have overridden the workspace switcher in my
theme.

The big change was that all those widgets with no name now get a css node name
of widget by default.

EDIT: This selector works for singling out the panel drag handles/grips without matching anything else it seems:

#PanelPlug>#PanelApplet>widget>widget

Member

lukefromdc commented Feb 5, 2016

Be advised that there were enough changes in today's version (2-4-2016) of
gtk3.19.8 to force me to explicitly theme the wnck workspace switcher in my
own theme, something which had not previously been necessary. Nothing
else seemed to break except Adwaita and only Adwaita forced the panel to
a much larger default height which could not be changed, no doubt due to
accidently matching some selector in Adwaita.

BlueMenta, Green-Submarine, and BlackMATE didn't get any new panel issues,
so an accidental match may have overridden the workspace switcher in my
theme.

The big change was that all those widgets with no name now get a css node name
of widget by default.

EDIT: This selector works for singling out the panel drag handles/grips without matching anything else it seems:

#PanelPlug>#PanelApplet>widget>widget

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 5, 2016

Member

The panel tray and window list grips were also made transparent by today's
gtk3 change, but the added "widget" name made them a bit easier to
explicitly theme. I used this selector but a style class added to the trays
and window list move grips would probably be a better idea:

window.mate-panel-menu-bar>widget>widget>widget.mate-panel-menu-bar>widget

These selectors work ONLY with gtk3.19.8 built after today's changes but were
not needed in my theme before today. The "widget" css node name is applied
to any widget that otherwise would not have a css node name, so it matches
only deprecated and custom widgets.

On 2/3/2016 at 11:20 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

I added min-witdh for check/radio buttons, i never known that, thx.
And yes, some symbolic icons don't render very well on selected
button state.
Normal symbolic icons change to white fg for a dark bg, i don't
know why this doesn't work, maybe the contrast is too low for this
bg color.
The missing icon in headerbar button of gtk3-inspector is a result
of replacing symbolic icons in windows-control.css with regular
icons.
With this line https://github.com/mate-desktop/mate-
themes/blob/master/desktop-themes/BlueMenta/gtk-3.0/window-
controls.css#L274
i revert the replacement for the menu button. I need to know the
exact button name to do the same for this button.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-179320917

Member

lukefromdc commented Feb 5, 2016

The panel tray and window list grips were also made transparent by today's
gtk3 change, but the added "widget" name made them a bit easier to
explicitly theme. I used this selector but a style class added to the trays
and window list move grips would probably be a better idea:

window.mate-panel-menu-bar>widget>widget>widget.mate-panel-menu-bar>widget

These selectors work ONLY with gtk3.19.8 built after today's changes but were
not needed in my theme before today. The "widget" css node name is applied
to any widget that otherwise would not have a css node name, so it matches
only deprecated and custom widgets.

On 2/3/2016 at 11:20 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

I added min-witdh for check/radio buttons, i never known that, thx.
And yes, some symbolic icons don't render very well on selected
button state.
Normal symbolic icons change to white fg for a dark bg, i don't
know why this doesn't work, maybe the contrast is too low for this
bg color.
The missing icon in headerbar button of gtk3-inspector is a result
of replacing symbolic icons in windows-control.css with regular
icons.
With this line https://github.com/mate-desktop/mate-
themes/blob/master/desktop-themes/BlueMenta/gtk-3.0/window-
controls.css#L274
i revert the replacement for the menu button. I need to know the
exact button name to do the same for this button.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-179320917

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 5, 2016

Member

Got the panel tray icon padding working again for gtk3.19.8 with this code:
#PanelPlug>#PanelApplet {
-NaTrayApplet-icon-padding: 1px;
}

Member

lukefromdc commented Feb 5, 2016

Got the panel tray icon padding working again for gtk3.19.8 with this code:
#PanelPlug>#PanelApplet {
-NaTrayApplet-icon-padding: 1px;
}

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 5, 2016

Member

Do you see the name 'widget' in gtk3-inspector?
I don't see that with gtk3-3.19.8-2.fc24.
I agree with adding a style class for na-try-applet. Maybe we should add style classes for all applets?

Btw., what's the different of using (>)

#PanelPlug>#PanelApplet { }

and

#PanelPlug #PanelApplet { }

in general for theming?

I noticed also a change with spinbuttons. 'spinbutton entry' is working again. See changes in BlueMenta from today.

Member

raveit65 commented Feb 5, 2016

Do you see the name 'widget' in gtk3-inspector?
I don't see that with gtk3-3.19.8-2.fc24.
I agree with adding a style class for na-try-applet. Maybe we should add style classes for all applets?

Btw., what's the different of using (>)

#PanelPlug>#PanelApplet { }

and

#PanelPlug #PanelApplet { }

in general for theming?

I noticed also a change with spinbuttons. 'spinbutton entry' is working again. See changes in BlueMenta from today.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 5, 2016

Member

I forgot to say the 'grips' i can style in BlueMenta with

MatePanelAppletFrameDBus {
    background-image: -gtk-scaled(url("assets/panel-grid.svg"));
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: left;
}
Member

raveit65 commented Feb 5, 2016

I forgot to say the 'grips' i can style in BlueMenta with

MatePanelAppletFrameDBus {
    background-image: -gtk-scaled(url("assets/panel-grid.svg"));
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: left;
}
@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 5, 2016

Member

The difference between #PanelPlug>#PanelApplet { } and #PanelPlug #PanelApplet { }
is that the former cannot accidently match anything else that has something between
those two selectors. In "widget chain" selectors I always seek to use the > character to
limit the match to the exact widget chain I am trying to theme and avoid unwanted
matches.

The "widget" css node works ONLY with versions of gtk3.19.8 built after a commit that
came out yesterday, I buiid gtk3.19 from source each day if anything important
has changed.

https://git.gnome.org/browse/gtk+/commit/?id=f7ec9c98ef0ef8740c93f96af9d971b0211118c1

"Now selecting a widget by class name no longer works.

This is probably most relevant for users outside of GTK that want to
style their own widgets. Those widgets should now either add their own
style classes (if they want to adjust existing CSS) or use
gtk_widget_class_set_css_name() themselves (if they want to get rid of
all "upstream" styling)."

On 2/5/2016 at 11:48 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

Do you see the name 'widget' in gtk3-inspector?
I don't see that with gtk3-3.19.8-2.fc24.
I agree with adding a style class for na-try-applet. Maybe we
should add style classes for all applets?

Btw., what's the different of using (>)

#PanelPlug>#PanelApplet { }

and

#PanelPlug #PanelApplet { }

in general for theming?

I noticed also a change with spinbuttons. 'spinbutton entry' is
working again. See changes in BlueMenta from today.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-180435551

Member

lukefromdc commented Feb 5, 2016

The difference between #PanelPlug>#PanelApplet { } and #PanelPlug #PanelApplet { }
is that the former cannot accidently match anything else that has something between
those two selectors. In "widget chain" selectors I always seek to use the > character to
limit the match to the exact widget chain I am trying to theme and avoid unwanted
matches.

The "widget" css node works ONLY with versions of gtk3.19.8 built after a commit that
came out yesterday, I buiid gtk3.19 from source each day if anything important
has changed.

https://git.gnome.org/browse/gtk+/commit/?id=f7ec9c98ef0ef8740c93f96af9d971b0211118c1

"Now selecting a widget by class name no longer works.

This is probably most relevant for users outside of GTK that want to
style their own widgets. Those widgets should now either add their own
style classes (if they want to adjust existing CSS) or use
gtk_widget_class_set_css_name() themselves (if they want to get rid of
all "upstream" styling)."

On 2/5/2016 at 11:48 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

Do you see the name 'widget' in gtk3-inspector?
I don't see that with gtk3-3.19.8-2.fc24.
I agree with adding a style class for na-try-applet. Maybe we
should add style classes for all applets?

Btw., what's the different of using (>)

#PanelPlug>#PanelApplet { }

and

#PanelPlug #PanelApplet { }

in general for theming?

I noticed also a change with spinbuttons. 'spinbutton entry' is
working again. See changes in BlueMenta from today.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-180435551

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 6, 2016

Member

Ahh, understand the different now, thx.
I added new style clases:
pluma-window
pluma-print-preview
atril-window
eom-window

Member

raveit65 commented Feb 6, 2016

Ahh, understand the different now, thx.
I added new style clases:
pluma-window
pluma-print-preview
atril-window
eom-window

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 6, 2016

Member

GTK Inspector just got harder to use. The no longer used widget names are now
no longer displayed, the css name "widget" plus any style class being all you are
shown now for a custom widget. This may increase the importance of the style
classes for debugging.

While it is also possible to add css node names directly, that is a gtk3.20 and later
only solution, though the older GTK versions would just ignore them and use the
widget names.

Basically, old stuff no longer used withing gtk3.19 is being cleaned out it seems,
hopefully it will stablize soon because GNOME will have to be finalized against
a stable GTK version prior to its own release.

On 2/6/2016 at 1:52 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

Ahh, understand the different now, thx.
I added new style clases:
pluma-window
pluma-print-preview
atril-window
eom-window


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-180708054

Member

lukefromdc commented Feb 6, 2016

GTK Inspector just got harder to use. The no longer used widget names are now
no longer displayed, the css name "widget" plus any style class being all you are
shown now for a custom widget. This may increase the importance of the style
classes for debugging.

While it is also possible to add css node names directly, that is a gtk3.20 and later
only solution, though the older GTK versions would just ignore them and use the
widget names.

Basically, old stuff no longer used withing gtk3.19 is being cleaned out it seems,
hopefully it will stablize soon because GNOME will have to be finalized against
a stable GTK version prior to its own release.

On 2/6/2016 at 1:52 AM, "Wolfgang Ulbrich" notifications@github.com wrote:

Ahh, understand the different now, thx.
I added new style clases:
pluma-window
pluma-print-preview
atril-window
eom-window


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-180708054

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 14, 2016

Member

What version of Nemo were you using for this commit?
a66c234

.nemo-window does not work with the 2.8.6-1 version in Debian Unstable, and on the Nemo github page I could not find any reference to a commit adding this style class. I suspect it will work in the future though, as Nemo/Cinnamon devs will encounter GTK 3.20 with Debian Unstable probably in May and Ubuntu 16.10 development versions at a similar time. If Mint goes with the Ubuntu LTS again though, they won't actually NEED it to work in their own distro for two years.

The version of Nemo I have can be styled-but only with the long widget chains. EDIT: gtk inspector confirms this style class not present on Nemo 2.8.6-1 from Debian Unstable.

Member

lukefromdc commented Feb 14, 2016

What version of Nemo were you using for this commit?
a66c234

.nemo-window does not work with the 2.8.6-1 version in Debian Unstable, and on the Nemo github page I could not find any reference to a commit adding this style class. I suspect it will work in the future though, as Nemo/Cinnamon devs will encounter GTK 3.20 with Debian Unstable probably in May and Ubuntu 16.10 development versions at a similar time. If Mint goes with the Ubuntu LTS again though, they won't actually NEED it to work in their own distro for two years.

The version of Nemo I have can be styled-but only with the long widget chains. EDIT: gtk inspector confirms this style class not present on Nemo 2.8.6-1 from Debian Unstable.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 15, 2016

Member

Noticed a Fixme in BlueMenta for progressbar minimum height and widgth:
-GtkProgressBar-min-horizontal-bar-height: 16;
becomes simply
min-height: 16 px

within the relevant selectors. Had to read the actual gtkprogressbar.c source to find this out!

Member

lukefromdc commented Feb 15, 2016

Noticed a Fixme in BlueMenta for progressbar minimum height and widgth:
-GtkProgressBar-min-horizontal-bar-height: 16;
becomes simply
min-height: 16 px

within the relevant selectors. Had to read the actual gtkprogressbar.c source to find this out!

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 15, 2016

Member

As linuxmint does not have a focus for gtk+ > 3.18, i helped out with a patch for fedora rawhide.
http://pkgs.fedoraproject.org/cgit/rpms/nemo.git/commit/?id=b65f56bf2343f821229c967bbb734962c3f0490c .
You need to patch nemo-2.8.6.
I guess sooner or later fedora's nemo maintainer will send the patch to linuxmint upstream.

Thanks for the hint for progressbars.

Member

raveit65 commented Feb 15, 2016

As linuxmint does not have a focus for gtk+ > 3.18, i helped out with a patch for fedora rawhide.
http://pkgs.fedoraproject.org/cgit/rpms/nemo.git/commit/?id=b65f56bf2343f821229c967bbb734962c3f0490c .
You need to patch nemo-2.8.6.
I guess sooner or later fedora's nemo maintainer will send the patch to linuxmint upstream.

Thanks for the hint for progressbars.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 16, 2016

Member

I applied just the nemo_style-classes.patch from there to nemo 2.8.6, it works. Adjusted my theme to it to prevent accidental matches to anything else, figuring it's better to tell users to use a patched build Nemo from the same website (it will go there when the next theme version does) than to have to deal with accidental matches to anything else. Hope that patch goes upstream, I don't want to have to bring those widget chains back. For now I just dumped the modded files into /usr/src and the origin of both the patch and the source download into the changelog so distribution of the Debian package will meet GPL requirements.

EDIT: I just set up this github fork to make the finished code more accessable and easier to maintain:
https://github.com/lukefromdc/nemo/tree/gtk3.20-theme-support

Member

lukefromdc commented Feb 16, 2016

I applied just the nemo_style-classes.patch from there to nemo 2.8.6, it works. Adjusted my theme to it to prevent accidental matches to anything else, figuring it's better to tell users to use a patched build Nemo from the same website (it will go there when the next theme version does) than to have to deal with accidental matches to anything else. Hope that patch goes upstream, I don't want to have to bring those widget chains back. For now I just dumped the modded files into /usr/src and the origin of both the patch and the source download into the changelog so distribution of the Debian package will meet GPL requirements.

EDIT: I just set up this github fork to make the finished code more accessable and easier to maintain:
https://github.com/lukefromdc/nemo/tree/gtk3.20-theme-support

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 18, 2016

Member

I noticed that .caja-notebook .view { } styles now icon view again with 3.19.8-4.
Can you confirm?
And maybe we can revert mate-desktop/caja@e5c2965 ?
What do you think?

Member

raveit65 commented Feb 18, 2016

I noticed that .caja-notebook .view { } styles now icon view again with 3.19.8-4.
Can you confirm?
And maybe we can revert mate-desktop/caja@e5c2965 ?
What do you think?

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 18, 2016

Member

I just did some tests with today's gtk 3.19.9 and here's what I found: caja-notebook .view { } is styling the very scrolledwindow I attached the .view class to, and that is what you are seeing. The icon view itself also catches it but applies it only to the rubberband, theming it solid color unless explicitly re-themed. The icon view widget (icon container) remains transparent. I don't normally get the rubberband issue because the main .view and rubberband are themed together in my theme so that's all the .view style class on the icon container catches unless it is explicitly overridden as your code will do.

I proved this by using .caja-navigation-window scrolledwindow.view {} to set the scrolledwindow transparent explicitly, equivalent to reverting the commit so far as icon views are concerned. The result was the background window color (gray in my theme) showing through plus the rubberband being themed solid white (the theme base color) since the explicit theming of that one view overrode the general .view rubberband style and wasn't included in the test. GTK inspector still shows the "background-color" as white (in my theme) but it is not actually applied to the overall background in this widget-not in Caja, not in Nemo, not in Nautilus 3.19.2 even.

Nothing has changed for the better concerning this in any GTK 3.19 version I've gotten from git master since the problem first started. GNOME's Adwaita themes always use similar base and background colors, so it doesn't seem to bother them.

Reverting this commit would thus once again force an unconditional theming of the scrolledwindow, bringing back the unremovable white squares at the top of list view scrollbars in themes with white views and dark background colors. The point to my commit was to theme the scrolledwindow when and only when it contains an icon view.

You didn't get a patched version of GTK 3.19 by any chance? I've not seen any version 3.19.8 dash anything in GIT master, so I am assuming this was a binary build from someone else.

Member

lukefromdc commented Feb 18, 2016

I just did some tests with today's gtk 3.19.9 and here's what I found: caja-notebook .view { } is styling the very scrolledwindow I attached the .view class to, and that is what you are seeing. The icon view itself also catches it but applies it only to the rubberband, theming it solid color unless explicitly re-themed. The icon view widget (icon container) remains transparent. I don't normally get the rubberband issue because the main .view and rubberband are themed together in my theme so that's all the .view style class on the icon container catches unless it is explicitly overridden as your code will do.

I proved this by using .caja-navigation-window scrolledwindow.view {} to set the scrolledwindow transparent explicitly, equivalent to reverting the commit so far as icon views are concerned. The result was the background window color (gray in my theme) showing through plus the rubberband being themed solid white (the theme base color) since the explicit theming of that one view overrode the general .view rubberband style and wasn't included in the test. GTK inspector still shows the "background-color" as white (in my theme) but it is not actually applied to the overall background in this widget-not in Caja, not in Nemo, not in Nautilus 3.19.2 even.

Nothing has changed for the better concerning this in any GTK 3.19 version I've gotten from git master since the problem first started. GNOME's Adwaita themes always use similar base and background colors, so it doesn't seem to bother them.

Reverting this commit would thus once again force an unconditional theming of the scrolledwindow, bringing back the unremovable white squares at the top of list view scrollbars in themes with white views and dark background colors. The point to my commit was to theme the scrolledwindow when and only when it contains an icon view.

You didn't get a patched version of GTK 3.19 by any chance? I've not seen any version 3.19.8 dash anything in GIT master, so I am assuming this was a binary build from someone else.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 18, 2016

Member

These two screenshots show the effect of being able to single out scrolledwindows containing icon views/compact views only. In Caja my commit attaches the style class only to scrolled windows containing icon/compact views, so when a list view is selected the scrolled window looks as it should. Nautilus does not have this, so to put the white background in the icon view it must be applied unconditionally to the scrolled window or a widget containing that scrolled window. Thus with my white icon views and medium gray background color, you get the white squares. The only fixes are to either use overlay scrolling (ugh!) or patch Nautius too. Were I putting out a public distro using Nautilus I would still have to do exactly that. This is GTK 3.19.9 just built today(Feb 18) from unmodified GIT master, Nautilus 3.19.2 also from GIT master a couple days ago, and Caja from GIT master as of yesterday (Feb 17).

reverting mate-desktop/caja@e5c2965 would either put the white squares seen over the Nautilus scrollbars on Caja too in any similar theme using white views, or force use of views the same color as the background color

nautilus_scrollbars

caja-scrollbars

Member

lukefromdc commented Feb 18, 2016

These two screenshots show the effect of being able to single out scrolledwindows containing icon views/compact views only. In Caja my commit attaches the style class only to scrolled windows containing icon/compact views, so when a list view is selected the scrolled window looks as it should. Nautilus does not have this, so to put the white background in the icon view it must be applied unconditionally to the scrolled window or a widget containing that scrolled window. Thus with my white icon views and medium gray background color, you get the white squares. The only fixes are to either use overlay scrolling (ugh!) or patch Nautius too. Were I putting out a public distro using Nautilus I would still have to do exactly that. This is GTK 3.19.9 just built today(Feb 18) from unmodified GIT master, Nautilus 3.19.2 also from GIT master a couple days ago, and Caja from GIT master as of yesterday (Feb 17).

reverting mate-desktop/caja@e5c2965 would either put the white squares seen over the Nautilus scrollbars on Caja too in any similar theme using white views, or force use of views the same color as the background color

nautilus_scrollbars

caja-scrollbars

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 18, 2016

Member

Here's what GNOME just did for Nautius, and yes, it leaves the white scrollbar tops in list views when dropped into my theme. Those are also visible in Adwaita, though the difference is faint there. They said they got a white window "by luck" into now.

.nautilus-window notebook,
.nautilus-window notebook > stack {
    background: white;
}

This does have the advantage for them that these widgets are explicily set transparent for the desktop, so they don't have to theme it back out again for the desktop icon view. They've had a lot of issue with widgets that draw their color on the desktop, making Nautilus very tricky to theme.

Wonder if I should fork Nautilus with the same patch, it would solve their problem...

Member

lukefromdc commented Feb 18, 2016

Here's what GNOME just did for Nautius, and yes, it leaves the white scrollbar tops in list views when dropped into my theme. Those are also visible in Adwaita, though the difference is faint there. They said they got a white window "by luck" into now.

.nautilus-window notebook,
.nautilus-window notebook > stack {
    background: white;
}

This does have the advantage for them that these widgets are explicily set transparent for the desktop, so they don't have to theme it back out again for the desktop icon view. They've had a lot of issue with widgets that draw their color on the desktop, making Nautilus very tricky to theme.

Wonder if I should fork Nautilus with the same patch, it would solve their problem...

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 18, 2016

Member

Here's what GNOME just did for Nautius, and yes, it leaves the white scrollbar tops in list views when dropped into my theme. Those are also visible in Adwaita, though the difference is faint there. They said they got a white window "by luck" into now.

.nautilus-window notebook,
.nautilus-window notebook > stack {
    background: white;
}

This does have the advantage for them that these widgets are explicily set transparent for the desktop, so they don't have to theme it back out again for the desktop icon view. They've had a lot of issue with widgets that draw their color on the desktop, making Nautilus very tricky to theme.

Just submitted this PR for Nautilus since they are now using a workaround that only helps Adwaita:

GNOME/nautilus#12

Member

lukefromdc commented Feb 18, 2016

Here's what GNOME just did for Nautius, and yes, it leaves the white scrollbar tops in list views when dropped into my theme. Those are also visible in Adwaita, though the difference is faint there. They said they got a white window "by luck" into now.

.nautilus-window notebook,
.nautilus-window notebook > stack {
    background: white;
}

This does have the advantage for them that these widgets are explicily set transparent for the desktop, so they don't have to theme it back out again for the desktop icon view. They've had a lot of issue with widgets that draw their color on the desktop, making Nautilus very tricky to theme.

Just submitted this PR for Nautilus since they are now using a workaround that only helps Adwaita:

GNOME/nautilus#12

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 18, 2016

Member

You're right, i was a bit confused that the bg color was fine with blue-submarine out of box, without porting mate-applications.css to 3.20.
Of course with your commit the setting for .view in gtk-widget.css will apply to caja.
Sorry for that noise.

Member

raveit65 commented Feb 18, 2016

You're right, i was a bit confused that the bg color was fine with blue-submarine out of box, without porting mate-applications.css to 3.20.
Of course with your commit the setting for .view in gtk-widget.css will apply to caja.
Sorry for that noise.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 26, 2016

Member

I' ve add more style classes and css names to code:
mate-media --> css name GvcMixerDialog
eom & atril --> css name EggToolbarEditor
atril --> atril-window style class at top level
eom --> eom-window style class at top level
mate-terminal --> mate-terminal style class at top level
pluma --> style class pluma-window and pluma-print-preview
caja --> style class caja-property-browser
mate-panel --> style class wnck-pager
mate-panel --> css names MatePanelAppletFrameDBus, PanelSeparator and PanelToplevel

Member

raveit65 commented Feb 26, 2016

I' ve add more style classes and css names to code:
mate-media --> css name GvcMixerDialog
eom & atril --> css name EggToolbarEditor
atril --> atril-window style class at top level
eom --> eom-window style class at top level
mate-terminal --> mate-terminal style class at top level
pluma --> style class pluma-window and pluma-print-preview
caja --> style class caja-property-browser
mate-panel --> style class wnck-pager
mate-panel --> css names MatePanelAppletFrameDBus, PanelSeparator and PanelToplevel

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Feb 26, 2016

Member

Well, i finished porting Blue-Submarine for now, i think most stuff works now with gtk+-3.19.10.
I expect more adjustments until gtk+ is stable or later, but B-S is good at this point.
So, my question, should i sync Green-Submarine with Blue-Submarine, or do you want to maintain Green-Submarine as independent theme ?
I don't want to break your nice work.
Maybe you want to mantain BlackMate which will help me a lot and we let B-S and G-S as sister themes only different in colors?
I will start now with porting TraditionalOk (clearlooks).
Anyway, thanks for your help here and in other packages.

Member

raveit65 commented Feb 26, 2016

Well, i finished porting Blue-Submarine for now, i think most stuff works now with gtk+-3.19.10.
I expect more adjustments until gtk+ is stable or later, but B-S is good at this point.
So, my question, should i sync Green-Submarine with Blue-Submarine, or do you want to maintain Green-Submarine as independent theme ?
I don't want to break your nice work.
Maybe you want to mantain BlackMate which will help me a lot and we let B-S and G-S as sister themes only different in colors?
I will start now with porting TraditionalOk (clearlooks).
Anyway, thanks for your help here and in other packages.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Feb 26, 2016

Member

Go ahead and sync it up, I've got my hands full mantaining one theme and a whole
bunch of Debian packages that are published on Archive. It will be easier to mantain
the two themes if they are based on the same code, and my version has gotten a
little old.

BlackMATE I should be able to handle, though since I only do work other than
theme work in my own theme I will need to get reports of issues with it. I will go
over it for any obvious issues with the current GTK 3.19 and again at release of 3.20.

On 2/26/2016 at 5:07 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Well, i'm finished with porting Blue-Submarine for now, ithink
most stuff works now with gtk+-3.19.10.
I expect more adjustments until gtk+ is stable or later, but B-S
is good now.
So, my question, should i sync Green-Submarine with Blue-
Submarine, or do you want to maintain Green-Submarine as
independent theme ?
I don't want to break your nice work.
Maybe you want to mantain BlackMate which will help me a lot and
we let B-S and G-S as sister themes only different in colors?
I will start now with porting TraditionalOk (clearlooks).
Anyway, thanks for your help here and in other packages.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-189503716

Member

lukefromdc commented Feb 26, 2016

Go ahead and sync it up, I've got my hands full mantaining one theme and a whole
bunch of Debian packages that are published on Archive. It will be easier to mantain
the two themes if they are based on the same code, and my version has gotten a
little old.

BlackMATE I should be able to handle, though since I only do work other than
theme work in my own theme I will need to get reports of issues with it. I will go
over it for any obvious issues with the current GTK 3.19 and again at release of 3.20.

On 2/26/2016 at 5:07 PM, "Wolfgang Ulbrich" notifications@github.com wrote:

Well, i'm finished with porting Blue-Submarine for now, ithink
most stuff works now with gtk+-3.19.10.
I expect more adjustments until gtk+ is stable or later, but B-S
is good now.
So, my question, should i sync Green-Submarine with Blue-
Submarine, or do you want to maintain Green-Submarine as
independent theme ?
I don't want to break your nice work.
Maybe you want to mantain BlackMate which will help me a lot and
we let B-S and G-S as sister themes only different in colors?
I will start now with porting TraditionalOk (clearlooks).
Anyway, thanks for your help here and in other packages.


Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-189503716

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Mar 1, 2016

Member

Ugly breakage to scrollbars and scales sliders today (2-29-2016) caused by a very late sequence change to gtk3.19.10 from git master. Lots of work to fix in first my theme, then BlackMATE. Results at
https://github.com/lukefromdc/mate-themes/tree/BlackMATE-gtk3.20

Mostly works except that arrows on scrollbars (not used in Adwaita) point the wrong way. Fixed that in my own theme with force-loaded icons on the buttons but should be able to revert it if GNOME fixes that bug. Had to leave that out of BlackMATE after github didn't take the svg images for it.

To raveit65: Blue-Submarine et all now need more work as soon as you get this update, you may have to wait a while for it if not building gtk3.19 yourself, may WANT to wait a while in case more of this bullshit is coming down the line. Many more items concerning sliders and troughs needed to have min-width and min-height explicitly set and background handling also changed. Bunch of scale, range, and "gadget" changes that should have been done much earlier as GTK3.20 is getting close to release time!

Member

lukefromdc commented Mar 1, 2016

Ugly breakage to scrollbars and scales sliders today (2-29-2016) caused by a very late sequence change to gtk3.19.10 from git master. Lots of work to fix in first my theme, then BlackMATE. Results at
https://github.com/lukefromdc/mate-themes/tree/BlackMATE-gtk3.20

Mostly works except that arrows on scrollbars (not used in Adwaita) point the wrong way. Fixed that in my own theme with force-loaded icons on the buttons but should be able to revert it if GNOME fixes that bug. Had to leave that out of BlackMATE after github didn't take the svg images for it.

To raveit65: Blue-Submarine et all now need more work as soon as you get this update, you may have to wait a while for it if not building gtk3.19 yourself, may WANT to wait a while in case more of this bullshit is coming down the line. Many more items concerning sliders and troughs needed to have min-width and min-height explicitly set and background handling also changed. Bunch of scale, range, and "gadget" changes that should have been done much earlier as GTK3.20 is getting close to release time!

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 18, 2016

Member

Good to know.
personal i won't install fedora rawhide before f24 release in june, so this is really future music for me.
But i can create a gtk-3.22 branch for m-t if you like.

Member

raveit65 commented Apr 18, 2016

Good to know.
personal i won't install fedora rawhide before f24 release in june, so this is really future music for me.
But i can create a gtk-3.22 branch for m-t if you like.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 19, 2016

Member

Good idea, we need to get ahead of this. So far I found breakage where a
theme specifies a font size, only got that in my own theme. Also found
breakage in Pluma, not sure how to fix that, probably there will be a Gedit
commit sometime that tells how to do this.

On 4/18/2016 at 7:51 PM, "NO NAME" notifications@github.com wrote:

Good to know.
personal i won't install fedora rawhide before f24 release in
june, so this is really future music for me.
But i can create a gtk-3.22 branch for m-t if you like.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-211636766

Member

lukefromdc commented Apr 19, 2016

Good idea, we need to get ahead of this. So far I found breakage where a
theme specifies a font size, only got that in my own theme. Also found
breakage in Pluma, not sure how to fix that, probably there will be a Gedit
commit sometime that tells how to do this.

On 4/18/2016 at 7:51 PM, "NO NAME" notifications@github.com wrote:

Good to know.
personal i won't install fedora rawhide before f24 release in
june, so this is really future music for me.
But i can create a gtk-3.22 branch for m-t if you like.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-211636766

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 25, 2016

Member

Found a nice page for style selectors conversion.
https://wiki.gnome.org/Projects/GTK%2B/StyleClasses

Member

raveit65 commented Apr 25, 2016

Found a nice page for style selectors conversion.
https://wiki.gnome.org/Projects/GTK%2B/StyleClasses

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 26, 2016

Member

Menus in BlackMate needs a bit love ;)
There is a conflict with using a vertical background-image for menu and menuitem:hover.
Probably a gtk+ bug.
You can solve that with using horizontal direction for menu, after that it's possible to enable the transition effect for menuitem again.
Ie.

 menu,
 menubar  menu,
 menuitem  menu {
    background-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to left,
                                      @theme_selected_bg_color,
                                      shade(@theme_selected_bg_color, 0.5));
    border-style: none;
    border-width: 0px;
    border-radius: 0;
    padding: 1px;
}

Also i would use background-image and border-image: none for disabled state.
And menu arrows aren't visible.
There are wrong selectors in css, ie osd.and others.
For OSD we use .osd button and button.osd.
This is testable with gnome-weather or parole mediaplayer from xfce.

Member

raveit65 commented Apr 26, 2016

Menus in BlackMate needs a bit love ;)
There is a conflict with using a vertical background-image for menu and menuitem:hover.
Probably a gtk+ bug.
You can solve that with using horizontal direction for menu, after that it's possible to enable the transition effect for menuitem again.
Ie.

 menu,
 menubar  menu,
 menuitem  menu {
    background-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to left,
                                      @theme_selected_bg_color,
                                      shade(@theme_selected_bg_color, 0.5));
    border-style: none;
    border-width: 0px;
    border-radius: 0;
    padding: 1px;
}

Also i would use background-image and border-image: none for disabled state.
And menu arrows aren't visible.
There are wrong selectors in css, ie osd.and others.
For OSD we use .osd button and button.osd.
This is testable with gnome-weather or parole mediaplayer from xfce.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 26, 2016

Member

Btw. i can fix that stuff if you agree.

Member

raveit65 commented Apr 26, 2016

Btw. i can fix that stuff if you agree.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 26, 2016

Member

Go for it, I have no experience working with transitions. BTW, I've finally
got Firefox with GTK 3.20, pretty in my theme with a couple bugs:
sliders same color as trough, and I get bare checks for the checkboxes with
the usual theme ignored-in ALL themes.

One thing that helped my theme a lot in Firefox: a border around sliders will
make them visible in Firefox and a lot easier to use. In fact, of all themes I
have mine works best in FF-GTK3 even though it got no adjustments for it,
due to the slider issue.

On 4/26/2016 at 6:29 AM, "NO NAME" notifications@github.com wrote:

Btw. i can fix that stuff if you agree.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-214696455

Member

lukefromdc commented Apr 26, 2016

Go for it, I have no experience working with transitions. BTW, I've finally
got Firefox with GTK 3.20, pretty in my theme with a couple bugs:
sliders same color as trough, and I get bare checks for the checkboxes with
the usual theme ignored-in ALL themes.

One thing that helped my theme a lot in Firefox: a border around sliders will
make them visible in Firefox and a lot easier to use. In fact, of all themes I
have mine works best in FF-GTK3 even though it got no adjustments for it,
due to the slider issue.

On 4/26/2016 at 6:29 AM, "NO NAME" notifications@github.com wrote:

Btw. i can fix that stuff if you agree.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-214696455

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 27, 2016

Member

Someone on Phoronix linked to this article with a CSS file for Firefox that fixes invisible checkboxes etc on Firefox GTK 3 with dark themes and GTK 3.20:

http://forums.fedoraforum.org/showthread.php?t=304493

Member

lukefromdc commented Apr 27, 2016

Someone on Phoronix linked to this article with a CSS file for Firefox that fixes invisible checkboxes etc on Firefox GTK 3 with dark themes and GTK 3.20:

http://forums.fedoraforum.org/showthread.php?t=304493

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 27, 2016

Member

The solution is simple, firefox use a mix of old and new theme syntax.
menu menuitem .radio
menu menuitem .check
I fixed this for Menta themes and BlackMate.

Member

raveit65 commented Apr 27, 2016

The solution is simple, firefox use a mix of old and new theme syntax.
menu menuitem .radio
menu menuitem .check
I fixed this for Menta themes and BlackMate.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 27, 2016

Member

btw. are there check and radio boxes at other places?

Member

raveit65 commented Apr 27, 2016

btw. are there check and radio boxes at other places?

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 27, 2016

Member

And here is the explanation of it.
https://developer.gnome.org/gtk3/stable/GtkRadioButton.html#id-1.3.9.4.10.9
A GtkRadioButton without indicator changes the name of its main node to button and adds a .radio style class to it

Member

raveit65 commented Apr 27, 2016

And here is the explanation of it.
https://developer.gnome.org/gtk3/stable/GtkRadioButton.html#id-1.3.9.4.10.9
A GtkRadioButton without indicator changes the name of its main node to button and adds a .radio style class to it

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 27, 2016

Member

Check and radio boxes also appear in website content and in extension preference dialogs (notably NoScript). Used this code to fix them in my theme, had to split them out from two-part animated checkboxes used elsewhere as a background image can't be used under them in Firefox:

/*for Firefox (FIXME-will this cause unwanted matches?*/
.check:checked  {
    -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked.svg")); 
}

.check:checked:hover,
.check:active:hover  {
    -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-glow.svg")); 
}

.radio:checked {
    -gtk-icon-source: -gtk-scaled(url("assets/radio-checked.svg"));
}

.button {
    border-image: url("assets/button-border-dark.svg") 3 / 3px stretch;
}

Got simliar results fixing scrollbars with .slider, now working on many other theme elements. When I get this done, I will then do the same for BlackMATE, and this will be a guide for fixing these in other themes

Member

lukefromdc commented Apr 27, 2016

Check and radio boxes also appear in website content and in extension preference dialogs (notably NoScript). Used this code to fix them in my theme, had to split them out from two-part animated checkboxes used elsewhere as a background image can't be used under them in Firefox:

/*for Firefox (FIXME-will this cause unwanted matches?*/
.check:checked  {
    -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked.svg")); 
}

.check:checked:hover,
.check:active:hover  {
    -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-glow.svg")); 
}

.radio:checked {
    -gtk-icon-source: -gtk-scaled(url("assets/radio-checked.svg"));
}

.button {
    border-image: url("assets/button-border-dark.svg") 3 / 3px stretch;
}

Got simliar results fixing scrollbars with .slider, now working on many other theme elements. When I get this done, I will then do the same for BlackMATE, and this will be a guide for fixing these in other themes

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 27, 2016

Member

Why .check:active:hover ?
I think this is a remnant from state conversion with gtk+-3.14.
and a hover:active state don't exists for check and radio.
I used only checked:hover in last commits.

Member

raveit65 commented Apr 27, 2016

Why .check:active:hover ?
I think this is a remnant from state conversion with gtk+-3.14.
and a hover:active state don't exists for check and radio.
I used only checked:hover in last commits.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 27, 2016

Member

Simply copied from what I had been using before, the way many themes
evolve. It has not had a rewrite from scratch since GTK 3.12 when it was
rebased by modifying a different theme than before.

On 4/27/2016 at 3:56 PM, "NO NAME" notifications@github.com wrote:

Why .check:active:hover ?
I think this is a remnant from state conversion with gtk+-3.14.
and a hover:active state don't exists for check and radio.
I used only checked:hover in last commits.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-215209106

Member

lukefromdc commented Apr 27, 2016

Simply copied from what I had been using before, the way many themes
evolve. It has not had a rewrite from scratch since GTK 3.12 when it was
rebased by modifying a different theme than before.

On 4/27/2016 at 3:56 PM, "NO NAME" notifications@github.com wrote:

Why .check:active:hover ?
I think this is a remnant from state conversion with gtk+-3.14.
and a hover:active state don't exists for check and radio.
I used only checked:hover in last commits.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-215209106

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 27, 2016

Member

I just uploaded the updated version of UbuntuStudio_Legacy with support for GTK3 Firefox to my usual Archive repo at:

https://archive.org/download/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme/gtk-theme-ubuntustudio-legacy-3.21.1git20160504-1_all.deb

When it is superseded and moved into Old_Versions the above link will break but the package will remain available in

https://archive.org/download/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme/Old_versions

I would put this stuff on Github but I do not know how to set up makefiles for the normal build system, I might put it there anyway with an INSTALL file explaining that it is only necessary to copy the whole directory into /usr/share/themes and set the correct permissions.

Member

lukefromdc commented Apr 27, 2016

I just uploaded the updated version of UbuntuStudio_Legacy with support for GTK3 Firefox to my usual Archive repo at:

https://archive.org/download/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme/gtk-theme-ubuntustudio-legacy-3.21.1git20160504-1_all.deb

When it is superseded and moved into Old_Versions the above link will break but the package will remain available in

https://archive.org/download/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme/Old_versions

I would put this stuff on Github but I do not know how to set up makefiles for the normal build system, I might put it there anyway with an INSTALL file explaining that it is only necessary to copy the whole directory into /usr/share/themes and set the correct permissions.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 Apr 28, 2016

Member

@monsta
Can you please give Luke a hint how to create a make file?

Member

raveit65 commented Apr 28, 2016

@monsta
Can you please give Luke a hint how to create a make file?

@monsta

This comment has been minimized.

Show comment
Hide comment
@monsta

monsta Apr 28, 2016

Member

I can try, but I don't know what should be built with it 😄

Member

monsta commented Apr 28, 2016

I can try, but I don't know what should be built with it 😄

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 28, 2016

Member

The mate-themes include a makefile that guides the installation process.
No binaries are built, but some files get like index.theme get made from
files like index.theme.in, probably for localization reasons.

Without that, "make install" can't install the theme files, and more importantly
the packaging tools used by distros like Debian also break

On 4/28/2016 at 6:36 AM, "monsta" notifications@github.com wrote:

I can try, but I don't know what should be built with it 😄


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-215381619

Member

lukefromdc commented Apr 28, 2016

The mate-themes include a makefile that guides the installation process.
No binaries are built, but some files get like index.theme get made from
files like index.theme.in, probably for localization reasons.

Without that, "make install" can't install the theme files, and more importantly
the packaging tools used by distros like Debian also break

On 4/28/2016 at 6:36 AM, "monsta" notifications@github.com wrote:

I can try, but I don't know what should be built with it 😄


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-215381619

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc Apr 29, 2016

Member

I just found out why Yelp(help browser) is so hard to theme. Everything in the view contained in it gets hardcoded colors calculated from the base color, the text color-and indirectly from the link color. Yelp makes a temporary link button and uses it's style context to get the color for the text in the (usually)blue box. NOTHING else can theme it, as the application overrides the GTK defaults.

Works OK in all the MATE themes as it stands, though in Green-Submarine-the text in the inner box (blue in most themes) is too bright and could use some darkening as described below. On the other hand, I was getting white text in the light blue box in Ubuntustudio_Legacy. Until GNOME fixed a bunch of style context warnings I got the selected bg color on yelp and at least everything was readable. When that was fixed for 3.20 I had to do some digging. I found it uses the fg color set on a link button, but NOT the color set on a label on a link button, which is what you actually see on a link button! On a theme with dark backgrounds but light views, this will default to a light color and make Yelp nearly unusable unless you know where to fix it.

I set a "fake" link button color just for Yelp, which uses the fg color of the link button itself, then set the color for the label on a real link button to another, lighter value and everything worked. I get the link button labels I want, yet Yelp gets the darker color. For some reason color inheritance often fails for child widgets, but just in case it decided to work after an update, I themed button.link.text-button first, then themed button.link.text-button label, button.link label directly underneath it.

I learned all this digging through Yelp source code with the intention of fixing it there and forking it to my account, then submitting a PR that GNOME would be sure to ignore. Found it could be fixed in themes-and quite independently of what you really want to put on a real link button due to this phony style context. Needless to say, I never saw any documentation of this wierdness.

Member

lukefromdc commented Apr 29, 2016

I just found out why Yelp(help browser) is so hard to theme. Everything in the view contained in it gets hardcoded colors calculated from the base color, the text color-and indirectly from the link color. Yelp makes a temporary link button and uses it's style context to get the color for the text in the (usually)blue box. NOTHING else can theme it, as the application overrides the GTK defaults.

Works OK in all the MATE themes as it stands, though in Green-Submarine-the text in the inner box (blue in most themes) is too bright and could use some darkening as described below. On the other hand, I was getting white text in the light blue box in Ubuntustudio_Legacy. Until GNOME fixed a bunch of style context warnings I got the selected bg color on yelp and at least everything was readable. When that was fixed for 3.20 I had to do some digging. I found it uses the fg color set on a link button, but NOT the color set on a label on a link button, which is what you actually see on a link button! On a theme with dark backgrounds but light views, this will default to a light color and make Yelp nearly unusable unless you know where to fix it.

I set a "fake" link button color just for Yelp, which uses the fg color of the link button itself, then set the color for the label on a real link button to another, lighter value and everything worked. I get the link button labels I want, yet Yelp gets the darker color. For some reason color inheritance often fails for child widgets, but just in case it decided to work after an update, I themed button.link.text-button first, then themed button.link.text-button label, button.link label directly underneath it.

I learned all this digging through Yelp source code with the intention of fixing it there and forking it to my account, then submitting a PR that GNOME would be sure to ignore. Found it could be fixed in themes-and quite independently of what you really want to put on a real link button due to this phony style context. Needless to say, I never saw any documentation of this wierdness.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 1, 2016

Member

Has anyone found a selector that works for the Firefox history menu that looks like a popover but ignores popover, .popover, .modelbutton, .menuitem etc?

Member

lukefromdc commented May 1, 2016

Has anyone found a selector that works for the Firefox history menu that looks like a popover but ignores popover, .popover, .modelbutton, .menuitem etc?

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 2, 2016

Member

The mate-themes include a makefile that guides the installation process. No binaries are built, but some files get like index.theme get made from files like index.theme.in, probably for localization reasons. Without that, "make install" can't install the theme files, and more importantly the packaging tools used by distros like Debian also break

You can try to use obsolete mate-themes-extras as template which is more simple and use index.theme files directly.
https://github.com/raveit65/mate-themes-extras
Every Makefile.am in directories is mentioned in configure.ac.
So, for one theme you don't need the dir desktop-themes, this you need to correct in configure.ac.
I suggest to upload your theme to github and i can help your there with a PR.

Member

raveit65 commented May 2, 2016

The mate-themes include a makefile that guides the installation process. No binaries are built, but some files get like index.theme get made from files like index.theme.in, probably for localization reasons. Without that, "make install" can't install the theme files, and more importantly the packaging tools used by distros like Debian also break

You can try to use obsolete mate-themes-extras as template which is more simple and use index.theme files directly.
https://github.com/raveit65/mate-themes-extras
Every Makefile.am in directories is mentioned in configure.ac.
So, for one theme you don't need the dir desktop-themes, this you need to correct in configure.ac.
I suggest to upload your theme to github and i can help your there with a PR.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 2, 2016

Member

Has anyone found a selector that works for the Firefox history menu that looks like a popover but ignores popover, .popover, .modelbutton, .menuitem etc?

I guess you mean the context menu from * address bar*. Looks like a combobox for me, or old comboxentry which is dropped with 3.20.

Member

raveit65 commented May 2, 2016

Has anyone found a selector that works for the Firefox history menu that looks like a popover but ignores popover, .popover, .modelbutton, .menuitem etc?

I guess you mean the context menu from * address bar*. Looks like a combobox for me, or old comboxentry which is dropped with 3.20.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 2, 2016

Member

Yes, tthat's the one: the history menu from the ittle clock icon on the
toolbar that also includes the address entry(which does not follow the
entry theme).

On 5/2/2016 at 2:11 PM, "NO NAME" notifications@github.com wrote:

Has anyone found a selector that works for the Firefox history
menu that looks like a popover but ignores popover, .popover,
.modelbutton, .menuitem etc?

I guess you mean the context menu from * address bar*. Looks
like a combobox for me, or old comboxentry which is dropped with
3.20.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-216314840

Member

lukefromdc commented May 2, 2016

Yes, tthat's the one: the history menu from the ittle clock icon on the
toolbar that also includes the address entry(which does not follow the
entry theme).

On 5/2/2016 at 2:11 PM, "NO NAME" notifications@github.com wrote:

Has anyone found a selector that works for the Firefox history
menu that looks like a popover but ignores popover, .popover,
.modelbutton, .menuitem etc?

I guess you mean the context menu from * address bar*. Looks
like a combobox for me, or old comboxentry which is dropped with
3.20.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-216314840

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 2, 2016

Member

Yes, tthat's the one: the history menu from the ittle clock icon on the toolbar that also includes the address entry(which does not follow the entry theme).

bildschirmfoto zu 2016-05-02 20-43-06
That one?
Looks like a dialog window.
........wtf......unusable with submarine themes.....

Member

raveit65 commented May 2, 2016

Yes, tthat's the one: the history menu from the ittle clock icon on the toolbar that also includes the address entry(which does not follow the entry theme).

bildschirmfoto zu 2016-05-02 20-43-06
That one?
Looks like a dialog window.
........wtf......unusable with submarine themes.....

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 2, 2016

Member

That's ANOTHER one, and again the hovered item ignores the theme
except for using the color specified for that state. The one I was speaking
of is the "menu" made by clicking on the "clock" toolbar icon, one item
in which is "show all history" from which the dialog is launched.

On 5/2/2016 at 2:45 PM, "NO NAME" notifications@github.com wrote:

Yes, tthat's the one: the history menu from the ittle clock icon
on the toolbar that also includes the address entry(which does not
follow the entry theme).
![bildschirmfoto zu 2016-05-02 20-43-
06](https://cloud.githubusercontent.com/assets/961604/14964004/b673
2f26-10a6-11e6-87f7-eaeeecc821a5.png)
That one?
Looks like a dialog window.
........wtf......unusable with submarine themes.....


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-216324616

Member

lukefromdc commented May 2, 2016

That's ANOTHER one, and again the hovered item ignores the theme
except for using the color specified for that state. The one I was speaking
of is the "menu" made by clicking on the "clock" toolbar icon, one item
in which is "show all history" from which the dialog is launched.

On 5/2/2016 at 2:45 PM, "NO NAME" notifications@github.com wrote:

Yes, tthat's the one: the history menu from the ittle clock icon
on the toolbar that also includes the address entry(which does not
follow the entry theme).
![bildschirmfoto zu 2016-05-02 20-43-
06](https://cloud.githubusercontent.com/assets/961604/14964004/b673
2f26-10a6-11e6-87f7-eaeeecc821a5.png)
That one?
Looks like a dialog window.
........wtf......unusable with submarine themes.....


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-216324616

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 2, 2016

Member

OK, got it :)
I didn't add the clock icon for history to menus here.
And yes this looks like a popup and isn't styled by ie. submarine themes.
...firefox is a mess.

Member

raveit65 commented May 2, 2016

OK, got it :)
I didn't add the clock icon for history to menus here.
And yes this looks like a popup and isn't styled by ie. submarine themes.
...firefox is a mess.

@raveit65

This comment has been minimized.

Show comment
Hide comment
Member

raveit65 commented May 2, 2016

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 2, 2016

Member

As usual, the popover css node style is ignored in Firefox, and no
.popover style class is being set. It's supposed to get .menu but that
too is ignored with Firefox.

.menu:hover .menu menuitem:hover and even .menu *:hover are all
ignored

On 5/2/2016 at 3:25 PM, "NO NAME" notifications@github.com wrote:

Maybe you find a hind here
https://developer.gnome.org/gtk3/stable/GtkPopover.html


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-216336038

Member

lukefromdc commented May 2, 2016

As usual, the popover css node style is ignored in Firefox, and no
.popover style class is being set. It's supposed to get .menu but that
too is ignored with Firefox.

.menu:hover .menu menuitem:hover and even .menu *:hover are all
ignored

On 5/2/2016 at 3:25 PM, "NO NAME" notifications@github.com wrote:

Maybe you find a hind here
https://developer.gnome.org/gtk3/stable/GtkPopover.html


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mate-desktop/mate-
themes/issues/101#issuecomment-216336038

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 3, 2016

Member

I just added https://github.com/lukefromdc/gtk-theme-ubuntustudio-legacy to my repo containing the "UbuntuStudio_Legacy" GTK theme, which is an otherwise medium dark theme with white views.
Will work in GTK 3.14 through GTK 3.20 and in GTK 3.21 as of today's version due to versioned subdirectories.

For now no MakeFiles are present as I have yet to figure them out, but it can be installed by simply dragging the entire directory into /usr/share/themes and setting the permissions correctly.

Found these directions for getting around the GIT errors that had stopped me until now on StackOverflow:

git init
git config user.name "someone"
git config user.email "someone@someplace.com"
git add *
git commit -m "some init msg"

I hope the fact that the original UbuntuStudio theme was published under Creative Commons Attribution-ShareAlike 2.5 License Agreement and the later themes used to get things working under GPL v3 does not create compatablity issues that prevent redistribution by MATE or on Github. I have little understanding of that sort of thing and NO ability to resolve it beyond asking the UbuntuStudio development email list if anyone objects. I will continue to use the theme myself with or without redistributability.

Due to contributions from others under two different licenses I dual-licensed my own contributions (now the bulk of the code) under both licenses, but am NOT concerned about which license, any, or none my own contributions must be licensed under and have no objection to relicensing my own contributions. Very little is left of any of the GPLv3 themes I got help from, could resort to "fair use" for those cases if I need to relicense/dual license my own contributions. Public domain fine for my own part of the work. Most contributions from e17GTK are to GTK 3.18 and earlier, as GTK3.20 forced a radical rewrite.

Member

lukefromdc commented May 3, 2016

I just added https://github.com/lukefromdc/gtk-theme-ubuntustudio-legacy to my repo containing the "UbuntuStudio_Legacy" GTK theme, which is an otherwise medium dark theme with white views.
Will work in GTK 3.14 through GTK 3.20 and in GTK 3.21 as of today's version due to versioned subdirectories.

For now no MakeFiles are present as I have yet to figure them out, but it can be installed by simply dragging the entire directory into /usr/share/themes and setting the permissions correctly.

Found these directions for getting around the GIT errors that had stopped me until now on StackOverflow:

git init
git config user.name "someone"
git config user.email "someone@someplace.com"
git add *
git commit -m "some init msg"

I hope the fact that the original UbuntuStudio theme was published under Creative Commons Attribution-ShareAlike 2.5 License Agreement and the later themes used to get things working under GPL v3 does not create compatablity issues that prevent redistribution by MATE or on Github. I have little understanding of that sort of thing and NO ability to resolve it beyond asking the UbuntuStudio development email list if anyone objects. I will continue to use the theme myself with or without redistributability.

Due to contributions from others under two different licenses I dual-licensed my own contributions (now the bulk of the code) under both licenses, but am NOT concerned about which license, any, or none my own contributions must be licensed under and have no objection to relicensing my own contributions. Very little is left of any of the GPLv3 themes I got help from, could resort to "fair use" for those cases if I need to relicense/dual license my own contributions. Public domain fine for my own part of the work. Most contributions from e17GTK are to GTK 3.18 and earlier, as GTK3.20 forced a radical rewrite.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 3, 2016

Member

Some questions:
For what you need the gtk-2.0-key dir?
'UbuntuStudio_Legacy' is the theme name and the name under /usr/share/themes/ ?
I'm not very good in license questions but here is a link to GPL.
https://www.gnu.org/licenses/licenses.en.html

Member

raveit65 commented May 3, 2016

Some questions:
For what you need the gtk-2.0-key dir?
'UbuntuStudio_Legacy' is the theme name and the name under /usr/share/themes/ ?
I'm not very good in license questions but here is a link to GPL.
https://www.gnu.org/licenses/licenses.en.html

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 3, 2016

Member

I added the necessary make and configure files at the forked repo.
https://github.com/raveit65/gtk-theme-ubuntustudio-legacy
But i don't know how to handle the symlink 'assets' in make file.
The make command failed if i use it as folder or as file in make file.

Member

raveit65 commented May 3, 2016

I added the necessary make and configure files at the forked repo.
https://github.com/raveit65/gtk-theme-ubuntustudio-legacy
But i don't know how to handle the symlink 'assets' in make file.
The make command failed if i use it as folder or as file in make file.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 3, 2016

Member

Done, feel free to ask me if you have questions.
Or visit us at irc freenode channel mate-dev

Member

raveit65 commented May 3, 2016

Done, feel free to ask me if you have questions.
Or visit us at irc freenode channel mate-dev

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 3, 2016

Member

Found these directions for getting around the GIT errors that had stopped me until now on StackOverflow:

git init
git config user.name "someone"
git config user.email "someone@someplace.com"
git add *
git commit -m "some init msg"

You should find now those settings in ~.gitconfig.
It's also possible to use a ssh key for connecting with github.
https://help.github.com/articles/generating-an-ssh-key/

Member

raveit65 commented May 3, 2016

Found these directions for getting around the GIT errors that had stopped me until now on StackOverflow:

git init
git config user.name "someone"
git config user.email "someone@someplace.com"
git add *
git commit -m "some init msg"

You should find now those settings in ~.gitconfig.
It's also possible to use a ssh key for connecting with github.
https://help.github.com/articles/generating-an-ssh-key/

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 3, 2016

Member

I forgot to tell, this is the explanation from gtk+ dev M.Clasen why we can't use gtk3-inspector for firefox.

<mclasen> raveit: GDK_BACKEND=x11 GTK_DEBUG=interactive firefox works here
<raveit65> mclasen, yes that works, but i can only select the main frame 'window.background widget'
<mclasen> raveit65: the toplevel may be all there is... firefox is not generally using gtk widgets, it just uses gtk for drawing
Member

raveit65 commented May 3, 2016

I forgot to tell, this is the explanation from gtk+ dev M.Clasen why we can't use gtk3-inspector for firefox.

<mclasen> raveit: GDK_BACKEND=x11 GTK_DEBUG=interactive firefox works here
<raveit65> mclasen, yes that works, but i can only select the main frame 'window.background widget'
<mclasen> raveit65: the toplevel may be all there is... firefox is not generally using gtk widgets, it just uses gtk for drawing
@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 3, 2016

Member

Thanks, I really appreciate this. Merged your changes back to my repo and got a successful buiild and install the same way I do the MATE themes, so that works. Debian package built and installed fine, it's at https://archive.org/details/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme superseding previous versions due the the change to dual licensing my own contributions under both licenses used by others

As for the theme name, that's what I've always used in /usr/share/themes, didn't know of any other name to use. Future work might be to add a "blue" version with the original UbuntuStudio blue color and keep the "green" version in which case the internal names would have to reflect that. This would go well with the "Traditional" and "Submarine" themes which both have blue and green versions. I already have most of the needed image assets for this.

Bumped the version to 3.21.1 to match the maximum supported GTK version the way MATE themes are versioned-and because published versions on Archive had already reached 2.1.4 over the years. Versioning took over from UbuntuStudio's version 0.28 with an 0.3 back in March 2011 that was my first rough GTK3 port. New packages start with 0.1, but in this case that would have been UbuntuStudio's first theme experiments as this is a follow-on.

Next up: the UbuntuStudio-Legacy icon theme and more BlackMATE/Gedit experiments

Member

lukefromdc commented May 3, 2016

Thanks, I really appreciate this. Merged your changes back to my repo and got a successful buiild and install the same way I do the MATE themes, so that works. Debian package built and installed fine, it's at https://archive.org/details/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme superseding previous versions due the the change to dual licensing my own contributions under both licenses used by others

As for the theme name, that's what I've always used in /usr/share/themes, didn't know of any other name to use. Future work might be to add a "blue" version with the original UbuntuStudio blue color and keep the "green" version in which case the internal names would have to reflect that. This would go well with the "Traditional" and "Submarine" themes which both have blue and green versions. I already have most of the needed image assets for this.

Bumped the version to 3.21.1 to match the maximum supported GTK version the way MATE themes are versioned-and because published versions on Archive had already reached 2.1.4 over the years. Versioning took over from UbuntuStudio's version 0.28 with an 0.3 back in March 2011 that was my first rough GTK3 port. New packages start with 0.1, but in this case that would have been UbuntuStudio's first theme experiments as this is a follow-on.

Next up: the UbuntuStudio-Legacy icon theme and more BlackMATE/Gedit experiments

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 4, 2016

Member

I added a style class .tooltip to marco.
mate-desktop/marco@4ab26c4
Now min/max/menu/menu buttons are matched with that selector.

Member

raveit65 commented May 4, 2016

I added a style class .tooltip to marco.
mate-desktop/marco@4ab26c4
Now min/max/menu/menu buttons are matched with that selector.

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 4, 2016

Member

Et voila,
using .tooltip fixes firefox tooltips :)

Member

raveit65 commented May 4, 2016

Et voila,
using .tooltip fixes firefox tooltips :)

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 4, 2016

Member

Ok, i fixed that for BlackMATE too, feel free to adjust the settings.
I found out that tooltips match on .csd selector.

Member

raveit65 commented May 4, 2016

Ok, i fixed that for BlackMATE too, feel free to adjust the settings.
I found out that tooltips match on .csd selector.

@lukefromdc

This comment has been minimized.

Show comment
Hide comment
@lukefromdc

lukefromdc May 4, 2016

Member

Just found that GreenLaguna's window controls work in Gedit. The key is that GreenLaguna uses headerbar unconditionally, not headerbar.titlebar as the selector. I first themed all CSD controls in UbuntuStudio_Legacy to match SSD apps for the first time, then applied this to BlackMATE with
4a59477

Member

lukefromdc commented May 4, 2016

Just found that GreenLaguna's window controls work in Gedit. The key is that GreenLaguna uses headerbar unconditionally, not headerbar.titlebar as the selector. I first themed all CSD controls in UbuntuStudio_Legacy to match SSD apps for the first time, then applied this to BlackMATE with
4a59477

@raveit65

This comment has been minimized.

Show comment
Hide comment
@raveit65

raveit65 May 5, 2016

Member

I opened a new topic for communication.
#119

Member

raveit65 commented May 5, 2016

I opened a new topic for communication.
#119

@raveit65 raveit65 closed this May 5, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment