Comment puis-je créer une liste rapide dynamique pour le dossier de départ qui ajoute tous les signets en tant que listes rapides (j'ai entendu dire que c'était possible via libunity)?
Voici un petit script Shell qui met à jour votre Home-Quicklist avec tous vos signets. Aucune manipulation manuelle. Il lit votre fichier de signets et crée les éléments de menu à partir de celui-ci. Il ajoute également l'entrée de menu "Root Filemanager".
- Copiez le script ci-dessous dans un fichier vide et placez-le dans votre dossier scripts (nous supposerons que c'est
~/bin/
et le nom de script que vous choisissez estunityhome.bash
).Exécutez le script une fois pour ajouter les entrées:
bash ~/bin/unityhome.bash
En option, vous pouvez avoir cron exécuter le script pour vous de temps en temps. Pour l'ajouter à cron, tapez la commande follwing dans un shell:
crontab -e An editor will open. There add a line like: @reboot /bin/bash/ $HOME/bin/unityhome.bash > /dev/null 2>&1
Si vous ne faites pas cette étape, vous devrez exécuter le script à la main chaque fois que vous modifiez vos signets nautilus si vous souhaitez que la liste rapide soit mise à jour.
Les modifications ne prennent effet qu'à votre prochaine connexion ou après Alt + F2
unity --replace So do that. *Note: Don't run `unity --replace`
dans un terminal. Si vous fermez ce terminal, il tuera l'unité avec lui. *
Profitez-en et jetez un œil au script similaire pour gnome-terminal qui analyse vos signets ssh (dans
~/.ssh/config
).Script: ------- Voici le script:
#!/bin/bash # tabsize: 4, encoding: utf8 # # © 2011 [email protected]. Use permitted under MIT license: # http://www.opensource.org/licenses/mit-license.php # # CONTRIBUTORS: Chris Druif <[email protected]> # Scott Severance <http://www.scottseverance.us/> # # This script updates the unity quicklist menu for nautilus to
contiennent les signets de l'utilisateur. Les mises à jour auront un effet après le redémarrage de l'unité (soit # lors de la prochaine connexion, soit en invoquant 'unit --replace').
# location of template and unity bar launchers nautempl="/usr/share/applications/nautilus-home.desktop" target="$HOME/.local/share/applications/nautilus-home.desktop" bookmarks="$HOME/.gtk-bookmarks" # backup if file already exists if [ -e "$target" ]; then echo "Creating backup of: $target." mv -n "$target" "$target.bak" fi # copy template cp "$nautempl" "$target" sed -i "s/\(OnlyShowIn=GNOME;\)/\1Unity;/" "$target" echo "X-Ayatana-Desktop-Shortcuts=" >> $target bmcount=0 while read bmline; do bmcount=$(($bmcount+1)) # number of current bookmark bmname=${bmline#*\ } # name of the bookmark bmpath=${bmline%%\ *} # path the bookmark leads to # deal with bookmarks that have no name if [ "$bmname" = "$bmpath" ]; then bmname=${bmpath##*/} fi # fix spaces in names and paths bmname="$(echo "$bmname" | sed 's/%20/ /g')" bmpath="$(echo "$bmpath" | sed 's/%20/ /g')" # extend shortcut list with current bookmark sed -i
"s/(X-Ayatana-Desktop-Shortcuts =. *)/\ 1Scg $ {bmcount}; /" "$ target" # écrire les informations du signet cat - >> "$ target" <
[Scg$bmcount Shortcut Group] Name=$bmname Exec=nautilus "$bmpath" OnlyShowIn=Unity EOF done < "$bookmarks" # Add a root file manager entry sed -i "s/\(X-Ayatana-Desktop-Shortcuts=.*\)/\1RootFM;/" "$target" cat - >> "$target" <<EOF [RootFM Shortcut Group] Name=Root Exec=gksudo nautilus OnlyShowIn=Unity EOF exit 0
Réponse originale - Écrit par con-f-use
FYI L'API est expliquée sur le buntu Wiki
Entrées de liste rapide dynamique Des listes rapides peuvent également être créées et ajoutées au lanceur. Pour créer une liste rapide , Un nœud racine doit d'abord être créé en tant que conteneur, puis des nœuds enfants y sont ajoutés . Ce résultat final peut être emballé dans le lanceur qui est ensuite Expédié par bus à Unity. Les mises à jour de la liste rapide sont également en ligne. Plutôt que de décrire l'intégralité de l'API, un exemple d'utilisation de la liste rapide (ainsi que Progression et nombre) est fourni ci-dessous à l'aide des liaisons vala. Il est important de noter que la boucle principale doit être invoquée pour que le programme Fonctionne réellement. Libunity nécessite l'utilisation de la boucle principale car le travail peut être effectué Asynchrone.
Je n'en ai pas encore vu d'exemple. Si je le fais, je l'ajouterai ici dans une heure;)
Les listes rapides dynamiques ne fonctionnaient PAS avant l'unité - 3.8.8-0ubuntu1 en raison d'un bug .