EnglischFranzösischSpanisch

Server ausführen | Ubuntu > | Fedora > |


OnWorks-Favicon

FvwmScript - Online in der Cloud

Führen Sie FvwmScript im kostenlosen OnWorks-Hosting-Anbieter über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl FvwmScript, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME


FvwmScript - Modul zum Erstellen einer grafischen Benutzeroberfläche

ZUSAMMENFASSUNG


FvwmScript muss von Fvwm erzeugt werden. Es wird nicht von der Befehlszeile aus funktionieren.

BESCHREIBUNG


FvwmScript ist ein Modul, mit dem Sie viele grafische Anwendungen erstellen können, wie z
Desktop-Zubehör, Tastenfeld mit Popup-Menüs, modale Dialoge... Beim Start
FvwmScript liest die in der Kommandozeile angegebene Datei. Diese Datei enthält die
Skript. Dieses Skript ist nicht in der Konfigurationsdatei von Fvwm enthalten.

Ein FvwmScript-Skript ist vollständig über die Tastatur steuerbar. (Shift)-Tab zirkuliert
um die Widgets herum simuliert Return einen Mausklick, die Pfeile bewegen den Cursor oder ändern
die Werte des Widgets und Escape "löschen" für Menu und PopupMenu.

AUFRUF


FvwmScript kann aufgerufen werden durch Einfügen der Zeile `Module FvwmScript name_of_script' in die
.fvwm2rc-Datei. Die Datei "name_of_script" kann mit einem Schrägstrich beginnen, in diesem Fall ist es a
vollqualifizierter Pfad, und die Datei wird gelesen. Wenn "name_of_script" nicht mit a beginnt
Schrägstrich, FvwmScript wird an einigen verschiedenen Stellen aussehen. Wenn die .fvwm2rc die
Befehlszeile `*FvwmScript: Path path_of_the_script_directory', FvwmScript wird das versuchen
Verzeichnis. Wenn das nicht funktioniert, versucht FvwmScript das Systemkonfigurationsverzeichnis und
das Benutzerkonfigurationsverzeichnis wie unter dem Befehl "Read" im fvwm man beschrieben


Der Befehl zum Starten von FvwmScript kann allein in einer Zeile stehen, wenn FvwmScript sein soll
wird während der Initialisierung von fvwm gespawnt oder kann an ein Menü oder eine Maustaste gebunden werden oder
Tastendruck, um es später aufzurufen.

CONFIGURATION OPTIONAL


Die folgenden Befehle können in der Konfigurationsdatei verwendet werden (siehe fvm(1), Abschnitt MODULE
BEFEHLE für Details). Sie werden nur verwendet, wenn die entsprechenden Skriptbefehle nicht
im Skript verwendet.

*FvwmScript: DefaultFont Schriftart
Gibt die zu verwendende Standardschriftart an. Wenn nicht mit diesem Befehl oder im
Skript mit dem Font-Befehl wird eine feste Schriftart angenommen.

*FvwmScript: DefaultFore Farbe
Gibt die zu verwendende Standardvordergrundfarbe an. Falls nicht angegeben
Befehl oder im Skript mit dem Befehl ForeColor wird Schwarz verwendet.

*FvwmScript: DefaultBack Farbe
Gibt die zu verwendende Standardhintergrundfarbe an. Falls nicht angegeben
Befehl oder im Skript mit dem BackColor-Befehl wird grey85 verwendet.

*FvwmScript: DefaultHilight Farbe
Gibt die zu verwendende Standard-Hilight-Farbe an. Wenn nicht mit diesem Befehl angegeben
oder im Skript mit dem HilightColor-Befehl wird grey100 verwendet.

*FvwmScript: DefaultShadow Farbe
Gibt die zu verwendende Standardschattenfarbe an. Wenn nicht mit diesem Befehl angegeben
oder im Skript mit dem ShadowColor-Befehl wird grey55 verwendet.

*FvwmScript: DefaultColorset Farbset
Weist das Modul an, Colorset zu verwenden Farbset als Standardfarbsatz. Siehe die
FvwmTheme-Manpage für Details zu Farbsätzen.

ANATOMIE OF A SCRIPT


FvwmScript verwendet eine bestimmte Programmiersprache. Ein Skript besteht aus fünf Teilen.
Überschrift enthält allgemeine Eigenschaften des Fensters und Standardeigenschaften für alle
Widgets. Der zweite Teil enthält Anweisungen, die beim Start des
Skript. Der dritte Teil enthält periodische Aufgaben, die jede Sekunde ausgeführt werden. Die
der vierte Teil enthält Anweisungen, die beim Verlassen ausgeführt werden. Und der letzte Teil enthält
die Beschreibung von Widgets. Ein Widget besteht aus elf Arten von Elementen: Textbeschriftungen,
einzeilige Texteingaben, Optionsfelder, Checkbox, Drucktasten, horizontal und vertikal
Bildlaufleisten, Rechtecke, Popup-Menüs, Swallowexecs und Mini-Bildlaufleisten.

TARIF OF A SCRIPT


Die Syntax lautet wie folgt:

Fenstertitel Schnur
Diese Option legt den Fenstertitel fest.

Fenstergröße Breite Höhe
Diese Option legt die Fenstergröße fest. Breite und dem Höhe Zahlenwert sind.

Fensterposition x y
Diese Option legt die Fensterposition fest. x und dem y Zahlenwert sind.

Vordergrundfarbe {Farbe}
Diese Option legt die Standardvordergrundfarbe für alle Widgets fest.

Hintergrundfarbe {Farbe}
Diese Option legt die Standardhintergrundfarbe für alle Widgets fest.

HighlightColor {Farbe}
Diese Option legt die standardmäßige Hervorhebungsfarbe für alle Widgets fest.

SchattenFarbe {Farbe}
Diese Option legt die Standardschattenfarbe für alle Widgets fest.

Farbset {n}
Diese Option legt den Standardfarbsatz für alle Widgets fest.

Schriftart {Schriftart}
Diese Option legt die Standardschriftart für alle Widgets fest.

Gettext verwenden [locale_path]
Aktivieren Sie die Verwendung des Gettext-Mechanismus, der von WindowLocaleTitle verwendet wird,
LocaleTitle, ChangeLocaleTitle-Anweisungen und die Gettext-Funktion. Wenn nein
Argument angegeben ist, wird der standardmäßige FvwmScript-Gebietsschemakatalog verwendet. Dieser Katalog ist
unter dem locale fvwm-Installationsverzeichnis und die Textdomäne ist FvwmScript
(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo). Das kannst du zurücksetzen
Katalog oder fügen Sie einige Kataloge genauso hinzu wie mit dem Gebietsschema fvm
Befehl (siehe Handbuchseite fvwm). Diese Anweisung sollte vor dem
WindowLocaleTitle-Anweisung.

WindowLocaleTitle Schnur
Diese Option legt den Fenstertitel fest, aber verwenden Sie den/die mit . definierten Gebietsschema-Katalog(e).
Verwenden Sie Gettext.

INITIALISIERUNG


Dieser Teil enthält Anweisungen, die beim Start ausgeführt werden. Zum Beispiel:
Drin
Beginnen
Führen Sie "Exec cat tada.voc > /dev/dsp" aus
WarpPointer 1
Setze $ToDo=Neustart
Ende
Diese Anweisungen werden verwendet, um einen Ton abzuspielen, den Zeiger auf Widget 1 und auf zu bewegen
initialisieren Sie $ToDo bei jedem Start auf "Neustart".

Regelmäßig AUFTRÄGE


Dieser Teil des Skripts enthält Anweisungen, die jede Sekunde ausgeführt werden. Zum
Beispiel:
PeriodischeAufgaben
Beginnen
Wenn (RestOfDiv (GetTime) 10)==0 Then
{Exec xcalc} ausführen
Ende
Dieses Beispiel zeigt, wie Sie xcalc alle 10 Sekunden starten.

DAS QUIT FUNKTION


Dieser Teil des Skripts enthält Anweisungen, die ausgeführt werden, wenn das Skript beendet wird
(nach der Quit-Anweisung oder wenn Sie das Fenster mit Close, Delete oder Destroy schließen
fvwm-Befehl). Zum Beispiel
QuitFunc
Beginnen
Mach {Echo tschüss, tschüss}
Ende
Beachten Sie, dass, wenn Sie den Befehl KillModule fvwm zum Schließen des Skripts verwendet haben, einige
Anweisungen oder Funktionen, die auf der Existenz einer Kommunikationsverbindung zwischen den
script und fvwm werden nicht ausgeführt (zB der Do-Befehl). Um a glatt zu töten
Skript mit einem fvwm-Befehl siehe die BEFEHLE Abschnitt.

MAIN OF A SCRIPT


