Skip to content

nikolas-sturm/WOMP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fallback image description

WOMP

The Windows Output Manager Protocol

License: MIT Release Version Total Downloads


WOMP is a modern Windows display profile manager written in Rust, allowing you to save and switch between different display configurations with ease. It's a spiritual successor to Monitor Profile Switcher by Martin Krämer, reimagined with modern technologies.

Highlights

  • 💾 Save & Load Display Profiles: Save your current display configuration and switch between profiles easily
  • 🖥️ Complete Display Management: Control enabled/disabled state, resolution, refresh rate, and virtual positioning of each display
  • 🔍 Additional Display Settings: Save and restore DPI/scaling settings and HDR state.
  • 🏠 Desktop Customization: Preserve wallpaper & desktop icon size across profiles
  • 🔊 Audio Management: Configure default audio output devices per profile
  • Beautiful Modern UI: Built with Tauri and React using FluentUI components - perfectly integrating with Windows 11's design language
  • 🔄 System Integration: Runs in the system tray for easy access
  • 🛠️ Custom Actions: Run arbitrary commands before and after applying profiles
  • 🎨 Profile Customization: Add custom icons to your profiles for easy identification

Use Cases

WOMP is perfect for users who regularly switch between different display configurations:

  • Work/Gaming Setup: Switch between a multi-monitor productivity setup and a single gaming monitor
  • Presentation Mode: Quickly configure displays for presentations
  • TV/Media Setup: Configure displays for optimal media viewing experience
  • Home Office/Entertainment: Seamlessly transition between work and entertainment display configurations

Real-world Example

A typical use case involves managing multiple displays:

  • 3 desk monitors for regular work
  • Single monitor gaming setup (for fewer distractions and better performance)
  • TV output for gaming with 144Hz refresh rate
  • TV output for movies with 24Hz refresh rate and movie mode

With WOMP, you can create profiles for each scenario and switch between them with a single click!

Installation

Main Installation

Installer: Download the NSIS installer from the releases page

Screenshots

Main Window
- Main Window

Tray Menu
- Tray Menu

CLI
- CLI App

Command Line Interface

WOMP includes a CLI for automation:

womp_cli save <profile_name>   # Save the current layout to a profile
womp_cli apply <profile_name>  # Apply a saved profile
womp_cli list                  # List all available profiles

Building from Source

Prerequisites

Build Steps

  1. Clone the repository

    git clone https://github.com/nikolas-sturm/womp.git
    cd womp
    
  2. Build the project

    cargo build --release
    
  3. Build the GUI

    cd crates/womp_gui
    npm install
    npm run tauri build
    

The compiled binaries will be available in the target/release directory.
The NSIS installer bundle will be inside target/release/bundle/nsis

Project Structure

  • womp-core: Core library containing the display management functionality
  • womp-cli: Command-line interface for basic interactions
  • womp: Tauri/React application providing a modern GUI experience

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

About

WOMP is a modern Windows display profile manager written in Rust, allowing you to save and switch between different display configurations with ease.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors