dwm

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Mergify - Updating dependencies is time-consuming.
  • dwm-flexipatch

    A dwm build with preprocessor directives to decide which patches to include during build time

    Please check out DWM flexipatch for a painless way to try out patches and get your setup right!

    You can turn patches on and off at will, without having to mess with diffs. Once you get it right you can finalize your config with a separate script. It is like magic. There are also flexipatch repos for st and dmenu

    https://github.com/bakkeby/dwm-flexipatch

  • dwl

    dwm for Wayland

    Before you even ask: yes, there's a port for Wayland: https://github.com/djpohly/dwl

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • teliva

    Fork of Lua 5.1 to encourage end-user programming

    There are options between those possibilities, though. Here's my preferred point[1] in the state space:

    It's impossible for people to effectively use software over the long term without learning about its internals. Software can help people learn about its internals.

    https://github.com/akkartik/teliva#readme

  • dwm

    Matthew's build of dwm (by racingmars)

    I've used dwm as my window manager for a couple years now, after switching from i3, and have never looked back (i3 was fine, but it had a bug that was affecting me too often--I don't even remember what now).

    For me, the killer feature (aside from tiling vs overlapping) is that on my three monitors, I can switch virtual desktops independently on each monitor. After being able to do this, I don't understand why every window manager doesn't offer this. It's not uncommon with tiling WMs that have good multi-monitor support, but you really can't find it in traditional WMs. There's an unmaintained patch of openbox--openbox-multihead--that added the feature, and there's an "experimental" hybrid window manager written in Go (by the same author of the openbox patch), but no mainstream window managers appear to have the feature. Apparently it goes against a requirement/assumption in the EWMH spec and breaks existing pagers. But that's okay, because I don't use a pager.

    Anyway, it really is critical to how I work now. I can keep a set of windows on my right monitor, and flip between virtual desktops on my center monitor without the right monitor changing at all. (And no, using the "sticky" feature of other WMs doesn't work for me because sometimes I do want to flip to a different virtual desktop on the right monitor and have that set of windows for whatever context I'm switching to). Along the same lines, the pertag patch is part of making dwm the perfect windows manager for me.

    (If you're interested in the particular set of patches I use and my config, I maintain it at https://github.com/racingmars/dwm)

  • river

    A dynamic tiling Wayland compositor (by riverwm)

    No, the biggest feature of DWM is dynamic window tiling (pretty sure DWM stands for Dynamic Window Manager). Sway/i3 can be made to kinda dynamically tile with scripts, but it's much less consistent, less powerful, and hardly works. They are manual tilers and they don't try to be dynamic tilers.

    Personally I prefer being able to quickly toggle a dynamic window layout based on my current workflow, and switch back to manual tiling when I specifically need to manually tile.

    Currently I use Sway too as it's the most mature tiling compositor on Wayland, but once River WM[0], also based on wlroots, matures more I think I will likely make the switch because I often miss dynamic tiling.

    [0] https://github.com/riverwm/river

    On a side note, I hate how window moving works in Sway/i3. I can hardly ever get windows to move to where I want them to go with keyboard. As a result, I have a bind that enters a 'move' mode that takes the current selected window and moves it to a window that I can select. That, or I just use the mouse to drag the window, which is kinda annoying considering this is a keeb focussed environment.

  • autotiling

    Script for sway and i3 to automatically switch the horizontal / vertical window split orientation

  • Rectangle

    Move and resize windows on macOS with keyboard shortcuts and snap areas

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts