Qual è il modo giusto per sviluppare temi per Ubuntu?

4

Ho biforcato il tema Ambiance per crearne uno mio che mantengo. Mi chiedo quale sia il modo migliore per sviluppare i temi di Ubuntu.

La mia soluzione attuale è:

  1. avere la directory del tema in ~/Documents/foo
  2. Apporto modifiche nei file CSS.
  3. sudo rm -rf /usr/share/themes/foo && cp -r ~/Documents/foo /usr/share/themes/
  4. Seleziona Ambiance e poi Foo tramite Unity Tweak Tool.

Molto probabilmente c'è un modo migliore per farlo.

Qual è il modo consigliato? Mi chiedo come fanno gli sviluppatori di Ambiance.

    
posta Ionică Bizău 07.03.2015 - 19:11

1 risposta

2

Per automatizzare questo processo potresti usare un link simbolico .... rimuovi la directory foo e crea il link simbolico ad essa.

ln -s -T /home/youruser/Documents/foo /usr/share/themes/foo

In questo modo l'unica cosa che devi fare è il punto 4, perché lavori sempre sulla build più recente. Con questo le autorizzazioni dovrebbero essere corrette e puoi anche spingerlo sul tuo account. Se qualcosa dovrebbe essere poco chiaro basta scrivere un commento e lo spiegherò di più. Non ho una fonte ufficiale, questo è solo il modo in cui lo farei ... e forse il motivo per cui non riesci a trovare nulla online su questo. Quando si esegue questa operazione, è possibile creare un processo di controllo su modifiche di file che eseguono il punto 4 Inotify .

MODIFICA Tema di lavoro Ricarica automaticamente: questo ricarica tutte le impostazioni del tema

Prima di tutto hai bisogno di alcuni pacchetti per verificare le modifiche del disco e lo strumento di modifica dell'unità

sudo apt-get install inotify-tools unity-tweak-tool

Rimuovi la cartella tema esistente, ricorda che per tutti i miei test ho preso come tema un tema WinXP.

sudo mv /usr/share/themes/WinXP/ /usr/share/themes/WinXP-backup/

Collega la tua cartella tematica github

sudo ln -s -T /home/snapo/Downloads/WinXP/ /usr/share/themes/WinXP/

Solo per motivi di sicurezza crea una copia del tuo centro software

sudo cp -a /usr/share/software-center /usr/share/software-center-backup

Crea un file con questo contenuto nella tua cartella home come lo avevo in /home/snapo/autothemechange.sh

#! /bin/bash
##############################################################################################
DIRECTORY_TO_OBSERVE="/usr/share/themes/WinXP/"     ###### might want to change this #########
MYTHEMENAME="WinXP"                                 ###### your theme directory name #########
LOGFILE="/home/snapo/log-theme-change.log"          ###### Logfile to see when change happen #
##############################################################################################

function detect_theme_change {
  inotifywait -r \
    -e modify,move,create,delete \
    $DIRECTORY_TO_OBSERVE
}
while detect_theme_change; do
  now="$(date)"
  echo "Theme has been changed $now" >> $LOGFILE ;
  /usr/bin/gtk-update-icon-cache
  /usr/bin/gtk-update-icon-cache-3.0
  /usr/bin/xdg-user-dirs-gtk-update

  # reset GTK COLOR SCHEME (Unity, GNOME3, Cinnamon, MATE, GNOME2)
  gsettings set org.gnome.desktop.interface gtk-color-scheme ""
  # mateconftool-2 --type=string --set /desktop/mate/interface/gtk_color_scheme ""
  gconftool-2 --type=string --set /desktop/gnome/interface/gtk_color_scheme ""
  gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.loadTheme();' ;

    # change gtk theme (Unity, GNOME3, Cinnamon, MATE, GNOME2)
  gsettings set org.gnome.desktop.interface gtk-theme "$MYTHEMENAME"
  # mateconftool-2 --type=string --set /desktop/mate/interface/gtk_theme "$MYTHEMENAME"
  gconftool-2 --type=string --set /desktop/gnome/interface/gtk_theme "$MYTHEMENAME"

  # reset / change window theme (Unity, GNOME3, Cinnamon, MATE, GNOME2)
  gsettings set org.gnome.desktop.wm.preferences theme "$MYTHEMENAME"
  gconftool --type=string --set /desktop/cinnamon/windows/theme "$MYTHEMENAME"
  gconftool-2 --type=string --set /apps/metacity/general/theme "$MYTHEMENAME"
  # mateconftool-2 --type=string --set /apps/marco/general/theme "$MYTHEMENAME"

  # change shell theme
  gsettings set org.gnome.shell.extensions.user-theme name "$MYTHEMENAME"
  gsettings set org.cinnamon.theme name "$MYTHEMENAME"

done

Al termine, impostalo su chmod 755

chmod 755 /home/snapo/autothemechange.sh

Ricorda che lo script genererà molti errori, perché ricaricherò la maggior parte dei motori dei temi ... questo significa che se usi gtk3 tutti gli altri danno un errore, se usi l'unità lo stesso con gli altri ... per favore ignorali.

Ci sono 3 variabili che devi modificare prima di eseguirlo la prima volta, la descrizione per ogni variabile è sul lato destro della variabile.

SE vuoi che lo script si avvii automaticamente quando accedi (cosa che non consiglio di inotify) allora puoi fare quanto segue:

Sistema & gt; Preferenze & gt; Applicazioni di avvio:

bash /home/snapo/autothemeupdate.sh

consiglio di creare un collegamento sul desktop, quindi mentre inizi a sviluppare, fai doppio clic sul link.

    
risposta data snapo 25.03.2015 - 15:02

Leggi altre domande sui tag