InggrisPerancisSpanyol

Ad


favorit OnWorks

FvwmPerl - Online di Cloud

Jalankan FvwmPerl di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah FvwmPerl yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


FvwmPerl - manipulator dan praprosesor fvwm perl

RINGKASAN


FvwmPerl harus dimunculkan oleh fvwm(1) untuk fungsi normal.

Untuk menjalankan modul ini, tempatkan perintah ini di suatu tempat dalam konfigurasi:

Modul FvwmPerl [params]

atau:

ModuleSinkronkan FvwmPerl [params]

jika Anda ingin segera mulai mengirim perintah ke FvwmPerl.

DESKRIPSI


Modul ini dimaksudkan untuk memperluas perintah fvwm dengan kekuatan skrip perl. Ini memungkinkan
untuk menyematkan ekspresi Perl dalam file konfigurasi fvwm dan membuat perintah fvwm.

DOA


Jika Anda ingin memanggil instance FvwmPerl yang unik dan persisten, disarankan untuk
lakukan ini dari MulaiFungsi. Memanggilnya dari atas juga mungkin, tetapi melibatkan
beberapa masalah yang tidak dibahas di sini.

AddToFunc StartFunction I Modul FvwmPerl

Ada beberapa sakelar baris perintah:

FvwmPerl [ --eval garis ] [ --memuat berkas ] [ --praproses [ --mengutip karakter ] [ --winid lebar ] [
--cmd ] [ --pengiriman hidung ] [ --tidakhapus ] [ baris | berkas ] ] [ --ekspor [nama] ] [ --tinggal ] [
--tidak terkunci ] [ alias ]

Sakelar panjang dapat disingkat menjadi sakelar satu huruf pendek.

-e|--eval baris - evaluasi kode perl yang diberikan

-l|--memuat file - evaluasi kode perl dalam file yang diberikan

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

5 opsi berikut hanya berlaku bersama dengan --praproses .

-c|--cmd baris - perintah fvwm untuk diproses terlebih dahulu alih-alih file

-q|--mengutip char - ubah kutipan '%' default

-w|--winid wid - atur konteks jendela eksplisit (harus dimulai dengan angka, mungkin dalam okt atau
bentuk heksagonal; id jendela ini menimpa konteks jendela implisit jika ada)

--pengiriman hidung - jangan kirim file yang sudah diproses ke fvwm untuk Bacaing, defaultnya adalah kirim.
Berguna untuk memproses file konfigurasi non fvwm.

--tidakhapus - jangan hapus file yang telah diproses sebelumnya setelah mengirimnya ke fvwm untuk Bacaing, itu
default adalah menghapus. Berguna untuk debugging.

-x|--ekspor [nama] - tentukan fungsi pintasan fvwm (secara default, dua fungsi bernama
"Eval" dan "."). Opsi ini menyiratkan --tinggal.

-s|--tinggal - melanjutkan eksekusi setelah --eval, --memuat or --praproses diproses. Oleh
default, modul tidak persisten dalam kasus ini, yaitu --nostay diasumsikan.

--tidak terkunci - ketika salah satu dari 3 opsi tindakan diberikan, opsi ini menyebabkan pembukaan kunci fvwm
langsung. Secara default, tindakan yang diminta dijalankan secara sinkron; ini hanya membuat
perbedaan ketika dipanggil seperti:

ModuleSynchronous FvwmPerl --memproses someconfig.ppp

If --tidak terkunci ditambahkan di sini, ModulSinkron kembali segera. Perhatikan bahwa Modul Pengembalian
segera terlepas dari opsi ini.

MENGGUNAKAN ALIAS


Alias ​​​​memungkinkan untuk memiliki beberapa pemanggilan modul dan bekerja secara terpisah dengan semua pemanggilan,
ini contohnya:

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

PEMROSESAN AWAL CONTOH


