Suggestion: Develop all platforms against Qt instead of GTK3.

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
on4aa

Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by on4aa » 2017-06-21, 15:25

Among Linux application developers, there is currently an enormous underswell growing against GTK3.
The GTK3 API is deliberately left unstable and will change every six months without offering any backwards compatibility.
The GNOME developers responsible for GTK3, openly admit not caring about the consequences of this behaviour for other independent Linux application developers.
Moreover, GNOME GUI developers are renowned to eliminate out of design purism certain GUI elements which are considered essential by many regular browser users.
See for example: https://askubuntu.com/q/927166/164341

By all means, following open letters should be considered before taking such an important decision:
- https://fosspost.org/2016/07/08/are-gtk-developers-destroying-linux-desktop-with-their-plans/
- https://pipedot.org/story/2014-07-09/the-future-of-gtk
- https://igurublog.wordpress.com/2012/11/05/gnome-et-al-rotting-in-threes/

IMHO, a serious swing of ordinary Linux users adopting Qt applications might be expected once LxQt becomes prime time.
Something very similar happened a couple of years ago when users left massively GNOME in favour of the XFCE and Mate desktop environments.

My suggestion would be to employ Qt5 rather than GTK3 for the following reasons:
- Developing once for the Qt5 toolkit would offer instant native widget support for Windows, Linux and Mac OS X.
- Qt5 is industrially stable and future proof, now with a permissive license.
- A browser like pale moon with XUL support and based on the Qt toolkit would make quite a statement in the IT world. It might even kill off Mozilla Firefox on their stupid decisions as of lately.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35479
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by Moonchild » 2017-06-21, 16:33

Qt on Windows is a disaster, so trying to develop "all platforms" against Qt is nonsense.

Then as far as the Linux corner is concerned: if people feel that GTK is a dead-end street and Qt support should be added and made default for Pale Moon and UXP applications later on, they have to jump in and start working on that. Our trees currently do not have stable or mature Qt code which will be required. Our team does not have Qt development knowledge, either.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Tomtiger
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: 2016-02-15, 09:44

Re: Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by Tomtiger » 2017-06-21, 18:27

Hi,

nice to read this. I wondered about the announcements regarding the UXP System requirements stating that only GTK+ 3 will be supported.

GTK+ 3 is a disaster, GTK+ 3 support has broken Linux Mint as well as Mate. It might be usable if someone likes a mobile phone look and feel on a desktop computer but it has a history of causing massive problems for developers.

Unfortunately I do not have a solution or suggestion, all is that I see that with Unity, Gnome 3, GTK+ 3, systemd - to mention just a few - Linux seems to go down the drain.

Tom

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35479
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by Moonchild » 2017-06-21, 21:48

General displeasure about Linux development aside (which we can't do anything about), we can only look at the developments that are currently on-going as well as what rendering code we already have in our tree, and make a "best compromise" choice what to focus on.
You may not like GTK3, but it will be the focus nonetheless because other alternatives look even worse (GTK2 being deprecated across the board which will mean UXP applications would become as much obsolete as an application as GTK2 will be, and Qt being unstable and not having any real proper code for it in our tree).
Any other engines besides GTK3 for UXP will require effort from the community to make happen. Your efforts will be welcomed, and if code is stable and mature enough, anyone is welcome to make specific builds using the engine of choice other than GTK3.

If "Linux goes down the drain" then Pale Moon or other applications built for it will go down the drain with it. Considering the large investments that are made for Desktop Linux by many people, I doubt that that is going to be likely, though.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

aegis

Re: Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by aegis » 2017-06-25, 21:07

Moonchild wrote:General displeasure about Linux development aside (which we can't do anything about), we can only look at the developments that are currently on-going as well as what rendering code we already have in our tree, and make a "best compromise" choice what to focus on.
You may not like GTK3, but it will be the focus nonetheless because other alternatives look even worse (GTK2 being deprecated across the board which will mean UXP applications would become as much obsolete as an application as GTK2 will be, and Qt being unstable and not having any real proper code for it in our tree).
Any other engines besides GTK3 for UXP will require effort from the community to make happen. Your efforts will be welcomed, and if code is stable and mature enough, anyone is welcome to make specific builds using the engine of choice other than GTK3.

If "Linux goes down the drain" then Pale Moon or other applications built for it will go down the drain with it. Considering the large investments that are made for Desktop Linux by many people, I doubt that that is going to be likely, though.
The big problem is that every new vesion of GTK will probably break the APIs and the interface, causing lot of graphical issues, that means much time and work by developers for fix these problems: so, a lot of time and strenghts wasted by developers for make their application able to work again.

I'm agree with a QT port in Linux, many devs are moving from GTK, like Budgie desktop devs.

filip

Re: Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by filip » 2017-06-25, 22:40

aegis wrote: The big problem is that every new vesion of GTK will probably break the APIs and the interface, causing lot of graphical issues, that means much time and work by developers for fix these problems: so, a lot of time and strenghts wasted by developers for make their application able to work again.

I'm agree with a QT port in Linux, many devs are moving from GTK, like Budgie desktop devs.
That should change with 3.26 ( or allready did with 3.22 ), which is going to be an LTS stable release ( and last from v3 ).
They came up with the idea of keeping major releases stable ( API and theming wise ) for two years once they reach .6 version, while developing ( and braking ) next one ( including the wierd versioning scheme :crazy: ).
See:
[1] https://wiki.gnome.org/Projects/GTK%2B/Lifecycle
[2] https://blogs.gnome.org/desrt/2016/06/1 ... not-gtk-4/
[3] https://blogs.gnome.org/desrt/2016/06/1 ... not-gtk-5/

To spare you the reading^, devs and theme makers would have to deal with changes and breakages once every two years, instead of with every (bloody) release.
Hard to believe I know, but let's hope they stick to their word and don't find other ways to f*ck things up. :roll: :mrgreen:

@QT:

Would be nice to have ( besides GTK ofc ). KDE guys would certanly appreciate it. :)

francesco bat

Re: Suggestion: Develop all platforms against Qt instead of GTK3.

Unread post by francesco bat » 2017-10-29, 00:54

Post interesting 8-)
I don't know... I'm probably saying a foolishness.
I also am in favor of qt; qt is developed to work with many applications and in more platforms, gtk is developed just Gnome staff and they want gtk works good with gnome and other do not care about them.
If it is difficult, i say.... it could to be possible to develop in x11 ?
It could to be crazy, but time ago i remember Opera could to start in qt mode, gtk mode and x11 from "opera:about".
Another example today it's also Dillo Browser.
In anyhow, i' m sorry if i said a foolishness :roll:
Bye
Francesco bat

Locked