@ryo@charliebrownau@udon All of it comes from Debian, guaranteed. Now, on top of all of those complaints, you can stack not being able to use that with doas, because you almost definitely can't. I only use Debian itself in VMs, for testing stuff, but sometimes it feels like it's fighting against what I want it to do every step of the way. It feels like it's cursed. So many minor things that don't work like in any other distribution that I'm aware of (though maybe it's like that on Ubuntu and variants, I wouldn't know, haven't used any of those in a very long time). It's not enough to just know Linux, you also have to know all the changes that they made for no reason. Annoying. And somehow people don't seem to notice it, or at least I never heard about any of that. I don't know how.
But it's fine, it's not like the rest of computing isn't a giant mountain of terrible design choices as well. Devuan is still one of the best distributions (well, one of the few usable ones), and that stuff is all Debian's fault. Not a problem on BSD, though.
@TerminalAutism@charliebrownau@udon > It's not enough to just know Linux, you also have to know all the changes that they made for no reason.
That's most distro's in a nutshell. Arch and Gentoo (and maybe Slackware too, dunno) are going stuff the Linux way. Debian and its forks are doing stuff the Debian way. Fedora/RHell are doing stuff the Jew Hat way. Void is doing stuff its own way, but more towards the NetBSD way of doing things.
So Arch, Gentoo, and Linux From Scratch, and maybe Slackware are the pure Linux distro's. Void is a kind of BSD with a Linux kernel. Everyone else is like "fuck the Linux way, we'll fuck it up however the fuck we want!".
This is why I too am more and more porting my servers to OpenBSD nowadays.
@probablyat The default password for the root account on all iPhones. Jokes aside, I didn't use Alpine Linux as much (maybe like an hour or 2 when I had to move a web application from a Docker container to the correct way of setting up a web application). I did use postmarketOS multiple times, but each time I gave up on it because it felt like a toy for 3 year olds.
And by the time I started using postmarketOS more seriously since it's the only non-SoystemD project that didn't abandon the PinePhone yet, I was already giving up on the PinePhone.
@ryo@charliebrownau@udon The "maybe Slackware" parts make me think that you, like me, still don't know what is up with Slackware, just that it's as classic as it gets (literal boomer distribution for technically competent boomers?) and some people really like it. Maybe I should try it for real. The package management (or lack of?) is what I wonder about, and why people like it. Though you can install pkgsrc on it, or Guix, or Nix.
@ryo@charliebrownau@udon I may consider trying it, just to understand the appeal of it. Though I see Linux as a dead-end, at this point, so other than recommending stuff to other people, I maybe don't have much of a reason to explore more. Other than curiosity.
Same goes for GuixSD, and that's probably the most interesting one I haven't used extensively, at least of the ones that aren't made by two people and probably too unreliable. The package manager is way more complicated than normal package managers, but it solves the updooter problem, you can easily have older versions of programs and dependencies. It can also build from source. And everything can be automated from a single configuration file written in Scheme, and I think the init itself is written and configured in Scheme. Thinking about giving it a real shot for once, but I don't know if it's worth it. Maybe figuring out how to make a package, because they don't have Notion, the best window manager.
May seem unrelated to Slackware, but Slackware is the distribution where it's most common to use portable package managers that are unrelated to the distribution itself, and Guix is one of them. So, it made me think about that again.
@TerminalAutism@charliebrownau@udon Slackware might be one distribution you like. It's run by 1 guy just like OpenBSD (rating the name, they're perhaps from the same country too?), though unlike OpenBSD you can't contribute to it. Slackware is a distro that pretty much never changes, the guy even refused to implement SoystemD, and is still using SysV.
> It implements some good ideas on human interface design
OK, tell me more.
> META+N moves the focus downwards. > META+P moves the focus upwards. > META+Tab moves the focus to the right. > META+K Tab moves the focus to the left.
@charliebrownau@ryo@udon Yes. You may not believe me, but there is a good chance that you wouldn't know about that if I didn't mention the distribution in a few different places. I never heard about Hyperbola anywhere until I talking about it in a few places, because even if it's not the most viable distribution in the world, it probably is the most based one of all. And now people tell me about it relatively regularly. Kinda bizarre, but I think somehow, just spreading the word a bit was enough for it to come full circle, back to me. Very interesting. It is what I intended, but it worked way better than I expected, if that is indeed what happened.
Oh, and here is Notion running inside of LXQt, with the desktop in a frame/tab. I think that's funny. Also XEmacs, because I got curious and installed it even though it's very old and abandoned.
@TerminalAutism@charliebrownau@udon Keybindings make sense in many other cases. i3 for example uses meta + arrow keys, dwm uses meta + hjkl (Vim-style), some others might be using meta + wasd (MMO-style?), but these at least are commonly used, so it's fine. But meta + TabPKN just makes no sense at all.
@ryo@charliebrownau@udon The bindings are questionable, but that's most programs. It just like having frames that windows spawn into. Ratpoison and others like it also work like that. But Notion does multiple monitors better, and it has a tabbing system, so each window belongs to a specific frame. And it has menus (that you can customize and make more of), and you can drag tabs from one frame to another. It also doesn't completely disregard all standards, like the rest, so it works well with bars from the various desktop environments. If you have seen the screenshot of my Debian VM, it's actually running Notion as the window manager for LXQt. So, it's running LXQt, but with Notion as the window manager instead of Openbox, and it actually opens the desktop as a window in a frame, in a tab, which is pretty funny to me. Pretty neat. I should do something to make people aware of its existence so it doesn't die.
@charliebrownau@ryo@udon You don't have to. XFCE, LXQt, MATE, TDE, LXDE, those are all good. Hell, you are already using a window manager, desktop environments have window managers. You can even replace them in actual menus, in some cases, like with LXDE and LXQt. I don't like the bars that people generally use with window managers, I also prefer the ones that desktop environments have.
Those other bars are all way too limited considering how clusterfucked they are to configure. Honestly, I think window managers should just include a way to build bars and menus, like window managers like FVWM did. Or at least there should be a separate tool to do that with, in any window manager.
On Linux: DE: none WM: dwm Login manager: none OS: Artix
On BSD: DE: none WM: dwm Login manager: LightDM, removing once my charger and WiFi dongle come in, which is tomorrow OS: GhostBSD (so FreeBSD with a working X11)
When my charger and WiFi dongle arrive, I'll play around with FreeBSD a bit more, but my experience with it on just batteries and ethernet cable so far have been great. Too bad it refused to load OpenBSD though.
@charliebrownau@ryo@udon XFCE with Openbox? I have never done that, but it works. If I did, I would just add psuedo-tiling. With wmutils, or wmctrl, or xdo-tool. Good to have with floating window managers.
@ryo@charliebrownau@TerminalAutism@udon the tour's super out of date. notion went through a bunch of control schemes, all archived on the github I believe. they have emacs and vim and other type configs. https://notionwm.net/notionkeys.html these are up to date. but I think most people just write their own entire configs or legit use the same shit since the ion days. if you're willing to write some lua notion can do any ridiculous thing you'd want it to, tabbed tiled workspaces tiling frames, floating windows inside floating windows, it's crazy. I moved to pekwm because it was honestly too much when I was mostly juggling tabs in floating mode anyway.
I personally like Gitler, it's not Microshaft (Github), not mandatory JS, extremely bloated, and woke (Gitlab), and has no COC (Codeberg). Also 0 trackers, and not corporate run.
@ryo@charliebrownau@udon I'm not a fan of hjkl for window managers because sometimes I'm using the mouse with my right hand and I don't want to have to move the hand to the keyboard. When bindings like that are on the left, then they work in every situation. To me mouse support in general matters, because when I'm not typing, I like just lazily laying back and clicking on things. Also helps resting from all the typing.
It would be nice to have one of those gun-like mice that you hold with your hand, with a trackball that you control with your thumb. That would be comfortable in those situations. Also very portable. And good for when you are on an exercise bike or something like that, and can't reach the keyboard but can use a mouse. I don't know if a good quality one exists, though.
Anyway, I think movement/UI keys should be on the left side, while keys for text editing should be on the right side, because you need both hands to type anyway. Unless you're left-handed, then you flip it around (actually, normal keyboards are better for left-handed people than for right-handed people, and so is hjkl on window managers, though the CUA keybindings that most GUI programs use are not, those are all on the left side, as they should be, for most people). Of course, there is also the complication of different programs using different bindings and not all being equally customizable, but there are ways around that.
You can add bindings to run other bindings with xdotool, to make that translation, and you can also use xdotool to check which program is in the currently-selected window, and change the results accordingly, or even do that in the window manager itself. But with that, you can have universal custom bindings for movement. Different layers on custom keyboard firmware can also work, and compensate for a lack of modifiers. Also, with custom firmware, you can turn modifiers into lock keys, so they can become almost modal. You can also add an extra hyper key. Hell, you can do sequences of bindings with sxhkd. You can also set up your window manager to have keybindings that change your keybindings so you can have a window management mode and an editing mode. There are a lot of ways of doing this.
Probably the Qwerty esdf keys, because pinkies are weak and using them should be avoided. Problem is that normal keyboard designs are awful, so you tend to need it for every modifier except alt. I think it's actually a good idea to swap left super and left alt, so you can use it with your thumb, and then you still have right alt to use with your other thumb (or you can make the space bar be super when held). The good thing about Super is that programs don't use it, so there are no conflicts, so it's good for window management.
Of course, ideally you should have a good keyboard, but there are only like, three options for that (Keyboardio, Kinesis Advantage, Dactyl Manuform), that I would even consider, and it's expensive.
Oh, and doesn't i3 use jkl;? People complained about that a lot in the past. Maybe they changed it. I see hjkl as being good for typing, but not good for universal use because again, it conflicts with the mouse, and sometimes you use the mouse, unless you can completely eliminate it, but good luck with that. Maybe with a split keyboard it would be more comfortable, and maybe I would prefer movement to be on the right side, but I don't have one, so I can't test. Still would probably go with the left. Though I guess you can use the keyboard itself as a mouse. But that would work better with analog switches, but most PCBs can't do that because the switches have to be magnetic. And the switches basically have to be linear for that to work, so goodbye tactility.
Fuck, that was too long again. I still haven't figured it all out myself, I'm still trying to come up with the perfect way to do bindings. Vim is not it, though. Hell, I use w, e and b at least just as much as actual hjkl, and those are pretty damn horrible, to the point that if they required modifiers, they would be almost unusable. Then there's also ctrl + d and ctrl + u, and n and p for searches, $ and 0. Those are pretty bad as well. The rest of the bindings are mostly fine, though. Though this is all made worse by the fact that other keyboard layouts break everything.
I think bindings should be based more on position and ergonomics than on mnemonics (Emacs has some very uncomfortable bindings that come from mneomics, but people ignore that Vi(m) does that too). It's more important for them to be comfortable after you learn them than for them to be easy to learn. No matter what the bindings are, you are going to spend a lot more time using them than learning them, so they should be based on a priority system. The most common actions should be on the keys that are easiest to press, and actions that are still useful while using the mouse should be on the left side. And for left-handed people, it should all be mirrored.
@ryo@charliebrownau@udon It should all be based on a priority system. What are the easiest fingers to type with? Index fingers, because they are strong, long, flexible, and rest on the keys in the home rows that have the bumps and are the easiest to find. So, in Qwerty, the keys with the highest priority are f and j. That is where in a good keyboard layout, the most common letters should go (vowel on the left, consonant on the right). It's also where the most common bindings should go (movement/UI on the left, others on the right).
Since those are the easiest, we can give both of them a value of 1. What are the second easiest keys to press? Maybe the middle finger keys, d and k, so those have a value of 2. What about after that? Maybe s and l, but at this point, those are competing with just moving the index finger (because it's flexible) or even moving the middle finger up (which is easier for it to do than going down, so up has higher priority than down). There may be more than two keys with priorities of 3, but still, some should be more preferable than others. Meanwhile, moving the ring finger down is easier than moving it up. The pinkies are both weak and short, so they should be avoided, and the hardest thing to do is to move the pinkies up (z is easier to press than q, since the pinky is such a short and weak finger).
What about the thumbs? On normal keyboards, they are underused. They are not ideal for typing, but are good for modifiers, and for common actions like space, enter, and backspace. The Keyboardio may use them the best, since it has four long keys, in an arc formation that reflects the movement of the thumbs. They are on a category of their own, since they can't reach the letters, and their movement is lateral and they press things with their sides.
This is the method that you would use to build the perfect key bindings. It's also how you build the perfect keyboard layout. The BEAKL layout ( https://ieants.cc/beakl/beakl.php ) I think has the best principles, including avoiding the pinkies, balancing work between the two hands and alternating between them for typing. So, I think the easiest way is to maybe base your ergonomics for your bindings on their effort grid: https://ieants.cc/images/kb-keyboard_effort_grid_20180712.png
More common actions should be mapped to the keys with the lowest numbers. I should stop now. I just wrote like, 7500 characters, as a reply to a short post about key bindings. Must suppress my power level.
@menherahair@charliebrownau@ryo@udon Every window manager should be that powerful! Hell, why not make it even more powerful?! Maybe writing it in Lisp and giving it a really powerful REPL and giving it some Lisp Machine magic. No need for so many window managers and desktop environments if we just had one that has such a flexible design that it can do literally everything anyone could ever want! But yeah, of the ones that I have tried, I think Notion is the best. Which is ridiculous, because it's ancient (well, Ion is, and it's basically that), and dying, and there's nothing else like it! Why does the best software always die?!
@menherahair@charliebrownau@ryo@udon The worst part of that is that it became nothing but dynamic window managers. Everything is a dwm clone or an xmonad clone. I'm not a fan of that, I want windows to spawn in specific frames, not to get their own frames. And I like the tabbing as well, that nothing else really has an equivalent of (i3 kinda does, but it's not quite the same).
Also, the people making tiling window managers just don't care about actual user interface design, so you get no menus, no proper mouse support and no good bars, and no way to build your own. And some of them really don't work nearly as well with bars from desktop environments.
Other than that, it's just floaters, and those are mostly identical to each other as well, and pretty much all suck with multiple monitors. Most of them lack scripting. I think the most interesting independent ones are probably Fluxbox and FVWM. Fluxbox can memorize window positions and desktops for specific programs, so it's not as limited. And in FVWM, it's possible to create proper bars. There's also cwm. It has groups, which you could use to make using multiple monitors better.
Anyway, I tried most window managers, but didn't really like most of them. They are redundant, there are only like, three types, for the most part, and most of them are really featureless because "minimalism" gets people a lot of likes on Reddit. Doesn't impress me. It doesn't even really help with performance. I mean, for fuck's sake, these really old window managers ran just fine on potato computers in 2000, or even earlier, and they do MORE than the new ones, and in the case of Notion, it's a lot more flexible too, you probably can make it do exactly what you want, unlike most window managers.
In the case of FVWM, it's from fucking 1993. It's almost as old as me, and it does more than floating window managers that came later. And what does that cost? Basically nothing, it could run then, so it definitely runs very well now.
It's not about doing as little as possible, it's about doing as much as possible with as little as possible, through good design decisions and implementation. Worse isn't better, better is better.
@menherahair@charliebrownau@ryo@udon Oh, and configuration is a lot less of a problem with good defaults. Maybe even a selection of a few different defaults, for different people. And this is something else that a lot of software lacks. A lot of stuff takes a lot of setup to be usable at all because again, the developers don't care about their own software being usable by people that are not them. More patient people just fix that through their own configs, but really, that should not be necessary, it should be an option.
Hell, that's why most people don't use these things, it's because you can't pick them up and use them, you basically have to study first. Not good. User interfaces should be at least somewhat intuitive. Sure, advanced users should be able to learn more and then do more, but it should be usable to begin with. This is particularly bad in tiling, of course, because people making tiling window managers think that user interfaces are only for floating window managers. They're not. Hell, it's bizarre that desktop environments with tiling aren't a thing at all. Really shows how there's a stupid division into two camps.
@TerminalAutism@charliebrownau@ryo@udon truth. wm scene is pretty stale, and it's all like the same 3 arch users. though there are some interesting ones, like shod. I mentioned pekwm, I think it has roots in fluxbox. it's mostly the same floater as any other openbox style one, but it has basically ion's tabs and some other cool tricks, like pekwm_ctrl to call pekwm actions from scripts, autoprops, bindings for screen edges and more. Haven't really used fluxbox to compare but it's a nice one. And I had to find it on this fucking site https://www.gilesorr.com/wm/table.html
@menherahair@charliebrownau@ryo@udon I knew about PekWM, but I actually didn't know that it had all that. Easy to miss, since it's not talked about anywhere, but that makes it sound like one of the best. And I'm pretty sure that I have seen that website before, and it's about as on the brink of death as Notion. I didn't know that pekwm_ctrl existed at all, it's not in the man page.
And the things that Fluxbox does, that I mentioned, are all done with a menu in the title bar. Easy to miss.
@TerminalAutism@charliebrownau@ryo@udon >I didn't know that pekwm_ctrl existed at all, it's not in the man page. Yeah, I found it in shell's autocompletion.
@menherahair@charliebrownau@ryo@udon Decided to check out pekwm_ctrl in the Debian VM so I don't have to switch to a different X session, and it's not there! Tried Devuan, and it's not there either! It is an older version, though, so I assume that pekwm_ctrl is actually a new feature? It is there on Arch-based systems. If it's not, oh no, not looking bad for Debian, we may have a third day in a row of shitting on it. Probably not, though. Unless there is a compilation flag to disable that, and they did. Seems unlikely, Arch is the distribution that normally does that, not Debian. Fuck Arch for disabling the graphical version of Links(2), by the way (that runs even in the framebuffer). Very nice feature of that browser and they disable it for no reason, so you have to build it yourself. Why, Arch? Why, Debian? Why, every distribution? Why do you always do what you do?
@TerminalAutism@menherahair@charliebrownau@udon Arch is a distro that doesn't change packages from upstream at all, Debian does. Also, in order to have graphics in Links you have to compile it that way, the default is having graphics disabled.
@menherahair@charliebrownau@ryo@udon And it's not on the GuixSD repos, so that VM doesn't work, and my Artix VM is broken. GREAT. May have to make new VM to try that. But I did read the documentation on Github, and it does seem to be one of the best WMs. I think it always had grouping, but I just forgot. The fact that it's a floater can be fine too, because it supports creating rules, so I guess you can control where things spawn. And you can move and resize windows with xdotool/wmctrl/wmutils, so that's not a problem in any floater. And if it can use the edges of the screen as a binding, those can trigger that as well. Good chance of it being the best floating window manager, actually. At least by my standards. I don't want to see all windows at once, and I want them to belong to specific frames. Pek seems to do that, so it's #1. And it's alive again, apparently. Being updated again.
@ryo@charliebrownau@menherahair@udon What?! Why is inferior mode the default?! It's a big feature that distinguishes it from other similar browsers. Anyway, it's fine, at least you just build it and then it works.
Not the case with Emacs, I build it and it has issues pretty much no matter what. I used it built with Athena/Lucid/the X toolkit/whatever you want to call it, because GTK breaks the daemon. But the GUI kept freezing and I kept have to kill it and then recreate all the daemons. The session was intact, but it was still annoying. I installed GTK, and now that doesn't happen anymore, but I have to deal with the bug that GTK causes. Like, just now, I wanted to use Emacs in another TTY. I couldn't, because GTK fucks up the daemon. If X dies, the daemon dies, along with the session. And it can't be used in multiple X sessions.
This is exactly why I built it with Athena in the first place. Huge pain, having to pick one major bug or another. Maybe I'll build it with Athena, but without xaw3d, just in case it doesn't happen without that? If all else fails, I may have to just use it in the terminal, which is dumb, because then I lose image and mouse support.
Not sure if one or both of those happen with Motif. Do they even still support OpenMotif? By the way, fuck GTK and Qt, bring back Motif! It can't possibly be worse, right? And it exists, and is not proprietary anymore.