Na przykład, czy mogę zachować Ambiance jako główny motyw, ale przypisać motyw podstawowy do aplikacji elementarza?
Na przykład, czy mogę zachować Ambiance jako główny motyw, ale przypisać motyw podstawowy do aplikacji elementarza?
Odpowiedzi:
Możesz użyć zmiennej środowiskowej GTK, GTK_THEME=elementary
aby uruchomić aplikację z podstawowym motywem. Na przykład uruchomienie GTK_THEME=elementary pantheon-files
spowoduje uruchomienie podstawowej aplikacji Pliki przy użyciu podstawowego motywu GTK.
Aby mieć to zastosowanie przy każdym uruchomieniu określonej aplikacji, najlepszą opcją jest prawdopodobnie utworzenie niestandardowego pliku .desktop (programu uruchamiającego).
/usr/share/applications/
~/.local/share/applications/
programu uruchamiającego i wklej go (Ctrl + V)Exec=
aby uwzględnić, Exec=env GTK_THEME=elementary
a następnie poprzednią istniejącą zawartość linii. (Tak Exec=pantheon-files
by się stało Exec=env GTK_THEME=elementary pantheon-files
)Następnym razem, gdy uruchomisz aplikację z Unity (lub wybranego uruchamiania aplikacji), użyje ona podstawowego motywu.
Możesz także chcieć, aby aplikacja uruchamiała się z podstawowym motywem podczas uruchamiania jej z wiersza poleceń. Aby to zrobić:
alias pantheon-files="GTK_THEME=elementary pantheon-files"
(zamieniając pantheon-files
na żądaną aplikację)find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'
i gedit
do celów demonstracyjnych? Np GTK_THEME="HighContrast" gedit
albo env GTK_THEME="HighContrast" gedit
albo GTK_THEME=Adwaita:dark gedit
... nic.
/usr/share/applications/<appname>.desktop
i zadziałało dla mnie.
Pytanie jest nadal aktualne i znalazłem sposób:
path/to/MY_FOLDER
/share/themes/
folder w nim (to znaczy path/to/MY_FOLDER/share/themes
).zmień nazwę motywu na nazwę AKTUALNIE AKTYWNEGO TEMATU.
W końcu to polecenie sprawi, że aplikacja będzie używać motywu o zmienionej nazwie zamiast obecnie aktywnego:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(Ścieżka później GTK_DATA_PREFIX=
musi być ( i tylko taka ) do folderu zawierającego /share/themes/RENAMED_THEME
. Dlatego NIE jest path/to/MY_FOLDER/share/themes/RENAMED_THEME
, ale tylko path/to/MY_FOLDER
.)
Aby mieć to w programie uruchamiającym, zamień odpowiednio:
Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
GTK_DATA_PREFIX
?
~/.themes
(musi być obecny aktywny /usr/share/themes
), a następnie użycie ścieżki GTK_DATA_PREFIX=path/to/nowhere
do uruchomienia tej aplikacji, która zresetuje motyw aplikacji do bieżącej, tylko że najpierw zajrzy ~/.themes
i weźmie ten o tej samej nazwie.
Z pewnością jest to możliwe, nie mam dużego doświadczenia w tworzeniu motywów, ale kiedy przejdziesz do /usr/share/themes/*Theme Name*/gtk-3.0/apps/
katalogu, znajdziesz .css
pliki nazwane aplikacjami, których dotyczą motywy, więc tak, możesz tworzyć motywy specyficzne dla aplikacji.
Zwróć uwagę, że sposób, w jaki wspomniałeś motywowanie aplikacji, może wymagać pewnej pracy (na przykład jednoczesnej pracy z Ambiance i Elementary, ponieważ każdy motyw ma plik podstawowy, na którym wykonywana jest stylizacja aplikacji) (plik gtkrc
w Gtk 2.0 podczas gdy plik gtk.css
w przypadku Gtk3.0 ).
A ten plik motywu podstawowego zawiera reguły stylizacji, które są konkretnie ukierunkowane na dany motyw, dlatego nie można tworzyć wyglądu podstawowego z pliku motywu podstawowego Ambiance bez wprowadzania poważnych zmian, a nawet jeśli to zrobisz, stracisz wygląd samego Ambiance.
Ponadto w GNOME możliwe jest jednoczesne stosowanie tylko jednego motywu. Na przykład, jeśli używałeś okna Wygląd w Ubuntu 12.04, wiesz, że możesz wybrać dowolny pojedynczy motyw z menu rozwijanego, jeśli go użyłeś gnome-tweak-tool
, niż możesz ustawić różne motywy dla Gtk, ramek okien i ikon, ale nadal nie pozwala on kierować określonych aplikacji do motywu, tak jak powiedziałem wcześniej, możesz ustawić zupełnie różne motywy dla różnych aplikacji, jeśli sprytnie pracujesz z podstawowy plik motywu, jak na razie, aplikacje innych firm nie mogą tego zrobić samodzielnie.
Jednym ze sposobów, w jaki możesz to zrobić samemu, jest to, że podstawowy plik motywu ( gtk.css
) ma tylko podstawowe zasady, które są neutralne dla każdego motywu, ciemne lub jasne. Miej też faktyczny projekt motywu zapisany w plikach specyficznych dla aplikacji, które znajdują się w wyżej wymienionym katalogu, tj. Do stylizacji Nautilus, możesz zapisać wszystkie wymagane właściwości w nautilus.css
pliku. To samo z każdą aplikacją, na którą chcesz kierować reklamy. Oczywiście, zrobienie tego wymaga przyzwoitego doświadczenia w temacie Gtk.
Można odnieść to do tworzenia własnego motywu przy użyciu szablonu, również istnieje spora dokumentacja na GTK + themeing.
Tak, prostym sposobem jest skierowanie aplikacji na wymaganą ścieżkę, w której znajduje się plik rc, w poleceniu uruchamiającym aplikację:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
To w dniu 12.04 dla inkscape (który wciąż jest Gnome2 btw) wytwarza to:
Zobacz więcej informacji o działającym motywie Gtk2 tutaj .
Tak, możesz, tak naprawdę googlowałem i otrzymałem kilka odpowiedzi:
which ooffice
terminal.echo $PATH
terminal, a uzyskasz ścieżkę. Zalecam utworzenie folderu bin w katalogu domowym przez wpisaniemkdir ~/bin
gedit ~/.bashrc
aby otworzyć plik bash rc.export PATH=~/bin:${PATH}
Teraz stworzymy skrypt, który uruchomi Twój program z niestandardowym motywem:
gedit ~/bin/ooffice
Wpisz następujące wiersze w otwartym pliku:
#!/bin/bash
env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "$@"
Zmień tryb pliku wykonywalnego do typowania przez: chmod +x ~/bin/ooffice
.
Mam nadzieję, że to pomaga, musisz pamiętać tylko jedną rzecz, format skryptu, jak pokazano poniżej:
#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "$@"