Skip to content

DisplayProfileManager saves and switches Windows display profiles from the system tray. It manages per-monitor resolution, refresh rate, and DPI scaling for quick task-driven changes 🐙

License

Notifications You must be signed in to change notification settings

hassansubhani397/DisplayProfileManager

Repository files navigation

https://github.com/hassansubhani397/DisplayProfileManager/releases

Downloads

DisplayProfileManager: Windows Tray App for Fast Display Profiles

A Windows system tray tool to manage and switch between display settings quickly. Save per-monitor resolutions, refresh rates, and DPI scaling. Switch profiles with a click or automatically on start. Supports themes, profile import/export, and easy multi-monitor configuration.

This project focuses on clarity and control. It aims to be dependable in daily use. It keeps settings local to your machine for privacy. It runs in the system tray so you can work without interrupting your desktop flow.

Table of contents

  • Why this tool
  • Core features
  • How it works
  • Getting started
  • Working with profiles
  • Per-monitor configuration
  • Import and export
  • Auto-start and theming
  • Multi-monitor scenarios
  • Keyboard and accessibility
  • Data storage and security
  • Troubleshooting
  • Known issues and limitations
  • Roadmap
  • Project structure
  • How to contribute
  • License and acknowledgments
  • Questions and support

Why this tool

  • Quick access: Change display settings without opening the main system settings.
  • Per-monitor control: Assign different resolutions, refresh rates, and DPI scaling to each monitor.
  • Persisted work: Save profiles so your preferred setup stays intact after logins or restarts.
  • Convenience features: Auto-start, themes, and easy import/export of profiles.
  • Safe and local: All profile data is stored on the device; no cloud needs unless you opt in for export.

Core features

  • System tray presence: The app sits in the notification area for fast access.
  • Per-monitor profiles: Create and save settings specific to each connected monitor.
  • Resolution switching: Set exact horizontal and vertical resolutions per monitor.
  • Refresh rate control: Pick a refresh rate that matches your monitor’s spec.
  • DPI scaling per monitor: Adjust how content is scaled on each display.
  • Auto-start: Start with Windows so your preferred setup is ready on login.
  • Theme support: Light and dark themes for the tray icon and the app window.
  • Import/export: Move profiles between devices or back them up safely.
  • Multi-monitor support: Work across several screens with predictable layouts.

How it works

  • The app runs in the system tray and presents a profile list.
  • Each profile stores settings for every connected monitor.
  • When you apply a profile, the app uses Windows display APIs to apply the saved values.
  • Profiles can be organized, copied, renamed, or deleted as needed.
  • Importing a profile file brings its data into the app. Export creates a portable file for sharing or backup.

Getting started

  • Prerequisites: A Windows PC with a supported .NET Framework runtime and multiple monitors if you plan to use multi-monitor profiles.
  • Installation: Download the Windows installer from the releases page and run it. The installer guides you through the setup.
  • First run: After installation, the app places an icon in the system tray. Open the configuration panel to create your first profile.
  • Basic workflow: Create a profile, assign per-monitor settings, save, then click Apply to switch to that configuration.
  • Auto-start option: Turn on auto-start if you want the app to launch on login.

Work with profiles

  • Create a profile: Give the profile a name. For each connected monitor, set the desired resolution, refresh rate, and DPI scaling.
  • Save: Profiles are stored locally on your machine. They survive restarts and logins.
  • Apply: Switch to a profile with a single click. The app enforces the chosen settings immediately.
  • Rename: Change the profile name anytime. It helps you keep a clear library.

Per-monitor configuration

  • Monitor mapping: The app detects connected displays and lists them in a consistent order.
  • Individual settings: Each monitor can have its own resolution, refresh rate, and DPI scaling value.
  • Default fallback: If a profile lacks a setting for a monitor, the app uses the system default for that monitor.
  • DPI awareness: DPI changes are applied in a way that keeps UI elements legible without distortion.
  • Safe edits: Changes apply when you click Apply. You can revert if something looks off.

