Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GTK theme engine: where to start?

Tags:

c++

c

themes

gtk

I would like to start coding a gtk theme engine, but i'm wondering where i can find some documentation, if any exists. I know how to have look at someone else engine's code, examples, or torture tests and widget factories etc.., what i want instead is any documentation type, design, references, examples or tutorials possibly from reliable sources such as the Gnome foundation or the like. You know, when coding for the Win32 platform one can pinpoint reliable references on the subject by following the MSDN and then read a variety of other sources to see how the problem has been tackled, if any.

So, where to find an authoritative, reliable and possibly complete source of documentation about GTK theme engine development? Is there any for real?

Later added:

Also, how to debug such an engine? What's the most sane and painless way to perform testing and debugging on such a delicate os' ui component?

like image 633
Manuel Avatar asked Sep 12 '10 14:09

Manuel


People also ask

How do I make a GTK theme?

To create a GTK3 theme, developers can start with an empty file or they can use a pre-existing theme as a template. It may help beginners to start with a pre-existing theme. For instance, a theme can be copied to the user's home folder and then the developer can start editing the files.

Where are GTK themes located?

System themes are stored in /usr/share/themes/ . This is the system-wide equivalent of your ~/. themes/ directory. The directory matching the name of the value of your dconf setting is your current gtk theme.

What is GTK engine?

In GTK, an engine changes the look of the widgets drawn, often to match the native widget set on a particular OS, to control properties such as widget curvature or animations. An engine is software running on your machine.


1 Answers

Well, you can look for instance at the source for the gtk smooth engine in Ubuntu most of which is in one fairly enormous C file smooth_gtk2_drawing.c. I don't know if that's an especially good example, but probably finding whichever looks simplest or most actively maintained would be a good idea.

like image 160
poolie Avatar answered Sep 22 '22 12:09

poolie