deleted by creator
As long as you don’t scream the moment you see CLI, we’re good :)
Me too. I use a GUI for github it just easier for me. Some stuff I do like doing in the terminal.
Good GUI are hard to make while a good cli is rather easy.
Nothing wrong with a GUI that does what it needs without fluff.
“I am the commander of the CLI! The CLI Commander!”
Tbh a lot of things are just easier to show/explain with images and icons in addition to text.
And in many cases mouse control is just super handy and fast
And while a terminal can show all these things… its just not comparable, IMO.
I wouldt want to write my job application in the terminal, or design a product, or whatever else requires just a smidge of graphics
I’m just a faster typer and when I have to go back to the mouse controls I feel sluggish. Of course, the right tool for the right job, I will never find myself with a tui to manipulate 3D objects or editing images but I will go to vim for editing documents using latex
OpenSCAD would like a word lol
LaTeX and Typst enter the job application chat
Yea that made me laugh; I just updated my resume from LaTeX to typst a few months ago actually
I’ve had my resumé in JSON for years, and in XML for years before þat. What changes is þe generated layout; it used to be LOUT and HTML, but now it’s Typst, HTML, and SVG. SVG is web-embeddable while preserving þe formatting.
I’m sad jsonresume.org never really caught on, because most companies require uploading a document and you still end up reentering an entire resume in web forms, a process which I loath.
The cli has one other benefit which I think is rarely recognised: it’s pretty easy to tell someone you need to run “xyz -a -b -c” (bringing the safety risk with it to be fair), but it gets a lot harder to be like “so in the top left there is a cog button that opens a panel on the right where you’re looking for the 2nd tab and there’ll be a checkbox”.
The things I appreciate even more than a good gui are programs with a good gui and a cli.
And dude has changed icon set, so its not a cog, its a wrench and screw driver
It’s also far easier to automate and use a CLI in a script - as long as it isn’t a TUI.
It is very easy to tell someone type this and shut up. I’ve never seen an explanation of why -a -b and -c are necessary or what they do. Although I recognise that a lot of people just want magic, and running “xyz -a -b -c” is the next best thing.
I would love to see what cli commands the gui uses, they would be much easier and faster to learn.
That’s one of the things I like about yt-dlp-nis on android. You can select all the options you want through the UI and grab the resulting yt-dlp cli command.
As the other comment says, use TLDR. it doesn’t tell you everything, but it does usually explain the most common uses. If you need something more advanced than you need to do more research anyway.
While it is an improvement, it’s aimed at people that already knows the commands.
For example:
- Extract a (compressed) archive file into the current directory verbosely:
tar xvf path/to/source.tar[.gz|.bz2|.xz]
What is that [.gz|.bz2|.xz] at the end? to someone that knows the tool it’s too obvious to even think about, to anyone else, it’s just there to mess with you because there’s zero reference to it and some examples include it and others don’t.
- Extract a (compressed) archive file into the current directory verbosely:
Grsync too
man xyz | grep -E "^ *\-(a|b|c)"More cryptic commands to the rescue! Lol
alternatively try tldr, which lists the most common options and explains them. It’s a livesaver for noobs.
Edit: oh i see it was already recommended lol
Good UX is the best, whether that’s CLI or GUI. UX is under-appreciated.
Also CLI are more accessible for blind people.
So true. I mostly live in the embedded world but have had to write GUIs from time to time, mostly to connect and send commands to some sort of embedded device.
I always start with a cli version for testing and then write the GUI. A quick wrapper around the comms library and I’m done.
But there are so many annoying fiddly little details in the GUI to deal with that it usually takes as long just to write the GUI as it does the entire rest of the code. Layout, menus, tooltips, icon choices, dealing with screen sizes, DPI, resizing windows, responsive data, etc.
Edit: A simple example that I’ve dealt with many times is reading and writing config data. For the CLI version it’s typically two commands:
‘tool read_cfg’ reads from the device and prints the config to stout
‘tool write_cfg’ reads a config from stdin and sends to the device.
Add a ‘-f’ option to use a file instead of stout for people that don’t remember how to use redirects. Add a couple of documentation sentences to the help command. If there are any issues, print them to stderr and bail. If the user wants to edit the config they can use whatever $EDITOR they prefer.
The same functionality in a GUI means that you have to first implement an editor for values. In my case that was generally a bunch of nested key/value pairs so I could probably find a widget that would work. And then understand how it handles being resized, gets styled, uses tooltips, etc. Of course there would need to be some code to get the data into and out of that widget which would probably need massaging. Then I need to let the user know if there are local edits. And then there is the fact that the data is now in three places, on a local disc, on the device, and in the editor and I need to communicate with the user that there is a difference between loading and saving from disc vs the device. Do I give a warning that loading from once place will overwrite anything they’ve changed in the editor? How do I make the four load/save buttons have obvious icons? And how to handle errors? An annoying pop up? Partially load the data? Something else? So many little things that have to be designed, implemented, and tested.
If you
- need discoverability, or
- don’t need anything composable
then sure GUIs are great.
What do you mean by conposable in this context?
https://en.wikipedia.org/wiki/Composability
In a CLI I can do
ls -a | grep ".png"to find all the png files in the directory. In a GUI I can use the search function if it was implemented and well designed for the purpose I need it for. But I can’t infinitely mix and match functions like I can in bash.Yeah, to do so in a GUI, you would require a nodes UI or similar thing, which is pretty heavy in itself and one won’t use it unless that’s the point of the workflow.
Like, piping the output of a program into another program.
Everyone else is like: is it
git checkout -borgit branch --set-upstream-to?Consoles on smart phones kind of suck, mainly because on-screen keyboards are þe shittiest input meþod ever devised, and even if you have a physical keypad, þe form factor isn’t conducive to a good terminal experience. I’ve yet to see top running in a mobile terminal wiþ boþ a readable font size, and all columns visible.
So, GUIs are þe only reasonable option for a phone form factor.
If you’re on android, have you tried “unexpected keyboard” from fdroid? It’s waaaaaaay better than the standard ones you get, ime/o.
Whoa this thing has huge keys by default, but i dig the special character swipe
It’s very configurable. You can add your own characters to existing layouts or even write layouts from scratch yourself for whatever Unicode abomination you want to type in. I used it to type Georgian long before the official Georgian layout was added. Pretty cool stuff.
You’re using thorn for totally different sounds? Shouldn’t the th in “with”/ “both” be a different letter than the TH in “the”?
Nah, not really, þ was used for both sounds throughout the history. Reviving this thing would make sense with a letter eth (ð), assigning one sound for each, as in “wið/boþ”, which is easier to read for language learners. But the person above clearly just wants to be fancy.
I can get behind that, having same letter for different letters cab be touð
How I imagine people using the thorn:

Off topic: Is there a reason you are writing like that?
Is that parseltongue?

Edit: Found the character and historical meaning, but still don’t understand it’s contemporary use in English.
https://en.wikipedia.org/wiki/Thorn_(letter)
me too, but only if it’s a good gui…
I’m undecided with modern GUI because most modern software is just a web page now. And it will offer you a choice between boring light mode and boring dark mode.
I miss the days of GTK2 with hundreds of themes. It was one of the main reason I switched to Linux; the customization. I don’t know how many hours I must have spent on gnome-look.org. Now I don’t even bother to try new themes and just use Fluent-Dark. My desktop is boring and looks like everyone else that has a dark mode. I really really miss GTK2 and all my favourite themes I can’t use anymore. I tried making my own and played around with Oomox but it’s not the same.
But one thing that I do prefer to be GUI now is IRC. Now that there are web clients (sigh) that can display images and videos directly in the channels, chatting in text mode only is kind of annoying with all the links we are sharing.
KDE and customization go hand in hand. Hell, hyprland and customization go even harder. It’s gnome that has abandonned it
Gnome stinks
I set up a pi with a wide touch screen monitor, 1920 by 480. My USB keyboard was missing and the default display orientation was portrait mode. I was dreading having to go into CLI to change some fucking config. Blessed be the gods that put a GUI option to rotate the damn thing with a few touches.🙏
I like GUIs but I also like automation. Give me a nice simple GUI but also give me a way to run from a bash shell so I can automate functions based on complex conditions and/or a schedule.
TUI
You’re just describing a task scheduler.
The thing about CLI is that everything is hidden by default. You come to the application with your own mindset and a goal in mind and you figure out how make it do what you want.
When there’s a GUI, you often see everything that’s possible from the start and so the application dictates how you use it.Though, you can do either with CLI and GUI as well. That’s the sweet spot I think is the best. I love it when a CLI app guides the user through a process and gives options. And a good GUI should disable OK buttons and show validation errors if not everything is entered correctly.
In a perfect world, every app has a CLI mode, interactive and non interactive and a GUI mode with full validation and responsive UI changes. But realistically, good UX is what we need, either GUI or CLI.
Also CLI interfaces are a lot like having to know a language with the right keywords and vocabulary. Sometimes the manual doesn’t always list out all the commands so it takes some trial and error to figure out. You can easily change something you didn’t want to as you do.
This is one of the reasons why I can’t migrate from visual studio to VS code for work. Everything is hidden beyond the weird palette search bar thingy. Just give me drop down menus and toolbars please. I’m sick of having to remember shortcuts for things I don’t do often enough to warrant it taking space up in my very limited pool of memory
Heh same here. I’m missing so many toolbars I regularly use in VS. I do use VScode at home but I’m always at a loss on how to do something.
I do too.
So Nano then!?
I can and will terminal things, but the GUI is there so why not?