Der zweite Teil des Skripts enthält die Beschreibung für jedes Widget im Skript.
Jede Widget-Beschreibung besteht aus zwei Teilen. Der erste Teil beschreibt anfängliche Eigenschaften, die
Der zweite Teil enthält Anweisungen, die ausgeführt werden, wenn das Widget Nachrichten empfängt.
Alle Widgets können Nachrichten senden und empfangen. Alle Nachrichten werden durch eine Nummer identifiziert. Die
die Nachricht "UserAction" wird an ein Widget gesendet, wenn der Benutzer das Widget bedient. Die Syntax
für den ersten teil ist:
Widget-ID # Eine Zahl zwischen 1 und 999 einschließlich
Immobilien
Zeichenfolge eingeben
Größe Breite Höhe
Position xy
Titel {string}
Wert int
MaxWert int
MinWert int
Schriftzeichenfolge
Vorderfarbe { Farbe }
BackColor { Farbe }
HilightColor { Farbe }
SchattenFarbe {Farbe}
Farbset int
Flaggen FlaggenOpt
Die Option flagsOpt für Flags ist eine durch Leerzeichen getrennte Liste mit einem oder mehreren der
Schlüsselwörter versteckt, NoReliefString, Kein Fokus, Links / Center / Recht. versteckt wird verwendet,
Geben Sie an, ob das Widget beim Start ausgeblendet ist. NoReliefString gibt an, ob Zeichenfolgen gezeichnet werden
mit Erleichterung oder nicht. Kein Fokus gibt an, ob das Widget den Tastaturfokus erhalten kann oder nicht.
Standardmäßig haben alle Widgets den Fokus, mit Ausnahme von Rectangle, HDipstick und VDipstick, die dies nicht können.
Darüber hinaus werden die NoFocus-Widgets übersprungen, wenn Sie mit dem
(Umschalt-)Tabulatortaste. Links / Center / Recht gibt die Textposition an. Diese gelten
nur für ItemDraw, List, Menu, PopupMenu und PushButton. Die Standardeinstellung ist Center für ItemDraw
und PushButton und Links für die anderen Widgets.

LocaleTitle kann anstelle von Title verwendet werden, um den/die mit . definierten Locale-Katalog(e) zu verwenden
Verwenden Sie Gettext.

Die Position jedes Widgets muss angegeben werden.

Die Syntax für den zweiten Teil lautet:
Main
Fallnachricht von
Einzelklick:
Beginnen
# Liste der Anweisungen, die sein werden
# wird ausgeführt, wenn das Widget empfängt
# Nachricht "SingleClic". Diese Nachricht ist
# vom Benutzer generiert.
Ende
1:
Beginnen
# Liste der Anweisungen, die sein werden
# wird ausgeführt, wenn das Widget empfängt
# Nachricht 1
Ende
Ende

LISTE OF WIDGETS


Es gibt fünfzehn Arten von Widgets.

CheckBox: Kontrollkästchen mit einer Zeichenfolge anzeigen.

Titel : Titel des Kontrollkästchens.

Wert: Wenn Wert gleich 1 ist, ist das Kontrollkästchen aktiviert, andernfalls ist dies nicht der Fall.

Das Übersicht Eigenschaft wird ignoriert.

HDipstick: Zeigt einen horizontalen Messstab an.
Dieses Widget kann verwendet werden, um die Festplattennutzung anzuzeigen.

Wert: Geben Sie den aktuellen Wert des Messstabs an.

MinWert: Geben Sie den Mindestwert des Messstabs an.

MaxWert: Geben Sie den Höchstwert des Messstabs an.

Eine Mindestgröße von 30x11 wird vorgeschrieben.

HScrollBar: Zeigt eine horizontale Bildlaufleiste an.

Wert: Position des Daumens.

MaxWert: Obergrenze des Werts.

MinWert: untere Grenze des Werts.

Die Eigenschaft height wird ignoriert und eine Mindestbreite wird auferlegt. Die Breite sollte sein
mindestens der Bereich plus 37, wenn alle Werte wählbar sein sollen zB ein min von 0 und
max von 10 hat einen Bereich von 11 und sollte daher eine Mindestbreite von 48 haben.

ItemDraw: Zeigt ein Symbol und/oder eine Zeichenfolge an.

Titel : anzuzeigende Zeichenfolge.

Symbol: Symbol zum Anzeigen.

MaxWert: x-Koordinate des Cursors.

MinWert: y-Koordinate des Cursors.

Die Größe wird groß genug gemacht, um den Titel und/oder das Symbol aufzunehmen.

Liste: Eine Liste anzeigen.
Liste lässt den Benutzer zwischen verschiedenen Optionen wählen.

Wert: Geben Sie an, welche Option ausgewählt ist.

MinWert: Erste sichtbare Option.

Titel : Titel enthält Optionen, die in der Liste angezeigt werden. Die Syntax ist die folgende:
{Option 1|Option 2|...|Option N}. Alle Menüs werden oben im Fenster angezeigt.

Es wird eine Mindesthöhe von drei Artikeln vorgeschrieben und die Breite wird auf mindestens festgelegt
108

Menü: Zeigt ein Menü an, in dem der Benutzer eine Option auswählen kann.
Elemente vom Typ Menü werden von links nach rechts am oberen Rand des Fensters angeordnet.
Die Größen- und Positionseigenschaften werden ignoriert.

Wert: Geben Sie an, welche Option ausgewählt ist.

Titel : Titel enthält Optionen, die im Menü angezeigt werden. Die Syntax ist die folgende:
{Option 1|Option 2|...|Option N}.

