InglêsFrancêsEspanhol

Ad


favicon do OnWorks

FvwmPerl - Online na nuvem

Execute o FvwmPerl no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando FvwmPerl que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS

PROGRAMA:

NOME


FvwmPerl - o manipulador e pré-processador perl fvwm

SINOPSE


FvwmPerl deve ser gerado por fvwm(1) para funcionalidade normal.

Para executar este módulo, coloque este comando em algum lugar da configuração:

Módulo FvwmPerl [params]

ou:

MóduloSynchronize FvwmPerl [parâmetros]

se você deseja começar imediatamente a enviar comandos para FvwmPerl.

DESCRIÇÃO


Este módulo tem como objetivo estender os comandos fvwm com o poder de script perl. Habilita
para incorporar expressões perl nos arquivos de configuração fvwm e construir comandos fvwm.

INVOCAÇÃO


Se você deseja invocar a instância única e persistente de FvwmPerl, sugere-se
faça isso do Função Iniciar. Chamar de cima também é possível, mas envolve
algumas questões não discutidas aqui.

AddToFunc StartFunction I Módulo FvwmPerl

Existem várias opções de linha de comando:

FvwmPerlGenericName [ --eval linha ] [ --carga Arquivo ] [ --processo [ --citar Caracteres ] [ --winid wid] [
--cmd ] [ --nosend ] [ --noremove ] [linha | Arquivo ] ] [ --exportar [nomes]] [ --fique ] [
--não feche ] [alias]

Opções longas podem ser abreviadas para opções curtas de uma letra.

-e|--eval linha - avalia o código perl fornecido

-l|--carga arquivo - avalia o código perl no arquivo fornecido

-p|--processo [arquivo] - pré-processa o arquivo de configuração fvwm fornecido

As 5 opções a seguir são válidas apenas em conjunto com --processo opção.

-c|--cmd linha - um comando fvwm a ser pré-processado em vez do arquivo

-q|--citar char - mudar a citação padrão de '%'

-w|--winid wid - definir o contexto da janela explícita (deve começar com um dígito, pode estar em outubro ou
forma hexadecimal; este id de janela sobrescreve o contexto de janela implícito, se houver)

--nosend - não envie o arquivo pré-processado para fvwm para Leiaing, o padrão é enviar.
Útil para pré-processamento de arquivos de configuração não fvwm.

--noremove - não remova o arquivo pré-processado após enviá-lo para fvwm para Leiaing, o
o padrão é remover. Útil para depuração.

-x|--exportar [nomes] - define funções de atalho fvwm (por padrão, duas funções chamadas
"Eval" e "."). Esta opção implica --fique.

-s|--fique - continua uma execução após --eval, --carga or --processo são processados. Por
padrão, o módulo não é persistente neste caso, ou seja, --nostay é assumido.

--não feche - quando uma das 3 opções de ação é fornecida, esta opção causa o desbloqueio fvwm
imediatamente. Por padrão, a ação solicitada é executada de forma síncrona; isso só faz
diferença quando invocado como:

MóduloSynchronous FvwmPerl --preprocess someconfig.ppp

If --não feche é adicionado aqui, Módulo Síncrono retorna imediatamente. Observe que Módulo Retorna
imediatamente, independentemente desta opção.

USANDO ALIAS


Aliases permitem ter várias invocações de módulo e trabalhar separadamente com todas as invocações,
aqui está um exemplo:

MóduloSíncrono 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

PRÉ-PROCESSANDO EXEMPLO


Uma das soluções de proprocessing eficazes é passar toda a configuração fvwm com
código perl incorporado em "FvwmPerl --preprocess". Uma abordagem alternativa é escrever um perl
script que produz comandos fvwm e os envia para execução, este script pode ser carregado
usando "FvwmPerl --load". Existem soluções intermediárias mais recentes que pré-processam apenas
linhas de configuração separadas (ou alternativamente, execute comandos perl separados que
produzir comandos fvwm).

