angielskufrancuskihiszpański

Uruchom serwery | Ubuntu > | Fedora > |


Ulubiona usługa OnWorks

FvwmScript — online w chmurze

Uruchom FvwmScript u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

To jest polecenie FvwmScript, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


FvwmScript - moduł do budowania graficznego interfejsu użytkownika

STRESZCZENIE


FvwmScript musi być odradzany przez Fvwm. Nie będzie działać z wiersza poleceń.

OPIS


FvwmScript to moduł, który pozwala na budowanie wielu aplikacji graficznych takich jak
akcesoria pulpitu, panel przycisków z wyskakującymi menu, modalne okna dialogowe... Przy uruchomieniu
FvwmScript odczytuje plik określony w wierszu poleceń. Ten plik zawiera
scenariusz. Ten skrypt nie jest zawarty w pliku konfiguracyjnym Fvwm.

Skrypt FvwmScript można w pełni kontrolować za pomocą klawiatury. (Shift)-Tab krąży
wokół widżetów, Return symuluje kliknięcie myszą, strzałki przesuwają kursor lub zmieniają
wartości widżetu i Escape "anuluje" dla Menu i PopupMenu.

WEZWANIE


FvwmScript można wywołać, wstawiając wiersz `Moduł FvwmScript nazwa_skryptu' w polu
plik .fvwm2rc. Plik „nazwa_skryptu” może zaczynać się od ukośnika, w takim przypadku jest to
w pełni kwalifikowana ścieżka, a plik jest odczytywany. Jeśli „nazwa_skryptu” nie zaczyna się od
ukośnik, FvwmScript będzie wyglądał w kilku różnych miejscach. Jeśli plik .fvwm2rc zawierał
wiersz poleceń `*FvwmScript: Ścieżka_ścieżka_katalogu_skryptu', FvwmScript spróbuje tego
informator. Jeśli to nie zadziała, FvwmScript sprawdzi katalog konfiguracji systemu i
katalog konfiguracji użytkownika, jak opisano w poleceniu „Odczyt” w man fvwm
strona.

Polecenie uruchomienia FvwmScript może być umieszczone w wierszu samo, jeśli FvwmScript ma być
pojawia się podczas inicjalizacji fvwm lub może być powiązany z menu lub przyciskiem myszy lub
naciśnięcie klawisza, aby wywołać go później.

KONFIGURACJA OPCJE


W pliku konfiguracyjnym można użyć następujących poleceń (zobacz fvwm(1), sekcja MODUŁ
POLECENIA dla szczegółów). Są używane tylko wtedy, gdy odpowiednie polecenia skryptu nie są
użyte w skrypcie.

*FvwmScript: domyślna czcionka chrzcielnica
Określa domyślną czcionkę, która ma być użyta. Jeśli nie określono w tym poleceniu lub w
skrypt z poleceniem Czcionka, zakładana jest czcionka stała.

*FvwmScript: DomyślnyFor kolor
Określa domyślny kolor pierwszego planu, który ma zostać użyty. Jeśli nie określono z tym
lub w skrypcie z poleceniem ForeColor używany jest kolor czarny.

*FvwmScript: DomyślnyWstecz kolor
Określa domyślny kolor tła, który ma być używany. Jeśli nie określono z tym
lub w skrypcie z poleceniem BackColor używany jest grey85.

*FvwmScript: Domyślne podświetlenie kolor
Określa domyślny kolor podświetlenia, który ma zostać użyty. Jeśli nie określono w tym poleceniu
lub w skrypcie z poleceniem HilightColor używany jest grey100.

*FvwmScript: domyślny cień kolor
Określa domyślny kolor cienia do użycia. Jeśli nie określono w tym poleceniu
lub w skrypcie z poleceniem ShadowColor używany jest grey55.

*FvwmScript: Domyślny zestaw kolorów zestaw kolorów
Mówi modułowi, aby używał zestawu kolorów zestaw kolorów jako domyślny zestaw kolorów. Zapoznaj się z
Strona podręcznika FvwmTheme zawierająca szczegółowe informacje na temat zestawów kolorów.

ANATOMIA OF A SCRIPT


FvwmScript używa określonego języka programowania. Scenariusz składa się z pięciu części.
Nagłówek zawiera ogólną charakterystykę okna i domyślne właściwości dla wszystkich
widżety. Druga część zawiera instrukcje, które są wykonywane przy uruchomieniu
scenariusz. Trzecia część zawiera zadania cykliczne, które są wykonywane co sekundę. ten
czwarta część zawiera instrukcje, które są wykonywane przy wyjściu. A ostatnia część zawiera
opis widżetów. Widżet składa się z jedenastu rodzajów elementów: etykiet tekstowych,
jednowierszowe wprowadzanie tekstu, przyciski radiowe, pole wyboru, przyciski, poziome i pionowe
paski przewijania, prostokąty, wyskakujące menu, swallowexecs i mini paski przewijania.

