Come posso impostare gli emblemi in Thunar senza la GUI?


9

Vorrei aggiungere emblemi a un file in Thunar usando uno script, ma non riesco a trovare alcuna documentazione al riguardo.

È possibile farlo? E se sì, come?

La stessa domanda è stata posta qui , ma menzionano un ~/.cache/Thunar/metafile.tdbfile che non esiste sul mio sistema. Penso che quella domanda e la risposta siano obsolete.


Sei sicuro che non esista? ~/.cacheè un file nascosto che conosci ..
Seth,

~/.cache/Thunar/non esiste nemmeno. Nemmeno dopo aver aggiunto un emblema a un file in Thunar. Ho installato la versione 1.6.3 di Thunar.
Remco Haszing,

Risposte:


13

Thunar, dalla versione 1.6, ha iniziato a utilizzare il demone gvfs-metadata per archiviare i metadati. I metadati sono memorizzati ~/.local/share/gvfs-metadata, tuttavia non è possibile leggerlo dai file ( penso che sia archiviato in un formato binario ). Per leggere i metadati devi usare il gvfs-infocomando in questo modo:

gvfs-info -a metadata:: /some/location  

Che stamperà i metadati di /some/location.

Se vuoi cambiare i metadati puoi usare il gvfs-set-attributecomando in questo modo:

gvfs-set-attribute /some/location -t stringv metadata::mdtype value  

/some/locationè la posizione del file / cartella di cui si desidera modificare i metadati, -t stringvindica al comando di prevedere l'input della stringa, mdtypeimposta il tipo di metadati che si desidera modificare (ad es. emblems) e new valueimposta valuecome metadati per mdtype. Per esempio:

gvfs-set-attribute Downloads -t stringv metadata::emblems emblem-default  

Dà alla Downloadscartella l' defaultemblema.

Impostare il valore su noneper rimuovere gli emblemi. Dovrai riavviare il file manager per vedere le modifiche.


Ho scritto un piccolo script che ti consente di cambiare l'emblema di più di una cartella / file alla volta:

run() {    
cd # make sure we're in the home directory
echo 'What emblem do you want to apply?'
read emblem

if ! [ -z $emblem ]; then
    for i in $@
    do
        echo 'Changing stuff...'
        $(gvfs-set-attribute $i -t stringv metadata::emblems $emblem)
    done
    echo 'Done!'
else
    echo 'Emblem must be specified! Exiting...'
    exit  
fi
}

init() {

if [[ -z $@  ]]; then
    echo "No arguments provided"
else   
    run $@
fi
}

init $@  

fonti:


@RemcoHaszing Controlla la mia risposta modificata, ho fatto un errore e ora l'ho corretto.
Seth,

Volevo sapere, perché volevo scrivere uno script che imposta gli emblemi per indicare lo stato delle mie cartelle Dropbox. Ho scoperto che devo riavviare Thunar per vedere gli emblemi appena aggiunti e leggerlo successivamente nella tua risposta aggiornata. Sai se Thunar è in grado di rilevare queste modifiche durante l'esecuzione in qualche modo?
Remco Haszing,

@RemcoHaszing No, non è proprio possibile AFAIK. Thunar dovrebbe sondare continuamente i cambiamenti e ciò richiederebbe molte risorse. Potrei modificare lo script per chiudere tutte le istanze in esecuzione di Thunar e aprire una nuova istanza nelle cartelle di Dropbox, a seconda di cosa esattamente stai cercando di fare.
Seth,

Script e comando molto belli. Funziona perfettamente su file e directory. Tuttavia, la mia cartella Dropbox è la sua partizione / dev / sda2 ma si monta su ~ / Dropbox. Ho provato a impostare l'emblema per ~ / Dropbox ma non ha funzionato. Qualche idea? Grazie
jbrock

@jbrock Hai riavviato il file manager? Le modifiche non hanno effetto fino al riavvio. Se ciò non lo risolve, temo di non saperlo. Potresti provare a fare una nuova domanda. Mi piacerebbe aiutarti, ma al momento non ho le risorse per testare questo specifico problema. Scusate!
Seth,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.