Twinkle Tray is a system tray application designed to manage brightness levels across multiple monitors with ease. It addresses the limitations of Windows 10 by enabling users to adjust the brightness of external monitors and synchronize settings across all connected displays.
Key Features:
Manage brightness levels for all compatible monitors from a single interface.
Adjust one or all displays at once for seamless brightness control.
Blends seamlessly with Windows 10 and Windows 11, adapting to your system's theme and style preferences.
Supports DDC/CI features such as contrast, volume, and power state adjustments.
Offers command-line arguments for custom scripting and automation.
Normalizes backlight levels across different monitors for consistent visual experience.
Audience & Benefit:
Ideal for users with multiple monitors or external displays, Twinkle Tray streamlines brightness management and enhances productivity by eliminating the need to navigate through Windows' limited settings. It provides a unified solution for consistent display adjustments, ensuring optimal visual comfort and efficiency.
Twinkle Tray can be installed via winget and is available in over 20 languages, making it accessible to a wide range of users. Its intuitive design and robust features make it an essential tool for managing monitor settings with precision and simplicity.
README
Twinkle Tray
Twinkle Tray enables brightness control on external displays in Windows 10 & 11. Even though Windows is capable of adjusting the backlight on most monitors, it doesn't support external monitors natively. Windows also lacks any options to manage the brightness of multiple displays. This app inserts a new icon into your system tray, where you can click to have instant access to the brightness levels of all compatible displays.
Features
Adds brightness sliders to the system tray, similar to the built-in Windows volume flyout.
Seamlessly blends in with Windows 10 and Windows 11. Uses your Personalization settings to match your taskbar.
Can automatically change monitor brightness depending on the time of day or when idle.
Bind hotkeys to adjust the brightness of specific or all displays.
Normalize backlight across different monitors.
Control DDC/CI features such as contrast.
Starts up with Windows.
Design & Personalization
Twinkle Tray will automatically adjust the look and feel to match your Windows version and preferences. Additional options are available to select the Windows version and theme of your choice.
To upgrade to the latest approved package version, run the following command:
choco upgrade twinkle-tray
This package is not maintained at this repository. Please do not create issues relating to the package here. Instead, go to the package page and follow the Package Triage Process.
Scoop (unofficial)
Scoop users can download and install Twinkle Tray from Scoop's Extras bucket by installing the twinkle-tray package:
To upgrade to the latest approved package version, run the following command:
scoop update twinkle-tray
This package is not maintained at this repository. Please do not create issues relating to the package here. Instead, go to ScoopInstallers/Extras and search for an existing issue or discussion and create a new issue or discussion if one does not already exist.
Usage
Download from the Releases page and run the installer EXE.
Once installation has finished, you should see the Twinkle Tray icon in your system tray.
Click the icon to bring up the Adjust Brightness flyout.
Click away to hide the flyout.
Right-click the system tray icon to quit.
Compatibility
Twinkle Tray uses DDC/CI and WMI to communicate with your monitors. Most monitors offer DDC/CI compatibility, but it may be off by default. Make sure you have the appropriate option(s) enabled on your monitor so that it can work with Twinkle Tray. Refer to your monitor's user manual for more information.
Known issues:
The AMD Radeon Control Panel can interfere with Twinkle Tray. Ensure "Custom Colors" is not enabled.
VGA/DVI may not be compatible.
USB/Thunderbolt/Surface docks with HDMI or DisplayPort may not be compatible.
DDC/CI features such as brightness control and power state may cause certain models of monitors to behave poorly. This applies to any DDC/CI software, not just Twinkle Tray.
If some of your monitors are not being detected, please see this page for troubleshooting steps.
Command Line Arguments
Twinkle Tray (v1.13.0+) supports requesting brightness changes from the command line. Twinkle Tray must already be running. One monitor argument and one brightness argument are required. Multiple arguments will override each other.
For example: "%LocalAppData%\Programs\twinkle-tray\Twinkle Tray.exe" --MonitorNum=1 --Offset=-30 will adjust monitor number 1 by -30 brightness.
Supported args:
--List List all displays. (available in v1.14.0+)
--MonitorNum Select monitor by number. Starts at 1. Example: --MonitorNum=2
--MonitorID Select monitor by internal ID. Partial or whole matches accepted. Example: --MonitorID="UID2353"
--All Flag to select all monitors.
--Set Set brightness percentage. Example: --Set=95
--VCP Send a specific DDC/CI VCP code and value instead of brightness. The first part is the VCP code (decimal or hexadecimal), and the second is the value. Example: --VCP="0xD6:5"(available in v1.14.4+)
--Overlay Flag to show new brightness levels in the overlay Example: --Overlay
--Panel Flag to show new brightness levels in the panel Example: --Panel
If you are using the Microsoft Store version of Twinkle Tray, you can access Twinkle Tray using the alias Twinkle-Tray.exe (v1.17.1+).
Localization
Thanks to several contributors, Twinkle Tray is localized for multiple languages. If you'd like to create or update a localization, see this page for details. Special thanks to Weblate for allowing free use of their service.
Localization progress
Build Instructions
If you wish to run a development build of Twinkly Tray:
Download or clone.
Install the build tools for node-gyp, if not already installed. You may already have these from installing NodeJS.
Run npm install.
Run npm run build to build an executable or npm start to run a development build.
Note: Twinkle Tray must be built on Windows.
Special Thanks
Twinkle Tray was built using frameworks & libraries such as Electron, Node.js, node-ddcci, and win32-displayconfig. Thanks to Weblate for allowing free use of their service, along with the many contributors to the localizations of Twinkle Tray. The app would not be nearly as popular without all of your help. And thank you for the many donations, small and large, over the years.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.