Switching to the I3 Window Manager

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Way Cooler

  • i3-workspace-groups

    Manage i3wm workspaces in groups

    I love i3 but it's really missing a way to group workspaces, I use https://github.com/infokiller/i3-workspace-groups but it's subpar, what I'd really really like is a native workspace matrix...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • exwm

    Emacs X Window Manager

  • i3

    A tiling window manager for X11

    There was a discussion about implementing a similar feature natively, but it didn't go anywhere.

    https://github.com/i3/i3/issues/4024

  • i3-gaps

    i3-gaps – i3 with more features (forked from https://github.com/i3/i3)

    If you want background showing, check out i3-gaps https://github.com/OstOgBajer/i3-gaps

  • Amethyst

    Automatic tiling window manager for macOS à la xmonad.

    For macOS, I use Amethyst, recommended here on HN and works fine without disabling security features.

    https://github.com/ianyh/Amethyst

  • polybar

    A fast and easy-to-use status bar

    I used to use awesome like the OP. I used bspwm for a while and am now using i3 as the daily driver. Here are a few of the issues that arise when using a tiling window manager:

    1. Per display xrandr settings, or xsettings

    2. Statusbar losing tray icons when switching screens or reloading. Tray icons having the wrong size or not showing up at all. Part of the reason is that all tray icons used to be Xembed based. Then came appindicators with KDE having KStatusNotifierItems which may just be a Freedesktop StatusNotifierItem implementation. Polybar too frequently had this issue[0]. The only third party statusbar that properly implements this with using sni-proxy is a haskell based one which's name I forgot which is hard to use on Archlinux if you use the dynamically linked haskell packages.

    My compromise right now is to use lxqt with i3, which seems to be a somewhat lightweight wrapper around xsettingsd and a lightweight session implementation.

    I really prefer Awesome's tiling mechanism over i3, but i3's multiscreen just works. No weird window disappearing bugs etc.

    A lot of these issues seem to have been fixed inside of Gnome directly or inside of KDE, but for some annoying reason every DE seems to have to solve these issues from scratch, which is just a standard Linux issue. I've been using linux as a DE for multiple decades now, so you'd think these issues would be fixed at a more fundamental level at some point, but no ...

    [0] https://github.com/polybar/polybar/issues/2010

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • musca

    Musca is a simple window manager for X allowing both tiling and stacking modes.

    I came to filing window managers through musca[1] and then goomwwm[2] (Get Out Of My Way Window Manager) and then switched to i3 (and more recently, away) because both Musca and goomwwm haven’t been updated in years.

    I still miss Musca and goomwwm. They didn’t require any visualisation of the hierarchy, things were just layer out next to each other without a hierarchy and just worked. It was very intuitive. Goomwwm went a step further: it’s not technically a tiling window manager at all, but rather a floating window manager (so you can have your windows overlap if you want) that happens to be usable as if it were tiling and that’s keyboard centric (but you can use mouse too if you wish). That really was the sweet spot for me and I often find annoying behaviour in i3/sway that goomwwm didn’t have (typically around movement and resizing).

    [1] https://github.com/enticeing/musca (original source and all documentation seems to be gone)

    [2] https://github.com/seanpringle/goomwwm

  • goomwwm

    Get out of my way, Window Manager!

    I came to filing window managers through musca[1] and then goomwwm[2] (Get Out Of My Way Window Manager) and then switched to i3 (and more recently, away) because both Musca and goomwwm haven’t been updated in years.

    I still miss Musca and goomwwm. They didn’t require any visualisation of the hierarchy, things were just layer out next to each other without a hierarchy and just worked. It was very intuitive. Goomwwm went a step further: it’s not technically a tiling window manager at all, but rather a floating window manager (so you can have your windows overlap if you want) that happens to be usable as if it were tiling and that’s keyboard centric (but you can use mouse too if you wish). That really was the sweet spot for me and I often find annoying behaviour in i3/sway that goomwwm didn’t have (typically around movement and resizing).

    [1] https://github.com/enticeing/musca (original source and all documentation seems to be gone)

    [2] https://github.com/seanpringle/goomwwm

  • i3-multimonitor-workspace

    i3wm Multi-Monitor workspace

    Not exactly the same purpose but here is a small tool I wrote to group workspaces across all monitors : https://github.com/J3rome/i3-multimonitor-workspace

    TLDR: global workspace span across all monitors. Changing workspace change for all monitors (Similar to what happen in windows & macos). In my opinion, it allows for a better separation between workspaces/tasks.

    It's a MVP/alpha software. Need some optimisations but it does the job (been using it daily for over a year now).

  • rcs

    My rc files

    I love i3. Like many, I've been using it for years.

    Here's my config files with a lot of i3 goodies: https://github.com/riccardomc/rcs

    Maybe you'll find something useful in there.

  • krohnkite

    A dynamic tiling extension for KWin

    For those on KDE just wanna try a tiling-WM-ish behaviour, I found Kröhnkite[1] pretty neat. It cannot be compared to a real tiling WM, but it's nice to get a feeling what this is all about.

    [1] https://github.com/esjeon/krohnkite

  • smithay

    A smithy for rusty wayland compositors

    Please check out smithay if you want to see decent progress on a rust wayland implementation: https://github.com/Smithay/smithay

    Wlroots is a bit of an extreme case as the API is mostly idiomatic to low-level C and not easy to wrap in safe rust.

  • bspwm

    A tiling window manager based on binary space partitioning

    I can't edit my original reply to you because I'm not on desktop right now and the mobile app I use doesn't support edits, but here's the response from the waycooler dev. Note he actually was talking about wayland as a whole, not just wlroots. Obviously it's just one take on the matter, but it's a credible one based on their background: https://github.com/baskerville/bspwm/issues/199#issuecomment...

  • komorebi

    A tiling window manager for Windows 🍉

    I have written my own bspwm-like twm for Windows which is actively developed and supported: https://github.com/LGUG2Z/komorebi

    It supports multiple monitors, multiple workspaces per monitor, multiple containers per workspace, multiple windows per container (stacks)

    It also supports Windows 11 and comes with a batteries-included configuration sample that "just works" and is installable via scoop.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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