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.
[
Why do we need two widgets?
Because if you only had one widget, all GUI programs would be a pain to use.
This is simply not true. QObject, the base of all QT Classes has been providing tr(const char*) and tr(const char*, const char*) for internationalization for years, localization is supported (see http://doc.trolltech.com/3.1/i18n.html) and both QT and KDE provide great anti-aliases fonts.
Don't know what you mean with the application framework, but if you look at QT/KDE as a competitor to GTK/Gnome, the KDE framework provides everything from common dialogs, clipboard handling, a component model (KParts) and vfs (kio-slaves) to IPC (DCOP), XML UI definitions, plug-in support and common components like a HTML rendering engine, a JS interpreter or a spell checker, that applications can use.
Also applications can expose interfaces for use with scripting languages and tons of other features.
Check http://developer.kde.org/ if you want to learn more. (Though I guess you already know these things and still like to troll.)
If you make a unified trailer hitch that will hook any load to any automobile, then you'll be sure to find someone trying to pull a truckload of anvils with a VW Rabbit.
This is a minor bit of neat hackery, nothing earth-shaking though, and nowhere near a step to unified environments.... If you want to create that illusion, surely it would be better to make something that creates two sets of themes (gtk and qt... or even more toolkits) from one single source, think DocBook. Fortunately, I don't think the author of this software claimed that he was trying to unify anyway.
It doesn't replace GTK widgets with QT widgets, it just changes the drawing style so they look consistent.
This may not be useful to you but if you think that someday you might like an engine that lets QT programs fit in better with your GTK desktop then you can see that this is good for people who are in the opposite position.
It may not help everyone, but it helps some of them. That's still good, right?
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
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.
I don't know whether you're trolling or not, but IIRC, GTK is C based, while QT is C++.
Now, I'm sure that you can write your program in either C or C++ and still use either toolkit, but I would imagine C programmers prefer a C-based toolkit, and C++ programmers prefer a C++ toolkit.
Ron Paul 2012
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
#
"While KDE isn't technically closed, it seems to me that they still hold themselves more financially accountable to the closed software model of doing business. Unlike Gnome, this diverts some of their talent, focus, and resources into gaining revenue from controlling people's copying behavior rather than thru more efficient services and support, or business models more accountable to the free (as in freedom) software paradigm."
WTF are you talking about? KDE is free. Maybe you should specifically state what leads you to say something like the above.
QT is hard on the eyes.
No, QT is hard on your eyes. As shocking as it might be, different people have different artistic tastes. Personally I've never seen a GTK theme I didn't think was painful to look at, excluding those based on QT themes, but I'd never say they're hard on the eyes - just because it's obvious many people do like them. Having an opinion on matter which by its very nature is nonobjective does not make it fact.
Everything will be taken away from you.
"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
Is SodiPodi, the famous vector image editor. It is a GTK program that uses the KDE file and print dialogs.
Well maybe I missed somthing, but last time I checked, it's free only if you use it in free software.
...
... which doesn't even have this option.
Yeah, just like the linux kernel
For other software, they are just like any other commecrial software company.
Btw. it seems you are talking about QT, not KDE. I sense you should inform yourself about KDE and what some people (rightly or wrongly) suppose to be its problems. Funnily, the FSF should be more satisfied with QT's licensing than with GTK's, but what do I know.
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.
Well, lets say you like brushed metal or whatever,but you also like the auvergine color.
Right now, IIRC, the color is part of the theme in gnome, and you need to find an "auvergine-brushed-metal" somewhere.
On KDE, the widget look and the color are separate, and can be configured at will.
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+
And Apple is a Microsoft company. Learn something about research, share amounts and who controls a company.
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.
Canopy owns 4.1% of Trolltech. The vast majority (64.7%) is owned by the employees.
Yes, as one of those employees I can assure you that this idea of Canopy having some sort of influence over Trolltech is entirely absurd.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
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.
Personally I don't find it to be an issue, but whatever floats your boat....
<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.
Uh, unless you use pixmaps to texture things, you can override the theme engine's default colors in GTK+. At least that was how it was in GTK+ 1.x, probably so also in 2.x as well...
I used to use a slate blue NeXT theme, until I acknowledged that Gray is the Only True NeXT color =)
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!*
What do you mean by smaller and more efficient?
Code Size? Virtually all valid ansi C will compile to the same object code when compiled under a C++ compiler. It's possible in this case that the C++ code image still might be marginally larger because of start up code, libraries, etc, though I would doubt that this would matter except in rare situations. In embedded systems, for example, there are efforts to control these size increases.
Code Speed? Unless there are paging effects caused by the rare problem discussed above, the C code compiled under the C++ compiler will be the same speed as under the C compiler. However, is some situations, the C++ compiler can produce faster code: a common example is the C function-pointer qsort method versus the C++ stl sort using functors.
Source Code Size? C++ will blow away C in this department.
Developer efficiency? Libraries make a world of difference, but with the standard libs for both, C++ will blow away C in this department.
Of course, there are ways to write bad C++ that will eliminate any of these advantages, but that's the nature of powerful tools.
HAND
XML causes global warming.
I have heard for years (How many? Almost ten? Might be wrong) that KDE was going to come to a "dead end" because of (inster one: non-GPL, strict-GPL-non-commercial, closed development, pact with the devil, etc.), and that Gnome would eventually dominate due to its keeping with the "true spirit" of the FOSS movement.
I'm still waiting.
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
Its interesting how people ar deriding this sort of "look-based" unification. The truth is that "look-based" unification has worked just fine for Microsoft. I use a mostly KDE desktop, and only once in a while do I have to start a GTK app. The same thing is probably true for GNOME people --- they only have to start a non-GNOME app on occasion. If you use MS Office, you're automatically using at least two toolkits on a Windows desktop. Windows has many toolkits that major apps use on a regular basis. Its nearly impossible to run a normal Windows desktop without regularly encountering at least a few.
Now, why do Windows users think their desktop is so unified, when in practice, *NIX desktops are really more unified? Because Windows toolkits look kinda the same! Windows's "unified look and feel" is based entirely on unification of themes, rather than on any real technical unification.
A deep unwavering belief is a sure sign you're missing something...
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...
I find the KDE open/save dialogs vastly more useful than the GNOME ones, for example.
There are some people who feel the other way.
What is needed is a way to make it so that I always get KDE open/save dialogs, even when using GNOME apps, and so that the GNOME dialog fans always get GNOME dialogs, even when using KDE apps.
Choice is great, but this kind of thing should be the user's choice, and the current system makes it the programmer's choice, indirectly by which toolkit the programmer uses or which desktop environment the programmer writes for.
A couple of years ago the difference in technology advancement was important in the choise between Gnome/Gtk and KDE/QT. Event though Qt still have a technological lead, Gtk of today is good enough.
Having good enough technology, focus shifts to usability. This is needed to attract new non tech savy users. In this field Gnome has much more to offer than KDE. Anyone with a background in usability who looks at konqueror, the KDE flagship, can see this. While KDE still exels in the number of functions, Gnome makes it simpler to find the functions used by most users. And that is a winning formula.
As there are far more experienced coders than there are usability experts active in the opensource movement, my guess is that Gnome will have a better chance of fixing their technical deficienses, than KDE to fix their usability problems.
And for the record, QT wouldn't have bin free software today if Gnome/Gtk hadn't offered a semi free (LGPL) competing alternative. So I would say that Gnome was founded for all the right reasons.
Still, I will miss KDE if Gnome comes out on top, as Qt is much easier to develop in than Gtk.
I was able to fix bugs in KDE within hours after I first saw the code, while I still have a lot to figure out in Gtk before I get to the same level.
God is REAL! Unless explicitly declared INTEGER
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...
I've read this a couple of times and it still isn't funny.
why run from Vincenzo?