EnglishFrenchSpanyol

Ad


Favicon OnWorks

FvwmPerl - Dalam Talian di Awan

Jalankan FvwmPerl dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan FvwmPerl yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


FvwmPerl - manipulator dan prapemproses fvwm perl

SINOPSIS


FvwmPerl harus dicetuskan oleh fvwm(1) untuk kefungsian biasa.

Untuk menjalankan modul ini, letakkan arahan ini di suatu tempat dalam konfigurasi:

Modul FvwmPerl [params]

atau:

ModuleSynchronize FvwmPerl [params]

jika anda ingin segera mula menghantar arahan kepada FvwmPerl.

DESCRIPTION


Modul ini bertujuan untuk melanjutkan perintah fvwm dengan kuasa skrip perl. Ia membolehkan
untuk membenamkan ungkapan perl dalam fail konfigurasi fvwm dan membina arahan fvwm.

INVOKASI


Jika anda ingin menggunakan contoh FvwmPerl yang unik dan berterusan, adalah dicadangkan untuk
lakukan ini daripada StartFunction. Memanggilnya dari atas juga mungkin, tetapi melibatkan
beberapa isu yang tidak dibincangkan di sini.

AddToFunc StartFunction I Modul FvwmPerl

Terdapat beberapa suis baris arahan:

FvwmPerl [ --eval baris ] [ --muat fail ] [ --praproses [ --petikan watak ] [ --winid lebar ] [
--cmd ] [ --hidung ] [ --nomove ] [ baris | fail ] ] [ --eksport [nama] ] [ --tinggal ] [
--nolock ] [ alias ]

Suis panjang boleh disingkatkan kepada suis satu huruf pendek.

-e|--eval baris - nilaikan kod perl yang diberikan

-l|--muat fail - nilaikan kod perl dalam fail yang diberikan

-p|--praproses [ fail ] - praproses fail konfigurasi fvwm yang diberikan

5 pilihan berikut hanya sah bersama-sama dengan --praproses pilihan.

-c|--cmd baris - arahan fvwm untuk dipraproses bukannya fail

-q|--petikan char - tukar petikan '%' lalai

-w|--winid wid - tetapkan konteks tetingkap eksplisit (harus bermula dengan digit, mungkin dalam okt atau
bentuk hex; id tetingkap ini menimpa konteks tetingkap tersirat jika ada)

--hidung - jangan hantar fail yang telah diproses ke fvwm Untuk Bacadalam, lalai ialah hantar.
Berguna untuk pramemproses fail konfigurasi bukan fvwm.

--nomove - jangan keluarkan fail yang telah diproses selepas menghantarnya ke fvwm Untuk Bacaing, yang
lalai adalah alih keluar. Berguna untuk nyahpepijat.

-x|--eksport [nama] - tentukan fungsi pintasan fvwm (secara lalai, dua fungsi dinamakan
"Eval" dan "."). Pilihan ini membayangkan --tinggal.

-s|--tinggal - meneruskan pelaksanaan selepas --eval, --muat or --praproses sedang diproses. Oleh
lalai, modul tidak berterusan dalam kes ini, iaitu --nostay diandaikan.

--nolock - apabila salah satu daripada 3 pilihan tindakan diberikan, pilihan ini menyebabkan membuka kunci fvwm
serta merta. Secara lalai tindakan yang diminta dilaksanakan secara serentak; ini hanya membuat
perbezaan apabila dipanggil seperti:

ModuleSynchronous FvwmPerl --preprocess someconfig.ppp

If --nolock ditambah di sini, ModulSegerak kembali serta merta. Perhatikan bahawa Modul pulangan
serta-merta tanpa mengira pilihan ini.

MENGGUNAKAN ALIAS


Alias ​​membolehkan untuk mempunyai beberapa invokasi modul dan berfungsi secara berasingan dengan semua invokasi,
berikut adalah contoh:

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

PRAPROSES CONTOH


