Zum Inhalt springen
Zurück

StarTooth: Bluetooth-Geräte per Sternchen im Infobereich steuern

Edit this post on GitHub

Bluetooth unter Windows zu koppeln ist das eine. Ein bereits gekoppeltes Gerät später zu verbinden, ist das andere - und genau dort wird es umständlich: Einstellungen öffnen, durch die Geräteliste scrollen, den richtigen Eintrag finden, anklicken. Für etwas, das ich mehrmals am Tag brauche, ist das zu viel Weg.

StarTooth ist ein kleines Infobereichs-Werkzeug, das diesen Weg abschafft. Ein Klick auf das Symbol im Infobereich öffnet die Liste aller gekoppelten Geräte; ein Klick auf ein Gerät verbindet oder trennt es.

Favoriten zuerst

Geräte lassen sich mit einem Sternchen markieren. Sobald mindestens eines markiert ist, rutschen die Favoriten nach oben, und der Rest landet gruppiert darunter unter “Andere Geräte”. Ohne Sternchen bleibt die Liste flach, so wie Windows sie kennt.

Jeder Eintrag trägt einen Zustand:

Ein Verbindungsversuch, sein Ergebnis und jeder Fehler kommen zusätzlich als Windows-Benachrichtigung. Das ist nötig, weil sich das Menü beim Aktivieren eines Eintrags schließt und den Fortschritt deshalb nicht selbst anzeigen kann.

Barrierefreiheit von Anfang an

Das Menü kommt ohne Mausgesten und ohne Zusatztasten aus. Die Sternchen werden nicht im Menü selbst vergeben, sondern in einem eigenen Dialog auf Basis einer Standard-CheckedListBox - dort schaltet die Leertaste um, und der Screenreader sagt den Zustand von allein an.

Die Symbole ● ○ ◌ ★ und der fette Text sind reine Optik. Screenreader sprechen solche Zeichen unterschiedlich aus, je nach eingestellter Symbol-Ausführlichkeit, also trägt keines von ihnen den Zustand allein: Jeder Eintrag buchstabiert ihn zusätzlich im AccessibleName aus (“Shokz OpenFit, Favorit, verbunden”) und beschreibt im AccessibleDescription, was das Aktivieren bewirkt.

Ein laufender Verbindungsversuch bleibt bewusst aktivierbar, statt auf Enabled = false gesetzt zu werden: ToolStrip überspringt deaktivierte Einträge bei der Tastaturnavigation, und der laufende Versuch wäre dann genau der Zustand, den ein Tastatur- oder Screenreader-Nutzer nie erreichen könnte. Ein zweiter Start wird stattdessen vom Aufrufer abgelehnt. Die Überschrift “Andere Geräte” ist ein deaktivierter Eintrag und damit ebenfalls nicht erreichbar - unschädlich, weil sie nichts trägt, was nicht schon im AccessibleName jedes Eintrags steht.

Alle Menüeinträge und Dialogelemente haben Zugriffstasten.

Einstellungen

Sprache, Farbmodus und Autostart liegen unter “Einstellungen…”. Sprache und Farbmodus stehen in %APPDATA%\StarTooth\settings.json und wirken sofort; das Menü wird bei jedem Öffnen neu aufgebaut.

Der Autostart liegt bewusst nicht in dieser Datei, sondern allein im Registry-Run-Schlüssel. So gibt es genau eine Quelle der Wahrheit: Ein von Hand oder von einem anderen Werkzeug entfernter Eintrag erscheint als entfernt und wird nicht aus einer veralteten Kopie wiederhergestellt. Verweigert Windows die Änderung, bleibt der Dialog offen und sagt es, statt eine Änderung zu behaupten, die nicht passiert ist.

Sprachen

StarTooth folgt der Windows-Anzeigesprache. Englisch und Deutsch liegen als Satelliten-Assembly bei; eine weitere Sprache ist genau eine zusätzliche Resources/Strings.<culture>.resx. Die Übersetzungen verwenden die Begriffe der jeweiligen Windows-Oberfläche, keine wörtliche Übertragung: Im Deutschen heißt es deshalb “gekoppelte Geräte” statt “gepairte” und “Nicht verbunden” statt “getrennt” - passend zu den Windows-Bluetooth-Einstellungen.

Zum Prüfen lässt sich die Sprache unabhängig von Windows und von den gespeicherten Einstellungen erzwingen:

StarTooth.exe --lang de
StarTooth.exe --lang en-US

Download

Zwei Formen, beide in sich geschlossen - keine .NET-Laufzeit nötig:

Vorausgesetzt wird 64-Bit-Windows 10 ab Build 19041. Beide Dateien sind Authenticode-signiert; das Zertifikat ist ein persönliches Entwicklungszertifikat, deshalb kann SmartScreen auf Rechnern, die es nicht kennen, weiter warnen - dann “Weitere Informationen → Trotzdem ausführen”.

Seit kurzem liegt StarTooth auch im Windows-Paketmanager. Die Installation ist damit ein Befehl:

winget install Slohmaier.StarTooth

Open Source

StarTooth steht unter der MIT-Lizenz, ist in C# geschrieben und liegt auf GitHub: slohmaier/StarTooth. Fehler und Wünsche gehören in die Issues des Repos.


Edit this post on GitHub
Teilen Sie diesen Beitrag auf:

Vorheriger Beitrag
Zwei Roundcube-Plugins: CalDAV für Kalender, Aufgaben und Kontakte, DarkReader für den Mailtext
Nächster Beitrag
Two Roundcube plugins: CalDAV for calendar, tasks and contacts, DarkReader for the mail body