Wesley Schwengle Le moi

Freelance contracter & slacker

gitlab git-merge github gitlab box package linkedin

Latest posts

Latest Article

Workspace on Demand in i3wm

Published: September 24, 2025

TL;DR

I built a dynamic workspace loader for i3wm that lets me switch between multiple context-aware workspace groups (like “Client”, “Company”, and “Personal”) without losing state. It uses Perl, AnyEvent::I3, YAML config, and tick events to load layouts and launch apps on demand.

Workspaces on Demand

I have been using i3 as a Window Manager for years now. And while I love working with i3, there is one thing I found annoying. And that is that it lacks context awareness. What do I mean by this? I use it in several contexts: “Client”, “Company”, and “Personal”. Meaning, I’m in either client mode, company mode or personal mode. And ‘client mode’ can mean working with one or multiple clients at once. I pitched my initial idea on i3’s discussion pages and someone else asked about something similar as KDE’s “Activities”.

.... read more ....

See all Article posts

Latest Answerrit

Question: How can I prevent multiple logins via lightDM

Published: February 9, 2026

Answer

I use xscreensaver and to forbid it:

! in .Xresources
xscreensaver.splash: false
! Set to nothing makes user switching not possible
*.newLoginCommand:

Lightdm supports .d directories, by default they aren’t created on Debian but upstream documents them clearly. In other words: /etc/lightdm/lightdm.conf.d/ is read.

Which means you need to drop a file, /etc/lightdm/lightdm.conf.d/10-local-overrides.conf and add the content:

[Seat:*]
allow-user-switching=false
allow-guest=false

To check your configuration:

lightdm --show-config

.... read more ....

See all Answerrit posts