I still remember the first time I abandoned the warm, comforting arms of a full desktop environment (It was Linux Mint Cinnamon) and stepped into the curious world of tiling window managers and never looked back. At the time, I had been using various Linux distributions for well over a decade. I was comfortable installing a range of DEs like GNOME, KDE, Xfce, etc., and found that each offered a polished, all-in-one experience. But after watching a video from Luke Smith, I realized I didn’t actually need any of that. My system always felt a bit sluggish. I wanted more control of my Linux system workflow, fewer distractions, and a setup I could call mine. I decided to try a tiled window manager.
I switched to i3 (the Manjaro community edition,) and everything changed. My screen real estate suddenly felt limitless, my attention focused on the tasks at hand, and my daily computing sessions became fluid in a way I’d never experienced. Over the years, I’ve refined my approach and tried out all the big window managers—ranging from bspwm to Awesome, from traditional X-based to new Wayland-based solutions—and as a consultant for organizations and power users alike, I’ve helped others achieve that same revelation in their workflow. This guide is here to pass that perspective on to you: to show you how a WM can supercharge your productivity, help you control every aspect of your interface, and, ultimately, craft the computing environment you’ve always dreamed of.
Understanding the Window Manager vs. Desktop Environment
To kick off our journey, let’s clarify what a window manager (WM) really is. Put simply, a window manager is the component of a graphical operating system that controls the placement and appearance of windows. It handles how new windows open, how you can move them around or resize them, and, in many cases, how you navigate them with the keyboard or mouse.
- Go to r/UnixPorn to see how good window managers can look with a little customization.
The All-In-One Nature of DEs
A desktop environment (DE), is effectively a window manager plus:
- A panel (or dock) for launching and switching apps
- A system tray for managing background applications
- An integrated file manager
- A consistent set of theming components
- Desktop icons and widgets
- Configuration utilities or control panels
So, in a DE such as GNOME or KDE, you get all these features out of the box: a cohesive look and feel, graphical settings dialogs, and various utilities that tie seamlessly into one another. This makes DEs extremely user-friendly, especially for beginners or those who want a consistent, visually polished interface without tinkering too much.
The Lean, Modular Essence of WMs
Standalone window managers adopt a modular approach. They do exactly what their name suggests—manage the windows—without providing integrated apps, utilities, or theming engines. If you need a system tray, you’ll add one manually. If you want a file manager, you install it separately. If you need a panel or bar, you can choose which one you like best. The beauty of WMs is their flexibility: you mix and match components to build your own environment. This results in a drastically reduced resource footprint (my laptop running Arch and DWM uses 500MB of RAM at idle) and a very particular degree of control.
Common tasks and services that DEs provide—like power management, printing, network configuration, and Bluetooth support—can be handled in a WM-based system through standalone tools or command-line utilities or by relying on minimal GUIs (or command line tools) that don’t impose an overarching “desktop environment” structure. Remember the UNIX philosophy: “do one thing, and do it well.”
Key takeaway: A WM offers choice. Instead of forcing you into the all-in-one paradigm, it encourages you to pick and choose the components that suit you best, effectively letting you craft a personal computing experience that is as minimalistic or feature-rich as you desire.
Why Window Managers Can Boost Productivity
If you’ve ever used a desktop environment that felt sluggish or too full of bells and whistles, you’ll immediately notice how a WM can reduce resource usage. Stripping out those services and animations frees up RAM and CPU for what truly matters: the applications you’re actually using to get work done. But it does more than that for your productivity.
Speed and Responsiveness
Often, the key difference you’ll notice after installing a standalone WM is the near-instant responsiveness. Windows pop up exactly where you’d like them. You can switch workspaces or applications with a keystroke, with no transition animations in the way. This seamless snappiness has a psychological effect as well: once there’s nothing to wait for, you’ll find yourself working faster, flowing from one task to the next without friction.
Custom-Tailored Workflow
Because WMs typically rely on text-based configuration files, you can automate or customize every single aspect of your experience. Want a single hotkey to open your note-taking app alongside a web browser in a vertical split? That’s a couple of lines in your config. Need a dedicated workspace for image editing, say workspace number 3 for Darktable or GIMP, with a single command to switch to that workspace and launch the app if it’s not already open? That’s also trivial to set up.
A powerful example is in tiling WMs like i3 or Sway: you can open multiple applications side by side (auto-tiling them vertically or horizontally) so you can keep, for instance, your email client visible on the left while your IDE occupies the right half of the screen. Or maybe you prefer stacking windows in a tabbed layout—these WMs give you that option, too, and usually via a few simple key presses.
Fewer Distractions
Some of us—myself included—are easily lured by the siren calls of visual clutter: desktop widgets, fancy backgrounds, pop-ups, system tray icons you never use. Because a WM starts you with a blank slate, it’s entirely up to you which elements you add. If you prefer a distraction-free approach, you don’t have to install a system tray, or you can configure your bars to hide automatically. The effect is a computing environment that keeps your focus on the tasks, not on itself.
An In-Depth Look at Popular Window Managers
Window managers vary greatly, each has its own philosophy and approach to customization. Here are some of the most popular ones. Although we’ll concentrate mainly on Linux WMs, macOS and Windows have window managers too, and I’ve listed a couple for each.
i3
- Style: Tiling
- Configuration: Text-based config file in ~/.config/i3/config.
- Features: Workspaces, easy keybindings, lightweight status bar (i3bar), and the widely used i3blocks for advanced status bars.
- Best For: Users who want an approachable tiling WM with straightforward, intuitive defaults.
- Learn More About i3
i3 Config
# i3 config snippet
# Mod key set to the Super (Windows) key
set $mod Mod4
# Launch terminal
bindsym $mod+Return exec alacritty
# Launch app launcher (dmenu)
bindsym $mod+d exec dmenu_run
# Move focus between windows
bindsym $mod+j focus left
bindsym $mod+k focus right
Awesome
- Style: Tiling / dynamic / highly extensible
- Configuration: Lua-based configuration file.
- Features: Highly customizable layouts, widgets, theming. Integrates well with Lua for advanced automation.
- Best For: Power users who love scripting and want a fully hackable environment that can adapt to nearly any workflow requirement.
- Learn More About AwesomeWM
Awesome Config
awful.key({ altkey }, "x", function () awful.util.spawn( "pkill mpv" ) end),
awful.key({ altkey }, "x", function () awful.util.spawn( "pkill youtube-viewer" ) end),
awful.key({ modkey }, "e", function () awful.util.spawn( "thunar" ) end),
awful.key({ modkey }, "c", function () awful.util.spawn( "google-chrome-stable" ) end),
awful.key({ modkey }, "s", function () awful.util.spawn( "steam" ) end),
awful.key({ modkey, "Shift" }, "b", function () awful.util.spawn( browser ) end),
awful.key({ modkey }, "b", function () awful.util.spawn( "qutebrowser --backend webengine" ) end),
awful.key({ modkey, "Shift" }, "b", function () awful.util.spawn( "firefox-bin" ) end),
awful.key({ modkey, "Shift" }, "k", function () awful.util.spawn( "xscreensaver-command -lock" ) end),
bspwm
- Style: Tiling with a binary-space partitioning concept
- Configuration: Controlled via bspc commands, often from a shell script.
- Features: Very minimal; relies on external tools for things like panels (polybar is popular).
- Best For: Users who like to keep configurations in shell scripts and want a clean separation between the WM logic and the input mechanism (usually sxhkd for hotkeys).
- Learn More About bspwm
bspwm Config
bspc config border_width 2
bspc config window_gap 10
bspc config top_padding 20
bspc config bottom_padding 0
bspc config left_padding 0
bspc config right_padding 0
bspc config single_monocle false
bspc config click_to_focus true
bspc config split_ratio 0.50
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config focus_by_distance true
bspc config focus_follows_pointer true
DWM (Dynamic Window Manager)
- Style: Tiling, dynamic
- Configuration: C source code patches or editing a config.h file, then recompiling.
- Features: Incredibly minimal by default, but can be extended via patches.
- Best For: The minimalist who is also comfortable with C programming or at least confident in patching and compiling from source.
- Learn More About DWM
DWM Config
/* modifier key function argument */
{ MODKEY, XK_d, spawn, {.v = dmenu_recent } },
{ MODKEY, XK_Return, spawn, {.v = termcmd } },
{ MODKEY, XK_b, togglebar, {0} },
{ MODKEY, XK_j, focusstack, {.i = +1 } },
{ MODKEY, XK_k, focusstack, {.i = -1 } },
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
{ MODKEY|ShiftMask, XK_i, incnmaster, {.i = -1 } },
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
{ MODKEY|ShiftMask, XK_Return, zoom, {0} },
Sway (Wayland)
- Style: Tiling, i3-compatible
- Configuration: Very similar config syntax to i3, but for Wayland.
- Features: Provides i3-like tiling on Wayland, with improved rendering and potential for better multi-monitor support (depending on your hardware).
- Best For: People who love i3 but want to make the leap to Wayland for better performance, security, or multi-monitor scaling.
- Learn More About Sway
Hyprland
- Style: Wayland tiling / dynamic
- Configuration: A modern Wayland compositor with dynamic tiling.
- Features: Emphasizes flashy effects, animations, while still letting you run a tiling environment. Some users love it for that blend of minimalism with some eye candy.
- Best For: Tilers who still want a little aesthetic flair and are comfortable with a relatively new but fast-moving project in the Wayland space.
- Learn More About Hyprland
Hyprland Config
bind = $mainMod, Q, exec, brave-browser https://studio.youtube.com
bind = $mainMod, F1, exec, alacritty -e ncmpcpp
bind = $mainMod ALT, J, exec, alacritty --title VimWiki -e nvim $XDG_DATA_HOME/vimwiki/index.wiki
bind = $mainMod ALT, O, exec, flatpak run com.obsproject.Studio
bind = $mainMod ALT, F, exec, pcmanfm
bind = $mainMod ALT, B, exec, brave-browser
bind = $mainMod ALT, K, exec, kdenlive
bind = $mainMod ALT, G, exec, gimp
bind = $mainMod ALT, S, exec, com.spotify.Client
bind = $mainMod ALT, S, exec, discord-canary
bind = $mainMod ALT, R, exec, alacritty -e lf
bind = $mainMod ALT, N, exec, alacritty -e nvim
bind = $mainMod ALT, P, exec, alacritty -e pulsemixer
DWL
- Style: Wayland-based, minimal
- Configuration: Similar to DWM’s approach, but for Wayland.
- Best For: Someone looking for a minimal approach in the Wayland world, especially for folks moving from DWM.
- Learn More About DWL
MacOS Window Manager
Although Apple doesn’t call it a “window manager,” macOS includes several features reminiscent of a tiling or stacking WM, such as Mission Control, Spaces, and the ability to split windows side by side. Third-party tools like Amethyst, yabai, or Magnet approximate a tiling environment on macOS.
Windows Window Manager
Windows 10 and 11 rely on the built-in manager that’s fairly limited in tiling capabilities, though you can snap windows side by side or in quadrants. Advanced users sometimes adopt third-party solutions like PowerToys to simulate more powerful tiling or workspace usage.
4. Selecting and Installing a Window Manager: Step by Step
Choosing which WM to go with first depends heavily on your comfort level with text editing, willingness to read documentation, and your overall design aesthetic.
- Evaluate your needs: Tiling vs. floating? Are you comfortable editing text config files (like i3, bspwm, or Sway), or would you prefer something with a bit more “out-of-the-box” theming (like Awesome)?
- Check distribution repositories: Most WMs are readily available in major distro repositories. A quick sudo apt install i3 (for Ubuntu/Debian) or sudo pacman -S i3 (for Arch) typically does the job.
- Backup your environment: If you’re transitioning from a DE to a WM, consider installing the WM alongside your existing DE. Then, at login, you can choose which session to start. This ensures you can always fall back if something goes awry.
- Configure X11 or Wayland: If your distribution is primarily X11-based, you’ll likely install an X11 WM like i3, Awesome, or bspwm. If you’re on a Wayland-compatible setup, you might explore Sway, Hyperland, or DWL.
- Set up a Display Manager: If you have a display manager (like GDM, LightDM, or SDDM), you can select your newly installed WM session at login. If you want to go truly minimal, you may set up a .xinitrc (for X11) to launch your WM from the command line with startx.
Beware: Don’t forget to install a terminal emulator or panel before logging into your new WM. Once you’re in, you’ll probably find yourself staring at a blank screen with no way to launch applications. Make sure you have a plan for launching apps (e.g., dmenu, rofi) and a terminal (e.g., alacritty, xterm or st).
Expert Tips for Customizing Your WM
Once you’ve got your WM running, the real fun begins. Customizing a WM is akin to building your own DE—one piece at a time, use your workflow and aesthetics to make the best choices for you.
Keyboard Shortcuts
Customizing hotkey is where most of the fun in installing a WM comes from, enjoy! Most come with default combos (often using a “Mod” key, typically the Windows key or Alt key) but you can design your shortcuts however you like. A single line in your config might read:
bindsym $mod+t exec firefox
This triggers Firefox when you press “Mod + t”. Over time, you’ll develop shortcuts for every crucial part of your workflow: launching your text editor, locking the screen, controlling volume, switching workspaces, and more. My tip is to keep a text document open to write down all your hotkeys, I find myself forgetting ones I’ve used for years.
Workspaces and Automatic App Launch
Workspaces—essentially separate desktop areas—are a hallmark of productivity in WMs. You might designate:
- Workspace 1: Communication (email, Slack, chat)
- Workspace 2: Web browsing
- Workspace 3: Image editing or design tools
- Workspace 4: File browser or system monitoring
You can even tie specific applications to open on certain workspaces automatically. In i3, for example:
assign [class= "Firefox"] 2
That means whenever I launch Firefox, it will spawn on workspace 2. I can combine that with a hotkey like:
bindsym $mod+2 workspace 2
So pressing “Mod + 2” both switches to workspace 2 (if it’s already open) and if Firefox isn’t running, I can have a script to launch it there.
In DWM I do this like this:
{ MODKEY, XK_4, spawn, SHCMD(TERMINAL " -e nnn -e")},
TAGKEYS( XK_4, 3)
So, by pressing “Mod + 4” it opens a terminal and runs the shell command “nnn” (which is my file browser) all on the third (for me it’s the fourth) workspace
5.3 Adding a Status Bar
While i3 includes a basic bar, many WMs leave it up to you. Polybar is popular for its easy theming, modules, and custom scripts. i3blocks provides a simple text-driven approach. Waybar is another favorite for Wayland-based WMs. You can display system metrics (CPU usage, battery, volume level) or run custom scripts (crypto prices, weather, music player info). The sky’s the limit.
5.4 Automating Repetitive Tasks
Because WMs are so keyboard-centric, you can tie these shell scripts for productivity into your daily routine. For instance, maybe you run a script that:
- Switches to workspace 2
- Launches or focuses your web browser
- Switches to workspace 3
- Opens your note-taking app
- Splits your screen horizontally
With a single hotkey, you now have a “morning routine” that sets up everything you need.
5.5 Integrating Common Tools
Even if you come from a DE that offered easy tools for network management, Bluetooth control, or power settings, you can bring those functionalities back in a WM environment. For example:
- Network: Use NetworkManager with nm-applet in the system tray.
- Bluetooth: Use blueman-applet or command-line tools like bluetoothctl.
- Power management: Tools like xfce4-power-manager can run fine alongside a WM.
6. Potential Trade-Offs and How to Mitigate Them
Moving away from a DE does come with caveats. For example, you might lose:
- Integrated notifications or a “Do Not Disturb” toggle
- Automatic updates (some DEs have built-in update managers)
- Immediate access to theming or system-wide preference tools
- Pre-configured hotkeys for volume, brightness, media
Mitigation: In the WM world, nearly all of these can be replaced by smaller utilities or manual steps:
- Notifications: Run a standalone notification daemon like dunst.
- Updates: Use your package manager directly (apt, pacman, dnf), or install a minimal GUI tool if desired.
- Theming: For GTK or QT apps, you can still set themes by installing a tool like lxappearance or configuring environment variables.
- Media hotkeys: Just define your own keybindings, often hooking into commands like amixer for audio, or brightnessctl for screen backlight on laptops.
The payoff for all this is that you only install what you actually need, and everything is under your explicit control.
Real-World Scenarios: From Hobbyists to Corporations
The Writer’s Setup
A freelance journalist, constantly switching between a note-taking app (such as Obsidian), a reference website in Firefox, and a dictionary or PDF viewer, found it cumbersome to manage countless overlapping windows in GNOME. After moving to i3, she set up a single hotkey that opens her browser on the left half of the screen and her note-taking app on the right half. She can now research and write simultaneously, flipping between horizontal and vertical layouts with a keystroke. This streamlined approach reduced friction and improved her output speed.
The Photography Team at a Marketing Firm
An internal creative department used a standard DE (KDE Plasma) for tasks like image editing with Darktable or GIMP and file management on a network drive. They frequently got frustrated moving windows around, toggling previews, etc. After switching to bspwm with custom rules for each application to open in a specific tiling pattern, they spend less time configuring windows and more time performing actual edits. The firm reported a noticeable uptick in workflow velocity, especially during crunch times.
Startup Development Environments
Some small tech startups adopt window managers so developers can unify their environment across different hardware while minimizing resource usage on older laptops. Many developers at these startups use a tiling WM like Sway or Awesome for coding, debugging, and real-time collaboration tools, resulting in a consistent experience with minimal overhead—crucial for multi-VM setups or when resource usage becomes significant.
Parting Thoughts
It wasn’t that I chose to use a DE over a window manager. It was that I never knew I had the choice! But after a decade of using a WM (I’ve used DWM for most of that time), I know I’d never go back. My screen organizes itself around me rather than the other way around, and I can’t imagine a better feeling than that.
If you want to get more out of your existing hardware, do yourself a favor: pick a window manager, dive into its configuration, and discover how truly empowering a minimalist, keyboard-driven workflow can be. Like any new skill, the learning curve can feel steep, but the payoff is immense, and once you’re hooked, you’ll wonder how you ever lived under the constraints of a monolithic desktop environment.
In the end, a window manager is more than just a piece of software: it’s a philosophy that says you should be the one calling the shots, not your computer. And in a world where every second and every bit of focus matters, that level of control can be downright transformative.