[PYTHON] Machen Sie den OS X-Mauszeiger durchscheinend

Da der Mauszeiger normalerweise nur auf die Spitze trifft, dachte ich, es wäre besser, ihn leicht transparent zu machen. Insbesondere mache ich den Zeiger größer als gewöhnlich. Wenn ich den Zeiger auf einen Link usw. setze, habe ich manchmal Probleme, die folgenden Buchstaben zu sehen.

non-transparent.png

Wenn der Zeiger durchscheinend wäre, wäre es mir angenehm, die folgenden Buchstaben zu lesen, selbst wenn der Mauszeiger so groß wäre.

Der Gesamtablauf, um den Mauszeiger durchscheinend zu machen, ist wie folgt.

  1. Speichern Sie die aktuellen Mauszeigerdaten mit Mousecape
  2. Lesen Sie die Mauszeigerdaten mit einem Python-Skript und machen Sie sie durchscheinend
  3. Lesen Sie die von Python verarbeiteten Daten
  4. Installieren Sie das Helper Tool, um Mousecape beim Start des Computers zu aktivieren
  5. Registrieren Sie das Apple Script, das den Mousecape-Fehler beim Start ausfüllt

Vorbereitung

Um den Inhalt dieses Artikels ausführen zu können, benötigen Sie Folgendes:

Mousecape ist ein Tool zum einfachen Ändern des Mauszeigers. Ich werde die neueste Version [0.0.5] herunterladen und verwenden (https://github.com/alexzielenski/Mousecape/releases/tag/0.0.5).

Entpacken Sie die heruntergeladene Datei und öffnen Sie die angezeigte app-Datei. Das folgende Fenster wird angezeigt.

スクリーンショット 2015-03-16 17.08.10.png

Dump den aktuellen Mauszeiger

Klicken Sie in der Symbolleiste auf ** Capes-> Cump Cusros .. **, um die aktuellen Einstellungen zu sichern. Wenn Sie fertig sind, sieht es folgendermaßen aus:

スクリーンショット 2015-03-16 17.15.43.png

Klicken Sie mit der rechten Maustaste auf diesen blauen Bereich und wählen Sie ** Im Finder anzeigen **, um die abgelegte cape-Datei im Finder anzuzeigen. Kopieren Sie sie, um die cape-Datei abzurufen. Dies wird deutlich, wenn Sie es mit einem Texteditor öffnen. Darin befindet sich jedoch eine riesige XML-Datei, in der das Bild des Mauszeigers in Base64-Codierung gespeichert ist.

Machen Sie den Mauszeiger durchscheinend

Führen Sie das Python-Skript aus, das die gerade erhaltene cape-Datei verarbeitet. Für dieses Python-Skript sind jedoch die folgenden Bibliotheken erforderlich:

$ pip install Pillow

Sie können es mit installieren.

Speichern Sie dann das folgende Skript irgendwo.

convert.py


from base64 import decodestring, encodestring
from xml.etree.ElementTree import ElementTree
import sys
import io
from PIL import Image

inputfile  = sys.argv[1].strip()
outputfile = sys.argv[2].strip()
opacity    = sys.argv[3].strip()

tree = ElementTree()
tree.parse(inputfile)

imagedata = tree.findall("dict/dict/dict/array/data")

for i in imagedata:
    img = decodestring(i.text)
   
    img  = Image.open(io.BytesIO(img))
    img  = img.convert('RGBA')
    data = img.getdata()

    new = []
    for p in data:
        new.append((p[0], p[1], p[2], int(p[3] * opacity)))

    img.putdata(new)
    img.save('temp.png', 'PNG')
    
    result = open('temp.png', 'r')
    base64 = encodestring(result.read())
    result.close()

    i.text = base64

tree.write(outputfile)

Führen Sie wie folgt aus.

$ python convert.py /path/to/dumpfile.cape output.cape 0.5

Dieses Skript verwendet die folgenden Befehlszeilenargumente:

Erstes Argument
Dumped cape -Datei
Zweites Argument
Zieldateipfad ausgeben
Drittes Argument
Transparenz (0 bis 1)

Nach einer Weile wird eine Datei wie output.cape erstellt.

Lesen Sie die verarbeiteten Daten mit Mousecape

Klicken Sie in der Symbolleiste auf ** Datei-> Cape importieren **, um die gerade generierte cape-Datei zu importieren. Es sieht aus wie das:

スクリーンショット 2015-03-16 17.37.48.png

Sie können den Speicherauszug an dieser Stelle löschen. Sie können es entfernen, indem Sie mit der rechten Maustaste klicken und ** Entfernen **. Wählen Sie dann die transparente aus, klicken Sie mit der rechten Maustaste und wählen Sie ** Übernehmen **, um sich zu bewerben.

Installieren Sie das Hilfsprogramm

Installieren Sie das Hilfsprogramm, um den Mauszeiger beim Starten des Computers transparent zu machen. Sie können Mousecape starten und über die Symbolleiste mit ** Mousecape-> Install Helper Tool ** installieren.

Mousecape-Bugs und ihre Ergänzungen

Ich habe den Mauszeiger größer gemacht, aber als ich ihn neu gestartet habe, hat die Größe des Zeigers wieder seine ursprüngliche Größe erreicht. Es schien schwierig zu sein, den Quellcode zu analysieren und den Fehler von nun an zu finden. Deshalb habe ich ein Apple-Skript erstellt, um die Größe zu erhöhen, und das Skript beim Anmelden am Computer gestartet, um dies zu vermeiden.

set_cursor_size.scpt


tell application "Mousecape"
	activate
end tell

delay 0.1

tell application "System Events" to tell application process "Mousecape"
	click (menu item 3 of menu 1 of menu bar item 2 of menu bar 1)
	set theSlider to slider 1 of window 1
	set value of theSlider to 3.0
end tell

quit application "Mousecape"

Sie können die Größe ändern, indem Sie den Teil 3.0 in Ihre Lieblingsnummer umschreiben. Fügen Sie diesen Code in einen Skripteditor ein und exportieren Sie ihn als Anwendung mit ** Datei-> Exportieren ** aus der Symbolleiste und speichern Sie ihn an einem geeigneten Ort. Bei der Ausführung fragt Yosemite wie folgt nach Berechtigungen:

スクリーンショット 2015-03-16 17.55.50.png

Öffnen Sie die Systemeinstellungen und erteilen Sie Berechtigungen.

スクリーンショット 2015-03-16 17.56.55.png

Wählen Sie dann ** Systemeinstellungen-> Benutzer und Gruppen-> Anmeldeelemente **, um die Anwendung so zu registrieren, dass sie beim Start ausgeführt wird.

スクリーンショット 2015-03-16 18.00.24.png

Zusammenfassung

Ich denke, dies wird den Mauszeiger durchscheinend machen. Ich habe es nur auf Yosemite versucht, daher funktionieren andere Versionen möglicherweise nicht.

semi-transparent.png

Recommended Posts

Machen Sie den OS X-Mauszeiger durchscheinend