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 06/06/2010, à 16: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, à 19:17)

Hors ligne

#2 Le 06/06/2010, à 16: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, à 17: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, à 18: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, à 22: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, à 03:54

sputnick

Re : [Résolu]Enregistrer un fichier

@Hizoka, tu n'a pas compris sa demande wink
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 ? :°


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 07/06/2010, à 03:56

Hizoka

Re : [Résolu]Enregistrer un fichier

en effet j'ai pas piger alors, et je n'y connais absolument rien tongue


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#8 Le 07/06/2010, à 04: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 wink


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 07/06/2010, à 23:28

nesthib

Re : [Résolu]Enregistrer un fichier

sympa sputnick smile (j'utilisais xte jusqu'à présent)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#10 Le 08/06/2010, à 18:03

chellier

Re : [Résolu]Enregistrer un fichier

sputnick a écrit :

@Hizoka, tu n'a pas compris sa demande wink
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 smile

sputnick a écrit :
#!/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 big_smile

Hors ligne