İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

FvwmPerl - Bulutta Çevrimiçi

FvwmPerl'i Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen FvwmPerl komutudur.

Program:

ADI


FvwmPerl - fvwm Perl manipülatörü ve ön işlemcisi

SİNOPSİS


FvwmPerl tarafından oluşturulmalıdır fvwm(1) normal işlevsellik için.

Bu modülü çalıştırmak için bu komutu konfigürasyonda bir yere yerleştirin:

Modül FvwmPerl [paramlar]

ya da alışveriş sepetinize tıklayın:

ModuleSynchronize FvwmPerl [paramlar]

FvwmPerl'e hemen komut göndermeye başlamak istiyorsanız.

TANIM


Bu modül, perl komut dosyası oluşturma gücü ile fvwm komutlarını genişletmek için tasarlanmıştır. sağlar
fvwm yapılandırma dosyalarına perl ifadelerini gömmek ve fvwm komutları oluşturmak için.

ÇAĞRI


FvwmPerl'in benzersiz ve kalıcı örneğini çağırmak istiyorsanız, şunu yapmanız önerilir:
bunu şuradan yap Başlat İşlevi. Yukarıdan aramak da mümkündür, ancak şunları içerir:
burada tartışılmayan bazı konular.

AddToFunc StartFunction I Modülü FvwmPerl

Birkaç komut satırı anahtarı vardır:

FvwmPerl [ --eval hat ] [ --yük dosya ] [ --önişlem [ --alıntı karakter ] [ --winid geniş ] [
--cmd ] [ --gönderi yok ] [ --nremove ] [ satır | dosya ] ] [ --ihracat [isimler] ] [ --kalmak ] [
--kilit yok ] [ takma ad ]

Uzun anahtarlar, kısa tek harfli anahtarlar olarak kısaltılabilir.

-e|--eval satır - verilen Perl kodunu değerlendirin

-l|--yük file - verilen dosyadaki Perl kodunu değerlendirin

-p|--önişlem [ dosya ] - verilen fvwm yapılandırma dosyasını önceden işleyin

Aşağıdaki 5 seçenek yalnızca aşağıdakilerle birlikte geçerlidir: --önişlem seçeneği.

-c|--cmd satır - dosya yerine önceden işlenecek bir fvwm komutu

-q|--alıntı char - varsayılan '%' alıntısını değiştir

-w|--winid wid - açık pencere bağlamını ayarla (rakamla başlamalı, ekim veya
altıgen biçim; bu pencere kimliği, varsa örtük pencere bağlamının üzerine yazar)

--gönderi yok - önceden işlenmiş dosyayı göndermeyin fvwm için Okumaking, varsayılan göndermedir.
fvwm olmayan yapılandırma dosyalarının ön işlemesi için kullanışlıdır.

--nremove - önceden işlenmiş dosyayı gönderdikten sonra kaldırmayın fvwm için Okumaking,
varsayılan kaldırmaktır. Hata ayıklama için kullanışlıdır.

-x|--ihracat [isimler] - fvwm kısayol işlevlerini tanımlayın (varsayılan olarak, adlandırılmış iki işlev
"Değerlendirme" ve "."). Bu seçenek şu anlama gelir: --kalmak.

-s|--kalmak - sonra bir yürütmeye devam eder --eval, --yük or --önişlem işlem görüyor. Tarafından
varsayılan, modül bu durumda kalıcı değildir, yani --kalma kabul edilir.

--kilit yok - 3 eylem seçeneğinden biri verildiğinde, bu seçenek kilidin açılmasına neden olur fvwm
hemen. Varsayılan olarak istenen eylem eşzamanlı olarak yürütülür; bu sadece yapar
gibi çağrıldığında fark:

ModülEşzamanlı FvwmPerl --preprocess someconfig.ppp

If --kilit yok buraya eklenir, ModülSenkronize hemen döner. Bunu not et modül İade
Bu seçenekten bağımsız olarak hemen.

