Midnight Pub

Text-Only vs GUI

~techwing

I use a whole bunch of applications from within the terminal and so naturally I started making applications to be used in the terminal. Although, despite terminal applications being faster and easier to program, if other people I know wants to use my applications they complain that they don't have a GUI to poke around at.

I've tried my hand a GUI programming using Tkinter for Python 3 and it's an absolute nightmare, I actually had to design the GUI down on a whiteboard before I could start programming for it. Then when it comes time to implement the GUI, the code for it comes out to much more complicated than the command line version.

Maybe I will get used to GUI programming but for right now I really hate it.

I have been thinking about making this post for a while but I've been really shy to make it. It doesn't have all the fancy formatting that Gemtext is capable of, but for this post I think plain text will do.


stargazer

I had the same issue. I have had good luck using Rust with the Fast Light toolkit (fltk) for the GUI interface.

reply

corstar

If you are on Windows, you might want to look at Autohotkey. You can crank out a very decent looking and functional application in half a day.

I wish something like that was available on Linux, closest would be shell scripting and Yad/Zenity etc..

reply

outlaw

I've only enjoyed two GUI frameworks: MSVS and Godot. Trying to build a GUI in code is just rough and while web has the potential to be nice, the over complicated rules make it a slog. Much better to use a WYSWYG editor and glue that to your actual application code.

"What about my sweet Linux GUI framework!" You might interject. But here's the thing: if I'm targeting Linux I'm just gonna make a CLI app anyway.

reply

techwing

I haven't actually thought about making a GUI app within Godot. I have played with it before and it is amazing to work with for games. I think I might actually try Godot out and see if I can make a quick GUI application out of it.

reply

nargran

I'm not a programmer, but still currently learning Common Lisp. I've tried to program a GUI for some of my learning projects for similar reasons as you, using LTK (CL bindings to TK, I suppose Tkinter is similar). It was a very frustrating experience, as opposed to my general experience with CL, and I have abandoned any attempt to do a GUI for now. So I understand how you feel about it, I really hate it too!

reply

fish-fingerer
techwing finds when making a GUI,
That their mental models get really quite screwy,
If you leave it in text,
You’ll end up less vexed
But avoid curses, ‘cos it smells of doodie.

Pipeable interfaces FTW ;-)

reply

she12

I am not a programmer but I have to mess with Windows a lot for a living :(

Usually I get everything done with Batch or PS but of course thats not fancy enough for the common MS user, so I had to resort to this even bigger MeSs, called HTAs once... Oh dear! Personally I am a real computing masochist (I use telegram-cli on my phone) but that was too painfull, even for me. VBS and Batch paired with JS and HTML? Syntax highlighting really was the least of my problems! I still have to maintain this crap and I am not sure what took more of my lifetime by now, the debugging (msgbox "got here") of - or the reccuring nightmares about it...

reply

nargran

A bit offtopic, but does Telegram-cli work again? Or maybe it never stopped working in the first place? When I used Arch some years ago that was my preferred client, but it was unmantained and it finally stopped working.

reply

she12

Not sure, I've been using version 1.4.1 for an eternity now on SFOS (openSUSE). It is pretty broken when it comes to media or encrypted chats but still does the job for me.

reply

nargran

I will try it again, then. I prefer it to the desktop client, which is too bloated for my taste.

reply

she12

The best thing about my setup is that it don't get to see these stupid emojis xD And it's a very good excuse for not listening to voice messages or not responding immediately...

Never used the desktop client, when I miss a feature I just load the web app.

reply

ew

Hello ~techwing,

gui programming :-) yepp. I have tried it once (tcl/Tk) and then abandoned it. Not my world. So, yay, welcome to the plain/text shell club!

Would I have to do it again ... I would probably try to write a gui, which will call the program on the shell. I'm sure, this is not always the correct answer. And yes, sometimes you have to keep state in the gui ...

The other option I could think of is this: write a library. ALL function/logic resides in this library. And the cmd line program uses the library as does the gui program. But, of course, don't listen to me! There are probably better ways to write software. But I sympathize, because I am still stuck on the command line after roughly 35 years.

Cheers,

~ew

reply

euromancer

That’s the approach widely adopted. Emacs has emacs base and then emacs nox over it for CLI and separate emacs for GUI

reply