wmswitch

Beta v0.1.0

Unified configuration manager for tiling window managers

Maintain a single TOML configuration file and generate native configs for i3, Hyprland, and AeroSpace. Profile management, conflict detection, and migration tools.

Quick Start

wmswitch eliminates duplicate config files by providing a single TOML configuration that generates native configs for multiple window managers.

Interactive Setup
$wmswitch wizard ~/.config/wmswitch/config.toml
Welcome to wmswitch configuration wizard! Configure your applications: Terminal [alacritty]: Launcher [rofi -show drun]: Browser [firefox]: Configuration saved to ~/.config/wmswitch/config.toml
$wmswitch generate ~/.config/wmswitch/config.toml
Generating configs... ✓ i3 config → ~/.config/i3/config ✓ Hyprland config → ~/.config/hypr/hyprland.conf Complete!

Installation

From RPM

DNF
$sudo dnf install wmswitch
$wmswitch version
wmswitch version 0.1.0

From Source

Make
$git clone https://github.com/tenseleyFlow/wmswitch.git
$cd wmswitch && make release
$sudo install bin/wmswitch /usr/local/bin/

Dependencies

Build Requirements

  • gcc - GNU C Compiler
  • make - Build automation
  • C99 standard library

Runtime Requirements

  • At least one: i3, Hyprland, or AeroSpace
  • No external dependencies (statically linked TOML parser)

First Steps

Create your first configuration using the wizard:

Wizard
$wmswitch wizard ~/.config/wmswitch/config.toml
$wmswitch validate ~/.config/wmswitch/config.toml
Validating configuration... ✓ No conflicts detected ✓ 4 workspaces defined ✓ 12 keybindings configured Configuration is valid
$wmswitch --backup generate ~/.config/wmswitch/config.toml
Creating backups... Generating configs... ✓ Complete!