Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

FvwmPerl — online w chmurze

Uruchom FvwmPerl w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie FvwmPerl, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


FvwmPerl - manipulator i preprocesor perla fvwm

STRESZCZENIE


FvwmPerl powinien zostać spawnowany przez fvwm(1) dla normalnej funkcjonalności.

Aby uruchomić ten moduł, umieść to polecenie gdzieś w konfiguracji:

Moduł FvwmPerl [parametry]

lub:

ModułSynchronizuj FvwmPerl [parametry]

jeśli chcesz natychmiast rozpocząć wysyłanie poleceń do FvwmPerl.

OPIS


Ten moduł ma na celu rozszerzenie poleceń fvwm o moc skryptową perla. To umożliwia
osadzać wyrażenia perla w plikach konfiguracyjnych fvwm i konstruować polecenia fvwm.

WEZWANIE


Jeśli chcesz wywołać unikalną i trwałą instancję FvwmPerl, zaleca się
zrób to od Funkcja startu. Wywołanie go z góry jest również możliwe, ale wiąże się
niektóre kwestie nie zostały tutaj omówione.

AddToFunc StartFunction I Moduł FvwmPerl

Istnieje kilka przełączników wiersza poleceń:

FvwmPerl [ --ocena linia ] [ --Załaduj plik ] [ --przetwarzanie wstępne [ --cytat znak ] [ --winid szerokość ] [
--cmd ] [ --wysłać ] [ --norusuń ] [ linia | plik ] ] [ --eksport [nazwy] ] [ --zostawać ] [
--brak blokady ] [ Alias ​​]

Długie przełączniki można skracać do krótkich jednoliterowych przełączników.

-e|--ocena line - oceń podany kod Perla

-l|--Załaduj plik - oceń kod perla w podanym pliku

-p|--przetwarzanie wstępne [ plik ] - wstępne przetwarzanie podanego pliku konfiguracyjnego fvwm

Poniższe 5 opcji jest ważnych tylko razem z --przetwarzanie wstępne opcja.

-c|--cmd line - polecenie fvwm do wstępnego przetworzenia zamiast pliku

-q|--cytat char - zmień domyślny cytat „%”.

-w|--winid wid - ustaw wyraźny kontekst okna (powinien zaczynać się od cyfry, może być w oct lub
forma szesnastkowa; ten identyfikator okna zastępuje niejawny kontekst okna, jeśli istnieje)

--wysłać - nie wysyłaj przetworzonego pliku do fvwm dla Czytajing, wartością domyślną jest wysyłanie.
Przydatne do wstępnego przetwarzania plików konfiguracyjnych innych niż fvwm.

--norusuń - nie usuwaj wstępnie przetworzonego pliku po przesłaniu go do fvwm dla Czytajing,
domyślnie jest to usuń. Przydatne do debugowania.

-x|--eksport [nazwy] - zdefiniuj funkcje skrótów fvwm (domyślnie dwie funkcje o nazwach
„Ocena” i „.”). Ta opcja implikuje --zostawać.

-s|--zostawać - kontynuuje egzekucję po --ocena, --Załaduj or --przetwarzanie wstępne są przetwarzane. Przez
domyślnie moduł nie jest trwały w tym przypadku, tj --Podczas pobytu zakłada się.

--brak blokady - gdy zostanie podana jedna z 3 opcji akcji, ta opcja powoduje odblokowanie fvwm
natychmiast. Domyślnie żądana akcja jest wykonywana synchronicznie; to tylko sprawia
różnica po wywołaniu, jak:

ModułSynchronous FvwmPerl --przetwarzaj wstępnie plik Someconfig.ppp

If --brak blokady dodaje się tutaj, ModułSynchroniczny zwraca natychmiast. Zauważ to Moduł powraca
natychmiast niezależnie od tej opcji.

ZA POMOCĄ ALIAS


Aliasy pozwalają mieć kilka wywołań modułu i pracować osobno ze wszystkimi wywołaniami,
Oto przykład:

ModułSynchronous FvwmPerl FvwmPerl-JustTest
Wyślij do modułu FvwmPerl-JustTest eval $a = 2 + 2; $b = $a
SendToModule FvwmPerl-JustTest eval cmd("Echo 2 + 2 = $b")
KillModule FvwmPerl FvwmPerl-JustTest

PRZETWARZANIE PRZYKŁAD


Jednym z efektywnych rozwiązań przetwarzania jest przekazanie całej konfiguracji fvwm za pomocą
osadzić kod Perla w „FvwmPerl --preprocess”. Alternatywnym podejściem jest napisanie perla
skrypt, który tworzy polecenia fvwm i wysyła je do wykonania, ten skrypt może zostać załadowany
używając „FvwmPerl --load”. Istnieją jednak rozwiązania pośrednie, które obejmują tylko przetwarzanie wstępne
oddzielne linie konfiguracyjne (lub alternatywnie wykonaj osobne polecenia perla, które
generować polecenia fvwm).

Poniższy fragment kodu dodaje pewne możliwości arytmetyki i pisania skryptów łańcuchowych
linie, które tego potrzebują. Aby tego użyć, chcesz uruchomić FvwmPerl jako swoje pierwsze polecenie, więc
że inne polecenia mogą zostać poproszone o wstępne przetworzenie.

ModułSynchronizuj FvwmPerl

Dodaj do funkcji.
+ Wstępne przetwarzanie I SendToModule FvwmPerl -c -- $*

. Exec exec xterm -name xterm-%{++$i}% # użyj unikalnej nazwy

. GotoDesk 0 %{ $[desk.n] + 1 }% # przejdź do następnego biurka

. Wykonaj wykonaj %{ -x "/usr/bin/X11/aterm" ? "aterm" : "xterm" }% -sb

# wyśrodkować okno
Dalej (Moje okno) . Przenosić \
%{($SZEROKOŚĆ - $[szer.szerokość]) / 2}%p %{($WYSOKOŚĆ - $[szer.wysokość]) / 2}%p

. Exec exec xmessage %{2 + 2}% # prosty kalkulator

. %{main::show_message(2 + 2, "Kolejny kalkulator"); ""}%

DZIAŁANIA


FvwmPerl może wykonać kilka czynności:

eval kod perla
Oceń linię kodu Perla.

Specjalna funkcja cmd("Komenda") może być używany w kodzie perla do wysyłania poleceń z powrotem
fvwm.

Jeśli kod Perla zawiera błąd, jest on drukowany do standardowego strumienia błędów z rozszerzeniem
[FvwmPerl][wartość]: nagłówek poprzedzony.

załadować Nazwa pliku
Załaduj plik kodu Perla. Jeśli plik nie jest w pełni kwalifikowany, jest przeszukiwany w
katalog użytkownika $FVWM_USERDIR (zwykle ~/.fvwm) i ogólnosystemowy katalog danych
$FVWM_DATADIR.

Specjalna funkcja cmd("Komenda") może być używany w kodzie perla do wysyłania poleceń z powrotem
fvwm.

Jeśli kod Perla zawiera błąd, jest on drukowany do standardowego strumienia błędów z rozszerzeniem
[FvwmPerl][ładowanie]: nagłówek poprzedzony.

wstępne przetwarzanie [-q|--cytat znak] [-c|--cmd] [linia | filet]
Wstępnie przetwórz konfigurację fvwm filet lub (jeśli podano --cmd) linia. Ten plik zawiera linie, które
nie są dotykane (zwykle polecenia fvwm) i specjalnie sformatowany kod Perla
przetwarzane i wymieniane. Tekst w załączniku %{ ... }% ograniczniki, które mogą zaczynać się w dowolnym miejscu
w linii i kończy się gdziekolwiek w tej samej lub innej linii, to kod Perla.

Połączenia zacytować parametr zmienia ograniczniki kodu Perla. Jeśli podano pojedynczy znak, np
„@”, ogranicznikami są @{ ... }@. Jeśli podany cytat ma 2 znaki, na przykład <>, cytaty
jest <{ ... }>

Kod perla jest zastępowany wynikiem jego oceny. To znaczy %{$a = "c"; ++$a}%
zastępuje się literą „d”.

Ocena jest inna eval i załadować odbywa się w pakiecie PreprocessNamespace
i bez posługiwać się rygorystyczny, więc możesz bez obaw używać dowolnych nazw zmiennych
konflikty. Po prostu nie używaj niezainicjowanych zmiennych do oznaczania undef lub pustej listy (oni
może być w rzeczywistości zainicjowany przez poprzednią akcję przetwarzania wstępnego) i wykonaj czyszczenie if
potrzebne. Zmienne i funkcje w główny Pakiety są nadal dostępne, np
::cmd() Lub ::pominąć(), ale po prostu nie jest dobrym pomysłem uzyskiwanie do nich dostępu
wstępne przetwarzanie.

Istnieje specjalna funkcja zawierać(filet), który ładuje plik, przetwarza go i
zwraca wstępnie przetworzony wynik. Unikaj rekurencji.

Jeśli jakikolwiek osadzony kod perla zawiera błąd, jest on drukowany z błędem standardowym
stream i poprzedzone rozszerzeniem [FvwmPerl][przetwarzanie wstępne]: nagłówek. Wynik
w tym przypadku podstawienie jest puste.

W kodzie Perla mogą być użyte następujące zmienne:

$USER, $DISPLAY, $SZEROKOŚĆ, $WYSOKOŚĆ, $FVWM_VERSION, $FVWM_MODULEDIR, $FVWM_DATADIR,
$FVWM_USERDIR

Następujące dyrektywy oparte na liniach są rozpoznawane podczas przetwarzania wstępnego. Oni są
przetwarzane po zastąpieniu kodu Perla (jeśli istnieje).

%powtarzać liczyć
Powoduje powtórzenie następujących wierszy liczyć razy.

%Konfiguracja modułu Nazwa modułu [zniszczyć]
Powoduje, że kolejne linie będą interpretowane jako podana konfiguracja modułu. Jeśli
określono „destroy”, poprzednia konfiguracja modułu jest niszczona jako pierwsza.

%Prefiks prefiks
Poprzedza następujące wiersze cytatem prefiks.

%Koniec dowolny-opcjonalny-komentarz
Kończy dowolną z opisanych powyżej dyrektyw, może być zagnieżdżona.

Przykłady:

%Prefix "AddToFunc SwitchToWindow I"
Wyłącz ikonę
Zasłona okna wyłączona
Podnieść
WarpToOkno 50 50
%Koniec

Zniszczenie %ModuleConfig FvwmPager
Zestaw kolorów 0
Czcionka lucidasans-10
Waga biurkowa 28
MiniIkony
%Koniec konfiguracji modułu FvwmPager

%Prefix "All (MyWindowToAnimate) ResizeMove"
100 100 %{($SZEROKOŚĆ - 100) / 2}% %{($WYSOKOŚĆ - 100) / 2}%
%Powtórz %{$count}%
br w+2c w+2c w-1c w-1c
%Koniec
%Powtórz %{$count}%
br w-2c w-2c w+1c w+1c
%Koniec
%Prefiks końcowy

Można również podać dodatkowe parametry przetwarzania wstępnego --nosend i --noremove. Zobacz ich
opis na górze.

eksport [nazwy-funkcji]
Wyślij fvwm definicja funkcji skrótów, które pomagają aktywować różne
działania modułu (tj eval, załadować i wstępne przetwarzanie).

Nazwy funkcji (nazwy-funkcji) mogą być oddzielone przecinkami i/lub spacjami. Domyślnie,
dwie funkcje „Eval” i „.” są zakładane.

Rzeczywista akcja zdefiniowana w funkcji jest odgadywana na podstawie nazwy funkcji, jeśli to możliwe,
gdzie nazwa funkcji „.” jest zarezerwowany dla wstępne przetwarzanie akcji.

Na przykład dowolne z tych dwóch poleceń fvwm

SendToModule Eksport MyPerl PerlEval,PP
FvwmPerl --eksport PerlEval,PP MyPerl

zdefiniuj następujące dwie funkcje skrótów:

Zniszcz Funkcję PerlEval
AddToFunc I SendToModule MyPerl eval $*
Zniszcz Funkcję PP
AddToFunc I SendToModule Przetwarzanie wstępne MyPerl -c -- $*

Te 4 działania można zażądać na jeden z 3 sposobów: 1) w wierszu poleceń, gdy FvwmPerl jest
wywołany (w tym przypadku FvwmPerl jest krótkotrwały, chyba że --zostawać or --eksport jest również podane), 2)
wysyłając odpowiednią wiadomość w fvwm config za pomocą SendToModule, 3) wywołując
odpowiednia funkcja perla w kodzie perla.

FUNKCJE


Istnieje kilka funkcji, które kod Perla może wywoływać:

cmd(Polecenie $fvwm_)
W przypadku eval or załadować - wyślij z powrotem do fvwm łańcuch znaków Polecenie $fvwm_. W przypadku
wstępne przetwarzanie - dołączyć ciąg Polecenie $fvwm_ do wyjścia osadzonego kodu Perla.

do_ewal($kod_perla)
Ta funkcja jest równoważna z eval funkcjonalność na stringach $kod_perla,
opisane powyżej.

Załaduj($nazwa pliku)
Ta funkcja jest równoważna z załadować funkcjonalność w pliku $filename, opisana
powyżej.

wstępne przetwarzanie (@params, ["-C $komenda"] [$nazwa pliku])
Ta funkcja jest równoważna z wstępne przetwarzanie funkcjonalność przy zadanych parametrach
oraz plik $ nazwa_pliku opisany powyżej.

eksport($ func_names, [$do_uneksportu])
Ta funkcja jest równoważna z eksport funkcjonalność z podanymi $func_names,
opisane powyżej. Mogą również nieeksportować nazwy funkcji, jeśli drugi parametr ma wartość true.

Nazwy funkcji powinny być oddzielone przecinkami i/lub spacjami. Jeśli $ func_names is
puste, a następnie funkcje „Eval” i „.” są zakładane.

zatrzymać()
Kończy moduł.

pominąć()
Pomija resztę kodu wywołania zwrotnego zdarzenia, tzn. moduł powraca do słuchania new
zdarzenia modułowe.

odblokować()
Anuluje synchronizację wywołania zwrotnego zdarzenia z fvwm. Może to być przydatne w zapobieganiu zakleszczeniom,
tzn. zwykle fvwm zabija nieodpowiadający moduł, jeśli wywołanie zwrotne zdarzenia nie jest
skończone w Limit czasu modułu sekundy. To zapobiega.

Ten przykład powoduje, że FvwmPerl zawiesza swoje wykonanie na jedną minutę:

SendModule FvwmPerl eval unlock(); spać(60);

Jednak sprawdź, czy nie ma możliwości wysłania nowej wiadomości przez fvwm, gdy moduł jest
zajęty, a fvwm zbyt długo zatrzymuje się na nowej wiadomości. Zobacz także odłącz
rozwiązanie, jeśli potrzebujesz długotrwałych operacji.

odłączyć()
Rozwidla i odłącza resztę kodu wywołania zwrotnego zdarzenia od głównego procesu. Tego maja
być przydatne, aby zapobiec zabiciu modułu, jeśli jego wywołanie zwrotne zdarzenia powinno zająć dużo czasu
wypełnić i można to zrobić u dziecka oderwanego. Odłączone dziecko może nadal
wysyłaj polecenia do fvwm (nie polegaj na tym), ale oczywiście nie odbieraj zdarzeń, to
kończy się natychmiast po zakończeniu wykonywania wywołania zwrotnego.

Jeśli używasz odłączyć(), lepiej wysyłaj polecenia do fvwm tylko w jednym procesie (głównym lub
zdystansowany), postępowanie w inny sposób może często powodować konflikty.

Pokaż wiadomość($msg, $tytuł[, $use_stderr_too=1])
Pokazuje okno dialogowe z podanym komunikatem, używając dowolnego narzędzia X znalezionego w pliku
pomimo napiętego harmonogramu

See FVWM::Moduł::Zestaw narzędzi::Pokaż wiadomość po więcej informacji.

ZMIENNE


Istnieje kilka zmiennych globalnych w główny przestrzeni nazw, które mogą być używane w perlu
kod:

$a, $b, ... $h
@a, @b, ... @h
%a, %b, ... %h

Wszystkie są inicjowane na pustą wartość i mogą być używane do przechowywania stanu pomiędzy
różne wywołania akcji FvwmPerl (eval i załadować).

Jeśli potrzebujesz bardziej czytelnych nazw zmiennych, napisz „no strict 'vars';” Na początku
każdy kod Perla lub użyj do tego skrótu, na przykład:

$h{id} = $h{imię} . " " . $h{second_name}

lub użyj nazwy pakietu, na przykład:

@MojeMenu::terminale = qw(xterm rxvt);
$MojeMenu::numer_pozycji = @MojeMenu::terminale;

Może istnieć opcja konfiguracji umożliwiająca włączanie i wyłączanie surowości.

WIADOMOŚCI


FvwmPerl może odbierać komunikaty za pomocą polecenia fvwm SendToModule. Nazwy, znaczenia i
parametry komunikatów są takie same jak odpowiadające im akcje opisane powyżej.

Dodatkowo wiadomość Zatrzymaj się powoduje zamknięcie modułu.

Wiadomość nieeksportować [nazwy-funkcji] cofa efekt eksport, opisane w DZIAŁANIACH


Wiadomość zrzucać zrzuca zawartość zmienionych zmiennych (jeszcze nie).

PRZYKŁADY


Prosty test:

SendToModule FvwmPerl eval $h{dir} = $ENV{HOME}
SendToModule FvwmPerl eval load($h{dir} . "/test.fpl")
Wyślij do modułu FvwmPerl załaduj $[HOME]/test.fpl
SendToModule FvwmPerl wstępne przetwarzanie config.ppp
Wyślij do modułu FvwmPerl eksport Eval, PerlEval, PerlLoad, PerlPP
Wyślij do modułu FvwmPerl unexport PerlEval, PerlLoad, PerlPP
Zatrzymanie SendToModule FvwmPerl

Poniższy przykład obsługuje tła root w fvwmrc. Wszystkie te polecenia można dodać
do funkcji Start.

Moduł FvwmPerl --export PerlEval

# znajdź wszystkie piksmapy tła do późniejszego wykorzystania
PerlEval $a = $ENV{HOME} . "/bg"; \
otwórz katalog KATALOG, $a; @b = grep { /xpm$/ } readdir(DIR); zamkniętej DIR

# zbuduj menu piksmap w tle
AddToMenu MyBackgrounds Tytuł „Moje tła”.
PerlEval foreach $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Exec fvwm-root $a/$b") }

# wybierz losowe tło do załadowania podczas uruchamiania
PerlEval cmd("AddToFunc \
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

UCIECZKA


Wyślij do modułu podobnie jak inne polecenia fvwm rozwija kilka zmiennych z prefiksem dolara.
Może to kolidować z zastosowaniami perla w dolarach. Możesz tego uniknąć, poprzedzając SendToModule
z wiodącą kreską. Poniższe 2 wiersze w każdej parze są równoważne:

SendToModule FvwmPerl eval $$d = "$[WYŚWIETLANIE]"
-SendToModule FvwmPerl eval $d = "$ENV{DISPLAY}"

SendToModule FvwmPerl ocena \
cmd("Echo desk=$d, display=$$d")
Przetwarzanie wstępne SendToModule FvwmPerl -c \
Pulpit Echo=%("$d")%, wyświetlacz=%{$$d}%

Innym rozwiązaniem pozwalającym uniknąć ucieczki przed specjalnymi symbolami, takimi jak dolary i ukośniki odwrotne, jest
utwórz plik perla w ~/.fvwm a następnie załaduj:

SendToModule FvwmPerl ładuje build-menus.fpl

Jeśli potrzebujesz wstępnie przetworzyć jedno polecenie zaczynające się od myślnika, powinieneś poprzedzić je using
"--".

# to drukuje bieżące biurko, tj. „0”
Przetwarzanie wstępne SendToModule FvwmPerl -c Echo "$%{$a = "c"; ++$a}%"
# to drukuje „$d”
Przetwarzanie wstępne SendToModule FvwmPerl -c -- -Echo "$%{"d"}%"
# to drukuje „$d” (SendToModule rozwija $$ do $)
Przetwarzanie wstępne SendToModule FvwmPerl -c -- -Echo "$$%{"d"}%"
# to drukuje „$$d”
-SendToModule Wstępne przetwarzanie FvwmPerl -c -- -Echo "$$%{"d"}%"

Ponownie zaleca się umieszczenie poleceń w pliku i zamiast tego wstępnie przetworzyć plik.

OSTRZEŻENIA


FvwmPerl jest napisany w Perlu i ma do czynienia z Perlem, zgodnie ze słynnym mottem Perla:
„Jest na to więcej niż jeden sposób”, więc wybór należy do Ciebie.

Oto więcej par równoważnych linii:

Moduł FvwmPerl --load "my.fpl" --stay
Moduł FvwmPerl -e 'load("my.fpl")' -s

Przetwarzanie wstępne SendToModule FvwmPerl --quote '@' my.ppp
SendToModule FvwmPerl eval preprocess({quote => '@'}, "my.ppp");

Ostrzeżenie, możesz wpłynąć na sposób działania FvwmPerl, oceniając odpowiedni kod Perla, this
jest uważany za funkcję, a nie za błąd. Ale proszę, nie rób tego, napisz własny moduł fvwm
zamiast tego w Perlu.

Korzystaj z FvwmPerl online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    HAUST
    HAUST
    SWIG to narzędzie do tworzenia oprogramowania
    która łączy programy napisane w C i
    C++ z różnymi wysokopoziomowymi
    języki programowania. SWIG jest używany z
    różne...
    Pobierz SWIG
  • 2
    Motyw WooCommerce Nextjs React
    Motyw WooCommerce Nextjs React
    Motyw React WooCommerce, zbudowany z
    Następny JS, Webpack, Babel, Node i
    Express, używając GraphQL i Apollo
    Klient. Sklep WooCommerce w React(
    zawiera: Produkty...
    Pobierz motyw WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Repozytorium pakietów dla ArchLabs To jest plik
    aplikacja, którą można również pobrać
    od
    https://sourceforge.net/projects/archlabs-repo/.
    Został on hostowany w OnWorks w...
    Pobierz archlabs_repo
  • 4
    Projekt Zefir
    Projekt Zefir
    Projekt Zephyr to nowa generacja
    system operacyjny czasu rzeczywistego (RTOS).
    obsługuje wiele urządzeń
    architektury. Opiera się na A
    małe jądro...
    Pobierz projekt Zephyr
  • 5
    Scons
    Scons
    SCons to narzędzie do tworzenia oprogramowania
    jest lepszą alternatywą dla
    klasyczne narzędzie do budowania „Make”.
    wszyscy znamy i kochamy. SCons jest
    wdrożył...
    Pobierz SCons
  • 6
    PSeInt
    PSeInt
    PSeInt to interpreter pseudokodu dla
    hiszpańskojęzyczni studenci programowania.
    Jego głównym celem jest bycie narzędziem do
    nauka i zrozumienie podstaw
    koncepcja...
    Pobierz PSeInt
  • więcej »

Komendy systemu Linux

Ad