Chocolatey Community Coffee Break

Join the Chocolatey Team on our regular monthly stream where we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

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

Announcing Chocolatey Central Management 0.10.0

Livestream from
Thursday, 06 October 2022

We recently released our largest update to Chocolatey Central Management so far. Join Gary and Steph to find out more about Chocolatey Central Management and the new features and fixes we've added to this release.

Watch On-Demand
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
Chocolatey Product Spotlight: Chocolatey 1.2.0 and Chocolatey Licensed Extension 5.0.0

Livestream from
Thursday, 03 November 2022

Join Paul and Gary for this months Chocolatey product livestream where we look at the latest release of Chocolatey 1.2.0, Chocolatey Licensed Extension 5.0.0 and shine a spotlight on the new hook scripts functionality. This opens up so many possibilities for Chocolatey CLI users!

Watch On-Demand
Chocolatey Coding Livestream

Livestream from
Tuesday, 29 November 2022

Join Josh as he adds the ability to manage Chocolatey GUI config and features with the Chocolatey Ansible Collection.

Watch On-Demand
Introduction into Chocolatey with Veeam

Webinar from
Tuesday, 13 December 2022

Join Gary, Paul, and Maurice as they introduce and demonstrate how to use Chocolatey! Questions will be answered live in an Ask Me Anything format.

Watch On-Demand



Downloads of v 1.05:


Last Update:

19 Feb 2017

Package Maintainer(s):

Software Author(s):

  • Ramzi Sabra (a.k.a yasamoka)


color-sustainer admin color sustainer ICC profile monitor gamma

Color Sustainer

  • 1
  • 2
  • 3

1.05 | Updated: 19 Feb 2017



Downloads of v 1.05:



Software Author(s):

  • Ramzi Sabra (a.k.a yasamoka)

Color Sustainer 1.05

  • 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 Color Sustainer, run the following command from the command line or from PowerShell:


To upgrade Color Sustainer, run the following command from the command line or from PowerShell:


To uninstall Color Sustainer, 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

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 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 color-sustainer -y --source="'INTERNAL REPO URL'" [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 color-sustainer -y --source="'INTERNAL REPO URL'" 

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

Exit $exitCode

- name: Install color-sustainer
    name: color-sustainer
    version: '1.05'
    state: present

See docs at

chocolatey_package 'color-sustainer' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '1.05'

See docs at

cChocoPackageInstaller color-sustainer
    Name     = "color-sustainer"
    Version  = "1.05"
    Source   = "INTERNAL REPO URL"

Requires cChoco DSC Resource. See docs at

package { 'color-sustainer':
  ensure   => '1.05',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',

Requires Puppet Chocolatey Provider module. See docs at

4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved by moderator AdmiringWorm on 19 Feb 2017.



Color Sustainer (ICC Profile Enforcer). Color Sustainer is an application that allows you to associate color profiles with particular display modes

These profiles are loaded automatically for their respective modes as you:

  • switch displays on and off
  • add and remove displays
  • change display modes - from Windows, games, media players, this application, or any other application
  • load up full-screen applications (e.g. games) that reset and override (but not ignore) set color profiles.

Change display color profile association mode

Right-click a display in mode-specific mode (default) and click "Change to Global" to associate a single global color profile to the display. Right-click a display in global mode and click "Change to Mode-specific" to associate color profiles to specific display modes.

This application requires the Microsoft Visual C++ 2010 redistributable to be installed. Please check up on this forum thread for questions and more info.


Resolved the following issues:

-Fixed profile parsing. Now all profiles that can be loaded into the graphics card (have a video card gamma table) work. Thanks to imyrno for the detailed steps for profile parsing.

-Fixed the memory leak that occurs when the application is started and looping.

-Fixed an update checking bug whereby newer versions yet unreleased to the public are not deemed newer than the latest version released.


-Removed "by yasamoka" in title, "Donate" section under "Help", added "About Color Sustainer" section under "Help".

Resolved the following issues:

-Made the update system smarter; now it properly compares version numbers and does not only check for mismatch.

-The "Check for updates periodically" checkbox is unchecked if the settings window is shown, an update is available, and "Never remind me again" is pressed.

-Tray icon context menu now gets drawn upwards rather than downwards the first time the tray icon is right-clicked with the taskbar placed at the bottom.

-LUT Bit Depth Clamp now works for monitors in global color profile association mode.

-Start / Stop main window action button text now first shows "Stop" instead of "Start" if Color Sustainer is started via "-start" argument.

-The version field in the Settings file has to be at the top else loading the settings fails.

-An invalid settings keyword no longer causes settings loading to fail. (Useful for using older versions with settings files produced by newer versions)

-Changing one monitor from global to mode-specific color profile association mode then selecting a second monitor that is in global mode now clears the Resolutions list.

-Resolutions are now automatically detected after changing a monitor from global to mode-specific color profile association mode.

-Startup settings now get checked and updated upon application launch.

-Deleting a monitor in global color profile association mode now hides all the widgets related to associating a color profile / predefined tint.

-The README file now accomodates changes made since v1.04.1.

-Emergency v1.04 hotfix


Resolved the following issues:

-Color profile association section remains visible after a monitor in global mode is deleted

-Disabled buttons (greyed out) instead of hiding them

-Delete All Button gets disabled when there is nothing to delete

-Disabled the ability to resize windows (adds empty space)

-Tree no longer gets saved directly after being loaded (even successfully)

-Used a higher-resolution icon for the application windows

-Revamped the settings section

-Separated the tray icon modes from the application (going to be included in a sister application later on)

New features:
-Software update checking system
-Donate button


Resolved the following issues:

-Debug line shows up in display list

-Log shows v1.03 at application launch

-Associating a new replacement color profile for an active display mode for an active monitor while the loop is running does not change the profile.

-Display Device Enumeration issue: on calling EnumDisplayDevices, assumed that only one display can be detected per device, used if statement instead of while loop


Resolved the following issues:

-Removing a profile association from an active monitor in Global mode while the loop is running does not set the current profile to NULL.

-Setting a color profile (or changing from such color profile to a pre-defined tint) to an inactive mode for an active monitor in Mode-specific mode will set the current profile's ramp but not name to that color profile.

-Changed title to v1.03.2 (was 1.03 for v1.03.1)


New feature:
-Change a monitor between Global mode / Mode-specific mode.


Resolved the following issues:

-Display mode X is selected in the list and is the active display mode. Windows / external application changes the active mode. Now display mode X is not the active mode. Right-clicking on the already-selected display mode X does not show a "Change to Mode" option.

-Trying to associate a color profile that cannot be parsed results in logging "Failed to parse..." followed by "Associating color profile...". The (now null / random) gamma ramp then fails to load or be preserved.

-Color profiles now get closed after they are parsed (success / fail), instead of remaining open as long as Color Sustainer is running.

-Detect button shows for display mode and not for resolution when an inactive display is chosen


-Log application launch

-Log success or failure for mode request changes

-Close to Tray instead of Minimize to Tray

-Tray icon now changes when started or stopped

-Added separate detect and delete options for monitors, resolutions, modes

New Feature:

-Tray Icon Display Modes: You can now add display modes to the tray icon, for quick switching between display modes straight from the tray. Right-click, hover over a monitor, and click on the display mode and the monitor should switch to that mode.


$fileName = "color-sustainer.exe"
$linkName = "Color Sustainer.lnk"
$destdir = $(Split-Path -parent $MyInvocation.MyCommand.Definition)

#install start menu shortcut
$programs = [environment]::GetFolderPath([environment+specialfolder]::Programs)
$shortcutFilePath = Join-Path $programs $linkName
$targetPath = Join-Path $destdir $fileName
Install-ChocolateyShortcut -shortcutFilePath $shortcutFilePath -targetPath $targetPath -RunAsAdmin

#make usable in commandline
Install-ChocolateyPath $destdir
$linkName = "Color Sustainer.lnk"
$programs = [environment]::GetFolderPath([environment+specialfolder]::Programs)
$shortcutFilePath = Join-Path $programs $linkName

if(Test-Path $shortcutFilePath) {
    del $shortcutFilePath
md5: 67D6FAA7C56A8D80A8263380D1416554 | sha1: B294CC37BAB58D4BD7D1EC19F8EEB6986E148460 | sha256: 55B15AB8F71D024A66AD37DA76231B77FEE917833EC2179003743A26A4A9AFCB | sha512: 99F2BDC6F9F70C465A6C808705AB4EF6925C6015622D74FD0CD44CF56D80458968545CC2B3D3124D95C1E33B6B76696F2E72F1A0F2D3410F99DF3EB1F0BE7D8E
md5: 7B5F259BCAB7339C078E3AB82376329F | sha1: 6B075E27DBFC9FA83AF6E25EB115D0275C37BF6A | sha256: BAD830336E84A65D11599F26FFDBA20300B985FA571523F8F633F05DE48B8915 | sha512: 8ADA247CCE975020A4ADFB9675A1913D2FCB77722D17B17B587134BBCB7878B8FC26D720C8A7FBB87A78FC865947A03DD55D742A94749911690635A5C2DCF0AD
md5: 831BA3A8C9D9916BDF82E07A3E8338CC | sha1: 6C89FD258937427D14D5042736FDFCCD0049F042 | sha256: D2C8C8B6CC783E4C00A5EF3365457D776DFC1205A346B676915E39D434F5A52D | sha512: BEDA57851E0E3781ECE1D0EE53A3F86C52BA99CB045943227B6C8FC1848A452269F2768BF4C661E27DDFBE436DF82CFD1DE54706D814F81797A13FEFEC4602C5
md5: 8A2E025FD3DDD56C8E4F63416E46E2EC | sha1: 5F58FEB11E84AA41D5548F5A30FC758221E9DD64 | sha256: 52AE07D1D6A467283055A3512D655B6A43A42767024E57279784701206D97003 | sha512: 8E3A449163E775DC000E9674BCA81FFABC7FECD9278DA5A40659620CFC9CC07F50CC29341E74176FE10717B2A12EA3D5148D1FFC906BC809B1CD5C8C59DE7BA1

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


Resolved the following issues:
  • Fixed profile parsing. Now all profiles that can be loaded into the graphics card (have a video card gamma table) work. Thanks to imyrno for the detailed steps for profile parsing.
  • Fixed the memory leak that occurs when the application is started and looping.
  • Fixed an update checking bug whereby newer versions yet unreleased to the public are not deemed newer than the latest version released.

Users may have been recently notified that a Color Sustainer update is available when there is none. The notification will not go away unless you press "Never remind me again" which may deprive you in the future of being notified of important updates to Color Sustainer.

A hotfix is on its way to fix the issue at hand, but meanwhile, merely editing the Color Sustainer settings text file and changing updateAvailable=1 to updateAvailable=0 will fix the issue given the server for the version update check is back online the next time Color Sustainer checks for an update (upon application launch / 24 hours after last check if Color Sustainer remains running). Thank you for your understanding and apologies for any annoyances caused by this confusion.

Discussion for the Color Sustainer Package

Ground Rules:

  • This discussion is only about Color Sustainer and the Color Sustainer 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 Color Sustainer, 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