Salah satu solusi pemrosesan yang efektif adalah dengan melewatkan seluruh konfigurasi fvwm dengan
menyematkan kode perl ke "FvwmPerl --preprocess". Pendekatan alternatif adalah dengan menulis perl
skrip yang menghasilkan perintah fvwm dan mengirimkannya untuk dieksekusi, skrip ini dapat dimuat
menggunakan "FvwmPerl --load". Namun ada solusi perantara yang hanya memproses sebelumnya
baris konfigurasi terpisah (atau sebagai alternatif, jalankan perintah Perl terpisah yang
menghasilkan perintah fvwm).

Cuplikan kode berikut menambahkan kemampuan aritmatika dan skrip string ke tertentu
baris yang membutuhkan ini. Untuk menggunakan ini, Anda ingin memulai FvwmPerl sebagai perintah pertama Anda jadi
bahwa perintah lain mungkin diminta untuk diproses sebelumnya.

ModulSinkronkan FvwmPerl

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

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

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

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

# tengah jendela
Selanjutnya (Jendela Saya) . Bergerak \
%{($LEBAR - $[lebar]) / 2}%p %{($TINGGI - $[tinggi]) / 2}%p

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

. %{main::show_message(2 + 2, "Kalkulator lain lagi"); ""}%

TINDAKAN


Ada beberapa tindakan yang dapat dilakukan FvwmPerl:

evaluasi perl-kode
Evaluasi satu baris kode perl.

Fungsi khusus cmd("memerintah") dapat digunakan dalam kode perl untuk mengirim perintah kembali ke
fvwm.

Jika kode perl berisi kesalahan, itu dicetak ke aliran kesalahan standar dengan:
[FvwmPerl] [nilai]: header ditambahkan.

memuat nama file
Muat file kode perl. Jika file tidak sepenuhnya memenuhi syarat, itu dicari di
direktori pengguna $FVWM_USERDIR (biasanya ~/.fvwm) dan direktori data seluruh sistem
$FVWM_DATADIR.

Fungsi khusus cmd("memerintah") dapat digunakan dalam kode perl untuk mengirim perintah kembali ke
fvwm.

Jika kode perl berisi kesalahan, itu dicetak ke aliran kesalahan standar dengan:
[FvwmPerl][memuat]: header ditambahkan.

praproses [-q|--kutipan karakter] [-c|--cmd] [line | fillet]
Praproses konfigurasi fvwm fillet atau (jika --cmd diberikan) line. File ini berisi baris yang
tidak disentuh (biasanya perintah fvwm) dan kode perl yang telah diformat sebelumnya yaitu
diproses dan diganti. Teks terlampir di %{ ... }% pembatas, yang bisa dimulai dari mana saja
pada baris dan berakhir di mana saja pada baris yang sama atau lainnya, adalah kode perl.

Grafik mengutip parameter mengubah pembatas kode perl. Jika satu char diberikan, seperti
'@', pembatasnya adalah @{ ... }@. Jika kutipan yang diberikan adalah 2 karakter, seperti <>, kutipan
adalah <{ ... }>

Kode perl diganti dengan hasil evaluasinya. Yaitu %{$a = "c"; ++$a}%
diganti dengan "d".

Evaluasi tidak seperti evaluasi dan memuat dilakukan di bawah paket PreprocessNamespace
dan tanpa menggunakan ketat, jadi Anda bebas menggunakan nama variabel apa pun tanpa takut
konflik. Hanya saja, jangan gunakan variabel yang tidak diinisialisasi untuk mengartikan undef atau daftar kosong (mereka
mungkin sebenarnya diinisialisasi oleh tindakan praproses sebelumnya), dan lakukan pembersihan jika
diperlukan. Variabel dan fungsi dalam utama paket masih tersedia, seperti
::cmd() atau ::melewati(), tetapi bukan ide yang baik untuk mengaksesnya saat
pra-pemrosesan.

Ada fungsi khusus memasukkan(fillet) yang memuat file, memprosesnya terlebih dahulu, dan
mengembalikan hasil yang telah diproses sebelumnya. Hindari rekursi.