KULLANMA ALIAS


Takma adlar, birkaç modül çağrısına izin verir ve tüm çağrılarla ayrı ayrı çalışır,
işte bir örnek:

ModülSenkronize FvwmPerl FvwmPerl-JustTest
SendToModule FvwmPerl-JustTest değerlendirme $a = 2 + 2; $b = $a
SendToModule FvwmPerl-JustTest değerlendirme cmd("Echo 2 + 2 = $b")
KillModule FvwmPerl FvwmPerl-JustTest

ÖN İŞLEME ÖRNEK


Etkili proprocessing çözümlerinden biri, tüm fvwm konfigürasyonunu ile geçmektir.
Perl kodunu "FvwmPerl --preprocess" içine gömdü. Alternatif bir yaklaşım, bir perl yazmaktır.
fvwm komutları üreten ve yürütme için gönderen komut dosyası, bu komut dosyası yüklenebilir
"FvwmPerl --load" kullanarak. Ancak yalnızca ön işlemden geçen ara çözümler vardır.
ayrı yapılandırma satırları (veya alternatif olarak, ayrı Perl komutları yürütün)
fvwm komutları üretin).

Aşağıdaki kod parçacığı, aritmetik ve dize komut dosyası oluşturma yeteneği ekler.
buna ihtiyacı olan hatlar. Bunu kullanmak için, ilk komutunuz olarak FvwmPerl'i başlatmak istiyorsunuz, bu nedenle
diğer komutların önceden işlenmesi istenebilir.

ModülSenkronize Et FvwmPerl

AddToFunc .
+ SendToModule FvwmPerl ön işlemi -c -- $*

. Exec exec xterm -name xterm-%{++$i}% # benzersiz ad kullan

. GotoDesk 0 %{ $[desk.n] + 1 }% # sonraki masaya git

. Yürütme yürütme %{ -x "/usr/bin/X11/aterm" ? "aterm" : "xterm" }% -sb

# pencereyi ortala
Sonraki (MyWindow) . Hareket \
%{($WIDTH - $[w.width]) / 2}%p %{($HEIGHT - $[w.height]) / 2}%p

. Exec exec xmessage %{2 + 2}% # basit hesap makinesi

. %{main::show_message(2 + 2, "Yine başka bir Hesap Makinesi"); ""}%

EYLEMLER


FvwmPerl'in gerçekleştirebileceği birkaç eylem vardır:

değerlendirme perl kodu
Perl kodunun bir satırını değerlendirin.

Özel bir işlev cmd("emretmek") komutları geri göndermek için perl kodunda kullanılabilir
fvwm.

Perl kodu bir hata içeriyorsa, standart hata akışına yazdırılır.
[FvwmPerl][değerlendirme]: başlık eklendi.

yük dosya adı
Bir perl kodu dosyası yükleyin. Dosya tam olarak nitelikli değilse, şurada aranır:
kullanıcı dizini $FVWM_USERDIR (genellikle ~/.fvwm) ve sistem çapında veri dizini
$FVWM_DATADIR.

Özel bir işlev cmd("emretmek") komutları geri göndermek için perl kodunda kullanılabilir
fvwm.

Perl kodu bir hata içeriyorsa, standart hata akışına yazdırılır.
[FvwmPerl][yükle]: başlık eklendi.

önişleyebilir [-q|--alıntı karakter] [-c|--cmd] [hat | dosya]
Önişleme fvwm yapılandırması dosya veya (eğer --cmd verilirse) hat. Bu dosya şu satırları içerir:
dokunulmaz (genellikle fvwm komutları) ve özel olarak önceden biçimlendirilmiş perl kodu
işlenir ve değiştirilir. İçindeki metin %{ ... }% herhangi bir yerden başlayabilen sınırlayıcılar
satırda ve aynı veya başka bir satırda herhangi bir yerde son, perl kodudur.