Salah satu penyelesaian pemprosesan yang berkesan adalah untuk lulus keseluruhan konfigurasi fvwm dengan
kod perl dibenamkan kepada "FvwmPerl --preprocess". Pendekatan alternatif ialah menulis perl
skrip yang menghasilkan arahan fvwm dan menghantarnya untuk pelaksanaan, skrip ini mungkin dimuatkan
menggunakan "FvwmPerl --load". Terdapat penyelesaian perantaraan hovewer yang praproses sahaja
baris konfigurasi berasingan (atau sebagai alternatif, laksanakan perintah perl berasingan yang
menghasilkan arahan fvwm).

Coretan kod berikut menambah keupayaan aritmetik dan skrip rentetan kepada tertentu
baris yang memerlukan ini. Untuk menggunakan ini, anda ingin memulakan FvwmPerl sebagai arahan pertama anda
bahawa arahan lain mungkin diminta untuk diproses terlebih dahulu.

ModulSegerakkan FvwmPerl

AddToFunc .
+ Saya SendToModule FvwmPerl praproses -c -- $*

. Exec exec xterm -name xterm-%{++$i}% # gunakan nama unik

. GotoDesk 0 %{ $[desk.n] + 1 }% # pergi ke meja sebelah

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

# tengah tingkap
Seterusnya (MyWindow) . Pindah \
%{($WIDTH - $[w.width]) / 2}%p %{($HEIGHT - $[w.height]) / 2}%p

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

. %{main::show_message(2 + 2, "Yet another Calculator"); ""}%

TINDAKAN


Terdapat beberapa tindakan yang boleh dilakukan oleh FvwmPerl:

menipu kod perl
Nilaikan baris kod perl.

Fungsi khas cmd("perintah") boleh digunakan dalam kod perl untuk menghantar kembali arahan
fvwm.

Jika kod perl mengandungi ralat, ia dicetak ke aliran ralat standard dengan
[FvwmPerl][eval]: pengepala disediakan.

memuatkan nama fail
Muatkan fail kod perl. Jika fail itu tidak memenuhi syarat sepenuhnya, ia dicari dalam
direktori pengguna $FVWM_USERDIR (biasanya ~/.fvwm) dan direktori data seluruh sistem
$FVWM_DATADIR.

Fungsi khas cmd("perintah") boleh digunakan dalam kod perl untuk menghantar kembali arahan
fvwm.

Jika kod perl mengandungi ralat, ia dicetak ke aliran ralat standard dengan
[FvwmPerl][muat]: pengepala disediakan.

praproses [-q|--petikan char] [-c|--cmd] [selaras | fail]
Praproses konfigurasi fvwm fail atau (jika --cmd diberikan) selaras. Fail ini mengandungi baris yang
tidak disentuh (biasanya arahan fvwm) dan kod perl yang dipraformat khas iaitu
diproses dan diganti. Teks disertakan %{ ... }% pembatas, yang mungkin bermula di mana-mana sahaja
pada baris dan berakhir di mana-mana pada baris yang sama atau lain, ialah kod perl.

. memetik parameter mengubah pembatas kod perl. Jika satu char diberikan, suka
'@', pembatas adalah @{ ... }@. Jika petikan yang diberikan ialah 2 aksara, suka <>, petikan
adalah <{ ... }>

Kod perl digantikan dengan hasil penilaiannya. Iaitu %{$a = "c"; ++$a}%
digantikan dengan "d".

Penilaian adalah berbeza menipu and memuatkan dilakukan di bawah pakej PreprocessNamespace
dan tanpa penggunaan ketat, jadi anda bebas menggunakan sebarang nama pembolehubah tanpa rasa takut
konflik. Hanya jangan gunakan pembolehubah yang tidak dimulakan untuk bermaksud senarai undef atau kosong (mereka
mungkin sebenarnya dimulakan oleh tindakan praproses sebelumnya), dan lakukan pembersihan jika
diperlukan. Pembolehubah dan fungsi dalam utama pakej masih ada, seperti
::cmd() atau ::langkau(), tetapi bukan idea yang baik untuk mengaksesnya sementara
prapemprosesan.

Ada fungsi khas termasuk(fail) yang memuatkan fail, memprosesnya dan
mengembalikan hasil praproses. Elakkan rekursi.

Jika mana-mana kod perl terbenam mengandungi ralat, ia dicetak kepada ralat standard
aliran dan ditambah dengan [FvwmPerl][praproses]: kepala. Hasil daripada
penggantian adalah kosong dalam kes ini.

