EngelsFransSpaans

Ad


OnWorks-favicon

FvwmScript - Online in de cloud

Voer FvwmScript uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is het commando FvwmScript dat kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


FvwmScript - module om grafische gebruikersinterface te bouwen

KORTE INHOUD


FvwmScript moet worden voortgebracht door Fvwm. Vanaf de opdrachtregel werkt het niet.

PRODUCTBESCHRIJVING


FvwmScript is een module waarmee je veel grafische applicaties kunt bouwen zoals
bureaubladaccessoires, knoppenpaneel met pop-upmenu's, modale dialoogvensters... Bij het opstarten,
FvwmScript leest het bestand dat is opgegeven op de opdrachtregel. Dit bestand bevat de
script. Dit script is niet opgenomen in het configuratiebestand van Fvwm.

Een FvwmScript-script is volledig bestuurbaar met behulp van het toetsenbord. (Shift)-Tab circuleert
rond de widgets, Return simuleert een muisklik, de pijlen verplaatsen de cursor of wijzigen
de waarden van de widget en Escape "annuleert" voor Menu en PopupMenu.

AANROEPING


FvwmScript kan worden aangeroepen door de regel `Module FvwmScript name_of_script' in te voegen in de
.fvwm2rc-bestand. Het bestand "name_of_script" kan beginnen met een schuine streep, in dat geval is het een
volledig gekwalificeerd pad en het bestand wordt gelezen. Als "name_of_script" niet begint met een
slash, zal FvwmScript op een paar verschillende plaatsen kijken. Als de .fvwm2rc de
opdrachtregel `*FvwmScript: Path path_of_the_script_directory', FvwmScript zal dat proberen
map. Als dat niet werkt, probeert FvwmScript de systeemconfiguratiemap en
de gebruikersconfiguratiedirectory zoals beschreven onder het "Read"-commando in de fvwm-man
pagina.

De opdracht om FvwmScript te starten kan op zichzelf op een regel worden geplaatst, als FvwmScript dat moet zijn
voortgebracht tijdens de initialisatie van fvwm, of kan gebonden zijn aan een menu of muisknop of
toetsaanslag om het later op te roepen.

CONFIGURATIE OPTIES


De volgende commando's kunnen worden gebruikt in het configuratiebestand (zie fvwm(1), sectie MODULE
COMMANDO'S voor details). Ze worden alleen gebruikt als de bijbehorende scriptopdrachten dat niet zijn
gebruikt in het script.

*FvwmScript: standaardlettertype doopvont
Specificeert het standaardlettertype dat moet worden gebruikt. Indien niet gespecificeerd met deze opdracht of in de
script met de opdracht Lettertype, wordt uitgegaan van een vast lettertype.

*FvwmScript: StandaardFore kleur
Specificeert de standaard voorgrondkleur die moet worden gebruikt. Indien niet gespecificeerd hiermee
opdracht of in het script met de opdracht ForeColor wordt zwart gebruikt.

*FvwmScript: StandaardTerug kleur
Specificeert de standaard achtergrondkleur die moet worden gebruikt. Indien niet gespecificeerd hiermee
opdracht of in het script met de opdracht BackColor wordt grey85 gebruikt.

*FvwmScript: StandaardHilight kleur
Specificeert de standaard hilight-kleur die moet worden gebruikt. Indien niet gespecificeerd met deze opdracht
of in het script met de opdracht HilightColor wordt grey100 gebruikt.

*FvwmScript: StandaardSchaduw kleur
Specificeert de standaard te gebruiken schaduwkleur. Indien niet gespecificeerd met deze opdracht
of in het script met de opdracht ShadowColor wordt grey55 gebruikt.

*FvwmScript: Standaardkleurenset kleurenset
Vertelt de module om kleurenset te gebruiken kleurenset als de standaardkleurenset. Verwijs naar de
FvwmTheme man-pagina voor details over kleurensets.

ANATOMIE OF A SCRIPT


FvwmScript gebruikt een bepaalde programmeertaal. Een script bestaat uit vijf delen.
Kop bevat algemene kenmerken van het venster en standaardeigenschappen voor iedereen
widgets. Het tweede deel bevat instructies die worden uitgevoerd bij het opstarten van het
script. Het derde deel bevat periodieke taken die elke seconde worden uitgevoerd. De
vierde deel bevat instructies die bij exit worden uitgevoerd. En het laatste deel bevat
de beschrijving van widgets. Een widget bestaat uit elf soorten items: tekstlabels,
enkelregelige tekstinvoer, keuzerondjes, checkbox, drukknoppen, horizontaal en verticaal
schuifbalken, rechthoeken, pop-upmenu's, swallowexecs en mini-schuifbalken.