The alıntı yapmak parametre, Perl kodu sınırlayıcılarını değiştirir. Tek bir karakter verilirse, örneğin
'@', sınırlayıcılar @{ ... }@. Verilen alıntı 2 karakter ise, <>, alıntılar
vardır <{ ... }>

Perl kodu, değerlendirmesinin sonucu ile değiştirilir. Yani %{$a = "c"; ++$a}%
"d" ile değiştirilir.

Değerlendirme farklı değerlendirme ve yük PreprocessNamespace paketi altında yapılır
Ve olmadan kullanım sıkı, böylece herhangi bir değişken adını korkmadan kullanmakta özgürsünüz.
çatışmalar Undef veya boş listeyi ifade etmek için başlatılmamış değişkenleri kullanmayın (bunlar
aslında önceki ön işlem eylemi tarafından başlatılabilir) ve eğer varsa bir temizlik yapın.
gerekli. Değişkenler ve fonksiyon ana paket hala mevcut, gibi
::cmd() veya ::atlamak(), ancak bunlara erişmek iyi bir fikir değil
ön işleme.

özel bir işlevi var dahil(dosya) bir dosyayı yükleyen, onu önişleyen ve
önceden işlenmiş sonucu döndürür. Özyinelemeden kaçının.

Herhangi bir gömülü Perl kodu bir hata içeriyorsa, standart hataya yazdırılır
akışı ve ile başa [FvwmPerl][önişlem]: başlık. Sonucu
bu durumda ikame boştur.

Perl kodunda aşağıdaki değişkenler kullanılabilir:

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

Aşağıdaki satır tabanlı yönergeler ön işleme sırasında tanınır. Onlar
perl kodu (varsa) değiştirildikten sonra işlenir.

%Tekrar et saymak
Aşağıdaki satırların tekrarlanmasına neden olur saymak kez.

%ModülKonfigürasyonu Modül Adı [ tahrip etmek ]
Aşağıdaki satırların verilen modül konfigürasyonu olarak yorumlanmasına neden olur. Eğer
"destroy" belirtilirse, önce önceki modül konfigürasyonu yok edilir.

%Önek önek
Aşağıdaki satırları alıntı ile önekler önek.

%Son herhangi bir isteğe bağlı-yorum
Yukarıda açıklanan yönergelerden herhangi birini bitirir, iç içe olabilir.

Örnekler:

%Önek "AddToFunc SwitchToWindow I"
Simgeleştir kapalı
Pencere Gölgesi kapalı
Yükseltmek
WarpToWindow 50 50
%Son

%ModuleConfig FvwmPager yok et
Renk Kümesi 0
Yazı tipi lucidasans-10
Masa ÜstüÖlçek 28
Mini Simgeler
%End ModuleConfig FvwmPager

%Öneki "Tümü (MyWindowToAnimate) ResizeMove"
100 %100{($WIDTH - 100) / %2} %{($HEIGHT - 100) / %2}
%Tekrar %{$count}%
br w+2c w+2c w-1c w-1c
%Son
%Tekrar %{$count}%
br w-2c w-2c w+1c w+1c
%Son
%Bitiş Öneki

Ek önişlem parametreleri --nosend ve --noremove de verilebilir. Bkz.
açıklama üstte.

ihracat [işlev adları]
Gönder fvwm farklı işlevleri etkinleştirmeye yardımcı olan kısayol işlevlerinin tanımı
modülün eylemleri (örn. değerlendirme, yük ve önişleyebilir).

İşlev adları (işlev adları) virgül ve/veya boşluk ile ayrılabilir. Varsayılan olarak,
iki işlev "Değerlendirme" ve "." varsayılır.

Bir fonksiyonda tanımlanan fiili eylem, mümkünse fonksiyon adından tahmin edilir,
nerede işlev adı "." için ayrılmıştır önişleyebilir eylem.

Örneğin, bu iki fvwm komutundan herhangi biri

