Not really related to Blender, but this is the only forum I frequent and thought others here might find this interesting.
Long story short: I’m in the process of both learning how to, and implementing a GTK+2 theme specifically tailored to Inkscape on Windows. Though I’m about 1000 lines of code in, this is very much a work in progress of a few days. Once done, I will of course share with the world. I may also tackle the icons at some point.
Short story long:
I’ve been doing a lot of vector work lately and my go-to app is definitely… Affinity Designer. However, it is missing a lot of advanced features, which means I’m often having to fire up ol’ Inkscape. Boy, do I hate the interface! Every time I jump to the app I feel like I’m also jumping through a time machine back to the 90s. Sure, there are some dark themes and icon packs around, but they have some readability issues and/or don’t work right on Windows. And forget about all the amazing general GTK+2 themes out there. They typically use fancy display engines not available on Windows.
So you know what I decided? To make my own dang Windows centric Inkscape theme! I should point out that Inkscape 1.0 is supposedly right around the corner and is currently in the process of migrating from GTK+2 to GTK3, which makes this a laughably pointless exercise. Even more so because I’m starting with ZERO knowledge of the GTK api.
All the same, here I am, determined to make Inkscrape great again. I may even do it all over again for GTK3, and depending on how it turns out, submit it to the devs. GTK3 should be a cakewalk as it uses CSS where I’m quite skilled, and by now I have a pretty decent grasp on GTK’s object structure in general.
GTK+2’s, on the other hand, has scarce documentation for gtkrc styling and the pixmap display engine, and Inkscape’s lack of widget exposing is making this a slow nightmare! Oh, and let’s not forget that I have no GTK theme editor on Windows. I’m also not a programmer. So I’m basically feeling around in the dark until I bump into things that work.
Fun times!
EDIT (June 09, 2019)
Here is my first implementation of the theme. Instructions included in README.txt
Optionally, install the Roboto Regular font if you don’t already have it. I personally find it pleasantly legible. I probably could have redistributed it without issue, but I couldn’t be bothered to read the license to find out…
You should roll this into a patch and submit it to the Inkscape repository (to replace the current one).
I mean Blender and GIMP managed to throw out the proud FOSS tradition of bad UI’s (at least compared to what they used to be), maybe Inkscape is the next one up.
Nothing worth showing from before. Spent some time today tidying things up and setting up an atlas of all the widgets for quick editing. The nice thing is GTK’s display engine supports .svg for all of the graphic elements which makes it really easy to work non-destructively.
I’m also hitting a bit of a wall as I try to get more granular with the design. As far as I can tell, Inkscape’s lack of exposed widgets is preventing me from styling unique elements. So the current plan is to get something serviceable out as soon as possible. Then I’ll start reading up on GTK 3 for Inkscape 1.0 where I can just go bananas. And yes, at that point, I’ll submit it to the Inkscape repo (If it turns out decent enough, anyway.)
I set out to do some work on the object/layer panel today, but these ugly freakin’ icons keep staring at me, pleading to be loved back. So I side tracked with the idea of at least making them not the ONLY green objects in the entire program. Easy enough. Just change the color in the icons.svg file, and I can worry about redesign later…
They’re not IN the icons.svg file…
It turns out they are stock GTK icons, and I can’t figure out how to replace them. It seemed like creating some arrow icons in the icons.svg and giving them ID tags based on the above link (eg “gtk-goto-bottom”) would do the trick. Nope! In fact some of the included icon packs already do include replacements doing exactly this, but for whatever annoying reason, the app prefers those god awful stock 'cons.
If I’m understanding this, Inkscape devs seem to favor the idea of stock/common icons having priority where available. No doubt a programmer’s line of reasoning: “We have common libraries for code, why not have common libraries for design.”
WHY?! JUST NO! For the love of all things holy, let designers do the design thinking!!! Design needs to be consistent and harmonious. Inkscape devs… fellas… pals… y’all need some designers on your committee, seriously! Form follows Function… but it can’t be JUST function, especially for software intended for folks that care a great deal about form. Now I need a freakin’ cigarette and I don’t even smoke anymore…
I think I’m getting close to calling this finished. There is SO MUCH more I’d like to do, but it’s just gonna have to wait for the GTK 3 version. This thing is just fighting me every step of the way.
Anyway, most of the buttons, toggles, text entries, etc are done.
I spent a little time messing with the icons. The top, left, and right toolbar icons were brightened and simplified for clarity. I also redesigned the layer and fill mode icons, though I’m calling those temporary replacements for now.
To me it still feels very cluttered, but I’m not sure if that’s just out of frustration in not being able to do what I want in GTK 2, or if it really is missing something.
Alright ladies and gents, I’m sharing an initial version. There are quite a few things I’d like to tweak, but I’m going to be fairly busy the next few weeks, so I thought I’d let others have a play with it, rather than it just collecting dust on my drive.
Optionally, install the Roboto Regular font if you don’t already have it. I personally find it pleasantly legible. I probably could have redistributed it without issue, but I couldn’t be bothered to read the license to find out…
And if anyone would like to play around with the styles, the gtkrc file is extension-less, but can be viewed in any notepad type app. If you have something like notepad++, you can change the language to Resource File for proper syntax highlighting.
There are a few things some may want to change, such as unhiding icons in the menus and font size. These settings are the first few in the file.
If you are the type that prefers to tab over to buttons, on line 67, set: GtkWidget :: focus-line-width to 1 or above to unhde the dotted line button focus.
So either nobody saw this, or the general consensus is that it’s hot garbage. lol
I’m a big boy, I can take feedback. I’ve never done a UI theme before, so while I personally like the direction it’s going, I’m sure there are improvements that I can make with the next version.
@burnin. I didn’t think of that. I keep my windows blacked out during the summer, so It’s dark all day. When the next version of Inkscape rolls out, I might do a medium and light variation as well.
1 Like
Renzatic
(Professor Emeritus Billy H. Wafflesmith XIV Esq.)
18
I didn’t even know you released this. Haven’t seen this thread since I last posted in it.
I don’t use Inkscape, but I’ll give it a go, just to check out your work. I might actually be a good test case for it’s ease of use, considering I have absolutely no experience with the program.
edit: Initial impression is that it looks a helluva lot better.
Hey, thanks man. I appreciate you taking the time to give it a go despite not using the software.
Regarding ease of use, though. I don’t have much control there. Haha I suppose as with many open source projects, there are a lot of quarky design choices.
1 Like
Renzatic
(Professor Emeritus Billy H. Wafflesmith XIV Esq.)
20
It’s different than what I’m used to, that’s for sure. Whether it’s better or worse, I can’t say.
I’d say it’s interesting enough for me to keep around, even if I won’t use it all the time, and your UI remix does make things a bit easier to find, and looks a lot more like a professionally designed program to boot.