GitHunt
AH

Ahmadalzin95/dwm-ubuntu-24-04

A keyboard-driven dwm suite for Ubuntu 24.04. Performance-optimized, fully automated, and dynamically themed with Wallust.

Ultimate dwm Setup for Ubuntu 24.04

This repository contains a fully automated, dynamic desktop environment based on the dwm (dynamic window manager) and dmenu from Suckless. It is specifically designed and optimized for Ubuntu 24.04 LTS.

The setup features a "Material-Black-Blueberry" aesthetic, powered by Wallust for real-time color generation across the entire system.

--> This project is provided "as is" and without any warranty. It works perfectly on my three personal laptops, but I cannot guarantee it will work on yours.

Key Features

  • One-Command Install: No manual compilation needed.
  • Ubuntu Optimized: Replaces GNOME bloat effectively.
  • Dynamic Theming: Wallust integration for instant color switches.

Demo

dwm - ubuntu 24.04 Demo

Performance Benchmark

This setup is optimized for efficiency. Below is a real-world comparison between the standard Ubuntu 24.04 (GNOME) session and this dwm suite, tested on the exact same hardware with the same background workload.

Values represent the Base System Load (OS + Desktop Environment) without additional user applications opened.

Metric GNOME dwm Efficiency Gain
Idle RAM Usage ~1.3 GB ~650 MB -50% Memory Usage
Process Count ~280 ~190 ~90 Fewer Tasks
Boot to Desktop 50.5s 48.8s Similar

RAM Usage Analysis

The ~650 MB idle usage is higher than minimal distributions (like Arch or Void) due to the underlying Ubuntu base services, not the window manager itself.

  • Ubuntu Base: The remaining memory is reserved by mandatory background services that ensure system stability and hardware compatibility:
    • Snap Daemon: ~150 MB -> Background service for Snap packages.
    • Systemd Suite: ~150 MB -> Journaling, Logind, Resolved.
    • Network & Audio: ~100 MB -> NetworkManager, Pipewire.
    • Security & Policy: ~100 MB -> Polkit, UPower, AccountsService.

Replacing GNOME with dwm removes the desktop layer overhead, but this base system load remains to maintain the "out-of-the-box" Ubuntu functionality.

Installation

The setup is designed to be completed with a single command.

  1. Clone the repository:
git clone https://github.com/Ahmadalzin95/dwm-ubuntu-24-04.git ~/suckless
cd ~/suckless
  1. Run the setup script:
chmod +x setup.sh
./setup.sh
  1. Switch Session: Once the script finishes, log out of your current session. At the Ubuntu login screen, click the small gear icon in the bottom right corner, select dwm, and log back in.

System Scripts

All logic is contained within the scripts/ directory. Here is a brief overview of the custom tools:

Script Function
apply-theme Changes wallpaper and forces Wallust to regenerate system colors instantly.
app_manager Lists running X11 windows in dmenu and allows you to terminate them.
autostart Runs background services and initializes monitor layouts.
bt_status Provides Bluetooth connectivity status for the slstatus bar.
dwm-menu System hub for WiFi, Bluetooth, VPN, and Power management.
hw_status Detects hardware interfaces (WiFi, Battery, Temp) for bar monitoring.
layout_toggle Cycles keyboard layouts (US, DE, AR) with system notifications.
mycal Interactive calendar with Vim-like navigation (j/k) inside a terminal popup.
lock Activates a blurred lockscreen via Betterlockscreen.
monitor.sh Sets the Xrandr monitor resolution and positioning.
screenshot Advanced screen capture tool for areas, windows, or full monitors.

Shortcuts & Control

This configuration uses Alt (Mod1) as the main key and Super (Windows Key) for system functions.

  • Alt + p: Open App Launcher (Desktop applications only)
  • Alt + Shift + p: Open Command Launcher (dmenu_run)
  • Alt + Shift + Enter: Open Gnome-Terminal
  • Alt + s: Open System Menu (Power/WiFi/VPN)
  • Alt + x: Open App Manager (Kill running apps)
  • Alt + F1: Open Calendar
  • Super + p: Open nsxiv Image Gallery

Window Management

  • Alt + j / k: Focus next/previous window

  • Alt + Shift + c: Close focused window

  • Alt + b: Toggle Status Bar visibility

  • Alt + Enter: Swap focused window to Master

  • Alt + Ctrl + Shift + q: Restart dwm

Hardware & Media

  • Super + Space: Toggle Keyboard Layout (US -> DE -> AR)

  • Super + l: Lock Screen

  • PrintScreen: Capture Full Monitor

  • Super + s: Capture Selected Area

  • Audio Keys: Volume Up/Down/Mute (with notifications)

  • Brightness Keys: Display Brightness Up/Down (with notifications)

Custom Theming

The system uses a dynamic theming engine. You can change your entire system look by running:

apply-theme </path/to/your/wallpaper.jpg>

This build is based on source code from suckless.org. It includes several patches for dwm and dmenu to enable gaps, centering, and desktop file support.

Ahmadalzin95/dwm-ubuntu-24-04 | GitHunt