Changelogs

Detailed updates and technical changes for SlimWM.

Future Roadmap

The following updates are planned for SlimWM to enhance its functionality and compatibility.

  • Multi-monitor support with per-monitor tiling and dynamic workspace management.
  • Initial Wayland compatibility for broader system support.

Changelog

v1.0.0 - Initial Tiling Improvements (March 19, 2025)

  • Commit: abc1234 by user7210unix
  • Default Tiling Mode: Fixed windows starting in floating mode. Now, SlimWM defaults to tiling mode for a consistent i3/dwm-like experience.
  • Old: No explicit default, single windows floated implicitly.
    New: static int tiling_mode = 1; ensures tiling on startup.
  • Tiling Layout: Improved tiling to mimic i3/dwm’s default β€œTile” layout: master window on the left, stack on the right.
  • Old: XMoveResizeWindow(d, c->w, 0, i * sh / n, sw, sh / n); (stacked below, resized smaller).
    New:
    int master_width = n > 1 ? sw / 2 : sw;
    XMoveResizeWindow(d, c->w, 0, 0, master_width, sh); // Master
    XMoveResizeWindow(d, c->w, master_width, (i - 1) * stack_height, master_width, stack_height); // Stack
                                    
  • Toggle Keybind: Added MOD+Shift+Space to switch between tiling and floating modes.
  • Added:
    {MOD|ShiftMask, XK_space, toggle_mode, {0}},
    void toggle_mode(const Arg arg) { tiling_mode = !tiling_mode; if (tiling_mode) tile_windows(); }
                                    

v0.9.0 - Beta Release (January 15, 2025)

  • Commit: def5678 by user7210unix
  • Initial Support: Added basic X11 compositing support for transparency effects.
  • Added:
    if (XCompositeQueryExtension(d, &event_base, &error_base)) {
        XCompositeRedirectSubwindows(d, root, CompositeRedirectAutomatic);
    }
                                    
  • Bug Fix: Fixed window focus issues on startup.
  • Old: focus(NULL); caused focus loss.
    New: focus(first_client()); ensures first window is focused.