Pembolehubah berikut boleh digunakan dalam kod perl:

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

Arahan berasaskan baris berikut diiktiraf semasa prapemprosesan. Mereka adalah
diproses selepas kod perl (jika ada) digantikan.

%Ulangi mengira
Menyebabkan baris berikut berulang mengira kali.

%ModuleConfig nama modul [ musnah ]
Menyebabkan baris berikut ditafsirkan sebagai konfigurasi modul yang diberikan. Jika
"musnahkan" ditentukan konfigurasi modul sebelumnya dimusnahkan terlebih dahulu.

%Awalan awalan
Awalan baris berikut dengan petikan awalan.

%akhir sebarang-pilihan-komen
Menamatkan mana-mana arahan yang diterangkan di atas, mungkin bersarang.

Contoh:

%Awalan "AddToFunc SwitchToWindow I"
Ikonnya dimatikan
Teduh Tetingkap padam
Meningkatkan
WarpToWindow 50 50
%Tamat

%ModuleConfig FvwmPager musnah
Set warna 0
Font lucidasans-10
DeskTopScale 28
Ikon Mini
%End ModuleConfig FvwmPager

%Awalan "Semua (MyWindowToAnimate) ResizeMove "
100 100 %{($WIDTH - 100) / 2}% %{($HEIGHT - 100) / 2}%
%Ulang %{$count}%
br w+2c w+2c w-1c w-1c
%Tamat
%Ulang %{$count}%
br w-2c w-2c w+1c w+1c
%Tamat
%Awalan Akhir

Parameter praproses tambahan --nosend dan --noremove boleh diberikan juga. Lihat mereka
penerangan di bahagian atas.

mengeksport [nama fungsi]
Hantar kepada fvwm definisi fungsi pintasan yang membantu untuk mengaktifkan berbeza
tindakan modul (cth menipu, memuatkan and praproses).

Nama fungsi (nama fungsi) boleh dipisahkan dengan koma atau/dan ruang putih. Secara lalai,
dua fungsi "Eval" dan "." diandaikan.

Tindakan sebenar yang ditakrifkan dalam fungsi diteka dari nama fungsi jika boleh,
di mana nama fungsi "." dikhaskan untuk praproses tindakan.

Sebagai contoh, mana-mana daripada dua arahan fvwm ini

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

tentukan dua fungsi pintasan berikut:

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

4 tindakan ini boleh diminta dalam salah satu daripada 3 cara: 1) dalam baris arahan apabila FvwmPerl
dipanggil (dalam kes ini FvwmPerl adalah jangka pendek melainkan --tinggal or --eksport juga diberikan), 2)
dengan menghantar mesej yang sepadan dalam konfigurasi fvwm menggunakan SendToModule, 3) dengan memanggil
fungsi perl yang sepadan dalam kod perl.

FUNGSI


Terdapat beberapa fungsi yang mungkin dipanggil oleh kod perl:

cmd($fvwm_command)
Dalam kes menipu or memuatkan - hantar semula kepada fvwm rentetan $fvwm_command. Dalam kes
praproses - tambahkan rentetan $fvwm_command kepada output kod perl terbenam.

do_eval($perl_code)
Fungsi ini bersamaan dengan menipu kefungsian pada rentetan $perl_code,
diterangkan di atas.

beban ($nama fail)
Fungsi ini bersamaan dengan memuatkan fungsi pada fail $filename, diterangkan
atas.

praproses(@params, ["-c $command"] [$nama fail])
Fungsi ini bersamaan dengan praproses kefungsian dengan parameter yang diberikan
dan fail $nama fail yang diterangkan di atas.

eksport($func_names, [$do_unexport])
Fungsi ini bersamaan dengan mengeksport fungsi dengan $func_names yang diberikan,
diterangkan di atas. Boleh juga nyaheksport nama fungsi jika parameter kedua adalah benar.

Nama fungsi hendaklah dipisahkan dengan koma atau/dan ruang putih. Jika $func_names is
kosong kemudian berfungsi "Eval" dan "." diandaikan.

berhenti ()
Menamatkan modul.

langkau()
Melangkau seluruh kod panggil balik acara, iaitu modul kembali untuk mendengar yang baharu
acara modul.

