It started as a stupid project cause I was bored. How much can you actually do without a windowing environment?
After finding out how to post to lemmy from a TTY, I realized that I can do most things I do daily using text.
Browsing the web in links, which opens all sorts of files in the corresponding programs if configured correctly.
Opening images in fbi, PDFs in fbpdf, listening to music in cmus, watching movies in mplayer, using e-mail in alpine, creating documents in vim and latex, …
The only thing that still requires a GUI is image editing and a few websites I need that don’t work without JavaScript.
And it’s actually really nice…more focused, without loading times, animations, popups, ads, or other distractions, and everything is scriptable.
Anyway, sorry for the blog post.
Why alpine instead of mutt? It must be some 20 years since I least heard about pine or any of its forks
Alpine is an email client.
Mutt is a maildir reader which you can use as a part of your DIY email client.
… what? mutt can talk imap and smtp natively, I don’t know what else you need to qualify as an “email client”
Since when? I made two attempts over many years and an elaborate offlineimap and msmtp setup was needed both times.
🤷♀️ I was using mutt for both smtp and imap in 2002, don’t know how long before that it worked — but at least since then.
Alright then, I guess it’s time for attempt #3 with the newly acquired knowledge. Thanks!
Because I’m too dumb to configure mutt.
Sometimes it’s nice to put the ADHD away and just have simple fucking interfaces without all the stupid distractions.
This was my exact experience browsing the Social Media on gemini:// – it was glorious how less can actually be more.
I’d love to put the ADHD away sometimes :(
Your post made me wonder, so I checked and of course it exists. Behold, a text-mode Lemmy client: Neon Modem Overdrive
Tried it. Didn’t work.
indeed… #NeonModemOverdrive failed for me too.
So, how did you do post to lemmy.ml? Did you use cURL? If so, I would love to see the sample code.
I logged into old.feddit.org with links.
Thanks for the tip. It seems to work but I have to say it’s a rough UX because the UI is really meant for a graphical browser. I could not even paste my UID and PW in to login.
Well, that’s disappointing.
Try it if you’re interested. It worked for enough other people that the dev closed my issue.
I couldn’t get it to show any content, on 3 different distros and 4 different home instances.
Maybe I’m just really dumb, though.
image editing
imagemagick for basic transformations/compression/conversions, CLI (locally hosted) AI for the shops
I’m a photographer and edit my own photos. I’m not gonna outsource that to an AI.
I would not recommend web links opening in other programs.
Reject pixel-graphics, install aalib
;^)
Are there any non-JavaScript websites left?
Not OP, but some of them have non-JS version, in addition to the regular JS version; but yeah, a lot of sites are broken.
Wikipedia
deleted by creator
Even the remaining old sites, from blogosphere and personal tilde websites (those whose URL contained a tilde “~” followed by an username) have some degree of JS.
Although those websites usually work totally fine without js
Surprisingly, a lot. And usually they’re the more informative and less commercial ones.
Most websites that only show a “please enable Javascript” banner I just leave again. Very few I do need, for those I have a key combo that starts a window manager with maximized Firefox on another TTY.
I may get hate for this, but… I do this a fair bit because I prefer TUIs for a lot of stuff, and also end up doing a lot of things in emacs because I usually have it open anyway…
Legendary video: https://www.youtube.com/watch?v=urcL86UpqZc
Thatâ™s⠀really cool. � Ꭰо уо𝗎 𝗍һі𝗇𝗄 уо𝗎’ӏӏ со𝗇𝗍і𝗇𝗎е ᖯ𝗋о𝗐ѕі𝗇𝗀 ӏі𝗄е 𝗍һа𝗍?
Fuck you, you really made me check on my phone if all my text looks like this :(
Yes, I think I will. Not exclusively, of course. But starting Firefox in Wayland just takes a key combo and 5 seconds if needed.
Launching it using the raw framebuffer means it blocks the screen until you close it, and there’s no means to do anything else except switching to another TTY, is that it?
Firefox doesn’t run in the framebuffer. It opens under Wayland in another tty.
Starting Firefox takes 5 seconds? I start thinking I need to optimise if it takes more than 2
It takes 5 seconds when the PC has to start up a wayland compositor, first.
Ahhh my bad I didn’t read your comment properly, assumed you meant with a desktop running already
What wayland compositor do you use for that? Have you tried
cage
?I use Gnome.
I’ve found
cage
to be really convenient when you want to run a single app from a tty. 5s to start gnome + ff is pretty good, though. Not sure how cage would compare.See, that’s another great thing about this experiment: I get to discover all kinds of cool new tools.
Thanks for that, looks exactly like what I need.

How much can you actually do without a windowing environment? […] Opening images in fbi, PDFs in fbpdf, listening to music in cmus, watching movies in mplayer
Maybe not an “environment” but it sounds like you’re at least using a window manager. The PDFs and videos, not to mention web browser, are gonna be hard to pull off from a raw shell.
But that’s a detail. Otherwise I share your enthusiasm, I’ve been doing things this way for a while. Basically: tiling window manager + TUI file manager + scripts which do precisely what I want, if possible in the terminal, if necessary by launching a GUI app. In practice the GUI apps are Firefox, mapping app, and messaging apps.
The general discovery I made was this: for the small price of foregoing pretty colors and buttons and chrome, you can get a computer to do exactly what you want it to do much quicker. Assuming a willingness to learn a bit of shell scripting, of course.
For example: I have a button which runs a script with
getmail
that pulls in my email and then deploysripmime
andweasyprint
to convert it to datestamped PDF files, which it dumps with any attachments directly into an inbox folder. In other words, I have maderanger
into my email client and I never need to “download” anything, it’s already there.And those PDFs I can then manipulate with a bunch of shell scripts that use standard utilities, i.e. to split them, merge them, shrink them, clean them of metadata, even make them look like them come from photocopied paper (dumb bank!). All the stupid shit I once did with 10 manipulations hunting thru menus with a pointer in a fiddly app and always forgetting how it was done. Now I just select the file in the terminal, hit a button and it’s done, I don’t even see the PDF.
Of course, it’s not for everyone, but this is the promise of free computing.
No, I’m not using a window manager, X nor Wayland.
Images, PDFs and video can be rendered on the framebuffer, which has been the standard output for Linux TTY’s for a while now.
For multitasking, I use tmux, which works a lot like a tiling window manager, but for the text console.Great! I guessed that going full framebuffer would be trickier than that. You’ve laid me down a new challenge.
The general discovery I made was this: for the small price of foregoing pretty colors and buttons and chrome, you can get a computer to do exactly what you want it to do much quicker. Assuming a willingness to learn a bit of shell scripting, of course.
I find the emphasis people put on speed interesting, because by far the slowest part of any interaction I have with my computer is caused by me just figuring out what I’m doing next. When I’m functioning at top speed not needing to click around, or say, having the perfect keyboard shortcut, would save me only fractions of a second.
Actually… to add to this I think the cognitive load of visually navigating is much lower than typing specific things it. I think this is why I find I’d prefer to click around my bookmarks or files to find something than just pull up a “Find” dialog and type something reasonable in.
That is exactly the reason why I like the text interface so much. It makes you think about what you want to do next.
In a graphical environment, there are lots of hints right in front of you what you could do next (made even worse in other OSs that use pop-ups).
In a text environment, unless you actively do something, all you get is a blinking cursor.
It increases my productivity and reduces time wasted on the computer, not because it is a bit faster, but because I don’t get distracted.
For the same reason, I suppose you would love text adventure games like Hitchhiker’s Guide to the Galaxy, where you have to come up with your action, as opposed to getting visual aids which come like a loaded question, steering you and somewhat robbing you of control.
Fair point about raw speed. I never found the keyboard-vs-mouse speed debate very interesting either.
But cognitive load is a double-edged sword. Sure, the first time you attempt a task, the abstraction of a GUI is really helpful. There’s nothing to remember, you just point and click around and eventually the task is done. But when you have a task with 7 steps which you have to do every 2 weeks, then the GUI becomes a PITA in my experience. GUIs are all but impossible to script, and so you’re gonna need a good memory if you want to get it done quickly and accurately. This is where CLI scripting becomes genuinely useful. Personally I have quite a few such tasks.
You get a similar feeling using the console a lot in full screen. It’s just a very peaceful, focused experience.
That’s actually a good point. I’m a TUI guy as much as the next one but I normally use full screen terminal and tmux instead of larping the 90s.
Deeply respect the hustle - I was also X-free in the early 00s - but I wonder what is the advantage of going raw tty instead of full screen terminal in a wm
Okay, I’ve wanted to do the same thing for ages. Time to follow up my words with action!
Forget gpus. A framebuffer is all you need :)
You’re following the Unix philosophy.
And I understand why some people are fonts enthusiasts, now.
On the console, you only have 16 colors and 1 font to customize your “desktop”.
You can Install more fonts, but not all of them are any good.
How about a console with cursive writing font? That’s probably the reason why it’s named cursive. Because of all the curses of the users.
it’s all just curling some jsons and slapping some paint and shit on top of that.