寮 (ryo@social.076.moe)'s status on Wednesday, 15-Feb-2023 00:45:47 JST
寮Pro tip: if you're using byobu, move the status bar to the top for a massive productivity boost.
Only if I get Fcitx to work under fbterm, I might use TTY semi-full time, as even right now the only thing I don't use a terminal for is web browsing and watching movies, and other than that I do everything in the terminal.
Where to put the status bar (for any bar, really) depends on monitor height. Also, you can run mpv in the TTY, but you probably know that. You can't run it inside of a multiplexer, but MAYBE there could be a way. Like, I have been working on my system and have been wanting to integrate tmux into it, so I have this script for running X programs inside of tmux:
if echo $TERM | grep "tmux*" > /dev/null; then
tmux run-shell -b "xdg-open \"$1\" > /dev/null"
else
xdg-open $1 > /dev/null
fi
You could maybe make something like this for the TTY. Maybe that creates a shell in the background, and detaches tmux, runs mpv, and then reattaches afterwards.
There was also directfb, you may be able to use that. I don't know anything about it, but maybe you do because you have been using these systems for longer and was around when this was more of a thing. But apparently it can do windowing. And also, GTK and Qt both supposedly support the TTY, and I think it might be through that. Not sure, but I have seen a picture of Firefox running in a multiplexer, in the TTY. You can also run sdl in the TTY.
Also, fcitx is in fact possible, I remember seeing that as well, and there is a package called fcitx-fbterm-git in the TTY that you may want to check out. And of course, there are image viewers like fbv, and PDF viewers like fbpdf. And there are alternatives to fbterm as well, like mlterm and yaft (both support sixel images, and mlterm is also an X terminal emulator, and it can actually do vertical text, which is kinda cool, and it has an option for using it with fcitx, though I'm not sure that it works in the TTY).
This is all pretty obscure information, so I don't know much about it. Post still ended up gigantic, though. But I personally just use X. Has the advantage that everything is guaranteed to work in it, and is also portable, while framebuffer stuff is a lot more OS-dependent. The problem is that none of this shit is actually integrated, programs all conflict with each other, because these OSs are still basically 70s mainframes and can barely handle monitors correctly, and really would rather use punchcards instead.
May try this stuff more later, but for now I'm busy trying to come up with a set of keybindings that don't suck and that are actually ergonomic, and that I can apply universally, while also preserving defaults and avoiding conflicts (by focusing on the Super and Hyper keys, and also using key sequences after a prefix key, in some cases to switch between different key maps), and integrating all of the terminal multiplexer shit, and all terminal programs (that can't even consistently use all modifiers).
StumpWM and X are making that a lot easier, by translating keys to other keys, and also conditionally translating bindings to other bindings, depending on the selected window. Also, testing framebuffer stuff will really have to be on another computer, because testing that, I have frozen my computer multiple times to the point that nothing could be done and I just had to pull the plug. All inputs were ignored. X may be bad, but it's less bad than the OSs it runs on, so I have accepted it.
> Also, you can run mpv in the TTY, but you probably know that.
Wasn't that music files only though?
> Also, fcitx is in fact possible, I remember seeing that as well, and there is a package called fcitx-fbterm-git in the TTY that you may want to check out.
I already have it installed, but when I give it a try, it's complaining that the fcitx daemon isn't running, which is a lie, because it in fact is running.
It's not, it does work for video as well. I have done it myself, and there is no secret, you just run mpv on a video, in the TTY, and it works. Though it may not work inside of fbterm, and it will definitely not run inside of tmux unless you do some trick to detach and run it in an external shell and then reattach.
Haven't tried that myself, because again, I'm probably not abandoning X, because of the amount of control that I have over everything. Like, I wanted mpv to automatically fullscreen itself, but not in every workspace. I wanted conditional keybindings that do different things depending on the focused program. I wanted a prefix key to open other key maps than can then open other key maps themselves, so I can technically bind a billion things to one key. All done.
Things like that are definitely more doable in X than outside of it, and they are definitely easier with StumpWM than with almost anything else in existence (and it already basically behaves like a terminal multiplexer anyway, which I like). Then there are also tools like xdotool, xcape, xmodmap. And all of that can communicate with terminal programs as well, using tmux as a bridge. I can set bindings to send other bindings to tmux windows that don't even have to be attached, kinda turning programs into daemons, in a way.
Basically, with my current power level, I may need EVERYTHING duct-taped together, to have something that even approaches being acceptable.
When it's good enough. Right now I'm certain that I will change most things, so, it's not very viable. The bindings in particular are tricky, it's hard to decide what to do, and to avoid conflicts.
It doesn't have to be a distribution, though, just a set of configs. It's kind of a shame that the Guix package manager isn't universal, because that would be the best way to distribute that, because you can manage all of your configs from one place, with that Guix Home thing.
I use both and have been using Linux more lately because I need it for my external drives anyway. Though BSD is a reason why I'm reluctant to commit to Guix, it doesn't run on any of them. And using GuixSD and configuring everything with it would be very cool, but would also mean being stuck on Linux (LTS kernel), and Linux is probably not a good thing to be stuck on, it's probably a sinking ship, a sinking ship that increasingly glows in the dark.
And about Plan 9, I ran 9front on my W500, so I know that it works on ThinkPads. I can't imagine myself using that, though. There are interesting concepts in it that I respect, but it somehow manages to be even less intuitive than Unix itself. And good luck running anything on that too. Haiku is definitely more viable.
Yea, even when reading their supported HDD's section alone makes me concerning as to whether or not I can even boot it up.
But it's not like I must be able to run it, I just like to have an alternative ready to go just in case Linux, Linux-libre, Hurd, FreeBSD, and OpenBSD all one day fall.
OpenBSD is something I the least expect to fall considering it's made by a dedicated team who seem to understand the majority of how hostile the internet in current year is, though they then fall flat on the timezone stuff where they use Goolag and Cuckflare.
And Haiku from what I understood has a more similar file structure to things like DOS, Windblows NT, OS/2, and ReactOS, which just feels way too alien to me.
OpenBSD may be the last one to go. Though right now, it has a big browser issue. No LibreWolf on it anymore ( https://librewolf.net/installation/openbsd/ ), and that is the only browser other than Tor that doesn't let the entire web know everything about your system, by default. It's pretty silly to use OpenBSD but then also use fucking Firefox. Or even the webengine or webkit browsers, those don't actively spy on you like Firefox does, but don't hide your information either.
Anyway, the way that the directories are structured is very unimportant (and it sucks on every OS, though Windows does it the worse, it's blatantly structure to hide things from the user). Haiku is probably the most viable OS that is not Unix-based. It runs a decent number of programs, including Emacs, and it comes with bash and all the basic core utils, so it's still a lot like Unix. Unfortunately, because it could be less shit, but also fortunately because it could be even more shit. The window manager is kinda like PekWM in the sense that you can draw a window to another and have both of them in one frame, like tabs. You can also glue them together.
> the way that the directories are structured is very unimportant
Actually, I disagree.
I know that on Linux all binaries are in /bin, configs in /etc, libraries in /usr/lib(64), users in /home, and so on, then OpenBSD makes a distinction in binaries between 1st party and 3rd party, and FreeBSD in addition to that also makes a distinction in config files.
But on a non-Unix system, where the fuck is everything!?
And how do I access things like USB sticks or Samba servers on it from the command line?
So while it only takes a little bit of extra effort when coming from Linux to the BSDs (including macOS even, even though Crapple does much of it its own way too), it takes an entire re-learning process when coming from any Unix or Unix-like system to any non-Unix(-like) system.
As for OpenBSD, I've found more problems when it comes to using it as a desktop, I couldn't get Alacritty and Kitty (both are GPU accelerated terminals) to work, no muh-gaymes, pkg_* is fucking slow, and such.
But as a server it's better than perfect.
But perhaps FreeBSD might be more suited for desktop use, especially because of Linux binary compatibility it has, on the other hand FreeBSD always feels to me like running Debian with more up to date packages and a BSD kernel, whereas OpenBSD really feels like its own thing, and a very comfortable own thing even.
Well, learning a new directory structure takes barely any time (people coming from Windows complain about that and I don't get the problem in that case either, like, it's something new, just learn it, it's cool to learn things and it may be better than what you're used to, and in their case it definitely is).
There are even single images out there that explain the basics of the Linux structure. Those are nice. A single condensed resource that gives people the general idea of it. Getting used to it takes some more, but that's about it, and really, most of the time you are in your home directory, so if that works somewhat similarly, it's fine.
Anyway, I think I would maybe prefer if each program had its own directory (though it could complicate adding things to PATH, I guess). But not the Windows way, Windows install programs programs in specific directories, but just scatters files everywhere, in hidden directories. Unix, on the other hand, scatters files belonging to each program everywhere, and that is also a gigantic mess, so, I don't think that is optimal at all, and some distributions have actually changed it to solve problems.
There are distributions that changed this, like Gobo (it places each program in its own directory, and apparently it can handle multiple versions of each program, just by changing the directory tree). I remember seeing one more two other distributions that did this, I think one is Sabotage, and I forgot the other one (I thought it was maybe Carbs, but apparently not), but Gobo is the biggest one, and it's already not very big. Sabotage is really small and also looks dead.
Also, package managers like Guix and Nix do their own thing as well, but last time I checked, the directory names looked like absolute hell. They may also allow multiple versions of programs and dependencies, and older version. I mean, that's half of the point of them even exist, as far as I'm aware.
Anyway, you could also go with a hybrid approach, and have a different directory structure, but also link the most recent versions of everything to where they are expected to be on a Unix system, and then you keep the compatibility with everything else. I think Gobo does this? Not sure if the others do.
Also, here is Carbs: https://carbslinux.org/
It's actually irrelevant, but it's one of the few source-based distributions out there other than Gentoo. One than that it's just Crux, and I think KISS, and maybe Venom if that's still around. Source Mage was still dead last time I checked. Have you ever used Source Mage, by the way? And what do you think about it? Actually kinda curious about it, because you were already using Linux when it was still alive.
Anyway, as far as commands go, yeah, you may have to learn new ones, and hopefully they exist. Though Haiku does have bash, so maybe they also have their own versions of tools like that. I'm pretty sure that you can install packages through the command line, so, they actually do give a shit about it, it's not GUI-only.
Forgot to mention the BSDs. Yeah, I agree, FreeBSD is more easily suited for that, and the package repositories are excellent. Actually, they might be the best that I have ever seen.
Also, I don't use Alacritty because of Rust. I did try Kitty. Originally I thought that it was unusable because of the startup time, but the -1 option takes care of that, makes every instance share the same process so it's faster and the RAM usage becomes not too bad.
If I really do (somewhat) permanently integrate tmux into my setup, though, I may just use unpatched st, because tmux does so much that that's enough. Could just use xterm, but I actually have somehow crashed xterm a few times lately.
The reason why I use Alacritty is because Kitty has that weird bug that spaces out every single character, something many terminals have actually.
But I recently figured out that Suckless Terminal has a copy/paste patch which is what held me back from it.
But I think once I change the colors around a bit, I might switch over to that.
I got the colors and font sizes configured to what I want, and configured (recompiled) DWM to use st as the default terminal.
So I'll start using it as the default tomorrow (because it's almost time to go to bed, and was too busy customizing tmux).