Google To Replace GTK+ With Its Own Aura In Chrome
sfcrazy writes "Google's Chromium team is working on an alternative of Gtk+ for the browser, called Aura. Elliot Glaysher, a Google developer explains, 'We aim to launch the Aura graphics stack on Linux in M35. Aura is a cross-platform graphics system, and the Aura frontend will replace the current GTK+ frontend.' The Free Software community is debating: is Google trying to do Canonical? Couldn't Google just switch to Qt, which is becoming an industry standard?"
Is looking darker and darker every year
Atleast Gtk+ isn't gaining.
Porting a huge GTK-2 application to QT is substantially more work than just forking GTK-2 with a new name, and maybe some small modifications.
And adopting and modifying GTK-3 seems like a battered woman going back to her abusive husband... The FSF has a sorry track record of destroying everything they touch, and the GPLv3 getting forced on all their software is making individuals and companies run for the hills at a record pace.
Hey, if Google makes Aurora a distributable package, I'll compile all the GTK-2 apps I use against it, and just keep using it. I even still depend on a few GTK-1 apps...
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Why it really matters whether Google uses QT or GTK or their own stack. I mean for a GDE or distro like Ubuntu, I can see that "make another one" matters because it impacts all sorts of other projects. For Chrome, though, it doesnt really affect anyone else that I can see, and its really just Gnome folks being upset that Google didnt want to use their stack. At the end of the day, isnt it just more work for Google? If theyre happy to do it, who cares?
And-- though Im not privy to all of the politics-- Ive gotten the impression that the GTK3 folks werent terribly interested in hearing other people's thoughts.
Qt is my golden standard too, but in case of Chrome, it does not matter much. Go with "Aura" if it makes them happy. I mean, how many UI widgets do you see in Chrome anyway? There's the tab bar, pop-up menu, and some little popup thingies here and there. Everything else is a web page, which is rendered with its own engine.
behind the aura, behind the aura, behind the aura
Google Chrome also uses Blink-182.
The reason why Gtk was written is because at the time that GIMP was starting out, there wasn't a good alternative. Nowdays there are.
And then again, why should anyone have a say on what toolkit Google decide to use for their own browser? Did "the Free Software Community" have anything to say when it was slang vs ncurses, emacs vs vim, gtk vs qt, gnome vs kde? No, because exploring alternate solutions is good for the whole community in the long run. Please stop this poisonous attitude of finding "enemies of the people" among people who dare write free software.
Because GTK2 is bit-rotting and GTK3 is bound to GNOME.
Google Chrome also uses Blink-182.
Woo hoo! So they lie and they're easy?
If I remember correct the Gimp guys had started with Motif. Early versions of Gtk+ was more or less a non-strict reimplementation of Motif, but that changed quite rapidly after a while.
To be honest i see this more as a feature than as a problem.
This will very likely improve the quality of the linux build making it more complete and compatible with the windows build and features.
Just compare the linux and windows versions of firefox for example.
They look far from the same.
And for a big part this is caused by the difference in toolkits used beneath the skin.
Now i am a big fan of QT.
But even if they port their own: one toolkit everywhere can only make things better.
Right, and Motif wasn't free.
"Couldn't Google just switch to Qt, which is becoming an industry standard?"
It is? I haven't seen evidence of that. Trolltech/Digia have been working on that for a long time, and have in fact gained significant market share, but I don't see many projects outside of the KDE sphere of influence or very specific embedded platforms adopting Qt. In fact, the popularity of entirely new mobile platforms that did not adopt Qt is a great counter-argument (i.e. iOS, Android, ChromeOS).
Mind you, that's no argument against using Qt - I just don't see evidence of it becoming an industry standard.
Every use of GTK outside of GIMP is a problem. Try running the latest CentOS with GNOME and see if you can run a newer GIMP. You can't. You will have to do all manner of things and you still will not get 100%.
I have discussed this topic with GTK, GIMP and GNOME projects and at the end of the day it comes back to GIMP/GTK developers. They say GTK is for GIMP. So every developer out there would be well advised not to use GTK any longer.
There is only XUL.
IIRC Gtk was written because there was a high-quality alternative but that wasn't free and open.
Years later Trolltech released Qt under the LGPL and suddenly there is no longer any need for Gtk (or other toolkits written it seems just to be a bit "special")
You don't need to run Gnome to run GTK 3. I'm using it right now on just fvwm.
It is now (LGPL). Time to move back?
they'd rather make a gnustep version on par with the google-chrome on osx (isn't that already based on cocoa)?
Windoze not found: (C)heer, (P)arty or (D)ance
It's logical that google wants to use Aura, they want about every technology used to be from their labs, and people bitched at MS for straying away from so called 'industry standards' but Google is much worse at that... And yes, they put it into opensource, but just look how they really keep control over the projects, if you deviate as a company you'll get slapped on the wrist (just look at android)..
From previous releases its clearly the Chrome team is being mismanaged and has lost its way.
They really cannot get the basics right. A web browser is basically text in windows that can be styled by the page author. Lets see you they are doing:
i) They don't fix the appalling font rendering issues on Windows promptly and as a priority. Most of Google's own web fonts are unusable in production because of this.
ii) They don't follow standard most-recently-used order when ctrl-tab between tabs and they don't see the problem and close any bug report as won't fix. How can Chrome be the platform for office tools and applications when you can't flick between applications?
iii) They start adding animations to html elements you can't restyle with CSS e.g. the zoom ease-in they added to select elements in a recent Chrome. What possible justification was there for that? If you need to use more than a couple select elements on a form the animation effect of using each one is terrible.
iv) They add forced behind the scenes updates (ok) but they then push poorly tested unstable releases. There were wide-spread issues on their recent releases. You can only auto-update if you are rock-solid.
v) They fork from the web-kit project, a once high-point in cross company collaboration for the betterment of the web. Now... beginning of the end.
vi) And now they are going to spend their time re-implementing a cross-platform widget toolkit. How about fixing the fucking font rendering first?
I don't know how the team is being led but it can't be right. Google, time to take an axe to your chrome team...
Why do they need a GUI toolkit at all? Why don't they build the Chrome UI in HTML/JS/CSS?
i've worked with webkit a *lot*. for example, i helped denis with the port of webkit to directfb. in doing the python-webkit (direct) bindings http://www.gnu.org/software/py... i covered a *lot* of different ports of webkit. here's the summary:
* when compiling the standard webkit to run on a 400mhz ARM9, the gtk port started up in around... i think it was somewhere around 8 seconds. this was tolerable. it used about 130mb of memory to load a single basic page.
* when compiling the DirectFB port to run on the same system, it started up in about 3 to 4 seconds, and used about 1 or 2mb less memory. this was great!
* when compiling the Qt4 port to run on the same system, it took NINETY SECONDS to start up, consumed DOUBLE the amount of memory, and was basically completely intolerable.
the directfb port basically used an older (revision 1.2) version of the lite toolkit. to say it's light-weight would be an understatement: it's absolutely awesome. qt4 has unfortunately turned into a bit of a monster. gtk by comparison has remained reasonably level-headed, and when it (finally!) has the equivalence of COM's co-classes added to the gobject introspection layer gtk will become highly significant, strategically.
the only thing that the directfb-lite port lacked (at the time i was involved) was a window manager. this basically meant that you could only have one browser window open, and you had a callback for dealing with console alerts, which you had to then deal with yourself. i _thought_ about doing the same trick that mozilla does (which is most clearly demonstrated in b2g) - namely to implement the windowing system *in* webkit itself, in a high-level language: that would be cool. not many people are aware that firefox's menus including the toolbars and tabs are actually implemented *in javascript* (!), and the main browser "window" is merely a (secure) frame. b2g is an extension of that.
so anyway, the point is: there are lots of ways this can be achieved. you can implement the window manager externally and treat the browser as an isolated "component". you can go the other route and implement the window manager *using* the browser engine. but the main point is that either way, gtk and qt4 are to be honest complete overkill. it's only when you have things like co-classes built-in to the underlying infrastructure (like COM has) that you get any _real_ flexible benefit from the widget set, and as neither gtk nor qt4 have those, there's honestly really no point having them around.
I agree on this point, but, what about Qt? Qt is superior to gtk in almost every way, cross platform, and not "bound" to anything. Plus, the license is pretty liberal.
Except that this "standard C++" is total crap that doesn' even offer proper reflection, which is the whole reason why Gtk+ went on to create this "weird kitchen sink object system" (so that creating the bindings to all the dozens of different languages used in a typical Un*x system were as simple as possible). And why - wonder of wonders - Qt did the same, to improve this "object shitstem" of C++. I think a discerning observer might start seeing a pattern at this point...
Ezekiel 23:20
I'm not sure why GIMP originally wanted a Toolkit; but Gtk mostly emerged because Qt was proprietary at the time. Given that, for all its failings as a toolkit, Gtk, possibly along with other factors that coincided with it(I'm perfectly willing to listen; but don't know of any offhand) succeeded in getting GPLed Qt. I think Nokia even LGPLed Qt part of some aspect of their flailing-death-spiral strategy.
That, to the best of my understanding, is what confuses people: Qt is generally considered superior to Gtk, is now LGPL, and is generally well liked; so why would somebody say 'Well, Gtk has issues, so I'm going to make my own Gtk; but better!' when they could just use Qt?
AFAIKT Aura is a more than just a UI Toolkit, it's a complete Window Manager. A replacement for Gnome (wow! I hope that takes off!) Apparently it's been running on the Chromebooks. Here is Linus' take on the topic.
If Linus would just endorse a toolkit, then there would be One True Toolkit; this would be the most likely thing to drive an actual "Linux desktop revolution". I am not holding my breath.
You need lots from GNOME project to get GTK3
Can you be more specific? GTK+ does not have a lot of dependencies to begin with, and most of them is not directly related to the Gnome project; GLib, GdkPixbuf, Pango, ATK and GObject according to the documentation [0]. The rest of them are external.
[0] https://developer.gnome.org/gt...
I agree with most of your points, and I don't use Chrome, or chromium, but I disagree here:
v) They fork from the web-kit project, a once high-point in cross company collaboration for the betterment of the web. Now... beginning of the end.
I think this is actually a good thing sort of. The cross compatibility should come from good, implementable open standards, not a single open source renderer. It was beginning to get to the stage where Webkit was getting so dominant that it was looking to a return to the bad old days of "Best viewed with Nutscrape at 640x480, 8 bit colour". It's now back up to 4 mayor engines: Webkit, Blink, Geko and Trident with a reasonable split between them. For now, the first two are nigh on identical, but after a while they should diverge a good bit.
SJW n. One who posts facts.
Except that this "standard C++" is total crap that doesn' even offer proper reflection, which is the whole reason why Gtk+ went on to create this "weird kitchen sink object system"
Wrong. GTK+ did their weird object system because it's in C, not C++. Reflection isn't a factor, and as a C++ programmer I don't feel like I'm missing anything without it.
And why - wonder of wonders - Qt did the same, to improve this "object shitstem" of C++. I think a discerning observer might start seeing a pattern at this point...
Qt started down that path because the C++ compilers of that era had poor or non existent compatibility with C++ template specs. They decided that it was just easier to write a precompiler stage than deal with templates.
Qt has a lot of overhead that can be useful for writing desktop apps but requires extra work for a web browser. Qt wants all apps to be web apps, except you get your "choice" whether to write layout and logic in Qt Quick, C++ or overhead-added HTML; this gives you some degree of interop with the other two, but web browsers don't need that or the overhead it brings. Qt also pointlessly reinvented lots of the C++ standard -- witness QString and all their container classes -- making it hard to integrate with libraries written in non-Qt C++. People who use Qt are mostly allowing themselves to be locked in to a dead vendor's proprietary library.
This is exactly how Microsoft fought the browser wars in the 1990's. By introducing deliberately incompatible, piecemeal and nonstandard ways of doing things, and making them defaults on Windows. Google does the same on Android and ChromeOS. Microsoft had Windows on every PC, except Apples. Google has Android on every smartphone, except Apples. You might ask, why should the Free Software Community care? Well, it used to be that Android was basically a linux distro. Linux distros are nice, because the user can replace anyting he likes and make everything just so. That works because the free software isn't just gratis, but has the kind of license that promotes collaboration, and a community of devs and users. Google have horrible licences, and want to replace existing software that runs unchanged on lots of OSes and architectures with their own, then bundle it with Android. In this way, you end up with an OS that runs proprietary software nobody except Google can change (realistically), and runs on every piece of hardware you can buy in stores (except Apples). It spies on you, and rams ads down your throat. And the ubiquitous Free Software we became used to in the internet boom years will become less available, since it won't run on the hardware people will want to buy.
I agree with you but not for the same reason: my reason is a variant on 'cannot get the basics right': Chrome is not pleasant to use at all on a 4GB RAM PC, it use too much memory which make the PC swap..
I used to prefer Chrome to Firefox, due to its snapiness, good separation between tab, but when it used frequently so much memory as to make the PC swap, I switched back to Firefox.
Can we please stop spreading this myth? Even with C++11 and upcoming C++14 you can't just replace the Qt object metatype system. See e.g. http://woboq.com/blog/reflection-in-cpp-and-qt-moc.html for a detailed analysis ...
The could have just used SWIG like the rest of the planet.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
Wrong. GTK+ did their weird object system because it's in C, not C++.
Yes, they did. And they also had a number of other reasons. Most of which perhaps disappeared in time, but not all of them.
Reflection isn't a factor
Sure, if you're happy to be forced to recompile all binding libraries, generate new packages and force hundreds of thousands of people to upgrade them whenever the interfaces change instead of just upgrading Gtk+.
and as a C++ programmer I don't feel like I'm missing anything without it.
Oh wait, you're C++ programmer. Of course, in that case your brain is already so horribly damaged that you can't perceive the comparatively mild benefits this would bring to a C++ programmer (removing only one cut from the thousand ones already killing you).
Ezekiel 23:20
Why do they need a GUI toolkit at all? Why don't they build the Chrome UI in HTML/JS/CSS?
I wish I had funny mod points!
Yeah.
Really funny
Of all the whoooshhhes I've seen ... this is the biggest.
The C++ mentality is that you should catch as many errors as you can at compile time. When you're launching a satellite, you want to be sure your code's as bulletproof as possible before it leaves the ground. Every time I've seen reflection used, it was by some terrible programmer who'd just learned about reflection and was looking for an excuse to use it. And every single time, they were using it as a crutch so they wouldn't have to think about the system they were building. You can almost hear them thinking "Cool! I don't really know what this bit here is supposed to do, so I'll just use reflection and once I've collected my paycheck and left, some other programmer can drop random objects in there later!" I've never seen its use actually improve a design. I've never even seen it make more loosely-coupled or reusable code, now that I think about it. Somehow they ended up with introspective systems that were so tightly coupled that you couldn't just break one object out to run a unit test on it. If they'd written unit tests. Which they didn't, because they were bad programmers.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
It's now back up to 2 mayor engines: Webkit and Gecko. Webkit and Blink are the same (as of now) and Trident is not an engine.
i) They don't fix the appalling font rendering issues on Windows promptly and as a priority. Most of Google's own web fonts are unusable in production because of this.
I haven't used Windows since about 2000, so I have no comment on this. I will point out that it appears work is in progress: https://code.google.com/p/chro...
ii) They don't follow standard most-recently-used order when ctrl-tab between tabs and they don't see the problem and close any bug report as won't fix.
I disagree with this one. The Chrome tab ordering is better. most-recently-used sucks when you have 20 tabs and have bounced around between them somewhat randomly (as is normal). It makes ctrl-tab completely unpredictable unless you're just jumping back one or two levels. The Chrome way is better.
iii) They start adding animations to html elements you can't restyle with CSS e.g. the zoom ease-in they added to select elements in a recent Chrome.
Got a link to more information? I'm not sure what you're referring to.
There were wide-spread issues on their recent releases. You can only auto-update if you are rock-solid.
Link? I certainly never noticed any issues, but perhaps that's -- again -- because I don't use Windows.
v) They fork from the web-kit project, a once high-point in cross company collaboration for the betterment of the web. Now... beginning of the end.
Nonsense. There is still cross-collaboration between Blink and Webkit, and Google isn't the only company working on Blink.
I also fundamentally disagree with the common /. meme that forks are bad. There is this mistaken notion that having all of the developers interested in a certain space collaborating on one implementation will improve the pace of development, but that view ignores the fact that software engineering isn't like ditch-digging; with software there are definitely diminishing returns on larger and larger collaborative groups, particularly if the software isn't of a sort that lends itself to crisp, well-separated modules. In practice, we tend to find that with sufficiently-important spaces (e.g. web browsers) the ecosystem is better-served by friendly competition among open source projects. That reduces the amount of inter-group communication needed to reach consensus on approaches and therefore increases the speed of iteration. The fact that all are open source means that when one project implements a great new idea the others can see the details of the implementation and more easily incorporate the idea, even if they can't actually use the implementation.
I think the "we should all work on one implementation" theory has basically the same merits as the old Soviet one-gigantic-factory model for production of goods. On the face of it one would think that producing many different designs for one type of product and then building all of them in separate production facilities, distributed through different distribution networks, etc., is very inefficient. One design, one huge factory to maximize economies of scale should be better, right? But history showed that the opposite is true, that a competitive market produces more goods, better goods and does it at a lower cost. The issues in software are different, but at a high level the emergent properties are similar.
vi) And now they are going to spend their time re-implementing a cross-platform widget toolkit.
They already implemented it. It's been used in ChromeOS for a while. My guess is that they've decided it will take less engineer effort to port and maintain Aura than to keep up with Gtk+. I also wouldn't be surprised if a goal isn't to remove some unused cruft from Chrome on platforms (like Windows) that don't tend to have Gtk+ libs lying around. I doubt Chrome uses more than a tiny fraction of the Gtk+ functionality.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
The C++ mentality is that you should catch as many errors as you can at compile time.
No, the Haskell mentality is that you should catch as many errors as you can at compile time (stopping only barely short of executing the whole program at compile time during the type checking :-)). The C++ mentality is that you should improve C in incremental steps without breaking much of compatibility both in terms of source code and ABI (so that you could easily reuse legacy code), until it becomes either bearable, language-feature-wise, or horribly complex, programmer-experience-wise, and ideally both.
Every time I've seen reflection used, it was by some terrible programmer who'd just learned about reflection and was looking for an excuse to use it.
That sounds like a rather lame argument to me. You could say exactly the same thing about C++ itself: the majority of time when C++ gets used (overall population considered), it's some terrible programmer who just discovered that C++ is supposed to be fast, fast, fast (well, it isn't actually all that fast - certainly not on the most recent hardware) and wants to write a game, or perhaps just because the college professor steadfastly requires C++ for his course (and neither of them knows better). Only a small percentage of users ever get to the point that they actually understand the nuances of appropriate language feature usage (that goes for any language). Or perhaps it's like with violins, they don't suck just because most people who try to play them suck. Or do you think that Sturgeon's law somehow doesn't apply to people?
I've never seen its use actually improve a design. I've never even seen it make more loosely-coupled or reusable code, now that I think about it.
Well, perhaps you ought to look at Lisp or Smalltalk one day. The whole Smalltalk IDE effectively runs that way. In fact, any self-sustaining system similar to those essentially *requires* reflection and introspection by definition. Perhaps that's not an argument for C++ code (which uses a rather ancient kind of development workflow, what with the absence of incremental compilers), but as Gtk+ tries to cater to the needs of users of many languages (I'll leave aside how well they succeed at it, that's an entirely different question), it's no surprise to me that they're so heavily reflection-oriented - languages like Python, Ruby, or Lisp essentially *thrive* on this kind of binding library implementations.
Ezekiel 23:20
font rendering issues on Windows
I will point out that it appears work is in progress
It has been "in progress" for so long that stationary might be a better term.
They start adding animations to html elements you can't restyle with CSS
Got a link to more information? I'm not sure what you're referring to.
http://stackoverflow.com/quest...
There were wide-spread issues on their recent releases. You can only auto-update if you are rock-solid.
Link? I certainly never noticed any issues
Read the chrome product support forums or comment rolls on release announcements - its pretty depressing. Countless posts referring to the same set issues crashes, scrolling bugs, inability to pick items from select boxes, flash crashes, modal dialog faults etc.
http://frankcode.wordpress.com...
They already implemented it. It's been used in ChromeOS for a while.
I see. I wouldn't be surprised if this is the root of the problem. They have conflated a web-browser with an OS. No good will come from it except an unfocussed bloated browser and an anaemic OS.
I'm assuming webkit and blink will diverge. And isn't trident what IE uses?
SJW n. One who posts facts.
... there's a fine line between going your own way and jumping the shark.
How many times is it gonna be pointed out that Google IS MSFT of the 90s before folks notice its the same dance? EEE? Webkit for Blink, taking more and more of Android behind the proprietary wall (look up Android on Ars for a great set of articles on the behind the scenes of android) its the same fricking dance folks, we've been here and done that and just because a company says "Nooo, we aren't evil, nope, nuh uh" don't make it so. Hell you watch the ads for Halliburton you'd think its a company made of kittens and sunshine, don't make it so.
Maybe I'm wrong but I think its like a law of nature, company starts out cool, gets popular, and then when they reach #1 they get paranoid and start caring more about staying big cheese than on what got them there and turn nasty. After all once upon a time MSFT was just a software house that would happily sell to anybody, even had their own UNIX for a time, but they got to the top and went nasty. Google USED to be this cool mad scientist "throw it at the wall and see what happens" kind of company, now they actively ignore their users (How many have said "do not want" to G+ yet they keep bitchslapping you with it?) and pull douchey moves like this with pretty much zero advantage to anybody but themselves.
History is repeating folks, and i only hope enough notice it and take action before we end up with a half a decade of "This page requires Chrome x.x" because as someone who survived the IE era I can say without hesitation that having one company control the web? REALLY sucks.
ACs don't waste your time replying, your posts are never seen by me.
To add to the parent's post:
Stroustrup created C++ to be a system's programming language with object oriented features. He succeeded. If you are writing system's level code, business logic code, middle tier code, numerical processing, or basically anything that is engine/under-the-hood then C++ is an acceptable choice of language. It gives you some constructs to be object-oriented to an extent while allowing the ability to achieve needed performance. It may not be the best with respect to RAD style development, but in the right hands it's a good balance.
GUI programming is a different animal altogether. Alan Kay, Dan Ingalls, and crew, designed Smalltalk around the GUI technology that they innovating (or said differently, Smalltalk was designed to help them build the GUI technology that they were innovating). You may think your favorite dynamic programming language innovated some cool little feature but the fact of the matter is that most programming languages today have borrowed from Smalltalk.
Stroustrup cared about systems level programming and was very influenced by Simula. Smalltalk doesn't show itself in C++, which is why some features in C++ are lacking (like RTTI), which is why GUI programming in C++ has always been painful. Don't believe me? Ask yourself the following:
1) Why did OWL/MFC (Borland/Microsoft) invent message maps?
2) Why did C++ Builder (Borland) introduce new keywords into the C++ language for properties and events?
3) Why did Qt invent the signal/slot mechanism?
To me the answer is pretty clear. Plain and simple, C++ is crap for GUI programming. It needs features to allow certain constructs to be simple and elegant. It needs features that Smalltalk, Delphi, and C# have been enjoying for years.
People who argue differently about GUI development and C++ A) doesn't know what they are talking about, or B) has never done serious work in another technology where GUI development is a rather enjoyable experience. Anyone who plays the "but Boost has this template class that solves everything" card definitely falls into category A.
I don't see anything Gnome-related in that list that I didn't mention.
It has been "in progress" for so long that stationary might be a better term.
Did you look at the link? The last update was in January, and described the current status as depending only on one other piece to be ready for launch.
I see. I wouldn't be surprised if this is the root of the problem. They have conflated a web-browser with an OS. No good will come from it except an unfocussed bloated browser and an anaemic OS.
I can see you've never used it.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
A lot of truth there but not this:
"Well, it used to be that Android was basically a linux distro."
No, it really never was. Because when you say a linux distro what you are actually thinking of is a GNU distro, and android never attempted that at all. It's always been it's own wierd little proprietary linux offshoot and I guess it's nice that people are starting to see it that way, but it's silly to pretend it's a change, it was this way from the start.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
Qt is superior to Gtk in almost every way! Oh, right. Except for the lack of actual ways that it is better. Or even substantially different other than in style. It is clearly more cross-fanboy compatible.
My theory is that we hated on Qt and the authors years ago, but then there was hate for Gnome3 more recently, and some of the hate is falling on Gtk by people who don't use it, and don't realize that Gtk is just an upstream library and looks just like it did in the past and Gnome has little to nothing to do with it.
Oh wait, you're C++ programmer. Of course, in that case your brain is already so horribly damaged that you can't perceive the comparatively mild benefits this would bring to a C++ programmer (removing only one cut from the thousand ones already killing you).
This is the problem with almost everyone who denigrates C++ and trys to hawk a better language. Their minds and outlook are simply too small and limited to see or understand the vast number of utterly different application domains spanned by C++.
You see reflection as a benefit because you work in a limited application area where reflection is useful (and where C++ would benefit). All those don't care types don't not care because they are brain damaged, they don't care because reflection would not have any benefit to them.
I do most of my coding around heavily algorithmic, scientific computing style stuff, with a side order of deep embedded. Reflection would not help me one bit day to day.
Yeah, I can see where it would be useful, but I don't write code in those areas, so it's quite low on my list of features I want.
But since I'm clearly so brain damaged, perhaps you'd like to enlighten me with what I should be using instead and why reflection would help me day to day.
SJW n. One who posts facts.
The "free software community" had quite a bit to say on gtk vs qt.
The great wiki in the cloud says it is: Trident (layout engine)
All hail the great wiki!
XML is a known as a key material required to create SMD: Software of Mass Destruction
https://xkcd.com/927/
"Happy families are all alike; every unhappy family is unhappy in its own way." -- Anna Karenina by Leo Tolstoy
No you cannot use toStdString and fromStdString as they do not use UTF-8 but attempt to use the "locale". Also even if you set it to UTF-8 the throw exceptions on invalid encodings, making them impossible to use safely (since the exceptions are rare enough that code is not written to handle them).
i had a long'ish text here trying to explain my point. i decided not to post it because it would get way too long to explain everything. just some simple keywords: .... crap, it has qmake? don't we have the autotools? and who is too stupid to write a 4-lines makefile to compile a simple 1 or 2 files gui app?
gtk: opensource!, c-api, glade (did overcome code generation), xml-ui spec files, gobject / glib, gtkmm c++ wrapper, themes//theme-engines, event-loops, very nice handwritten gtk2 pygtk wrapper, gtk3, gobject INTROSPECTION, pango&cario integration
qt: trolltech, nokia, microsoft..., e, CODE GENERATION SIGNAL SLOT CRAP!, trying to make money!, no c-api !?, a bloated API of operating system abstractions --- in a gui toolkit? really? all those socket, filesystem
sky: microsoft.
vlc: there is mplayer.
teamspeak: proprietary,
origin: proprietary
i don't care about industry. they have money, they can hire and pay as many developers as they want/need.
once in a time people had the idea to be able to make use out of computers without needing those big companies to support them.
to me it seems qt is only taking care of how to best adjust to the needs of even those companies!
who wants to be compatible with windows? why even trying!?! we all should try to do better!
Didn't Microsoft start when Bill Gates took a bunch of freeware code from a computer club, ported it to a new platform, copyrighted it all and called it his own? That's not quite how I remember Google starting out.
DLL hell is where different library versions can not co-exist to save you so is something different to the mere dependency problem mentioned above. The gnome situation is effectively DLL hell with background applications since the new ones have the same names (with no version number to let them co-exist, you have one or the other and not both) as the old ones but operate differently.
That's why having multiple versions of files does not solve the problem with the new gnome - you need to muck about with chroot, virtual machines or running the stuff remotely from another host if you want to have new gnome and old gnome applications on your screen at the same time.
That's why there was so much anger about it a year or two back.
So readers, I suggest you read and understand posts and the context they come from before getting condescending and then mentioning the "real world" after reading two words and going off on an irrelevant tangent. It's very insulting.
However, the desire for exclusivity unavoidably tempts imitators. In fact many of Louis vuitton Outlet Online Monogrammed Canvas bags nike hyperdunk 2012 low offered either internet or offline are eliminate. In some cases it ares challenging to find a well-made duplicate, not to discuss the genuine version.Having another drive on the same cable can significantly decrease your primary hard disk performance. Use the latest DirectX version as this will improve gaming performance. Needless to say also, the best video card you can get, the best would be your 3D gaming performance.2006 WK6--DEN 13 OAK 3 (OAK +15) W 2006 WK6--TB 14 CIN 13 (TB +4. 2005 WK8--HOU 19 CLE 16 (HOU -2) W ''Look, go to the Universal Studios lot near North Hollywood, California. They've just built a new ride there called Back to the Future. It cost $60 million.Think I am crazy? JUST TRY ITMay 6, 2011 at 12:21 |I said I had bra scars and rather dry elbows! For me, this was my chance to mark a milestone in my life, like my tattoos, everytime I view these pics they would take me back to this day, a couple of weeks before my wedding to the most awesome man, (sorry other men!) a time in my life when I am extremely happy being who I am, in a place surrounded by my friends and family who also accept me for me.No, I usually just look like the local, mental asshole. Honestly I could go on for to long about anger; don't worry if your interested one day you can read my book.What's important, is I'm going to change my inner motivation with innovation. In late 1999/very early 2000, the very last original remaining MBTA-owned FP10 contraptions were being being presented along with still have handled when Maryland, Spanking New Orleans, Georgia, and thus Idaho about various sorts of holidaymaker train engines.Wikimedia Commons comes armed with movie associated with: EMD FP9 enginesPinkepank, Jerry The New.Virtually every customer we have that uses our accounting or payroll system use only less than half of the features. Every street corner we see cars that can deliver twice or thrice the speed than the owner is really legally allowed to go, or will ever go.How many of us get Ipods that can store 600 hours of music, when all we have in our collection Nike KD 5 is just less than 100 hours? Just before you reach your imaginary seat, stand back up. Do this for 30 seconds or for a full minute.If you are more advanced in your fitness, add a jump at the top of your squat and be sure to land with soft knees.FINL'S rise in sales was largely driven by an increase in store traffic, additional days of sale and a rise in comparable-store sales. The company reported an EPS of $1.59 in FY2012, an increase of around 26% from the previous year.Ain that a stinker?" Now, what if this happened every six months or so?Such is the landscape of search engine optimization, where the search engines are constantly changing the game, and the advice you find online, dating all the way back to 2005, may no longer be relevant. But even without an official release date, the http://www.nba2014seasons.com/... shoe seems to have leaked out into the marketplace. Ostensibly authentic versions are posted on EBay with a $400 price tag -- more than double the expected retail price of $175, and employees at one local boutique -- Flight Club Los Angeles on Fairfax Avenue -- claim to have already received (and sold) the store's entire allotment of the 2009 reissued Space Jams for $350 to $450 a pair.So what goes into making the clump of patent leather, plastic and fabric known as "Style Code:136046-041" so hotly The Football Association Challenge Cup, commonly known as the FA Cup, was founded in 1871 and is the oldest football knockout competition in the world. It includes the English Football League and Clubs as well as the six Welsh clubs. The first competition, season 1871-1872, had fifteen entries, more than 75
This has nothing to do with the original point of the thread, since you're showing a dependencies of a Gtk 2.x app (and doesn't involve anything from Gnome). OP was claiming that Gtk 3.x introduced dependencies on Gnome.
Don't forget high DPI issues on Windows. It seems like Chrome is still the only app that I actually use that's not high-DPI-aware and so gets bitmap upscaling.
The Chrome tab ordering is better. most-recently-used sucks when you have 20 tabs and have bounced around between them somewhat randomly (as is normal). It makes ctrl-tab completely unpredictable unless you're just jumping back one or two levels. The Chrome way is better.
The point is that Alt+Tab is most-recently-used-app pretty much everywhere, and Ctrl+Tab is most-recently-used-tab (or document) in all multitab apps. This actually makes a lot of sense when you have many tabs open, but are going back and forth between a few of them, e.g. copy pasting text or some such - as GP rightly notes, this is especially common once your tabs run "web apps" rather than just websites.
If you just want to switch to next/prev tab, there's already a shortcut for that, Ctrl+PageUp/Down. Ctrl+Tab is really meant to be the "switch to whatever I was using before" shortcut, fulfilling a different but also very common need.
If by "anything C++" you mean "anything that forces everyone else to use C++", he'd have very good reasons to be against it.
Qt has bindings to half a dozen different languages, from C# to Python.
FWIW, it's fairly easy to take a C++ library and wrap it in C.
"You must pay us upfront before you even start if you even think you might commercialize your software" is the acme of desperate opportunism (aka shark-jumping) and of an inflated sense of self-importance, and probably entirely unenforceable as a matter of copyright.
A BSD-licensed toolkit of usable quality would, indeed, correct Qt's attitude problem.
As to quality, have you ever built and ran gimp-1 prereleases? "Interesting" times....
/. -- the Free Republic of technology.
In my experience, I have an awful lot of tabs open. If my ctrl-tab/ctrl-shift-tab jumped to the last used tab, it would be a disorienting mess. Makes sense to alt-tab back and forth, but I remember when alt-tab used the old way of it, where we didn't have the most recently used application popping up. Sure made it a lot less frustrating back when we were using multiple applications do things and needed to switch between them without worrying about them randomly changing order in the task switcher. I swear kids these days don't know how to tell their computers what they want and expect them to just know.
Nooo..Bill Gates and Paul Allen wrote a BASIC interpreter on the school's PDP11 which they sold to Altair, which gave us the famous "computer club piracy" speech. Now one could argue whether or not the computer time was "stealing" but they got their BASIC commands from the same place everybody else did, Knuth and his books of the early 70s.
ACs don't waste your time replying, your posts are never seen by me.
This completely overlooks a very basic incompatibility that Qt has with C. The fact that it's written in C++, and while there are ways to bind C++ libraries to C, it's not exactly what one might call elegant. Qt has a lot of merits - it is absolutely not a replacement for a GUI toolkit used from C, which is what GIMP needed. Must remember that C++ was quite a bit less stable at the time. Make sure your .NET runtimes are up to date so you can draw colored rectangles into the Metro overlay.
> vanishingly small number of people
Seems like someone underestimates the gimp users.
None of this surprises me. It seems that every effort by Google is to create a captive market, even one that looks like it is using open standards, but really ins't. Google Docs comes to mind. In fact I think that Google Docs is managed by Microsoft or by Microsoft alumni around Office 2000 for market capture with a dumbed down legacy platform that only partly supports decade old standards. This is intentional, so it is no surprise that Google would try to roll it own GUI standard, even one that is based on X11 or QT.
Well a great truth is, we used to have issues with qt due to it's former license. IIRC, it used to be dual commercial/GPL. It isn't anymore.