SendToModule MyPerl dışa aktarma PerlEval,PP
FvwmPerl --PerlEval'i dışa aktar,PP MyPerl

aşağıdaki iki kısayol işlevini tanımlayın:

DestroyFunc PerlEval
AddToFunc I SendToModule MyPerl değerlendirmesi $*
DestroyFunc PP
AddToFunc I SendToModule MyPerl ön işlemi -c -- $*

Bu 4 eylem 3 yoldan biriyle istenebilir: 1) FvwmPerl olduğunda komut satırında
çağrılır (bu durumda FvwmPerl kısa ömürlüdür --kalmak or --ihracat da verilir), 2)
fvwm config içinde SendToModule kullanarak ilgili mesajı göndererek, 3)
perl kodunda karşılık gelen perl işlevi.

FONKSİYONLAR


Perl kodunun çağırabileceği birkaç fonksiyon vardır:

cmd($fvwm_komutu)
Durumlarda değerlendirme or yük - fvwm'ye bir dize geri gönder $fvwm_komutu. Durumunda
önişleyebilir - bir dize ekle $fvwm_komutu gömülü Perl kodunun çıktısına.

do_eval($ perl_code)
Bu fonksiyon şuna eşdeğerdir: değerlendirme dizideki işlevsellik $ perl_code,
Yukarıda tarif edilen.

yük($dosya adı)
Bu fonksiyon şuna eşdeğerdir: yük $filename dosyasındaki işlevsellik, açıklanan
yukarıdaki.

önişlem(@paramlar, ["-C $komut"] [$dosyaadı])
Bu fonksiyon şuna eşdeğerdir: önişleyebilir verilen parametrelerle işlevsellik
ve yukarıda açıklanan $filename dosyası.

ihracat($işlev_adları, [$do_unexport])
Bu fonksiyon şuna eşdeğerdir: ihracat verilen $func_names ile işlevsellik,
Yukarıda tarif edilen. Ayrıca olabilir ihraç etmemek ikinci parametre doğruysa işlev adları.

İşlev adları virgülle ve/veya boşlukla ayrılmalıdır. Eğer $işlev_adı is
boş sonra "Değerlendirme" ve "." varsayılır.

Dur()
Modülü sonlandırır.

atlamak()
Olay geri arama kodunun geri kalanını atlar, yani modül yenileri dinlemek için geri döner.
modül olayları.

Kilidini aç()
fvwm'den olay geri aramasının senkronizasyonunu kaldırır. Bu kilitlenmeleri önlemek için yararlı olabilir,
yani olay geri çağrısı değilse, genellikle fvwm yanıt vermeyen modülü öldürür
bitirdi ModülZaman Aşımı saniye. Bu onu engeller.

Bu örnek, FvwmPerl'in yürütmesini bir dakika süreyle askıya almasına neden olur:

SendModule FvwmPerl değerlendirme kilidi(); uyku(60);

Ancak, modül çalışırken fvwm tarafından yeni bir mesaj gönderilmediğini doğrulayın.
meşgul ve fvwm bu yeni mesajda çok uzun süre kilitli kalıyor. Ayrıca bkz. DETACH
Uzun süreli operasyonlara ihtiyacınız varsa çözüm.

detach ()
Olay geri arama kodunun geri kalanını ana işlemden çatallar ve ayırır. Bu olabilir
olay geri çağrısı uzun zaman alırsa, modülün öldürülmesini önlemek için faydalı olabilir
tamamlamak için ve müstakil çocukta yapılabilir. Ayrılan çocuk hala
fvwm'ye komutlar gönderin (buna güvenmeyin), ancak elbette olayları almayın,
geri arama yürütmesi tamamlandıktan hemen sonra çıkar.

Eğer kullanıyorsanız detach (), komutları yalnızca bir işlemde fvwm'ye göndermek daha iyidir (ana işlem veya
kopuk olan), aksini yapmak çoğu zaman çatışmalara neden olabilir.