buka kunci ()
Nyahsegerakkan panggilan balik acara daripada fvwm. Ini mungkin berguna untuk mengelakkan kebuntuan,
iaitu biasanya fvwm membunuh modul tidak bertindak balas jika panggilan balik acara tidak
selesai dalam ModuleTimeout detik. Ini menghalangnya.

Contoh ini menyebabkan FvwmPerl menangguhkan pelaksanaannya selama satu minit:

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

Walau bagaimanapun, sahkan bahawa tidak ada cara mesej baru dihantar oleh fvwm semasa modul sedang
sibuk, dan fvwm kekal terkunci pada mesej baharu ini terlalu lama. Lihat juga lepaskan
penyelesaian jika anda memerlukan operasi yang tahan lama.

melepaskan ()
Mencabang dan mengasingkan kod panggilan balik acara yang lain daripada proses utama. Ini mungkin
berguna untuk mengelakkan membunuh modul jika panggilan balik acaranya mengambil masa yang lama
untuk menyelesaikan dan ia mungkin dilakukan pada kanak-kanak yang terpisah. Anak yang terpisah mungkin masih
hantar arahan kepada fvwm (jangan bergantung pada ini), tetapi tidak menerima acara sudah tentu, itu
keluar serta-merta selepas pelaksanaan panggilan balik selesai.

Jika anda menggunakan melepaskan (), lebih baik hanya hantar arahan kepada fvwm dalam satu proses (yang utama atau
yang terpisah), melakukan sebaliknya mungkin sering menyebabkan konflik.

show_message($msg, $title[, $use_stderr_too=1])
Menunjukkan tetingkap dialog dengan mesej yang diberikan, menggunakan mana-mana alat X yang ditemui dalam
sistem.

Lihat FVWM::Modul::Toolkit::tunjukkan_mesej untuk maklumat lanjut.

PELBAGAI


Terdapat beberapa pembolehubah global dalam utama ruang nama yang boleh digunakan dalam perl
kod:

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

Kesemuanya dimulakan kepada nilai kosong dan boleh digunakan untuk menyimpan keadaan antara
panggilan berbeza kepada tindakan FvwmPerl (menipu and memuatkan).

Jika anda memerlukan lebih banyak nama pembolehubah yang boleh dibaca, sama ada tulis "tiada 'vars' yang ketat;" pada permulaan
setiap kod perl atau gunakan cincang untuk ini, seperti:

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

atau gunakan nama pakej, seperti:

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

Mungkin terdapat pilihan konfigurasi untuk menghidupkan dan mematikan ketegasan.

PESAN


FvwmPerl mungkin menerima mesej menggunakan arahan fvwm SendToModule. Nama, makna dan
parameter mesej adalah sama dengan tindakan yang sepadan, yang diterangkan di atas.

Selain itu, mesej berhenti menyebabkan modul berhenti.

Mesej nyaheksport [nama fungsi] membatalkan kesan daripada mengeksport, diterangkan dalam ACTIONS
bawah seksyen ini.

Mesej membuang membuang kandungan pembolehubah yang diubah (belum lagi).

CONTOH


Ujian mudah:

SendToModule FvwmPerl eval $h{dir} = $ENV{HOME}
SendToModule FvwmPerl eval load($h{dir} . "/test.fpl")
SendToModule FvwmPerl memuatkan $[HOME]/test.fpl
SendToModule FvwmPerl praproses konfigurasi.ppp
SendToModule FvwmPerl eksport Eval,PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl nyaheksport PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl berhenti

Contoh berikut mengendalikan latar belakang akar dalam fvwmrc. Semua arahan ini boleh ditambah
ke StartFunction.

Modul FvwmPerl --eksport PerlEval

# cari semua pixmaps latar belakang untuk kegunaan kemudian
PerlEval $a = $ENV{HOME} . "/bg"; \
opendir DIR, $a; @b = grep { /xpm$/ } readdir(DIR); DIR tertutup

# bina menu pixmaps latar belakang
AddToMenu MyBackgrounds Tajuk "Latar Belakang Saya".
PerlEval foreach $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Exec fvwm-root $a/$b") }