NAGŁÓWEK OF A SCRIPT


Składnia jest następująca:

Tytuł okna ciąg
Ta opcja ustawia tytuł okna.

Rozmiar okna szerokość wysokość
Ta opcja ustawia rozmiar okna. szerokość i wysokość są wartością liczbową.

Pozycja okna x y
Ta opcja określa położenie okna. x i y są wartością liczbową.

Kolor wstępny {kolor}
Ta opcja ustawia domyślny kolor pierwszego planu dla wszystkich widżetów.

Kolor tyłu {kolor}
Ta opcja ustawia domyślny kolor tła dla wszystkich widżetów.

Kolor podświetlenia {kolor}
Ta opcja ustawia domyślny kolor podświetlenia dla wszystkich widżetów.

Kolor Cienia {kolor}
Ta opcja ustawia domyślny kolor cienia dla wszystkich widżetów.

Zestaw kolorów {n}
Ta opcja ustawia domyślny zestaw kolorów dla wszystkich widżetów.

Czcionka {chrzcielnica}
Ta opcja ustawia domyślną czcionkę dla wszystkich widżetów.

UżyjPobierz tekst [ścieżka_lokalna]
Włącz korzystanie z mechanizmu gettext, z którego korzysta WindowLocaleTitle,
Instrukcje LocaleTitle, ChangeLocaleTitle oraz funkcja Gettext. Jeśli nie
podany jest argument, używany jest domyślny katalog ustawień regionalnych FvwmScript. Ten katalog jest
w lokalnym katalogu instalacyjnym fvwm, a domeną tekstową jest FvwmScript
(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo). Możesz to zresetować
skatalogować lub dodać kilka katalogów dokładnie w taki sam sposób, jak w przypadku LocalePath fvwm
polecenie (patrz strona podręcznika fvwm). Ta instrukcja powinna być umieszczona przed
Instrukcja WindowLocaleTitle.

OknoLocaleTitle ciąg
Ta opcja ustawia tytuł okna, ale użyj katalogu(ów) ustawień regionalnych zdefiniowanych za pomocą
Użyj Gettext.

INICJALIZACJA


Ta część zawiera instrukcje, które zostaną wykonane przy uruchomieniu. Na przykład:
W tym
Rozpocząć
Wykonaj „Exec cat tada.voc > /dev/dsp”
Wskaźnik wypaczenia 1
Ustaw $ToDo=Restart
Koniec
Te instrukcje służą do odtwarzania dźwięku, przesuń wskaźnik do widżetu 1 i do
zainicjuj $ToDo na "Uruchom ponownie" przy każdym uruchomieniu.

OKRESOWY ZADANIA


Ta część skryptu zawiera instrukcje, które są wykonywane co sekundę. Do
przykład:
Zadania okresowe
Rozpocząć
Jeśli (RemainderOfDiv (GetTime) 10)==0 Wtedy
Wykonaj {Wykonaj xcalc}
Koniec
Ten przykład pokazuje, jak uruchamiać xcalc co 10 sekund.

THE QUIT FUNKCJA


Ta część skryptu zawiera instrukcje, które są wykonywane po zakończeniu działania skryptu
(po instrukcji Quit lub jeśli zamkniesz okno poleceniem Close, Delete lub Destroy
polecenie fvwm). Na przykład
QuitFunc
Rozpocząć
Czy {Echo pa pa}
Koniec
Pamiętaj, że jeśli użyłeś polecenia KillModule fvwm do zamknięcia skryptu, niektóre
instrukcje lub funkcje, które opierają się na istnieniu łącza komunikacyjnego między
skrypt i fvwm nie zostaną wykonane (na przykład polecenie Do). Aby gładko zabić
skrypt z poleceniem fvwm zobacz POLECENIA Sekcja.

GŁÓWNY OF A SCRIPT


