Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/01/2014, à 19:56

pandageek

modifier le tableau de bord xfce en console

Bonjour à tous,
J'aimerai savoir comment modifier le tableau de bord xfce en lignes de commandes.
J'installe xubuntu régulièrement et j'aimerai automatiser la configuration du tableau de bord.

Merci pour vos réponses!

Hors ligne

#2 Le 19/01/2014, à 20:03

Elzen

Re : modifier le tableau de bord xfce en console

Je vais peut-être dire une bêtise, mais pour automatiser la configuration, tu ne pourrais pas simplement copier d'une machine à l'autre le répertoire de configuration ? Les fichiers doivent se trouver dans ~/.config/xfce4.

Sinon, pour modifier des options de configuration à la main, il y a un utilitaire appelé xfconf-query. En fouillant un peu dans ses options, tu devrais pouvoir faire des trucs intéressants.

Hors ligne

#3 Le 19/01/2014, à 20:19

pandageek

Re : modifier le tableau de bord xfce en console

ce n'est pas bête du tout.
il y a un dossier ~/.confog/xfce4/panel mais je ne comprend pas comment tout cela fonctionne

Hors ligne

#4 Le 19/01/2014, à 20:23

nam1962

Re : modifier le tableau de bord xfce en console

Tiens, je vais suivre ton fil pour voir si il y a un truc à ajouter à mon tuto smile


[ Modéré ]

Hors ligne

#5 Le 19/01/2014, à 20:29

Elzen

Re : modifier le tableau de bord xfce en console

pandageek a écrit :

ce n'est pas bête du tout.
il y a un dossier ~/.config/xfce4/panel mais je ne comprend pas comment tout cela fonctionne

Eh bien, normalement, ce répertoire contient toute la configuration des différents panels Xfce. Donc, normalement, tu as juste à copier ce répertoire à l'identique et au même endroit d'une installation à l'autre, et la configuration devrait suivre.

Pour plus de sécurité, je te conseille de faire la copie depuis un TTY, alors que Xfce ne tourne pas, pour éviter les conflits d'une copie à chaud.

Après, sur le contenu du répertoire il me semble que tout ce qui est géré par XfConf est sous la forme de fichiers XML théoriquement humainement compréhensibles, mais je ne suis jamais allé voir dans le détail, et je n'ai pas de panel Xfce sous la main pour le moment.

Hors ligne

#6 Le 20/01/2014, à 01:28

pge

Re : modifier le tableau de bord xfce en console

Bonsoir,

Sous Xubuntu 12.04,
le dossier ~/.config/panel contient l'ensemble des paramétrages de greffons (fichiers *rc), lanceurs (fichiers .desktop), ... utilisés dans les TdB
mais la définition des TdB eux-même se trouve dans ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml (et pour certains greffons, avec le paramètrage ...)

Quant à aller "triturer" tout ça avec xconf-query, ça doit être un peu "casse-gueule" dans la mesure où, par exemple, les lanceurs sont automatiquement appelés par un id composé à leur création d'un nombre à 10-12 chiffres qui est aussi le nom du fichier .desktop dans le sous-dossier launcher-XX (le lanceur "contenant") dans ~/.config/panel ... etc mad
Dans ces conditions, l'utilisation de xconf-query me paraît très lourde (une ligne de code pour chaque propriété ...) pour configurer entièrement les TdB d'un bureau ...

EDIT : oubli ... Attention, manip à faire avec xfce4-panel arrêté (... voir aussi la config dans Paramètres > Session - Redémarrage qui, par défaut, rebascule en "Immédiatement" à chaque redémarrage), voire, plus simple, déconnecté du profil (en TTY ... ). Sans quoi, perte de la config de tous les lanceurs "personnalisés" ...

La solution d'Elzen est donc la bonne en rajoutant la copie de ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml !!!



pge

(je suis le fil, si qq un a mieux, ça m'intéresse ...;) )

Dernière modification par pge (Le 21/01/2014, à 11:10)

Hors ligne

#7 Le 21/01/2014, à 02:46

melixgaro

Re : modifier le tableau de bord xfce en console

salut à tous,

J'installe et ré-installe souvent Xubuntu au gré des différentes sorties ou parce que mon système est devenu trop bordélique à cause des tests que je fait ;-)
Donc je me suis posé la question de la configuration des panneaux en ligne de commande, car c'est rigolo les deux premières fois mais après c'est assez embêtant de tout reconfigurer : l'ordre des objets, les propriétés, la configuration des appliquettes etc etc

J'ai réussi à écrire un script qui n'est certainement pas parfait, mais la doc est assez pauvre (ou alors j'ai mal cherché). Je vous mets un extrait (en espérant que ce soit fonctionnel) :

xfconf-query -c xfce4-panel -p /plugins -r -R   # Remove completely the panel configuration
rm -rfv ~/.config/xfce4/panel/*
rm -v ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml

PanelOffset=-1
PluginOffset=0

PluginNumber=${PluginOffset}
PluginNumber=$((PluginNumber+1))
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber} -n -t string -s "applicationsmenu"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/button-icon -n -t string -s "distributor-logo"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/button-title -n -t string -s "Applications"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/custom-menu -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/custom-menu-file -n -t string -s ""
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-button-title -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-generic-names -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-menu-icons -n -t bool -s true
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-tooltips -n -t bool -s true

PluginNumber=$((PluginNumber+1))
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber} -n -t string -s "places"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/button-label -n -t string -s "Raccourcis"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/mount-open-volumes -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/search-cmd -n -t string -s "catfish"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-bookmarks -n -t bool -s true
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-button-type -n -t int -s 0 # 0 = icon / 1 = label / 2 = icon & label
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-icons -n -t bool -s true
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-recent -n -t bool -s true
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-recent-clear -n -t bool -s true
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-recent-number -n -t int -s 5
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-volumes -n -t bool -s true

PluginNumber=$((PluginNumber+1))
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber} -n -t string -s "separator"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/expand -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/style -n -t int -s 0   # 0 = transparent / 1 = separator / 2 = handle / 3 = dots

PluginNumber=$((PluginNumber+1))
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber} -n -t string -s "launcher"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/arrow-position -n -t int -s 0   # 0 = default / 1 = north / 2 = west / 3 = east / 4 = south / 5 = inside
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/disable-tooltips -n -t bool -s false
LauncherName="$(date +%s).desktop"
mkdir ~/.config/xfce4/panel/launcher-${PluginNumber}/
cp -iv /usr/share/applications/terminator.desktop ~/.config/xfce4/panel/launcher-${PluginNumber}/${LauncherName}
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/items -n -a -t string -s "${LauncherName}"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/move-first -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-label -n -t bool -s false

PluginNumber=$((PluginNumber+1))
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber} -n -t string -s "launcher"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/arrow-position -n -t int -s 0   # 0 = default / 1 = north / 2 = west / 3 = east / 4 = south / 5 = inside
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/disable-tooltips -n -t bool -s false
LauncherName="$(date +%s).desktop"
mkdir ~/.config/xfce4/panel/launcher-${PluginNumber}/
cp -iv /usr/share/applications/firefox.desktop ~/.config/xfce4/panel/launcher-${PluginNumber}/${LauncherName}
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/items -n -a -t string -s "${LauncherName}"
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/move-first -n -t bool -s false
xfconf-query -c xfce4-panel -p /plugins/plugin-${PluginNumber}/show-label -n -t bool -s false

PluginTotalNumber=${PluginNumber}
PanelNumber=${PanelOffset}
PanelNumber=$((PanelNumber+1))
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/autohide -n -t bool -s false
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/background-alpha -n -t int -s 100
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/background-image -n -t string -s ""
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/background-style -n -t int -s 0   # 0 = default (theme) / 1 = custom background color / 2 = image
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/disable-struts -n -t bool -s false
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/enter-opacity -n -t int -s 100
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/leave-opacity -n -t int -s 70
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/length -n -t int -s 100
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/length-adjust -n -t bool -s true
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/mode -n -t int -s 0   # 0 = horizontal / 1 = vertical / 2 = deskbar
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/nrows -n -t int -s 1
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/plugin-ids -n -a $(for i in $(seq $((PluginOffset+1)) $((PluginTotalNumber))); do echo "-t int -s $i"; done | tr '\n' ' ')
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/position -n -t string -s "p=6;x=0;y=0"   # "p5;x=?;y=?" = use x & y coordinates / "p6;x=0;y=0" = screen top / "p7;x=0;y=0" = screen middle / "p8;x=0;y=0" = screen bottom
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/position-locked -n -t bool -s true
xfconf-query -c xfce4-panel -p /panels/panel-${PanelNumber}/size -n -t int -s 25

Voilà. Les entiers PanelNumber et PluginNumber sont nécessaires car les différents éléments des tableaux de bord et les tableaux de bord eux-mêmes ont un identifiant numérique, comme souligné par pge. Les premières lignes servent à effacer la config actuelle. À voir pour amélioration, c'est un peu violent je crois. Je faisais mes tests en X, par facilité et du coup il fallait que je vide la configuration en cours sinon ça ne marchait pas ou pas bien. Mais sans doute qu'en passant par un TTY, on peut faire les choses plus proprement.
Ce script devrait normalement créer un panneau horizontal supérieur. Il prend toute la largeur de l'écran, l'opacité est maximale lorsque la souris est dessus et tombe à 70% sinon. Il est tout le temps visible, de taille fixe, de hauteur 25. Il contient dans l'ordre : le menu des applications, les emplacements, un séparateur, un lanceur pour terminator et un lanceur pour firefox. On crée d'abord les éléments (les blocs commençant par PluginNumber) et en dernier le tableau.
Il y a quelques commentaires et des notes sur les valeurs que peuvent prendre les propriétés. Mon script est plus long que cela car il configure deux tableaux horizontaux supérieur et inférieur (à la Gnome 2.3, je suis un grand nostalgique ;-)) et configure l'horloge, la position des espaces de travail, la position des onglets d'applications, le menu de connexion, l'appliquette météo...

PS : nam1962, puisque tu suis ce fil, j'en profite pour faire des compliments sur ton autre fil ;-) Je suis assez jaloux (et donc admiratif) de ton tuto pour configurer Xfce/Xubuntu. C'est vraiment très bien. J'avais dans l'idée de faire quelque chose comme ça, histoire de partager mon expérience. En particulier, le réglage des tableaux de bord, de thunar etc en ligne de commande. Mais ma liste de chose à faire étant longue comme le Nil et comme ce n'était pas ma priorité numéro 1, il était sûr que quelqu'un le ferait avant moi... En l'occurence toi ! Sincérement, bravo et merci.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#8 Le 21/01/2014, à 10:15

nam1962

Re : modifier le tableau de bord xfce en console

@melixgaro : merci pour ta jalousie ! wink

Au départ c'était pour moi un aide mémoire pour les installs chez des copains, puis les gens s'en sont mèlés.. simple en fait big_smile


[ Modéré ]

Hors ligne