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=elementaryaby uruchomić aplikację z podstawowym motywem. Na przykład uruchomienie GTK_THEME=elementary pantheon-filesspowoduje 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=elementarya następnie poprzednią istniejącą zawartość linii. (Tak Exec=pantheon-filesby 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-filesna żądaną aplikację)find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'i geditdo celów demonstracyjnych? Np GTK_THEME="HighContrast" geditalbo env GTK_THEME="HighContrast" geditalbo GTK_THEME=Adwaita:dark gedit... nic.
/usr/share/applications/<appname>.desktopi 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 ~/.themesi 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 .csspliki 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 gtkrcw Gtk 2.0 podczas gdy plik gtk.cssw 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.csspliku. 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 oofficeterminal.echo $PATHterminal, a uzyskasz ścieżkę. Zalecam utworzenie folderu bin w katalogu domowym przez wpisaniemkdir ~/bingedit ~/.bashrcaby otworzyć plik bash rc.export PATH=~/bin:${PATH}Teraz stworzymy skrypt, który uruchomi Twój program z niestandardowym motywem:
gedit ~/bin/oofficeWpisz 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 "$@"