On screen / Writing

limDE.

Less is more.

The limDE desktop on first login: a thin panel along the top with the date and time, and the agent window’s welcome page listing Claude, ChatGPT, Gemini, Copilot, Le Chat and Perplexity.
First login: the panel along the top and the agent window’s welcome page. A clean install in a virtual machine.

Two goals from the start.

limDE is made for laptops first: careful with the battery, with trackpad motion and scrolling modelled on a MacBook’s. Those two goals shaped it before anything else did.

The battery graph open below the panel, titled Last 7 days: draw in watts from Wednesday to Tuesday, with gaps while plugged in, and a summary reading Avg 7.2 W, Peak 45.5 W, 14h 15m on battery.
The last 7 days of draw on my laptop.

Keep battery drain low, and visible. On a laptop, every background process, wake-up, and service costs battery life. limDE starts only what the desktop needs: no display manager, no extra services, and none of the extras a package manager recommends. It also puts the numbers in front of you. The panel shows the battery’s live draw in watts and the hours left, and colours the battery icon as the draw climbs, so I can see how fast it’s draining and notice when the draw jumps. Hovering over it shows CPU and memory use. Click the battery for a graph of the draw over the last 3 hours, 24 hours, or 7 days: an average line over a band from lowest to highest, with gaps where the laptop was plugged in. Tinybar builds it from 5-minute summaries it keeps on the laptop for 7 days. The screen locks after 5 idle minutes, and a laptop on battery suspends after 8.

Trackpad motion and scrolling that feel like a MacBook. Slow, precise pointer movement that speeds up smoothly, and two-finger scrolling that follows your fingers. That needs custom acceleration curves in labwc, a feature I added upstream myself: my pull request, “input: support opt-in libinput custom acceleration”, was merged into labwc’s upstream master in September 2026. It lets a touchpad have separate curves for motion, scrolling, and everything else. It’s newer than any labwc release, and Ubuntu 26.04 packages an older labwc still, which is why limDE builds labwc from source. It ships the curves I tuned in my touchpad exploration, turned on for touchpads by default.

A trial run at leaving Windows.

limDE began as a trial of moving away from Windows. It became the minimal labwc setup I use every day on my own laptop. labwc is a small Wayland compositor, the software that draws and manages the windows.

limDE is that setup, generalized so anyone can install it, with my personal settings stripped out. It isn’t a distribution. There’s no ISO and no kernel of its own: you install Ubuntu Server 26.04, clone the repository, run ./install, and log in. Ubuntu still supplies the system and its security updates.

The “lim” is for less is more, an idea I’d had in mind for years. The project was first called elachisto, Greek for “minimum”. That was hard to remember, so it became limDE.

What’s in it.

  • labwc, built from a pinned upstream commit that includes my custom acceleration work, with my tuned touchpad curves on by default.
  • Tinybar, my own compact panel: open windows, Wi-Fi, volume, brightness, notifications, the clock, and the battery with its live draw in watts and a graph of the last 3 hours, 24 hours, or 7 days.
  • Walker, a launcher for apps, files, and calculations, on Super+Space.
  • PCManFM, with a Space-bar quick-look preview I added for images, text, PDFs, and folders. I’ve proposed the file manager’s side of it upstream (pull request #64, still open).
  • agent-web, a persistent window for whichever web AI agent you use: Claude, ChatGPT, Gemini, or another. It learns the agent’s sign-in domains the first time, sends other links to your main Firefox, and reopens on the conversation you were last in.
  • swaylock for the lock screen. I’ve also proposed an opt-in mode upstream that shows dots as you type, so you can tell your typing registered without revealing the password’s length (pull request #475, still open).
  • One dark theme and my own hand-drawn set of line icons, applied across the apps, the panel, the launcher, and notifications.
  • Small helpers: Mac-style Super+W and Super+Q to close and quit, screenshot keys, and a notification when files are cut or copied.
The Walker launcher: a search box for apps, files and calculations above a list of Agent, Document Viewer, Firefox, Foot, Htop, PCMan File Manager and Vim.
Super+Space: apps, files, and sums.
PCManFM showing a Pictures folder, with a preview of a blue and purple gradient image floating over the file list.
Select a file, press Space, and see it.

Minimal, not dogmatic.

Before installing anything, the installer lists every package it wants and the reason for it. The optional parts, such as laptop extras, a PDF viewer, and printing, are your choice.

Only labwc is built from source, because that’s where the trackpad feel comes from. Everything else comes from Ubuntu or from pinned upstream releases.

It’s yours to change. The shipped defaults sit apart from your own settings, so an update never overwrites what you’ve changed.

Built with AI, directed by me.

As with the touchpad work, I relied heavily on AI, and I want to be clear about how. Claude Code, Anthropic’s coding agent, wrote most of the code, the install scripts, and the documentation, and it ran the install tests in virtual machines.

I decided what limDE should be and do. I used it every day on my own laptop, tested it, reported what was wrong, and reviewed and committed the changes. The labwc touchpad patches were made the same way, and I couldn’t have written them on my own.

Where it stands.

limDE is in beta. The first public release, 1.0.0-beta.1, came out in October 2026, and the current version is 1.0.0-beta.2, which added the battery graph. In a clean virtual machine, an automated install test of the first beta passed all 31 of its checks: the install itself, a second run that changes nothing, and a reboot into the desktop. In that virtual machine, with Firefox and the agent window open, the system used about 710 MB of memory.

On my laptop, with only the agent window open, the desktop itself uses about 240 MiB. The agent window’s Firefox takes about 1.1 GiB on a new claude.ai conversation, growing to 1.2–1.8 GiB with one long conversation until the window restarts. The whole system uses about 3.0 GiB of 16 GB.

The foot terminal running htop in a four-CPU virtual machine, showing about 713 MB of memory in use, with a notification in the corner reading Cut “dusk.png”, paste with Ctrl+V to move.
htop in the test VM, and the notification after cutting a file.

It’s in daily use on my Dell XPS 15 9520, but it hasn’t been verified on any other hardware. From-scratch installs have been tried only in QEMU and from a USB stick on that same laptop. In the USB-stick install, boot, Wi-Fi, the touchpad, apps, the preview, the launcher, and the icons all worked. Sound, suspend and resume, the lid, and the battery readout weren’t part of that test.

There are known gaps. It supports Ubuntu 26.04 on x86_64 only. The panel’s Wi-Fi list is display-only for now, so networks are joined with nmtui. There’s no uninstaller yet. And the trackpad curves were tuned on one laptop’s touchpad, so they may feel different on yours; they’re easy to change or turn off.

limDE on GitHub, with install steps, keys, and the full list of known gaps. I introduced it on labwc’s Show and tell.