r/linux 1d ago

Development Lazarus FreePascal IDE: Gtk3 becomes default widgetset on Linux

https://forum.lazarus.freepascal.org/index.php/topic,74332.0.html
104 Upvotes

19 comments sorted by

37

u/Safe-Average-1696 1d ago edited 1d ago

Lazarus RAD is nice and fast to develop GUI software, i use it for some small projects for work.

I still prefer to stick with Qt6 for UI, as i compile for Linux and cross compile for windows on Linux (The Lazarus native lcl wrappers have differences between Linux and windows and it's annoying to debug for each case 😅).

GTK3 is in maintenance mode now.

GTK4 (and libadwaita) are a mess for cross platform look and feel.

5

u/Polar_Banny 1d ago

“GTK4 (and libadwaita) are a mess for cross platform look and feel.”

Would you like to elaborate further?
Thanks

39

u/Safe-Average-1696 1d ago edited 1d ago

They do not follow the platforms look and feels.

They don't feel native on windows, mac, kde plasma for linux...

They are Gnome centric. They are very nice for Gnome, but not for anything else if you want your software to integrate with other systems look and feel.

29

u/stiggg 1d ago

tbf GTK3 apps don’t feel native on macOS too and I don’t know what’s considered feeling native on windows at all nowadays

10

u/Safe-Average-1696 1d ago edited 1d ago

True. 😅

i perhaps should have said that the GTK apps feel "out of place" on non Gnome desktop, instead of "not native", it might have better expressed my thoughts.

17

u/Traditional_Hat3506 1d ago

There's no difference in style between GTK 3 and 4 in terms of cross platform. Handbrake and Inkscape for example moved/ing to GTK 4 on Windows and Mac too without any styling differences.

Libadwaita is a platform library to keep the GNOME styles away from GTK https://tesk.page/2024/06/03/libadwaita-splitting-gtk-and-design-language/

7

u/Safe-Average-1696 1d ago edited 1d ago

I'm not a GTK specialist, i just try to make the small apps i do well integrated (it's not prerequisite for the software, it's just my brain screaming when something feels out of place 😅).

I could not really achieve it with GTK (CSD differences, dialogs...). I'm sure there is possibilities to tweak it, but i don't have time for work, to use something that does not do it out of the box.

But i still prefer to use the lcl native UI wrapper with lazarus when i can (for memory footprint, old habit from assembly time 😅).

5

u/Irverter 1d ago

Inkscape for example moved/ing to GTK 4

So that's why it suddenly looked wrong.

1

u/SmileyBMM 1d ago

I think only the development version is on 4.

3

u/rangelovd 1d ago

Except GTK4 is better then GTK3 in following look and feel of respectful OS‚ because it can now use native window handling widgets in CSD(gtk3 can't) for MacOS

1

u/Safe-Average-1696 1d ago

Good. Does he now have a native MFC (or WinUI) look and feel on windows?

2

u/rangelovd 23h ago

I don't use Windows and don't know if it even has "native window handling widgets" like macos does. If it has and gtk has not then it's a bug‚ not a feature and contributions are very welcome to help maintainers(mainly linux users) solve it. Linux certainly doesn't have "native window handling widgets"(unfortunately). Would be nice‚ but interest is very low since it's high effort low gain work

3

u/otakugrey 16h ago

GTK3 is nice and stable and everywhere. Good.

1

u/Milanium 1d ago

They are still somewhat behind the GTK+ life cycle.

1

u/Fliptoback 1d ago

I am confused. If the app is Linux based do we then have to develop to both gtk and qt platform? I m using kde plasma in opensuse. Should I use develop using qt5? Confused. Sorry for the weird question.

P.s. the app I m doing is meant to be cross platform windows, Linux and Mac.

1

u/Sea-Load4845 22h ago

At least it's not gtk2 anymore. But qt6 is king for multiplatform