lainchan / Ω

It's always either bloat or not enough

Koos van der Merwe · 2026-08-08 07:35
Why is every piece of software is perpetually stuck in too many features/no basic soykaf dichotomy? Example: > tmux has a plug-in system, a clock, and they keep adding features > only has what in tmux is called panes and windows but it doesn't have true color support so running vim or anything with text highlighting is garbled It's always like this and it drives me insane. Some programs are stuck in legacy hell like emacs C base and its never getting fixed ever. I wish I just could make everything I need myself but I am too much of a midwit to make ALL of my tools from scratch. How would you cope?
Unknown · 2026-08-08 07:38
>>93609 Why not use an actual tiling wm and keep stuff in real separate tiles instead of going into basically emulation mode with stuff like tmux?
Fred Nurk · 2026-08-08 07:54
>>93610 I used to use "windows" (aka tabs actually) and sessions when I coded in neovim. The setup was as follows: - Start a session with project folder as session root - First window has neovim in it - Second window is when the program runs - Third window is either for test or for random garbage Also tmux enables infinite scroll-back too. But in any case, it was just an example. I could make another example: > Zathura is a fine lightweight pdf viewer but if you want to crop a pdf page you need to make a cropped copy with a cropping tool > Okular has every feature under the sun but all I needed was dynamic cropping.
Emmanuel · 2026-08-08 08:12
>>93612 To make that setup I press meta-t three times in any empty workspace, and open thing I want in each tile. Not sure if I'm missing some additional feature that's available with those tmux sessions. Not sure about infinite scroll either, but bash has a lot of variables you can configure in bashrc for example. I only cared enough to change history size which I need for history-based suggestions/autocomplete. > I could make another example "True" tiling WMs are good for being very efficient and very native, but I use a "fake" one (krohnkite) with escape hatch to just have a regular floating workspace. It still feels less redundant than emulation within terminal, because I already have concept of windows in my DE and I only needed an extra script that lays them out in "tiling" grids.
The Phantom Phreak · 2026-08-08 08:18
>>93609 >I am too much of a midwit to make ALL of my tools from scratch. Ok, you don't have to make all your tools from scratch, you can start by making just one. >>93612 It really sounds like you're looking for a tiling wm. As a side note, be aware that you can use bash to manage jobs: C-z to suspend the foreground job, "bg %n" to continue the nth job in the background, "fg %n" to set the nth job to the foreground, and "jobs" to list the jobs. Personally I prefer redirecting stdout and stderr (">" and "2>") rather than using scrolling, it makes it easier to manipulate things. I know it's different in Wayland, but a minimal tiling wm with XCB is around 2000loc in C; I made one in 700 lines of Zig but it wasn't feature complete. Maybe that's a good project if you want to start hand-rolling your tools. On the other hand, dwm is feature complete and is only 4kloc (C) which is also good enough. I assume there has to be vim equivalents out there; try using github.com/explore, filtering by language, and scrolling past the big names. The bigger problem is dependencies, even if the software is minimal, it may still depend on bloated libraries, which will eventually come back to haunt it (the x11 dependency being a perfect example).
Batou · 2026-08-08 08:21
Probably because your "basic soykaf" is someone else's "too many features"
The Plague · 2026-08-08 08:46
>>93613 >Not sure if I'm missing some additional feature that's available with those tmux sessions. Starting the shell in your project root directory for every shell in the session, swapping between sessions in a single window. You also missed the part where you only ever need to draw a single terminal window, so less overhead.
Batou · 2026-08-08 09:54
>>93618 > Starting the shell in your project root directory for every shell in the session No idea what this means. Do you mean you don't need to cd manually to project folder or what? With zoxide I usually only have to use the first letter of my project name to cd to it... > You also missed the part where you only ever need to draw a single terminal window, so less overhead. My wezterm might be relatively heavy, but it doesn't scale up linearly. Each new window adds just a little bit more RAM, and most of this RAM might not even be meaningfully occupied actual RAM. On screenshot I checked ps_mem after opening each new window, except the last few ones which are just doing nothing and checking again after 10 seconds.
Sipho Nkosi · 2026-08-08 11:02
>>93610 Ever done work on a remote host with ssh?
Debbie Charteris · 2026-08-08 11:23
>>93622 not them, but this sounds like you're uncritically repeating a talking point that you read somewhere when you use vim over ssh, it is to make quick changes to configuration files (with stock vanilla vim). you can't use it as an ide, because you would have to install all your plugins and configurations on whatever machine you're connecting to, and the latency is fine for small changes but it is impractical for writing code you have the reading comprehension skills and the critical thinking of a llm
Zhora · 2026-08-08 11:38
>>93622 Only the most basic things, it's been mostly enough to just ssh from a single terminal, and few times I used a VS Code plugin, that was before I started using Helix. Genuinely interested to hear of some nice workflows tmux enables. >>93623 Maybe there is a vim plugin that allows to connect from your home vim with everything to remote, similarly to vscode? Maybe tmux does some kind of magic like this even, I wonder.
kefrit · 2026-08-08 11:41
>>93610 Tmux has "windows" that are tabs which could be more desirable on smaller laptop screens. It also has sessions that allows you to detach from windows and panes you created; go about your day and later attach to the same tab configuration, shell history, vim state and such. Using tiling window manager to achieve similar functionality makes it messy and impossible to develop any muscle memory
Batou · 2026-08-08 11:52
>>93625 > It also has sessions that allows you to detach from windows and panes you created; go about your day and later attach to the same tab configuration, shell history, vim state and such. Are they suspendable and saved to disk? Otherwise I don't see the benefits compared to opening that in separate workspace and switching to it using something like meta-4, which works quite well with muscle memory.
Aristóteles Amadópulus · 2026-08-08 12:04
>>93623 Changing a line on a dotfile is not, in fact, work. Try better.
kefrit · 2026-08-08 12:10
>>93626 > Are they suspendable and saved to disk? No, they're just a background process. I guess something like $ setsid sleep 10 > /dev/null > I don't see the benefits compared to opening that in separate workspace and switching to it using something like meta-4, which works quite well with muscle memory. Imagine you have project 1, 2 and 3 that you work on in the same time (think not concurrently in the moment but in the day or couple of days). I think it's not feasible to remember that for example meta-3 is project 1, meta-4 is second one and so on; I think it's easier to have meta-3 as "The project I'm working on now" tag and put other ones in the "drawer" saving their states so that you can switch to them and continue what you were doing without any resetting up.
Motoko Kusanagi · 2026-08-08 12:59
>>93628 I don't understand this. If you forget where your stuff at, you can switch between workspaces at speed like 3-4 per second. Nothing that involves going through lists or executing whole dedicated commands can ever get close to this. I always have browser in 1, games in 5, 2-4 for arbitrary stuff which may be working on project or browsing filesystem, or media, or whatever. If I have a project open I usually keep in mind which workspace it's at, so when I switch from browser, I remember that I need to press M-2, for example. But if I'm drunk and have other stuff open, I need to at most go through M-2-3-4 to see where it is. When looking for something specific it even takes less than a second to do that. How dealing with anything textual like lists or tags in terminal can ever come close?
kefrit · 2026-08-08 13:12
>>93629 The thing is that I get lost when switching quickly between browser and project unless the project is always meta-4. Tmux can make any running project be on meta-4 with short command. I get exhausted from doing meta-2-3-4 all the time, maybe it's just me
Cutter · 2026-08-08 13:17
The thread about software either being underwhelming or bloated. Immediately derailed into arguing about tiling window managers. Good job.
The Oracle · 2026-08-08 13:17
>>93628 you can do this just with bash, and you can do it with a wm, specially if you write it yourself
XERXES · 2026-08-08 13:31
>>93631 That's too general and emotionally loaded opinion, the only way to discuss it is to get into some details.
Dox · 2026-08-08 13:58
>>93633 Well, there are two examples in the OP post and another one later. And still it's tiling wm this, tiling wm that
Turner · 2026-08-09 06:55
>>93609 Stop trying to find perfect software and just find what works best for your work flow, preferrably something in the middle.
Elliot Alderson · 2026-08-09 07:30
>>93609 I'm currently working on shape rendering and rasterization. to output a simple bmp image file. Circle and font rendering doesn't quite click yet having basically forgotten hyperbolic functions and all that. At present I think I'll just draw a quarter of the circle, then horizontally mirror, then vertically. I want to make a circle with symbols rotated along the outside edge. No external libraries will be used. >>93644 Avoid posting hypersexualized images. If someone wants to hack their motivation system using lust they can do it themselves.
Liet Kynes · 2026-08-09 09:13
>>93609 Okay, OP here. I just noticed that I am absolutely retarded and I accidentally removed the name of the program I compared tmux to. I was supposed to be > dvtm only has what...
Dox · 2026-08-09 09:48
>lust nvm, im talking to an imbecile