/gammy

Adaptive screen brightness/temperature for Windows, Linux, FreeBSD

Primary LanguageC++GNU General Public License v3.0GPL-3.0

ARCHIVED

This project is not being worked on anymore. A new, linux-only version is being developed here.

Gammy

is a tool for adjusting pixel brightness/temperature automatically or manually.

It can dim the screen if its content is too bright, or brighten it otherwise. This can help your eyes adjust when switching between dark and light windows, especially at night or in suboptimal lighting conditions.

Screenshot available on its website.

Planned features

  • Proper multi-monitor support
  • Command line interface / configurable hotkeys
  • Location-based temperature adaptation
  • Backlight control

Installation

Linux

Building from source

Requirements:

  • g++ or Clang compiler with C++17 support
  • Ubuntu/Debian packages:
sudo apt install build-essential libgl1-mesa-dev libxxf86vm-dev libxext-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

To install:

git clone https://github.com/Fushko/gammy.git
cd gammy
qmake
make
sudo make install

You can then find Gammy in your applications. To run it from the shell, execute: gammy

To uninstall:

sudo make uninstall

On GNOME, the Qt5 Configuration Tool is recommended to improve UI integration:

sudo apt install qt5ct

Known issues and limitations

The brightness is adjusted by changing pixel values, instead of the LCD backlight. This has wildly varying results based on the quality of your screen.

Theoretically, this app looks best on OLEDs, since they don't have a backlight. (If you have one, I'd love to know your experience).

Backlight control is planned. However, not all screens support backlight control via software.

Multi-monitor issues

On Windows, currently the brightness is detected and adjustable only on the monitor that is set as the primary screen. Temperature affects all screens, however.

On Linux, currently every screen is treated as one single screen when calculating brightness. Both brightness and temperature are changed globally.

Third party

  • Qt 5 (LGPL)
  • Plog (MPL)
  • JSON for Modern C++ (MIT)
  • Qt-RangeSlider (MIT)

License

Copyright (C) Francesco Fusco.

GPLv3