POST OF A SCRIPT


De syntaxis is als volgt:

VensterTitel snaar
Met deze optie stelt u de titel van het venster in.

Venstergrootte Breedte Hoogte
Met deze optie wordt de venstergrootte ingesteld. Breedte en Hoogte zijn numerieke waarde.

Vensterpositie x y
Deze optie stelt de vensterpositie in. x en y zijn numerieke waarde.

Voorgrond-kleur {kleur}
Deze optie stelt de standaard voorgrondkleur in voor alle widgets.

Achterkleur {kleur}
Deze optie stelt de standaard achtergrondkleur in voor alle widgets.

Hoogtekleur {kleur}
Deze optie stelt de standaard hilight-kleur in voor alle widgets.

Schaduwkleur {kleur}
Deze optie stelt de standaard schaduwkleur in voor alle widgets.

Kleurenset {n}
Deze optie stelt de standaardkleurenset in voor alle widgets.

Lettertype {doopvont}
Met deze optie wordt het standaardlettertype voor alle widgets ingesteld.

GebruikGettext [lokaal_pad]
Schakel het gebruik van het gettext-mechanisme in dat wordt gebruikt door de WindowLocaleTitle,
LocaleTitle, ChangeLocaleTitle instructies en de Gettext functie. Als Nee
argument wordt gegeven, wordt de standaard FvwmScript locale-catalogus gebruikt. Deze catalogus is
onder de locale fvwm-installatiemap en het tekstdomein is FvwmScript
(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo). U kunt dit resetten
catalogus of voeg enkele catalogi toe precies op dezelfde manier als met de LokaalPad fvwm
commando (zie de fvwm handleiding pagina). Deze instructie moet vóór de
WindowLocaleTitle-instructie.

VensterLokaleTitel snaar
Deze optie stelt de titel van het venster in, maar gebruikt de locale catalogus(s) gedefinieerd met
GebruikGettext.

INITIALISATIE


Dit deel bevat instructies die bij het opstarten worden uitgevoerd. Bijvoorbeeld:
In het
Beginnen
Doe "Exec cat tada.voc > /dev/dsp"
WarpPointer 1
Stel $ToDo=Opnieuw opstarten in
Einde
Deze instructies worden gebruikt om een ​​geluid af te spelen, de aanwijzer naar widget 1 te verplaatsen en naar
initialiseer $ToDo naar "Restart" bij elke start.

PERIODIEK TAKEN


Dit deel van het script bevat instructies die elke seconde worden uitgevoerd. Voor
voorbeeld:
Periodieke Taken
Beginnen
Als (RemainderOfDiv (GetTime) 10)==0 Dan
Doe {Exec xcalc}
Einde
Dit voorbeeld laat zien hoe u xcalc elke 10 seconden start.

HET QUIT FUNCTIE


Dit deel van het script bevat instructies die worden uitgevoerd wanneer het script wordt afgesloten
(na de Quit-instructie of als u het venster sluit met de Close, Delete of Destroy
fvwm-opdracht). Bijvoorbeeld
StopFunc
Beginnen
Doe {Echo doei, doei}
Einde
Houd er rekening mee dat als u de opdracht KillModule fvwm hebt gebruikt om het script te sluiten, sommige
instructies of functies die afhankelijk zijn van het bestaan ​​van een communicatieverbinding tussen de
script en fvwm worden niet uitgevoerd (bijvoorbeeld het Do-commando). Om soepel een
script met een fvwm-opdracht zie de COMMANDO'S pagina.

MAIN OF A SCRIPT


Het tweede deel van het script bevat de beschrijving voor elke widget in het script.
Elke widgetbeschrijving bestaat uit twee delen. Het eerste deel beschrijft de initiële eigenschappen, de
tweede deel bevat instructies die worden uitgevoerd wanneer de widget berichten ontvangt.
Alle widgets kunnen berichten verzenden en ontvangen. Alle berichten worden geïdentificeerd door een nummer. De
bericht "UserAction" wordt naar een widget verzonden wanneer de gebruiker de widget bedient. De syntaxis
voor het eerste deel geldt:
Widget id # Een getal tussen 1 en 999 inclusief
Woning
Typ tekenreeks
Maat breedte hoogte
Positie xy
Titel {tekenreeks}
Waarde int
MaxWaarde int
MinWaarde int
Tekenreeks
Voorkleur { kleur }
BackColor { kleur }
HilightColor { kleur }
Schaduwkleur { kleur }
Kleurset int
Vlaggen vlaggenOpt
De optie flagsOpt voor Flags is een door spaties gescheiden lijst met een of meer van de
trefwoorden verborgen, GeenReliefString, Geen focus, Links / Centreren / Rechts. verborgen wordt gebruikt
specificeer of de widget verborgen is bij het opstarten. GeenReliefString specificeert of strings worden getekend
met opluchting of niet. Geen focus geeft aan of de widget de toetsenbordfocus kan krijgen of niet.
Standaard nemen alle widgets de focus, behalve Rectangle, HDipstick en VDipstick, die dat niet kunnen.
Bovendien worden de NoFocus-widgets overgeslagen als je rond de widgets circuleert met de
(Shift-)Tab snelkoppeling. Links / Centreren / Rechts specificeert de tekstpositie. Deze zijn van toepassing
alleen voor ItemDraw, List, Menu, PopupMenu en PushButton. De standaardwaarde is Centreren voor ItemDraw
en drukknop en Links voor de andere widgets.

