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.
Win 9x/Me and Win NT/2000/XP aren't really that unified.
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.
[
Good for you, in the *nix world there is more than one player on the field. You probably think that sucks. Well, then you should stick to windows.
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.
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
No one is really talking about unifying the API. That's the bit that developers are most mentally attached to. As we all know GTK vs. QT is rather different in the style of writing code, different mindset even, so it wouldn't work for either side to unify the API. With unified API we'll have loads of unhappy QT _and_ GTK developers!
:-))!
OTOH this (unifying themes, i.e. one theme working for both QT & GTK) is the first step in the right direction, of making the two indistiunguishable to the user. Next would be _perfect_ cut & paste, including HTML pages, pictures, vector graphics etc. AFAIK freedesktop.org has come a long way working on cut & paste (drag & drop) and apparently all it needs now is more polish.
Final stage would be using kparts in GTK apps and bonobo components in KDE. There are cautious steps in that direction. And then there is OpenOffice (check out cukoo) of course and Mozilla and GNUStep... long way to go till everything is perfect. Then it will be the job of distributors like Mandrake & Xandros to give us the perfect desktop linux. Or our job, for those who like to tweak and fiddle with things. I'm looking forward to all this! (and I hope I'll be seeing less and less GNOME (KDE) sucks!!! style flamewars everywhere. Hey, I don't care whether I'm using Rhythmbox (where the file open dialog is still a joke) or Juk (which uses arts for the sound backend and arts sucks _and_ is a joke), I'll settle for either of the two as soon as it'll be perfect
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.
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+
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.
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!*
Not many, really. A few apps (abiword, gnumeric, and a few others IIRC) can export themselves as bonobo components, and can embed bonobo components (although that's not well-supported or widely used). Theoretically, Konqueror could use a KPartsBonobo bridge to embed Abiword and Gnumeric. Nautilus could do the same to embed KOffice, KHTML, or even the Konqueror filebrowser. Really, though, I've never seen much point in embedding everything in the filemanager, aside from "it's cool that we can do it". Bonobo and KParts seem much more useful from a developer's perspective than a user's perspective.
It's hard to be religious when certain people are never incinerated by bolts of lightning.
Working copy & paste/drag & drop is definitely important, but I don't know about the component thing.
The other important things are that all apps should use the native print/file dialog, and all apps should have access to the virtual filesystems within that environment.
Everything required for solid integration between these two (awesome) environments is well under way (from the KDE side at least -- I don't hang about the Gnome forums).
I too very much hope that everyone will learn to get along when this work is finished. Both environments are clearly important since they have so many loyal fans, and integrating would just reduce what is obviously a useful choice. Few zealots at all will admit that it would be nice to have Gnome/Gtk apps work perfectly in KDE, or KDE/Qt apps work perfectly in Gnome. This work will achieve that through a number of intiatives, and we will all benefit in true OSS style. Thankyou Gnome and KDE!
As for Mozilla and OOo, they are both being Gnomified (and possibly KDEified), and so even KDE users will benefit once Gnome apps work better in KDE.
I've been working on a new home project for a couple of months in wxWindows now, and I must say, I'm very impressed with it.
I've done Qt programming in the past (no GTK though), and toyed around with Windows GDI, but wxWindows actually seems to make more sense to me - it just seems easier than both of those (that could be because I haven't used Qt or GDI in a bit though).
I disagree on the extra layer of complexity for the programmer though - it's nice to be able to develop your main application using only one toolkit, and have most of the cross-platform issues taken care of for you (there are some limitations, but you plan for these). This is why I was initially attracted to Qt (but stopped using it after looking into wxWindows). I do agree that it is an extra layer of complexity/dependency for the end-user, but that's what pre-compiled binaries with installers are for.
The main thing that I like about wxWindows is that I'm planning for my application to run on many platforms, so it fits the bill perfectly. The application won't look exactly the same on Windows and Linux/UNIX with GTK or Motif, but it will be reasonably close, which is a huge bonus.
-- Joe
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
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?