MiniScroll: Zeigt eine sehr kleine vertikale Bildlaufleiste an.

Wert: Position des Daumens.

MaxWert: Obergrenze des Werts.

MinWert: untere Grenze des Werts.

Die Größe ist auf 19x34 eingestellt.

Popupmenü: Zeigt ein Popup-Menü an.

Wert: Geben Sie an, welche Option ausgewählt ist.

Titel : Der Titel hat die folgende Syntax: {Option 1|Option 2|...|Option N}."Option
1|Option 2|...|Option N" ist das Popup-Menü, das beim Drücken der Maus angezeigt wird
.

Die Eigenschaft size wird ignoriert.

Druckknopf: Drucktaste mit einem Symbol und/oder einer Zeichenfolge anzeigen.

Titel : dieser String hat die folgende Syntax {Titel der Schaltfläche|Option 1|Option
2|Option3|...|Option N}. "Option 1|Option 2|...|Option N" ist das Popup-Menü, das
wird beim Drücken der rechten Taste angezeigt.

Symbol: Symbol zum Anzeigen.

Die Schaltfläche ist groß genug, um das Symbol und/oder die Beschriftung zu passen.

RadioButton: Optionsfeld mit einer Zeichenfolge anzeigen.

Titel : Titel des Optionsfelds.

Wert: Wenn Wert gleich 1 ist, ist das Kontrollkästchen aktiviert, andernfalls ist dies nicht der Fall.

Die Eigenschaft size wird ignoriert

Rechteck: Zeigt ein Rechteck an.
Diese Art von Widget kann verwendet werden, um Fenster zu dekorieren.

SwallowExec
Diese Art von Widget bewirkt, dass FvwmScript einen Prozess erzeugt und den ersten erfasst
Fenster, dessen Name oder Ressource dem Titel entspricht, und zeigen Sie es im Skript an
Fenster.

Titel : Geben Sie den Fensternamen an, der erfasst und im Skript angezeigt wird
Fenster.

SwallowExec: Geben Sie die Befehlszeile an, die ausgeführt werden soll, um den Prozess zu starten. Module können
auch geschluckt werden.

Wert: Geben Sie das Aussehen des Rahmens an. Möglicher Wert: -1, 0, 1.

Die Größe soll mindestens 30x30 . betragen

Textfeld: Zeigt ein Texteingabefeld an.
Das Texteingabefeld kann zum Bearbeiten einer einzeiligen Zeichenfolge verwendet werden.

Titel : Inhalt des Textfeldes.

Wert: Position des Einfügepunkts.

MinWert: Position des Endes der Auswahl.

MaxWert: erstes sichtbares Zeichen des Titels

Die Eigenschaft height wird ignoriert, die Breite wird mindestens 40 Pixel breiter gemacht
als der ursprüngliche Inhalt.

VMessstab: Zeigt einen vertikalen Messstab an.

Wert: Geben Sie den aktuellen Wert des Messstabs an.

MinWert: Geben Sie den Mindestwert des Messstabs an.

MaxWert: Geben Sie den Höchstwert des Messstabs an.

Die Größe soll mindestens 11x30 betragen.

VScrollBar: Zeigt eine vertikale Bildlaufleiste an.

Wert: Position des Daumens.

MaxWert: Obergrenze des Werts.

MinWert: untere Grenze des Werts.

Die width-Eigenschaft wird ignoriert und eine Mindesthöhe wird auferlegt. Die Höhe sollte
muss mindestens der Bereich plus 37 sein, wenn alle Werte wählbar sein sollen zB ein min von 0
und max von 10 hat einen Bereich von 11 und sollte daher eine Mindesthöhe von 48 haben.

EMPFEHLUNGEN


Hier die Beschreibung aller Anleitungen.

Widget ausblenden id : Verstecke das nummerierte Widget id.

Widget anzeigen id: Zeigt das Widget nummeriert an id.

Wert ändern id1 id2
Legen Sie den Wert des nummerierten Widgets fest id1 zu id2.

MaxWert ändern id1 id2
Legen Sie den maximalen Wert des nummerierten Widgets fest id1 zu id2.

ChangeMinValue id1 id2
Legen Sie den Mindestwert des nummerierten Widgets fest id1 zu id2.

Ändere den Titel id1 id2
Legen Sie den Titel des Widgets nummeriert fest id1 zu id2.

Fenstertitel ändern Schnur
Setzen Sie den Titel des Fensters auf Schnur.

ChangeWindowTitleFromArg numarg
Setzen Sie den Titel des Fensters auf den Wert des numarg-th Skriptargument.

LocaleTitle ändern id1 id2
Wie ChangeTitle, aber verwenden Sie den/die mit UseGettext definierten Locale-Katalog(e).

Icon ändern id1 id2
Legen Sie das Symbol des nummerierten Widgets fest id1 zu id2.

Vorderfarbe ändern id1 {Farbe}
Legen Sie die Vordergrundfarbe des nummerierten Widgets fest id1 zu {Farbe}.

Hintergrundfarbe ändern id1 {Farbe}
Legen Sie die Hintergrundfarbe des nummerierten Widgets fest id1 zu {Farbe}.

Farbset ändern id1 id2
Legen Sie die Farbpalette des nummerierten Widgets fest id1 zu id2. Die Angabe von Widget 0 setzt die
Farbpalette des Hauptfensters.

Position ändern id1 x y
Verschieben Sie das Widget nummeriert id1 positionieren (x,y).

Größe ändern id1 Breite Höhe
Legen Sie die Größe des nummerierten Widgets fest id1 zu (Breite,Höhe).

Schriftart ändern id1 neue Schriftart
Legen Sie die Schriftart des nummerierten Widgets fest id1 zu neue Schriftart.

WarpPointer id
Verbiegen Sie den Mauszeiger in das nummerierte Widget id.

WriteToFile Dateinamen {str1} {str2} etc
In die Datei schreiben Dateinamen die Zeichenfolge, die die Verkettung aller Argumente ist
str1, str2, usw.

Tun {Befehl args}
Führen Sie den Befehl fvwm im Do-Block aus. Jeder fvwm-Befehl wie in der Beschreibung beschrieben
fvwm2-Manpage verwendet werden. Befehle werden von diesem Modul an den fvwm main gesendet
Programm zur Bearbeitung. Die Länge des Befehls und der Argumente darf 988 . nicht überschreiten
Zeichen.

$ . festlegenjung={str1} {str2} etc
Verketten Sie alle Argumente zu einem String und setzen Sie die Variable $jung zu dieser Saite.

Beenden: Beendet das Programm.

Signal senden id1 id2
Senden Sie eine nummerierte Nachricht id2 zum Widget id1.

SendToScript id_script {str11} {str2} etc
Senden Sie eine Nachricht an das durch id_script identifizierte Skript. Die Botschaft ist die
Verkettung von str1, str2...

Schlüssel Schlüsselname Veränderung id sig str1 str2 etc
Bindet eine Tastaturtaste an die Anweisung

Signal senden id sig

und setzt den "letzten String" auf die Verkettung von str1, str2... (siehe
LastString-Funktion). Die Schlüsselname und dem Modifikatoren Felder sind wie in der fvwm definiert
Tastenbefehl.

ARGUMENTE


Die meisten Befehle verwenden Argumente. Es gibt zwei Arten von Argumenten: Zahlen und Zeichenfolgen. EIN
Das numerische Argument ist ein Wert zwischen -32000 und +32000. Ein String ist immer
umgeben von Klammern. Variablen beginnen immer mit dem Zeichen "$" und können beides enthalten
Zahlen und Zeichenfolgen.

FUNKTIONEN


Alle Funktionen verwenden Argumente. Funktionen können sowohl einen String als auch eine Zahl zurückgeben. Die Syntax
ist:
(Funktion Argument1 Argument2 usw.)
Hier ist die vollständige Liste der Argumente:

(Titel abrufen id)
Geben Sie den Titel des Widgets nummeriert zurück id.

(Wert erhalten id)
Gibt den aktuellen Wert des nummerierten Widgets zurück id.

(GetMinValue id)
Gibt den aktuellen Min-Wert des nummerierten Widgets zurück id.

(HolMaxWert id)
Gibt den aktuellen Max-Wert des nummerierten Widgets zurück id.

(GetFore id)
Gibt den aktuellen RGB-Vordergrundwert des nummerierten Widgets zurück id im Hex-Format
RRGGBB.

(Komm zurück id)
Gibt den aktuellen RGB-Hintergrundwert des nummerierten Widgets zurück id im Hex-Format
RRGGBB.

(Hol dir Hilight id)
Gibt den aktuellen RGB-Hilight-Wert des nummerierten Widgets zurück id im Hex-Format
RRGGBB.

(Schatten erhalten id)
Gibt den aktuellen RGB-Schattenwert des nummerierten Widgets zurück id im Hex-Format
RRGGBB.

(GetOutput {str} int1 int2)
Führt den Befehl aus str, erhält die Standardausgabe und gibt das Wort zurück, das in . ist
die Linie int1 und in der Position int2. Wenn int2 gleich -1 ist, gibt GetOutput zurück
die komplette Linie.

(NumToHex int)
Gibt den hexadezimalen Wert von zurück int.

(HexToNum {str})
Gibt den Dezimalwert von zurück str, str muss ein hexadezimaler Wert sein.

(Hinzufügen int1 int2)
Liefere das Ergebnis von (int1+int2).

(Mehrere int1 int2)
Liefere das Ergebnis von (int1*int2).

(Div int1 int2)
Liefere das Ergebnis von (int1/int2).

(StrCopy {str} int1 int2)
Gibt den String zurück, der sich zwischen Position int1 und int2 befindet. Beispiel: (StrCopy
{Hallo} 1 2) gibt {Er} zurück

(StartScript {str})
Diese Funktion startet das Skript mit dem Namen str und gibt eine Identifikationsnummer zurück.
Diese Nummer wird benötigt, um die Funktionen SendToScript und ReceiveFromScript nutzen zu können.
Der String str enthält den Skriptnamen und einige Argumente.

(GetScriptArgument {int})
Diese Funktion gibt das Argumentskript zurück, das in der Funktion LaunchScript verwendet wird. Wenn
int gleich Null ist, gibt GetScriptArgument den Namen des Skripts zurück.

(GetScriptVater)
Diese Funktion gibt die Identifikationsnummer des Skriptvaters zurück.

(ReceivFromScript {int})
Diese Funktion gibt die Nachricht zurück, die vom Skript mit der Nummer int gesendet wurde.

(RestOfDiv {int1 int2}): T
Diese Funktion gibt den Rest der Division zurück (int1/int2).

(Zeit kriegen)
Diese Funktion gibt die Zeit in Sekunden zurück.

(GetPid)
Diese Funktion gibt die Prozess-ID des Skripts zurück.

(Gettext {str})
Diese Funktion gibt die Übersetzung von zurück str unter Verwendung des/der definierten Gebietsschema-Katalog(e)
mit UseGettext.

(SendMsgAndGet {comId} {cmd} bool)
Sendet den Befehl cmd mit Kennung comId zu einem externen Programm bereit zu
mit dem Skript über ein FvwmScript-spezifisches Protokoll kommunizieren. Wenn bool ist 0
FvwmScript wartet nicht auf eine Antwort vom externen Programm. In diesem Fall die
zurückgegebener Wert ist 1, wenn die Nachricht an das externe Programm gesendet werden kann und 0, wenn
das ist nicht der Fall. Wenn bool ist 1, dann wartet FvwmScript auf eine Antwort vom
externes Programm und der Rückgabewert ist diese Antwort (eine Zeile von nicht mehr als 32000
Zeichen). Wenn die Kommunikation fehlschlägt, ist der zurückgegebene Wert 0. Siehe Abschnitt
A KOMMUNIKATION PROTOKOLL für eine Beschreibung des verwendeten Kommunikationsprotokolls.

(Parsen {str} int)
woher str muss ein String der Form sein:
X1S1X2S2X3S3...SnXn
wobei Xn Zahlen mit vier Dezimalstellen sind und wobei Sn Strings von sind
Länge genau Xn. Der zurückgegebene Wert ist die Zeichenfolge Sint. Wenn int ist außer Reichweite
(zB >n) Der zurückgegebene Wert ist der leere String. Wenn str ist nicht von der angegebenen
Form ist der Rückgabewert unvorhersehbar (aber im Durchschnitt leer). Diese Funktion
ist nützlich, um Zeichenfolgen zu verarbeiten, die von der SendMsgAndGet-Funktion zurückgegeben werden.

(Letzter String)
Diese Funktion gibt den "aktuellen Arbeitsstring" für die Key-Anweisung und die
SendString-Befehl (siehe den BEFEHLE Sektion). Beim Start ist diese Zeichenfolge leer, aber
wenn eine Tastenzuordnung erkannt wird (bzw. ein SendString-Befehl empfangen wird),
dann wird diese Zeichenfolge auf die Zeichenfolge gesetzt, die der Anweisung zugeordnet ist (bzw.
zum Befehl).

BEDINGT SCHLEIFEN


Es gibt drei Arten von Bedingungsschleifen. Die Anweisung "Wenn-Dann-Else" hat die
folgende Syntax:
Wenn $ToDo=={Open xcalc} Then
Mach {Exec xcalc &} # Liste der Anweisungen
sonst
Beginnen
Mach {Exec killall xcalc &} # Liste der Anweisungen
Mach {Exec echo xcalc getötet > /dev/console}
Ende
Der zweite Teil "Else-Begin-End" ist optional. Wenn die Schleife nur eine Anweisung enthält,
Beginn und Ende können weggelassen werden. Die Anweisung "While-Do" hat folgende Syntax:
Während $i<5 Do
Beginnen
Set $i=(Add i 1) # Liste der Anweisungen
Ende
Zwei Strings können mit "==" verglichen werden und zwei Zahlen können mit "<", "<=" verglichen werden,
"==", ">=", ">". Die Schleife "For-Do-Begin-End" hat folgende Syntax:
Für $i=1 bis 20 Do
Beginnen
Mach {Exec xcalc &} # Liste der Anweisungen
Ende

