4 ms·
Use QT if you want stable API. GTK3 breaks compatibility even at minor releases.
by jkot 10y ago
Use QT if you want stable API. GTK3 breaks compatibility even at minor releases.
- kuschku 10y agoSadly, both Firefox and Chromium still run on GTK3. Especially Firefox is annoying, as their recent update to Gtk 3.20 broke a lot of things for me. If they could just use Qt instead... but nooo...
- digi_owl 10y agoI jumped to the extended support channel, knowing it would come. Ironically this means that Firefox on Windows have better backwards compatibility (XP) than Firefox on Linux. If push comes to shove i am pondering moving to Seamonkey.
- qu4z-2 10y agoWhy is that ironic? Windows makes backwards compatibility a priority, Linux... doesn't. Well, Linux does, but the userspace not so much.
- kuschku 10y agoWell, the userspace actually isn’t that bad either – if you stay away from Gnome and Gtk. The KDE and Qt side of userland tends to be a lot more stable – I’ve got a version of Skype here using a Qt version from several years ago – which still runs nicely, and without issues, and with the old version even automatically using the theme I’ve set in Qt5.6.
- zanny 10y agoThere is always Qupzilla[1], which is just Qt Web Engine with good Qt UI wrappings. I believe webrtc and even widevine works with it. [1]http://www.qupzilla.com/ http://www.qupzilla.com/ Its basically just pretty Chrome through Qt.
- kuschku 10y agoExcept, it still doesn’t provide a UI customizable with CSS, HTML + JS, doesn’t run firefox addons, and is generally inferior. Sadly, it looks like Firefox will soon not do either of those things anymore.
- zanny 10y agoIts a Qt app. Why would you ever want to edit its UI with CSS? Its UI is controlled by the Qt widget and color themes. While its not a Qt specific feature, KDE applications let you drag and drop pretty much every element of every applications interface wherever you want and however you want. While it doesn't have an app ecosystem, it has an extensions API and they have already ported adblock and greasemonkey over. The amount of insane work required to make it work with either Firefox or Chrome extensions, none of which were meant to operate outside the UI architecture of their host environments, cannot be reasonably considered a major flaw. A disadvantage, but it is the cost of using a native UI toolkit instead of writing your own from scratch like Firefox / Chromium do.
- kuschku 10y agoWell, because I want Firefox addons, because I want to be able to add tab previews just with an addon, or redesign the entire UI with an addon, or have tree style tabs. I want to be able to write an addon integrating with a custom server for storage of browser history, or an addon that allows me to tag history entries. I want to be able to add entire websites in iframes to the UI – for example, as small windows floating in the bottom containing an audio player widget. That’s why I use Firefox in the first place. Sadly, half of its UI is unusable thanks to GTK.
- microcolonel 10y agoChromium is on GTK+ 2 btw. I actually like GTK+ 3 applications, but honestly Chromium should just use ozone on X11; they only actually use GTK for text boxes, buttons, and context menus. The only tricky bit would be getting input methods working correctly.
- krakensden 10y agoThe Chrome team wrote their own UI ticket called Aura, they use that now. It is OK, but has had rendering artifact problems and has mildly broken multitouch support.
- digi_owl 10y agoSadly another example of the power of the profit motive?
- zanny 10y agoMore like The Qt Company has business commitments which means they cannot do dumb shit. 5.7 just open sourced the vast majority of their proprietary extensions, and the whole thing is now available under LGPLv3 or GPLv2 or later, which is about as free as it gets.
- dmytroi 10y agoQt was really stable for last years, indeed Qt 3.x -> Qt 4.x was a painful migration, but they learned their lesson and Qt 4.x -> 5.x was pretty much as smooth as it gets. For simple apps you can mostly migrate from 5.0 all the way up to 5.6 without changing any lines of code.