Skip to content

A comprehensive Windows application for setting custom monitor resolutions with safety features and ease of use. Built specifically to solve real-world multi-monitor alignment issues.

License

Notifications You must be signed in to change notification settings

shahabafshar/Resolution-Tweak

Repository files navigation

Resolution Tweak

A comprehensive Windows application for setting custom monitor resolutions with safety features and ease of use. Built specifically to solve real-world multi-monitor alignment issues.

🎯 Motivation

I created this application because I needed to tweak my Surface Book 2 to support better alignment with my external monitor. The default Windows apps and third-party tools were either too complex, unsafe, or simply didn't work reliably for this task. This tool was built out of necessity and I hope it helps others facing similar multi-monitor challenges.

✨ Features

  • Safe Resolution Testing: 15-second test mode with automatic rollback
  • Multi-Monitor Support: Detect and manage multiple displays
  • Smart Screen Fill Detection: Visual indicators (✓, ⚠, ★) for resolutions that can fill the entire screen
  • Progressive Compatibility: Intelligent fallback for unsupported resolutions
  • Current Resolution Detection: Automatically reads and displays current monitor settings
  • Quick Presets: One-click access to common resolutions (HD, Full HD, 2K, 4K)
  • Responsive UI: 3-column layout that adapts to different screen sizes
  • Administrative Safety: Requires admin privileges for system-level changes

🚀 Quick Start

Prerequisites

  • Windows 10/11
  • .NET 6.0 Runtime
  • Administrative privileges

Installation

  1. Download the latest release from the Releases page
  2. Extract the ZIP file
  3. Right-click ResolutionTweak.exe and select "Run as administrator"

Usage

  1. Select Monitor: Choose your target display from the dropdown
  2. View Supported Resolutions: Browse the list of available resolutions with fill indicators
  3. Set Custom Resolution:
    • Single-click any resolution to populate the custom fields
    • Double-click to set and apply immediately
  4. Test Before Applying: Use the "Test Resolution" button for a 15-second preview
  5. Apply Permanently: Use "Apply Resolution" to make changes permanent
  6. Quick Reset: Use "Reset to Original" to restore your previous settings

🔧 Build from Source

Requirements

  • Visual Studio 2022 or .NET 6.0 SDK
  • Windows 10/11 development environment

Build Steps

# Clone the repository
git clone https://github.com/yourusername/Resolution-Tweak.git
cd Resolution-Tweak

# Build Debug version
dotnet build ResolutionTweak/ResolutionTweak.csproj --configuration Debug

# Build Release version
dotnet build ResolutionTweak/ResolutionTweak.csproj --configuration Release

# Run Debug version (includes console output)
ResolutionTweak\bin\Debug\net6.0-windows\ResolutionTweak.exe --debug-resolution

# Run Release version
ResolutionTweak\bin\Release\net6.0-windows\ResolutionTweak.exe

🛡️ Safety Features

  • Test Mode: All resolution changes start with a 15-second test period
  • Automatic Rollback: Changes automatically revert if not confirmed
  • Input Validation: Comprehensive validation of resolution parameters
  • Error Handling: Graceful handling of unsupported resolutions
  • Admin Requirements: Prevents accidental system changes

🎨 UI Features

  • 3-Column Layout: Efficient use of screen space
  • Responsive Design: Adapts to different monitor sizes
  • Visual Indicators: Clear feedback for screen fill compatibility
  • Status Updates: Real-time feedback on all operations
  • Tooltips: Helpful hints for all major functions

🔍 Debug Mode

For developers and troubleshooting, run with the --debug-resolution flag to enable console output and detailed resolution detection logging.

📋 Supported Resolutions

The application automatically detects all resolutions supported by your graphics card and monitor combination, including:

  • Standard resolutions (HD, Full HD, 2K, 4K)
  • Custom resolutions
  • Various refresh rates (60Hz, 75Hz, 120Hz, etc.)
  • Different color depths (24-bit, 32-bit)

🤝 Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

Development Guidelines

  • Follow existing code style
  • Add appropriate error handling
  • Test on multiple monitor configurations
  • Update documentation for new features

📄 License

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

⚠️ Disclaimer

This tool modifies system display settings and requires administrative privileges. While it includes safety features, use at your own risk. Always test resolutions before applying them permanently.

🙏 Acknowledgments

  • Built with WPF and .NET 6.0
  • Uses Windows Display API for reliable resolution management
  • Inspired by the need for better multi-monitor management tools

📞 Support

If you encounter issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Include your Windows version, monitor configuration, and error details

Made with ❤️ for the Windows community. If this tool helps you, please consider giving it a star!

About

A comprehensive Windows application for setting custom monitor resolutions with safety features and ease of use. Built specifically to solve real-world multi-monitor alignment issues.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published