Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

gtk - garbage toolkit

Name: Anonymous 2015-05-02 23:40

GTk is bloated trash due to its dependencies like GLib, cairo and DBus.
Qt4/5 is equally bloated C++ garbage.

OpenVG used to be a saner alternative to cairo, but it's fallen by the wayside and support for it in Gallium has been dropped and might end up getting removed from Mesa in the future.

So if you were to throw away gtk and qt, and starting from first principles, how would you go about building a minimalist themable widget library on top of GL/GLES for Wayland that can be used to build a desktop where applications have a common look-and-feel?

Name: Anonymous 2015-05-02 23:44

Put the common GUI shit in SystemUI.apk

Name: Anonymous 2015-05-03 0:07

if you were to throw away gtk and qt, and starting from first principles

I investigated this and it was too hard to make things not look terrible when resizing

GL/GLES
Wayland

why did you start out so great and then turn into shit

Name: Anonymous 2015-05-03 0:12

>>3
All the food I eat starts out great but then turns into shit.

Name: Anonymous 2015-05-03 0:17

>>3
I investigated this and it was too hard to make things not look terrible when resizing
Yes, layout is big problem, not sure if there's a minimalist approach.

why did you start out so great and then turn into shit
What would you propose? Build it on top of DRM and just do software rendering into a framebuffer? How is that not shit?

Wayland is a lot smaller to X11. The only problems with GL/GLES I can see are the fact that the underlying shader compiler usually brings in Clang/LLVM. Even nVidia, AMD's, and Intel binary blob drivers use Clang/LLVM internally. But if you want GPU accelerated rendering, that's what you have to use, until Vulkan becomes available, and that will also use Clang/LLVM.

Name: Anonymous 2015-05-03 0:24

>>5
imo it should be X (via xcb) because that's what linux uses.

things like wayland are a joke <https://pbs.twimg.com/media/BIAQC0SCYAAaKgi.jpg> and the points you made about GL were a great reason to avoid it.

Name: Anonymous 2015-05-03 0:29

Use Tcl/Tk, or just plain Xlib, or maybe XCB, or wxWidgets.

Name: Anonymous 2015-05-03 0:30

>>7
Tcl/Tk
this is somewhat good

plain Xlib, or maybe XCB
this is the library that you would implement a widget toolkit in terms of, but it seems to be extremely difficult to do this. The information is not available these days.

Name: Anonymous 2015-05-03 0:38

>>6
Rotated windows are retarded, yes, but that's not what Wayland is about. It's about flickr free rendering where you don't see shit getting redrawn. I don't understand why you'd want to stick with X for that?

As for GL/GLES, most people are already running it in the background with their X based installations, unless you're using VESA or fbdev drivers, or something equally shit.

Name: Anonymous 2015-05-03 0:41

>>8
Xlib is pretty ugly, but it's not difficult to learn. Other alternatives are Xaw and Lesstif.

Name: Anonymous 2015-05-03 0:42

>>7
I am very interested in Tk. Is there a way to use it from pure C? All information to be found on that topic seems to tell you to start a Tcl interpreter.

Name: Anonymous 2015-05-03 0:48

>>6
imo it should be X (via xcb) because that's what linux uses.

This implies that it's the Linux or UNIX way. Thing is, X isn't very UNIX-like. It's over 500,000 lines of bloat (not counting the extra Motif stuff, which adds on another 500,000 lines) that tries to do way to many different things, and does most of them poorly.

Name: Anonymous 2015-05-03 1:14

xcb is terrible. Please avoid it.

Name: Anonymous 2015-05-03 2:00

>>13
why is it terrible?

Name: Anonymous 2015-05-03 3:50

>>11
Use Tcl, it's homoiconic.

Name: Anonymous 2015-05-03 4:26

>>15
Its homoironic

Name: Anonymous 2015-05-03 11:22

>>5
Your GUI should not be so complicated and bloated that hardware acceleration should make any difference to performance.
99% of the time your GUI code should be idle anyway, only redraw when something changes.

Name: Cudder !cXCudderUE 2015-05-03 13:49

Win32 is superior.

Name: Anonymous 2015-05-03 21:12

Dunno about the others, but the dumbest thing IMHO about GTK is that it doesn't use the standard file dialogs on Windows or OSX. I understand that it's pretty much impossible for a cross-platform GUI toolkit to feel "native" but holy shit, you have to draw the line somewhere.

Speaking of which, there really should have been some kind of freedesktop.org standard that allows you to register your own file dialog (either by creating a separate process, or with some kind of bloated bullshit IPC solution). It's really dumb that GTK and Qt apps have to use different file dialogs.

Name: Anonymous 2015-05-03 21:15

my dubs are superior.

Name: Anonymous 2015-05-03 21:41

>>20
check these dubs now

Name: Anonymous 2015-05-03 21:46

>>20
>>21
youll cowards don't even dubs

Name: Anonymous 2015-05-03 21:50

>>22
Optimise your quotes, 「下さい」.

Name: Cudder !cXCudderUE 2015-05-04 4:26

>>19
I understand that it's pretty much impossible for a cross-platform GUI toolkit to feel "native"
No it's not, you just use the platform's widgets. The only difference in feel will be how slow and memory-consuming the UI becomes, but that is a common feature of cross-platform stuff and it will still look exactly like the native one, because it's just a bloated wrapper around it.

The real problem is that on Linux, there is no "native" set of UI common dialogs. Perhaps the ones from WINE could be used.

Name: Anonymous 2015-05-04 4:41

>>24
The real problem is that on Linux, there is no "native" set of UI common dialogs.

There's (almost) always a native toolkit, but you can't know in advance. It's not a problem though. Use Qt and it will look fine and work better than non-Qt apps. This goes for Windows and MacOS too.

Plus if you use Qt you will probably get D-Bus correct as a side-effect and I can automate your shitty software through D-Bus calls so I won't have to touch it myself. Yeah, D-Bus is a horrorshow, but it works and it has the most cross-platform presence of the available rpc mechanisms.

Name: Anonymous 2015-05-04 4:52

>>24,25
Why not just draw everything with OpenGL? That's pretty cross platform. Just keep a directory of PNG files of the widgets that you need.

Name: Anonymous 2015-05-04 5:33

>>19,24,25
Multi-platform or native look-and-feel isn't a concern of the OP. The concern is creating a set of light-weight reusable UI widgets that does away with the baggage of X, yet gives you a standardized yet minimalist toolkit with which to build a functional alternative desktop, without going down the same SystemDiseased path that GTk and QT developers are heading.

What I'm trying to envision is a future for us where we don't have to bend the knee to shitty bloated software when it comes to our choice of desktop.

Name: Anonymous 2015-05-04 5:36

>>25
Also, for the record, it was recently announced by Qt developers that SystemD will become a hard dependency of Qt within 5-6 months. Time is running out.

Name: Anonymous 2015-05-04 5:41

>>26
It's not as simply as that. If you want to allow UI components to resize themselves, you need to define margins and regions within the raw PNG textures that are resizable and other regions that remain fixed, which means you need to use geometry that is more complex than simple rectangles, which means you need to also bundle code to generate that geometry in a standardized fashion within a toolkit library that would be utilized by all desktop programs desiring the same look-and-feel/theme. And you also need to take layout into account as well.

Name: Cudder !cXCudderUE 2015-05-04 6:23

Just keep a directory of PNG files of the widgets that you need.
DO NOT WANT

That's the sort of idiocy that leads to several MB of bitmaps just for some fucking gradients.

Name: Anonymous 2015-05-04 12:18

>>27
it's too bad the suckless people can't make a gui toolkit (they tried)

Name: Anonymous 2015-05-04 15:02

>>31
Is there a link somewhere to the defunct repository for this project?

Name: Anonymous 2015-05-04 15:06

>>30
And agreed. This just leads to a situation where graphical designers take over and demand more tools to allow them to create more bitmaps and bloated content for their various themes.

The ideal non-shit way would be to keep non-technicals out, and you do this by forcing everything to be designed programmatically, and all content to be procedurally generated (results can be cached in a texture atlas for fast rendering).

Name: Anonymous 2015-05-04 15:20

Screw this GUI bullshit, focus on the new browser, browsers are more important for muh privacy 'n friedom.

Name: Anonymous 2015-05-04 15:28

>>34
What do you think we'll build the new browser GUI with, fucknuts?

Name: Anonymous 2015-05-04 15:29

>>34
Most browsers use Webkit/GTk. If you want a non-shit browser, you need to write a backend for Webkit that doesn't use GTk. This is about creating a new browser.

Name: Anonymous 2015-05-04 17:04

>>36
I'd prefer to use the shitty GTK with a good browser (that means non-Webkit) over a shitty browser (any currently popular engines) running in a good GUI framework.

Name: Anonymous 2015-05-04 23:08

Qt is the best of all those. Declarative UI design, JS scripting and qtcreator/qmake makes Desktop UI development less annoying.

Name: Anonymous 2015-05-05 1:08

>>36
Most browsers use Webkit/GTk.
Just what is ``most''? You mean Firefox does. Chrome bailed a year ago. Opera used Qt for things it didn't write itself. I don't know what Internet Explorer used, but I would be highly surprised if it was GNU garbage. Maxathon? Is that even still around? That new browser that fired Opera engineers are making uses JS to render the UI. That Opera splinter group, Otter Browser, uses Qt. Probably Lynx and Links use curses. Websurf, I don't have a clue about, but lets say it is GTK, that's what? Two out of ten? (I wasn't counting).

Name: Anonymous 2015-05-05 1:48

>>38
Qt is the best
JS scripting
is u srs nigga

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List