this post was submitted on 28 Jan 2024
481 points (97.4% liked)

Programmer Humor

19529 readers
671 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 9 months ago (3 children)

A while ago as an experiment I set up a new system and decided to see just how much I could get done without installing a graphical environment. Most of my work happens in Neovim and there are plenty of applications that will do things like play video directly to a framebuffer so it should be pretty straightforward right? Turns out not really. Neovim will run in a kernel VT, but it'll be ... messy. The kernel virtual terminal is only designed to be good enough to use to install a desktop manager or repair your configuration. It's not meant to be used full time. It only supports 16 colors which breaks just about every color scheme out there. It also only supports specially converted pixel fonts, meaning your choices of font size are somewhat restricted, ligatures are a complete no go, you can pretty much forget about nerdfonts (unless you wanna do a lot of work) and the only way to change fonts or font sizes is to use the setfont command which only works if run directly in the terminal as opposed to inside e.g. tmux.

It's usable in a pinch, but I do not recommend.

[–] [email protected] 4 points 9 months ago (2 children)

Did you do much browsing? Lynx is a thing, but it can't do JavaScript.

Come to think of it, is there a CLI Lemmy client?

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

I just kinda used my phone for that. Like I said, not a good experience. Elinks and Links2 are marginally better than the trash fire that is Lynx, and I remember a while ago there was a project that would run Firefox in headless mode and cram its output into a terminal (wish I could remember what it was called), but you're not really gonna get a browser in a terminal no matter what you do

[–] [email protected] 1 points 9 months ago (1 children)

I'm absolutely fascinated if somebody can point me to that.

How well did it render most sites, compared to the other CLI browsers?

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

Found it again after a bit of googling. It's called Browsh. Haven't played with it yet (will report back when I do) but from the demo on that github page it seems to work pretty well.

UPDATE: I've tried it out and hooooly craaaaaap this is good. If I didn't know this was running in a terminal I would never have guessed. I would've just assumed it was a novelty browser meant to evoke that style. Smooth scrolling works astonishingly well as does video playback.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

Lol, I'm already up and running. It's pretty good, and I can actually use my mouse with it in bash. Protip, it seems very important to use the right window size. It's good enough to do a lot of normal browsing, but openstreetmap understandably had broken controls. The only local issue is that I can't see what I'm entering into the URL bar.

It's also designed to run distributed, so you can use shitty bandwidth between a rendering machine and the display machine. I should try fitting it into a radio channel or phone connection or something, haha. I also wonder if it could be adapted to work with Tor Browser.

[–] [email protected] 3 points 9 months ago (1 children)

You can use fbterm if you want to use TTF fonts. It even works with nerdfonts, although the rendering is not quite right. It does support 256 colors, although the way it implements colors makes it a pain to use.

[–] [email protected] 2 points 9 months ago

TIL of fbterm. I'll def check it out when I get a chance.

[–] [email protected] 1 points 9 months ago (1 children)

How did you get ligatures working with neovim?

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

Any good terminal emulator has them. Personally I use Konsole, but I'd be remiss if I didn't mention Neovide which supports them as well. It's a bit like a terminal emulator that can only run Neovim and has some Neovim-specific settings and integration (e.g. change window opacity with a Vim command, animated scrolling, plus that funky little animated cursor effect you can see on the website), and as a bonus it supports Windows and MacOS ~~if you're a heathen~~