Mdisplay
GUI monitor layout manager for mangowc :3
Install / Use
/learn @ernestoCruz05/MdisplayREADME
MDisplay
A GUI monitor layout manager for mangowc. Designed to be similar to tools like nwg-displays or wdisplays.
Features
- Visual Canvas: Drag and drop your screen layouts efficiently with magnetic edge snapping.
- Hardware Configurations: Manipulate DPI Scaling, Refresh Rates, Resolutions, and Orientation transforms.
- Live Previews: Temporarily apply your changes to experiment with custom layout configurations.
- Restore Default: Safely revert to your base configuration. MDisplay takes a frozen snapshot of your pre-existing monitor rules the very first time it runs, allowing you to easily undo all layout changes without affecting your other
mangowcsettings. - Persistent Saving: Save the finalized
monitorrulelines directly to~/.config/mango/monitors.conf, automatically appended to yourconfig.conf.
Requirements
MDisplay relies on the wlr-output-management-unstable-v1 Wayland protocol to query the currently active outputs and apply modifications.
Before running, ensure you have:
- The
mangowcWayland compositor installed (or any wlroots-based compositor that supports the protocol). - Rust toolchain (Cargo, rustc) to compile the application.
Installation
The easiest way to install MDisplay and make it appear in application launchers (like Rofi or Wofi) is to use the provided install script. This will compile the program and set up the desktop entry automatically:
git clone https://github.com/ernestoCruz05/mdisplay.git
cd mdisplay
./install.sh
Manual Installation
Alternatively, you can manually compile using Cargo and copy the .desktop file:
cargo install --path .
mkdir -p ~/.local/share/applications
cp mdisplay.desktop ~/.local/share/applications/
[!NOTE] MDisplay is installed to Cargo's default binary directory. If your terminal or application launcher says "command not found", ensure
~/.cargo/binis in yourPATH. You can add it by puttingexport PATH="$HOME/.cargo/bin:$PATH"in your~/.bashrcor~/.zshrc.
Usage
You can customize where mdisplay saves your hardware configurations, and whether it automatically links them, by passing arguments before launching the GUI. These preferences are permanently saved to ~/.config/mdisplay/settings.json.
# Check current build version
mdisplay --version
# Set a custom save path for the monitors config
mdisplay --set-monitors-path ~/.config/some_folder/my_custom_monitors.conf
# Set a custom target for the main Wayland config appending
mdisplay --set-config-path ~/.config/some_other_folder/config.conf
# Disable auto-appending the source include line completely (you will need to manually add it, if you want it for some reason)
mdisplay --auto-append-source false
Configuration Output Files
The Save function integrates natively with mangowc config systems. Output format generally matches:
monitorrule=name:DP-1,width:1920,height:1080,refresh:144.000000,x:0,y:0,scale:1.000000,rr:0
Related Skills
node-connect
337.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.3kCommit, push, and open a PR