mesaj_göster($msg, $başlık[, $use_stderr_too=1])
İçinde bulunan X aracını kullanarak, verilen mesajla bir iletişim penceresi gösterir.
sistem.

Yerimizi FVWM::Modül::Araç Seti::show_message daha fazla bilgi için.

DEĞİŞKENLER


içinde birkaç global değişken vardır. ana perl'de kullanılabilecek ad alanı
Kod:

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

Hepsi boş değere başlatılır ve arasında bir durumu saklamak için kullanılabilir.
FvwmPerl eylemlerine farklı çağrılar (değerlendirme ve yük).

Daha okunabilir değişken adlarına ihtiyacınız varsa, ya "no strict 'vars';" yazın. başlangıcında
her Perl kodu veya bunun için bir karma kullanın, örneğin:

$h{id} = $h{first_name} . " " . $h{ikinci_adı}

veya aşağıdaki gibi bir paket adı kullanın:

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

Katılığı açıp kapatmak için bir yapılandırma seçeneği olabilir.

MESAJLARI


FvwmPerl, SendToModule fvwm komutunu kullanarak iletileri alabilir. İsimleri, anlamları ve
mesajların parametreleri, yukarıda açıklanan karşılık gelen eylemlerle aynıdır.

Ek olarak, bir mesaj durdurmak modülün kapanmasına neden olur.

Bir mesaj ihraç etmemek [işlev adları] etkisini geri alır ihracatEYLEMLER bölümünde açıklanan
Bölüm.

Bir mesaj dökmek değiştirilen değişkenlerin içeriğini atar (henüz değil).

ÖRNEKLER


Basit bir test:

SendToModule FvwmPerl değerlendirme $h{dir} = $ENV{HOME}
SendToModule FvwmPerl değerlendirme yükü($h{dir} . "/test.fpl")
SendToModule FvwmPerl yüklemesi $[HOME]/test.fpl
SendToModule FvwmPerl önişleme config.ppp
SendToModule FvwmPerl dışa aktarma Eval,PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl'i dışa aktarma PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl durağı

Aşağıdaki örnek, fvwmrc'deki kök arka planları işler. Tüm bu komutlar eklenebilir
StartFunction'a.

Modül FvwmPerl --export PerlEval

# daha sonra kullanmak üzere tüm arka plan piksel haritalarını bul
PerlEval $a = $ENV{HOME} . "/bg"; \
opendir DIR, $a; @b = grep { /xpm$/ } readdir(DIR); Closedir DIR

# arka plan piksel haritalarından oluşan bir menü oluşturun
AddToMenu MyBackgrounds "Arka Planlarım" Başlığı
PerlEval foreach $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Yürütme fvwm-root $a/$b") }

# başlangıçta yüklemek için rastgele bir arka plan seçin
PerlEval cmd("AddToFunc\
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

KAÇIŞ


Modüle Gönder tıpkı diğer fvwm komutları gibi birkaç dolar önekli değişkeni genişletir.
Bu, perl'in kullandığı dolarlarla çatışabilir. SendToModule ön ekini ekleyerek bundan kaçınabilirsiniz.
önde gelen bir çizgi ile. Her çiftte aşağıdaki 2 satır eşdeğerdir:

SendToModule FvwmPerl değerlendirme $$d = "$[EKRAN]"
-SendToModule FvwmPerl değerlendirme $d = "$ENV{EKRAN}"

SendToModule FvwmPerl değerlendirmesi \
cmd("Yankı masası=$d, görüntü=$$d")
SendToModule FvwmPerl ön işlemi -c \
Yankı masası=%("$d")%, ekran=%{$$d}%

Dolar ve ters eğik çizgi gibi özel sembollerin kaçmasını önlemek için başka bir çözüm
içinde bir perl dosyası oluşturun ~/.fvwm ve sonra yükleyin:

SendToModule FvwmPerl yükleme build-menus.fpl

Kısa çizgi ile başlayan bir komutu önceden işlemeniz gerekiyorsa, ondan önce şunu kullanmalısınız:
"--".

# bu, geçerli masayı yazdırır, yani "0"
SendToModule FvwmPerl önişleme -c Echo "$%{$a = "c"; ++$a}%"
# bu "$d" yazdırır
SendToModule FvwmPerl ön işlemi -c -- -Echo "$%{"d"}%"
# bu "$d" yazdırır (SendToModule $$'ı $'a genişletir)
SendToModule FvwmPerl ön işlemi -c -- -Echo "$$%{"d"}%"
# bu "$$d" yazdırır
-SendToModule FvwmPerl ön işlemi -c -- -Echo "$$%{"d"}%"

Yine, komutlarınızı dosyaya koymanız ve bunun yerine dosyayı önceden işlemeniz önerilir.

UYARILAR


FvwmPerl'in perl ile yazılması ve perl ile ilgilenmesi, ünlü perl sloganını takip eder:
"Bunu yapmanın birden fazla yolu var", yani seçim sizin.

İşte daha fazla eşdeğer satır çifti:

Modül FvwmPerl -- "my.fpl" yükleyin --stay
Modül FvwmPerl -e 'load("my.fpl")' -s

SendToModule FvwmPerl ön işlemi --quote '@' my.ppp
SendToModule FvwmPerl değerlendirme ön işlemi({quote => '@'}, "my.ppp");

Uyarı, uygun Perl kodunu değerlendirerek FvwmPerl'in çalışma şeklini etkileyebilirsiniz, bu
bir hata değil bir özellik olarak kabul edilir. Ama lütfen bunu yapmayın, kendi fvwm modülünüzü yazın
bunun yerine perl'de.

Onworks.net hizmetlerini kullanarak FvwmPerl'i çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    yudum
    yudum
    SWIG bir yazılım geliştirme aracıdır
    C ile yazılmış programları birbirine bağlayan ve
    Çeşitli yüksek seviyeli C++
    Programlama dilleri. SWIG ile birlikte kullanılır
    farklı...
    SWIG'i indirin
  • 2
    WooCommerce Nextjs Tepki Tepkisi
    WooCommerce Nextjs Tepki Tepkisi
    İle oluşturulmuş React WooCommerce teması
    Sonraki JS, Webpack, Babel, Node ve
    GraphQL ve Apollo kullanarak Express
    Müşteri. React'te WooCommerce Mağazası(
    içerir: Ürünler...
    WooCommerce Nextjs React Temasını İndirin
  • 3
    arşiv_repo
    arşiv_repo
    ArchLabs için paket deposu Bu bir
    ayrıca alınabilen uygulama
    itibaren
    https://sourceforge.net/projects/archlabs-repo/.
    OnWorks'te barındırılan...
    archlabs_repo'yu indirin
  • 4
    Zephyr Projesi
    Zephyr Projesi
    Zephyr Projesi yeni nesildir
    gerçek zamanlı işletim sistemi (RTOS)
    birden fazla donanımı destekler
    mimariler. Bir
    az yer kaplayan çekirdek...
    Zephyr Projesini İndirin
  • 5
    SCon'lar
    SCon'lar
    SCons bir yazılım oluşturma aracıdır
    bu daha üstün bir alternatif
    klasik "Yap" oluşturma aracı
    hepimiz biliyoruz ve seviyoruz. SCons (şimdiki değeri)
    uygulanmış...
    SCons'u İndirin
  • 6
    PSeInt
    PSeInt
    PSeInt, aşağıdakiler için bir sözde kod yorumlayıcısıdır.
    ispanyolca konuşan programlama öğrencileri.
    Temel amacı, bir araç olmaktır.
    temel bilgileri öğrenmek ve anlamak
    konsept...
    PSeInt'i indirin
  • Daha fazla »

Linux komutları

Ad