Jika ada kode perl yang disematkan berisi kesalahan, itu akan dicetak ke kesalahan standar
streaming dan diawali dengan [FvwmPerl][praproses]: tajuk. Hasil dari
substitusi kosong dalam kasus ini.

Variabel berikut dapat digunakan dalam kode perl:

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

Arahan berbasis baris berikut dikenali saat prapemrosesan. Mereka
diproses setelah kode perl (jika ada) diganti.

%ulangi menghitung
Menyebabkan baris berikut diulang menghitung kali.

%Konfigurasi Modul nama-modul [ menghancurkan ]
Menyebabkan baris berikut ditafsirkan sebagai konfigurasi modul yang diberikan. Jika
"destroy" ditentukan konfigurasi modul sebelumnya dihancurkan terlebih dahulu.

%Awalan awalan
Awalan baris berikut dengan kutipan awalan.

%Akhir komentar-opsional-apa saja
Mengakhiri salah satu arahan yang dijelaskan di atas, mungkin bersarang.

contoh:

% Awalan "AddToFunc SwitchToWindow I"
Ikon matikan
JendelaShade off
menaikkan
WarpToWindow 50 50
%Akhir

%ModuleConfig FvwmPager hancurkan
Set warna 0
Jenis huruf lucidasans-10
Skala Desktop 28
Ikon Mini
%Akhir ModuleConfig FvwmPager

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

Parameter praproses tambahan --nosend dan --noremove dapat diberikan juga. Lihat mereka
deskripsi di atas.

ekspor [nama-fungsi]
Kirim ke fvwm definisi fungsi pintasan yang membantu mengaktifkan yang berbeda
tindakan modul (mis evaluasi, memuat dan praproses).

Nama fungsi (nama-fungsi) dapat dipisahkan dengan koma atau/dan spasi. Secara default,
dua fungsi "Eval" dan "." diasumsikan.

Tindakan aktual yang didefinisikan dalam suatu fungsi ditebak dari nama fungsi jika memungkinkan,
di mana nama fungsi "." dicadangkan untuk praproses tindakan.

Misalnya, salah satu dari dua perintah fvwm ini

SendToModule MyPerl mengekspor PerlEval,PP
FvwmPerl --ekspor PerlEval,PP MyPerl

tentukan dua fungsi pintasan berikut:

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

4 tindakan ini dapat diminta dengan salah satu dari 3 cara: 1) di baris perintah ketika FvwmPerl adalah
dipanggil (dalam hal ini FvwmPerl berumur pendek kecuali --tinggal or --ekspor juga diberikan), 2)
dengan mengirimkan pesan yang sesuai dalam konfigurasi fvwm menggunakan SendToModule, 3) dengan memanggil
fungsi perl yang sesuai dalam kode perl.

FUNGSI


Ada beberapa fungsi yang dapat dipanggil oleh kode perl:

cmd($fvwm_command)
Dalam kasus evaluasi or memuat - kirim kembali ke fvwm sebuah string $fvwm_command. Dalam kasus
praproses - tambahkan string $fvwm_command ke output dari kode perl yang disematkan.

lakukan_eval($perl_code)
Fungsi ini setara dengan evaluasi fungsionalitas pada string $perl_code,
dijelaskan di atas.

memuat($nama file)
Fungsi ini setara dengan memuat fungsionalitas pada file $filename, dijelaskan
atas.

praproses (@params, ["-C $perintah"] [$nama file])
Fungsi ini setara dengan praproses fungsionalitas dengan parameter yang diberikan
dan file $filename yang dijelaskan di atas.

ekspor($fungsi_nama, [$lakukan_unekspor])
Fungsi ini setara dengan ekspor fungsionalitas dengan $ func_names yang diberikan,
dijelaskan di atas. Mungkin juga tidak mengekspor nama fungsi jika parameter kedua benar.

Nama fungsi harus dipisahkan dengan koma atau/dan spasi. Jika $fungsi_nama is
kosongkan lalu fungsi "Eval" dan "." diasumsikan.

berhenti()
Mengakhiri modul.

melewati()
Melewati sisa kode panggilan balik acara, yaitu modul kembali untuk mendengarkan yang baru
acara modul.

