Gtk sucks because...

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

Gtk sucks because...

#1 Post by technosaurus »

Gnome-isms like hardcoding gnome-terminal, using gnomevfs to handle urls... (apparently they never heard of getenv for TERM / BROWSER)

Backward / Forward compatibility

Renaming superfluously

Useless functions that return a property of a struct, a constant value or the return of a single function

Really bad default properties like not being able to middleclick or scroll on a status icon or set the background image in gtkiconview ... they added code that removes functionality in those cases

Not thread friendly ... What happened to the xcb port or even cairo transition

Not pretty - have to use gtkrc and now css to make it not ugly or even ldpreload a better file chooser

Multiple different callback / handler formats makes it a pita to do default handlers ... Just type and a union of structs would allow a single form like handle(type, union, data) with switch(type) and drastically simplify glade gui interaction.

Changing default behaviors ... Ex. Gtkbuilder now requires a different function to get object names

What else am I forgetting?
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#2 Post by 01micko »

+1
Puppy Linux Blog - contact me for access

User avatar
Q5sys
Posts: 1105
Joined: Thu 11 Dec 2008, 19:49
Contact:

#3 Post by Q5sys »

Do you guys think we should start using QT in place of gtk going forward?
I'm asking speficially with respect to Puppy and the greater linux community.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#4 Post by 01micko »

Pure QT puppy would be an interesting project, obviously a bit heavier though, but then compared to gtk3 (which does need css for theming, and is a nightmare) then not so.

As for lighter pups there's xlib, fltk, sdl and others. I remember Thunor jesting about an sdl-dialog, it would be right up his alley being an old school games programmer.
Puppy Linux Blog - contact me for access

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#5 Post by Karl Godt »

Qt4 not that ugly grayish interface anymore ?
fltk was also ugly as i remember .

There are so many libraries or programs that could need some fixes it seems :cry:

curses became new curses ..

gtk-2.0 ngtk-2.0 ?

curses
curses
..

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#6 Post by 01micko »

Karl Godt wrote:Qt4 not that ugly grayish interface anymore ?
fltk was also ugly as i remember .

There are so many libraries or programs that could need some fixes it seems :cry:

curses became new curses ..

gtk-2.0 ngtk-2.0 ?

curses
curses
..
You need to use Slackware.. all gui are in .. dialog!
Puppy Linux Blog - contact me for access

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#7 Post by mikeb »

Has gtk ever not sucked.... ? I hate working with it in C and always thought it was clumsy in appearance. One has found ways to make it palatable as have others....not sure why gnu has this tendancy towards pug ugly interfaces that make windows 95 look sophisticated.

Gtk1...perhaps life was simpler then...it certainly is faster... I even tried a gtk1 build of firefox which actually worked nicely apart from inability to run newer flashplayer... oh boo hoo.

qt4...hmm the feel i get is that they fiddle around annoying too.

win32...now there's and interface you can rely on... wonder why there was some much software built for it.

Thanks for a thread to have a rant in :D

mike

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#8 Post by amigo »

techno, are you gonna finally break down now and fix & modernize gtk1 a bit for us???? LOL.

It would be easy to conclude that I love gtk1, but it has always been my choice because it's the only lightweight toolkit which has achieved nearly universal use and had lots of programs written for it.

In my next life I'm gonna concentrate on using C, so I can finally fix gtk1 so it handles bidirectional text and can use a very few functions which only came in with gtk2. I have some interesting "extensions" to gtk1 in my collection - gtkextra from the original devs, a gtk1-gnome-canvas and 'easygtk' wrapper libs for complex widgets like wizards, etc.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#9 Post by technosaurus »

Just to be clear Qt suffers from the same sucks plus the c++ name mangling makes it even less portable.

Mark Tyler (of mtpaint, mtcelledit) did a nice job modernizing gtk1 into mtk, but then went and gpl3d it (not even lgpl) so that killed it at least for me.

Actually gtk2 wasnt too bad until they went to cairo (wjaguar still uses 2.6 with patches for the win32 build of mtpaint iirc)

...at least the suckinezz of gtk is well documented with lots of workaround examples

Btw maybe someone can tell me why button and scroll events dont work in x11 (the source says it is "platform dependent") ... Only popup and activate for right and left clicks ... Same amount of code (or more) for 2/7 the functionality not to mention obliterating any way of doing keypress events directly.

Or why gtkiconview forcibly draws a background color with no means of using an image or making it transparent so the parent window image is used.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#10 Post by sunburnt »

And just wait until they change it once more and half your stuff stops working yet again.
They`re all about Gimp and don`t care about much of anything else is my understanding.

A good reason for Linux stagnation, relying on unreliable dependencies. Stability now.

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#11 Post by jpeps »

technosaurus wrote:Just to be clear Qt suffers from the same sucks plus the c++ name mangling makes it even less portable
I don't know why differing naming conventions amongst compilers would make the application less portable. QT apps are, in fact, quite portable. You're comparing QT with gtk1? hmm... Skype uses QT..maybe they should rebuild it in gtk1 cause it's not portable.

Every GUI toolkit has its pros and cons. The key is to find the right one that fits what you're trying to do....also having the experience working with a particular tool. How many years have you spent developing with QT?

I currently am enjoying Swing, because it works well with Eclipse and I already have JDK installed on my computers. Tons of libraries, automatic error checking, a variety of layout managers, gui acceleration, etc., etc., make it fun and easy to work with. Probably Fx2 is better, but the app doesn't know that. Probably many developers would prefer QT, although C++ might be getting dated at this point. Swing is definitely dated and it's not difficult to find reported bugs as with anything mildly complex in the technology world.
just to be clear, computers suck

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

Gtk sucks because...

#12 Post by Monsie »

01micko wrote:
Karl Godt wrote:Qt4 not that ugly grayish interface anymore ?
fltk was also ugly as i remember .

There are so many libraries or programs that could need some fixes it seems :cry:

curses became new curses ..

gtk-2.0 ngtk-2.0 ?

curses
curses
..
You need to use Slackware.. all gui are in .. dialog!
Mick,

Would that not be Xdialog?

Just checking, :)
Monsie
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

Re: Gtk sucks because...

#13 Post by 01micko »

Monsie wrote:Mick,

Would that not be Xdialog?

Just checking, :)
Monsie
Nope. :wink:

Code: Select all

# ldd `which dialog`|grep curses
	libncursesw.so.5 => /lib/libncursesw.so.5 (0xb76fa000)
Puppy Linux Blog - contact me for access

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#14 Post by technosaurus »

jpeps wrote:
technosaurus wrote:Just to be clear Qt suffers from the same sucks plus the c++ name mangling makes it even less portable
I don't know why differing naming conventions amongst compilers would make the application less portable. QT apps are, in fact, quite portable. You're comparing QT with gtk1? hmm... Skype uses QT..maybe they should rebuild it in gtk1 cause it's not portable.

Every GUI toolkit has its pros and cons. The key is to find the right one that fits what you're trying to do....also having the experience working with a particular tool. How many years have you spent developing with QT?

I currently am enjoying Swing, because it works well with Eclipse and I already have JDK installed on my computers. Tons of libraries, automatic error checking, a variety of layout managers, gui acceleration, etc., etc., make it fun and easy to work with. Probably Fx2 is better, but the app doesn't know that. Probably many developers would prefer QT, although C++ might be getting dated at this point. Swing is definitely dated and it's not difficult to find reported bugs as with anything mildly complex in the technology world.
just to be clear, computers suck
I dont/wont "develop" in qt, just fix crap to make it build or otherwise function if there is no c/gtk-based alternative.
Because...
Re name mangling, c++ apps dont compile like c with symbol names == function names and it breaks shit all the time... I for one dont want to rebuild my whole system any time a minor tweak is made.
and in c it is easier to find a target area of source (dont need to track classes all over just grep _something_ *)

Swing/fx arent even in the ballpark of light weight. I dont want/need the overhead of a whole vm just to draw some interactable pretty pictures. And now that llvm is stable, java is redundant altogether.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#15 Post by mikeb »

Does convenience for programmers have to mean buggy bloat for the user and constantly having to update the runtime?
just to be clear, computers suck
hmm I would think that its software making the difference here... hardware does not bloat itself or produce buggy code or compund errors. Most machines end up in skips because of software failure or changes not hardware.

If the rants come back to gtk2 I think my biggest pain is they constantly fiddle with function names (the functions are often unchanged) breaking code.... if a developer has to spend all his time fixing his sources to work with this weeks gui incarnation then less time is spent on developing software, fixing other bugs and implementing new ideas. Again there are some amazing programs available in the windows world and a consistant gui is partially responsible.

I also think there is often obfustication of languages to make programming some sort of elitist persuit...keep the salaries high In the commercial world. I seem to recall the early home computers being pieces of hardware with a rom based operating system and the user wrote the software him or her self.

Expand GTK1...well a good starting point. Some seem to swear by wxwidgets..... perhaps it makes handling gtk2 a little bit easier..

Make your cat wear a bell on its collar... help it be a pet not vermin

have fun
mike

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#16 Post by 01micko »

mikeb wrote:Does convenience for programmers have to mean buggy bloat for the user and constantly having to update the runtime?
Would that include .NET?

-

about gtk(+2) .. yelp! Probably the worst bloated crap, good for nothing part of the whole thing, easily patched with about 5 lines to use something else.
Puppy Linux Blog - contact me for access

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#17 Post by mikeb »

gvfs or gconf
hmm did build gnome-mplayer with those disabled in ./configure.
Actually I tend to compile on older systems and its amazing how much crap is not dragged in that way and magically an old glibc works just fine. I assume such as debian force the glibc version.

Yes .NET must be included...microsofts version of java I believe..... like directx and opengl. Actually Bills gang should stick to other companies writing their software for them... its much better when they do.

Oh no Windows crept into a rant thread...we are all doomed....

So binaries like gtkdialog and yad to help bridge the gtk2 - human gap.... opinions please :D

mike

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#18 Post by 01micko »

So binaries like gtkdialog and yad to help bridge the gtk2 - human gap.... opinions please
Simple markup could be an option... (svg? +css?) .. gtkdialog, yad, xdialog, zenity all suffer the same parent problems.
Puppy Linux Blog - contact me for access

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#19 Post by mikeb »

gtkdialog, yad, xdialog, zenity all suffer the same parent problems.
I think we all have that to some extent :D

Perhaps using a mind link would be a good move..I mean they do it on star trek all the time so it must be possible....?

mike

jpeps
Posts: 3179
Joined: Sat 31 May 2008, 19:00

#20 Post by jpeps »

technosaurus wrote: Re name mangling, c++ apps dont compile like c with symbol names == function names and it breaks shit all the time
The point is just the opposite...to keep redundant variable names from breaking the system. It's probably best to use unique names to begin with. Judging from the ongoing number of fixes, I guess I could say the same thing about the vim editor.
I dont want/need the overhead of a whole vm just to draw some interactable pretty pictures.
If that's all you're creating, you're right not to use a vm; must be why nobody is using Android. Regarding resources, there have been a few minor improvements in the last 20 years; check it out.

And now that llvm is stable, java is redundant altogether.
I'll submit your announcement to the world immediately.

Post Reply