#1 Le 26/11/2017, à 20:50
- punk7as7fck
Portabilité Raccourcis claviers Xfce
Salut à tous,
Je suis nouveau sur leforum.
J'ai fait 1 script qui génére un fichier texte des raccourcis claviers modifiés dans xfconf(format xml).
Si ça intéresse, je peux le poster dans ce message.
Dernière modification par punk7as7fck (Le 27/11/2017, à 06:27)
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#2 Le 28/11/2017, à 01:07
- punk7as7fck
Re : Portabilité Raccourcis claviers Xfce
Bon ya pas eu de retours mais je partage,ça peut servir
À rendre éxécutable ensuite avec:
chmod +x <nom donné au script>
#!/bin/bash
#Do not execute in root,unless you know what you doin'!!!
set -e #Stops script if error occurs
rep_actif=~/.cache/raccourcis_xfconf_personalisés
file_parsed="$rep_actif/xfconf_custom_commands_key_shortcuts.txt"
actual_file="$rep_actif/raccourcis personalisés.txt"
i=1 #initiate while loop & line number
if ! test -d $rep_actif
then
echo "Création de: $rep_actif"
mkdir $rep_actif
fi
echo "Création fichier: $file_parsed"
xfconf-query -c xfce4-keyboard-shortcuts -l | grep /commands/custom/ >"$file_parsed"
total_lines=$(wc -l "$file_parsed" | cut -d/ -f1)
function put_shortcuts_and_spaces_in_line {
echo -n "$(cut -d/ -f4 <<< "$line_parsed") "
}
# Backup old shortcuts
if test -e "$actual_file"
then
echo "~Sauvegarde des précédents raccourcis de commandes.."
cp --backup=numbered -v "$actual_file" "$actual_file.saved"
rm -v "$actual_file"
elif ! test -e "$actual_file"
then
echo "Création de: $actual_file"
fi
echo \
"Raccourci modifié | Action
_____________________________________________" >"$actual_file"
# Text parsing
while [ $i -le $total_lines ]; do #Loop 1 per 1 line
line_parsed="$(sed -n ${i}p "$file_parsed")" #Copy line from file to var
put_shortcuts_and_spaces_in_line >>"$actual_file" #Put shortcut + [space] in file
xfconf-query -c xfce4-keyboard-shortcuts -p "$line_parsed" >>"$actual_file" #Put commands next to shortcuts in file
i=$(($i+1))
done
#The Finish
echo "Ça c'est bien passé :)" | grep . --color=always
echo "Voulez-vous voir les raccourcis maintenant?
[Appuyer] pour continuer, [Ctrl-[c] pour annuler" | grep . --color=always
read
echo "###Début du fihier"
cat -n "$actual_file"
echo "###Fin du fichier"
#Note: For text processing,i tried to use the buffer instead of a file but it couldn't past 5 shortcuts.
#while [ $i -le $END ]; do
# get_xfce_keyboard_shortcuts | grep "/commands/custom/" | grep -n $i #>>"$file"
# echo $i
# i=$(($i+1))
#done
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#3 Le 28/11/2017, à 01:25
- Watael
Re : Portabilité Raccourcis claviers Xfce
salut,
bah, on aurait préféré ne pas voir ça.
si tu veux lire un fichier ligne par ligne :
while read line; do : what ever you want with "$line"; done
je n'utilise pas xfce4, donc je ne peux t'en dire plus.
est-ce que ce ne serait pas possible de pondre une ligne sed qui effectuerait la modification de la commande xfconf-query en la redirigeant vers le fichier de conf voulu ?
donc, pour aller plus loin, il faut fournir un échantillon de la sortie de la commande à traiter, et le résultat correspondant attendu.
EDIT: ah, j'ai trouvé un XFCE !
while read line
do
echo "${line##*/} $(xfconf-query -c xfce4-keyboard-shortcuts -p "$line")"
done < <(xfconf-query -c xfce4-keyboard-shortcuts -l) >"$fichierConf"
et c'est tout !!!
Dernière modification par Watael (Le 28/11/2017, à 01:48)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 28/11/2017, à 01:49
- punk7as7fck
Re : Portabilité Raccourcis claviers Xfce
Salut,
bah, on aurait préféré ne pas voir ça. hmm
Où là làa.
Est-ce que ce ne serait pas possible de pondre une ligne sed qui effectuerait la modification de la commande xfconf-query en la redirigeant vers le fichier de conf voulu ?
Je..ne sais pas..j'ai utilisé sed comme je pouvais.
donc, pour aller plus loin, il faut fournir un échantillon de la sortie de la commande à traiter, et le résultat correspondant attendu.
Le résultat attendu tu peux le voir dans la capture d'écran.
Ton script est le bienvenu
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#5 Le 28/11/2017, à 02:28
- Watael
Re : Portabilité Raccourcis claviers Xfce
j'ai édité mon message pour y ajouter un script pendant que tu écrivais le tien.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 28/11/2017, à 03:26
- punk7as7fck
Re : Portabilité Raccourcis claviers Xfce
Oui, j'avais remarqué.
Maintenant tu peux aussi poster un nouveau script complet en rajoutant ta modification
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#7 Le 28/11/2017, à 04:23
- MicP
Re : Portabilité Raccourcis claviers Xfce
Comme il s'agit d'un script, je me suis dit que
l'utilisation des options longues pourrait être plus sympa à lire.
J'ai aussi remplaçé la commande grep par l'utilisation de l'option property
et fait afficher l'action associée au raccourci en utilisant l'option verbose
Ci dessous, le retour de la commande modifiée
entrée sur ma machine qui utilise l'environnement de bureau XFCE 4.10
sur un système debian 8 (jessie)
(J'ai inséré un espace insécable (U+A0) entre les mots Raccourci et modifié)
michel@debg53sw:~$ (echo -e "Raccourci modifié Action\n───────────────── ──────\n";xfconf-query --verbose --list --channel xfce4-keyboard-shortcuts --property "/commands/custom") | sed -e 's/[ ][ ]*/;/;s|/commands/custom/||' | column -s";" -t
Raccourci modifié Action
───────────────── ──────
<Alt>F1 xfce4-popup-applicationsmenu
<Alt>F2 xfce4-appfinder --collapsed
<Alt>F3 xfce4-appfinder
override true
<Primary><Alt>agrave/startup-notify true
<Primary><Alt>Delete xflock4
<Primary><Alt>t exo-open --launch TerminalEmulator
<Primary>Escape xfdesktop --menu
<Super>p xfce4-display-settings --minimal
XF86Display xfce4-display-settings --minimal
XF86Mail exo-open --launch MailReader
XF86WWW exo-open --launch WebBrowser
michel@debg53sw:~$
=======
Je suis certain qu'on peut faire beaucoup mieux que mon bricolage.
Dernière modification par MicP (Le 28/11/2017, à 06:20)
Hors ligne
#8 Le 28/11/2017, à 07:55
- punk7as7fck
Re : Portabilité Raccourcis claviers Xfce
Ça fait plaisir de voir d'autres contributeurs
Comme il s'agit d'un script, je me suis dit que
l'utilisation des options longues pourrait être plus sympa à lire.
Oui, je pense aussi.
T'as un peu dévié le sujet mais t'apporte aussi de nouveaux éléments utiles:
"Portabilité Raccourcis claviers Xfce" : Car le programme exporte les raccourcis modifiés dans un fichier texte, réutilisable par exemple dans un autre DE pour les restaurer.
(J'ai inséré un espace insécable (U+A0) entre les mots Raccourci et modifié)
Pourquoi? On copie-colle et:
social@mx1:~
$ (echo -e "Raccourci modifié Action\n───────────────── ──────\n";xfconf-query --verbose --list --channel xfce4-keyboard-shortcuts --property "/commands/custom") | sed -e 's/[ ][ ]*/;/;s|/commands/custom/||' | column -s";" -t
Raccourci modifié Action
───────────────── ──────
<Alt>F1 xdg-open /usr/local/share/doc/mxum.html
<Alt>F2 xfce4-appfinder --collapsed
<Alt>F3 xfce4-appfinder
F4 xfce4-terminal --hide-menubar --hide-borders --drop-down
override true
<Primary><Alt>Delete xflock4
<Primary><Alt>Escape xkill
<Primary>Escape xfdesktop --menu
Print xfce4-screenshooter
Super_L xfce4-popup-whiskermenu
<Super>p xfce4-display-settings --minimal
XF86Display xfce4-display-settings --minimal
XF86Mail exo-open --launch MailReader
XF86WWW exo-open --launch WebBrowser
social@mx1:~
$
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#9 Le 28/11/2017, à 10:13
- MicP
Re : Portabilité Raccourcis claviers Xfce
…
MicP a écrit :(J'ai inséré un espace insécable (U+A0) entre les mots Raccourci et modifié)
Pourquoi? On copie-colle et:
…
Le caractère espace insécable n'est pas affichable sur ce forum
et comme tu peux le constater dans le retour de la commande,
le mot modifié a été déplacé dans le deuxième champ
car il était séparé par un caractère espace dans la copie avant collage
de la ligne de commande que tu as lancée.
Et puis c'est surtout qu'étant très très nettement moins compétent que d'autres (comme Watael)
je n'ai pas sû trouver la bonne expression rationnelle à utiliser dans la commande sed.
=======
Pour remplacer le caractère espace qui est entre les mots Raccourci et modifié
par un caractère espace insécable
il est possible d'utiliser le raccourci clavier Ctrl+maj+u
=> un petit caractère u souligné s'affiche alors, indiquant qu'on peut maintenant
entrer le point de code unicode du caractère que l'on veut voir s'afficher,
et qui est, pour le caractère espace insécable :
a0 (<=> lettre a suivie du chiffre zéro)
=======
Avec ma configuration clavier Français (variante),
je peux aussi entrer ce caractère espace insécable plus simplement :
en utilisant le raccourci clavier : AltGr+maj+Espace
Dernière modification par MicP (Le 28/11/2017, à 11:54)
Hors ligne
#10 Le 28/11/2017, à 15:46
- punk7as7fck
Re : Portabilité Raccourcis claviers Xfce
Et puis c'est surtout qu'étant très très nettement moins compétent que d'autres (comme Watael)
Tu te débrouille bien quand même.
Pour remplacer le caractère espace qui est entre les mots Raccourci et modifié
par un caractère espace insécable [...]
Ok,toutefois cette manipulation de raccourcis clavier est moins pratique que lancer le script directement.
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#11 Le 28/11/2017, à 16:33
- MicP
Re : Portabilité Raccourcis claviers Xfce
…Tu te débrouille bien quand même. …
C'est sympa, mais quand je me compare à certains, vraiment, je me dis que je suis encore très loin de ce qu'il faudrait : au moins les regex, mais bon, en ce moment, j'ai d'autres priorités qui me prennent bien la tête.
…cette manipulation de raccourcis clavier est moins pratique que lancer le script directement. …
Oui, j'indique les différentes façons d'entrer le caractère espace insécable lors de la rédaction du script, après, plus besoin du raccourci.
Là, j'ai directement utilisé la ligne de commandes pour montrer ce qu'on pouvait faire,
mais je serais pas étonné qu'avec quelques commandes dans awk,
on puisse faire bien plus simple qu'en utilisant les deux commandes sed et column
Dernière modification par MicP (Le 28/11/2017, à 16:34)
Hors ligne
#12 Le 29/11/2017, à 14:32
- punk7as7fck
Re : Portabilité Raccourcis claviers Xfce
@MicP : On pourrait améliorer ta commande en simulant le caractère espace insécable avec xdotool, il me semble, comme ça l'utilisateur n'aurai pas besoin de le rajouter.
L'inconvenient c'est que ça ralentirait le script.
Mes petits projets:
applet wifi conky: https://forum.ubuntu-fr.org/viewtopic.p … #p22034484
theme gtk2 : https://www.opendesktop.org/p/1287919/
l'éditeur nano optimisé: https://forum.ubuntu-fr.org/viewtopic.php?id=2036903
Hors ligne
#13 Le 29/11/2017, à 23:42
- MicP
Re : Portabilité Raccourcis claviers Xfce
Ou alors, si tu as vraiment la flemme d'utiliser un raccourci clavier,
tu remplace :
Raccourci modifié
par :
Raccourci_modifié
Dernière modification par MicP (Le 29/11/2017, à 23:43)
Hors ligne