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.
Sort of.
IIRC, Bluecurve is a theme for both QT and GTK2 and wasn't applied to original GTK apps.
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.
Win 9x/Me and Win NT/2000/XP aren't really that unified.
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.
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.
Like I said, I use Gnome, in part because I like the way it looks as opposed to QT. QT is hard on the eyes. I'd prefer to see something that made QT Apps look like GTK.
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.)
wow, this is the worst gnome troll, i've ever seen...
to be precise, QT had antialiasing and good localisation a long time before gtk (back when gtk2 didn't exist and QT was at 2.x)
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'd prefer to see something that made QT Apps look like GTK.
That's right. We've got a big group of people who use GTK and also the occasional QT program and another big group of people who use QT and also the occasional GTK program. And a bunch of other groups too.
So ideally it would be nice to have a system that let QT apps fit in GTK apps, as you say you'd like, and a system that lets GTK apps fit in with QT apps which is what was announced here. Well this means that we're part way there. Doesn't resolve every issue, but it's progress.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
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
#
I've tried using both Gnome and KDE, and I feel like Gnome isn't as advanced as KDE, despite what some of the other people on Slashdot may feel.
For one thing, I can change the individual colors of my widgets in my theme on the fly in KDE, something that a friend of mine who has used Gnome for over 4 years says is still not possible- the theme specifices one color set.
For another- most users never change some defaults, and the default Gnome icons are UGLY. Dark and uninspired.
Something to let me use excellent programs written for GTK, but with a more QT feel is nice. I'll have to check it out.
I already use ThinGeramik, a GTK style that looks to QT ThinKeramik for it's colors and such (also on kde-look.org).
This statement is solely an opinion. Kindly take it as such in all cases.
You don't understand the difference between a style engine and a default style.
"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.
> 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.
Any examples to help me understand what you mean please?
"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
> the GNOME framework on the other hand, is the perfect manifestation of good, clean
Good and clean as in "three different HTML rendering engines" starting with GNOME 2.6?
> Not to mention that GNOME is GNU and therefore free, which QT is a propertiary licence.
Since when is the GPL propretiary?
Is SodiPodi, the famous vector image editor. It is a GTK program that uses the KDE file and print dialogs.
WTF are you talking about? KDE is free. Maybe you should specifically state what leads you to say something like the above.
Well maybe I missed somthing, but last time I checked, it's free only if you use it in free software. For other software, they are just like any other commecrial software company.
QT is for QTers, so? ;-)
I think you are a bit confused with the difference between QT/Trolltech and KDE
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.
KDE is free software. The parent is talking rubbish and should not be modded insightful!
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.
Yeah, still debatable. Not that it particularly matters.
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+
C programmers prefer a toolkit containing plenty of whips and thumbscrews. They must be masochists, it's the only explanation for their use of a glorified assembler.
It has to do with Qt3 introducing a new style system (which allows Qt application like Opera to use "KDE styles"). KDE2's "legacy style" was simply never ported.
And Apple is a Microsoft company. Learn something about research, share amounts and who controls a company.
> 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
December brought a little more for this year, but from the signature of a known KDE developer: "We're not a company, we just produce better code at less costs."
Learn something about research, share amounts and who controls a company.
Agreed. Company law is quite definite on this point, the company is controlled by its Board of Directors. How anyone could think that Canopy has any influence over Trolltech is beyond me.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
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.
Actually, that only worked for Gtk themes based of the default or pixmap engines.
Ha-ha! THis is the best new troll to come out! I thoroughly enjoy reading this one. :)
Like what I said? You might like my music
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.
In a system with multiple inheritance, just because QObject is the base of all Qt classes (it isnt anyway), that doesnt mean its a single rooted class hierarchy.
So, the previous poster was technically a little off, you are somewhat off, and your generalization is stupid anyway.
One of the things I like the most about GTK is that it doesn't look like QT. Is change always progress?
"With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea...."
RFC 1925
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.
That's funny, but why would you want to use C++ if you can do it in a smaller, more efficient way in C?
I'm not exactly a C fanatic, in fact my favorite compiled programming language is Java (braces for a wave of trolls), but sometimes "a glorified assembler" is what you need to do the job.
That said, it does make a heckuva lot more sense to use OO languages for GUI programs.
Ron Paul 2012
I respect his choice for whatever software he wants, thats for sure.
But he doesn't offer any real nor insightful reason for why he chooses GNOME over KDE.
You can take his post, and replace GNOME with KDE and KDE with GNOME. The post still says the same thing. See how pointless his post is ?
Sunny Dubey
And a fine bit of inspiration it was, clearly.
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!*
Since when is the GPL propretiary?
cue Microsoft provocateurs, *BSD License zealots, and SCO apologists...
I can smell the flamage of the battle to come from here.
You are right. The anti-qt FUD is just that, FUD, and no less so for being propogated by zealots that were once representative of a more mainstream ("gentler, kinder, more corporate, less political") version of free software renamed open source (and who have replaced the politics of freedom with the politics of gratis beer, of subjective preferences vis-a-vis Gnome v. KDE, gtk v. qt, and Open Source non-GPL with GPL where it make sense to unerscore their position on gtk v. qt, while maintaining a hypocritically and diametrically opposed opinion on the very same license for the other 90% of the software that makes up the system they are trying to promote).
QT is GPLed, just as is the Linux kernel, gcc, and most of GNU. Any statement claiming qt is closed or proprietary is FUD and likely a troll (whether it is a Microsoft financed troll or not is an interesting debate for another time), as it is equivelent to saying that the GPL is closed or propriatery, a nonsensical stance taken by *BSD Licensing zealots, Microsofties, and others who would prefer to take the hard work of others and not give back in return, and resent not being allowed to do so.
I have no preference for qt vs. gtk, and I find both the GPL and BSD-style licenses to be useful in the appropriate place, but as you point out, only an idiot (syn. "troll"), a FUD-mongering zealot with an axe to grind, or an agent provocatuer from the anti-free software crowd (Microsoft et al) would seriously argue that a GPLed library is "closed."
The Future of Human Evolution: Autonomy
When MS crashes, big business will pour tons of money into the Linux Desktop PC. They are going to pick only one desktop toolkit because it gives a better ROI than splitting the money to 2 or more projects. It is likely that the other desktops will survive for quite some time (reference people still using Amigas), but the others will fall behind unless they use software like the project in this article to borrow from the leader.
if you insist on unification, you destroy most of the features of Open Source / Free Software development that are meant to be its strengths.
I know there is still strong development of the BSDs, but most of the corporate money for OSes is going into Linux. Is it "destroying the features of OSS/FS?" (Be careful how you answer. This is Slashdot and we do not tolerate criticism of the Linux development model.) The BSDs will survive just like the alternate desktops, but eventually the leader will far surpass them both in features and marketshare.
The key to the desktops is the toolkits. Eventually one will be chosen. We (all techies) will have little input into which is chosen. The first large software company that makes the choice and puts the money into one toolkit will make the choice for the entire world. It will probably be IBM, although Novell or SUN could take the role; Redhat has already given up. The final choice may be decided by one business manager that has been using Desktop Linux for some time and does not want to change.
Maybe Bruce Perens can influence the decision. As much as he likes KDE, he thinks Gnome is the better choice for a universal desktop (reference Slashdot article from last month.)
Yes, what you will get is a lot of people who are dissatisfied. Nobody says you cannot keep using Slackware 3 at home. But in a few years, all computer software jobs will require knowledge of the primary Linux desktop. Plan accordingly.
I spend my life entertaining my brain.
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.
On the other hand, if you GUI toolkit library is under the GPL, than simply "using" it, which ALWAYS involved creating derived works to call into the API is possible only for GPL-compatible software. So this is not just like the linux kernel at all. I like Qt too, but developing commercial software with it is costly relative to other options. For a wide-use packaged software app for *nix, this cost is insignificant relative to other costs. But in a situation with a hobbyist developer wanting to write a cross-platform app, or make it so a primarily Windows-targetted app is also accessible to a *nix audience, that cost, on the margin, to gain access to an additional 1-2% desktop audience is very hard to justify.
Thanks for the tip.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
So will the GIMP Tool Kit now have a look and feel similar to QuikTime (Light blue bar above everything) or Quiktrip (red and yellow) or Quentin Tarintino? (Bring out the GIMP...)
Support the FairTax
I'm tired of people trolling about GTK's licensing, the LGPL. I think that it's the only reasonable licensing for a toolkit.
If you're trying to create a general-purpose desktop, it's clear you've to allow closed source apps.
QT toolkit allows this by licensing for money, GTK is LGPL'ed. What would be a show-stopper is a GTK that's truly GPL, as you're excluding all closed source, as games, CAD/CAM, databases, etc... from your desktop, and the code is copyrighted by lots of people, so is very hard to license.
In your hipotetical scenario, there's no problem to Sun, as they could buy Trolltech, and make all the closed source apps they want.
"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."
Ho?
1) KDE Libs are gpl, based on freeqt
1)b)freeQt is gpl
2) Qt != KDE
3) Gtk is lgpl
add 2) Take hbasic(hbasic.sf.net) as an example, a qt app for Linux, not a KDE app. Although KDe libs are based on qt.
add 3) that's why we see this awful license variety in the Gnome world.
1b) Commercial apps for KDE are based on qt. Commercial non-gpl software can be produced under what license you want and you have to pay for the qt toolkit. Such as you have to buy Visual C++. Despite ximian's propaganda this is no reason that prohibits companies to contribute, but an incentive for individual developers to license as gpl.
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
> 1) KDE Libs are gpl
Wrong, they are LGPL.
>> KDE will never be the dominant desktop.
;-)
/. moderators with an agenda only hurt the forum, not me.)
>Care to substantiate that is not _currently_ the dominant desktop?
That was not my intent, but...
Substantiate? That's impossible to do for either desktop. There is no registration or accounting mechanism.
We can use circumstantial evidence:
*) most users run the distro's default desktop.
*) Red Hat is not just the leading distro, but also the the majority distro.
That's not perfect science, but I'll wager on it anyways. I don't give much weight to how loud any particular demographic/group is.. the minority factions in life are always trying to compensate for size.
(NOTE: Light sarcasm is meant to be humorous. By no means would I intend disrespect to the general KDE community, and especially not to hardworking, generous developers.
I've toyed with QT designer, it's a good bit of software.
I'd sooner see QT and KDE win over Gnome and GTK. When I first started running Linux I used Gnome and GMC was ok but Nautilus crashed. I left Linux for a while and next time I installed it I used KDE, I found it much nicer and I've stuck with Linux and KDE ever since.
ok, as an earlier poster pointed out, i should be talking about Trolltech and not KDE, but the point still stands. If you use their libraries in non free software, you half to pay out the nose to use it you cant tell me that this doesn't hold them accountable to different market forces.
I don't know crud about C/C++. My point was more about programming something the OO way vs. programming something the procedural way. I didn't intend to start a language-war.
YMMV, HAND.
Ron Paul 2012
The fact that big business will start pushing money into toolkits doesn't mean that control will be lost.
Control would not (and cannot) be lost, but big business can push the priorities that are important to them.
ROI does not apply to big businesses as a group. IBM's investment can't be recouped by Sun, after all, so there's no reason to think that they shouldn't back different horses.
With OSS, IBM's investment can be recouped by Sun, IF SUN CHOOSES THE SAME PROJECT. If IBM puts a few million into Gnome, then Sun only benefits if they also choose Gnome. If Sun chooses KDE, they probably have to repeat the work that IBM has done. But Sun could choose Gnome, receive the benefits of IBM's work, and then continue with what is important to Sun. That is why I feel the first influential company to choose will have a great impact on all succeeding choices.
more importantly, control in an OS/FS project is going to tend to stick with the fork that produces the best code. Doesn't your reasoning mean that you think that big business, with its big bucks to spend, will be churning out more and better code, than OS coders can, and hasn't that long since been shown to be untrue?
The community will still decide the best code. But wouldn't the ability to spend a few million tend to increase the possibility of writing some decent code?
Why are you distinguishing between "big business" and "OS coders"? The whole SCO/IBM lawsuit is because some IBMers are OS coders. If a company is willing to pay (or hire) programmers to work on OSS, then those coders must become part of the OSS community to be effective. That their priorities are set by the company should not affect their coding abilities.
(Well, there is the part about scratching your own itch, but a paycheck is rather good incentive to scratch someone else's itch. And you would still want to write great code for the reputation/karma.)
Try not to disparage this too much. I am certain that many Slashdotters have been dreaming of the day when big business decides that OSS programming is important, and have their OSS resumes ready.
I spend my life entertaining my brain.
I think that practically speaking the difference is linguistic. C coders are likely to use GTK and C++ coders Qt. That's just my impression. Of course each toolkit has lots of other bindings as well, though they seem comparatively little used (especially for Qt).
Mirror of the pertinent files are up here.
Since LiteStep came out.
Stupid AC.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
I surely do, after reading a bunch of comments like your's. Pro-{KDE,Gnome} ppl that is, arguing about "how their oppinions/tastes are better/grander then the oppositions, what-else & what-not...".
In a quick sentense; Neither matter more or less then the other. Because einstein's "relativity theory" extends to other tings then just physics; and arguing which "choice" is better or worse or equal than the other, simply doesn't exist in the mind of a true "relativity nutcase" as me ;-) - they just exist *end of story*.
So if we stop biquering, for awhile, and step back a few step; and try to analyze things in a pacifistic way - maybe we'll get the picture.
*IMHO* - the 'picture' I see, from all of this, is actually, "more choices, then less" & "more satisfaction".
Howcome? *you (might) ask?* - let me put it in a breif anology:
KDE equals eg. 'Orange juce', while Gnome equals eg. 'Graphefrute juce'. There are three sort of ppl in this world,
I, happen to be one of the 'Case A)' ppl, *Am utterly, horrified over the taste of Graphfrute*, "just one of those things in life I can't do", is drink it. And who am I to bash on 'Graphfrute juce'-lovers out there, and who are they to bash me? And by now one might be content to say everyone should be more like 'Case C', and while I might understand your thought for awhile; things in life just are, so anyhow you try to 'bend it', in some or other way, all of the 'Cases' will forever exist.
!Thus, It's not a matter of 'which case one is', but more in the lines of "how can we get along, with each other, the way we are, with our tastes & dislikes?"
So for me this "GTK 2 QT Engine" is something that'll convert that horrid 'Graphfrute juce' I so dislike into something I love, 'Orange Juce'. *now, that's a pice of work, really - from my POV*
And while the quick thought out there, may start to think 'I found a flaw in his thinking' - That this, this engine, will extinct/exterminte Gnome / 'Case B' / 'Grapefrute juce'. And such a scenari is thus not my intention, thinking nor would I as a KDE lover go along with such a scheme - mearly because 'What if the tables would be the other way around?'; I know I wouldn't like extingtion to stumble upon my choices. So, what's missing, at present (to my knowledge), is a "QT 2 GTK Engine" that'll convert horrid 'Orange juce' into sweat 'Graphfrute juce' for those who drink it.
So, a "GTK 2 QT" & "QT 2 GTK" Engine - would be something both KDE & Gnome should invest in, to give us, the ppl, even "more choices, then less" & "more satisfaction", untop of those that they allready bless us with - After all, both are just a UserInterface, with a 'G' infront of them; what matters are the 'function(s)' unerneeth the 'hood we really don't see, unless we take a look underneeth' *emphasis on "Give us functions, and let us decide the UI of the G; after all isn't function(s) what we strive to use computers for?"*
brief, as brief as such a thing could be explained in...
//danalien
I don't claim I know more than I know, and if you know you know more than I know, then by all means, let me know.
So, jokes aside, I'm not trolling about QT, I'm saying both QT and GTK solve the same problem (allow closed source apps), either by paying to trolltech or by using LGPL; althougth it's very debatable what's the better approach.
So far, i think both are working well, maybe QT a little better because it's good support to commercial developers.
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...
I use the "classic" skin for Windows Media Player, which unobtrusively looks like any other stereotypical Windows app. A "classic" skin exists for Winamp as well, leaving the brushed-metal QuickTime Player as the only oddball.
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
This is the kind of thing we're really missing. Most people don't give a damn about what widgets a program uses, and a lot of people want their programs to all look the same. The common answer to this seems to be "Well let's drop (GTK|QT) and then we'll have unification." This is a very Bush attitude, right up there with "If everyone does what I say then we have cooporation."
True unification will come when it doesn't matter to the user which widget set something is written in. This will involve a special theme setting for each kind of widget out there which basically says "Generate yourself a theme from tis here meta-information."
We need a neutral theme format. One which describes looks in a way which is not specific to any theming system. Then, each widget set can (when told to) copy this information into a format it can use directly, and use that for its theme.
With modifications to allow such an operation to each of the themeable widgets sets out there, porgrams could get a reasonably similar look with no further rewriting, and no need to "compromise" on a unified widget set. Maybe the look achieved would not be exact, but exact is not necessary.
If you consider Windows, many apps don't look exactly the same. They use slightly newer or slightly older widgets, from perhaps different incarnations of the Windows API. But since they all look to roughly the same place for information on (for example) what color to be, the user largely does not notice.
I want my Cowboyneal
TrollTech uses a GPL/TrollTech license which means they can charge arbitrary sums of money (reasonably priced at $1,200 at the moment) to developers for using the Qt libraries in software not compatible with the GPL. Gnome uses GTK (with an LGPL license) which has no restrictions (provided one doesn't actually change the libraries themselves without releasing the changes made to the libraries).
Sun is merely a supporter of GTK/Gnome but Trolltech has control of Qt (and thus to some degree KDE). If Sun turned around and became the Evil Empire, it would have no effect on Gnome software or the Gnome DE but if TrollTech became the Evil Empire, KDE might still be fine but if a user of KDE wanted to use closed source software such as Oracle or various popular Video Games, they might not integrate well due to Oracle and xyz video games and etc needing to use a different gui toolkit [Oracle uses Qt now but I am talking about in an imaginary future, such as imagining in 1998 that Caldera would threaten to sue everyone for using Linux in 2003].
Sun is not relevant to Gnome but TrollTech IS relevant to KDE. So while you might not trust either one, only TrollTech can make life harder for the Linux community.
I miss the Karma Whores.
Go ahead and put an output statement in your copy constructor, and see how many times your object is copied.
It would take a PhD in C++ to effectively heavily rely upon using dynamic memory in any large-scale C++ project.
dynamic memory in C=slicker code
dynamic memory in C++=disaster
Solution: STL?
Are we talking about same code with a different compiler or the same job done with different languages? For the former, you make sense. For the latter, you don't.
Who mediates your information?
contrary to what most /.ers think, you can dynamically link a program to a gpl-ed library. You should make sure however that it is not vitally important to it, the program should be able to run without it.
See for instance the fact that you can run propriety programs on a linux system. It may make (gpl-ed) kernel calls, but is not tainted by the gpl, because it is assumed the program can be run in other unices too.
It can even be argued that the desktop environment is part of the system just like the kernel, and that propriety programs can hook directly into those. The GPL allows that interpretation.
This space is intentionally staring blankly at you
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...
Who needs the English class? You can't infer an opinion from someone's statement then I would say you need an English class. Language isn't just about literal statements. English isn't C++. There's inference throughout the language and yes I'M the on e who THINKS QT is hard on the eyes. And *I* *THINK* anyone who thinks it isn't is either blind or lying, but that is an opinion, whether or not I preface it with "I think". Sheesh.
It is even better than you think. Qt is dual licenced, you may use it with the GPL or QPL licences, or you can pay a wad of cash to trolltech and do what you cannot do with the GPL/QPL.
In other words, Qt gives you more freedom (of choice) than gtk does.
This space is intentionally staring blankly at you
I agree. I wasn't lamenting my plight as a Gnome user. Rather taking the opportunity to joke that making a GTK app look like a QT app didn't seem like a good idea to me. Just a personal opinion.
There are some aspects of a toolkit that cannot be changed by a theme (look at bluecurve-gtk1 vs. bluecurve-gtk2 vs. bluecurve-qt, they all look slightly different). It's quite valid to think that one toolkit inherently looks better, regardless of the actual theme used.
It's hard to be religious when certain people are never incinerated by bolts of lightning.
I agree that a universally applied "one size fits all" 'strategy', would take away a core strenght/concept from Linux. But I don't think your assertions about choice really invalidates the grandparent's belief that 'choice' in the (G)UI isn't always a good thing.
Perhaps the use of (the keyword) "choice" there is misleading, but I think you're mixing up choice, constraints, and freedom, in you post.
I view choice (in the "core-concept-of-Linux" sense), as the freedom to choose, based on open source and licenses that give you powerful rights, to use, share, modify, build on, etc. On the other hand, constraints (to disallow certain things in favor of other benefits) are vital. Your own claim that interop between Gnome and KDE is a good thing, shows that you too understand this.
As an example, Roy T. Fielding's (W3C, Apache foundation, et al.) dissertation Architectural Styles and the Design of Network-based Software Architectures (describing the architecture of WWW) is illustrative. Fielding coined the term Null style: Obviously, the Null style gives you unlimited choice (absolute freedom). It's also practically useless as you can't build anything without constraints.
Another example: OOP wouldn't be very useful (or, indeed, object-oriented) if one chose to disregard the principles of abstraction, encapsulation, inheritence, polymorphism, etc.
I think we all can agree that solutions (such as this GTK-QT Theme Engine) that aim to bridge various gaps throughout the "Unix universe" are good things.
Sometimes these efforts might constrain our choices, but they don't necessarily limit our freedom.
668.5
So go change your Qt theme if you don't like whatever default it uses on your system. If the default is Keramik, then change it to Highcolor, Plastic or Qinx. Duh!
Don't blame me, I didn't vote for either of them!
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.
Qt is free as in "it uses the Free Software Foundation's preferred license for free libraries." It's every bit as Free as GNU's readline library.
Don't blame me, I didn't vote for either of them!
I switched from BSD to Linux because the Linux community is large enough, and evangelical enough, that every single question I have ever posted to a Linux newsgroup (or followup in private email) has offered at least a sympathetic response, and 75% of the time at least some useful info, and often a pointer to the complete solution. And never an obnoxious flame. That attitude, in turn, has stroked me enough to post my own solutions in public, search-indexed websites. The BSD community is small and crabby, so despite my perception of the BSD tech superiority, that marginal advantage is drowned in BSD's limited potential for actual problemsolving. Linux is an artifact of a community of collaborators, inherently more powerful and resilient than BSD, merely an artifact without the community. It's worth noting that a large community of mutually supportive developers is what got Microsoft where they are today, and where the actual platform competition is. And why Linux is gaining so quickly on MS, Apple, Unix, and any others.
--
make install -not war
This is one-way unification: turns GNOME apps into KDE apps. I prefer the GNOME style, and want to use KDE apps. I'm looking for the reverse. Or even better, true unification, in a middle layer, with KDE/GNOME style selectable on top. A 3tier architecture version of KDE-look would be a good approach: KDE & GNOME API mapping in the "data" layer, unified widget functions in the "business" layer, and selectable KDE/GNOME syles in the "presentation" layer. Any GNOME hackers want to seed the KDE-look source into a new project, and flip the script?
--
make install -not war
With the recent non-X11 KDE port to Mac OS-X (cocoa based) does this hack permit Gnome apps to be compiled to run on the MAC too?
When the non-X11 KDE port to windows gets running will this permit both KDE and Gnome apps to run on windows?
If one or both of these are true then computing will get very interesting....
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
I just fired up MediaPlayer, and it looks like a Windows program to me...
File View Play Tools Help
huh?
This issue is a bit more complicated than you think.
So why do Office and Visual Studio.NET look different to other Windows applications?
Karma: It's all a bunch of tree-huggin' hippy crap!
That's not the same. See in theory with this Gtk->Qt theme 'wrapper', when you change the Qt theme, all Qt and Gtk+ applications will automatically repaint with the new theme. Now they just have to get it up to v1.0 and I can toss out Geramik. :-)
Karma: It's all a bunch of tree-huggin' hippy crap!
It would also be useful to have common 'drawing' routines for things like text areas. I have quoted the word 'drawing' because the feel of the widgets should also be uniform. I should be able to modify the context menus so that every application's right-click menu will use the same list of actions.
Unified look is a start. Unifeed feel is next. Surely Mac OSX can't be the only one who gets this right.
Karma: It's all a bunch of tree-huggin' hippy crap!
See I don't understand that. The Qt theme Keramik (which happens to be the KDE default at the moment) looks great, and is easy on the eyes. Meanwhile, Gtk's theme takes a whole lot of tweaking so it doesn't look so damn fuzzy.
Gtk's default theme wasn't just hard on the eyes, it actually caused me eye strain to the point where it was causing headaches. Luckily I learned about 'switch' and 'switch2', and changing the fonts and so forth eventually I got it to look just as sharp as Qt.
If users of GNOME would realise there is an equivalent tool for Qt called "qt-config", the bitching about Qt being "hard on the eyes" may go away overnight.
Karma: It's all a bunch of tree-huggin' hippy crap!
> With the recent non-X11 KDE port to Mac OS-X (cocoa based) does this hack permit Gnome apps to be compiled to run on the MAC too?
Theoretically, but there is a great deal more than that for gtk to truly integrate with OSX (menubar, dock, bundle support, etc..) and there are easier ways (like using the Appearance Manager directly).
I'd like to see a similar thing for QT that uses the current GTK theme, but what happens when you turn on both of these!?!
Bluecurve is one of the ugliest KDE themes available...
Karma: It's all a bunch of tree-huggin' hippy crap!
That sounds like the best thing ever!
Karma: It's all a bunch of tree-huggin' hippy crap!
No, this development is relevant to the visual styles of gtk applications. It has nothing to do with native gtk on OSX.
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?
Ok, I understand better now and would like to retract the elitist (correctly spelled this time) accusation, my apologies.
Your elaborations on willful ignorance, the problems with lack of incentives to learn, meritocracy, etc., are educational, and I agree. Also, the clarification/definition of "desktop" in this context makes sense. And I believe it points towards some form of consensual view.
I too, think it would be a bad idea, a very 'costly' and ultimately destructive evolution, if developers and users were constrained (forced) into conforming to one-and-only-one 'desktop'.
As a *nix 'semi-beginner', my interests lie in the empowering "development and programming aspects" of the OS/toolkits, community, and culture as a whole. In this context, I see many possibilities with tools that try to bridge incompabilities; tools that 'translate' between different cultural and/or technical views/solutions - or at least try to. (And I think this GTK-QT Theme Engine is an attempt in this general direction.)
Sometimes they create a new, unified and more powerful "Way" - deep down in the kernel, or high up in a GUI. More often, they probably (re)introduce weaknesses an original model or fork tried to overcome. Evolution hopefully continues to do its stuff.
The ability to put "everything" in a pipe is ingenious, for example. It's intriguing when people try to achieve something related at other levels of the system ecology.
668.5
Multiple layers of indirection always offer some performace hit. It's a tradeoff against features - if all you need is a paperweight, an unplugged computer is instantaneous ;). Proper design into tiers can minimize performace hits, eg. keeping all loops inside the same layer, rather than looping across multiple pointer dereferences. And the elimination of redundancy makes the call graphs more readable, therefore optimizable - by both programmer and compiler. That GTK and Qt are written in C (not C++ or other OO lang) indicates lots of cleanable spaghetti code, especially to my experienced GTK programming eye. Factoring code into layers of encapsulated objects has overhead, but real programs leverage that overhead into greater efficiency in the complex code of eg. GUIs. I remember the performance tweaks we got at Apple when we switched from the Pascal toolkit to native C++, (System7). And Apple has never looked back. Linux GUIs can learn a lot more than just look & feel from the Mac desktop.
The extra performance cost is much smaller than the benefit. KDE-look, by mapping GTK app calls to the Qt API, unifies the GUI layer into something describable as an inverted Y:
KDE-app GNOME-app
| |
+--KDE-look--+
|
Qt-libraries
Adding a "GNOME-look" equivalent would merely add another library set to the bottom layer:
KDE-app GNOME-app
| |
+--K/G-look--+
| |
Qt-libs GNOME-libs
With the extra logic in the "K/G-look" logic layer. The call graphs would not be any longer or more complex, in terms of extra layers. The extra logic would be precomputed at app startup, to switch given apps to their preferential toolkit libraries, and amount to fast switch/case statements for routing to the preferred library.
The better organization of the code, and the actual low cost of the runtime switching, offer a good benefit/cost ratio, at runtime. The state of the old project (called?) code, and the complexity of integrating it, is the benefit/cost ratio for coding it. On that, I'm talking out of my hat. Any ideas?
--
make install -not war
Is it possible to go the other way, producing a Qt theme that draws using GTK?
Cut that out, or I will ship you to Norilsk in a box.
There isn't much of a performance loss at all.
- The GTK drawing logic in this GTK engine is a simple blit, which is *extremely* fast. Thus, the performance matches the performance of the Qt Style Plugin.
- Other platforms work like this- see WindowsXP's uxtheme.dll and MacOS 8.x/9.x/OSX's Appearance Manager.
- With both Qt and GTK, you can get function stacks about 30 function calls (I've seen this quite a few times while gdb'ing some apps)
Here are some useful KDE programs:
t hers...
KOffice (also competes with AbiWord)
Kate
Quanta
K3b
KMPlayer
Konsole
o
I support the Center for Consumer Freedom
One day I rewrote a gtk/glade-based application in C# (just to try out mono). Source code size went from 20kB in C to 18kB in C#. The size of the unwritten C++ version will probably lie somewhere in between (I don't use many things that can be simplified by using STL, while in C# a lot of "free"/"delete"s can be omitted). The problem in your logic is that, although "gtk_tree_path_append(path, 1)" is significantly longer than "path->append(1)", such library calls is usually only a not-so-big part of the UI code, which is in turn a not-so-big part of the whole program. Considering that most of the time is spent on designing and debugging, rather than typing, it is hard to see such simplification will help productivity much. A good library (such as Glib/STL/standard library of java and c#) or certain other language features (mostly just garbage collection) helps much more.
Make copy constructors with output statements and you'll see. Especially if you use the STL. If you don't, you probably reimplement it on your own, which is a pretty bad way to be a generic programmer.
I didn't invent the idea, my grad school Advanced Programming Concepts II professor suggested it. If you disagree with my statements, make your argument to him. You'll be doing a service to all, I suppose.
http://www.monm [anti-email-harvesters] outh.edu/~rclayton
Who mediates your information?
I said dynamic memory. In C++ with classes that means the "rule of three:" if you have any one, you probably need all three of:
copy constructors
assignment operators
destructor
If you're never writing copy constructors, and you're passing by reference, you're not using dynamic memory. And the STL uses it for you, you're not using it there.
Put your objects in a vector, and put a verbose copy constructor in it, and see what happens throughout your program.
Who mediates your information?
I use dynamic memory in C++ all the time and it's minimally just as easy as C and usually better because you can leverage other features of C++ (e.g. RAII). I write C++ professionally, but no, I don't have a PhD in C++
As far as you last statement, I'm talking minimally about the same code, people that dislike C++ often forget that C++ encompasses C; i.e. C programming styles are part of the toolbox of C++. However, beyond that, C++ provides additional tools and paradigms that give the advantages I mentioned.
Please, concrete examples where dynamic memory management in C++ is a disaster? Afterall, you can use (and I sometimes do) use malloc/realloc/free in C++.
XML causes global warming.
If the objects are small, then the copying done by the vector will be likely inconsequential. If the objects are larger, but the vector doesn't get rearranged very often (e.g. things are only added to it), you'll still do ok because of the growing behaviour of vectors (constant amortized time). If the objects are large, and you're worried about this, you can use a vector to pointers to the object - just like you would maintain an array of things in C but with lots more features. Then the copy constructor won't be invoked for any of the vector operations. Finally, a called copy constructor represent the same amount of work you'd have to do with C initializations and memcpy style struct copying. The copy constructor provides a convenient way to abstract this work to improve the life of the programmer. In C++, the copy constructor can often be inlined, and is often largely optimized away, though your instrumentation will likely be the most expensive part of the code, after the optimization.
XML causes global warming.
I bet you were the anonymous coward that submitted the story, and then you posted this comment to try to fool us... well... you certainly didn't fool me! :) just kidding
nice job.
Because it's true?
Every penny paid to a successful company that Canopy owns acts as financial backing for Canopy's more... let us say... unsavory activities. Even if Canopy holds a minority portion, each of the dollars held in a worthwhile stock acts as part of the collateral for loans/bonds/deals and, ultimately, solvency for Canopy. When you sell your stock to dogs, you get fleas. Don't try to rewrite the rules of finance just because you happen to like the company that the symbiote is hanging with...
That is all.
If I wasn't a part of this thread, I'd mod you up. Thanks for an intelligent response as opposed to the standard anonymous flaming without any technical base we've grown so accostomed to on /.
Who mediates your information?
Well hell, my KDE apps go "File View ... Help" too. That doesn't make them look like Windows apps. My point is that WMP, by default anyway, uses completely different seperators, buttons, scrollbars, sliders, etc, than a normal Windows app. It doesn't even have a menu until you move your mouse towards where the menu should be, and one appears. That doesn't exactly strike me as usable.
A deep unwavering belief is a sure sign you're missing something...