Unifying GTK & QT Theme Engines
An anonymous reader writes "Some guy on kde-look recently released code that
makes gtk apps use the current qt theme. Seems
this would be a major development for unifying
the 2 environments. From the URL:
This GTK theme engine uses the currently selected QT style to do it's drawing. Basically, it makes your GTK apps look like QT ones. "
While this may seem like a minor thing to some people, every bit of interoperability and unification helps. Naysay as much as you want regarding Microsoft, but the reason why they have the market share is because of the unification present (at least in appearance ;-). If OSS projects (and non-OSS friends of them) can't come together, they should at least work together.
Seems like a start in the right direction, but don't expect something ready to roll (as I did until I checked the site):
:)
Currently the code is very buggy and incomplete - a few widgets do not yet use the QT drawing code. However it is still perfectly usable. This theme is slightly slower than that of most native GTK themes, but the difference is hardly noticed on a fast machine.
Known bugs: * Menus do not have borders
* The background colour doesn't change when text is highlighted
* Colours are incorrect when using certain styles (eg. Keramik)
* Buttons, and other widgets, may be the wrong size
* Scrollbars sometimes misbehave
This is a 0.x release - do don't expect it to work perfectly
everything in moderation
It's actually just a style that makes them both look more consistant. Unifying the API is the hardest job and I don't really want to see a unified API as it would be a bit of a mongrel. To me I think the best way forward is for either QT or KDE to die and the developers of the losing project to join the winning side.
Merging QT and KDE would be like merging Linux and one of the BSDs.
David Sansome... at least name the person who put in the effort to make this happen.
No, bluecurve are still seperate themes that look the same.. You need to make each theme both for gtk and for qt.
This theme engine uses the actual qt theme and thus does not require any duplicate work when creating a theme.
I wonder if the reverse could also be done (a qt engine that uses the gtk engine for its theme) or is gtk more flexible in this regard?
Jeroen
Secure messaging: http://quickmsg.vreeken.net/
Isn't this what Redhat's Bluecurve does?
No. Bluecurve is one widget style under QT and another under GTK, that have been designed to look the same as one another.
This system is quite different to that, it gets GTK to effectively draw widgets in the same style as the QT theme, regardless of which QT theme you're using.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
Replace KDE with GTK, sorry I have KDE on the brain :)
;)
I agree, replace KDE with GTK
When I can choose a widget theme once, using a central theme selector, such as GNOME's, and it shows up in all versions of Qt, GTK, Gtk2, Tk, Mozilla, and other applications, then I'll take notice.
The proliferation of toolkits does such a disservice to the desktop, even moreso than the proliferation of desktop environments. Why are there so many?
It seems like most OSS developers must go through the same milestones of skill development: a new C++ string class, a new IRC client, a new window manager, a new toolkit, and a new update package manager. Stop rewriting the wheel and improve what's out there in meaningful new ways.
[
The only true way to unify the two DEs is to get both camps to agree on a common widget set.
I, like many other Gnome users, chose the Gnome DE because of it's professional appearance - something which I feel KDE doesn't even come close to. There is no way I'd want to replace my Gnome widgets with KDE widgets, and I'd bet the farm that KDE people would feel the same way about the reverse.
There are many half hearted, rush desktop unification jobs at the moment. Unfortunately the only way that we're ever going to see true unification is if everyone agrees to work on it simultaneously at a deeper level than just aesthetics.
How can you unify two groups of people that aren't even on the same page?
Sunday you're Thinking Different, Monday you're a huge tool, paying too much and waiting to think like everyone else.
GTK is LGPLd. That means it can be used by proprietary software (and in fact, sometimes is). If I use this theme engine does that mean I can no longer run proprietary software that uses GTK because I'd be linking it with GPLd code?
Perhaps the same concept should be applied but in reverse - a Qt theme engine to use GTK. There seems to be more experience going this way too, for instance XUL is already GTK themable and it works nicely.
I want Mozilla and OpenOffice to use a widget set of my choice (no matter which one I choose - qt, gtk, gtk2 ....)
btw, it reminds me of wxWindows - a set of tools that allow you to compile your programs under different OSes using native widget sets of your choice. All widget sets are supported, but the widget set is chosen during compile time.
#
#\ @ ? Colonize Mars
#
"making GTK2 apps use QT" != "Unifying"
"making GTK2 apps use QT" == "How to migrate off GTK2
Don't be ridiculous. There are many applications that are built completely around GTK(2). I, for one, usually prefer KDE over Gnome, but I've always found it much harder to live completely without GTK apps that completely without QT apps.
Both are great toolkits with their own pros and cons - just use the right one for the right job.
Personally, though, the feature I'd most like to see in GTK would be the chance to move the menubars of all apps to the top of the screen like on Mac OS, just as I can do with QT apps.
“Wait for Hurd if you want something real” –Linus
Argoff, would you care to elaborate on your earlier statements?
I can't claim to know anything about GNOME development, but what do you know about KDE development that makes you think that they are "financially accountable to the closed software model of doing business"? They are not the ones being sponsored by SUN, GNOME is. Their annual budget for the year 2002 was a little over $1800, and for 2003 a little over $7600 - http://dot.kde.org/1072276327/
This does not look like "financial accountability to the closed model of doing business" to me. They have competent developers and newbees, both of which work on the code that they are capable of working on. Most newbees start out working on a small application, because nobody in their right mind would trust a newcomer unfamiliar with the KDE architecture to make changes to its core (does not apply to trivial bug fixes).
And what exactly do you mean by "can't keep their focus like gnome"? Where is that focus now - remove advanced desktop features so that the "simple" users can use it? KDE will find a way to meet the needs of simple users without sacrificing the usability to which advanced users became accustomed, that has been their focus since KDE 3.0, and they are following though with it.
Paul.
I can call the Linux API from closed source apps with no license fee.
/dev for that right.
I can not do the same thing with QT, it costs 1,200+
Dopn't forget trolltech is a canopy company. Yarro sits on trolltech's BOD. Canopy and canopy companies have already sued msft, and ca. Scox, another canopy company is now suing IBM. All over IP violations. This is Canopy's real business.
Once you start mixing code, you open yourself up to lawsuits. Especially if you are mixing code with the lawuit-happy canopy. Canopy's entire existance is based on these kinds of lawsuits.
Arrgh, why does this awful legend still exist? Canopy owns a very, very small stake in Trolltech, while the employees hold more than 2/3 (IIRC) of the stock.
OTOH, Sun, a major sponsor of Gnome development, has seemingly filled SCO's war chest with a good amount of money (if what is said on groklaw is true), but nobody whines about that.
And, there's still this if Trolltech might be bought out.
Now, here's a question. Let's say Microsoft is doomed, and Sun, by having enourmous success with some Gnome based desktop offering, replaces them in market dominance. The dangers of this scenario combined with the fact the Gnome is LGPL'd are left as an excercise to the reader.
See, both scenarious are very unlikely, but I see no reason why I should trust Sun more than Trolltech.
Many times when there is a debate about Gnome vs KDE , the argument of the API popup often like comments like this one:
>"A GNOME spreadsheet you want Miguel? Don't worry. The way things are
>looking, I can hack one out in a few days. We will borrow from X, Y, and Z
>projects since they have most of the functionality we need. It will be a
>matter of fitting them all together."
I find it always funny that KDE supporters always list re-use of existing libraries as a big minus point of Gnome, as if it is a bad thing to re-use and adopt none-Gnome supporting libraries,
It is my vision that this is one of the great strengths of Gnome. In Gnome the supporting libraries are almost never Gnome dependent they often use already existing libraries or help to modify them too their needs, without Gnome-ifying them. When they create a new one for use in Gnome they tend too make it as generic as possible, With this sort of philosophy you create functionality that is easily adopted by other projects or was already in use or planned to get used. Things like Cairo (X-server), Fontconfig, ATK, etc. This is exactly why this functionality is popping up everywhere in open-source land. Which makes the KDE supporters scream that Gnome is taking everything over. This isn't true, but Gnome by using the above philosophy, doesn't alienate itself from other Linux/*nix projects in stark contrast too KDE. Gnome is not only about building a great desktop, it is about building modular desktop technology that can be used and reused by more projects then Gnome only, which make Gnome more cooperative too other projects then KDE. Look at the way KDE looked at Open-Office, They trashed everything about it and Koffice (or anything which was KDE-ified was much better), only now, after Gnome (Ximian) has showed the way by starting to make Open-Office better merge able into other widget sets they realize what opportunities Open-Office has too offer, but don't expect any thank you for the groundwork Ximian has done, making the integration as generic as possible so that a qt variant is also possible. No they will scream and whine till the end that Gnome is about adopting and Gnome-ifying, while little somebody else can use is coming from the KDE community (it is all of the KDE or die, look at Red-hat and userLinux how KDE treads other visions).
The question is: Do you want a *nux/Linux community desktop which takes from (Fontconfig, Cairo, librsvg, etc) and gives too (GTK+, Freedesktop.org, Gstreamer, ATK, Pango, etc) other projects (Xfree86, XFCE4, etc) without making everything it touches Gnome or do we want the none-*nix/Linux philosophy of one big API in the form of a win32 clone which alienates everything none C++/QT/KDE bolted on *nux/Linux (KDE). Which is more *nix/Linux one great API for everything or take the tools and merge it too what you need?
I find the KDE community extremely vicious against everything not KDE, The Borg like mentality of adapting everything into the KDE frame-work without keeping it generic alienates it from everything none C++/QT/KDE, but especially the whining they do that libraries that Gnome uses are also used in other important projects is something that keeps amazing me. It is the KDE community that uses embrace and KDE-ify it as there mantra! They turning the reality upside down.
While I agree that GTK generally looks better, this theme is intended for KDE users who want GNOME apps to integrate well into their desktop. GNOME users such as yourself are not the targeted audience here.
It's hard to be religious when certain people are never incinerated by bolts of lightning.
There's plusses and minuses to this. On one hand, unified theming is a win, no question. But doing so by adding yet another layer of interface could perpetuate the core differences rather than helping unify them. The world is rife with short-term hacks that are still running; it's one of the big contributors to bloatware.
In addition, it's a one-way change. When the author completes his work, Gnome apps can follow KDE themes, but not vice-versa. That's good for KDE, but not particularly good for Gnome.
It also leads to some subtle UI traps. When I run a Gnome app under KDE, it stands out. In one sense that's bad, as it can be visually jarring. In another sense that's good, as I'm visually alerted to expect some different UI rules. If one can't determine which ruleset to follow by a casual glance at the app, it's going to lead to user confusion.
It's also going to dilute the UI guidelines to both KDE and Gnome. Application writers tend to model their UIs on other apps, not from reading the UI guidelines. An app developer running Gnome apps under KDE look (but not feel!) will assume that either the KDE rules are loose or that he should be developing Gnomish features.
I'm not saying the author shouldn't do this; it's a noble goal and (from the responses on the author's posting) pretty decent code for an alpha/beta release. But we should hope for and work towards better long-term theme engines.
<rant> Funny, I'd say the reverse. GNOME icons are colorful, tasteful, and usable. KDE's default icons are so gaudy, garish, and poorly thought out (IMHO) that it's much harder to easily identify them.
Look at the average panel, for example (see this picture). Konsole has a monitor with a seashell - clever, but useless and confusing when you're looking for a terminal emulator. The control center has this weird gear thingy with an indistinct background - are those supposed to be micro-sized widgets? "Home" looks like a doghouse. Konqueror has this sort of half-spiky circle that's supposed to look like a globe, but doesn't. The hard disc icon on the desktop has worms growing out of it. And I have no clue what that smiley thing is supposed to be - it says nothing about it app it represents.
None of those icons makes it easy to find the program at a glance. When you think "control center", do you look for a purple-green-blue gear? Does "web browser" conjure up images of a spiky sphere? What I like about GNOME's icons is that a) they're not all blue, so you can tell them apart, and b) they seem much more intuitive, because they actually bear some resemblance to the thing they represent. </rant>
It's hard to be religious when certain people are never incinerated by bolts of lightning.
I really don't understand most Slashdot readers. In every news about KDE or Gnome people start fighting on what is better, Qt or Gtk, C or C++, Gnome or KDE, with theory on how SuSE buyout will end KDE, why Qt isn't free, that Linus uses KDE, Trolltech is owned by SCO, etc. People who keeps posting things like this must be new to free software, or just don't understand it at all. The goal is *NOT* to kill Microsoft Windows and every OS and have just GNU/Linux with one desktop installed on all computers. The goal is freedom, is choice. I don't want to be like 10 years ago, when I thought DOS/Windows were the only operationg system available. Also, most free software projects are coded for fun. I can assure you, even if the whole world start using Gnome and KDE is just used by it's own developers, KDE will keep existing! There's no desktop war, so there is not going to be a winner. So, understand the community, and stop flames. We should be discussing how great it is that someone is trying to make GTK apps integrate better to the KDE environment, and hoping a GTK coder will start doing the same. I use KDE and I get really happy when I see a new feature on Gnome, cause probably KDE will have it too soon, Gnome users should feel the same way when KDE gets a new feature. And, while we're still talking about this, please, when a project is posted here, let's not comment on how there was already a project with the same goal and how duplicate effort is lame: if someone think it'll be fun to code another mp3 player, let him do it, *For coders, projects are mostly about fun!*
That's quite interesting - I was just uploading version 0.2, when I suddenly noticed kde-look.org slowing down... now I know why :)
Anyway, 0.2 should fix some problems people have been having.
-- Wibble
copy&paste, drag&drop is. what ims saying is that in windows you have one set of rules for the clipboard, so that any program doing a copy&paste job have the same calls to make.
i dont care if my xchat looks like my conqueror as long as i can copy a url from one and paste it in the other:)
oh and there are a lot of people that messes around with the windows looks, litestep or plan 9 anyone? hell you can even run blackbox as your windows desktop:)
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
Yet Another QT Hacker will soon write a similar style for QT to use GTK to draw widgets, the result will be:
GTK: Please QT, draws me a button
QT : Please GTK, draws me a button
GTK: Please QT, draws me a button
QT : Please GTK, draws me a button
GTK: Please QT, draws me a button...
Have to wait before having anything drawn on the screen...
That is absolutely correct. Any "unification" of Windows is due to the fact that programmers of other toolkits copied the GDI32 and MFC ones. In fact most of the unification on Linux is due to people copying Windows, not from any plan or from copying each other.
Windows programs probably use many times more toolkits than Unix. Except for GTK, ALL the Unix toolkits have a Windows version, plus there are dozens of Windows-only toolkits. Therefore there are more Windows toolkits than Unix. I can confirm that quite a few different ones are being used for Windows programs. Also high-end 3D software and other production software like Avid like to use their own in-house toolkits, so that they can access widgets that don't exist anywhere else.
Yet idiots keep posting here their belief that Windows has a single toolkit and that is why it is "unified". That is FALSE. The reason there is unification is because of toolkits copying each other, something that is finally happening in Linux as well.