A sleek, modern monitor configuration tool for Hyprland
# Install Rust if you haven't already
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/brkastner/hyprscreens.git
cd hyprscreens
cargo build --release
# Install
sudo cp target/release/hyprscreens /usr/local/bin/Coming soon
yay -S hyprscreensLaunch the application:
hyprscreens# Modify a monitor
hyprscreens modify DP-1 -r 2560x1440 --refresh-rate 144 -s 1.5
# Create a profile from current setup
hyprscreens profile save "Work Setup" -d "Dual monitor workspace"
# Apply a saved profile
hyprscreens profile apply "Work Setup"
# List all profiles
hyprscreens profile listAdd this to your ~/.config/hypr/hyprland.conf:
source = ~/.config/hypr/config/monitor.conf
Hyprscreens manages monitor.conf automatically with:
- Automatic backups — Timestamped backups before every change
- Smart merging — Preserves comments and non-monitor configuration
- Safe writes — Atomic file operations prevent corruption
CLI
# Set resolution & refresh rate
hyprscreens modify DP-1 \
-r 3840x2160 \
--refresh-rate 144
# Position and scale
hyprscreens modify DP-1 \
-p 1920,0 -s 1.5
# Enable VRR
hyprscreens modify DP-1 --vrr true# Save current configuration
hyprscreens profile save "Gaming" -d "Triple monitor gaming setup"
# Apply a profile
hyprscreens profile apply "Gaming"
# List all profiles (shows which are applicable)
hyprscreens profile list
# Show detailed profile info
hyprscreens profile show "Gaming"
# Rename a profile
hyprscreens profile rename "Gaming" "Gaming 4K"
# Delete a profile
hyprscreens profile delete "Old Setup"hyprscreens modify <MONITOR> [OPTIONS]
Options:
-r, --resolution <WIDTHxHEIGHT> Set resolution
--refresh-rate <RATE> Set refresh rate in Hz
-p, --position <X,Y> Set position coordinates
-s, --scale <SCALE> Set scale factor (0.5-3.0)
--vrr <true|false> Enable/disable VRR
--transform <0-7> Set rotation (0=normal, 1=90°, etc.)
-e, --enabled <true|false> Enable/disable monitor
--bitdepth <8|10> Set bit depth
--apply / --no-apply Apply immediately (default: true)
--save / --no-save Save to config (default: true)Made with ❤️ for the Hyprland community