LinuxQuestions.org
Latest LQ Deal: Linux Power User Bundle
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Bodhi
User Name
Password
Bodhi This forum is for the discussion of Bodhi Linux.

Notices


Reply
  Search this Thread
Old 12-10-2018, 05:42 AM   #1
bobl01
Member
 
Registered: Oct 2018
Posts: 64

Rep: Reputation: Disabled
Unhappy Bodhi Themes - the scale of the problem


This isn't a question as such. It's more of an explanation of the issues surrounding desktop and application themes.

A few weeks back, I rendered some very minor assistance to Stefan who was working on the Moksha Seven theme. Stefan went on to rework the Vista GTK theme, and then the Bodhi Forum theme. Stefan recently asked me to investigate whether it might be possible to automate (or at least reduce the amount of work) required to rework a theme. My investigations are still on-going. However, here is just a small part what I've found so far which I hope you might find interesting (and possibly mind-blowing).

Since GTK 3, application themes are stored as a sequence of rules in a language which is very similar to CSS. Well, I think we're all probably familiar with CSS, so no problem, right? Well, looking at the Windows Vista GTK theme, there are some 4500 lines of CSS source code, defining over 2000 CSS selector rules, and over 750 definition blocks! Taking just a few CSS tokens at random, the word ".button" appears in over 300 rules, ":hover" in over 150 rules, and "color:" in about 200 definition blocks. (That's just "color:", there's also "background-color:" which appears in about 300 definition blocks!

Unfortunately, since GTK 3.20, the way the rules are defined has changed, so it's now necessary to recast the 3.0 rules into a completely new set of 3.20 rules following new conventions, and it's not at all clear that there's a 1:1 correspondence between old and new. Currently, there are 3000 lines of CSS code in the 3.20 version of the Windows Vista GTK theme. And the rules can be changed for specific apps!

In addition to this complexity, the older GTK 2.0 application themes work in an entirely different way, and the actual desktop theme (as opposed to the GTK app themes) works to yet another different and highly complex standard.

There is a lack of high quality documentation and modern tools, and although there are any number of "how to make your own theme" web tutorials, most of them boil down to grabbing another theme and playing with the colour definitions until you get something you like. Not exactly a reliable way to create a concise set of rules.

I take my hat off to Stefan who is able to cope with this level of complexity. I am over-awed by it, and my inner critic is yelling in my ear that there must be an easier way! Just be aware that each time you run a GTK application, one of its very first jobs is to read 3000+ lines of text simply to decide which background colour it should use for its windows!

My investigations continue; however, there is a serious possibility of my brain melting before I'm able to finish.
 
Old 12-11-2018, 02:54 AM   #2
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 10,429
Blog Entries: 7

Rep: Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592
tl;dr:
GTK3 theme creation is a major pita, and adding injury to insult, GTK3 developers like to break their own rules every few releases or so (making themes incompatible with different versions of gtk3, without graceful degredation).

yes, hats off to anyone who even attempts to make a gtk3 theme from scratch.

for the lesser among us, projects like oomox have proven very helpful.
 
2 members found this post helpful.
Old 12-11-2018, 03:48 AM   #3
the_waiter
Bodhi Developer
 
Registered: Jun 2018
Location: Banská Bystrica, Slovakia
Distribution: Bodhi Linux
Posts: 247

Rep: Reputation: 169Reputation: 169
Yes, exactly oomox is my next step I will take. I used it for dark-green theme and worked fine. The mokshaforum GTK 3.20 is slmost ready but I have found other maybe 5 maintained themes without GTK 3.20 and it is necessary to be done. I will create the main theme skeleton with oomox and then doing all that hard and laborous decoration work. I will inform you how it goes.

Stefan

Last edited by the_waiter; 12-11-2018 at 12:04 PM.
 
1 members found this post helpful.
Old 12-13-2018, 07:35 AM   #4
the_waiter
Bodhi Developer
 
Registered: Jun 2018
Location: Banská Bystrica, Slovakia
Distribution: Bodhi Linux
Posts: 247

Rep: Reputation: 169Reputation: 169
Today I have some hours free for Bodhi work. I installed the newest oomox and I have to say it helps me a lot. Within some minutes I can provide all GTK, Metacity, openbox themes. Fantastic. My 10 min work to match MokshaSunshine theme:

https://i.imgur.com/fLhVhk3.jpg

I think this way could be fine for maintaining our themes. Let me have some more time for fixing all themes and uploading it to the repo.

Stefan

Last edited by the_waiter; 12-13-2018 at 07:38 AM.
 
1 members found this post helpful.
Old 12-14-2018, 01:56 AM   #5
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 10,429
Blog Entries: 7

