#1 Le 06/06/2010, à 15:33
- chellier
[Résolu]Enregistrer un fichier
Bonjour,
J'essaye d'écrire un script qui enregistre un fichier (comme un CTRL+S), puis lance une compilation.
Jusque là j'utilisais xdotool mais avec Lucid Lynx, j'ai un bug.
Existe-t'il une commande permettant d'enregistrer un fichier ?
J'ai essayé un
cp monfichier monfichier
mais bien sûr ça ne fonctionne pas...
Christophe
Dernière modification par chellier (Le 17/06/2010, à 18:17)
Hors ligne
#2 Le 06/06/2010, à 15:52
- Michel Leunen
Re : [Résolu]Enregistrer un fichier
Un script qui enregistre ou crée un fichier?
Il nous faut un peu plus de renseignement sur ce que tu veux faire.
Michel Leunen
http://linux.leunen.com
Hors ligne
#3 Le 06/06/2010, à 16:05
- chellier
Re : [Résolu]Enregistrer un fichier
En fait il s'agit d'un outil externe pour gedit. Le fichier ouvert dans gedit, un raccourci clavier fait appel au script de l'outil externe : ce script doit enregistrer le fichier en cours, puis compiler (une compilation asymptote, mais ce n'est pas le problème ici).
Je mets le script ci-dessous, je voudrais remplacer la ligne avec xdotool (qui me pose problème)
#!/bin/sh
#--------------------------------------------------------------------------
#fonction de visualisation des images
visualisation()
{
evince "$1.pdf" &
}
#--------------------------------------------------------------------------
#----------------------------------- sauvegarde du fichier courant
xdotool key "ctrl+s"
#nomfichier : nom du fichier courant
nomfichier="$GEDIT_CURRENT_DOCUMENT_NAME"
#base : nom du fichier sans extension
base=${nomfichier%.*}
#ext : extension du fichier
ext=`echo $nomfichier |cut -f2 -d.`
# test
#-------------------------------------- si fichier asy, compilation
if test $ext = "asy" ; then
asy -f pdf -noV $nomfichier && visualisation $base
else
echo "<Control>F4 nécessite un fichier asy !"
fi
Christophe
Hors ligne
#4 Le 06/06/2010, à 17:39
- chellier
Re : [Résolu]Enregistrer un fichier
J'ai résolu mon problème directement avec gedit, mais je ne mets pas mon sujet en résolu, car je ne sais toujours pas comment enregistrer un fichier en ligne de commande...
Christophe
Hors ligne
#5 Le 06/06/2010, à 21:11
- Hizoka
Re : [Résolu]Enregistrer un fichier
echo "ton texte" > ton_fichier
en ligne de cmmande je ferais ça....
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 07/06/2010, à 02:54
- sputnick
Re : [Résolu]Enregistrer un fichier
@Hizoka, tu n'a pas compris sa demande
Il cherche à simuler la combinaison clavier control+s afin d'enregistrer son fichier régulièrement ( genre en cron ).
Il a trouvé comment le faire automatiquement via un plugin gedit, mais il est intéressé sur le principe des manipulations X via des scripts, parce que c'est vrai que c'est assez classe et interessant.
C'est bien ça chellier ? :°
Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr
Hors ligne
#7 Le 07/06/2010, à 02:56
- Hizoka
Re : [Résolu]Enregistrer un fichier
en effet j'ai pas piger alors, et je n'y connais absolument rien
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#8 Le 07/06/2010, à 03:21
- sputnick
Re : [Résolu]Enregistrer un fichier
La solution :
#!/bin/bash
oldWin=$(xdotool getactivewindow) # on recupere le window-id de la fenetre courante
xdotool windowfocus $(xdotool search --title "test.txt") # test.txt est le nom du fichier edité dans gedit
xdotool key "ctrl+s" # on lance control+s
xdotool windowfocus $oldWin # on remet le focus comme avant
A mettre en crontab toutes les minutes par exemple
Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr
Hors ligne
#9 Le 07/06/2010, à 22:28
- nesthib
Re : [Résolu]Enregistrer un fichier
sympa sputnick (j'utilisais xte jusqu'à présent)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#10 Le 08/06/2010, à 17:03
- chellier
Re : [Résolu]Enregistrer un fichier
@Hizoka, tu n'a pas compris sa demande
Il cherche à simuler la combinaison clavier control+s afin d'enregistrer son fichier régulièrement ( genre en cron ).
Il a trouvé comment le faire automatiquement via un plugin gedit, mais il est intéressé sur le principe des manipulations X via des scripts, parce que c'est vrai que c'est assez classe et interessant.
C'est bien ça chellier ? :°
Oui, c'est bien ça
#!/bin/bash oldWin=$(xdotool getactivewindow) # on recupere le window-id de la fenetre courante xdotool windowfocus $(xdotool search --title "test.txt") # test.txt est le nom du fichier edité dans gedit xdotool key "ctrl+s" # on lance control+s xdotool windowfocus $oldWin # on remet le focus comme avant
J'essaye dès que je peux ! Merci sputnick
Hors ligne