web-dev-qa-db-fra.com

Comment créer une option pour insérer l'horodatage?

Lors de l'édition de documents texte, je dois mettre souvent des horodatages. J'ai pensé à l'automatiser de 2 manières différentes. Aucun d'entre eux ne semble fonctionner.

  1. Utilisation de nautilus-actions

J'ai mis en place une nouvelle action right-context qui exécute la commande date|xclip

enter image description here

Ce contexte de droite ne s'affiche pas lorsque je clique avec le bouton droit de la souris sur d'autres applications (telles que le terminal ou le navigateur). De plus, quand il apparaît et que je clique dessus, il ne fait rien.

  1. Utilisation du raccourci clavier

J'ai créé un nouveau raccourci clavier qui est supposé exécuter la commande date mais ne le fait pas.

enter image description here

Des pointeurs?

Merci.

8
user13107

Les raccourcis clavier GNOME devraient fonctionner.

Voici pourquoi ce que vous avez essayé n'a pas fonctionné: Votre raccourci clavier exécute la commande date, mais ne fait rien avec la sortie (qui est simplement ignorée). Vous devez le diriger vers xclip, en tant que date | xclip pour le copier dans la sélection X ( et non presse-papiers). Vous pouvez ensuite le coller dans votre document en cliquant avec le bouton du milieu. Si vous voulez pouvoir utiliser Ctrl-V, utilisez plutôt date | xclip -selection c pour le copier dans le presse-papier.

Une autre alternative consiste à utiliser xdotool pour taper la date directement dans votre document. Attribuer à votre raccourci

xdotool type "$(date)"

Ensuite, lorsque vous appuierez sur la touche de raccourci, il calculera la date du jour et tapera les caractères dans votre document.

Pour le format ISO 8601, utilisez xdotool type "$(date --rfc-3339=s)".


Si cela ne fonctionne pas: comme il s'agit de commandes Shell (par opposition aux exécutables), vous devrez peut-être passer la commande à bash lorsque vous les spécifiez dans votre raccourci. Votre commande serait alors:

bash -c 'xdotool type "$(date --rfc-3339=s)"'
11
Mechanical snail

Je l'ai utilisé avec succès comme raccourci clavier personnalisé attribué à Ctrl+Shift+D:

bash -c 'sleep 0.3 && xdotool type "$(date -u +%Y-%m-%d_%H:%M:%SZ)"'

J'ai trouvé que l'ajout d'un léger retard a résolu les problèmes de caractères initiaux manquants et ne pollue pas mon presse-papiers.

Notez que j'utilise une version légèrement personnalisée du format RFC 3339/ISO 8601: je l'utilise souvent dans des contextes où je veux éviter l'espace dans la sortie RFC 3339 de date, mais je trouve le T cela sépare la date de l'heure dans les horodatages ISO 8601 plutôt peu intuitive et difficile à lire, donc je trouve qu'un trait de soulignement fonctionne bien.

3
Gabriel Grant
bash -c 'xdotool keyup super && xdotool type "$(date +%Y.%m.%d)"'

J'utilise Super+Q comme raccourci et je dois effacer le modificateur super avant d'envoyer le date. J'ai essayé --clearmodifiers mais cela ferait apparaître le unity dash après l'exécution du raccourci [1]

[1] La raison pour laquelle unity dash apparaîtra ensuite est avant que la super ne soit restaurée si --clearmodifiers est utilisé. Citation de man xdotool

CLEARMODIFIERS
       Any command taking the --clearmodifiers flag will attempt to clear any
       active input modifiers during the command and restore them afterwards.
0
Sungam