Kann ich beispielsweise Ambiance als Hauptthema beibehalten, der App von elementary jedoch ein elementares Thema zuweisen?
Kann ich beispielsweise Ambiance als Hauptthema beibehalten, der App von elementary jedoch ein elementares Thema zuweisen?
Antworten:
Sie können die GTK-Umgebungsvariable verwenden GTK_THEME=elementary
, um eine App mit dem elementaren Thema zu starten. Wenn Sie beispielsweise ausführen, GTK_THEME=elementary pantheon-files
wird die elementare Datei-App unter Verwendung des elementaren GTK-Themas gestartet.
Damit dies bei jedem Start einer bestimmten App angewendet wird, erstellen Sie am besten eine benutzerdefinierte .desktop-Datei (Launcher).
/usr/share/applications/
~/.local/share/applications/
Launcher und füge ihn ein (Strg + V)Exec=
, um Exec=env GTK_THEME=elementary
den vorherigen vorhandenen Inhalt der Zeile einzuschließen. (So Exec=pantheon-files
würde es werden Exec=env GTK_THEME=elementary pantheon-files
)Wenn Sie die App das nächste Mal über Unity (oder einen App-Starter Ihrer Wahl) starten, wird das elementare Thema verwendet.
Möglicherweise möchten Sie auch, dass die App mit dem elementaren Thema gestartet wird, wenn Sie sie über die Befehlszeile starten. Um dies zu tun:
alias pantheon-files="GTK_THEME=elementary pantheon-files"
(durch pantheon-files
die gewünschte App ersetzen )find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'
und gedit
zu Demonstrationszwecken geben? ZB GTK_THEME="HighContrast" gedit
oder env GTK_THEME="HighContrast" gedit
oder GTK_THEME=Adwaita:dark gedit
... nichts.
/usr/share/applications/<appname>.desktop
und es hat bei mir funktioniert.
Die Frage ist noch gültig und ich habe einen Weg gefunden:
path/to/MY_FOLDER
/share/themes/
Ordner darin (das heißt path/to/MY_FOLDER/share/themes
).Benennen Sie das Thema auf den Namen des gerade aktiven THEMA.
Mit diesem Befehl kann eine App das umbenannte Design anstelle des derzeit aktiven Designs verwenden:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(Der Pfad danach GTK_DATA_PREFIX=
muss der ( und nur der ) zu dem Ordner sein, der enthält /share/themes/RENAMED_THEME
. Deshalb ist es NICHT path/to/MY_FOLDER/share/themes/RENAMED_THEME
, sondern nur path/to/MY_FOLDER
.)
Um das in einem Launcher zu haben, ersetzen Sie entsprechend:
Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
GTK_DATA_PREFIX
?
~/.themes
(der Strom aktiv hat in sein /usr/share/themes
) und dann einige Pfade verwenden , GTK_DATA_PREFIX=path/to/nowhere
um diese App zu starten, die das App Thema zum aktuellen zurückgesetzt, es nur zuerst schauen ~/.themes
und nehmen der mit dem gleichen Namen dort.
Es ist sicherlich möglich, ich habe nicht viel Erfahrung mit Themes , aber wenn Sie zum /usr/share/themes/*Theme Name*/gtk-3.0/apps/
Verzeichnis navigieren , werden Sie .css
Dateien finden , die mit Apps benannt sind, die auf Themes abzielen, also können Sie app-spezifische Themes erstellen.
Beachten Sie, dass für die Art und Weise, wie Sie das Thema Ihrer Apps erwähnt haben, möglicherweise einige Arbeiten erforderlich sind (z. B. die gleichzeitige Ausführung von Ambiance und Elementary), da für jedes Thema eine Basisdatei vorhanden ist, auf der das app-spezifische Design erstellt wird (eine Datei gtkrc
in Gtk 2.0) während, eine Datei gtk.css
im Fall von Gtk3.0 ).
Und diese Basis-Designdatei enthält Stilregeln, die speziell auf das jeweilige Thema zugeschnitten sind. Daher können Sie kein elementares Erscheinungsbild aus der Basis-Designdatei von Ambiance erstellen, ohne umfangreiche Änderungen vorzunehmen, und selbst wenn Sie dies tun, verlieren Sie das Erscheinungsbild von Ambiance.
Außerdem ist es in GNOME möglich, immer nur ein Thema gleichzeitig anzuwenden. Wenn Sie beispielsweise in Ubuntu 12.04 das Fenster "Darstellung" verwendet haben, können Sie ein beliebiges Thema aus der Dropdown-Liste auswählen, falls Sie es verwendet gnome-tweak-tool
haben Sie können verschiedene Themen für Gtk, Fensterrahmen und Symbole festlegen, aber es ist immer noch nicht möglich, bestimmte Anwendungen auf ein Thema auszurichten. Wie bereits erwähnt, können Sie für verschiedene Anwendungen ganz unterschiedliche Themen festlegen, wenn Sie geschickt damit arbeiten Basis-Theme-Datei, ab sofort können keine Anwendungen von Drittanbietern dies selbst tun.
Eine Möglichkeit, wie Sie es selbst tun können, besteht darin, dass die Basis-Themendatei ( gtk.css
) nur wesentliche Regeln enthält, die für ein beliebiges Thema neutral sind und dunkel oder hell sind. Und lassen Sie das eigentliche Theme-Design in app-spezifischen Dateien schreiben, die sich im oben genannten Verzeichnis befinden. Für das Styling von Nautilus können Sie alle erforderlichen Eigenschaften in eine nautilus.css
Datei schreiben . Das Gleiche gilt für jede App, auf die Sie abzielen möchten. Offensichtlich erfordert dies einiges an Erfahrung mit Gtk-Themes.
Sie können dies für das Erstellen Ihres eigenen Themas mit Vorlage verweisen. Es gibt auch eine anständige Dokumentation zu Gtk + Themeing.
Ja, die einfache Möglichkeit besteht darin, die Anwendung in dem Befehl, mit dem Ihre Anwendung ausgeführt wird, auf den erforderlichen Pfad zu verweisen, in dem sich Ihre RC-Datei befindet:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
Dies am 12.04 für inkscape (das übrigens immer noch Gnome2 ist) erzeugt dies:
Sehen Sie weitere Informationen über Gtk2 Thema läuft hier .
Ja das kannst du, eigentlich habe ich gegoogelt und ein paar Antworten bekommen:
which ooffice
das Terminal ein.echo $PATH
das Terminal ein und Sie werden den Pfad sehen. Ich empfehle Ihnen, einen bin-Ordner in Ihrem Home-Verzeichnis zu erstellen, indem Sie Folgendes eingebenmkdir ~/bin
gedit ~/.bashrc
, um Ihre Bash-RC-Datei zu öffnen.export PATH=~/bin:${PATH}
Nun erstellen wir ein Skript, das Ihr Programm mit einem benutzerdefinierten Thema ausführt:
gedit ~/bin/ooffice
Geben Sie diese Zeilen in die geöffnete Datei ein:
#!/bin/bash
env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "$@"
Ändern Sie den Modus der Datei ausführbar durch Eingabe: chmod +x ~/bin/ooffice
.
Hoffe das hilft, du musst dir nur eines merken, das Format des Skripts wie unten gezeigt:
#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "$@"