Wie schaltet man in Yosemite mit Graustufen um?

Ich bevorzuge Graustufen gegenüber Farbinvertierungen, wenn ich bei schlechten Lichtverhältnissen arbeite, und im Allgemeinen, da dies die Augen weniger belastet. Aber es sind zu viele Klicks, um die Einstellungen umzuschalten. Mir ist bewusst, dass zum Invertieren der Anzeigefarbe die Verknüpfung Cmd+ Alt+ Ctrl+ lautet 8. Und öffnen Sie die Barrierefreiheitsoptionen mit Cmd+ Alt+ F5, aber es gibt keine Graustufen in den Optionen. Im Moment öffne ich Barrierefreiheit über Spotlight, wähle dann Anzeige und schalte das Kontrollkästchen um. Ich frage mich, ob es dafür eine Tastenkombination gibt? Wenn nicht, ist es möglich, eine Tastenkombination zu erstellen.

Es sieht nicht so aus, als könntest du das. Ich habe einen Blick in den Bereich der Tastaturkürzel geworfen (unter Tastatur in den Systemeinstellungen) und es scheint keine Möglichkeit zu geben, den Bildschirm per Tastenkombination in Graustufen umzuwandeln. :(

Antworten (6)

Der folgende Beispiel-AppleScript-Code schaltet den Zustand des Kontrollkästchens „Graustufen verwenden“ in den Systemeinstellungen unter „Bedienungshilfen“ in OS X Yosemite (getestet unter 10.10.4) um, unabhängig davon, was zuletzt unter „Bedienungshilfen“ ausgewählt wurde, da er die Systemeinstellungen anweist, direkt zu öffnen Position des Kontrollkästchens "Graustufen verwenden" und schalten Sie seinen Status um.

tell application "System Preferences"
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
    tell application "System Events" to tell front window of application process "System Preferences"
        with timeout of 5 seconds
            repeat until (exists checkbox "Use grayscale")
                delay 0.1
            end repeat
            click checkbox "Use grayscale"
        end timeout
    end tell
    quit
end tell

Das nächste Problem ist, wie Sie es ausführen möchten. Das Problem, es als Dienst über Automator festzulegen, um eine Tastenkombination ohne die Verwendung eines Drittanbieter-Dienstprogramms zu verwenden, besteht darin, dass jede Anwendung, die die Tastenkombination erhält, die Erlaubnis dazu haben muss, und das wird zu einem Problem, es sei denn, Sie wählen nur z Finder statt alle Anwendungen. Ohne ein Dienstprogramm eines Drittanbieters würde ich es also entweder als Skript im Benutzerskriptordner speichern und dann über das Skriptmenü in der Apple-Menüleiste oder als Anwendung darauf zugreifen.

Die Einstellungen für das Skript-Menü in der Apple-Menüleiste befinden sich in den Skript-Editor-Einstellungen. Dann sind es nur zwei Mausklicks, wenn Sie den Zustand des Kontrollkästchens "Graustufen verwenden" umschalten möchten. Eine zum Klicken auf das Menü „Skripte“ und eine andere zum Klicken auf den Namen des Skripts.

Als Anwendung kann es im Dock platziert werden und dann ist es ein einziger Mausklick, wann immer Sie den Zustand des Kontrollkästchens „Graustufen verwenden“ umschalten möchten.

In jedem dieser beiden Fälle müssen Sie in den Systemeinstellungen auf der Registerkarte „Sicherheit“ unter „Zugänglichkeit“ die Erlaubnis erteilen, um es erfolgreich auszuführen.


Als Nebenbemerkung, wenn Sie ein Programm wie FastScripts verwenden , müssen Sie nur den Beispiel - AppleScript -Code als .scpt im Skript-Editor speichern , keinen Automator -Dienst mit der im Kommentar erwähnten Problemumgehung erstellen und können die Tastenkombination in zuweisen die Voreinstellungen für FastScripts .

Beachten Sie, dass ich nicht mit dem Entwickler von FastScripts verbunden bin, sondern nur ein zufriedener Benutzer.

Vielen Dank für die Lösung. Ich speichere es als Anwendung auf dem Dock. Schätze, es ist sicherer, diese eine App anstelle des gesamten Skripteditors zu steuern. Vielen Dank für die Antwort.
@qbektrix, ja, aus Sicherheitssicht ist das ein sicherer Weg. Übrigens: Wenn Ihnen das Symbol nicht gefällt, können Sie das Symbol ändern, indem Sie die Datei "applet.icns" im Anwendungspaket ersetzen oder ein Dienstprogramm eines Drittanbieters verwenden, um ihm ein anderes Symbol zuzuweisen. Wenn Sie dies manuell tun, muss die .icns-Datei denselben Namen haben, auch wenn sie von einer "anderer_name.icns"-Datei umbenannt wird. Klicken Sie mit der rechten Maustaste auf das Anwendungspaket und wählen Sie Paketinhalt anzeigen aus, und wechseln Sie dann zu Inhalt/Ressourcen/. Sie werden es wahrscheinlich vorziehen, zu laufen killall Finderund killall Dockdie neue .icns-Datei anzuzeigen, oder ein Logout/Login-Zyklus sollte ausreichen.
Ich habe es geschafft, das Problem „Jede App benötigt eine Genehmigung“ zu umgehen, indem ich das Graustufenskript als Automator-Anwendung gespeichert und dann einen Automator-Dienst erstellt habe, der diese Anwendung einfach startet. Ich gebe dem Dienst die Tastenkombination und die Anwendung erhält die Erlaubnis, meinen Computer zu steuern. Bearbeiten: Ich habe gerade bemerkt, dass es in der zweiten Antwort einen Link gibt, der empfiehlt, dasselbe zu tun! Also ein großes Lob an sie. Sie haben auch eine 0,5-Sekunden-Verzögerung in ihrem Skript – ich fand, dass ich das auch brauchte.

Ich habe eine alte Apple-Diskussion dazu gefunden und der Benutzer, der die Frage beantwortet hat, hat eine AppleScript-Datei gepostet, die Graustufen ein- und ausschaltet. Ich habe den ursprünglichen Code geändert, damit er mit OS X Yosemite funktioniert.

Öffnen Sie den „Skript-Editor“ und fügen Sie in einem neuen Dokument Folgendes ein:

tell application "System Preferences" to activate
delay 1

tell application "System Events"
tell process "System Preferences"
click the menu item "Accessibility" of the menu "View" of menu bar 1
delay 0.5
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit

Klicken Sie auf den Hammer, um es zu kompilieren und dann zu speichern, aber wo im Speicherdialog "Dateiformat" steht, wählen Sie "Anwendung"

Bevor Sie diesen Code ausführen, vergewissern Sie sich, dass „Display“ in Accessibility wie im Bild unten ausgewählt wurde. Sobald dies erledigt ist, können Sie die Systemeinstellungen verlassen.

Stellen Sie vor dem Ausführen sicher, dass „Display“ in Accessibility markiert ist

Beim ersten Ausführen der App stürzt sie ab und OS X fragt, ob Sie der App erlauben möchten, den Computer mithilfe von Eingabehilfen zu steuern. Erlauben Sie den Zugriff, beenden Sie die App und starten Sie sie neu.

Manchmal funktioniert dies nicht und stürzt mit einer Fehlermeldung ab. Wenn dies passiert, starten Sie es einfach neu und es wird gut funktionieren.

BEARBEITEN: Dies kann helfen, es zu einer Tastenkombination zu machen: Link

Ein Problem insbesondere mit Ihrem AppleScript ist, dass Sie davon ausgehen, dass es beim Öffnen der Eingabehilfeneinstellungen angezeigt wird, möglicherweise jedoch nicht, da es auf dem zuletzt ausgewählten Element angezeigt wird. Als Beispiel, wenn es zuletzt auf Zoom war, wird es für Zoom geöffnet und es wird folgende Fehlermeldung ausgegeben: „AppleScript-Fehler Systemereignisse haben einen Fehler: Kann das Kontrollkästchen „Graustufen verwenden“ des Fensters „Barrierefreiheit“ des Prozesses „Systemeinstellungen“ nicht abrufen "."
Danke @user3439894, ich bin nicht so gut mit AppleScript
@CreeperzEdge, vielen Dank für die Antwort. Der Link zum Erstellen von Tastenkombinationen war sehr hilfreich.

Ich habe das Skript von @CreeperzEdge answer verwendet und es hatte eine kleine Verzögerung auf meinem Computer. Ich habe dieses Skript leicht geändert zu:

tell application "System Preferences" to reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
tell application "System Preferences"
    activate
    tell application "System Events" to tell process "System Preferences"
        click the checkbox "Use grayscale" of window "Accessibility"
    end tell
end tell

tell application "System Preferences" to quit

Irgendwie

tell application "System Preferences" to reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"

ist schneller als

tell application "System Preferences"
    activate
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell

Mich würden die Erfahrungen anderer interessieren.

Keine Ahnung, wie Sie das herausgefunden haben, aber Ihre Lösung funktioniert tatsächlich schneller, ohne dass eine delay 1Leitung erforderlich ist. Ich habe es als Anwendung mit einer Verknüpfung über den Automator-Dienst gespeichert .

Ich stellte fest, dass eine Verzögerung von 1 Sekunde erforderlich war, damit es für mich funktionierte.

tell application "System Preferences"
    activate
    reveal anchor "Seeing_Display" of pane "com.apple.preference.universalaccess"
    delay 1
    tell application "System Events" to tell process "System Preferences"
        click the checkbox "Use grayscale" of window "Accessibility"
    end tell
end tell
tell application "System Preferences" to quit

Ich habe eine App entwickelt, um diesen Vorgang zu vereinfachen. Sie können die Graustufenanzeige von der Statusleiste aus umschalten. Es ist ein Wrapper um das AppleScript, das in den mit PyObjC geschriebenen Antworten erwähnt wird. Ich habe es auf macOS Mojave getestet.

Sie können es hier herunterladen . Der Quellcode ist hier .

Hinweis : Aufgrund der Einschränkungen von Apple benötigt die App drei Arten von Berechtigungen, um zu funktionieren: a) Öffnen einer App von einem nicht identifizierten Entwickler zulassen b) Zugriff auf Systemereignisse zulassen. c) Zugangsberechtigungen.

Für alle, die mit einem neueren Mac auf diesen Thread stoßen, habe ich das AppleScript geändert, um mit der neuen Benutzeroberfläche eines Tabs fertig zu werden:

tell application "System Preferences"
    set the current pane to pane id "com.apple.preference.universalaccess"
    delay 0.7 #needs time to open universal access
    tell application "System Events" to tell process "System Preferences" to tell window "Accessibility"
        select row 5 of table 1 of scroll area 1 #open display preferences
        click radio button "Color Filters" of tab group 1 of group 1
        click checkbox "Enable Color Filters" of tab group 1 of group 1
    end tell
end tell
tell application "System Preferences" to quit

Ich habe auch eine App erstellt, die diese Aufgabe mit 1 Klick erledigt: Graustufen . Wenn jemand möchte, dass ich eine Version für ältere Versionen (High Sierra und älter) mache, kommentiere diesen Beitrag.