/xanderfrangos.twinkle-tray

Easily manage the brightness of your monitors in Windows from the system tray

Primary LanguageJavaScriptMIT LicenseMIT

Twinkle Tray brightness slider logo

Twinkle Tray

Latest release Total downloads Translations

Twinkle Tray lets you easily manage the brightness levels of multiple monitors. Even though Windows is capable of adjusting the backlight on most monitors, it typically doesn't support external monitors. Windows 10 & 11 also lack any ability 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.

Win 10 brightness slider

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 specifical 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.

Win 11 brightness slider

Download

Download the lastest version from twinkletray.com or the Releases page.

Get Twinkle Tray brightness slider from the Microsoft Store

Install via Package Manager

Windows Package Manager

winget install twinkletray

Chocolatey (unofficial)

Chocolatey users can download and install Twinkle Tray from Chocolatey's Community Repository by installing the twinkle-tray package:

choco install twinkle-tray

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.

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 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
  • --Offset Adjust brightness percentage. Example: --Offset=-20
  • --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

This feature is not available on the Windows Store version of Twinkle Tray.

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

Translation status

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: For actual development, it's recommended to run npm run parcel and npm run dev seperately.

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.

License

Copyright © 2020 Xander Frangos

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.