membuka kunci()
Membatalkan sinkronisasi panggilan balik acara dari fvwm. Ini mungkin berguna untuk mencegah kebuntuan,
yaitu biasanya fvwm mematikan modul yang tidak merespons jika panggilan balik acara tidak
selesai di ModulWaktu Habis detik. Ini mencegahnya.

Contoh ini menyebabkan FvwmPerl menunda eksekusinya selama satu menit:

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

Namun, pastikan bahwa tidak mungkin ada pesan baru yang dikirim oleh fvwm saat modul sedang
sibuk, dan fvwm tetap terkunci pada pesan baru ini terlalu lama. Lihat juga Lepaskan
solusi jika Anda membutuhkan operasi tahan lama.

melepaskan()
Garpu dan lepaskan sisa kode panggilan balik acara dari proses utama. Ini mungkin
berguna untuk mencegah mematikan modul jika panggilan balik acaranya membutuhkan waktu lama
untuk menyelesaikan dan itu dapat dilakukan pada anak yang terpisah. Anak yang terpisah mungkin masih
kirim perintah ke fvwm (jangan mengandalkan ini), tetapi tentu saja tidak menerima acara, itu
keluar segera setelah eksekusi panggilan balik selesai.

Jika Anda menggunakan melepaskan(), lebih baik hanya mengirim perintah ke fvwm dalam satu proses (yang utama atau
yang terpisah), melakukan sebaliknya dapat sering menyebabkan konflik.

tunjukkan pesan($pesan, $judul[, $use_stderr_too=1])
Menampilkan jendela dialog dengan pesan yang diberikan, menggunakan alat X mana pun yang ditemukan di
sistem.

Lihat FVWM::Modul::Toolkit::tunjukkan pesan for more information.

VARIABEL


Ada beberapa variabel global dalam utama namespace yang dapat digunakan dalam perl
kode:

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

Semuanya diinisialisasi ke nilai kosong dan dapat digunakan untuk menyimpan status antara
panggilan berbeda untuk tindakan FvwmPerl (evaluasi dan memuat).

Jika Anda membutuhkan nama variabel yang lebih mudah dibaca, tulis "no strict 'vars';" di awal
setiap kode perl atau gunakan hash untuk ini, seperti:

$h{id} = $h{nama_depan} . " " . $j{nama_kedua}

atau gunakan nama paket, seperti:

@Menu Saya::terminal = qw( xterm rxvt );
$Menu Saya::item_num = @MenuSaya::terminal;

Mungkin ada opsi konfigurasi untuk mengaktifkan dan menonaktifkan keketatan.

PESAN


FvwmPerl dapat menerima pesan menggunakan perintah fvwm SendToModule. Nama, arti dan
parameter pesan sama dengan tindakan terkait, yang dijelaskan di atas.

Selain itu, sebuah pesan berhenti menyebabkan modul berhenti.

Sebuah pesan tidak mengekspor [nama-fungsi] membatalkan efek dari ekspor, dijelaskan dalam TINDAKAN
bagian.

Sebuah pesan membuang membuang konten variabel yang diubah (belum).

CONTOH


Tes sederhana:

SendToModule FvwmPerl mengevaluasi $h{dir} = $ENV{HOME}
SendToModule FvwmPerl eval load($h{dir} . "/test.fpl")
SendToModule FvwmPerl memuat $[HOME]/test.fpl
SendToModule FvwmPerl praproses config.ppp
SendToModule FvwmPerl ekspor Eval, PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl batalkan ekspor PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl berhenti

Contoh berikut menangani latar belakang root di fvwmrc. Semua perintah ini dapat ditambahkan
ke StartFunction.

Modul FvwmPerl --ekspor PerlEval

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

# buat menu pixmaps latar belakang
AddToMenu MyBackgrounds Judul "Latar Belakang Saya"
PerlEval untuk setiap $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Exec fvwm-root $a/$b") }