LocaleTitle kan worden gebruikt in plaats van Title, voor het gebruik van de locale catalogus(sen) die zijn gedefinieerd met
GebruikGettext.

De positie van elke widget moet worden gespecificeerd.

De syntaxis voor het tweede deel is:
Hoofd
Casusbericht van
SingleClic:
Beginnen
# lijst met instructies die zullen zijn
# uitgevoerd wanneer widget ontvangt
# bericht "SingleClic". Dit bericht is
# gegenereerd door de gebruiker.
Einde
1:
Beginnen
# lijst met instructies die zullen zijn
# uitgevoerd wanneer widget ontvangt
# bericht 1
Einde
Einde

LIJST OF WIDGETS


Er zijn vijftien soorten widgets.

CheckBox: Toon selectievakje met een tekenreeks.

Titel: titel van het selectievakje.

Waarde: als Waarde gelijk is aan 1, is het vakje aangevinkt, anders niet.

De Maat eigenschap wordt genegeerd.

HDipstok: Geef een horizontale peilstok weer.
Deze widget kan worden gebruikt om schijfgebruik weer te geven.

Waarde: specificeer de huidige waarde van de peilstok.

Min.Waarde: specificeer de minimale waarde van de peilstok.

Maximum waarde: specificeer de maximale waarde van de peilstok.

Er wordt een minimale afmeting van 30x11 opgelegd.

HScrollBar: Geef een horizontale schuifbalk weer.

Waarde: stand van de duim.

Maximum waarde: bovengrens van Waarde.

Min.Waarde: ondergrens van Waarde.

De eigenschap height wordt genegeerd en er wordt een minimale breedte opgelegd. De breedte moet zijn
ten minste het bereik plus 37 als alle waarden selecteerbaar moeten zijn, bijvoorbeeld een minimum van 0 en
max van 10 heeft een bereik van 11 en moet daarom een ​​minimale breedte van 48 hebben.

Artikel tekenen: Geef een pictogram en/of een tekenreeks weer.

Titel: tekenreeks om weer te geven.

icon: pictogram om weer te geven.

Maximum waarde: x-coördinaat van de cursor.

Min.Waarde: y-coördinaat van de cursor.

Het formaat is groot genoeg gemaakt om de titel en/of het icoon te bevatten.

Lijst: een lijst weergeven.
Lijst laat de gebruiker kiezen tussen verschillende opties.

Waarde: specificeer welke optie is geselecteerd.

Min.Waarde: Eerste zichtbare optie.

Titel: titel bevat opties die in de lijst worden weergegeven. De syntaxis is de volgende:
{Optie 1|Optie 2|...|Optie N}. Alle menu's worden bovenaan het venster weergegeven.

Er wordt een minimale hoogte van drie items opgelegd en de breedte wordt minimaal gemaakt
108.

Menu: Geef een menu weer waarin de gebruiker een optie kan kiezen.
Items van het type Menu staan ​​van links naar rechts langs de bovenkant van het venster.
De grootte- en positie-eigenschappen worden genegeerd.

Waarde: specificeer welke optie is geselecteerd.

Titel: titel bevat opties die in het menu worden weergegeven. De syntaxis is de volgende:
{Optie 1|Optie 2|...|Optie N}.

Miniscrollen: Geef een zeer kleine verticale schuifbalk weer.

Waarde: stand van de duim.

Maximum waarde: bovengrens van Waarde.

Min.Waarde: ondergrens van Waarde.

Het formaat is ingesteld op 19x34.

Popup menu: een pop-upmenu weergeven.

Waarde: specificeer welke optie is geselecteerd.

Titel: de titel heeft de volgende syntaxis: {Optie 1|Optie 2|...|Optie N}."Optie
1|Optie 2|...|Optie N" is het pop-upmenu dat wordt weergegeven wanneer u op de muis drukt
knop.

De eigenschap size wordt genegeerd.

Druk op de knop: Drukknop weergeven met een icoon en/of een string.

Titel: deze string heeft de volgende syntaxis {Titel van de knop|Optie 1|Optie
2|Optie3|...|Optie N}. "Optie 1|Optie 2|...|Optie N" is het pop-upmenu dat
wordt weergegeven wanneer u op de rechterknop drukt.

icon: pictogram om weer te geven.

De knop is groot genoeg gemaakt om op het pictogram en/of label te passen.

Radio knop: Toon keuzerondje met een tekenreeks.

Titel: titel van het keuzerondje.

Waarde: als Waarde gelijk is aan 1, is het vakje aangevinkt, anders niet.

De eigenschap size wordt genegeerd

Rechthoek: Geef een rechthoek weer.
Dit type widget kan worden gebruikt om vensters te versieren.

SlikkenExec
Dit type widget zorgt ervoor dat FvwmScript een proces start en het eerste vastlegt
venster waarvan de naam of bron gelijk is aan Titel, en geef het weer in het script
venster.

Titel: geef de vensternaam op die moet worden vastgelegd en weergegeven in het script
venster.

SlikkenExec: geef de opdrachtregel op die moet worden uitgevoerd om het proces te spawnen. Modules kunnen
ook worden ingeslikt.

Waarde: geef het uiterlijk van de rand op. Mogelijke waarde: -1, 0, 1.

De maat is gemaakt om minimaal 30x30 te zijn

Tekstveld: geef een tekstinvoerveld weer.
Het tekstinvoerveld kan worden gebruikt om een ​​string van één regel te bewerken.

Titel: inhoud van tekstveld.

Waarde: positie van het invoegpunt.

Min.Waarde: positie van het einde van de selectie.

Maximum waarde: eerste zichtbare karakter van de titel

De eigenschap height wordt genegeerd, de breedte wordt minimaal 40 pixels breder gemaakt
dan de oorspronkelijke inhoud.

V Peilstok: Geef een verticale peilstok weer.

Waarde: specificeer de huidige waarde van de peilstok.

Min.Waarde: specificeer de minimale waarde van de peilstok.

Maximum waarde: specificeer de maximale waarde van de peilstok.

De maat is gemaakt om minimaal 11x30 te zijn.

VScrollBar: Geef een verticale schuifbalk weer.

Waarde: stand van de duim.

Maximum waarde: bovengrens van Waarde.

Min.Waarde: ondergrens van Waarde.

De eigenschap width wordt genegeerd en er wordt een minimale hoogte opgelegd. De hoogte moet
minimaal het bereik plus 37 zijn als alle waarden selecteerbaar moeten zijn, bijv. een minimum van 0
en max van 10 heeft een bereik van 11 en moet daarom een ​​minimale hoogte van 48 hebben.

INSTRUCTIES


Hier is de beschrijving van alle instructies.

Widget verbergen id : verberg de genummerde widget id.

ShowWidget id: toon de widget genummerd id.

Verander waarde id1 id2
Stel de waarde van de widget genummerd in id1 naar id2.

WijzigMaxValue id1 id2
Stel de maximale waarde van de genummerde widget in id1 naar id2.

VeranderMinWaarde id1 id2
Stel de minimale waarde van de genummerde widget in id1 naar id2.

Titel wijzigen id1 id2
Stel de titel van de widget genummerd in id1 naar id2.

Wijzig WindowTitle snaar
Stel de titel van het venster in op snaar.

ChangeWindowTitleFromArg numarg
Stel de titel van het venster in op de waarde van de numarg-de scriptargument.

Wijzig LocaleTitle id1 id2
Als ChangeTitle maar gebruik de locale catalogus(s) gedefinieerd met UseGettext.

Verander icoon id1 id2
Stel het pictogram van de widget genummerd in id1 naar id2.

WijzigForeColor id1 {kleur}
Stel de voorgrondkleur van de widget genummerd in id1 tot {kleur}.

WijzigBackColor id1 {kleur}
Stel de achtergrondkleur van de widget genummerd in id1 tot {kleur}.

WijzigColorSet id1 id2
Stel de kleurenset van de widget genummerd in id1 naar id2. Het specificeren van widget 0 stelt de
hoofdvenster kleurenset.

Verander positie id1 x y
Verplaats de widget genummerd id1 plaatsen (x,y).

Grootte wijzigen id1 Breedte Hoogte
Stel de grootte van de genummerde widget in id1 tot (Breedte,Hoogte).

Lettertype wijzigen id1 nieuw lettertype
Stel het lettertype van de widget genummerd in id1 naar nieuw lettertype.

WarpPointer id
Warp de muisaanwijzer in de genummerde widget id.

SchrijvenNaarBestand bestandsnaam {str1str2} enz
Schrijf naar het bestand bestandsnaam de string die de aaneenschakeling is van alle argumenten
str1, str2, Etc.

Doen {commando betoogt}
Voer de opdracht fvwm uit in het Do-blok. Elke fvwm-opdracht zoals beschreven in de
fvwm2 man-pagina kan worden gebruikt. Commando's worden vanuit deze module naar de fvwm main gestuurd
programma voor verwerking. De lengte van het commando en de argumenten mag niet langer zijn dan 988
tekens.

Stel $ invar={str1} {str2} enz
Voeg alle argumenten samen tot een string en stel de variabele $ invar naar deze snaar.

Afsluiten: sluit het programma af.

Signaal verzenden id1 id2
Stuur een genummerd bericht id2 naar widget id1.

Verzendennaarscript id_script {str11} {str2} enz
Stuur een bericht naar het script geïdentificeerd door id_script. Het bericht is de
aaneenschakeling van str1, str2...

sleutel Sleutelnaam modifier id sig str1 str2 etc
Bindt een toetsenbordtoets aan de instructie

Signaal verzenden id sig

en stelt de "laatste string" in op de aaneenschakeling van str1, str2... (zie de
LastString-functie). De Sleutelnaam en modifiers velden zijn gedefinieerd zoals in de fvwm
Toets commando.

ARGUMENTEN


De meeste commando's gebruiken argumenten. Er zijn twee soorten argumenten: getallen en strings. A
numeriek argument is een waarde tussen -32000 en +32000. Een string is altijd
omringd met bretels. Variabelen beginnen altijd met het teken "$" en kunnen beide bevatten
getallen en strings.

FUNCTIES


Alle functies gebruiken argumenten. Functies kunnen zowel een tekenreeks als een getal retourneren. De syntaxis
is:
(functie argument1 argument2 enz.)
Hier is de volledige lijst met argumenten:

(GetTitel id)
Geef de titel van de genummerde widget terug id.

(GetWaarde id)
Retourneert de huidige waarde van de genummerde widget id.

(GetMinWaarde id)
Retourneert de huidige Min-waarde van de genummerde widget id.

(GetMaxValue id)
Retourneert de huidige Max-waarde van de genummerde widget id.

(GetFore id)
Retourneert de huidige RGB-voorgrondwaarde van de genummerde widget id in het hex-formaat
RRGGBB.

(Kom terug id)
Retourneert de huidige RGB-achtergrondwaarde van de genummerde widget id in het hex-formaat
RRGGBB.

(GetHilight id)
Retourneert de huidige RGB hilight-waarde van de genummerde widget id in het hex-formaat
RRGGBB.

(Krijg Shadow id)
Retourneert de huidige RGB-schaduwwaarde van de genummerde widget id in het hex-formaat
RRGGBB.

(Uitvoer ophalen {str} int1 int2)
Voert de opdracht uit str, krijgt de standaarduitvoer en retourneert het woord dat erin staat
de lijn int1 en in de stand int2. Indien int2 gelijk is aan -1, GetOutput retourneert
de volledige lijn.

(NumToHex int)
Retourneert de hexadecimale waarde van int.

(HexToNum {str})
Retourneert de decimale waarde van str, str moet een hexadecimale waarde zijn.

(Toevoegen int1 int2)
Geef het resultaat van (int1+int2).

(Meerdere int1 int2)
Geef het resultaat van (int1*int2).

(Afd int1 int2)
Geef het resultaat van (int1/int2).

(StrKopie {str} int1 int2)
Retourneert de string die zich tussen positie int1 en int2 bevindt. Bijvoorbeeld (StrCopy
{Hallo} 1 2) retourneert {He}

(Startscript {str})
Deze functie start het script met de naam str en retourneert een identificatienummer.
Dit nummer is nodig om de functies SendToScript en ReceiveFromScript te gebruiken.
De string str bevat de scriptnaam en enkele argumenten.

(GetScriptArgument {int})
Deze functie retourneert het argumentscript dat wordt gebruikt in de functie LaunchScript. Als
int gelijk is aan nul, geeft GetScriptArgument de naam van het script terug.

(GetScriptVader)
Deze functie retourneert het identificatienummer van de scriptvader.

(OntvangstVanScript {int})
Deze functie retourneert het bericht dat is verzonden door het script genummerde int.

(RestVanDiv {int1 int2}): T
Deze functie retourneert de rest van de deling (int1/int2).

(Krijg tijd)
Deze functie retourneert de tijd in seconden.

(GetPid)
Deze functie retourneert de proces-ID van het script.

(Tekst ophalen {str})
Deze functie retourneert de vertaling van str door de gedefinieerde landcatalogus(s) te gebruiken
met UseGettext.

(SendMsgAndGet {comIdcmd} bool)
Verstuurt de opdracht cmd met identificatie comId naar een extern programma klaar om
communiceren met het script met behulp van een protocol dat specifiek is voor FvwmScript. Als bool is 0
FvwmScript wacht niet op een antwoord van het externe programma. In dit geval de
geretourneerde waarde is 1 als het bericht naar het externe programma kan worden verzonden en 0 als
dit is niet het geval. Als bool 1 is, dan wacht FvwmScript op een antwoord van de
extern programma en de geretourneerde waarde is dit antwoord (een regel van niet meer dan 32000
karakters). Als de communicatie mislukt, is de geretourneerde waarde 0. Zie de sectie
A COMMUNICATIE PROTOCOL voor een beschrijving van het gebruikte communicatieprotocol.

(ontleden {str} int)
WAAR str moet een tekenreeks zijn van de vorm:
X1S1X2S2X3S3...SnXn
waarbij de Xn getallen zijn met vier decimale cijfers en waarbij Sn strings van zijn
lengte precies Xn. De geretourneerde waarde is de tekenreeks Sint. Indien int is buiten bereik
(bijv. >n) de geretourneerde waarde is de lege tekenreeks. Als str is niet van de gespecificeerde
vorm, de geretourneerde waarde is onvoorspelbaar (maar leeg in het gemiddelde). Deze functie
is handig om tekenreeksen te verwerken die worden geretourneerd door de functie SendMsgAndGet.

(LaatsteString)
Deze functie retourneert de "huidige werkende tekenreeks" voor de sleutelinstructie en de
SendString-opdracht (zie de COMMANDO'S sectie). Bij het opstarten is deze string leeg, maar
wanneer een toetsbinding wordt gedetecteerd (respectievelijk een SendString-opdracht wordt ontvangen),
dan wordt deze string ingesteld op de string die is gekoppeld aan de instructie (respectievelijk
naar de opdracht).

VOORWAARDELIJK LUS


Er zijn drie soorten voorwaardelijke lussen. De instructie "Als-Dan-Anders" heeft de
volgende syntaxis:
If $ToDo=={Open xcalc} Dan
Doe {Exec xcalc &} # Lijst met instructies
Anders
Beginnen
Doe {Exec killall xcalc &} # Lijst met instructies
Doe {Exec echo xcalc gedood > /dev/console}
Einde
Het tweede deel "Else-Begin-End" is optioneel. Als de lus slechts één instructie bevat,
Begin en Einde kunnen worden weggelaten. De instructie "Terwijl-doen" heeft de volgende syntaxis:
Terwijl $i<5 Do
Beginnen
Set $i=(Voeg i 1 toe) # Lijst met instructies
Einde
Twee strings kunnen worden vergeleken met "==" en twee getallen kunnen worden vergeleken met "<", "<=",
"==", ">=", ">". De lus "For-Do-Begin-End" heeft de volgende syntaxis:
Voor $i=1 tot 20 doen
Beginnen
Doe {Exec xcalc &} # Lijst met instructies
Einde

COMMANDO'S


De volgende opdracht fvwm kan op elk moment worden uitgevoerd

VerzendenNaarModule Scriptnaam SendString id sig str

het stuurt naar elke module met alias of naam die overeenkomt Scriptnaam de snaar

SendString id sig str

Wanneer een FvwmScript zo'n bericht ontvangt, stuurt het naar de Widget id het signaal genummerd
sig en het touwtje str kan worden verkregen met de LastString-functie. Laten we een geven
voorbeeld. Stel dat je een script MyScript hebt met de widget:
Widget50
Woning
Typ Drukknop
Titel {Afsluiten}
...
Hoofd
Casusbericht van

SingleClic:
Beginnen
Verlaten
Einde

1:
Beginnen
Stel $str = (LaatsteString) in
Als $str == {Stop} Dan
Verlaten
Anders
Wijzig Titel 33 $str
Einde

Einde
Dan de opdracht
SendToModule MyScript SendString 50 1 str
dwingt MyScript om af te sluiten als str gelijk is aan "Quit" en anders verandert het de titel van
Widget 33 naar str.

Deze opdracht kan worden gebruikt om de titel van het venster te wijzigen

VerzendenNaarModule Scriptnaam Wijzig WindowTitle nieuweTitel [oude titel]

het zorgt ervoor dat elke module met alias of naam die overeenkomt Scriptnaam verandert zijn
bijbehorende venstertitel nieuweTitel. Het optionele argument oudeTitel logisch wanneer daar
zijn verschillende exemplaren van hetzelfde script. Het stelt iemand in staat om te voorkomen dat de naam van wordt gewijzigd
al deze instanties door de naam op te geven van het venster dat aan het doelscript is gekoppeld
(zie onderstaand voorbeeld).

+ I Module FvwmScript FvwmStorageSend "/dev/hda6"
+ Ik wacht FvwmStorageSend
+ Ik stuur naarModule FvwmStorageVerzend ChangeWindowTitle HDA6
+ I Module FvwmScript FvwmStorageSend "/dev/hda1"
+ Ik wacht FvwmStorageSend
+ Ik stuur naarModule FvwmStorageVerzenden ChangeWindowTitle HDA1 FvwmStorageSend

Zonder het argument FvwmStorageSend in het laatste geval zou de opdracht SendToModule hebben
gewijzigd in HDA1 de naam van beide exemplaren van FvwmStorageSend.

Voorbeelden


U vindt voorbeelden van scripts in de fvwm-configuratiedirectory.

FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup en FvwmScript-
ScreenSetup is een set scripts die X-instellingen wijzigen. Deze scripts slaan voorkeuren op
in een bestand met de naam ~/.xinit-fvwmrc (Als u een andere bestandsnaam wilt gebruiken, geeft u deze op als
eerste argument van het script). Als u deze voorkeuren bij elke start wilt laden,
u moet de regel ".xinit-fvwmrc" opnemen in uw .xinitrc (of .xsession)-bestand voordat
fvwm starten.

FvwmScript-BaseConfig wijzigt fvwm-focus en paging-muisbeleid, vensterplaatsing,
dekking en andere functies van de opdrachten voor verplaatsen en formaat wijzigen, aantrekkingskracht en schaduw
animatie. Dit script slaat voorkeuren op in een bestand met de naam .FvwmBaseConfig in het bestand van de gebruiker
datadirectory (dwz $HOME/.fvwm of $FVWM_USERDIR indien ingesteld). Als u deze wilt laden
voorkeuren bij elke start moet u de regel "Read .FvwmBaseConfig" toevoegen aan uw fvwm
configuratiebestand. Als u een andere bestandsnaam wilt gebruiken, geeft u deze op als eerste argument
van het schrift. Wanneer u op Ok of Toepassen klikt, wordt een fvwm-functie die u kunt definiëren named
BaseConfigOkFunc of BaseConfigApplyFunc wordt aangeroepen. Dit maakt specifiek herladen mogelijk
toepassingsstijlen die het script heeft vernietigd (bijv. AddToFunc BaseConfigOkFunc I Read
MijnAppStyle).

FvwmScript-Buttons is een knoppenpaneel dat FvwmButtons kan vervangen (dit script ondersteunt
pop-upmenu's en vereist xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset staat toe
u om uw kleurenset te bewerken (zie FvwmTheme). Met FvwmScript-Date kunt u datum en
tijd. FvwmScript-FileBrowser is een bestandsbrowser die door de andere scripts wordt gebruikt. FvwmScript-
Find is een elementaire front-end om te vinden. Met FvwmScript-Quit kan men fvwm afsluiten, herstarten
fvwm of een andere vensterbeheerder, of sluit de computer af en start deze opnieuw op. FvwmScript-
ScreenDump is een schermdumper. FvwmScript-WidgetDemo is een puur voorbeeldscript. Zie de
volgende sectie voor FvwmScript-ComExample.

A COMMUNICATIE PROTOCOL


FvwmScript is een zwakke (maar eenvoudige) programmeertaal. Als je met veel te maken hebt
gegevens en/of u complexe algoritmen moet gebruiken, moet u een extern programma gebruiken (in perl
bijvoorbeeld) en "stuur" de gewenste informatie naar uw FvwmScript-script. De eerste
benadering is om de GetOutput-functie te gebruiken. Dit is eenvoudig, maar u moet uw
extern programma elke keer dat u er informatie van nodig heeft (en dit kan optredens veroorzaken
problemen). De tweede benadering is om de SendMsgAndGet-functie te gebruiken die zich uitstrekt
FvwmScript door elke programmeertaal te gebruiken die met named pipes (fifos) kan omgaan. Wij
beschrijf deze oplossing in dit gedeelte. (Een derde benadering is het gebruik van fvwm-themes-com van
het pakket fvwm-themes, maar in feite is de methode SendMsgAndGet een implementatie van
fvwm-themes-com binnen FvwmScript en dit geeft betere prestaties).

In principe start u een "extern" programma (het programma in het kort) vanuit uw FvwmScript
script (het script in het kort). Dit programma draait op de achtergrond en je gebruikt de
SendMsgAndGet functie in je script om vragen te stellen of instructies te geven aan de
programma. Het programma moet strikt een bepaald communicatieprotocol respecteren. Eerste van
alles wat er is een identificatie comId voor de communicatie moet het de proces-ID bevatten
van het script voor een goede implementatie van het protocol (gebruik de GetPid-functie en pass
de comId via een optie in het programma). Het protocol gebruikt twee fifo's, in de fvwm-gebruiker
directory, genaamd: .tmp-com-in-comId en .tmp-com-out-comId. Het programma moet en maken
luister op de .tmp-com-in-comId fifo. Wanneer FvwmScript vervolgens een functie uitvoert van het
het formulier:

Stel $antwoord = (SendMsgAndGet {comIdcmd} bool)

FvwmScript schrijft het cmd op deze fifo. Op deze manier kan het programma de cmd en kan
voer de juiste actie uit (het zou de in fifo moeten verwijderen om multi-
communicatie). Als bool 0 is, wacht FvwmScript niet op een antwoord van het programma en
retourneer 1 als de vorige acties slagen en 0 als ze mislukten (dan zou het programma "go
terug" naar de in fifo). Als bool 1 is, dan wacht FvwmScript (20 sec) op een antwoord van
het programma en geeft op zijn beurt het antwoord terug aan het script (merk op dat bool wordt niet doorgegeven
het programma omdat het moet weten welke commando's een antwoord nodig hebben). Om te antwoorden, maakt het programma
de .tmp-com-out-comId fifo en schrijft het antwoord erop. Het programma moet wachten tot
FvwmScript leest het antwoord en dan zou het de out fifo moeten verwijderen en teruggaan naar de in
fifo. Het antwoord moet bestaan ​​uit één regel van maximaal 32000 tekens (kijk eens
bij de functie Parse om meerdere regels als één regel te behandelen).

Een eenvoudige manier om dit protocol te begrijpen en scripts en programma's te schrijven die het gebruiken is
om het (niet bruikbare) voorbeeld FvwmScript-ComExample en fvwm-script- te bekijken
ComExample.pl (te vinden in de fvwm data directory). Bovendien deze uitvoering
van het protocol lost vragen op als: Wat te doen als het script om een ​​slechte reden wordt afgesloten?
Wat te doen als het programma om een ​​slechte reden wordt afgesloten? ...enz.

Gebruik FvwmScript online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Clover EFI-bootloader
    Clover EFI-bootloader
    Project is verplaatst naar
    https://github.com/CloverHackyColor/CloverBootloader..
    Functies:Boot macOS, Windows en Linux
    in UEFI of legacy-modus op Mac of pc met
    EU...
    Download Clover EFI-bootloader
  • 2
    verenigde rpms
    verenigde rpms
    Doe mee met Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Schakel de URPMS-repository in uw
    systeem -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Unitedrpms downloaden
  • 3
    Boost C++-bibliotheken
    Boost C++-bibliotheken
    Boost biedt gratis draagbaar
    collegiaal getoetste C++-bibliotheken. De
    de nadruk ligt op draagbare bibliotheken die
    werken goed met de C++ Standard Library.
    Zie http://www.bo...
    Boost C++-bibliotheken downloaden
  • 4
    VirtueleGL
    VirtueleGL
    VirtualGL leidt 3D-opdrachten om van een
    Unix/Linux OpenGL-toepassing op een
    server-side GPU en converteert de
    gerenderde 3D-beelden in een videostream
    met welke ...
    Virtuele GL downloaden
  • 5
    libusb
    libusb
    Bibliotheek om gebruikersruimte in te schakelen
    applicatieprogramma's om mee te communiceren
    USB-apparaten. Publiek: ontwikkelaars, einde
    Gebruikers/Desktop. Programmeertaal: C.
    Categorieën...
    Libusb downloaden
  • 6
    SLOK
    SLOK
    SWIG is een tool voor softwareontwikkeling
    dat programma's verbindt die zijn geschreven in C en
    C ++ met een verscheidenheid aan high-level
    programmeertalen. SWIG wordt gebruikt met
    verschillend...
    SWIG downloaden
  • Meer "

Linux-commando's

Ad