O seguinte trecho de código adiciona capacidade de aritmética e script de string para certos
linhas que precisam disso. Para usar isso, você deseja iniciar FvwmPerl como seu primeiro comando para
que outros comandos podem ser solicitados a serem pré-processados.

MóduloSynchronize FvwmPerl

AddToFunc.
+ I SendToModule FvwmPerl pré-processo -c - $ *

. Exec exec xterm -name xterm -% {++ $ i}% # usa um nome único

. GotoDesk 0% {$ [desk.n] + 1}% # vá para a próxima mesa

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

# centralizar uma janela
Próximo (MyWindow). Jogada \
% {($ WIDTH - $ [w.width]) / 2}% p% {($ HEIGHT - $ [w.height]) / 2}% p

. Exec exec xmessage% {2 + 2}% # calculadora simples

. % {main :: show_message (2 + 2, "Mais uma calculadora"); ""}%

AÇÕES


Existem várias ações que FvwmPerl pode executar:

avaliação código perl
Avalie uma linha de código perl.

Uma função especial cmd ("comando") pode ser usado em código perl para enviar comandos de volta para
vwm.

Se o código perl contiver um erro, ele será impresso no fluxo de erro padrão com o
[FvwmPerl] [eval]: cabeçalho prefixado.

carregar nome do arquivo
Carregue um arquivo de código perl. Se o arquivo não for totalmente qualificado, ele será pesquisado no
diretório do usuário $ FVWM_USERDIR (normalmente ~ / .fvwm) e o diretório de dados de todo o sistema
$ FVWM_DATADIR.

Uma função especial cmd ("comando") pode ser usado em código perl para enviar comandos de volta para
vwm.

Se o código perl contiver um erro, ele será impresso no fluxo de erro padrão com o
[FvwmPerl] [carregar]: cabeçalho prefixado.

pré-processamento [-q | --quote char] [-c | --cmd] [linha | lima]
Pré-processar a configuração do fvwm lima ou (se --cmd for fornecido) linha. Este arquivo contém linhas que
não são tocados (geralmente comandos fvwm) e código perl especialmente pré-formatado que é
processado e substituído. Texto entre %{ ... }% delimitadores, que podem começar em qualquer lugar
na linha e terminar em qualquer lugar na mesma ou em outra linha, está o código perl.

A citar parâmetro altera delimitadores de código perl. Se um único caractere for fornecido, como
'@', os delimitadores são @{ ... }@. Se a citação fornecida for 2 caracteres, como <>, as citações
e guarante que os mesmos estão <{ ... }>

O código perl é substituído pelo resultado de sua avaliação. Ou seja,% {$ a = "c"; ++ $ a}%
é substituído por "d".

A avaliação é diferente avaliação e carregar é feito no pacote PreprocessNamespace
e sem usar rigoroso, então você é livre para usar qualquer nome de variável sem medo de
conflitos. Só não use variáveis ​​não inicializadas para significar undef ou lista vazia (eles
pode ser de fato inicializado pela ação de pré-processo anterior), e fazer uma limpeza se
precisava. As variáveis ​​e funções no principal pacote ainda estão disponíveis, como
::cmd () ou ::pular(), mas simplesmente não é uma boa ideia acessá-los enquanto
pré-processando.

Existe uma função especial incluir(lima) que carrega um arquivo, o pré-processa e
retorna o resultado pré-processado. Evite a recursão.

Se qualquer código perl embutido contiver um erro, ele será impresso com o erro padrão
stream e prefixado com o [FvwmPerl] [pré-processo]: cabeçalho. O resultado de
a substituição está vazia neste caso.

As seguintes variáveis ​​podem ser usadas no código perl:

$ USER, $ DISPLAY, $ WIDTH, $ HEIGHT, $ FVWM_VERSION, $ FVWM_MODULEDIR, $ FVWM_DATADIR,
$ FVWM_USERDIR

As seguintes diretivas baseadas em linha são reconhecidas durante o pré-processamento. Eles são
processado após o código perl (se houver) ser substituído.

%repetição contar
Faz com que as seguintes linhas sejam repetidas contar vezes.

%MóduloConfig nome do módulo [ destruir ]
Faz com que as linhas a seguir sejam interpretadas como a configuração de módulo fornecida. Se
"destroy" é especificado, a configuração do módulo anterior é destruída primeiro.

%Prefixo prefixo
Prefixa as seguintes linhas com aspas prefixo.

%Terminar qualquer comentário opcional
Termina qualquer uma das diretivas descritas acima, pode ser aninhado.

Exemplos:

% Prefixo "AddToFunc SwitchToWindow I"
Iconificar desativado
WindowShade desligado
Aumentar
WarpToWindow 50 50
%Fim

% ModuleConfig FvwmPager destroy
Conjunto de cores 0
Fonte lucidasans-10
DeskTop Escala 28
Miniícones
% End ModuleConfig FvwmPager

% Prefixo "All (MyWindowToAnimate) ResizeMove"
100 100% {($ WIDTH - 100) / 2}%% {($ HEIGHT - 100) / 2}%
% Repetir% {$ count}%
br w + 2c w + 2c w-1c w-1c
%Fim
% Repetir% {$ count}%
br w-2c w-2c w + 1c w + 1c
%Fim
% End Prefix

Parâmetros de pré-processamento adicionais --nosend e --noremove também podem ser fornecidos. Ver o
descrição no topo.

exportar [nomes de funções]
Enviar para o fvwm a definição de funções de atalho que ajudam a ativar diferentes
ações do módulo (ou seja, avaliação, carregar e pré-processamento).

Nomes de funções (nomes de funções) podem ser separados por vírgulas e / e espaços em branco. Por padrão,
duas funções "Eval" e "." São assumidos.

A ação real definida em uma função é adivinhada a partir do nome da função, se possível,
onde o nome da função "." está reservado para pré-processamento ação.

Por exemplo, qualquer um desses dois comandos fvwm

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

definir as duas funções de atalho a seguir:

DestruirFunc PerlEval
AddToFunc I SendToModule MyPerl eval $ *
DestruirFunc PP
AddToFunc I SendToModule MyPerl pré-processo -c - $ *

Essas 4 ações podem ser solicitadas de uma das 3 maneiras: 1) na linha de comando quando FvwmPerl é
invocado (neste caso, FvwmPerl tem vida curta, a menos que --fique or --exportar também é fornecido), 2)
enviando a mensagem correspondente na configuração fvwm usando SendToModule, 3) chamando o
função perl correspondente no código perl.

FUNÇÕES


Existem várias funções que o código perl pode chamar:

cmd ($ fvwm_command)
No caso de avaliação or carregar - enviar de volta para fvwm uma string $ fvwm_command. No caso de
pré-processamento - anexar uma string $ fvwm_command para a saída do código perl embutido.

do_eval ($ perl_code)
Esta função é equivalente ao avaliação funcionalidade na corda $ perl_code,
descrito acima.

carga($ filename)
Esta função é equivalente ao carregar funcionalidade no arquivo $ filename, descrito
acima.

pré-processamento (@params, ["-c $ command "] [$ filename])
Esta função é equivalente ao pré-processamento funcionalidade com os parâmetros fornecidos
e o arquivo $ filename descrito acima.

exportar($ func_names, [$ do_unexport])
Esta função é equivalente ao exportar funcionalidade com os $ func_names fornecidos,
descrito acima. Pode também não exportar os nomes das funções se o segundo parâmetro for verdadeiro.

Os nomes das funções devem ser separados por vírgulas e / e espaços em branco. Se $ func_names is
vazio, em seguida, funções "Eval" e "." São assumidos.

Pare()
Termina o módulo.

pular()
Ignora o resto do código de retorno de chamada do evento, ou seja, o módulo retorna para ouvir novos
eventos do módulo.

