Repository navigation
Releases
BrightnessBar 1.7.0
The language can now be switched inside the app
Settings … → Language: System language · Deutsch · English, with a restart button next to it — the bundle resolves its language once at launch, so a fresh process is needed.
macOS can already set a language per app, under General → Language & Region → Applications. The app writes that very same preference; it just puts the switch somewhere people will actually find it.
The language names stay in their own language, so anyone who lands on English by accident can find the way back.
Also fixed
The picker showed "Deutsch" when nothing had been chosen. UserDefaults.standard reads through to the global domain for AppleLanguages, where the system list always lives — the app now asks its own domain only.
macOS 14 or later, Apple Silicon. Not notarized — right-click → Open on first launch.
BrightnessBar 1.6.1
The startup diagnostic now records which language the interface resolved to, alongside the media-key state. It is the first thing worth knowing when someone reports the wrong language.
defaults write de.webdrian.brightnessbar logMediaKeys -bool true
# restart, then:
cat ~/Library/Logs/BrightnessBar-diag.log
No functional change otherwise; 1.6.0's German/English interface is unaffected.
BrightnessBar 1.6.0
English interface, German stays the default
The interface now follows the system language: German by default, English when macOS is set to English. Both string tables ship inside the app — nothing to configure.
Two bugs found while testing that
- An AirPlay screen showed up as "Display 8". It publishes no EDID data, because it is not physically connected at all. The name now comes from
NSScreenwhen the IORegistry has nothing to offer. - That same screen was presented as a cabling problem ("adapters and hubs are the usual cause"), when AirPlay simply has no control channel by design. AirPlay screens are now recognised by their
aapl/airpidentifiers and say so.
Installation
Unpack BrightnessBar-1.6.0.zip and drag it to /Applications. Not notarized — right-click → Open on first launch, or xattr -dr com.apple.quarantine /Applications/BrightnessBar.app.
macOS 14 or later, Apple Silicon.
BrightnessBar 1.5.0
Behoben: Lautstärketasten drehten am Monitor statt am Kopfhörer
Die Zuordnung prüfte nur, ob ein Monitor Lautstärke kann — nicht, wohin der Ton tatsächlich geht. Mit angeschlossenen Kopfhörern schluckte die App die Taste trotzdem und regelte den Monitor.
Jetzt entscheidet dieselbe Eigenschaft, aus der die Funktion überhaupt entstand: Kann macOS das aktuelle Ausgabegerät selbst regeln, gehören die Tasten macOS. Kopfhörer, Lautsprecher, Audiointerfaces bleiben unberührt. Nur ein Monitor, der gar keine Lautstärkeregelung meldet — der typische Fall bei DisplayPort- und HDMI-Ton — wird übernommen, und dann derjenige, dessen Name zum Audiogerät passt.
Neu: Eingang umschalten
Meldet ein Monitor die Eingangswahl samt seiner Buchsen, erscheint im Menü eine Auswahl — etwa zwischen Mac und Spielkonsole, ohne ans Monitorrad zu greifen. Die Liste kommt vom Gerät selbst, geraten wird nichts.
Mit Rückfrage, und das aus gemessenem Grund: Viele Monitore bedienen DDC nur für den gerade aktiven Eingang. Auf dem Testgerät war der Weg zur Konsole ein Klick, der Weg zurück nur über das Monitormenü — sobald HDMI aktiv war, erreichte der Mac das Gerät nicht mehr, obwohl das Kabel steckte und macOS den Monitor weiter führte.
Nach dem Umschalten liest die App den echten Eingang zurück und meldet es, wenn der Monitor stehen geblieben ist. Das tun viele, wenn an der gewählten Buchse kein Signal anliegt.
Installation
BrightnessBar-1.5.0.zip entpacken, nach /Applications ziehen. Nicht notarisiert — beim ersten Start Rechtsklick → Öffnen → „Öffnen" bestätigen, oder xattr -dr com.apple.quarantine /Applications/BrightnessBar.app.
BrightnessBar 1.4.0
Die App fragt den Monitor jetzt, was er kann, statt es zu erraten.
Bisher probierte sie vier fest verdrahtete VCP-Codes durch, mit Timings, die auf einem einzigen Monitor eingemessen waren. Neu:
- Selbstauskunft lesen. DDC/CI-Monitore beschreiben sich über VCP
0xF3— welche Funktionen sie implementieren, Modell, MCCS-Version. Regler erscheinen daraufhin für genau diese Funktionen. Meldet ein Monitor eine Funktion, verweigert aber die Werteabfrage, wird der Regler trotzdem angeboten. Antwortet er gar nicht auf0xF3, bleibt es beim bisherigen Durchprobieren. - Adaptives Timing. Monitore unterscheiden sich um mehr als eine Größenordnung in ihrer Antwortzeit. Statt einer festen Wartezeit durchläuft die App eine Leiter von 40 bis 320 ms, bis das Gerät antwortet, und merkt sich die Stufe.
- Zwischenspeicher pro Monitor, über die EDID-Identität statt der Display-ID, die sich zwischen Neustarts ändert. Erstkontakt 2,0 s, jeder weitere 0,7 s.
Die Kopfzeile zeigt jetzt die gemeldete MCCS-Version, damit sichtbar ist, dass der Monitor tatsächlich gefragt wurde.
Weiterhin gilt: Apple Silicon. Der verwendete Weg über IOAVService existiert auf Intel-Macs nicht.
Installation
BrightnessBar-1.4.0.zip entpacken, nach /Applications ziehen. Nicht notarisiert — beim ersten Start Rechtsklick → Öffnen → „Öffnen" bestätigen, oder xattr -dr com.apple.quarantine /Applications/BrightnessBar.app.
BrightnessBar 1.3.0
Die Farbe der Regler ist jetzt einstellbar — unter Einstellungen … → Farbe. Zehn Vorgaben plus freie Farbwahl; voreingestellt ist die Akzentfarbe des Systems statt des bisherigen Bernsteins.
Die Statuspunkte hinter den Monitornamen ändern sich dabei nicht: grün heißt Backlight über DDC/CI, gelb heißt Softwaredimmung, rot heißt nicht steuerbar. Wären sie frei einfärbbar, würden sie ihre Aussage verlieren.
Installation
BrightnessBar-1.3.0.zip entpacken, nach /Applications ziehen. Nicht notarisiert — beim ersten Start Rechtsklick → Öffnen → „Öffnen" bestätigen, oder xattr -dr com.apple.quarantine /Applications/BrightnessBar.app.
macOS 14 oder neuer, Apple Silicon.
BrightnessBar 1.2.0
Neu gestaltetes Menü und ein eigenes Einstellungsfenster.
- Ein Monitor im Detail statt alle untereinander. Kopfzeile mit Name und Status, darunter die Regler, darunter die Monitorauswahl.
- Statuspunkte: grün heißt Backlight über DDC/CI, gelb heißt Softwaredimmung, rot heißt nicht steuerbar. Auf einen Blick sichtbar, welcher Monitor wie angesteuert wird.
- Einstellungsfenster mit Erklärung zu jedem Schalter — und einer Übersicht der Tastenkürzel samt Wirkung, statt einer Zeile Kleingedrucktes im Menü.
- Regler in der Akzentfarbe des App-Symbols.
Installation
BrightnessBar-1.2.0.zip entpacken, nach /Applications ziehen. Die App ist nicht notarisiert — beim ersten Start Rechtsklick → Öffnen → „Öffnen" bestätigen, oder xattr -dr com.apple.quarantine /Applications/BrightnessBar.app.
macOS 14 oder neuer, Apple Silicon.
BrightnessBar 1.1.2
Rund um die Bedienungshilfen-Berechtigung, die in 1.1.x still ungültig werden konnte.
- Stabile Signatur.
./Tools/make-signing-identity.sherzeugt einmalig ein selbst signiertes Zertifikat. Die Berechtigung ist dann an „diese App, signiert mit diesem Zertifikat" geknüpft statt an den Hash des Binaries — sie übersteht damit jedes Update. Ohne das Zertifikat wird der Eintrag in den Systemeinstellungen bei jedem Neubau ungültig, bleibt aber sichtbar stehen und wirkt trotzdem nicht. - Diagnosemodus (
defaults write de.webdrian.brightnessbar logMediaKeys -bool true), der in~/Library/Logs/BrightnessBar-diag.logfesthält, welche Tasten tatsächlich ankommen. Protokolliert werden nur Medientasten-Codes und die Funktionstasten F1-F12.
Wenn eine Helligkeitstaste nichts tut: manche Tastaturen erzeugen dafür gar kein Ereignis, sondern die Herstellersoftware führt die Aktion selbst aus — unterhalb der Ebene, auf der eine App mithören kann. Auf dem Testgerät kam „dunkler" an, „heller" kein einziges Mal. Abhilfe: in der Herstellersoftware die Taste auf den Tastenanschlag ⌥⌘↑ bzw. ⌥⌘↓ legen, den BrightnessBar als normalen Kurzbefehl abgreift.
BrightnessBar 1.1.1
Behebt, dass der Schalter Tasten der Tastatur verwenden eingeschaltet bleiben konnte, ohne dass die Tasten wirkten — die Berechtigung fehlte, und die App sagte es nicht.
- Das Menü zeigt jetzt „Tasten sind aktiv" oder erklärt, was fehlt, mit Knopf direkt in die Bedienungshilfen.
- Bei jedem Öffnen des Menüs wird erneut versucht, den Event-Tap zu erzeugen. Eine nachträglich erteilte Berechtigung greift damit ohne Neustart.
- Beim Start schreibt die App ihren Zustand ins Log (
Bedienungshilfen=1, Tap aktiv=1, wenn alles sitzt).
Wichtig beim Update: die Berechtigung hängt an der Code-Signatur, und die ändert sich mit jeder Version. Ein Eintrag aus einer älteren Version gilt nicht mehr — in Systemeinstellungen → Datenschutz & Sicherheit → Bedienungshilfen mit „−" entfernen und BrightnessBar neu hinzufügen.
BrightnessBar 1.1.0
Neu: die Helligkeits- und Lautstärketasten der Tastatur lassen sich auf die Monitore legen. Sie regeln in Sechzehntel-Schritten wie macOS bei internen Displays, und die Stummschalttaste schaltet den Monitorton.
Das lohnt besonders bei Monitorlautsprechern über DisplayPort oder HDMI: solche Geräte melden macOS oft überhaupt keine Lautstärkeregelung — die Tasten zeigen dann nur das durchgestrichene Lautsprechersymbol und tun nichts. Über DDC funktioniert es trotzdem.
Der Schalter heißt Tasten der Tastatur verwenden und ist standardmäßig aus, weil er eine Ausnahme unter Systemeinstellungen → Datenschutz & Sicherheit → Bedienungshilfen braucht — Tastendrücke sind nur über einen Event-Tap abzufangen. Alles andere in der App läuft weiterhin ohne Berechtigungen.
Zwei Dinge dazu:
- Nach dem Erteilen die App neu starten.
- Die Berechtigung hängt an der Code-Signatur. Bei selbst gebauten Versionen ändert die sich bei jedem Neubau, die Ausnahme muss dann erneut erteilt werden. Bei dieser geladenen Version bleibt sie bestehen.
Mit gehaltenem ⌥ gibt die App die Tasten an macOS durch, damit ⌥ + Lautstärke weiterhin die Toneinstellungen öffnet.
Installation
BrightnessBar-1.1.0.zip entpacken und nach /Applications ziehen. Die App ist ad-hoc signiert, nicht notarisiert — Gatekeeper blockiert sie beim ersten Start. Einmalig Rechtsklick → Öffnen → „Öffnen" bestätigen, oder:
xattr -dr com.apple.quarantine /Applications/BrightnessBar.app
macOS 14 oder neuer, Apple Silicon.