# pilih latar belakang rawak untuk dimuatkan semasa permulaan
PerlEval cmd("AddToFunc \
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

Melarikan diri


SendToModule sama seperti mana-mana arahan fvwm lain mengembangkan beberapa pembolehubah awalan dolar.
Ini mungkin bertentangan dengan penggunaan dolar perl. Anda boleh mengelakkan ini dengan meletakkan awalan SendToModule
dengan sengkang terkemuka. 2 baris berikut dalam setiap pasangan adalah setara:

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

SendToModule FvwmPerl eval \
cmd("Meja gema=$d, paparan=$$d")
SendToModule FvwmPerl praproses -c \
Meja gema=%("$d")%, paparan=%{$$d}%

Penyelesaian lain untuk mengelakkan simbol khas seperti dolar dan garis miring ke belakang adalah dengan
buat fail perl dalam ~/.fvwm dan kemudian muatkannya:

SendToModule FvwmPerl muatkan menu binaan.fpl

Jika anda perlu mempraproses satu arahan bermula dengan sempang, anda harus mendahuluinya menggunakan
"--".

# ini mencetak meja semasa, iaitu "0"
SendToModule FvwmPerl praproses -c Echo "$%{$a = "c"; ++$a}%"
# ini mencetak "$d"
SendToModule FvwmPerl praproses -c -- -Echo "$%{"d"}%"
# ini mencetak "$d" (SendToModule mengembang $$ kepada $)
SendToModule FvwmPerl praproses -c -- -Echo "$$%{"d"}%"
# ini mencetak "$$d"
-SendToModule FvwmPerl praproses -c -- -Echo "$$%{"d"}%"

Sekali lagi, adalah dicadangkan untuk meletakkan arahan anda ke dalam fail dan sebaliknya memproses fail tersebut.

CATATAN


FvwmPerl ditulis dalam perl dan berurusan dengan perl, mengikut moto perl yang terkenal:
"Terdapat lebih daripada satu cara untuk melakukannya", jadi pilihan di tangan anda.

Berikut adalah lebih banyak pasangan garisan setara:

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

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

Amaran, anda mungkin menjejaskan cara FvwmPerl berfungsi dengan menilai kod perl yang sesuai, ini
dianggap sebagai ciri bukan pepijat. Tetapi tolong jangan lakukan ini, tulis modul fvwm anda sendiri
dalam perl sebaliknya.

Gunakan FvwmPerl dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    SWIG
    SWIG
    SWIG ialah alat pembangunan perisian
    yang menghubungkan atur cara yang ditulis dalam C dan
    C++ dengan pelbagai peringkat tinggi
    bahasa pengaturcaraan. SWIG digunakan dengan
    berbeza...
    Muat turun SWIG
  • 2
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Tema WooCommerce React, dibina dengan
    Seterusnya JS, Webpack, Babel, Node dan
    Ekspres, menggunakan GraphQL dan Apollo
    Pelanggan. Kedai WooCommerce dalam React(
    mengandungi: Produk...
    Muat turun Tema WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Repo pakej untuk ArchLabs Ini adalah
    aplikasi yang juga boleh diambil
    dari
    https://sourceforge.net/projects/archlabs-repo/.
    Ia telah dihoskan dalam OnWorks di...
    Muat turun archlabs_repo
  • 4
    Projek Zephyr
    Projek Zephyr
    Projek Zephyr ialah generasi baharu
    sistem pengendalian masa nyata (RTOS) yang
    menyokong pelbagai perkakasan
    seni bina. Ia berdasarkan a
    inti tapak kecil...
    Muat turun Projek Zephyr
  • 5
    SCON
    SCON
    SCons ialah alat pembinaan perisian
    itu adalah alternatif yang lebih baik daripada
    alat binaan klasik "Buat" yang
    kita semua tahu dan suka. SCons ialah
    melaksanakan...
    Muat turun SCons
  • 6
    PSeInt
    PSeInt
    PSeInt ialah penterjemah kod pseudo untuk
    pelajar pengaturcaraan berbahasa Sepanyol.
    Tujuan utamanya adalah untuk menjadi alat untuk
    mempelajari dan memahami asas
    konsep...
    Muat turun PSeInt
  • Lebih »

Arahan Linux

Ad