Import and export

  • Import: Load a profile file created on another device. The app validates the structure and contents before merging.
  • Export: Save a profile to a portable file. This makes it easy to transfer your setup to another PC.
  • File format: Profiles are stored in a human-readable format that can be opened and inspected. You can edit safely if you know what you’re doing.

Auto-start and theming

  • Auto-start: Enable auto-start so your preferred profile loads automatically when Windows starts.
  • Themes: Choose between light and dark modes for the tray icon and any windows that appear. The theme adapts to your system or remains fixed to your choice.
  • Visual clarity: Theme choices are designed to keep settings legible under various lighting conditions.

Multi-monitor scenarios

  • Primary and secondary displays: You can set different roles for each monitor (for example, main work vs. media display).
  • Size and density: Profiles respect the physical characteristics of each monitor, including pixel density and physical resolution.
  • Alignment: Profiles can assume a consistent arrangement when you reconnect displays, reducing the need to reconfigure every time.

Keyboard and accessibility

  • Keyboard access: Quick actions can be performed with a keyboard shortcut for common tasks like applying a profile or opening the configuration panel.
  • Focus and navigation: The UI is built with accessible focus order, making it easier to use with assistive technologies.
  • Clear labels: Each control has a clear label so it’s easy to understand what a setting does.

Data storage and security

  • Local storage: All profiles are stored locally on your device.
  • Backups: Import/export acts as a backup method. It’s safe to keep copies on external storage if you want.
  • Privacy: No data is uploaded by the app unless you explicitly export to a file and share it.

Troubleshooting

  • Profiles don’t apply: Check that the target monitor supports the requested resolution and refresh rate. Some older displays may have limits.
  • DPI scaling looks odd: Verify that the DPI value matches the monitor’s capabilities. Reboot after applying a profile if scaling doesn’t take effect immediately.
  • Monitor not detected: Ensure cables are securely connected and recognized by Windows. Try reconnecting one monitor at a time.
  • Auto-start not working: Check Windows startup settings. The app should be listed and enabled. If not, reconfigure the installer to include the startup entry.
  • Theme issues: If icons appear faint, switch themes and back to reset icon rendering.

Known issues and limitations

  • Some legacy monitors have limited support for certain resolutions or refresh rates. Profiles may require adjustments.
  • DPI scaling on certain laptops with high DPI screens can behave differently after wake from sleep. A quick re-apply often fixes it.
  • If a monitor is hot-plugged while Windows is running, the app may need a profile re-apply to adjust to the new display topology.

Roadmap

  • Enhanced validation: More checks to prevent misconfiguration when applying profiles.
  • Scheduling: Ability to switch profiles automatically at times or events.
  • Cloud sync (optional): Sync profiles across your devices with user consent.
  • Advanced scripting: Expose common actions through a simple scripting interface.
  • More theme options: Additional color palettes and icon sets.

Project structure

  • src/主分支: Core application code written in C# using WPF.
  • src/Resources: Icons, images, and styling assets.
  • src/Profiles: Data structures for profiles and per-monitor settings.
  • src/Utils: Helpers for dealing with display APIs and file I/O.
  • docs: Documentation, user guides, and troubleshooting notes.
  • tests: Unit tests and integration tests (where applicable).

How to contribute

  • Prerequisites: A recent version of Visual Studio or a compatible IDE, and the .NET Framework appropriate for the project.
  • Issue tracker: Browse open issues and suggest enhancements or fixes.
  • Bug reports: Include steps to reproduce, expected behavior, actual behavior, and logs if possible.
  • Pull requests: Propose changes with clear commits and a descriptive title. Include tests if you add new behavior.
  • Code style: Follow the existing naming and formatting conventions. Keep functions focused and small.
  • Documentation: Update user-facing docs when you add new features or change behavior.

License and acknowledgments

  • This project uses a permissive license. See the LICENSE file in the repository for details.
  • Acknowledgments to contributors and users who provided feedback and ideas.