# pilih latar belakang acak untuk dimuat saat start-up
PerlEval cmd("AddToFunc \
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

melarikan diri


KirimKeModul sama seperti perintah fvwm lainnya memperluas beberapa variabel awalan dolar.
Ini mungkin berbenturan dengan penggunaan dolar perl. Anda dapat menghindari ini dengan mengawali SendToModule
dengan tanda hubung terkemuka. 2 baris berikut di setiap pasangan setara:

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

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

Solusi lain untuk menghindari keluarnya simbol khusus seperti dolar dan garis miring terbalik adalah dengan
buat file perl di ~/.fvwm dan kemudian memuatnya:

SendToModule FvwmPerl memuat build-menus.fpl

Jika Anda perlu mempraproses satu perintah yang dimulai dengan tanda hubung, Anda harus mendahuluinya menggunakan
"--".

# ini mencetak meja saat ini, yaitu "0"
SendToModule FvwmPerl preprocess -c Echo "$%{$a = "c"; ++$a}%"
# ini mencetak "$d"
SendToModule FvwmPerl praproses -c -- -Echo "$%{"d"}%"
# ini mencetak "$d" (SendToModule memperluas $$ menjadi $)
SendToModule FvwmPerl praproses -c -- -Echo "$$%{"d"}%"
# ini mencetak "$$d"
-SendToModule FvwmPerl praproses -c -- -Echo "$$%{"d"}%"

Sekali lagi, disarankan untuk memasukkan perintah Anda ke dalam file dan memproses file terlebih dahulu.

PERINGATAN


FvwmPerl ditulis dalam perl dan berurusan dengan perl, mengikuti moto perl yang terkenal:
"Ada lebih dari satu cara untuk melakukannya", jadi pilihan ada di tangan Anda.

Berikut adalah lebih banyak pasangan garis yang setara:

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

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

Peringatan, Anda dapat memengaruhi cara kerja FvwmPerl dengan mengevaluasi kode perl yang sesuai, ini
dianggap sebagai fitur bukan bug. Tapi tolong jangan lakukan ini, tulis modul fvwm Anda sendiri
di perl sebagai gantinya.

Gunakan FvwmPerl online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    menenggak
    menenggak
    SWIG adalah alat pengembangan perangkat lunak
    yang menghubungkan program yang ditulis dalam C dan
    C++ dengan berbagai level tinggi
    bahasa pemrograman. SWIG digunakan dengan
    berbeda...
    Unduh SWIG.dll
  • 2
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Bereaksi tema WooCommerce, dibangun dengan
    JS berikutnya, Webpack, Babel, Node, dan
    Express, menggunakan GraphQL dan Apollo
    Klien. Toko WooCommerce di React(
    berisi: Produk...
    Unduh WooCommerce Nextjs React Theme
  • 3
    archlabs_repo
    archlabs_repo
    Repo paket untuk ArchLabs Ini adalah
    aplikasi yang juga bisa diambil
    dari
    https://sourceforge.net/projects/archlabs-repo/.
    Ini telah dihosting di OnWorks di ...
    Unduh archlabs_repo
  • 4
    Proyek Zephyr
    Proyek Zephyr
    Proyek Zephyr adalah generasi baru
    sistem operasi waktu-nyata (RTOS) yang
    mendukung banyak perangkat keras
    ilmu bangunan. Hal ini didasarkan pada
    kernel jejak kecil...
    Unduh Proyek Zephyr
  • 5
    SCon
    SCon
    SCons adalah alat konstruksi perangkat lunak
    itu adalah alternatif yang unggul untuk
    alat pembuatan "Buat" klasik yang
    kita semua tahu dan cinta. SCon adalah
    dilaksanakan...
    Unduh SCons.dll
  • 6
    PSeInt
    PSeInt
    PSeInt adalah penerjemah kode semu untuk
    siswa pemrograman berbahasa Spanyol.
    Tujuan utamanya adalah menjadi alat untuk
    belajar dan memahami dasar
    konsep...
    Unduh PSeInt.dll
  • Lebih banyak lagi »

Perintah Linux

Ad