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.
I’d love to be able to ditch the gui entirely, I’ve found working from a TTY really helps me focus on the actual work I’m supposed to be doing
Unfortunately the one impossible hurdle is the web browser. Have kinda got around the need for it mostly with an llm cli for basic questions but will always find myself needing to fire up a window manager just to get a browser eventually
Also doesn’t help that I’m primarily a web developer
cage
is a minimalist Wayland compositor that only shows a single application in fullscreen. When you close the app, it drops you back to your console.It’s compatible with programs that need X11 through XWayland, and it has practically no loading times.
cage -ds firefox
would open Firefox in fullscreen.Option
-d
hides client-side decorations and-s
allows you to switch from Wayland to another TTY using Ctrl+Alt+F[1-6]I put aliases for the programs I use in my .bashrc so I can just type FF[Enter] and a second later I have Firefox open.
Ah that’s useful to know, I’ve been using gamescope for that but it’s a bit overkill
A chromeless tiling WM is basically invisible and AFAIK has almost zero performance impact. That’s roughly what I do.
I usually use gamescope for that purpose but it’s still a bit of a pain and takes me out of the tmux/helix loop