---
title: "suck less or suck more"
date: "30/05/2025"
---

I love [suckless software](https://suckless.org/) and the suckless philosophy. I've been using [dwm](https://dwm.suckless.org/), [st](https://st.suckless.org/), [dmenu](https://dwm.suckless.org/), and [slock](https://tools.suckless.org/slock/) for years. You can see my code [here](https://git.barrettruth.com).

Simplicity is always better and I love being able to understand why things are happening. It's fun, it's quirky, it's cool.

Except when it doesn't work.

After years of use, I've found that suckless software is not built to be compatible with other less-sucking software. It is not compatible with running 40 ROS nodes at a time, nor 3 Chrome instances with a plethora of tabs and jobs open. I've had my st terminal go blank and my dwm crash on me consistently.

Maybe this is the point. But I can't avoid [foxglove](https://wiki.ros.org/FoxgloveStudio), I can't avoid bloat to work for school and research-related projects. Most importantly, after spending half of my day patching st and having it crash on me, I don't feel like fixing it any longer. **Sadly, suck-ful software is here to stay and I don't have time to fight it right now.**

I've switched to [spectrwm](https://github.com/conformal/spectrwm) (essentially [this](https://github.com/conformal/spectrwm)) and [ghostty](https://ghostty.org/).

# upd: goodbye xorg <span class="date">09/10/2025</span>

I am now sick of Xorg and their lack of per-monitor DPI scaling. The new stack is:

- window system protocol: [wayland](https://wayland.freedesktop.org/)
- compositor: [sway](https://swaywm.org/)
- dynamic menu: [rofi](https://github.com/davatorium/rofi)
- screen lock: [swaylock](https://github.com/swaywm/swaylock) triggered by [swayidle](https://github.com/swaywm/swayidle)
  - [its](https://github.com/swaywm/swaylock/issues/416) [pretty](https://github.com/swaywm/swayidle/issues/169) [bad](https://github.com/swaywm/swaylock/issues/306)

# upd 2: hello [hyprland](https://hypr.land/)

Unfortunately, sway was too fragile. The floating window support was juvenile (invisible windows, flickering, inconsistent tiling). Further, while [redesigning my developer workflow in December 2025](/software/improving-my-developer-workflow.html), I realized that I needed a level of customizability that sway could not provide. The new stack is as follows:

- compositor: hyprland
- screen lock: [hypridle](https://wiki.hypr.land/Hypr-Ecosystem/hypridle/)
- browser: [Google Chrome](https://www.google.com/chrome/)
  - Sigh... I know. I had ungoogled-chromium freak out when using my hardware key and completely break. Cookie-related issues also required me to be proactive with respect to website permissions. With all the weird sites I browse this was not a recipe for success. Do not ask about the sites I browse.
