Este es el comando FvwmScript que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
FvwmScript - módulo para construir interfaz gráfica de usuario
SINOPSIS
FvwmScript debe generarlo Fvwm. No funcionará desde la línea de comandos.
DESCRIPCIÓN
FvwmScript es un módulo que le permite crear muchas aplicaciones gráficas como
accesorios de escritorio, panel de botones con menús emergentes, cuadros de diálogo modales ...
FvwmScript lee el archivo que se especifica en la línea de comando. Este archivo contiene el
texto. Este script no está incluido en el archivo de configuración de Fvwm.
Un script FvwmScript se puede controlar por completo mediante el teclado. (Shift) -Tab circula
alrededor de los widgets, Retorno simula un clic del mouse, las flechas mueven el cursor o cambian
los valores del widget y Escape "cancela" para Menu y PopupMenu.
INVOCACIÓN
FvwmScript se puede invocar insertando la línea `Module FvwmScript name_of_script 'en el
Archivo .fvwm2rc. El archivo "name_of_script" puede comenzar con una barra, en cuyo caso, es una
ruta de acceso completa y se lee el archivo. Si "name_of_script" no comienza con un
barra, FvwmScript buscará en algunos lugares diferentes. Si el .fvwm2rc contenía el
línea de comando `* FvwmScript: Path path_of_the_script_directory ', FvwmScript lo intentará
directorio. Si eso no funciona, FvwmScript prueba el directorio de configuración del sistema y
el directorio de configuración del usuario como se describe en el comando "Leer" en el archivo fvwm man
.
El comando para iniciar FvwmScript se puede colocar en una línea por sí mismo, si se va a colocar FvwmScript.
generado durante la inicialización de fvwm, o puede estar vinculado a un menú o botón del mouse o
pulsación de tecla para invocarlo más tarde.
CONFIGURACIÓN OPCIONES
Los siguientes comandos se pueden utilizar en el archivo de configuración (consulte fvwm(1), sección MÓDULO
COMANDOS para detalles). Se utilizan solo si los comandos de secuencia de comandos correspondientes no están
utilizado en el guión.
* FvwmScript: DefaultFont fuente
Especifica la fuente predeterminada que se utilizará. Si no se especifica con este comando o en el
script con el comando Fuente, se asume una fuente fija.
* FvwmScript: DefaultFore Color
Especifica el color de primer plano predeterminado que se utilizará. Si no se especifica con esto
comando o en el script con el comando ForeColor, se usa el negro.
* FvwmScript: DefaultBack Color
Especifica el color de fondo predeterminado que se utilizará. Si no se especifica con esto
o en el script con el comando BackColor, se usa grey85.
* FvwmScript: DefaultHilight Color
Especifica el color de crepúsculo predeterminado que se utilizará. Si no se especifica con este comando
o en el script con el comando HilightColor, se usa grey100.
* FvwmScript: DefaultShadow Color
Especifica el color de sombra predeterminado que se utilizará. Si no se especifica con este comando
o en el script con el comando ShadowColor, se usa grey55.
* FvwmScript: DefaultColorset conjunto de colores
Le dice al módulo que use colorset conjunto de colores como el conjunto de colores predeterminado. Referirse a
Página de manual de FvwmTheme para obtener detalles sobre los conjuntos de colores.
ANATOMÍA OF A GUIÓN
FvwmScript utiliza un lenguaje de programación particular. Un guión se compone de cinco partes.
El encabezado contiene características generales de la ventana y propiedades predeterminadas para todos
widgets. La segunda parte contiene instrucciones que se ejecutan al inicio del
texto. La tercera parte contiene tareas periódicas que se ejecutan cada segundo. El
la cuarta parte contiene instrucciones que se ejecutan al salir. Y la última parte contiene
la descripción de los widgets. Un widget consta de once tipos de elementos: etiquetas de texto,
entradas de texto de una sola línea, botones de radio, casilla de verificación, botones pulsadores, horizontal y vertical
barras de desplazamiento, rectángulos, menús emergentes, swallowexecs y mini barras de desplazamiento.
PARTIDA OF A GUIÓN
La sintaxis es la siguiente:
Título de la ventana cadena
Esta opción establece el título de la ventana.
Tamaño de ventana anchura altura
Esta opción establece el tamaño de la ventana. anchura y altura son valores numéricos.
Posición de la ventana x y
Esta opción establece la posición de la ventana. x y y son valores numéricos.
Color primario {Color}
Esta opción establece el color de primer plano predeterminado para todos los widgets.
Color de fondo {Color}
Esta opción establece el color de fondo predeterminado para todos los widgets.
Color de realce {Color}
Esta opción establece el color de crepúsculo predeterminado para todos los widgets.
color de sombra {Color}
Esta opción establece el color de sombra predeterminado para todos los widgets.
conjunto de colores {n}
Esta opción establece el conjunto de colores predeterminado para todos los widgets.
Fuente {fuente}
Esta opción establece la fuente predeterminada para todos los widgets.
UsarObtenertexto [ruta_locale]
Habilite el uso del mecanismo gettext que usa WindowLocaleTitle,
LocaleTitle, las instrucciones ChangeLocaleTitle y la función Gettext. Si no
se proporciona el argumento, se utiliza el catálogo de configuración regional FvwmScript predeterminado. Este catálogo es
en el directorio de instalación de la configuración regional fvwm y el dominio de texto es FvwmScript
(prefijo_instalación / share / locale / * / LC_MESSAGES / FvwmScript.mo). Puedes restablecer esto
catalogar o agregar algunos catálogos exactamente de la misma manera que con el Ruta local fvwm
comando (consulte la página de manual de fvwm). Esta instrucción debe colocarse antes del
Instrucción WindowLocaleTitle.
Título de configuración regional de ventana cadena
Esta opción establece el título de la ventana, pero usa los catálogos de configuración regional definidos con
Usar Obtener texto.
INICIALIZACIÓN
Esta parte contiene instrucciones que se ejecutarán al inicio. Por ejemplo:
En eso
Comenzar
Haga "Exec cat tada.voc> / dev / dsp"
Puntero de deformación 1
Establecer $ ToDo = Reiniciar
Fin
Estas instrucciones se utilizan para reproducir un sonido, mover el puntero al widget 1 y
inicialice $ ToDo para "Reiniciar" en cada inicio.
PERIÓDICO TAREAS
Esta parte del script contiene instrucciones que se ejecutan cada segundo. Para
ejemplo:
Tareas periódicas
Comenzar
If (RemainderOfDiv (GetTime) 10) == 0 Entonces
Haz {Exec xcalc}
Fin
Este ejemplo muestra cómo iniciar xcalc cada 10 segundos.
EL DEJAR FUNCIÓN
Esta parte del script contiene instrucciones que se ejecutan cuando el script sale
(después de la instrucción Salir o si cierra la ventana con Cerrar, Eliminar o Destruir
comando fvwm). Por ejemplo
QuitFunc
Comenzar
Haz {Echo bye, bye}
Fin
Tenga en cuenta que si utilizó el comando KillModule fvwm para cerrar el script, algunos
instrucciones o funciones que se basan en la existencia de un enlace de comunicación entre el
script y fvwm no se ejecutarán (por ejemplo, el comando Do). Para matar suavemente a un
script con un comando fvwm vea el COMANDOS .
PRINCIPAL OF A GUIÓN
La segunda parte del script contiene la descripción de cada widget en el script.
Cada descripción de widget tiene dos partes. La primera parte describe las propiedades iniciales, la
La segunda parte contiene instrucciones que se ejecutan cuando el widget recibe mensajes.
Todos los widgets pueden enviar y recibir mensajes. Todos los mensajes se identifican con un número. El
El mensaje "UserAction" se envía a un widget cuando el usuario opera el widget. La sintaxis
porque la primera parte es:
Widget id # Un número entre 1 y 999 inclusive
Propiedad
Escriba cadena
Tamaño ancho alto
Posición xy
Título {string}
Valor int
valor máximo int
valor mínimo int
Cadena de fuente
ForeColor {color}
BackColor {color}
HilightColor {color}
ShadowColor {color}
Conjunto de colores int
Banderas banderasOpt
La opción flagsOpt para Flags es una lista separada por espacios que contiene uno o más de los
las palabras claves Oculto, Sin cadena de alivio, Sin enfoque, Unidades / Reubicación / Derecha. Oculto se utiliza para
especificar si el widget está oculto al inicio. Sin cadena de alivio especifica si se dibujan cadenas
con alivio o no. Sin enfoque especifica si el widget puede obtener el foco del teclado o no.
De forma predeterminada, todos los widgets se enfocan, excepto Rectangle, HDipstick y VDipstick que no pueden.
Además, los widgets NoFocus se omiten cuando circula por los widgets con el
(Mayús-) Tabulador de atajo. Unidades / Reubicación / Derecha especifica la posición del texto. Estos se aplican
solo para ItemDraw, List, Menu, PopupMenu y PushButton. El valor predeterminado es Reubicación para ItemDraw
y PushButton y Unidades para los otros widgets.
LocaleTitle se puede usar en lugar de Title, para usar los catálogos de locale definidos con
Usar Obtener texto.
Se debe especificar la posición de cada widget.
La sintaxis de la segunda parte es:
Main
Mensaje de caso de
Un solo clic:
Comenzar
# lista de instrucciones que serán
# ejecutado cuando el widget recibe
# mensaje "SingleClic". Este mensaje es
# generado por el usuario.
Fin
1:
Comenzar
# lista de instrucciones que serán
# ejecutado cuando el widget recibe
# mensaje 1
Fin
Fin
Anuncia OF WIDGETS
Hay quince tipos de widgets.
Caja: Muestra la casilla de verificación con una cadena.
Título: título de la casilla de verificación.
Value alto: si Valor es igual a 1, la casilla está marcada en caso contrario.
El sistema Tamaño la propiedad se ignora.
Barra de nivel HD: Muestra una varilla de nivel horizontal.
Este widget se puede utilizar para mostrar el uso del disco.
Value alto: especifique el valor actual de la varilla de nivel.
valor mínimo: especifique el valor mínimo de la varilla de nivel.
Valor máximo: especifique el valor máximo de la varilla de nivel.
Se impone un tamaño mínimo de 30x11.
Barra de desplazamiento HS: Muestra una barra de desplazamiento horizontal.
Value alto: posición del pulgar.
Valor máximo: límite superior del valor.
valor mínimo: límite inferior del valor.
La propiedad de altura se ignora y se impone un ancho mínimo. El ancho debe ser
al menos el rango más 37 si todos los valores deben ser seleccionables, por ejemplo, un mínimo de 0 y
max de 10 tiene un rango de 11 y, por lo tanto, debe tener un ancho mínimo de 48.
ArtículoDraw: Muestra un icono y / o una cadena.
Título: cadena para mostrar.
Ícono: icono para mostrar.
Valor máximo: coordenada x del cursor.
valor mínimo: coordenada y del cursor.
El tamaño se hace lo suficientemente grande para contener el título y / o el icono.
Lista: Muestra una lista.
La lista permite al usuario elegir entre varias opciones.
Value alto: especifique qué opción está seleccionada.
valor mínimo: Primera opción visible.
Título: el título contiene las opciones que se muestran en la lista. La sintaxis es la siguiente:
{Opción 1 | Opción 2 | ... | Opción N}. Todos los menús se muestran en la parte superior de la ventana.
Se impone una altura mínima de tres elementos y el ancho se hace al menos
108.
Menú: Muestra un menú que permite al usuario elegir una opción.
Los elementos de tipo Menú se distribuyen de izquierda a derecha en la parte superior de la ventana.
Se ignoran las propiedades de tamaño y posición.
Value alto: especifique qué opción está seleccionada.
Título: el título contiene las opciones que se muestran en el menú. La sintaxis es la siguiente:
{Opción 1 | Opción 2 | ... | Opción N}.
Minidesplazamiento: Muestra una barra de desplazamiento vertical muy pequeña.
Value alto: posición del pulgar.
Valor máximo: límite superior del valor.
valor mínimo: límite inferior del valor.
El tamaño se establece en 19x34.
Popupmenu: Muestra un menú emergente.
Value alto: especifique qué opción está seleccionada.
Título: el título tiene la siguiente sintaxis: {Opción 1 | Opción 2 | ... | Opción N}. "Opción
1 | Opción 2 | ... | Opción N "es el menú emergente que se muestra al presionar el mouse
del botón.
La propiedad de tamaño se ignora.
Presionar el botón: Muestra el pulsador con un icono y / o una cadena.
Título: esta cadena tiene la siguiente sintaxis {Título del botón | Opción 1 | Opción
2 | Opción3 | ... | Opción N}. "Opción 1 | Opción 2 | ... | Opción N" es el menú emergente que
se muestra al presionar el botón derecho.
Ícono: icono para mostrar.
El botón tiene el tamaño suficiente para que quepa el icono o la etiqueta.
Radiobutton: Muestra el botón de opción con una cadena.
Título: título del botón de opción.
Value alto: si Valor es igual a 1, la casilla está marcada en caso contrario.
La propiedad de tamaño se ignora
Rectángulo: Muestra un rectángulo.
Este tipo de widget se puede utilizar para decorar ventanas.
TragarExec
Este tipo de widget hace que FvwmScript genere un proceso y capture el primer
ventana cuyo nombre o recurso es igual a Título, y lo muestra en la secuencia de comandos
ventana.
Título: especifique el nombre de la ventana que se capturará y mostrará en el script
ventana.
TragarExec: especifique la línea de comando que se ejecutará para generar el proceso. Los módulos pueden
también ser tragado.
Value alto: especifica el aspecto del borde. Valor posible: -1, 0, 1.
El tamaño está hecho para ser de al menos 30x30.
Campo de texto: Muestra un campo de entrada de texto.
El campo de entrada de texto se puede utilizar para editar una cadena de una sola línea.
Título: contenido del campo de texto.
Value alto: posición del punto de inserción.
valor mínimo: posición del final de la selección.
Valor máximo: primer carácter visible del título
La propiedad de altura se ignora, el ancho se hace al menos 40 píxeles más ancho
que el contenido inicial.
Vvarilla: Muestra una varilla de nivel vertical.
Value alto: especifique el valor actual de la varilla de nivel.
valor mínimo: especifique el valor mínimo de la varilla de nivel.
Valor máximo: especifique el valor máximo de la varilla de nivel.
El tamaño está hecho para ser de al menos 11x30.
VScrollBar: Muestra una barra de desplazamiento vertical.
Value alto: posición del pulgar.
Valor máximo: límite superior del valor.
valor mínimo: límite inferior del valor.
La propiedad de ancho se ignora y se impone una altura mínima. La altura debe
ser al menos el rango más 37 si todos los valores deben ser seleccionables, por ejemplo, un mínimo de 0
y un máximo de 10 tiene un rango de 11 y, por lo tanto, debe tener una altura mínima de 48.
INSTRUCCIONES
Aquí está la descripción de todas las instrucciones.
Ocultar widget id : oculta el widget numerado id.
Mostrar Widget id: muestra el widget numerado id.
Valor de cambio id1 id2
Establecer el valor del widget numerado id1 a id2.
Cambiar valor máximo id1 id2
Establecer el valor máximo del widget numerado id1 a id2.
Cambiar valor mínimo id1 id2
Establecer el valor mínimo del widget numerado id1 a id2.
Cambiar título id1 id2
Establecer el título del widget numerado id1 a id2.
Cambiar título de ventana cadena
Establezca el título de la ventana en cadena.
Cambiar título de ventana de Arg número
Establezca el título de la ventana en el valor de la número-th argumento del guión.
Cambiar título de configuración regional id1 id2
Como ChangeTitle pero use los catálogos de locale definidos con UseGettext.
Cambiar el ícono id1 id2
Establecer el icono del widget numerado id1 a id2.
Cambiar color anterior id1 {Color}
Establecer el color de primer plano del widget numerado id1 a {Color}.
Cambiar color de fondo id1 {Color}
Establecer el color de fondo del widget numerado id1 a {Color}.
CambiarConjuntoColor id1 id2
Establecer el conjunto de colores del widget numerado id1 a id2. Especificar el widget 0 establece el
conjunto de colores de la ventana principal.
Cambiar de posición id1 x y
Mover el widget numerado id1 posicionar (x,y).
Cambiar tamaño id1 anchura altura
Establecer el tamaño del widget numerado id1 a (anchura,altura).
Cambiar fuente id1 fuente nueva
Establecer la fuente del widget numerada id1 a fuente nueva.
puntero de deformación id
Deforma el puntero del mouse en el widget numerado id.
Escribir en archivo nombre de archivo {str1} {str2} etc.
Escribir en el archivo nombre de archivo la cadena que es la concatenación de todos los argumentos
str1, str2, etc.
Hacer {comando args}
Ejecute el comando fvwm dentro del bloque Do. Cualquier comando fvwm como se describe en el
Se puede utilizar la página de manual fvwm2. Los comandos se envían desde este módulo al fvwm main
programa de procesamiento. La longitud del comando y los argumentos no puede exceder 988
personajes.
Establecer $var={str1} {str2} etc.
Concatenar todos los argumentos en una cadena y establecer la variable $var a esta cadena.
Salir: sale del programa.
EnviarSeñal id1 id2
Envíe un mensaje numerado id2 al widget id1.
Enviar a script id_script {str11} {str2} etc.
Envíe un mensaje al script identificado por id_script. El mensaje es el
concatenación de str1, str2 ...
Clave Nombre clave Cambiar id sig str1 str2 etc.
Vincula una tecla del teclado a la instrucción
EnviarSeñal id sig
y establece la "última cadena" a la concatenación de str1, str2 ... (ver el
Función LastString). El Nombre clave y Modificadores los campos se definen como en el fvwm
Comando de teclado.
ARGUMENTOS
La mayoría de los comandos utilizan argumentos. Hay dos tipos de argumentos: números y cadenas. A
El argumento numérico es un valor que se encuentra entre -32000 y +32000. Una cuerda es siempre
rodeado de tirantes. Las variables siempre comienzan con el carácter "$" y pueden contener ambos
números y cadenas.
Las funciones
Todas las funciones usan argumentos. Las funciones pueden devolver tanto una cadena como un número. La sintaxis
:
(función argumento1 argumento2, etc.)
Aquí está la lista completa de argumentos:
(Obtener título id)
Devuelve el título del widget numerado id.
(Obtener valor id)
Devuelve el valor actual del widget numerado id.
(ObtenerValorMínimo id)
Devuelve el valor mínimo actual del widget numerado id.
(ObtenerValorMax id)
Devuelve el valor máximo actual del widget numerado id.
(GetFore id)
Devuelve el valor de primer plano RGB actual del widget numerado id en formato hexadecimal
RRGGBB.
(Volver id)
Devuelve el valor de fondo RGB actual del widget numerado id en formato hexadecimal
RRGGBB.
(GetHighlight id)
Devuelve el valor de crepúsculo RGB actual del widget numerado id en formato hexadecimal
RRGGBB.
(Obtener sombra id)
Devuelve el valor de sombra RGB actual del widget numerado id en formato hexadecimal
RRGGBB.
(ObtenerSalida {str} int1 int2)
Ejecuta el comando str, obtiene la salida estándar y devuelve la palabra que está en
la línea de int1 y en la posición int2. Si int2 es igual a -1, GetOutput devuelve
la linea completa.
(NúmeroHex. int)
Devuelve el valor hexadecimal de int.
(NumHexA {str})
Devuelve el valor decimal de str, str debe ser un valor hexadecimal.
(Agregar int1 int2)
Devuelve el resultado de (int1+int2).
(Mult. int1 int2)
Devuelve el resultado de (int1*int2).
(división int1 int2)
Devuelve el resultado de (int1/int2).
(StrCopy {str} int1 int2)
Devuelve la cadena que se encuentra entre la posición int1 e int2. Por ejemplo, (StrCopy
{Hola} 1 2) devuelve {He}
(Lanzamiento de script {str})
Esta función lanza el script llamado str y devuelve un número de identificación.
Este número es necesario para utilizar las funciones SendToScript y ReceiveFromScript.
La cadena str contiene el nombre del script y algunos argumentos.
(GetScriptArgumento {int})
Esta función devuelve el script de argumento utilizado en la función LaunchScript. Si
int es igual a cero, GetScriptArgument devuelve el nombre del script.
(GetScriptPadre)
Esta función devuelve el número de identificación del padre del script.
(RecibirDesdeScript {int})
Esta función devuelve el mensaje enviado por el script numerado int.
(RestoDeDiv {int1 int2}): t
Esta función devuelve el resto de la división (int1/int2).
(Consigue tiempo)
Esta función devuelve el tiempo en segundos.
(ObtenerPid)
Esta función devuelve el ID de proceso del script.
(Obtener texto {str})
Esta función devuelve la traducción de str mediante el uso de los catálogos de configuración regional definidos
con UseGettext.
(Enviar mensaje y recibir {comId} {cmd} bool)
Envía el comando cmd con identificador comId a un programa externo listo para
comunicarse con el script mediante un protocolo específico de FvwmScript. Si bool es 0
FvwmScript no espera una respuesta del programa externo. En este caso el
El valor devuelto es 1 si el mensaje se puede enviar al programa externo y 0 si
Este no es el caso. Si bool es 1, FvwmScript espera una respuesta del
programa externo y el valor de retorno es esta respuesta (una línea de no más de 32000
caracteres). Si la comunicación falla, el valor devuelto es 0. Ver la sección
A COMUNICACIÓN PROTOCOLO para obtener una descripción del protocolo de comunicación utilizado.
(Analizar {str} int)
donde str debe ser una cadena de la forma:
X1S1X2S2X3S3...SnXn
donde Xn son números que contienen cuatro dígitos decimales y donde Sn son cadenas de
longitud exactamente Xn. El valor devuelto es la cadena Sint. Si int está fuera de rango
(por ejemplo,> n) el valor devuelto es la cadena vacía. Si str no es del especificado
formulario, el valor de retorno es impredecible (pero vacío en el promedio). Esta función
es útil para manejar cadenas devueltas por la función SendMsgAndGet.
(Última Cadena)
Esta función devuelve la "cadena de trabajo actual" para la instrucción Key y la
Mandato SendString (ver el COMANDOS sección). Al inicio, esta cadena está vacía, pero
cuando se detecta un enlace de clave (respectivamente, se recibe un comando SendString),
entonces esta cadena se establece en la cadena asociada a la instrucción (respectivamente,
al comando).
CONDICIONAL Bucles
Hay tres tipos de bucles condicionales. La instrucción "If-Then-Else" tiene la
siguiente sintaxis:
Si $ ToDo == {Open xcalc} Entonces
Haz {Exec xcalc &} # Lista de instrucciones
otro
Comenzar
Haga {Exec killall xcalc &} # Lista de instrucciones
¿{Exec echo xcalc muerto> / dev / console}?
Fin
La segunda parte "Else-Begin-End" es opcional. Si el ciclo contiene solo una instrucción,
Se pueden omitir Begin y End. La instrucción "While-Do" tiene la siguiente sintaxis:
Mientras $ i <5 lo hacen
Comenzar
Set $ i = (Add i 1) # Lista de instrucciones
Fin
Se pueden comparar dos cadenas con "==" y dos números se pueden comparar con "<", "<=",
"==", "> =", ">". El bucle "For-Do-Begin-End" tiene la siguiente sintaxis:
Por $ i = 1 a 20 hacer
Comenzar
Haz {Exec xcalc &} # Lista de instrucciones
Fin
COMANDOS
El siguiente comando fvwm se puede ejecutar en cualquier momento
Enviar a módulo Nombre del script EnviarCadena id sig str
envía a cualquier módulo con alias o nombre que coincida Nombre del script la cuerda
EnviarCadena id sig str
Cuando un FvwmScript recibe un mensaje de este tipo, lo envía al widget id la señal numerada
sig y la cuerda str se puede obtener con la función LastString. Demos un
ejemplo. Digamos que tiene un script MyScript con el widget:
widget 50
Propiedad
Tipo PushButton
Título {Salir}
...
Main
Mensaje de caso de
Un solo clic:
Comenzar
Dejar
Fin
1:
Comenzar
Establecer $ str = (LastString)
Si $ str == {Salir} Entonces
Dejar
otro
ChangeTitle 33 $ str
Fin
Fin
Entonces el comando
SendToModule MyScript SendString 50 1 cadena
obliga a MyScript a salir si str es igual a "Quit" y si no cambia el título de
Widget 33 a str.
Este comando se puede utilizar para cambiar el título de la ventana.
Enviar a módulo Nombre del script Cambiar título de ventana nuevo título [título antiguo]
hace que cualquier módulo con alias o nombre que coincida Nombre del script cambia su
título de la ventana asociada a nuevo título. El argumento opcional título antiguo tiene sentido cuando hay
son varias instancias del mismo script. Permite evitar cambiar el nombre de
todas estas instancias especificando el nombre de la ventana asociada al script de destino
(vea el ejemplo a continuación).
+ I Módulo FvwmScript FvwmStorageSend "/ dev / hda6"
+ Espero FvwmStorageSend
+ Envío aMódulo FvwmAlmacenamientoEnviar cambioVentanaTítulo HDA6
+ I Módulo FvwmScript FvwmStorageSend "/ dev / hda1"
+ Espero FvwmStorageSend
+ Envío aMódulo FvwmAlmacenamientoEnviar cambioVentanaTítulo HDA1 FvwmAlmacenamientoEnviar
Sin el argumento FvwmStorageSend en el último caso, el comando SendToModule habría
cambió a HDA1 el nombre de ambas instancias de FvwmStorageSend.
EJEMPLOS
Encontrará ejemplos de scripts en el directorio de configuración de fvwm.
FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup y FvwmScript-
ScreenSetup es un conjunto de scripts que modifican la configuración de X. Estos scripts guardan las preferencias
en un archivo llamado ~ / .xinit-fvwmrc (Si desea utilizar otro nombre de archivo, indíquelo como
primer argumento del guión). Si desea cargar estas preferencias en cada inicio,
tienes que incluir la línea ".xinit-fvwmrc" en tu archivo .xinitrc (o .xsession) antes
iniciando fvwm.
FvwmScript-BaseConfig modifica la política del mouse de paginación y enfoque de fvwm, la ubicación de la ventana,
opacidad y otras características de los comandos de movimiento y cambio de tamaño, atracción de instantáneas y sombreado
animación. Este script guarda las preferencias en un archivo llamado .FvwmBaseConfig en el archivo del usuario.
directorio de datos (es decir, $ HOME / .fvwm o $ FVWM_USERDIR si está configurado). Si quieres cargar estos
preferencias en cada inicio debe agregar la línea "Leer .FvwmBaseConfig" en su fvwm
archivo de configuración. Si desea utilizar otro nombre de archivo, délo como primer argumento
del guión. Cuando hace clic en Aceptar o Aplicar una función fvwm que puede definir con nombre
Se llama a BaseConfigOkFunc o BaseConfigApplyFunc. Esto permite recargar específicos
estilos de aplicación que el script ha destruido (p. ej., AddToFunc BaseConfigOkFunc I Read
Estilo MiAplicación).
FvwmScript-Buttons es un panel de botones que puede reemplazar a FvwmButtons (este script admite
menús emergentes y requiere xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset permite
que edite su conjunto de colores (consulte FvwmTheme). FvwmScript-Date le permite establecer la fecha y
hora. FvwmScript-FileBrowser es un explorador de archivos utilizado por otros scripts. FvwmScript-
Find es un front-end elemental para encontrar. FvwmScript-Quit permite salir de fvwm, reiniciar
fvwm o algún otro administrador de ventanas, o apague y reinicie la computadora. FvwmScript-
ScreenDump es un volcador de pantallas. FvwmScript-WidgetDemo es un script de ejemplo puro. Ver el
siguiente sección para FvwmScript-ComExample.
A COMUNICACIÓN PROTOCOLO
FvwmScript es un lenguaje de programación débil (pero simple). Si necesita lidiar con muchos
datos y / o necesita usar algoritmos complejos, debe usar un programa externo (en perl
por ejemplo) y "envíe" la información deseada a su script FvwmScript. La primera
enfoque es utilizar la función GetOutput. Esto es simple, pero debe volver a ejecutar su
programa externo cada vez que necesite información del mismo (y esto puede causar
problemas). El segundo enfoque es utilizar la función SendMsgAndGet que se extiende
FvwmScript mediante el uso de cualquier lenguaje de programación que pueda trabajar con canalizaciones con nombre (FIFOS). Nosotros
describa esta solución en esta sección. (Un tercer enfoque es usar fvwm-themes-com de
el paquete fvwm-themes, pero de hecho el método SendMsgAndGet es una implementación de
fvwm-themes-com dentro de FvwmScript y esto ofrece un mejor rendimiento).
Básicamente, inicia un programa "externo" (el programa para abreviar) desde su FvwmScript
script (el script para abreviar). Este programa se ejecuta en segundo plano y utiliza el
Función SendMsgAndGet en su script para hacer preguntas o dar instrucciones al
programa. El programa debe respetar estrictamente un determinado protocolo de comunicación. Primero de
todo hay un identificador comId para la comunicación, debe contener la identificación del proceso
del script para una buena implementación del protocolo (use la función GetPid y pase
de la forma más comId a través de una opción al programa). El protocolo utiliza dos FIFOS, en el usuario fvwm.
directorio, llamado: .tmp-com-incomId y .tmp-com-out-comId. El programa debe crear y
escuchar en el .tmp-com-incomId Fifo. Entonces, cuando FvwmScript ejecuta una función del
formar:
Establecer $ respuesta = (SendMsgAndGet {comId} {cmd} bool)
FvwmScript escribe el cmd en este quince. De esta forma el programa puede leer el cmd y puede
ejecutar la acción apropiada (debe eliminar el in Fifo para admitir múltiples
comunicaciones). Si bool es 0, FvwmScript no espera una respuesta del programa y
devuelve 1 si las acciones anteriores tienen éxito y 0 si fallaron (entonces el programa debería "ir
volver "al en quince). Si bool es 1, luego FvwmScript espera (20 segundos) una respuesta de
el programa y, a su vez, devuelve la respuesta al script (tenga en cuenta que bool no se pasa a
el programa, ya que debe saber qué comandos necesitan una respuesta). Para responder, el programa crea
el .tmp-com-out-comId Fifo y escribe la respuesta en él. El programa debe esperar hasta
FvwmScript lee la respuesta y luego debería eliminar el filtro de salida y volver al de entrada.
Fifo. La respuesta debe constar de una línea de no más de 32000 caracteres (eche un vistazo
en la función Parse para manejar varias líneas como una sola línea).
Una forma sencilla de comprender este protocolo y escribir scripts y programas que lo utilicen es
para echar un vistazo al (no útil) ejemplo FvwmScript-ComExample y fvwm-script-
ComExample.pl (que se puede encontrar en el directorio de datos fvwm). Además, esta implementación
del protocolo resuelve preguntas como: ¿Qué hacer si el script se cierra por una mala razón?
¿Qué hacer si el programa se cierra por una mala razón? ... etc.
Utilice FvwmScript en línea utilizando los servicios de onworks.net