AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

FvwmScript - En ligne dans le Cloud

Exécutez FvwmScript dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande FvwmScript qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


FvwmScript - module pour créer une interface utilisateur graphique

SYNOPSIS


FvwmScript doit être généré par Fvwm. Cela ne fonctionnera pas à partir de la ligne de commande.

DESCRIPTION


FvwmScript est un module qui vous permet de construire de nombreuses applications graphiques telles que
accessoires de bureau, panneau de boutons avec menus contextuels, boîtes de dialogue modales... Au démarrage,
FvwmScript lit le fichier qui est spécifié sur la ligne de commande. Ce fichier contient le
scénario. Ce script n'est pas inclus dans le fichier de configuration de Fvwm.

Un script FvwmScript est entièrement contrôlable à l'aide du clavier. (Maj)-Tab circule
autour des widgets, Return simule un clic de souris, les flèches déplacent le curseur ou modifient
les valeurs du widget et Escape "annule" pour Menu et PopupMenu.

INVOCATION


FvwmScript peut être invoqué en insérant la ligne `Module FvwmScript name_of_script' dans le
fichier .fvwm2rc. Le fichier "name_of_script" peut commencer par une barre oblique, auquel cas, c'est un
chemin complet et le fichier est lu. Si "name_of_script" ne commence pas par un
barre oblique, FvwmScript cherchera à plusieurs endroits différents. Si le .fvwm2rc contenait le
ligne de commande `*FvwmScript: Path path_of_the_script_directory', FvwmScript essaiera cela
annuaire. Si cela ne fonctionne pas, FvwmScript essaie le répertoire de configuration système et
le répertoire de configuration utilisateur comme décrit sous la commande "Read" dans le man fvwm
.

La commande pour démarrer FvwmScript peut être placée sur une ligne par elle-même, si FvwmScript doit être
généré lors de l'initialisation de fvwm, ou peut être lié à un menu ou à un bouton de la souris ou
touche pour l'invoquer plus tard.

CONFIGURATION OPTIONS


Les commandes suivantes peuvent être utilisées dans le fichier de configuration (voir fvwm(1), article MODULE
COMMANDES pour les détails). Ils ne sont utilisés que si les commandes de script correspondantes ne sont pas
utilisé dans le scénario.

*FvwmScript : Police par défaut fonte
Spécifie la police par défaut à utiliser. Si non spécifié avec cette commande ou dans le
script avec la commande Police, une police fixe est supposée.

*FvwmScript : DefaultFore Couleur
Spécifie la couleur de premier plan par défaut à utiliser. Si non spécifié avec ce
ou dans le script avec la commande ForeColor, le noir est utilisé.

*FvwmScript : DefaultBack Couleur
Spécifie la couleur d'arrière-plan par défaut à utiliser. Si non spécifié avec ce
ou dans le script avec la commande BackColor, gray85 est utilisé.

*FvwmScript : DefaultHilight Couleur
Spécifie la couleur de surbrillance par défaut à utiliser. Si non spécifié avec cette commande
ou dans le script avec la commande HilightColor, gray100 est utilisé.

*FvwmScript : DefaultShadow Couleur
Spécifie la couleur d'ombre par défaut à utiliser. Si non spécifié avec cette commande
ou dans le script avec la commande ShadowColor, gray55 est utilisé.

*FvwmScript : DefaultColorset jeu de couleurs
Indique au module d'utiliser le jeu de couleurs jeu de couleurs comme jeu de couleurs par défaut. Se référer au
Page de manuel FvwmTheme pour plus de détails sur les jeux de couleurs.

ANATOMIE OF A SCÉNARIO


FvwmScript utilise un langage de programmation particulier. Un script est composé de cinq parties.
L'en-tête contient les caractéristiques générales de la fenêtre et les propriétés par défaut pour tous
widgets. La deuxième partie contient des instructions qui sont exécutées au démarrage du
scénario. La troisième partie contient des tâches périodiques qui sont exécutées toutes les secondes. Les
la quatrième partie contient des instructions qui sont exécutées à la sortie. Et la dernière partie contient
la description des widgets. Un widget se compose de onze types d'éléments : étiquettes de texte,
saisies de texte sur une seule ligne, boutons radio, case à cocher, boutons poussoirs, horizontaux et verticaux
barres de défilement, rectangles, menus contextuels, hirondelles et mini barres de défilement.

RUBRIQUE OF A SCÉNARIO


La syntaxe est la suivante:

Titre de la fenêtre un magnifique
Cette option définit le titre de la fenêtre.

La taille de la fenêtre largeur la taille
Cette option définit la taille de la fenêtre. largeur et la taille sont des valeurs numériques.

PositionFenêtre x y
Cette option définit la position de la fenêtre. x et y sont des valeurs numériques.

Couleur de premier plan {Couleur}
Cette option définit la couleur de premier plan par défaut pour tous les widgets.

Couleur de fond {Couleur}
Cette option définit la couleur d'arrière-plan par défaut pour tous les widgets.

Couleur de surbrillance {Couleur}
Cette option définit la couleur de surbrillance par défaut pour tous les widgets.

Couleur de l'ombre {Couleur}
Cette option définit la couleur d'ombre par défaut pour tous les widgets.

Jeu de couleurs {n}
Cette option définit le jeu de couleurs par défaut pour tous les widgets.

Police de caractère {fonte}
Cette option définit la police par défaut pour tous les widgets.

UtiliserLiretexte [chemin_locale]
Activer l'utilisation du mécanisme gettext qui est utilisé par le WindowLocaleTitle,
LocaleTitle, les instructions ChangeLocaleTitle et la fonction Gettext. Sinon
est donné, le catalogue de paramètres régionaux FvwmScript par défaut est utilisé. Ce catalogue est
sous le répertoire d'installation locale fvwm et le domaine de texte est FvwmScript
(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo). Vous pouvez réinitialiser cela
catalogue ou ajouter des catalogues exactement de la même manière qu'avec le LocalePath fvwm
(voir la page de manuel fvwm). Cette instruction doit être placée avant le
Instruction WindowLocaleTitle.

TitreFenêtreLocale un magnifique
Cette option définit le titre de la fenêtre, mais utilise le ou les catalogues de paramètres régionaux définis avec
UtilisezGettext.

INITIALISATION


Cette partie contient des instructions qui seront exécutées au démarrage. Par exemple:
Init
Commencer
Faites "Exec cat tada.voc > /dev/dsp"
WarpPointer 1
Définir $ToDo=Redémarrer
Fin
Ces instructions sont utilisées pour jouer un son, déplacer le pointeur sur le widget 1 et sur
initialisez $ToDo pour "Redémarrer" à chaque démarrage.

PÉRIODIQUE TÂCHES


Cette partie du script contient des instructions qui sont exécutées toutes les secondes. Pour
Exemple:
Tâches périodiques
Commencer
Si (RemainderOfDiv (GetTime) 10)==0 Alors
Faire {Exécuter xcalc}
Fin
Cet exemple montre comment lancer xcalc toutes les 10 secondes.

LES QUITTER FONCTION


Cette partie du script contient des instructions qui sont exécutées lorsque le script se termine
(après l'instruction Quitter ou si vous fermez la fenêtre avec Fermer, Supprimer ou Destroy
commande fvwm). Par exemple
QuitterFunc
Commencer
Fais {Echo bye, bye}
Fin
Sachez que si vous avez utilisé la commande KillModule fvwm pour fermer le script, certains
instructions ou fonctions qui reposent sur l'existence d'un lien de communication entre le
script et fvwm ne seront pas exécutés (par exemple la commande Do). Pour tuer en douceur un
script avec une commande fvwm voir le COMMANDES .

PRINCIPAL OF A SCÉNARIO


La deuxième partie du script contient la description de chaque widget du script.
Chaque description de widget comporte deux parties. La première partie décrit les propriétés initiales, les
la deuxième partie contient des instructions qui sont exécutées lorsque le widget reçoit des messages.
Tous les widgets peuvent envoyer et recevoir des messages. Tous les messages sont identifiés par un numéro. Les
le message "UserAction" est envoyé à un widget lorsque l'utilisateur actionne le widget. La syntaxe
pour la première partie est :
Widget id # Un nombre compris entre 1 et 999 inclus
Biens immobiliers
Saisir la chaîne
Taille largeur hauteur
Position xy
Titre { chaîne }
Valeur entière
MaxValue entier
MinValue entier
Chaîne de police
ForeColor { couleur }
BackColor { couleur }
HilightColor { couleur }
ShadowColor { couleur }
Jeu de couleurs int
Drapeaux drapeauxOpt
L'option flagsOpt de Flags est une liste séparée par des espaces contenant un ou plusieurs des
mots clés caché, Aucune chaîne de secours, Pas de mise au point, Gauche / Canaux centraux / Droite. caché est utilisé pour
spécifiez si le widget est masqué au démarrage. Aucune chaîne de secours spécifie si les chaînes sont dessinées
avec soulagement ou non. Pas de mise au point spécifie si le widget peut obtenir le focus clavier ou non.
Par défaut, tous les widgets ont le focus, sauf Rectangle, HDipstick et VDipstick qui ne le peuvent pas.
De plus, les widgets NoFocus sont ignorés lorsque vous circulez dans les widgets avec le
Raccourci (Maj-)Tab. Gauche / Canaux centraux / Droite spécifie la position du texte. Ceux-ci s'appliquent
uniquement à ItemDraw, List, Menu, PopupMenu et PushButton. La valeur par défaut est Canaux centraux pour ItemDraw
et bouton-poussoir et Gauche pour les autres widgets.

LocaleTitle peut être utilisé à la place de Title, pour utiliser le ou les catalogues de paramètres régionaux définis avec
UtilisezGettext.

La position de chaque widget doit être spécifiée.

La syntaxe de la deuxième partie est :
Entrée
Message de cas de
SingleClic :
Commencer
# liste d'instructions qui seront
# exécuté lorsque le widget reçoit
# message "SingleClic". Ce message est
# généré par l'utilisateur.
Fin
1:
Commencer
# liste d'instructions qui seront
# exécuté lorsque le widget reçoit
# message 1
Fin
Fin

LISTE OF WIDGETS


Il existe quinze types de widgets.

CheckBox: Afficher la case à cocher avec une chaîne.

Titre: titre de la case à cocher.

Valeur: si Valeur est égale à 1, la case est cochée sinon elle ne l'est pas.

La Taille la propriété est ignorée.

Jauge HD: Affiche une jauge horizontale.
Ce widget peut être utilisé pour afficher l'utilisation du disque.

Valeur: spécifiez la valeur actuelle de la jauge.

ValeurMin: spécifiez la valeur minimale de la jauge.

Valeur max: spécifiez la valeur maximale de la jauge.

Une taille minimale de 30x11 est imposée.

Barre de défilement HS: affiche une barre de défilement horizontale.

Valeur: position du pouce.

Valeur max: limite supérieure de la valeur.

ValeurMin: limite inférieure de Valeur.

La propriété height est ignorée et une largeur minimale est imposée. La largeur doit être
au moins la plage plus 37 si toutes les valeurs doivent être sélectionnables, par exemple un minimum de 0 et
max de 10 a une plage de 11 et devrait donc avoir une largeur minimale de 48.

ArticleDessiner: Affiche une icône et/ou une chaîne.

Titre: chaîne à afficher.

Icône: icône à afficher.

Valeur max: coordonnée x du curseur.

ValeurMin: coordonnée y du curseur.

La taille est suffisamment grande pour contenir le titre et/ou l'icône.

Liste: afficher une liste.
La liste permet à l'utilisateur de choisir entre différentes options.

Valeur: spécifiez quelle option est sélectionnée.

ValeurMin: Première option visible.

Titre: le titre contient les options affichées dans la liste. La syntaxe est la suivante :
{Option 1|Option 2|...|Option N}. Tous les menus sont affichés en haut de la fenêtre.

Une hauteur minimale de trois éléments est imposée et la largeur doit être d'au moins
108.

Menu: Affiche un menu qui permet à l'utilisateur de choisir une option.
Les éléments de type Menu sont disposés de gauche à droite en haut de la fenêtre.
Les propriétés de taille et de position sont ignorées.

Valeur: spécifiez quelle option est sélectionnée.

Titre: le titre contient les options affichées dans le menu. La syntaxe est la suivante :
{Option 1|Option 2|...|Option N}.

Mini-défilement: Affiche une très petite barre de défilement verticale.

Valeur: position du pouce.

Valeur max: limite supérieure de la valeur.

ValeurMin: limite inférieure de Valeur.

La taille est définie sur 19x34.

PopupMenu: affiche un menu contextuel.

Valeur: spécifiez quelle option est sélectionnée.

Titre: le titre a la syntaxe suivante : {Option 1|Option 2|...|Option N}."Option
1|Option 2|...|Option N" est le menu contextuel qui s'affiche lorsque vous appuyez sur la souris
.

La propriété size est ignorée.

Bouton: Affichage du bouton poussoir avec une icône et/ou une chaîne.

Titre: cette chaîne a la syntaxe suivante {Titre du bouton|Option 1|Option
2|Option3|...|Option N}. "Option 1|Option 2|...|Option N" est le menu contextuel qui
s'affiche lorsque vous appuyez sur le bouton droit.

Icône: icône à afficher.

Le bouton est suffisamment grand pour contenir l'icône et/ou l'étiquette.

Radiobutton: Affiche le bouton radio avec une chaîne.

Titre: titre du bouton radio.

Valeur: si Valeur est égale à 1, la case est cochée sinon elle ne l'est pas.

La propriété size est ignorée

Rectangulaire: affiche un rectangle.
Ce type de widget peut être utilisé pour décorer la fenêtre.

HirondelleExec
Ce type de widget fait que FvwmScript génère un processus et capture le premier
fenêtre dont le nom ou la ressource est égal au Titre, et l'afficher dans le script
fenêtre.

Titre: spécifiez le nom de la fenêtre qui sera capturée et affichée dans le script
fenêtre.

HirondelleExec: spécifiez la ligne de commande à exécuter pour lancer le processus. Les modules peuvent
aussi être avalé.

Valeur: spécifie l'aspect de la bordure. Valeur possible : -1, 0, 1.

La taille est faite pour être au moins 30x30

Champ de texte: afficher un champ de saisie de texte.
Le champ de saisie de texte peut être utilisé pour modifier une chaîne d'une seule ligne.

Titre: contenu du champ de texte.

Valeur: position du point d'insertion.

ValeurMin: position de la fin de la sélection.

Valeur max: premier caractère visible du titre

La propriété height est ignorée, la largeur est élargie d'au moins 40 pixels
que le contenu initial.

VJauge: Affiche une jauge verticale.

Valeur: spécifiez la valeur actuelle de la jauge.

ValeurMin: spécifiez la valeur minimale de la jauge.

Valeur max: spécifiez la valeur maximale de la jauge.

La taille est faite pour être au moins 11x30.

VScrollBar: affiche une barre de défilement verticale.

Valeur: position du pouce.

Valeur max: limite supérieure de la valeur.

ValeurMin: limite inférieure de Valeur.

La propriété width est ignorée et une hauteur minimale est imposée. La hauteur doit
être au moins la plage plus 37 si toutes les valeurs doivent être sélectionnables, par exemple un minimum de 0
et max de 10 a une portée de 11 et devrait donc avoir une hauteur minimale de 48.

INSTRUCTIONS


Voici la description de toutes les instructions.

MasquerWidget id : masquer le widget numéroté id.

AfficherWidget id: afficher le widget numéroté id.

ChangeValue id1 id2
Définir la valeur du widget numéroté id1 à id2.

ChangeMaxValue id1 id2
Définir la valeur maximale du widget numéroté id1 à id2.

ChangeMinValue id1 id2
Définir la valeur minimale du widget numéroté id1 à id2.

Changer de titre id1 id2
Définir le titre du widget numéroté id1 à id2.

Changer le titre de la fenêtre un magnifique
Définissez le titre de la fenêtre sur un magnifique.

ChangeWindowTitleFromArg nombre
Définissez le titre de la fenêtre sur la valeur du nombre-ième argument de script.

Changer le titre id1 id2
Comme ChangeTitle mais utilisez le ou les catalogues de paramètres régionaux définis avec UseGettext.

Changer l'icône id1 id2
Définir l'icône du widget numéroté id1 à id2.

Changer la couleur d'avant id1 {Couleur}
Définir la couleur de premier plan du widget numéroté id1 à {Couleur}.

ChangerRetourCouleur id1 {Couleur}
Définir la couleur d'arrière-plan du widget numéroté id1 à {Couleur}.

ChangeColorSet id1 id2
Définir le jeu de couleurs du widget numéroté id1 à id2. La spécification du widget 0 définit le
jeu de couleurs de la fenêtre principale.

Changer de position id1 x y
Déplacer le widget numéroté id1 positionner (x,y).

Changer la taille id1 largeur la taille
Définir la taille du widget numéroté id1 à (largeur,la taille).

Changer la police id1 nouvelle police
Définir la police du widget numérotée id1 à nouvelle police.

Pointeur de distorsion id
Déformer le pointeur de la souris dans le widget numéroté id.

ÉcrireDansFichier nom de fichier {str1} {str2} etc
Écrire dans le fichier nom de fichier la chaîne qui est la concaténation de tous les arguments
str1, str2, etc.

Faire {commander args}
Exécutez la commande fvwm dans le bloc Do. Toute commande fvwm telle que décrite dans le
La page de manuel fvwm2 peut être utilisée. Les commandes sont envoyées de ce module au principal fvwm
programme de traitement. La longueur de la commande et des arguments ne peut pas dépasser 988
caractères.

Définir $var={str1} {str2} etc
Concaténer tous les arguments dans une chaîne et définir la variable $var à cette chaîne.

Quitter : quitte le programme.

EnvoyerSignal id1 id2
Envoyer un message numéroté id2 au widget id1.

EnvoyerVersScript id_script {str11} {str2} etc
Envoyez un message au script identifié par id_script. Le message est le
concaténation de str1, str2...

clés / KEY : Nom de clé Modifier id sig str1 str2 etc
Lie une touche du clavier à l'instruction

EnvoyerSignal id sig

et définit la "dernière chaîne" à la concaténation de str1, str2... (voir le
fonction LastString). Les Nom de clé et Modificateurs les champs sont définis comme dans le fvwm
Commande clé.

ARGUMENTS


La plupart des commandes utilisent des arguments. Il existe deux types d'arguments : les nombres et les chaînes. UNE
l'argument numérique est une valeur comprise entre -32000 et +32000. Une chaîne est toujours
entouré d'accolades. Les variables commencent toujours par le caractère "$" et peuvent contenir les deux
nombres et chaînes.

FONCTIONS


Toutes les fonctions utilisent des arguments. Les fonctions peuvent renvoyer à la fois une chaîne et un nombre. La syntaxe
est:
(fonction argument1 argument2 etc.)
Voici la liste complète des arguments :

(ObtenirTitre id)
Renvoie le titre du widget numéroté id.

(Obtenir la valeur id)
Renvoie la valeur actuelle du widget numéroté id.

(ObtenirValeurMin id)
Renvoie la valeur Min actuelle du widget numéroté id.

(ObtenirValeurMax id)
Renvoie la valeur Max actuelle du widget numéroté id.

(Obtenir id)
Renvoie la valeur actuelle de premier plan RVB du widget numéroté id au format hexadécimal
RGGBB.

(Revenir id)
Renvoie la valeur d'arrière-plan RVB actuelle du widget numéroté id au format hexadécimal
RGGBB.

(ObtenirHilight id)
Renvoie la valeur de surlignage RVB actuelle du widget numéroté id au format hexadécimal
RGGBB.

(Obtenir l'ombre id)
Renvoie la valeur d'ombre RVB actuelle du widget numéroté id au format hexadécimal
RGGBB.

(Obtenir la Sortie {str} int1 int2)
Exécute la commande str, obtient la sortie standard et renvoie le mot qui est dans
la ligne int1 et dans la position int2. Si int2 est égal à -1, GetOutput renvoie
la ligne complète.

(NumVersHex int)
Renvoie la valeur hexadécimale de int.

(HexVersNum {str})
Renvoie la valeur décimale de str, str doit être une valeur hexadécimale.

(Ajouter int1 int2)
Renvoie le résultat de (int1+int2).

(plusieurs int1 int2)
Renvoie le résultat de (int1*int2).

(Division int1 int2)
Renvoie le résultat de (int1/int2).

(StrCopie {str} int1 int2)
Renvoie la chaîne qui se trouve entre la position int1 et int2. Par exemple, (StrCopy
{Bonjour} 1 2) retourne {Il}

(Script de lancement {str})
Cette fonction lance le script nommé str et renvoie un numéro d'identification.
Ce numéro est nécessaire pour utiliser les fonctions SendToScript et ReceiveFromScript.
La chaîne str contient le nom du script et quelques arguments.

(GetScriptArgument {int})
Cette fonction renvoie le script d'argument utilisé dans la fonction LaunchScript. Si
int est égal à zéro, GetScriptArgument renvoie le nom du script.

(GetScriptPère)
Cette fonction renvoie le numéro d'identification du père du script.

(RecevFromScript {int})
Cette fonction retourne le message envoyé par le script numéroté int.

(RemainDeDiv {int1 int2}) : t
Cette fonction renvoie le reste de la division (int1/int2).

(Obtenir du temps)
Cette fonction renvoie le temps en secondes.

(ObtenirPid)
Cette fonction renvoie l'ID de processus du script.

(Obtenir le texte {str})
Cette fonction renvoie la traduction de str en utilisant le ou les catalogues de paramètres régionaux définis
avec UseGettext.

(EnvoyerMsgEtObtenir {comId} {cmd} bool)
Envoie la commande cmd avec identifiant comId à un programme externe prêt à
communiquer avec le script en utilisant un protocole spécifique à FvwmScript. Si bool est 0
FvwmScript n'attend pas de réponse du programme externe. Dans ce cas le
la valeur renvoyée est 1 si le message peut être envoyé au programme externe et 0 si
ce n'est pas le cas. Si bool est 1, alors FvwmScript attend une réponse du
programme externe et la valeur de retour est cette réponse (une ligne de pas plus de 32000
personnages). Si la communication échoue, la valeur renvoyée est 0. Voir la section
A COMMUNICATION PROTOCOLE pour une description du protocole de communication utilisé.

(Analyser {str} int)
De str doit être une chaîne de la forme :
X1S1X2S2X3S3...SnXn
où les Xn sont des nombres contenant quatre chiffres décimaux et où Sn sont des chaînes de
longueur exactement Xn. La valeur renvoyée est la chaîne Sint. Si int est hors de portée
(par exemple, >n) la valeur renvoyée est la chaîne vide. Si str n'est pas du spécifié
forme, la valeur de retour est imprévisible (mais vide dans la moyenne). Cette fonction
est utile pour gérer les chaînes renvoyées par la fonction SendMsgAndGet.

(Dernière chaîne)
Cette fonction renvoie la "chaîne de travail courante" pour l'instruction Key et le
Commande SendString (voir la COMMANDES section). Au démarrage, cette chaîne est vide, mais
lorsqu'une liaison de clé est détectée (respectivement, une commande SendString est reçue),
alors cette chaîne est mise à la chaîne associée à l'instruction (respectivement,
à la commande).

CONDITIONNEL BOUCLES


Il existe trois types de boucles conditionnelles. L'instruction "If-Then-Else" a le
syntaxe suivante :
Si $ÀFaire=={Ouvrir xcalc} Alors
Faire {Exec xcalc &} # Liste d'instructions
autre
Commencer
Do {Exec killall xcalc &} # Liste d'instructions
Faire {Exec echo xcalc tué > /dev/console}
Fin
La deuxième partie "Else-Begin-End" est facultative. Si la boucle ne contient qu'une seule instruction,
Début et Fin peuvent être omis. L'instruction "While-Do" a la syntaxe suivante :
Alors que $i<5 Do
Commencer
Définir $i=(Ajouter i 1) # Liste d'instructions
Fin
Deux chaînes peuvent être comparées avec "==" et deux nombres peuvent être comparés avec "<", "<=",
"==", ">=", ">". La boucle "For-Do-Begin-End" a la syntaxe suivante :
Pour $ i = 1 à 20 faire
Commencer
Faire {Exec xcalc &} # Liste d'instructions
Fin

COMMANDES


La commande fvwm suivante peut être exécutée à tout moment

EnvoyerVersModule Nom du script Chaîne d'envoi id sig str

il envoie à n'importe quel module avec un alias ou un nom qui correspond Nom du script la corde

Chaîne d'envoi id sig str

Lorsqu'un FvwmScript reçoit un tel message, il l'envoie au Widget id le signal numéroté
sig et la corde str peut être obtenu avec la fonction LastString. Donnons un
Exemple. Disons que vous avez un script MyScript avec le widget :
widget 50
Biens immobiliers
Tapez le bouton-poussoir
Titre {Quitter}

Entrée
Message de cas de

SingleClic :
Commencer
quitter
Fin

1:
Commencer
Définir $str = (LastString)
Si $str == {Quitter} Alors
quitter
autre
Changer le titre 33 $str
Fin

Fin
Puis la commande
SendToModule MyScript SendString 50 1 chaîne
force MyScript à quitter si str est égal à "Quitter" et sinon il change le titre de
Widget 33 à str.

Cette commande peut être utilisée pour changer le titre de la fenêtre

EnvoyerVersModule Nom du script Changer le titre de la fenêtre nouveauTitre [ancien titre]

cela fait que tout module avec un alias ou un nom qui correspond Nom du script change son
titre de la fenêtre associée à nouveauTitre. L'argument optionnel ancienTitre a du sens quand il
sont plusieurs instances du même script. Il permet d'éviter de changer le nom de
toutes ces instances en précisant le nom de la fenêtre associée au script cible
(voir l'exemple ci-dessous).

+ I Module FvwmScript FvwmStorageSend "/dev/hda6"
+ J'attends FvwmStorageEnvoyer
+ I SendToModule FvwmStorageEnvoyer ChangeWindowTitle HDA6
+ I Module FvwmScript FvwmStorageSend "/dev/hda1"
+ J'attends FvwmStorageEnvoyer
+ I SendToModule FvwmStorageEnvoyer ChangeWindowTitle HDA1 FvwmStorageEnvoyer

Sans l'argument FvwmStorageSend dans le dernier cas, la commande SendToModule aurait
changé en HDA1 le nom des deux instances de FvwmStorageSend.

EXEMPLES


Vous trouverez des exemples de scripts dans le répertoire de configuration fvwm.

FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup et FvwmScript-
ScreenSetup est un ensemble de scripts qui modifient les paramètres X. Ces scripts enregistrent les préférences
dans un fichier nommé ~/.xinit-fvwmrc (Si vous souhaitez utiliser un autre nom de fichier, indiquez-le comme
premier argument du script). Si vous souhaitez charger ces préférences à chaque démarrage,
vous devez inclure la ligne ".xinit-fvwmrc" dans votre fichier .xinitrc (ou .xsession) avant
démarrage de fvwm.

FvwmScript-BaseConfig modifie le focus fvwm et la politique de souris de pagination, le placement de la fenêtre,
opacité et autres fonctionnalités des commandes de déplacement et de redimensionnement, attraction d'accrochage et ombrage
animation. Ce script enregistre les préférences dans un fichier nommé .FvwmBaseConfig dans le
répertoire de données (c'est-à-dire $HOME/.fvwm ou $FVWM_USERDIR si défini). Si vous voulez charger ces
préférences à chaque démarrage vous devez ajouter la ligne "Read .FvwmBaseConfig" dans votre fvwm
fichier de configuration. Si vous souhaitez utiliser un autre nom de fichier, donnez-le comme premier argument
du scénario. Lorsque vous cliquez sur Ok ou Appliquer une fonction fvwm que vous pouvez définir nommée
BaseConfigOkFunc ou BaseConfigApplyFunc est appelé. Cela permet de recharger des
styles d'application que le script a détruits (par exemple, AddToFunc BaseConfigOkFunc I Read
MonStyleApp).

FvwmScript-Buttons est un panneau de boutons qui peut remplacer FvwmButtons (ce script prend en charge
menus contextuels et nécessite xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset permet
à vous de modifier votre jeu de couleurs (voir FvwmTheme). FvwmScript-Date vous permet de définir la date et
temps. FvwmScript-FileBrowser est un navigateur de fichiers utilisé par les autres scripts. FvwmScript-
Find est un front-end élémentaire à trouver. FvwmScript-Quit permet de quitter fvwm, redémarrer
fvwm ou un autre gestionnaire de fenêtres, ou éteignez et redémarrez l'ordinateur. FvwmScript-
ScreenDump est un dumper d'écran. FvwmScript-WidgetDemo est un pur exemple de script. Voir le
section suivante pour FvwmScript-ComExample.

A COMMUNICATION PROTOCOLE


FvwmScript est un langage de programmation faible (mais simple). Si vous devez faire face à beaucoup de
données et/ou vous devez utiliser des algorithmes complexes, vous devez utiliser un programme externe (en perl
par exemple) et "envoyer" les informations souhaitées à votre script FvwmScript. La première
approche consiste à utiliser la fonction GetOutput. C'est simple mais vous devriez relancer votre
programme externe chaque fois que vous avez besoin d'informations à partir de celui-ci (et cela peut entraîner des performances
problèmes). La deuxième approche consiste à utiliser la fonction SendMsgAndGet qui étend
FvwmScript en utilisant n'importe quel langage de programmation capable de gérer les canaux nommés (fifos). Nous
décrivez cette solution dans cette section. (Une troisième approche consiste à utiliser fvwm-themes-com de
le package fvwm-themes, mais en fait la méthode SendMsgAndGet est une implémentation de
fvwm-themes-com dans FvwmScript et cela donne de meilleures performances).

En gros, vous démarrez un programme "externe" (le programme en abrégé) à partir de votre FvwmScript
script (le script pour faire court). Ce programme s'exécute en arrière-plan et vous utilisez le
SendMsgAndGet dans votre script pour poser des questions ou donner des instructions au
programme. Le programme doit respecter strictement un certain protocole de communication. D'abord
il n'y a qu'un identifiant comId pour la communication, il doit contenir l'identifiant du processus
du script pour une bonne implémentation du protocole (utiliser la fonction GetPid et passer
le comId via une option au programme). Le protocole utilise deux fifos, dans l'utilisateur fvwm
répertoire, nommé : .tmp-com-in-comId et .tmp-com-out-comId. Le programme doit créer et
écouter sur le .tmp-com-in-comId fifo. Ensuite, lorsque FvwmScript exécute une fonction du
forme:

Définir $answer = (SendMsgAndGet {comId} {cmd} bool)

FvwmScript écrit le cmd sur ce fifo. De cette façon, le programme peut lire le cmd et peut
exécuter l'action appropriée (il devrait supprimer le in fifo pour prendre en charge multi-
communication). Si bool est 0, FvwmScript n'attend pas de réponse du programme et
renvoie 1 si les actions précédentes réussissent et 0 si elles ont échoué (alors le programme devrait "aller
back" au in fifo). Si bool est 1, alors FvwmScript attend (20 sec) une réponse de
le programme et renvoie à son tour la réponse au script (notez que bool n'est pas transmis à
le programme car il doit savoir quelles commandes nécessitent une réponse). Pour répondre, le programme crée
le .tmp-com-out-comId fifo et écrit la réponse dessus. Le programme doit attendre
FvwmScript lit la réponse, puis il doit supprimer le fifo out et revenir au in
fifo. La réponse doit consister en une ligne de 32000 XNUMX caractères maximum (regardez
à la fonction Parse pour gérer plusieurs lignes comme une seule ligne).

Un moyen simple de comprendre ce protocole et d'écrire des scripts et des programmes qui l'utilisent est
pour jeter un oeil à l'exemple (pas utile) FvwmScript-ComExample et fvwm-script-
ComExample.pl (qui se trouve dans le répertoire de données fvwm). De plus, cette mise en œuvre
du protocole résout des questions telles que : Que faire si le script se termine pour une mauvaise raison ?
Que faire si le programme se ferme pour une mauvaise raison ? ...etc.

Utilisez FvwmScript en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Plugin Eclipse Tomcat
    Plugin Eclipse Tomcat
    Le plugin Eclipse Tomcat fournit
    intégration simple d'une servlet Tomcat
    conteneur pour le développement de java
    des applications Web. Vous pouvez nous rejoindre pour
    discussion...
    Télécharger le plug-in Eclipse Tomcat
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop est pour le streaming
    torrents sur Mac, Windows ou Linux. Ce
    se connecte à la fois à BitTorrent et
    Pairs WebTorrent. Maintenant il n'y a pas
    faut attendre...
    Télécharger WebTorrent Desktop
  • 3
    GenX
    GenX
    GenX est un programme scientifique pour affiner
    réflexivité aux rayons X, neutrons
    réflectivité et rayons X de surface
    données de diffraction utilisant le différentiel
    algorithme d'évolution....
    Télécharger GenX
  • 4
    pspp4windows
    pspp4windows
    Le PSPP est un programme de statistiques
    analyse des données échantillonnées. C'est gratuit
    remplacement du programme propriétaire
    SPSS. PSPP dispose à la fois de texte et
    graphique nous...
    Télécharger pspp4windows
  • 5
    Extensions Git
    Extensions Git
    Git Extensions est un outil d'interface utilisateur autonome
    pour la gestion des référentiels Git. Ça aussi
    s'intègre à l'explorateur Windows et
    Microsoft Visual Studio
    (2015/2017/2019). E...
    Télécharger les extensions Git
  • 6
    eSpeak: synthèse vocale
    eSpeak: synthèse vocale
    Moteur de synthèse vocale pour l'anglais et
    beaucoup d'autres langues. Taille compacte avec
    prononciation claire mais artificielle.
    Disponible en tant que programme en ligne de commande avec
    de nombreux ...
    Télécharger eSpeak : synthèse vocale
  • Plus "

Commandes Linux

Ad