Rep: Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592Reputation: 2592
I would love to convert some of my oldest GTK2 themes (i once found a box of them in some www attic) with oomox. 15 years ago, ui designers were much better with colors (probably because there wasn't much else to work with).
 
Old 12-14-2018, 04:43 AM   #6
JollyRoger1939
LQ Newbie
 
Registered: Jun 2018
Location: Buckinghamshire, England
Distribution: BodhiLinux
Posts: 27

Rep: Reputation: Disabled
I still have the old A-crema theme on my computer, and use the (analog) clock from that theme on my MokshaForum desktop. It was a great theme.
 
Old 12-14-2018, 07:24 AM   #7
the_waiter
Bodhi Developer
 
Registered: Jun 2018
Location: Banská Bystrica, Slovakia
Distribution: Bodhi Linux
Posts: 247

Rep: Reputation: 169Reputation: 169
Jolly: do you mean that coffee theme? If yes, I like it too.
 
1 members found this post helpful.
Old 12-14-2018, 12:40 PM   #8
JollyRoger1939
LQ Newbie
 
Registered: Jun 2018
Location: Buckinghamshire, England
Distribution: BodhiLinux
Posts: 27

Rep: Reputation: Disabled
Yes, Stefan, I do mean that theme. The last time I used it (with Bodhi 3 I think) I had to use the widgets from another theme to make everything work.
 
Old 12-15-2018, 02:51 PM   #9
the_waiter
Bodhi Developer
 
Registered: Jun 2018
Location: Banská Bystrica, Slovakia
Distribution: Bodhi Linux
Posts: 247

Rep: Reputation: 169Reputation: 169
That coffee theme is nice although the elm theme is missing. Maybe one day I will fix this theme...
 
1 members found this post helpful.
Old 12-16-2018, 02:47 PM   #10
JollyRoger1939
LQ Newbie
 
Registered: Jun 2018
Location: Buckinghamshire, England
Distribution: BodhiLinux
Posts: 27

Rep: Reputation: Disabled
I was prompted by the above posts to use the A-crema (coffee) theme on one of my computers (running Bodhi 4). I had to assign the widgets from another theme (I chose the Sunshine theme) to make it work properly, and I also assigned the Sunshine GTK (Application) theme to make the appearance of apps match it reasonably well. The result is pretty good, though it needs some of Stefan's clever tweaks to make it perfect.

I didn't repeat this experiment on my Bodhi 5 machine, as that computer is essential to the things I do, and I didn't want to risk messing it up.
 
Old 12-16-2018, 03:00 PM   #11
the_waiter
Bodhi Developer
 
Registered: Jun 2018
Location: Banská Bystrica, Slovakia
Distribution: Bodhi Linux
Posts: 247

Rep: Reputation: 169Reputation: 169
Let me finish all the GTK themes for the main themes we have in repository. Today I made 5 of them. Just asked Ylee to have a look and make debs for repository. If tests pass I can look at this A-crema theme and fix all issues I will see. Now I am also able to create GTK themes for A-crema within several minutes with oomox tool.

https://github.com/thewaiter?tab=repositories

Themes with GTK 3.20 support so far:
- Arc
- Blingbling screenshot example: https://i.imgur.com/ROgTrhV.jpg
- Sunshine screenshot example: https://i.imgur.com/qk8JyrR.jpg
- Moonlight screenshot example: https://i.imgur.com/QZhM3FC.jpg
- Forum screenshot example: https://i.imgur.com/MyUOBie.jpg
- Detour
- Radiance

BTW: as far as GTK themes are concerned, please don't expect such an art work as with BodhiForum. I really don't want spend years with theming. Just need to fill theme gaps which are not covered. That's why I use the oomox generator.

Stefan

Last edited by the_waiter; 12-16-2018 at 04:20 PM.
 
1 members found this post helpful.
Old 12-16-2018, 03:15 PM   #12
JollyRoger1939
LQ Newbie
 
Registered: Jun 2018
Location: Buckinghamshire, England
Distribution: BodhiLinux
Posts: 27

Rep: Reputation: Disabled
You're brilliant, Stefan. Many thanks.
 
1 members found this post helpful.
  


Reply

Tags
gtk2, gtk3, theme


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Radio Shack’s a Floater, Another RC for Bodhi & Scaling SCALE LXer Syndicated Linux News 0 02-06-2015 10:40 AM
LXer: SCALE 10X to host SCALE Kids Conference LXer Syndicated Linux News 0 10-18-2011 09:10 PM
LXer: SCALE ready for launch – Pre-registration for SCALE spikes, WIOS/OSSIE and more LXer Syndicated Linux News 0 02-19-2010 04:00 PM
LXer: SCALE 8x Update: Jobs@SCALE (not Steve), T-shirts, SCALE Uni and UpSCALE talks LXer Syndicated Linux News 0 02-13-2010 02:10 PM
LXer: SCALE University Returns for SCALE 8X LXer Syndicated Linux News 0 12-01-2009 03:30 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Bodhi

All times are GMT -5. The time now is 05:49 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration