Skip to main content

Brightify is an OS-independent application that adjusts monitor brightness using the DDC/CI protocol and custom protocols for USB monitors, featuring a brightness sensor for automatic adjustments based on ambient light, and can be controlled via a taskbar icon.

Project description

Brightify

This app allows you to set the brightness of your monitor(s). It is essentially a wrapper around the DDC/CI protocol, which is supported by most monitors. It also supports adding custom communication protocols to control the brightness of USB monitors. For this, you most likely need to reverse engineer the communication protocol of the monitor. In my experience, this provides a more stable experience than using the DDC/CI protocol. You can find an example implementation for the Gigabyte M27Q in here. The app is designed to be run in the background and can be controlled via a taskbar icon. It also supports a brightness sensor that can automatically adjust the brightness based on the ambient light.

Getting started

  1. Install brightify by running pip install Brightify. This package is regularly uploaded to PyPi. If you want to install the latest version, you can clone this repository from GitHub and install it with pip install -e . in the root directory.
  2. To start the app: python -m brightify run. You can exit either by right-clicking the icon in the taskbar and selecting "Exit" or by pressing Ctrl+C in the terminal.
  3. To start the app at startup (or logon) and add a menu icon, run python -m add all. To remove the both, run python -m remove all.

Optional arguments

There are several other arguments you can pass to the app, see python -m brightify --help for more information.

  • To target add/remove only the startup run python -m brightify add/remove startup.
    • To add a task to the task scheduler on Windows, pass --use-scheduler. It will request elevated permissions.
    • By default, the terminal will be hidden, but you can change this by passing the --force-console argument.
  • To add/remove only the menu icon run python -m brightify add/remove menu-icon.
    • You can again force the console to be shown by passing the --force-console argument.

Set up the brightness sensor

  • Modify the SensorComm class to match your device and firmware
  • Modify the code that is polling from the brightness sensor Device Firmware
  • Modify platformio.ini and enter your board ( see supported boards)
  • Run pio run -t upload in the terminal to upload the firmware to the board. If everything is working, the Auto Checkbox for each supported Monitor should now be clickable

Remarks

  • Currently, only the Windows task bar icon is supported, the main part of this app is OS independent.
  • Feel free to create a pull request and add your own USB Monitor

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brightify-0.1.2.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

Brightify-0.1.2-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

Details for the file brightify-0.1.2.tar.gz.

File metadata

  • Download URL: brightify-0.1.2.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for brightify-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4dacd24c19a937ee20d7d4cb55b1285481d0d6d9f887073630b1f68a49fea094
MD5 9189777d7b943612d8a8bfb2b64cf935
BLAKE2b-256 5ead8cc5a40f74cc7830faa64c85e9d92cbe1a1f7d9c0333b3b9059d99d6d5e5

See more details on using hashes here.

File details

Details for the file Brightify-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: Brightify-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 30.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for Brightify-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d4108043a8c3ed66ef8abb317d62e55b1f1b5a6af53f55e53fafa3747106c448
MD5 e0bdac19e401338900f9152409e79402
BLAKE2b-256 a1f431c6dfaabd9458190a39637b9ac43edabca5cc66423036810e423a475891

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page