[ / / / / / / / / / / / / / ] [ dir / agatha2 / arepa / caco / chemo / general / marx / mde / vg ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Email
Comment *
File
Select/drop/paste files here
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

[–]

 No.987182>>987271 >>987363 >>987492 >>987784 >>987829 >>994654 [Watch Thread][Show All Posts]

What's your favorite GUI API and why?

Gtk+? Qt? Fltk? Tk?

 No.987183>>987184 >>987193 >>987269 >>987277

ncurses


 No.987184>>987185 >>987627

>>987183

>and why?


 No.987185>>987186

>>987184

Because I'm a 1337 h4x0r and do everything in the terminal


 No.987186

>>987185

Me too but sometimes I need more graphix and pixels than a 24x80 terminal can afford.


 No.987193

>>987183

For when you want a GUI but at really really shit resolution. Ncurses is just for larping.


 No.987269

>>987183

>he doesn't exclusively use linemode

ed is underrated tbh


 No.987271>>987292

>>987182 (OP)

Standard Input because shit thread


 No.987277

>>987183

/thread


 No.987279

I use ECMA-48 with libraries I wrote myself, because everything else is too damn complicated.

I never even gave Ncurses more than a short glance. There's too many strange quirks there as well. I don't need support for terminals that no longer exist.

The only unfortunate aspect is testing programs across many terminals to make certain they all support the subset of ECMA-48 you use.


 No.987292>>987322 >>987323

>>987271

I don't understand. stdin is not an API. It's a read-only FILE* wrapper around file descriptor 0. Being read-only there's no way to do output using only standard input.


 No.987322

>>987292

obv he also means stderr stdout faggot


 No.987323

>>987292

exec <>file, faggot


 No.987340

DRM-KMS framebuffer. all those "widget tooklits" are fuckin aids. everything should be rewritten


 No.987363

>>987182 (OP)

Electron

datamine thread


 No.987480

File (hide): 92ce92760a2ccff⋯.jpg (133.92 KB, 654x435, 218:145, tvQNX-pterm-photon.jpg) (h) (u)

The Borland TUI is my favorite, but not very well supported in modern OS. There's a couple old related projects on sourceforge, but no idea if they even build anymore.

https://sourceforge.net/projects/tvision/

http://sourceforge.net/projects/twin/

http://sourceforge.net/projects/vwm/


 No.987483>>987517

python3 with tk feels bloated in terms of how much ram is required to run a simple GUI. Anyone know if it is python3 or the tk modules/library sponging up the ram?

Would reprogramming the gui process in C & Qt be the easiest on ram usage? Or maybe some other combination?

C & Gtk maybe? Not enough personal experience to know which language & GUI API will request in a minimal process using tiny ram and low cpu.

Advice appreciated.


 No.987492>>987517

>>987182 (OP)

GTK+3. Qt and KDE are bloats.


 No.987517>>987559

>>987483

Not knowing what your program is doing I can't say.

If you go C then Gtk+ is about your only option.

If you're using C++ or Python then either is about the same and mostly depends on preference and licensing. I have trouble picking between them myself usually. I'd suggest gtkmm over Gtk+ if you're using C++.

If all you need is a simple light functional GUI in C++ then maybe FLTK. It can look like butt sometimes but it's not as bad as tk imo.

I'd say that FLTK is the lighter and easiest to learn. fliud (the UI designer) is well made and spurts out regular C++. glade and designer generate xml that has to be processed at runtime but it's portable to whatever language you're using.

>>987492

I used to think that too, but then I started writing Qt when GTK+3 came out and it later started doing things that annoy me.

I'll agree that KDE is just bloaty garbage but so is GNOME (every version). But Qt != KDE && Gtk+ != GNOME.

I still write Gtk mostly though but that may change.


 No.987519

Thoughts on wxWidgets?


 No.987541

rio


 No.987559>>987782

>>987517

GTK is Gnome. QT is bloated as fuck you need like 2GB of space to install it.


 No.987627>>987662

>>987184

Because it's as much GUI as can be needed, and no more. Anything more is therefore pure bloat, and even curses can be bloat for many applications.


 No.987659

File (hide): 56036155ee90af3⋯.png (61.94 KB, 354x504, 59:84, 1539161720552.png) (h) (u)

>GUI

Kek'd

Btw, CIA thread


 No.987662

>>987627

It's always hilarious when dilettantes claim that ncurses is minimal. Eat a shoe nigger.


 No.987672>>987693 >>987695

I have written a library in C and I want a GUI that's just a thin wrapper around the library. The library does all the heavy lifting, the new code would just be writing the GUI and hooking it up to the library.

What is my best choice for a GUI framework. I want something that supports drag&dropping a file into the GUI to get its file path, and dragging&dropping a file out of the gui onto the desktop or into a file manager.


 No.987693

>>987672

your going to get fucked into using Gtk, just get used to it

also enjoy rewriting all your code from C to GTK/C


 No.987695>>987703

>>987672

in reality though use gtk but keep your library completely seperate from anything that is infected with gtk

if you want to test with valgrind/memcheck or whatever you'll have fun with gtk

https://wiki.gnome.org/Valgrind

gtk throws constant memory leak errors and gnome's response is just suppress the errors, but the suppression garbage they give you only suppresses 25% so have fun digging through a sea of gnome memory leak errors to find yours.


 No.987703>>987707

>>987695

TBH because of shit like this QT is the only viable native GUI API around these days. And that's only because they have commercial licenses bringing in a shit ton of money.


 No.987707>>987709 >>987710 >>987782

>>987703

Qt is 10x as much bloat as Gtk is (and Gtk loves the bloat) and it's only C++, you can't use it from C.


 No.987708

File (hide): 9cbc66564cb9465⋯.jpg (139.26 KB, 900x820, 45:41, 1539589737248.jpg) (h) (u)

Is ncurses still the best for text interface programming?


 No.987709>>987819

>>987707

If by bloat you mean works then yes it does. Don't mix the 350 pound body builder for the 350 pound land whale. You faggots think byte count is what bloat is.


 No.987710>>987716 >>987782

>>987707

It's not even standard C++. A precompilation step is required.


 No.987716

>>987710

>using a shit ton of macro hacks to generate c is okay

>using another program to do it for c++ is not

okay bud


 No.987782

>>987710

If you're going to compare evils I'd say C macro abuse is way more evil than machine generated code.

>>987559

>Gtk is Gnome

That's like saying NSPR is Firefox.

>QT is bloated as fuck you need like 2GB of space to install it.

Where are you getting that number. I'm seeing nothing close to that.

>>987707

>you can't use it from C

Sure you can. I've called C++/Qt from Go using C wrappers as a go-between. I mostly wanted to see what would be involved


 No.987784>>987793

>>987182 (OP)

bootstrap and jquery

the future is web everywhere

"native" apps can just be web apps in wrappers like electron

I unironically like web frontend development over boomer shit like Qt or GTK+ because it's much easier to make what you want

the only issue is performance


 No.987793>>987795

>>987784

>the only issue is performance

That's a pretty big fucking issue


 No.987795>>987798 >>988160

>>987793

some things require really high performance (games, 3D graphics, video rendering, etc)

some things do not, because they aren't very computationally-intensive to begin with, so slight performance degradation doesn't matter that much, especially when processors continue to get faster

at this point, it's important to save developer time, not just CPU time


 No.987798>>987800

>>987795

You are a cancer. You are the reason why everything is slowing down. 1 hour of developer time "saved" could mean months of user time wasted, directly or indirectly.


 No.987800

>>987798

Users don't give a fuck. Developer time is expensive as hell. If users actually cared they would use non bloated shit (that has no features).


 No.987819>>987820

>>987709

By bloat I mean feature bloat. Qt is more than GUI, it's fucking everything. Look at retroshare, and look at retroshare's shitty performance and memory leaks.

It's because they went balls deep into Qt.

I mean look at this shit

https://doc.qt.io/qt-5/qtmodules.html

networking, 3d, bluetooth, dbus, gamepad, nfc, javascript, webengine, SQL, threads

I guess it's cool to just use one mega library that does everything you could ever need ever, but i doubt it's the most efficient thing.

retroshare does this and it runs like shit.


 No.987820

>>987819

>one piece of shit written by slavs is bad so this means it's QTs fault


 No.987825>>987826 >>987834 >>987840 >>988160

nuklear

Pure ANSI C. Just one header file. Beautiful results.

QT, wxWidgets and all the others can go suck a big fat dick.


 No.987826>>987833

>>987825

>public domain

glorious it looks perfect, now if only a single program used it


 No.987829

>>987182 (OP)

BGI, only I can program it at the company. Everyone has to come to me for help and nobody has really much documentation for it because I stole it all early on and keep it all at home.


 No.987833>>987834 >>987837

>>987826

>now if only a single program used it

<go make one

But in all honesty:

imGUI and to some extent nuklear is used in a TON of ingame guis. Famously Blizzard dumped a ton of money into imGUI.

On the Desktop side I've some stray smaller apps use it.

Also I work in the medical field, on propriety software though.


 No.987834>>987835

File (hide): 0c63b5b3bb3c209⋯.png (764.97 KB, 1049x799, 1049:799, gaymes.png) (h) (u)

>>987825

looks awesome thanks for the suggestion

https://github.com/vurtun/nuklear

>>987833

>if only a single program used it

the screenshot's they are presenting seem to suggest some call of duty game used it for the menu (3rd pic)


 No.987835

>>987834

Have only good experiences with it.

>some call of duty game used it for the menu

Stop tripping. That's a demo screenshot to show how UI customizing might mimic games, it didn't get used by any call of duty.


 No.987837>>987838

>>987833

>imGUI

>c++

>"bloat free"

lol dropped


 No.987838

>>987837

The reason I'm not using imGUI,

nuklear is pure ANSI C


 No.987839>>988308

I'm on the JVM for a lot of things and use Swing for a ton of stuff. It's rather annoying that it can never quite look consistent on different platforms, even when you tweak it like crazy. I'll be trying JavaFX in future projects.


 No.987840>>987841 >>987842 >>987843

>>987825

I was going to use Nuklear and as I was inspecting it I learned it doesn't do any actual drawing. It's just a useless event manager.


 No.987841

>>987840

>It's just a useless event manager.

IT DOES draw things for you. You just have to give it a way to push the triangles to your screen. This makes it generic over many different rendering frameworks. It's like rendering to a jpg and then displaying rendering.


 No.987842>>987844

>>987840

In the demofiles is a .h file for many backends.

You can let opengl render you desktop app, directx, GDI or whatever.


 No.987843

>>987840

That's the point. it doesn't lock you into a way to render.

You can use many different backends, which are all included


 No.987844>>987845 >>989670

>>987842

>all included

i'm looking through these

https://github.com/vurtun/nuklear/tree/master/demo

none of these seem to be unified at all. it's like your doing it all from scratch

it's cool that it's all included but it's definitely not "just pick a renderer" and include a header. you need to know what your doing with all of these different renderers

look at

https://github.com/vurtun/nuklear/blob/master/demo/x11_rawfb/main.c

and then look at

https://github.com/vurtun/nuklear/blob/master/demo/sdl_opengl2/main.c


 No.987845

>>987844

i guess once you get one going it's not that big of a deal. it's not like you need to be able to switch between all of these.


 No.987866

electron


 No.988160>>988180

>>987795

>+100MB RAM, +100MB HDD, for a hello world app

>does not deduplicate for multiple apps, each one requires +100MB HDD at all times, and will eat up an additional +100MB for each app launched

>this is because it literally includes an entire copy of Chromium with every app, and launches another copy for every instance of every app

>sarcastic hack written in an afternoon, Electrino, reduced RAM/HDD overhead to kilobytes by using os's native browser library

I realize that was probably bait, but just in case. There are legitimate arguments for and against desktop-ifying web apps, but Electron is a pre-alpha-quality jokeware.

>>987825

>no native widgets

Please consider suicide


 No.988180

>>988160

I never heard of that toolkit he's talking about, but X doesn't even have any native widgets unless you count Athena. Everything else is an add-on, and frankly I don't like most of them, and especially not the bloated Gtk/Qt shits that got shoved everywhere by desktop environment shits.


 No.988308

>>987839

I like JavaFX


 No.989670

>>987844

If the choise scares you, there is nuklear+ (spoken as nuklear cross),

that's a simple wrapper to get the same code running on *nix, macos or windows.

That abstracts all the boilerplate away


 No.994609>>994610 >>994614 >>994648

File (hide): 7fab1aeaa1151ef⋯.jpg (426.28 KB, 901x785, 901:785, Screenshot_20181105-042609….jpg) (h) (u)

File (hide): 0af02f314bdc28d⋯.png (48.95 KB, 800x600, 4:3, head.png) (h) (u)

File (hide): c64e6e4fdb2aab3⋯.jpg (35.51 KB, 474x360, 79:60, 18-11-05_04-30-23.jpg) (h) (u)

We ever going to see a resurgence of non-rectangular guis?


 No.994610

>>994609

blobby GUIs were a thing as a novelty to show off a sort of sense of artistic liberty with regards to window design "look guys we're not just for boring office guys anymore!"

Now it just looks dated because the novelty wore off after a decade.


 No.994614>>994621

>>994609

>3rd image

So what happens when the guy who set his bios splash screen to furry porn gives away his old computer to a relative and forgot about that customization feature?


 No.994621

>>994614

Why would anybody even set their splash screen to anything other than default? What a useless feature


 No.994648

>>994609

>We ever going to see a resurgence of non-rectangular guis?

only on non-rectangular screens, such as smart watches


 No.994654

>>987182 (OP)

Xlib




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
67 replies | 6 images | Page ???
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / agatha2 / arepa / caco / chemo / general / marx / mde / vg ][ watchlist ]