desbloquear ()
Cancela a sincronização do retorno de chamada do evento de fvwm. Isso pode ser útil para evitar bloqueios,
ou seja, geralmente fvwm mata o módulo que não responde se o retorno de chamada do evento não for
Terminando em Tempo limite do módulo segundos. Isso evita isso.

Este exemplo faz com que FvwmPerl suspenda sua execução por um minuto:

SendModule FvwmPerl eval unlock (); dormir(60);

No entanto, verifique se não há nenhuma maneira de uma nova mensagem ser enviada por fvwm enquanto o módulo está
ocupado e fvwm permanece bloqueado nesta nova mensagem por muito tempo. Veja também o desanexar
solução se você precisa de operações de longa duração.

separar ()
Forks e desanexa o resto do código de retorno de chamada do evento do processo principal. Isso pode
ser útil para evitar matar o módulo se seu retorno de evento demorar muito tempo
para ser concluído e pode ser feito na criança destacada. A criança separada ainda pode
envia comandos para fvwm (não confie nisso), mas não receba os eventos, é claro,
sai imediatamente após o término da execução do retorno de chamada.

Se você usar separar (), melhor apenas enviar comandos para fvwm em um processo (o principal ou
o destacado), fazer o contrário pode frequentemente causar conflitos.

Mostrar mensagem($ msg, $ title [, $ use_stderr_too = 1])
Mostra uma janela de diálogo com a mensagem dada, usando qualquer ferramenta X encontrada no
sistema.

See FVWM :: Módulo :: Toolkit::Mostrar mensagem para obter mais informações.

VARIÁVEIS


Existem várias variáveis ​​globais no principal namespace que pode ser usado no perl
código:

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

Todos eles são inicializados com o valor vazio e podem ser usados ​​para armazenar um estado entre
diferentes chamadas para ações FvwmPerl (avaliação e carregar).

Se você precisar de nomes de variáveis ​​mais legíveis, escreva "no strict 'vars';" No começo de
cada código perl ou use um hash para isso, como:

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

ou use um nome de pacote, como:

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

Pode haver uma opção de configuração para ativar e desativar a rigidez.

MENSAGENS


FvwmPerl pode receber mensagens usando o comando fvwm SendToModule. Os nomes, significados e
os parâmetros das mensagens são os mesmos das ações correspondentes, descritas acima.

Além disso, uma mensagem Pare faz com que um módulo seja encerrado.

Uma mensagem não exportar [nomes de funções] desfaz o efeito de exportar, descrito nas AÇÕES
seção.

Uma mensagem despejar despeja o conteúdo das variáveis ​​alteradas (ainda não).

EXEMPLOS


Um teste simples:

SendToModule FvwmPerl eval $ h {dir} = $ ENV {HOME}
SendToModule FvwmPerl eval load ($ h {dir}. "/Test.fpl")
SendToModule FvwmPerl load $ [HOME] /test.fpl
SendToModule FvwmPerl pré-processamento config.ppp
SendToModule FvwmPerl export Eval, PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl não exportar PerlEval, PerlLoad, PerlPP
Parada de SendToModule FvwmPerl

O exemplo a seguir trata dos planos de fundo raiz em fvwmrc. Todos esses comandos podem ser adicionados
para StartFunction.

Módulo FvwmPerl --export PerlEval

# encontre todos os pixmaps de fundo para um uso posterior
PerlEval $ a = $ ENV {HOME}. "/ bg"; \
opendir DIR, $ a; @b = grep {/ xpm $ /} readdir (DIR); closedir DIR

# constrói um menu de pixmaps de fundo
AddToMenu MyBackgrounds Título "Meus Planos de Fundo"
PerlEval foreach $ b (@b) \
{cmd ("AddToMenu MyBackgrounds '$ b' Exec fvwm-root $ a / $ b")}

# escolha um fundo aleatório para carregar na inicialização
PerlEval cmd ("AddToFunc \
InitFunction + I Exec exec fvwm-root $ a / ". $ B [int (random (@b))])

ESCAPANDO


Enviar para módulo assim como qualquer outro comando fvwm, expande várias variáveis ​​prefixadas em dólar.
Isso pode colidir com os dólares que o perl usa. Você pode evitar isso prefixando SendToModule
com um traço principal. As 2 linhas a seguir em cada par são equivalentes:

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

Avaliação SendToModule FvwmPerl \
cmd ("Mesa de eco = $ d, display = $$ d")
SendToModule FvwmPerl pré-processamento -c \
Mesa de eco =% ("$ d")%, display =% {$$ d}%

Outra solução para evitar o escape de símbolos especiais como dólares e barras invertidas é
criar um arquivo perl em ~ / .fvwm e carregue-o:

SendToModule FvwmPerl carrega build-menus.fpl

Se você precisar pré-processar um comando começando com um traço, deve precedê-lo usando
"-".

# isso imprime a mesa atual, ou seja, "0"
SendToModule FvwmPerl pré-processo -c Eco "$% {$ a =" c "; ++ $ a}%"
# isso imprime "$ d"
SendToModule FvwmPerl pré-processo -c - -Echo "$% {" d "}%"
# isso imprime "$ d" (SendToModule expande $$ para $)
SendToModule FvwmPerl pré-processo -c - -Echo "$$% {" d "}%"
# isso imprime "$$ d"
-SendToModule FvwmPerl pré-processo -c - -Echo "$$% {" d "}%"

Novamente, é sugerido colocar seu (s) comando (s) em arquivo e pré-processar o arquivo.

RESSALVAS


FvwmPerl sendo escrito em perl e lidando com perl, segue o famoso lema do perl:
“Há mais de uma maneira de fazer isso”, então a escolha é sua.

Aqui estão mais pares de linhas equivalentes:

Módulo FvwmPerl --load "my.fpl" --stay
Módulo FvwmPerl -e 'load ("my.fpl")' -s

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

Aviso, você pode afetar a forma como FvwmPerl funciona avaliando o código perl apropriado, este
é considerado um recurso, não um bug. Mas, por favor, não faça isso, escreva seu próprio módulo fvwm
em perl.

Use FvwmPerl online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    GOLE
    GOLE
    SWIG é uma ferramenta de desenvolvimento de software
    que conecta programas escritos em C e
    C ++ com uma variedade de alto nível
    linguagens de programação. SWIG é usado com
    diferente...
    Baixar SWIG
  • 2
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Tema React WooCommerce, construído com
    Próxima JS, Webpack, Babel, Node e
    Express, usando GraphQL e Apollo
    Cliente. Loja WooCommerce em React(
    contém: Produtos...
    Baixe o tema WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Repositório de pacotes para ArchLabs Este é um
    aplicativo que também pode ser obtido
    da
    https://sourceforge.net/projects/archlabs-repo/.
    Ele foi hospedado no OnWorks em...
    Baixar archlabs_repo
  • 4
    Projeto Zephyr
    Projeto Zephyr
    O Projeto Zephyr é uma nova geração
    sistema operacional em tempo real (RTOS) que
    suporta vários hardwares
    arquiteturas. É baseado em um
    kernel de pequena pegada ...
    Baixar Projeto Zephyr
  • 5
    SCons
    SCons
    SCons é uma ferramenta de construção de software
    essa é uma alternativa superior ao
    clássica ferramenta de construção "Make" que
    todos nós conhecemos e amamos. SCons é
    implementou um ...
    Baixar SCons
  • 6
    PSeIntGenericName
    PSeIntGenericName
    PSeInt é um interpretador de pseudo-código para
    alunos de programação que falam espanhol.
    Seu principal objetivo é ser uma ferramenta para
    aprender e compreender o básico
    concep ...
    Baixar PSeInt
  • Mais "

Comandos Linux

Ad