Skip to content

macOS menu bar app for scheduled monitor brightness control

Notifications You must be signed in to change notification settings

FauxReal9999/brightness-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brightness Control

A macOS menu bar app that automatically adjusts monitor brightness based on a time schedule, with manual override.

macOS Python

Features

  • Schedule-based brightness — Set different brightness levels throughout the day
  • Auto-reload — Edit schedule.txt anytime, changes apply automatically
  • Manual override — Quick presets (100%, 80%, 60%, etc.) or custom value
  • Menu bar icon — Visual gauge shows current brightness level (○ ◔ ◑ ◕ ●)
  • Single instance — Prevents multiple copies from running

Requirements

  • macOS (Apple Silicon)
  • Python 3.10+
  • m1ddc — DDC control for external monitors

Installation

# Install m1ddc for monitor control
brew install m1ddc

# Clone and setup
git clone https://github.com/FauxReal9999/brightness-control.git
cd brightness-control
python3 -m venv venv
source venv/bin/activate
pip install rumps pyobjc-framework-Cocoa

Usage

Double-click BrightnessControl.command or run:

./run.sh

A menu bar icon (●) will appear. Click it to:

  • View current brightness
  • Set brightness manually
  • Enable/disable schedule override
  • Edit or reload schedule

Schedule Format

Edit schedule.txt:

# Comments start with #
# Format: HHMM brightness_level (0-100)

0600 100    # 6am: Full brightness
1800 80     # 6pm: Slightly dimmer  
2000 60     # 8pm: Evening
2100 40     # 9pm: Night
2200 20     # 10pm: Late night

The app checks the schedule every minute and applies the most recent entry.

Auto-Start at Login

Create a LaunchAgent:

cat > ~/Library/LaunchAgents/com.brightness.control.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.brightness.control</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/YOUR_USERNAME/Projects/brightness-control/venv/bin/python3</string>
        <string>/Users/YOUR_USERNAME/Projects/brightness-control/brightness_app.py</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>WorkingDirectory</key>
    <string>/Users/YOUR_USERNAME/Projects/brightness-control</string>
</dict>
</plist>
EOF

launchctl load ~/Library/LaunchAgents/com.brightness.control.plist

License

MIT

About

macOS menu bar app for scheduled monitor brightness control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published