2016-04-21 25 views
3

Ich bin neu in Zimt und ich bin enttäuscht, dass einige der System-Applets ihre Symbole nicht leicht geändert werden können. Nachdem ich das gesehen habe, habe ich einen Fund von meinem Root-Verzeichnis für "show-desktop" gefunden und ein /usr/share/cinnamon/applets/[email protected] Verzeichnis gefunden. Im Verzeichnis befinden sich zwei Dateien: applet.js und metadata.json.Cinnamon: Ändern des "Desktop anzeigen" (+ andere System-Applets) Symbol

metadata.json:

{ 
"uuid": "[email protected]", 
"name": "Show desktop", 
"description": "Minimize all windows", 
"icon": "menu", 
"max-instances": -1 
} 

"Menü" ist nicht sehr aussagekräftig, so nahm ich ein anderes System-Applet (Müll) und sah es das Symbol Namen "user-trash" und geändert 'Menü' auf " Benutzer-trash‘

{ 
"uuid": "[email protected]", 
"name": "Show desktop", 
"description": "Minimize all windows", 
"icon": "user-trash", 
"max-instances": -1 
} 

Dies hat keine Wirkung, damit ich in die applet.js aussehen.

Dies sind die wichtigen Zeilen, noch einmal schaute ich auf das Papierkorb-Applet und änderte dieses in "Benutzer-Papierkorb". Ich habe die Symbole in/usr/share/icons/Adwaitia/32x32/orders/gefunden.

Dies läßt mich mit drei Fragen ...

  1. Wie funktioniert das Applet weiß für die Symbole in diesem Verzeichnis suchen? Ist irgendwo eine Konfiguration gespeichert oder gibt es eine andere .js-Datei, die die Symbole und ihre Speicherorte beschreibt.

  2. Warum hat das Ändern der .json-Dateien keine Auswirkungen auf das verwendete Symbol, selbst nach dem erneuten Laden von Zimt?

  3. Wie kann ich einen Dateipfad zu meinem eigenen Symbol bereitstellen, um anstelle der Systemicons zu arbeiten, ohne mein Symbol in diesem Verzeichnis zu löschen?

Antwort

0

Um das Symbol auf das benutzerdefinierte Symbol setzen Sie das Symbol auf dem Weg fallen müssen und dann die set_applet_icon_path() -Methode verwenden, um das try-Symbol auf das benutzerdefinierte Symbol zu ändern. Sie müssen auch sicherstellen, dass Sie die symbolische Namensmethode entfernen oder auskommentieren.

// Assuming you have something similar to this for the applet_path: 
const UUID = "[email protected]"; 
const APPLET_PATH = imports.ui.appletManager.appletMeta[UUID].path; 

// in the MyApplet.prototype _init function. 

// Remove or comment out this line: 
//this.set_applet_icon_symbolic_name("icon-name"); 

// Add this in the MyApplet.prototype _init function. 
this.set_applet_icon_path(APPLET_PATH + "/icon.png")