BEFEHLE


Der folgende fvwm-Befehl kann jederzeit ausgeführt werden

SendToModule Skriptname SendString id sig str

es sendet an jedes Modul mit Alias ​​oder Namen, das passt Skriptname die Saite

SendString id sig str

Wenn ein FvwmScript eine solche Nachricht empfängt, sendet es an das Widget id das Signal nummeriert
sig und die schnur str kann mit der LastString-Funktion abgerufen werden. Lass uns eine geben
Beispiel. Angenommen, Sie haben ein Skript MyScript mit dem Widget:
Widget 50
Immobilien
Typ PushButton
Titel {Beenden}
realisieren kannst...
Main
Fallnachricht von

Einzelklick:
Beginnen
Verlassen
Ende

1:
Beginnen
Setze $str = (LastString)
Wenn $str == {Beenden} Dann
Verlassen
sonst
ChangeTitle 33 $str
Ende

Ende
Dann der Befehl
SendToModule MyScript SendString 50 1 Str
zwingt MyScript zum Beenden, wenn str gleich "Quit" ist und wenn nicht, ändert es den Titel von
Widget 33 bis Str.

Mit diesem Befehl kann der Fenstertitel geändert werden

SendToModule Skriptname Fenstertitel ändern neuerTitel [alterTitel]

es bewirkt, dass jedes Modul mit Alias ​​oder Namen, der übereinstimmt Skriptname ändert seine
zugehöriger Fenstertitel zu neuerTitel. Das optionale Argument alterTitel macht Sinn, wenn es da ist
sind mehrere Instanzen desselben Skripts. Es erlaubt einem zu vermeiden, den Namen von . zu ändern
alle diese Instanzen, indem Sie den Namen des Fensters angeben, das dem Zielskript zugeordnet ist
(siehe Beispiel unten).

+ I-Modul FvwmScript FvwmStorageSend "/dev/hda6"
+ Ich warte FvwmStorageSend
+ Ich SendToModule FvwmStorageSend ChangeWindowTitle HDA6
+ I-Modul FvwmScript FvwmStorageSend "/dev/hda1"
+ Ich warte FvwmStorageSend
+ Ich SendToModule FvwmStorageSend ChangeWindowTitle HDA1 FvwmStorageSend

Ohne das Argument FvwmStorageSend im letzten Fall hätte der Befehl SendToModule
den Namen beider Instanzen von FvwmStorageSend in HDA1 geändert.

Beispiele:


Beispiele für Skripte finden Sie im Konfigurationsverzeichnis fvwm.

FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup und FvwmScript-
ScreenSetup ist eine Reihe von Skripten, die X-Einstellungen ändern. Diese Skripte speichern Einstellungen
in eine Datei namens ~/.xinit-fvwmrc (Wenn Sie einen anderen Dateinamen verwenden möchten, geben Sie ihn als
erstes Argument des Skripts). Wenn Sie diese Einstellungen bei jedem Start laden möchten,
du musst vorher die Zeile ".xinit-fvwmrc" in deine .xinitrc (oder .xsession) Datei einfügen
fvwm starten.

FvwmScript-BaseConfig ändert die Fvwm-Fokus- und Paging-Maus-Richtlinie, die Fensterplatzierung,
Deckkraft und andere Funktionen der Bewegungs- und Größenänderungsbefehle, Snap-Attraktion und Schattierung
Animation. Dieses Skript speichert die Einstellungen in einer Datei namens .FvwmBaseConfig im Benutzerverzeichnis des Benutzers
Datenverzeichnis (dh $HOME/.fvwm oder $FVWM_USERDIR, falls gesetzt). Wenn Sie diese laden möchten
Voreinstellungen bei jedem Start müssen Sie die Zeile "Read .FvwmBaseConfig" in Ihrem fvwm hinzufügen
Konfigurationsdatei. Wenn Sie einen anderen Dateinamen verwenden möchten, geben Sie ihn als erstes Argument an
des Skripts. Wenn Sie auf Ok klicken oder auf eine fvwm-Funktion anwenden, die Sie mit dem Namen definieren können
BaseConfigOkFunc oder BaseConfigApplyFunc wird aufgerufen. Dies ermöglicht das Nachladen spezifischer
Anwendungsstile, die das Skript zerstört hat (z. B. AddToFunc BaseConfigOkFunc I Read
MyAppStyle).

FvwmScript-Buttons ist ein Button-Panel, das FvwmButtons ersetzen kann (dieses Skript unterstützt
Popup-Menüs und erfordert xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset ermöglicht
Sie können Ihr Colorset bearbeiten (siehe FvwmTheme). Mit FvwmScript-Date können Sie Datum und
Zeit. FvwmScript-FileBrowser ist ein Dateibrowser, der von den anderen Skripten verwendet wird. FvwmScript-
Find ist ein elementares Frontend zum Finden. Mit FvwmScript-Quit kann man fvwm beenden, neu starten
fvwm oder einen anderen Fenstermanager oder fahren Sie den Computer herunter und starten Sie ihn neu. FvwmScript-
ScreenDump ist ein Bildschirmauszug. FvwmScript-WidgetDemo ist ein reines Beispielskript. Siehe die
nächster Abschnitt für FvwmScript-ComExample.

A KOMMUNIKATION PROTOKOLL


FvwmScript ist eine schwache (aber einfache) Programmiersprache. Wenn Sie viel zu tun haben
Daten und/oder Sie müssen komplexe Algorithmen verwenden, sollten Sie ein externes Programm verwenden (in Perl
zum Beispiel) und "senden" Sie die gewünschten Informationen an Ihr FvwmScript-Skript. Der erste
Ansatz besteht darin, die GetOutput-Funktion zu verwenden. Dies ist einfach, aber Sie sollten Ihre wiederholen
externes Programm jedes Mal, wenn Sie Informationen von ihm benötigen (und dies kann zu Performances führen
Probleme). Der zweite Ansatz besteht darin, die SendMsgAndGet-Funktion zu verwenden, die erweitert
FvwmScript unter Verwendung einer beliebigen Programmiersprache, die mit Named Pipes (Fifos) umgehen kann. Wir
Beschreiben Sie diese Lösung in diesem Abschnitt. (Ein dritter Ansatz ist die Verwendung von fvwm-themes-com von
das fvwm-themes-Paket, aber tatsächlich ist die SendMsgAndGet-Methode eine Implementierung von
fvwm-themes-com innerhalb von FvwmScript und dies führt zu einer besseren Leistung).

Grundsätzlich starten Sie ein "externes" Programm (kurz: Programm) aus Ihrem FvwmScript
Skript (kurz das Skript). Dieses Programm läuft im Hintergrund und Sie verwenden die
SendMsgAndGet-Funktion in Ihrem Skript, um Fragen zu stellen oder Anweisungen an die
Programm. Das Programm muss ein bestimmtes Kommunikationsprotokoll strikt einhalten. Zuerst
alles da ist eine kennung comId für die Kommunikation sollte es die Prozess-ID enthalten
des Skripts für eine gute Implementierung des Protokolls (verwenden Sie die GetPid-Funktion und übergeben Sie
den comId über eine Option zum Programm). Das Protokoll verwendet zwei Fifos, im fvwm-Benutzer
Verzeichnis mit dem Namen: .tmp-com-in-comId und .tmp-com-out-comId. Das Programm sollte erstellen und
Hören Sie auf der .tmp-com-in-comId fifo. Wenn FvwmScript dann eine Funktion des
bilden:

Setze $antwort = (SendMsgAndGet {comId} {cmd} bool)

FvwmScript schreibt die cmd auf diesem fifo. Auf diese Weise kann das Programm die cmd und kann
Führen Sie die entsprechende Aktion aus (es sollte das in-fifo entfernen, um mehrere
Kommunikation). Wenn bool 0 ist, wartet FvwmScript nicht auf eine Antwort vom Programm und
1 zurückgeben, wenn die vorherigen Aktionen erfolgreich waren und 0, wenn sie fehlgeschlagen sind (dann sollte das Programm "go
zurück" zum in fifo). Wenn bool ist 1, dann wartet FvwmScript (20 Sek.) auf eine Antwort von
das Programm und gibt die Antwort wiederum an das Skript zurück (beachten Sie, dass bool wird nicht weitergegeben an
das Programm, da es wissen muss, welche Befehle eine Antwort benötigen). Um zu antworten, erstellt das Programm
die .tmp-com-out-comId fifo und schreibt die Antwort darauf. Das Programm sollte warten, bis
FvwmScript liest die Antwort und sollte dann das Out-Fifo entfernen und zum In zurückkehren
fifo. Die Antwort sollte aus einer Zeile mit nicht mehr als 32000 Zeichen bestehen (siehe
bei der Parse-Funktion, um mehrere Zeilen als eine Zeile zu behandeln).

Eine einfache Möglichkeit, dieses Protokoll zu verstehen und Skripte und Programme zu schreiben, die es verwenden, ist
um sich das (nicht sinnvolle) Beispiel FvwmScript-ComExample und fvwm-script-
ComExample.pl (die im fvwm-Datenverzeichnis zu finden ist). Darüber hinaus ist diese Implementierung
des Protokolls löst Fragen wie: Was ist zu tun, wenn das Skript aus einem schlechten Grund beendet wird?
Was tun, wenn das Programm aus einem schlechten Grund beendet wird? ...etc.

Verwenden Sie FvwmScript online mit den onworks.net-Diensten


Ad


Ad