Topics

  • csharp
  • desktop-application
  • display-manager
  • display-settings
  • dotnet-framework
  • dpi-scaling
  • monitor-configuration
  • multi-monitor
  • profile-manager
  • refresh-rate
  • resolution-changer
  • system-tray
  • windows
  • windows-desktop
  • wpf

Screenshots and visuals

  • Tray icon in action, showing a list of profiles and a quick apply button.
  • Per-monitor configuration panel with a clear grid of monitors and their settings.
  • Import/export dialog for saving and loading profile files.

Usage patterns and practical tips

  • Start with a simple baseline profile. Use it as a template for more advanced configurations.
  • When adding a new monitor, create a profile that documents the recommended resolution and DPI for that display.
  • Use the Preview feature (if available) to confirm how a profile will affect each monitor before applying it.
  • Make a backup of your profiles periodically by exporting them to a known location.
  • Consider naming conventions that reflect purpose, such as “Work-30inch-4K” or “Movie-1080p-60Hz”.

Compatibility notes

  • The tool targets Windows environments with WPF-based UI.
  • It relies on standard Windows APIs for display management. Functionality may vary on very old hardware.
  • It is designed to be safe on most systems, with safeguards to prevent invalid settings from applying.

Documentation and help

  • The project includes a detailed user guide within the docs directory.
  • You can view the latest installer details on the releases page.
  • For quick help, use the built-in help panel that explains each setting with examples.

Release notes

  • Each release provides a changelog describing new features, fixes, and improvements.
  • The releases page hosts installers that reflect the current state of the project.

Distribution and distribution notes

  • The installer is provided through the official releases page.
  • The approach avoids bundled adware or third-party installers. It emphasizes a clean and straightforward install.

Notes on configuration files

  • Profiles are stored in a structured format that is easy to read and edit.
  • When exporting, you get a portable file that you can import on another machine.
  • When importing, the app validates the file to prevent misconfiguration.

Security considerations

  • Data stays on your device unless you opt to export it.
  • The app does not require network access to function. It uses local Windows APIs to apply settings.
  • Be careful when editing profile files manually. Incorrect data can lead to unexpected results.

Community and support

  • The project maintains a support channel for questions and issues.
  • You can report bugs or request features through the issue tracker on the repository.

Further resources

  • For more information about Windows display settings, consult Microsoft’s docs.
  • Explore related display management tools to understand common workflows.
  • Look at open-source examples of WPF-based desktop tools to gain ideas for UI design and accessibility.

Releases

  • The latest installers and release notes are published here. For access to the most recent version and to review changes, visit the releases page.

Downloads

  • To obtain the installer and begin using the tool, open the releases page from the link at the top of this document. The latest Windows installer is provided there, along with older versions if you need them. The releases page is the central hub for all distribution artifacts and related notes.

Appendix: Quick reference commands and tips

  • Create a new profile: Use a descriptive name, assign per-monitor settings, save, then apply.
  • Update a profile: Open the profile, adjust settings, save changes, apply the updated version when needed.
  • Import a profile: Use the import function and select a previously exported profile file.
  • Export a profile: Use the export function to save a transferable profile file to a chosen location.
  • Enable auto-start: Turn on the auto-start option to have the app launch with Windows.

Appendix: Data path (for advanced users)

  • Profile data is kept in a local profile store. It is safe to access with standard tools if you need to back up or inspect the configuration.
  • When you move to another machine, use export/import to transfer your profiles and retain your preferred layout.

Appendix: Development notes

  • The project uses a modular structure to keep components decoupled.
  • Per-monitor logic is designed to handle a broad range of hardware and driver configurations.
  • The UI follows a straightforward workflow to minimize confusion during daily use.

Appendix: Contact and team

  • If you want to contribute or report issues, open an issue in the repository.
  • The project welcomes feedback and constructive proposals for improvements.

End of document

About

DisplayProfileManager saves and switches Windows display profiles from the system tray. It manages per-monitor resolution, refresh rate, and DPI scaling for quick task-driven changes 🐙

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages