IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

FvwmPerl - Online nel cloud

Esegui FvwmPerl nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando FvwmPerl che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


FvwmPerl - il manipolatore e preprocessore fvwm perl

SINOSSI


FvwmPerl dovrebbe essere generato da fvwm(1) per la normale funzionalità.

Per eseguire questo modulo, inserisci questo comando da qualche parte nella configurazione:

Modulo FvwmPerl [parametri]

o:

ModuleSynchronize FvwmPerl [parametri]

se vuoi iniziare subito a inviare comandi a FvwmPerl.

DESCRIZIONE


Questo modulo ha lo scopo di estendere i comandi fvwm con la potenza di scripting perl. Permette di
per incorporare espressioni perl nei file di configurazione fvwm e costruire comandi fvwm.

INVOCAZIONE


Se vuoi invocare l'istanza unica e persistente di FvwmPerl, ti suggeriamo di
fallo da Funzione di avvio. Chiamarlo dall'alto è anche possibile, ma coinvolge
alcune questioni non discusse qui.

AddToFunc StartFunction I Modulo FvwmPerl

Sono disponibili diverse opzioni della riga di comando:

FvwmPerl [ --valuta linea ] [ --carico file ] [ --preprocesso [ --Citazione carattere ] [ --winid largo ] [
--cmd ] [ --nosend ] [ --norimuovi ] [ riga | file ] ] [ --esportare [nomi] ] [ --restare ] [
--nolock ] [alias]

Gli interruttori lunghi possono essere abbreviati in interruttori brevi di una lettera.

-e|--valuta riga - valuta il codice perl dato

-l|--carico file - valuta il codice perl nel file dato

-p|--preprocesso [ file ] - preelabora il file di configurazione fvwm dato

Le seguenti 5 opzioni sono valide solo insieme a --preprocesso opzione.

-c|--cmd line - un comando fvwm da preelaborare invece di file

-q|--Citazione char - cambia la citazione '%' predefinita

-w|--winid wid - imposta il contesto esplicito della finestra (dovrebbe iniziare con una cifra, potrebbe essere in ott o
forma esadecimale; questo ID finestra sovrascrive il contesto implicito della finestra se presente)

--nosend - non inviare il file preelaborato a fvwm per Leggiing, l'impostazione predefinita è send.
Utile per la preelaborazione di file di configurazione non fvwm.

--norimuovi - non rimuovere il file preelaborato dopo averlo inviato a fvwm per Leggiing, il
l'impostazione predefinita è rimuovi. Utile per il debug.

-x|--esportare [nomi] - definisce le funzioni di scelta rapida di fvwm (per impostazione predefinita, due funzioni denominate
"Eval" e "."). Questa opzione implica --restare.

-s|--restare - continua un'esecuzione dopo --valuta, --carico or --preprocesso vengono elaborati. Di
impostazione predefinita, il modulo non è persistente in questo caso, ad es --No, resta è assunto.

--nolock - quando viene data una delle 3 opzioni di azione, questa opzione provoca lo sblocco fvwm
subito. Per impostazione predefinita, l'azione richiesta viene eseguita in modo sincrono; questo rende solo
differenza quando invocato come:

ModuleSynchronous FvwmPerl --preelabora someconfig.ppp

If --nolock si aggiunge qui, ModuloSincrono ritorna immediatamente. Notare che Moduli problemi
immediatamente indipendentemente da questa opzione.

UTILIZZO ALIAS


Gli alias consentono di avere più invocazioni di moduli e di lavorare separatamente con tutte le invocazioni,
ecco un esempio:

ModuloSynchronous FvwmPerl FvwmPerl-JustTest
SendToModule FvwmPerl-JustTest eval $a = 2 + 2; $b = $a
SendToModule FvwmPerl-JustTest eval cmd("Echo 2 + 2 = $b")
KillModule FvwmPerl FvwmPerl-JustTest

PRELAVORAZIONE ESEMPIO


Una delle soluzioni efficaci di elaborazione è passare l'intera configurazione di fvwm con
codice perl incorporato in "FvwmPerl --preprocess". Un approccio alternativo è scrivere un perl
script che produce comandi fvwm e li invia per l'esecuzione, questo script può essere caricato
usando "FvwmPerl --load". Esistono tuttavia soluzioni intermedie che pre-elaborano solo
righe di configurazione separate (o, in alternativa, eseguire comandi perl separati che
produrre comandi fvwm).

Il seguente frammento di codice aggiunge capacità di aritmetica e script di stringhe a determinati
linee che ne hanno bisogno. Per usarlo, devi avviare FvwmPerl come primo comando, quindi
che altri comandi possano essere pre-elaborati.

Sincronizza modulo FvwmPerl

AddToFunc.
+ I SendToModule FvwmPerl preprocesso -c -- $*

. Exec exec xterm -name xterm-%{++$i}% # usa un nome univoco

. GotoDesk 0 %{ $[desk.n] + 1 }% # vai alla scrivania successiva

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

# centra una finestra
Avanti (MyWindow) . Spostare \
%{($LARGHEZZA - $[larghezza.larghezza]) / 2}%p %{($ALTEZZA - $[larghezza.altezza]) / 2}%p

. Exec exec xmessage %{2 + 2}% # semplice calcolatrice

. %{main::show_message(2 + 2, "Ancora un'altra calcolatrice"); ""}%

AZIONI


Ci sono diverse azioni che FvwmPerl può eseguire:

eval codice perl
Valuta una riga di codice perl.

Una funzione speciale cmd("comando") può essere usato nel codice perl per inviare comandi a
fvwm.

Se il codice perl contiene un errore, viene stampato nel flusso di errore standard con il simbolo
[FvwmPerl][valuta]: intestazione anteposta.

caricare nome del file
Carica un file di codice perl. Se il file non è completamente qualificato, viene cercato in
directory utente $FVWM_USERDIR (di solito ~/.fvwm) e la directory dei dati a livello di sistema
$FVWM_DATADIR.

Una funzione speciale cmd("comando") può essere usato nel codice perl per inviare comandi a
fvwm.

Se il codice perl contiene un errore, viene stampato nel flusso di errore standard con il simbolo
[FvwmPerl][carica]: intestazione anteposta.

preprocesso [-q|--virgolette char] [-c|--cmd] [linea | filetto]
Preelabora la configurazione di fvwm filetto o (se viene fornito --cmd) linea. Questo file contiene righe che
non vengono toccati (di solito i comandi fvwm) e codice perl appositamente preformattato che è
elaborato e sostituito. Testo racchiuso tra %{ ... }% delimitatori, che possono iniziare ovunque
sulla riga e termina in un punto qualsiasi della stessa o di un'altra riga, è il codice perl.

I citare il parametro cambia i delimitatori del codice perl. Se viene fornito un singolo carattere, come
'@', i delimitatori sono @{ ... }@. Se la citazione data è di 2 caratteri, come <>, le citazioni
sono <{ ... }>

Il codice perl viene sostituito dal risultato della sua valutazione. Cioè %{$a = "c"; ++$a}%
viene sostituito con "d".

La valutazione è diversa eval ed caricare viene eseguito nel pacchetto PreprocessNamespace
e senza uso rigoroso, quindi sei libero di usare qualsiasi nome di variabile senza timore di
conflitti. Basta non usare variabili non inizializzate per indicare undef o elenco vuoto (loro
può essere di fatto inizializzato dalla precedente azione di preprocesso) ed eseguire una pulizia se
necessario. Le variabili e la funzione nel principale il pacchetto è ancora disponibile, come
::cmd() o ::Salta(), ma non è una buona idea accedervi mentre
preelaborazione.

C'è una funzione speciale includere(filetto) che carica un file, lo preelabora e
restituisce il risultato preelaborato. Evita la ricorsione.

Se un codice perl incorporato contiene un errore, viene stampato sull'errore standard
stream e ha preceduto il [FvwmPerl][preprocesso]: intestazione. Il risultato di
la sostituzione è vuota in questo caso.

Le seguenti variabili possono essere utilizzate nel codice perl:

$UTENTE, $DISPLAY, $LARGHEZZA, $ALTEZZA, $FVWM_VERSION, $FVWM_MODULEDIR, $FVWM_DATADIR,
$FVWM_USERDIR

Le seguenti direttive basate su riga vengono riconosciute durante la preelaborazione. Loro sono
elaborato dopo la sostituzione del codice perl (se presente).

%Ripetere contare
Fa sì che le seguenti righe vengano ripetute contare volte.

%Configurazione modulo nome-modulo [distruggere]
Fa sì che le seguenti righe vengano interpretate come la configurazione del modulo data. Se
viene specificato "destroy" la configurazione del modulo precedente viene distrutta per prima.

%Prefisso prefisso
Prefisso le seguenti righe con le virgolette prefisso.

%Fine qualsiasi-commento-facoltativo
Termina qualsiasi delle direttive descritte sopra, può essere annidata.

Consigli d'uso:

%Prefisso "AddToFunc SwitchToWindow I"
Icona disattivata
Finestra Ombreggiatura spenta
Aumentare
WarpToWindow 50 50
%Fine

%ModuleConfig FvwmPager distrugge
Set di colori 0
Carattere lucidasans-10
DeskTopScala 28
Mini icone
%End ModuleConfig FvwmPager

%Prefisso "Tutto (MyWindowToAnimate) ResizeMove"
100 100 %{($LARGHEZZA - 100) / 2}% %{($ALTEZZA - 100) / 2}%
%Ripeti %{$count}%
br w+2c w+2c w-1c w-1c
%Fine
%Ripeti %{$count}%
ma w-2c w-2c w+1c w+1c
%Fine
%Prefisso di fine

Possono essere forniti anche parametri di preprocesso aggiuntivi --nosend e --noremove. vedere il loro
descrizione in alto.

export [nomi-funzione]
Invia a fvwm la definizione di funzioni di scorciatoia che aiutano ad attivare diversi
azioni del modulo (es eval, caricare ed preprocesso).

Nomi delle funzioni (nomi-funzione) possono essere separati da virgole o/e spazi. Per impostazione predefinita,
due funzioni "Eval" e "." sono assunti.

L'azione effettiva definita in una funzione è indovinata dal nome della funzione, se possibile,
dove nome funzione "." è riservato a preprocesso azione.

Ad esempio, uno qualsiasi di questi due comandi fvwm

SendToModule MyPerl esporta PerlEval,PP
FvwmPerl --export PerlEval,PP MioPerl

definire le seguenti due funzioni di scelta rapida:

DestroyFunc PerlEval
AddToFunc I SendToModule MyPerl eval $*
DistruggiFunc PP
AddToFunc I SendToModule MyPerl preprocesso -c -- $*

Queste 4 azioni possono essere richieste in uno dei 3 modi: 1) nella riga di comando quando FvwmPerl è
invocato (in questo caso FvwmPerl è di breve durata a meno che --restare or --esportare è anche dato), 2)
inviando il messaggio corrispondente in fvwm config usando SendToModule, 3) chiamando il
corrispondente funzione perl nel codice perl.

FUNZIONI


Ci sono diverse funzioni che il codice perl può chiamare:

cmd($fvwm_comando)
In caso di eval or caricare - rimandare a fvwm una stringa $fvwm_comando. In caso di
preprocesso - aggiungi una stringa $fvwm_comando all'output del codice perl incorporato.

do_eval($codice_perl)
Questa funzione è equivalente a eval funzionalità sulla stringa $codice_perl,
descritto sopra.

carico($nomefile)
Questa funzione è equivalente a caricare funzionalità sul file $filename, descritta
sopra.

preprocesso (@param, ["-C $comando"] [$nomefile])
Questa funzione è equivalente a preprocesso funzionalità con i parametri indicati
e il file $filename descritto sopra.

esportare($ nomi_funzioni, [$do_unexport])
Questa funzione è equivalente a export funzionalità con i dati $func_names,
descritto sopra. Potrebbe anche non esportare i nomi delle funzioni se il secondo parametro è vero.

I nomi delle funzioni devono essere separati da virgole o/e spazi. Se $ nomi_funzioni is
vuoto quindi le funzioni "Eval" e "." sono assunti.

fermare()
Termina il modulo.

Salta()
Salta il resto del codice di callback dell'evento, ovvero il modulo torna ad ascoltare il nuovo
eventi del modulo

sbloccare()
Desincronizza il callback dell'evento da fvwm. Questo può essere utile per prevenire deadlock,
cioè di solito fvwm uccide il modulo che non risponde se il callback dell'evento non lo è
finito in Timeout modulo secondi. Questo lo impedisce.

Questo esempio fa sì che FvwmPerl sospenda la sua esecuzione per un minuto:

SendModule FvwmPerl eval sblocca(); sonno(60);

Tuttavia, verifica che non sia possibile inviare un nuovo messaggio da fvwm mentre il modulo è attivo
occupato e fvwm rimane bloccato su questo nuovo messaggio per troppo tempo. Vedi anche il DETACH
soluzione se hai bisogno di operazioni di lunga durata.

staccare ()
Forca e scollega il resto del codice di callback dell'evento dal processo principale. Questo potrebbe
essere utile per evitare di uccidere il modulo se la sua richiamata dell'evento dovesse richiedere molto tempo
da completare e può essere fatto nel bambino distaccato. Il bambino distaccato può ancora
inviare comandi a fvwm (non fare affidamento su questo), ma ovviamente non ricevere gli eventi, è
esce immediatamente al termine dell'esecuzione della richiamata.

Se si utilizza staccare (), meglio inviare comandi a fvwm solo in un processo (quello principale o
quello distaccato), fare diversamente può spesso causare conflitti.

mostra_messaggio($msg, $titolo[, $use_stderr_too=1])
Mostra una finestra di dialogo con il messaggio dato, usando lo strumento X che si trova nel
.

See FVWM::Modulo::Toolkit::mostra_messaggio per maggiori informazioni.

VARIABILI


Ci sono diverse variabili globali nel principale spazio dei nomi che può essere utilizzato in perl
codice:

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

Sono tutti inizializzati al valore vuoto e possono essere usati per memorizzare uno stato tra
diverse chiamate alle azioni FvwmPerl (eval ed caricare).

Se hai bisogno di nomi di variabili più leggibili, scrivi "no strict 'vars';" all'inizio di
ogni codice perl o usa un hash per questo, come:

$h{id} = $h{first_name} . " " . $h{secondo_nome}

oppure usa un nome di pacchetto, come:

@MyMenu::terminali = qw( xterm rxvt );
$MioMenu::item_num = @MioMenu::terminali;

Potrebbe esserci un'opzione di configurazione per attivare e disattivare il rigore.

MESSAGGI


FvwmPerl può ricevere messaggi utilizzando il comando fvwm SendToModule. I nomi, i significati e
i parametri dei messaggi sono gli stessi delle azioni corrispondenti, descritte sopra.

Inoltre, un messaggio Stop provoca la chiusura di un modulo.

Un messaggio non esportare [nomi-funzione] annulla l'effetto di export, descritto nelle AZIONI
.

Un messaggio cumulo di rifiuti scarica il contenuto delle variabili modificate (non ancora).

ESEMPI


Una semplice prova:

SendToModule FvwmPerl eval $h{dir} = $ENV{HOME}
SendToModule FvwmPerl eval load($h{dir} . "/test.fpl")
SendToModule FvwmPerl carica $[HOME]/test.fpl
SendToModule FvwmPerl preelabora config.ppp
SendToModule Esporta FvwmPerl Eval, PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl annulla l'esportazione di PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl si interrompe

L'esempio seguente gestisce gli sfondi radice in fvwmrc. Tutti questi comandi possono essere aggiunti
a StartFunction.

Modulo FvwmPerl --export PerlEval

# trova tutte le pixmap di sfondo per un uso successivo
PerlEval $a = $ENV{HOME} . "/bg"; \
opendir DIR, $a; @b = grep { /xpm$/ } readdir(DIR); chiuso DIR

# crea un menu di pixmap di sfondo
AddToMenu MyBackgrounds Titolo "I miei sfondi"
PerlEval per $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Exec fvwm-root $a/$b") }

# scegli uno sfondo casuale da caricare all'avvio
PerlEval cmd("AddToFunc \
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

FUGA


Invia a modulo proprio come qualsiasi altro comando fvwm espande diverse variabili con prefisso in dollari.
Questo potrebbe scontrarsi con i dollari usati da Perl. Puoi evitarlo anteponendo SendToModule
con un trattino iniziale. Le seguenti 2 righe in ciascuna coppia sono equivalenti:

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

SendToModule FvwmPerl valutazione \
cmd("Echo desk=$d, display=$$d")
SendToModule FvwmPerl preprocesso -c \
Banco eco=%("$d")%, display=%{$$d}%

Un'altra soluzione per evitare l'escape di simboli speciali come dollari e barre rovesciate è quella di
crea un file perl in ~/.fvwm e poi caricalo:

SendToModule FvwmPerl carica build-menus.fpl

Se è necessario preelaborare un comando che inizia con un trattino, è necessario precederlo utilizzando
"--".

# questo stampa il banco corrente, cioè "0"
SendToModule FvwmPerl preprocess -c Echo "$%{$a = "c"; ++$a}%"
# questo stampa "$d"
SendToModule FvwmPerl preprocess -c -- -Echo "$%{"d"}%"
# questo stampa "$d" (SendToModule espande $$ a $)
SendToModule FvwmPerl preprocess -c -- -Echo "$$%{"d"}%"
# questo stampa "$$d"
-SendToModule FvwmPerl preprocess -c -- -Echo "$$%{"d"}%"

Ancora una volta, si consiglia di inserire i propri comandi in un file e preelaborare invece il file.

AVVERTENZE


FvwmPerl essendo scritto in perl e avendo a che fare con perl, segue il famoso motto perl:
"C'è più di un modo per farlo", quindi la scelta è tua.

Ecco altre coppie di linee equivalenti:

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

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

Attenzione, potresti influenzare il modo in cui funziona FvwmPerl valutando il codice perl appropriato, questo
è considerata una caratteristica, non un bug. Ma per favore non farlo, scrivi il tuo modulo fvwm
in perl invece.

Usa FvwmPerl online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    SWIG
    SWIG
    SWIG è uno strumento di sviluppo software
    che collega programmi scritti in C e
    C++ con una varietà di alto livello
    linguaggi di programmazione. SWIG è usato con
    diverso...
    Scarica SIG
  • 2
    Tema React di WooCommerce Nextjs
    Tema React di WooCommerce Nextjs
    Tema React WooCommerce, costruito con
    Avanti JS, Webpack, Babel, Node e
    Express, utilizzando GraphQL e Apollo
    Cliente. Negozio WooCommerce a React(
    contiene: Prodotti...
    Scarica il tema WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Repository dei pacchetti per ArchLabs Questo è un file
    applicazione che può anche essere recuperata
    da
    https://sourceforge.net/projects/archlabs-repo/.
    È stato ospitato in OnWorks in...
    Scarica archlabs_repo
  • 4
    Progetto Zefiro
    Progetto Zefiro
    Il progetto Zephyr è una nuova generazione
    sistema operativo in tempo reale (RTOS) che
    supporta più hardware
    architetture. Si basa su a
    kernel a ingombro ridotto...
    Scarica il progetto zephyr
  • 5
    SCons
    SCons
    SCons è uno strumento di costruzione di software
    che è un'alternativa superiore al
    il classico strumento di costruzione "Make" che
    tutti conosciamo e amiamo. SCons è
    implementato un...
    Scarica SCons
  • 6
    PSInt
    PSInt
    PSeInt è un interprete di pseudo-codice per
    studenti di programmazione di lingua spagnola.
    Il suo scopo principale è quello di essere uno strumento per
    imparare e comprendere le basi
    concetto...
    Scarica PSInt
  • Di Più "

Comandi Linux

Ad