Druga część skryptu zawiera opis każdego widżetu w skrypcie.
Każdy opis widżetu składa się z dwóch części. Pierwsza część opisuje początkowe właściwości,
druga część zawiera instrukcje, które są wykonywane, gdy widżet otrzymuje wiadomości.
Wszystkie widżety mogą wysyłać i odbierać wiadomości. Wszystkie wiadomości są oznaczone numerem. ten
komunikat „UserAction” jest wysyłany do widżetu, gdy użytkownik korzysta z widżetu. Składnia
dla pierwszej części jest:
Identyfikator widżetu # Liczba od 1 do 999 włącznie
Nieruchomość
Wpisz ciąg
Rozmiar szerokość wysokość
Pozycja xy
Tytuł { ciąg }
Wartość int
MaxValue int
MinValue int
Czcionka ciąg
Kolor przedni { kolor }
PowrótKolor { kolor }
HilightColor { kolor }
Kolor Cienia { kolor }
Kolorystyka int
Flagi flagiOpt
Opcja flagsOpt do Flags to rozdzielona spacjami lista zawierająca jeden lub więcej znaków
słowa kluczowe Ukryty, NoReliefString, Brak ostrości, Lewa / Centrum / Prawa. Ukryty stosuje się
określ, czy widżet jest ukryty podczas uruchamiania. NoReliefString określa, czy ciągi są rysowane
z ulgą czy nie. Brak ostrości określa, czy widżet może uzyskać fokus klawiatury, czy nie.
Domyślnie wszystkie widżety są aktywne, z wyjątkiem Rectangle, HDipstick i VDipstick, które nie mogą.
Co więcej, widżety NoFocus są pomijane, gdy poruszasz się po widżetach za pomocą
Skrót (Shift-)Tab. Lewa / Centrum / Prawa określa pozycję tekstu. Te mają zastosowanie
tylko do ItemDraw, List, Menu, PopupMenu i PushButton. Wartość domyślna to Centrum dla ItemDraw
i przycisk i Lewa dla innych widżetów.

LocaleTitle może być użyty zamiast Title, do korzystania z katalogu(ów) locale zdefiniowanych za pomocą
Użyj Gettext.

Należy określić pozycję każdego widżetu.

Składnia drugiej części to:
Główny
Wiadomość dotycząca sprawy
Pojedyncze kliknięcie:
Rozpocząć
# lista instrukcji, które będą
# wykonywane, gdy widżet otrzyma
# wiadomość „SingleClic”. Ta wiadomość jest
# wygenerowane przez użytkownika.
Koniec
1:
Rozpocząć
# lista instrukcji, które będą
# wykonywane, gdy widżet otrzyma
# wiadomość 1
Koniec
Koniec

WYKAZ OF WIDŻETY


Istnieje piętnaście rodzajów widżetów.

CheckBox: Wyświetl pole wyboru z ciągiem.

Tytuł: tytuł pola wyboru.

wartość: jeśli Wartość jest równa 1, pole jest zaznaczone, w przeciwnym razie tak nie jest.

Podczas spotkania Członkom Konsorcjum zostały zaprezentowane Zestawienie właściwość jest ignorowana.

HDipstick: Wyświetla poziomy wskaźnik poziomu.
Ten widżet może służyć do wyświetlania wykorzystania dysku.

wartość: określ aktualną wartość wskaźnika.

MinWartość: określ minimalną wartość bagnetu.

Maksymalna wartość: określ maksymalną wartość wskaźnika.

Narzucany jest minimalny rozmiar 30x11.

HScrollBar: Wyświetla poziomy pasek przewijania.

wartość: pozycja kciuka.

Maksymalna wartość: górna granica wartości.

MinWartość: dolna granica wartości.

Właściwość wysokości jest ignorowana i narzucana jest minimalna szerokość. Szerokość powinna być
przynajmniej zakres plus 37, jeśli wszystkie wartości mają być wybieralne, np. min 0 i
max 10 ma zakres 11 i dlatego powinna mieć minimalną szerokość 48.

Pozycje Draw: Wyświetla ikonę i/lub ciąg.

Tytuł: ciąg do wyświetlenia.

Ikona: ikona do wyświetlenia.

Maksymalna wartość: współrzędna x kursora.

MinWartość: współrzędna y kursora.

Rozmiar jest wystarczająco duży, aby pomieścić tytuł i/lub ikonę.

Lista: Wyświetl listę.
Lista pozwala użytkownikowi na wybór pomiędzy różnymi opcjami.

wartość: określ, która opcja jest wybrana.

MinWartość: Pierwsza widoczna opcja.

Tytuł: tytuł zawiera opcje wyświetlane na liście. Składnia jest następująca:
{Opcja 1|Opcja 2|...|Opcja N}. Wszystkie menu są wyświetlane w górnej części okna.

Narzucona jest minimalna wysokość trzech elementów, a szerokość ma wynosić co najmniej
108.

Menu: Wyświetla menu, które pozwala użytkownikowi wybrać opcję.
Pozycje typu Menu są ułożone od lewej do prawej wzdłuż górnej części okna.
Właściwości rozmiaru i pozycji są ignorowane.

wartość: określ, która opcja jest wybrana.

Tytuł: tytuł zawiera opcje wyświetlane w menu. Składnia jest następująca:
{Opcja 1|Opcja 2|...|Opcja N}.

Miniprzewijanie: Wyświetla bardzo mały pionowy pasek przewijania.

wartość: pozycja kciuka.

Maksymalna wartość: górna granica wartości.

MinWartość: dolna granica wartości.

Rozmiar jest ustawiony na 19x34.

Menu podręczne: Wyświetla wyskakujące menu.

wartość: określ wybraną opcję.

Tytuł: tytuł ma następującą składnię: {Opcja 1|Opcja 2|...|Opcja N}."Opcja
1|Opcja 2|...|Opcja N" to wyskakujące menu, które jest wyświetlane po naciśnięciu myszy
przycisk.

Właściwość size jest ignorowana.

Naciśnij przycisk: Wyświetl przycisk z ikoną i/lub ciągiem.

Tytuł: ten ciąg ma następującą składnię {Tytuł przycisku|Opcja 1|Opcja
2|Opcja3|...|Opcja N}. "Opcja 1|Opcja 2|...|Opcja N" to wyskakujące menu, które
jest wyświetlany po naciśnięciu prawego przycisku.

Ikona: ikona do wyświetlenia.

Przycisk jest wystarczająco duży, aby zmieścił się w ikonie i/lub etykiecie.

Przycisk radiowy: Wyświetl przycisk radiowy z ciągiem.

Tytuł: tytuł przycisku radiowego.

wartość: jeśli Wartość jest równa 1, pole jest zaznaczone, w przeciwnym razie tak nie jest.

Właściwość size jest ignorowana

Prostokąt: Wyświetl prostokąt.
Tego typu widżet można wykorzystać do dekoracji okna.

SwallowExec
Ten typ widżetu powoduje, że FvwmScript tworzy proces i przechwytuje pierwszy
okno, którego nazwa lub zasób jest równy Tytuł i wyświetla je w skrypcie
okno.

Tytuł: określ nazwę okna, które ma być przechwycone i wyświetlone w skrypcie
okno.

SwallowExec: określ wiersz poleceń do wykonania, aby zainicjować proces. Moduły mogą
również zostać połknięty.

wartość: określ wygląd granicy. Możliwa wartość: -1, 0, 1.

Rozmiar ma co najmniej 30x30

Pole tekstowe: Wyświetla pole wprowadzania tekstu.
Pole wprowadzania tekstu może służyć do edycji ciągu jednowierszowego.

Tytuł: zawartość pola tekstowego.

wartość: pozycja punktu wstawienia.

MinWartość: pozycja końca zaznaczenia.

Maksymalna wartość: pierwszy widoczny znak tytułu

Właściwość height jest ignorowana, szerokość jest szersza o co najmniej 40 pikseli
niż początkowa zawartość.

VMiarka: Wyświetla pionowy wskaźnik poziomu.

wartość: określ aktualną wartość wskaźnika.

MinWartość: określ minimalną wartość bagnetu.

Maksymalna wartość: określ maksymalną wartość wskaźnika.

Rozmiar ma co najmniej 11x30.

VScrollBar: Wyświetla pionowy pasek przewijania.

wartość: pozycja kciuka.

Maksymalna wartość: górna granica wartości.

MinWartość: dolna granica wartości.

Właściwość szerokość jest ignorowana i narzucana jest minimalna wysokość. Wysokość powinna
być co najmniej zakresem plus 37, jeśli wszystkie wartości mają być wybieralne, np. min 0
a max 10 ma zakres 11 i dlatego powinna mieć minimalną wysokość 48.

INSTRUKCJA


Oto opis wszystkich instrukcji.

Ukryjwidżet id : ukryj numerowany widżet id.

PokażWidget id: pokaż widżet ponumerowany id.

Zmiana waluty id1 id2
Ustaw wartość ponumerowanego widżetu id1 do id2.

ZmieńMaxValue id1 id2
Ustaw maksymalną wartość ponumerowanego widżetu id1 do id2.

ZmieńMinValue id1 id2
Ustaw minimalną wartość ponumerowanego widżetu id1 do id2.

Zmień tytuł id1 id2
Ustaw tytuł widżetu ponumerowany id1 do id2.

Zmień tytuł okna ciąg
Ustaw tytuł okna na ciąg.

Zmień tytuł okna z Arg numarg
Ustaw tytuł okna na wartość numarg-ty argument skryptu.

ZmieńMiejsceTytuł id1 id2
Jako ChangeTitle, ale użyj katalogów ustawień regionalnych zdefiniowanych za pomocą UseGettext.

Zmień ikonę id1 id2
Ustaw ikonę widżetu ponumerowanego id1 do id2.

Zmień kolor przednia id1 {kolor}
Ustaw kolor pierwszego planu ponumerowanego widżetu id1 do {kolor}.

ZmieńKolor Wstecz id1 {kolor}
Ustaw kolor tła widżetu ponumerowanego id1 do {kolor}.

ZmieńZestawKolorów id1 id2
Ustaw zestaw kolorów widżetu ponumerowanego id1 do id2. Określenie widżetu 0 ustawia
kolorystyka głównego okna.

Zmień pozycję id1 x y
Przenieś widżet ponumerowany id1 na pozycję (x,y).

Zmień rozmiar id1 szerokość wysokość
Ustaw rozmiar ponumerowanego widżetu id1 do (szerokość,wysokość).

ZmieńCzcionka id1 nowa czcionka
Ustaw czcionkę ponumerowanego widżetu id1 do nowa czcionka.

Wskaźnik wypaczenia id
Przesuń wskaźnik myszy do ponumerowanego widżetu id.

Zapisz do pliku filename {str1} {str2} itd.
Napisz do pliku filename ciąg będący konkatenacją wszystkich argumentów
str1, str2Itp

Robić {komenda args}
Wykonaj polecenie fvwm w bloku Do. Dowolne polecenie fvwm opisane w
Można użyć strony podręcznika fvwm2. Polecenia są wysyłane z tego modułu do głównego fvwm
program do przetwarzania. Długość polecenia i argumentów nie może przekraczać 988
postacie.

Ustaw $było={str1} {str2} itd.
Połącz wszystkie argumenty w łańcuch i ustaw zmienną $było do tego ciągu.

Zakończ: zakończ program.

Wyślij sygnał id1 id2
Wyślij wiadomość ponumerowaną id2 do widgetu id1.

Wyślij do skryptu id_script {str11} {str2} itd.
Wyślij wiadomość do skryptu zidentyfikowanego przez id_script. Przesłanie to
konkatenacja str1, str2...

Klawisz Nazwa klucza zmiana id porządek str1 str2 itp
Wiąże klawisz klawiatury z instrukcją

Wyślij sygnał id porządek

i ustawia "ostatni ciąg" na konkatenację str1, str2... (zobacz
funkcja LastString). ten Nazwa klucza i modyfikatory pola są zdefiniowane jak w fvwm
Polecenie klawiszowe.

ARGUMENTY


Większość poleceń używa argumentów. Istnieją dwa rodzaje argumentów: liczby i łańcuchy. A
argument liczbowy to wartość z zakresu od -32000 do +32000. Ciąg jest zawsze
otoczony szelkami. Zmienne zawsze zaczynają się od znaku „$” i mogą zawierać oba te elementy
cyfry i ciągi znaków.

FUNKCJE


Wszystkie funkcje używają argumentów. Funkcje mogą zwracać zarówno ciąg, jak i liczbę. Składnia
jest:
(funkcja argument1 argument2 itd.)
Oto pełna lista argumentów:

(Pobierz tytuł id)
Zwróć tytuł ponumerowanego widżetu id.

(Pobierz wartość id)
Zwróć bieżącą wartość ponumerowanego widżetu id.

(GetMinValue id)
Zwróć bieżącą wartość minimalną ponumerowanego widżetu id.

(GetMaxValue id)
Zwróć bieżącą wartość Max widżetu ponumerowanego id.

(GetFore id)
Zwróć bieżącą wartość pierwszego planu RGB widżetu ponumerowanego id w formacie szesnastkowym
RRGGBB.

(Cofnąć się id)
Zwróć bieżącą wartość tła RGB widżetu ponumerowanego id w formacie szesnastkowym
RRGGBB.

(Pobierz Hilight id)
Zwróć bieżącą wartość podświetlenia RGB widżetu ponumerowanego id w formacie szesnastkowym
RRGGBB.

(Pobierz cień id)
Zwróć bieżącą wartość cienia RGB widżetu ponumerowanego id w formacie szesnastkowym
RRGGBB.

(Pobierz wyjście {str} intxnumx intxnumx)
Wykonuje polecenie str, pobiera standardowe wyjście i zwraca słowo, które jest w
linia intxnumx i na stanowisku intxnumx. Jeśli intxnumx jest równe -1, GetOutput zwraca
kompletna linia.

(liczba do szesnast. int)
Zwróć szesnastkową wartość int.

(Liczba Szesnastków {str})
Zwróć wartość dziesiętną str, str musi być wartością szesnastkową.

(Dodać intxnumx intxnumx)
Zwróć wynik (intxnumx+intxnumx).

(Mult intxnumx intxnumx)
Zwróć wynik (intxnumx*intxnumx).

(Div intxnumx intxnumx)
Zwróć wynik (intxnumx/intxnumx).

(StrCopy {str} intxnumx intxnumx)
Zwróć łańcuch, który znajduje się między pozycją int1 i int2. Na przykład (StrCopy
{Witaj} 1 2) zwraca {He}

(Skrypt uruchamiania {str})
Ta funkcja uruchamia skrypt o nazwie str i zwraca numer identyfikacyjny.
Ten numer jest niezbędny do korzystania z funkcji SendToScript i ReceiveFromScript.
Łańcuch str zawiera nazwę skryptu i kilka argumentów.

(GetScriptArgument {int})
Ta funkcja zwraca skrypt argumentów użyty w funkcji LaunchScript. Jeśli
int jest równe zero, GetScriptArgument zwraca nazwę skryptu.

(GetScriptOjciec)
Ta funkcja zwraca numer identyfikacyjny ojca skryptu.

(OdbierzOdSkryptu {int})
Ta funkcja zwraca wiadomość wysłaną przez skrypt o numerze int.

(PozostałaDziału {intxnumx intxnumx}): T
Ta funkcja zwraca resztę z dzielenia (intxnumx/intxnumx).

(Uzyskać czas)
Ta funkcja zwraca czas w sekundach.

(PobierzPid)
Ta funkcja zwraca identyfikator procesu skryptu.

(Pobierz tekst {str})
Ta funkcja zwraca tłumaczenie str za pomocą zdefiniowanych katalogów lokalizacji
z UseGettext.

(WyślijWiadomośćIPobierz {comId} {cmd} bool)
Wysyła polecenie cmd z identyfikatorem comId do zewnętrznego programu gotowego do
komunikować się ze skryptem przy użyciu protokołu specyficznego dla FvwmScript. Jeśli bool jest 0
FvwmScript nie czeka na odpowiedź z zewnętrznego programu. W tym przypadku
zwracana wartość to 1 jeśli wiadomość może być wysłana do programu zewnętrznego i 0 jeśli
nie o to chodzi. Jeśli bool wynosi 1, wtedy FvwmScript czeka na odpowiedź od
program zewnętrzny i zwracana jest ta odpowiedź (linia nie większa niż 32000
postacie). Jeśli komunikacja nie powiedzie się, zwracana wartość wynosi 0. Patrz rozdział
A TELEKOMUNIKACJA PROTOKÓŁ opis używanego protokołu komunikacyjnego.

(Przeanalizuj {str} int)
gdzie str musi być ciągiem postaci:
X1S1X2S2X3S3...SnXn
gdzie Xn to liczby zawierające cztery cyfry dziesiętne, a Sn to ciągi znaków
długość dokładnie Xn. Zwróconą wartością jest ciąg Sint. Jeśli int jest poza zasięgiem
(np. >n) zwracana wartość jest pustym ciągiem. Jeśli str nie jest określony
Zwracana wartość jest nieprzewidywalna (ale pusta w średniej). Ta funkcja
przydaje się do obsługi ciągów znaków zwracanych przez funkcję SendMsgAndGet.

(Ostatni ciąg)
Ta funkcja zwraca „bieżący ciąg roboczy” dla instrukcji Key, a
Polecenie SendString (zobacz POLECENIA Sekcja). Na starcie ten ciąg jest pusty, ale
po wykryciu powiązania klucza (odpowiednio odebranie polecenia SendString),
wtedy ten ciąg jest ustawiany na ciąg skojarzony z instrukcją (odpowiednio,
do polecenia).

WARUNKOWY PĘTLE


Istnieją trzy rodzaje pętli warunkowych. Instrukcja „Jeżeli-to-inaczej” ma
następująca składnia:
Jeśli $ToDo=={Otwórz xcalc} Wtedy
Wykonaj {Exec xcalc &} # Lista instrukcji
Więcej
Rozpocząć
Wykonaj {Exec killall xcalc &} # Lista instrukcji
Wykonaj {Exec echo xcalc zabite > /dev/console}
Koniec
Druga część „Else-Begin-End” jest opcjonalna. Jeśli pętla zawiera tylko jedną instrukcję,
Początek i koniec można pominąć. Instrukcja „Podczas wykonywania” ma następującą składnię:
Podczas gdy $i<5 Do
Rozpocząć
Ustaw $i=(Dodaj i 1) # Lista instrukcji
Koniec
Dwa ciągi można porównać z "==", a dwie liczby można porównać z "<", "<=",
"==", ">=", ">". Pętla „For-Do-Begin-End” ma następującą składnię:
Dla $i=1 do 20 Do
Rozpocząć
Wykonaj {Exec xcalc &} # Lista instrukcji
Koniec

POLECENIA


Następujące polecenie fvwm może zostać wykonane w dowolnym momencie:

Wyślij do modułu NazwaSkryptu Wyślij ciąg id porządek str

wysyła do dowolnego modułu o pasującym aliasie lub nazwie NazwaSkryptu ciąg

Wyślij ciąg id porządek str

Gdy FvwmScript otrzymuje taką wiadomość, wysyła ją do Widget id sygnał ponumerowany
porządek i sznurek str można uzyskać za pomocą funkcji LastString. Daj nam
przykład. Załóżmy, że masz skrypt MyScript z widżetem:
Widżet 50
Nieruchomość
Przycisk typu
Tytuł {Zamknij}
...
Główny
Wiadomość dotycząca sprawy

Pojedyncze kliknięcie:
Rozpocząć
porzucić
Koniec

1:
Rozpocząć
Ustaw $str = (LastString)
Jeśli $str == {Zamknij} Wtedy
porzucić
Więcej
ZmieńTytuł 33 $str
Koniec

Koniec
Następnie polecenie
SendToModule MyScript SendString 50 1 str
wymusza zamknięcie MyScriptu, jeśli str jest równe „Zakończ”, a jeśli nie, zmienia tytuł
Widget 33 do ul.

To polecenie może być użyte do zmiany tytułu okna

Wyślij do modułu NazwaSkryptu Zmień tytuł okna nowy tytuł [stary tytuł]

powoduje to, że dowolny moduł o pasującym aliasie lub nazwie NazwaSkryptu zmienia swoje
powiązany tytuł okna do nowy tytuł. Opcjonalny argument stary tytuł ma sens, gdy tam
to kilka wystąpień tego samego skryptu. Pozwala to uniknąć zmiany nazwy
wszystkie te instancje, określając nazwę okna powiązanego ze skryptem docelowym
(patrz przykład poniżej).

+ I Moduł FvwmScript FvwmStorageSend "/dev/hda6"
+ Czekam FvwmStorageWyślij
+ Wysyłam do modułu FvwmStorageWyślij okno zmiany Tytuł HDA6
+ I Moduł FvwmScript FvwmStorageSend "/dev/hda1"
+ Czekam FvwmStorageWyślij
+ Wysyłam do modułu FvwmStorageWyślij okno zmiany Tytuł HDA1 FvwmStorageWyślij

Bez argumentu FvwmStorageSend w ostatnim przypadku polecenie SendToModule miałoby
zmieniono na HDA1 nazwę obu wystąpień FvwmStorageSend.

PRZYKŁADY


Przykłady skryptów znajdziesz w katalogu konfiguracyjnym fvwm.

FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup i FvwmScript-
ScreenSetup to zestaw skryptów modyfikujących ustawienia X. Te skrypty zapisują preferencje
do pliku o nazwie ~/.xinit-fvwmrc (Jeśli chcesz użyć innej nazwy pliku, podaj ją jako
pierwszy argument skryptu). Jeśli chcesz ładować te preferencje przy każdym uruchomieniu,
musisz dołączyć wiersz ".xinit-fvwmrc" w swoim pliku .xinitrc (lub .xsession) przed
start fvwm.

FvwmScript-BaseConfig modyfikuje zasady fokusu fvwm i stronicowania myszy, umieszczania okien,
krycie i inne funkcje poleceń przenoszenia i zmiany rozmiaru, przyciągania przyciągania i cieniowania
animacja. Ten skrypt zapisuje preferencje do pliku o nazwie .FvwmBaseConfig w
katalog danych (tj. $HOME/.fvwm lub $FVWM_USERDIR, jeśli jest ustawiony). Jeśli chcesz je załadować
preferencje przy każdym uruchomieniu musisz dodać linię "Read .FvwmBaseConfig" w swoim fvwm
plik konfiguracyjny. Jeśli chcesz użyć innej nazwy pliku, podaj ją jako pierwszy argument
skryptu. Kiedy klikniesz OK lub Zastosuj funkcję fvwm, którą możesz zdefiniować nazwaną
Wywoływana jest funkcja BaseConfigOkFunc lub BaseConfigApplyFunc. Pozwala to na przeładowanie określonych
style aplikacji zniszczone przez skrypt (np. AddToFunc BaseConfigOkFunc I Read
MójStylAplikacji).

FvwmScript-Buttons to panel przycisków, który może zastąpić FvwmButtons (ten skrypt obsługuje
wyskakujące menu i wymaga xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset pozwala
możesz edytować swój zestaw kolorów (zobacz FvwmTheme). FvwmScript-Date pozwala ustawić datę i
czas. FvwmScript-FileBrowser to przeglądarka plików używana przez inne skrypty. FvwmScript-
Znajdź to podstawowy interfejs do znalezienia. FvwmScript-Quit pozwala na wyjście z fvwm, ponowne uruchomienie
fvwm lub innego menedżera okien albo zamknij i ponownie uruchom komputer. FvwmScript-
ScreenDump to zrzut ekranu. FvwmScript-WidgetDemo to czysty przykładowy skrypt. Zobacz
następna sekcja dotycząca FvwmScript-ComExample.

A TELEKOMUNIKACJA PROTOKÓŁ


FvwmScript to słaby (ale prosty) język programowania. Jeśli masz do czynienia z wieloma
danych i/lub musisz użyć złożonych algorytmów, powinieneś użyć zewnętrznego programu (w perl
na przykład) i „wyślij” żądane informacje do skryptu FvwmScript. Pierwszy
podejściem jest użycie funkcji GetOutput. To proste, ale powinieneś ponownie uruchomić swój
zewnętrzny program za każdym razem, gdy potrzebujesz z niego informacji (a to może spowodować występy)
problemy). Drugim podejściem jest użycie funkcji SendMsgAndGet, która rozszerza
FvwmScript przy użyciu dowolnego języka programowania, który obsługuje potoki nazwane (fifos). My
opisz to rozwiązanie w tej sekcji. (Trzecim podejściem jest użycie fvwm-themes-com z
pakiet fvwm-themes, ale w rzeczywistości metoda SendMsgAndGet jest implementacją
fvwm-themes-com w FvwmScript, co zapewnia lepszą wydajność).

Zasadniczo uruchamiasz „zewnętrzny” program (w skrócie program) ze swojego FvwmScript
skrypt (w skrócie skrypt). Ten program działa w tle i używasz
Funkcja SendMsgAndGet w Twoim skrypcie do zadawania pytań lub przekazywania instrukcji
program. Program musi ściśle przestrzegać określonego protokołu komunikacyjnego. Po pierwsze
wszystko jest identyfikatorem comId do komunikacji powinien zawierać identyfikator procesu
skryptu dla dobrej implementacji protokołu (użyj funkcji GetPid i pass
die,en comId poprzez opcję do programu). Protokół używa dwóch fifos, w użytkowniku fvwm
katalog o nazwie: .tmp-com-in-comId i .tmp-com-out-comId. Program powinien tworzyć i
słuchaj na .tmp-com-in-comId fifo. Następnie, gdy FvwmScript wykonuje funkcję
Formularz:

Ustaw $answer = (SendMsgAndGet {comId} {cmd} bool)

FvwmScript pisze cmd na tym fifo. W ten sposób program może odczytywać cmd i może
wykonaj odpowiednią akcję (powinna usunąć informacje fifo, aby obsługiwać
komunikacja). Jeśli bool ma wartość 0, FvwmScript nie czeka na odpowiedź z programu i
zwróć 1, jeśli poprzednie działania się powiodły i 0, jeśli się nie powiodły (wtedy program powinien "iść
z powrotem” do informacji fifo). Jeśli bool wynosi 1, wtedy FvwmScript czeka (20 sekund) na odpowiedź od
program i z kolei zwraca odpowiedź do skryptu (zauważ, że bool nie jest przekazywany do
program, ponieważ musi wiedzieć, które polecenia wymagają odpowiedzi). Aby odpowiedzieć, program tworzy
.tmp-com-out-comId fifo i zapisuje na nim odpowiedź. Program powinien poczekać, aż
FvwmScript odczytuje odpowiedź, a następnie powinien usunąć out fifo i wrócić do in
fifo. Odpowiedź powinna składać się z jednego wiersza nie dłuższego niż 32000 znaków (spójrz
w funkcji Parse, aby obsłużyć wiele wierszy jako jeden wiersz).

Prostym sposobem na zrozumienie tego protokołu oraz pisanie skryptów i programów, które go używają, jest
rzucić okiem na (nieprzydatny) przykład FvwmScript-ComExample i fvwm-script-
ComExample.pl (który można znaleźć w katalogu danych fvwm). Co więcej, ta realizacja
protokołu rozwiązuje takie pytania jak: Co zrobić, jeśli skrypt zakończy działanie ze złego powodu?
Co zrobić, jeśli program zakończy działanie z złego powodu? ...itp.

Korzystaj z FvwmScript online za pomocą usług onworks.net


Ad


Ad