JACKL.HAUS

The Following is (at least partially) a research page. This means it is used to organize thoughts on an idea and will be (most likely) heavily modified over time.


Suckless sometimes sucks.

Last Update: Dec 21 2024

Suckless is a combination of a fantastic philosophy, that of minimalism and customizable software, and as I have recently found out, a lot of neo-nazis*.
Before I had found out about this I had already started using a lot of suckless software. This was very nice because it introduced me to the beauty of minimal software.
Since I have found out, I have deliberated a lot and have decided on something. I need to write all my own suckless software and switch to things which replace the software I do use.
I came to this resolution through three disparate realizations:
1. Every time I use suckless software, I feel a bit disgusted with myself.
2. All suckless software is (pretty) simple
3. I don't even agree with some of their philosophy.

*you can just google their torch walk, but there is also some other stuff . It indicates a sad pattern


Following will my notes for my journey to distance myself from suckless. (and hopefully build a new friendlier community based around similar ideals)
For specifically just lists of general alternatives to suckless software see here .

ANNOUNCEMENT:

As of Sat Dec 21 2024, 1:30 AM my computer is no longer running any suckless software. I would however like to keep working on my setup as I am not entirely happy with it.

Gripes with existing suckless philosophy (minus nazi shit)

C

Suckless software is almost always written in C. I have a mixed relationship with c, but I sure as hell don't think it is the best language to write software in, and it is definitely not the most minimal.

WM:

First on the docket is my current wm, dwm. This software has been great for me, but due to aforementioned nazi business it is time to let it go. Any new prospective wm needs these for me to consider it:
1. It must be performant and minimal on energy use
2. It must be a tiling window manager*
3. It must be stable
4. It should be minimal enough for me to patch it to my hearts content
5. It must not compromise simplicity for aesthetics.
*I have grown accustomed to a tiling window manager and the wonderfulness of using one. I do not want to go back

Current Candidates:

- xmonad

seems relatively minimal. I like and dislike that its haskell. I like haskell. I dislike that I don't know haskell very well.

- Dec 20th, 26 min after midnight: I have decided to give xmonad a shot after struggling with xlib for a couple hours.

- ratpoison

a tiny window manager based on gnu screen. also just look where it started.
cons: Emacs Pinky, Its too simple

- berry

- hyprland

- sway

- build my own

cons: XLIB IS EVIL.

- Dec 20th, 7pm Im gonna look at wayland. I like xmonad but it seems there is a serious lack of minimal software for X and I might have to write a lot of my own. I think that wayland might be a more ergonomic environment to write clients for. (not sure though.)

Term:

The specs for this are very similar to the wm, that being it should be without bloat and patchable. I'm a little more lenient on the term as it is not always running, but it will still be running quite a lot, so it will still be a challenge.

Current Candidates:

- foot

cons: it is so much bigger than st

- build my own


Application Launcher

This was actually quite tough. I settled on gmrun after much bellyaching but I would really like to write my own as soon as I set aside the time. I could probably hack together something with love2d and lua in ~2 hours though. There is a serious lack of minimal application launchers out there. There are application launchers with small codebases but those all just outsource the bloat to gtk or something.

Community:

How can someone build a community around the idea of minimal 'bloatless' software without simultaneously falling into the same trap of amassing a group of people who are often nazis?
It feels dumb that this is a question being asked, but it is. I believe this disconnect comes from the reason why the software is desired to be minimal. I can make a few guesses at what the suckless guys want but here is why I want it to be that way, and also my mission statement.

Software should grow with its user.

As someone uses a piece of software, they should be both capable of understanding how it works and able to modify it to suit their needs and wants. I personally prefer this modification happens at the level of the codebase rather than being done through some external configuration tool such as config files, as I think this gives the most possible power to the end user.
Also, rather than emphasizing the lack of code in a code base, the accessibility of that code to a user should be emphasized instead.