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.