Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Twinkle Tray

This is a prerelease version of Twinkle Tray.

  • 1
  • 2
  • 3

1.16.0-beta4 | Updated: 16 Aug 2023



Downloads of v 1.16.0-beta4:



Software Author(s):

  • Xander Frangos

Twinkle Tray 1.16.0-beta4

This is a prerelease version of Twinkle Tray.

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests

Validation Testing Passed

Verification Testing Passed


Scan Testing Successful:

No detections found in any package files

Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Twinkle Tray, run the following command from the command line or from PowerShell:


To upgrade Twinkle Tray, run the following command from the command line or from PowerShell:


To uninstall Twinkle Tray, run the following command from the command line or from PowerShell:


Deployment Method:


This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)

2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade twinkle-tray -y --source="'INTERNAL REPO URL'" --version="'1.16.0-beta4'" --prerelease [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade twinkle-tray -y --source="'INTERNAL REPO URL'" --version="'1.16.0-beta4'" --prerelease

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Install twinkle-tray
    name: twinkle-tray
    version: '1.16.0-beta4'
    state: present
    allow_prerelease: yes

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.

chocolatey_package 'twinkle-tray' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '1.16.0-beta4'
  options  '--prerelease'

See docs at https://docs.chef.io/resource_chocolatey_package.html.

cChocoPackageInstaller twinkle-tray
    Name        = "twinkle-tray"
    Version     = "1.16.0-beta4"
    Source      = "INTERNAL REPO URL"
    chocoParams = "--prerelease"

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.

package { 'twinkle-tray':
  ensure          => '1.16.0-beta4',
  install_options => ['--prerelease'],
  provider        => 'chocolatey',
  source          => 'INTERNAL REPO URL',

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.

4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved as a trusted package on 17 Aug 2023.



To use choco:// protocol URLs, install (unofficial) choco:// Protocol support

Twinkle Tray

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.



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

Comparison Screenshot

Package Parameters

  • /NoShim - Opt out of creating a shim, and removes any existing shim.
  • /Start - Automatically start Twinkle Tray after installation completes.

Package Notes

The installer executed by this package was built using Nullsoft Scriptable Install System (NSIS). For advanced setup scenarios, refer to NSIS's command-line interface documentation. Any desired arguments can be appended to (or optionally overriding with the --override-arguments switch) the package's default install arguments with the --install-arguments option.

This package may create a shim named twinkletray to facilitate easier access to the command-line interface. However, shimgen will create a GUI shim, which will not wait for the underlying process to exit by default. This may cause issues with displaying console output when using the command-line interface or viewing debug messages. Users requiring this functionality should pass the --shimgen-waitforexit switch to ensure the shim behaves correctly.

For future upgrade operations, consider opting into Chocolatey's useRememberedArgumentsForUpgrades feature to avoid having to pass the same arguments with each upgrade:

choco feature enable --name="'useRememberedArgumentsForUpgrades'"

When using the /Start package parameter, you may see a large CLIXML block logged to stderr. This is a known issue with Chocolatey's Start-ChocolateyProcessAsAdmin cmdlet, and is not necessarily indicative of an error condition. Until this is addressed, you should ensure the failOnStandardError feature is disabled while installing/upgrading this package.

$ErrorActionPreference = 'Stop'

$toolsDir = "$(Split-Path -Parent $MyInvocation.MyCommand.Definition)"
$installerFileName = 'Twinkle.Tray.v1.16.0-beta4.exe'
$filePath = Join-Path -Path $toolsDir -ChildPath $installerFileName
$softwareNamePattern = 'Twinkle Tray*'

$packageArgs = @{
  packageName    = $env:ChocolateyPackageName
  fileType       = 'EXE'
  file64         = $filePath
  softwareName   = $softwareNamePattern
  silentArgs     = '/S'
  validExitCodes = @(0)

Install-ChocolateyInstallPackage @packageArgs

$appInstallLocation = Get-AppInstallLocation -AppNamePattern $softwareNamePattern
if ($null -ne $appInstallLocation) {
  $installedApplicationPath = Join-Path -Path $appInstallLocation -ChildPath 'Twinkle Tray.exe'
else {
  Write-Warning 'Install location not detected'

$shimName = 'twinkletray'

$pp = Get-PackageParameters
if ($pp.NoShim) {
  Uninstall-BinFile -Name $shimName
else {
  if ($null -ne $installedApplicationPath) {
    Install-BinFile -Name $shimName -Path $installedApplicationPath
  else {
    Write-Warning 'Skipping shim creation - install location not detected'

#Remove installer binary post-install to prevent disk bloat
Remove-Item $filePath -Force -ErrorAction SilentlyContinue

#If installer binary removal fails for some reason, prevent an installer shim from being generated
if (Test-Path -Path $filePath) {
  Set-Content -Path "$filePath.ignore" -Value $null -ErrorAction SilentlyContinue

if ($pp.Start) {
  if ($null -ne $installedApplicationPath) {
    #Spawn a separate temporary PowerShell instance to prevent display of debug output
    $statement = "Start-Process -FilePath ""$installedApplicationPath"""
    Start-ChocolateyProcessAsAdmin -Statements $statement -NoSleep -ErrorAction SilentlyContinue
  else {
    Write-Warning 'Skipping application start - install location not detected'
$ErrorActionPreference = 'Stop'

$packageArgs = @{
  packageName    = $env:ChocolateyPackageName
  softwareName   = 'Twinkle Tray*'
  fileType       = 'EXE'
  validExitCodes = @(0)
  silentArgs     = '/currentuser /S'

[array] $keys = Get-UninstallRegistryKey -SoftwareName $packageArgs['softwareName']

if ($keys.Count -eq 1) {
  $keys | ForEach-Object {
    $packageArgs['file'] = $($_.UninstallString.TrimEnd('/currentuser'))
    Uninstall-ChocolateyPackage @packageArgs
elseif ($key.Count -eq 0) {
  Write-Warning "$packageName has already been uninstalled by other means."
elseif ($keys.Count -gt 1) {
  Write-Warning "$($keys.Count) matches found!"
  Write-Warning 'To prevent accidental data loss, no programs will be uninstalled.'
  Write-Warning 'Please alert package maintainer the following keys were matched:'
  $keys | ForEach-Object { Write-Warning "- $($_.DisplayName)" }

Uninstall-BinFile -Name 'twinkletray'
md5: D78DCCDE378E0B89765E4C840A73D973 | sha1: 8D83971BCD6C55B3F70719110B93E780CE49C175 | sha256: E9F14946BA557B8A1A59F1D34D3FC2E8266A63D8763F0615CD6F822B959D17D9 | sha512: 9CE91215494967D57B2E79390C5BDFE3F3999BB47448A14A36118816BCC4659E489D1509CA61A4414004DF11479E1B49746258BB229E9A30E12EB9E61C21C0B2
From: https://raw.githubusercontent.com/xanderfrangos/twinkle-tray/v1.16.0-beta4/LICENSE

MIT License

Copyright (c) 2019 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.

Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.

The packaged Windows installer binary is available for independent download via the
Releases page on Twinkle Tray's GitHub repository. A download link for the packaged version
is included at the following URL:

For convenience, this is a direct URL to the relevant asset:

The following PowerShell command will print a calculated SHA256 hash:

    (Get-FileHash -Path Twinkle.Tray.v1.16.0-beta4.exe -Algorithm SHA256).Hash

This command should be executed against an independently downloaded binary, as well
as the copy distributed with the package. Both hash values should be identical. A
matching hash value should confirm that no corruption or tampering has occurred
during this package's generation process.

For reference, the following SHA256 hash was calculated during the package's automated creation:

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Twinkle Tray 1.16.0-beta5-3 49 Thursday, January 18, 2024 Approved
Twinkle Tray 1.16.0-beta5-2 25 Monday, January 8, 2024 Approved
Twinkle Tray 1.16.0-beta5-1 22 Sunday, January 7, 2024 Approved
Twinkle Tray 1.16.0-beta5 15 Sunday, January 7, 2024 Approved
Twinkle Tray 1.16.0-beta4 77 Wednesday, August 16, 2023 Approved
Twinkle Tray 1.16.0-beta3 46 Tuesday, August 8, 2023 Approved
Twinkle Tray 1.16.0-beta2 37 Sunday, July 30, 2023 Approved
Twinkle Tray 1.16.0-beta1 29 Friday, July 28, 2023 Approved
Twinkle Tray 1.15.3 746 Thursday, March 9, 2023 Approved
Twinkle Tray 1.15.2 534 Saturday, December 10, 2022 Approved
Twinkle Tray 1.15.1 76 Thursday, December 8, 2022 Approved
Twinkle Tray 1.15.0 105 Sunday, December 4, 2022 Approved
Twinkle Tray 1.15.0-beta2 44 Monday, November 28, 2022 Approved
Twinkle Tray 1.15.0-beta1 30 Sunday, November 27, 2022 Approved
Twinkle Tray 1.14.8 129 Wednesday, November 23, 2022 Approved
Twinkle Tray 1.14.7 361 Thursday, September 1, 2022 Approved
Twinkle Tray 1.14.6 56 Tuesday, August 30, 2022 Approved
Twinkle Tray 1.14.5 70 Thursday, August 25, 2022 Approved
Twinkle Tray 1.14.4 35 Thursday, August 25, 2022 Approved
Twinkle Tray 1.14.3 82 Friday, July 15, 2022 Approved
Twinkle Tray 1.14.2 105 Thursday, July 14, 2022 Approved
Twinkle Tray 1.14.1 38 Sunday, July 10, 2022 Approved
Twinkle Tray 1.14.0 47 Sunday, July 10, 2022 Approved
Twinkle Tray 1.13.11 98 Monday, March 28, 2022 Approved
Discussion for the Twinkle Tray Package

Ground Rules:

  • This discussion is only about Twinkle Tray and the Twinkle Tray package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Twinkle Tray, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus