EnglishFrenchSpanyol

Ad


Favicon OnWorks

FvwmScript - Dalam Talian di Awan

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

Ini ialah arahan FvwmScript 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


FvwmScript - modul untuk membina antara muka pengguna grafik

SINOPSIS


FvwmScript mesti dihasilkan oleh Fvwm. Ia tidak akan berfungsi dari baris arahan.

DESCRIPTION


FvwmScript ialah modul yang membolehkan anda membina banyak aplikasi grafik seperti
aksesori desktop, panel butang dengan menu timbul, dialog modal... Pada permulaan,
FvwmScript membaca fail yang dinyatakan pada baris arahan. Fail ini mengandungi
skrip. Skrip ini tidak disertakan dalam fail konfigurasi Fvwm.

Skrip FvwmScript boleh dikawal sepenuhnya dengan menggunakan papan kekunci. (Shift)-Tab beredar
di sekeliling widget, Return mensimulasikan klik tetikus, anak panah menggerakkan kursor atau menukar
nilai widget dan Escape "membatalkan" untuk Menu dan PopupMenu.

INVOKASI


FvwmScript boleh digunakan dengan memasukkan baris `Module FvwmScript name_of_script' dalam
Fail .fvwm2rc. Fail "name_of_script" boleh bermula dengan garis miring, dalam kes ini, ia adalah a
laluan yang layak sepenuhnya, dan fail dibaca. Jika "nama_skrip" tidak bermula dengan a
slash, FvwmScript akan melihat di beberapa tempat yang berbeza. Jika .fvwm2rc mengandungi
baris arahan `*FvwmScript: Path path_of_the_script_directory', FvwmScript akan mencubanya
direktori. Jika itu tidak berjaya, FvwmScript mencuba direktori konfigurasi sistem dan
direktori konfigurasi pengguna seperti yang diterangkan di bawah arahan "Baca" dalam fvwm man
.

Arahan untuk memulakan FvwmScript boleh diletakkan pada baris dengan sendirinya, jika FvwmScript mahu
muncul semasa permulaan fvwm, atau boleh terikat pada menu atau butang tetikus atau
ketukan kekunci untuk memanggilnya kemudian.

CONFIGURATION PILIHAN


Perintah berikut boleh digunakan dalam fail konfigurasi (lihat fvwm(1), bahagian MODULE
PERINTAH untuk butiran). Ia digunakan hanya jika arahan skrip yang sepadan tidak
digunakan dalam skrip.

*FvwmScript: DefaultFont font
Menentukan fon lalai untuk digunakan. Jika tidak dinyatakan dengan arahan ini atau dalam
skrip dengan arahan Font, fon tetap diandaikan.

*FvwmScript: DefaultFore warna
Menentukan warna latar depan lalai untuk digunakan. Jika tidak dinyatakan dengan ini
arahan atau dalam skrip dengan arahan ForeColor, hitam digunakan.

*FvwmScript: DefaultBack warna
Menentukan warna latar belakang lalai yang akan digunakan. Jika tidak dinyatakan dengan ini
arahan atau dalam skrip dengan arahan BackColor, grey85 digunakan.

*FvwmScript: DefaultHilight warna
Menentukan warna hilight lalai untuk digunakan. Jika tidak dinyatakan dengan arahan ini
atau dalam skrip dengan arahan HilightColor, grey100 digunakan.

*FvwmScript: DefaultShadow warna
Menentukan warna bayang lalai yang akan digunakan. Jika tidak dinyatakan dengan arahan ini
atau dalam skrip dengan arahan ShadowColor, grey55 digunakan.

*FvwmScript: DefaultColorset set warna
Memberitahu modul untuk menggunakan set warna set warna sebagai set warna lalai. Merujuk kepada
Halaman lelaki FvwmTheme untuk butiran tentang colorset.

ANATOMY OF A SCRIPT


FvwmScript menggunakan bahasa pengaturcaraan tertentu. Skrip terdiri daripada lima bahagian.
Tajuk mengandungi ciri umum tetingkap dan sifat lalai untuk semua
widget. Bahagian kedua mengandungi arahan yang dilaksanakan pada permulaan
skrip. Bahagian ketiga mengandungi tugas berkala yang dilaksanakan setiap saat. The
bahagian keempat mengandungi arahan yang dilaksanakan semasa keluar. Dan bahagian terakhir mengandungi
penerangan tentang widget. Widget terdiri daripada sebelas jenis item: label teks,
input teks satu baris, butang radio, kotak semak, butang tekan, mendatar dan menegak
bar skrol, segi empat tepat, menu timbul, swallowexecs dan bar skrol mini.

KETUA OF A SCRIPT


Sintaks adalah seperti berikut:

WindowTitle rentetan
Pilihan ini menetapkan tajuk tetingkap.

Saiz Tetingkap lebar ketinggian
Pilihan ini menetapkan saiz tetingkap. lebar and ketinggian adalah nilai berangka.

WindowPosition x y
Pilihan ini menetapkan kedudukan tetingkap. x and y adalah nilai berangka.

ForeColor {warna}
Pilihan ini menetapkan warna latar depan lalai untuk semua widget.

Warna Belakang {warna}
Pilihan ini menetapkan warna latar belakang lalai untuk semua widget.

HilightColor {warna}
Pilihan ini menetapkan warna sorotan lalai untuk semua widget.

ShadowColor {warna}
Pilihan ini menetapkan warna bayang lalai untuk semua widget.

Set warna {n}
Pilihan ini menetapkan set warna lalai untuk semua widget.

Fon {font}
Pilihan ini menetapkan fon lalai untuk semua widget.

GunakanGettext [locale_path]
Dayakan penggunaan mekanisme gettext yang digunakan oleh WindowLocaleTitle,
LocaleTitle, arahan ChangeLocaleTitle dan fungsi Gettext. Jika tidak
hujah diberikan, katalog setempat FvwmScript lalai digunakan. Katalog ini ialah
di bawah direktori pemasangan fvwm setempat dan domain teks ialah FvwmScript
(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo). Anda boleh menetapkan semula ini
katalog atau tambah beberapa katalog dengan cara yang sama berbanding dengan LocalePath fvwm
arahan (lihat halaman manual fvwm). Arahan ini hendaklah diletakkan sebelum
Arahan WindowLocaleTitle.

WindowLocaleTitle rentetan
Pilihan ini menetapkan tajuk tetingkap, tetapi gunakan katalog setempat yang ditakrifkan dengannya
GunakanGettext.

INISIISASI


Bahagian ini mengandungi arahan yang akan dilaksanakan pada permulaan. Sebagai contoh:
Di dalamnya
Memulakan
Lakukan "Exec cat tada.voc > /dev/dsp"
WarpPointer 1
Tetapkan $ToDo=Mulakan Semula
akhir
Arahan ini digunakan untuk memainkan bunyi, mengalihkan penunjuk ke widget 1 dan ke
mulakan $ToDo kepada "Mulakan Semula" pada setiap permulaan.

BERKALA TASKS


Bahagian skrip ini mengandungi arahan yang dilaksanakan setiap saat. Untuk
contoh:
Tugas Berkala
Memulakan
Jika (RemainderOfDiv (GetTime) 10)==0 Kemudian
Lakukan {Exec xcalc}
akhir
Contoh ini menunjukkan cara melancarkan xcalc setiap 10 saat.

THE BERHENTI FUNGSI


Bahagian skrip ini mengandungi arahan yang dilaksanakan apabila skrip keluar
(selepas arahan Berhenti atau jika anda menutup tetingkap dengan Tutup, Padam atau Musnah
arahan fvwm). Sebagai contoh
QuitFunc
Memulakan
Lakukan {Echo bye, bye}
akhir
Harap maklum bahawa jika anda menggunakan perintah KillModule fvwm untuk menutup skrip, beberapa
arahan atau fungsi yang bergantung kepada kewujudan hubungan komunikasi antara
skrip dan fvwm tidak akan dilaksanakan (contohnya arahan Do). Untuk membunuh dengan lancar a
skrip dengan arahan fvwm lihat PERINTAH bawah seksyen ini.

UTAMA OF A SCRIPT


Bahagian kedua skrip mengandungi penerangan untuk setiap widget dalam skrip.
Setiap perihalan widget mempunyai dua bahagian. Bahagian pertama menerangkan sifat awal, iaitu
bahagian kedua mengandungi arahan yang dilaksanakan apabila widget menerima mesej.
Semua widget boleh menghantar dan menerima mesej. Semua mesej dikenal pasti dengan nombor. The
mesej "UserAction" dihantar ke widget apabila pengguna mengendalikan widget. Sintaks
untuk bahagian pertama ialah:
Id widget # Nombor antara 1 dan 999 termasuk
Harta
Taip rentetan
Saiz lebar tinggi
Kedudukan xy
Tajuk { rentetan }
Nilai int
MaxValue int
MinValue int
Rentetan fon
ForeColor { warna }
BackColor { warna }
HilightColor { warna }
ShadowColor { warna }
Set warna int
Bendera benderaOpt
Pilihan flagsOpt kepada Flags ialah senarai yang diasingkan ruang yang mengandungi satu atau lebih daripada
kata kunci Tersembunyi, NoReliefString, Tiada Fokus, Left / Pusat / Kanan. Tersembunyi digunakan untuk
nyatakan jika widget disembunyikan semasa permulaan. NoReliefString menentukan jika rentetan dilukis
dengan lega atau tidak. Tiada Fokus menentukan sama ada widget boleh mendapatkan fokus papan kekunci atau tidak.
Secara lalai semua widget mengambil fokus, kecuali Rectangle, HDipstick dan VDipstick yang tidak boleh.
Selain itu, widget NoFocus dilangkau apabila anda mengedarkan widget dengan
(Shift-)Pintasan tab. Left / Pusat / Kanan menentukan kedudukan teks. Ini terpakai
hanya kepada ItemDraw, List, Menu, PopupMenu dan PushButton. Lalainya ialah Pusat untuk ItemDraw
dan PushButton dan Left untuk widget lain.

LocaleTitle boleh digunakan sebagai ganti Title, untuk menggunakan katalog locale yang ditakrifkan dengan
GunakanGettext.

Kedudukan setiap widget mesti ditentukan.

Sintaks untuk bahagian kedua ialah:
Utama
Mesej kes daripada
SingleClic:
Memulakan
# senarai arahan yang akan
# dilaksanakan apabila widget menerima
# mesej "SingleClic". Mesej ini ialah
# dihasilkan oleh pengguna.
akhir
1:
Memulakan
# senarai arahan yang akan
# dilaksanakan apabila widget menerima
# mesej 1
akhir
akhir

SENARAI OF WIDGET


Terdapat lima belas jenis widget.

Kotak semak: Paparkan kotak semak dengan rentetan.

Title: tajuk kotak semak.

nilai: jika Nilai bersamaan dengan 1, kotak ditandakan jika tidak.

. Saiz harta benda diabaikan.

HDipstick: Paparkan batang celup mendatar.
Widget ini boleh digunakan untuk memaparkan penggunaan cakera.

nilai: tentukan nilai semasa batang celup.

MinValue: nyatakan nilai minimum batang celup.

MaxValue: tentukan nilai maksimum batang celup.

Saiz minimum 30x11 dikenakan.

HSrollBar: Paparkan bar skrol mendatar.

nilai: kedudukan ibu jari.

MaxValue: had atas Nilai.

MinValue: had nilai yang lebih rendah.

Sifat ketinggian diabaikan dan lebar minimum dikenakan. Lebar sepatutnya
sekurang-kurangnya julat tambah 37 jika semua nilai boleh dipilih cth min 0 dan
maks 10 mempunyai julat 11 dan oleh itu harus mempunyai lebar minimum 48.

ItemDraw: Paparkan ikon dan/atau rentetan.

Title: rentetan untuk dipaparkan.

Icon: ikon untuk dipaparkan.

MaxValue: x koordinat kursor.

MinValue: y koordinat kursor.

Saiz dibuat cukup besar untuk mengandungi tajuk dan/atau ikon.

senarai: Paparkan senarai.
Senarai membolehkan pengguna memilih antara pelbagai pilihan.

nilai: tentukan pilihan yang dipilih.

MinValue: Pilihan pertama yang boleh dilihat.

Title: tajuk mengandungi pilihan yang dipaparkan dalam senarai. Sintaksnya adalah seperti berikut:
{Pilihan 1|Pilihan 2|...|Pilihan N}. Semua menu dipaparkan di bahagian atas tetingkap.

Ketinggian minimum tiga item dikenakan dan lebar dibuat sekurang-kurangnya
108.

Menu: Paparkan menu yang membolehkan pengguna memilih pilihan.
Item jenis Menu dibentangkan dari kiri ke kanan di sepanjang bahagian atas tetingkap.
Sifat saiz dan kedudukan diabaikan.

nilai: tentukan pilihan yang dipilih.

Title: tajuk mengandungi pilihan yang dipaparkan dalam menu. Sintaksnya adalah seperti berikut:
{Pilihan 1|Pilihan 2|...|Pilihan N}.

Tatal Mini: Paparkan bar skrol menegak yang sangat kecil.

nilai: kedudukan ibu jari.

MaxValue: had atas Nilai.

MinValue: had nilai yang lebih rendah.

Saiz ditetapkan kepada 19x34.

PopupMenu: Paparkan menu timbul.

nilai: nyatakan pilihan yang dipilih.

Title: tajuk mempunyai sintaks berikut: {Pilihan 1|Pilihan 2|...|Pilihan N}."Pilihan
1|Pilihan 2|...|Pilihan N" ialah menu pop timbul yang dipaparkan apabila menekan tetikus
.

Sifat saiz diabaikan.

Tekan butang: Paparkan butang tekan dengan ikon dan/atau rentetan.

Title: rentetan ini mempunyai sintaks berikut {Tajuk butang|Pilihan 1|Pilihan
2|Pilihan3|...|Pilihan N}. "Pilihan 1|Pilihan 2|...|Pilihan N" ialah menu timbul yang
dipaparkan apabila menekan butang kanan.

Icon: ikon untuk dipaparkan.

Butang dibuat cukup besar untuk memuatkan ikon dan atau label.

Butang radio: Paparkan butang radio dengan rentetan.

Title: tajuk butang radio.

nilai: jika Nilai bersamaan dengan 1, kotak ditandakan jika tidak.

Sifat saiz diabaikan

Segi empat tepat: Paparkan segi empat tepat.
Widget jenis ini boleh digunakan untuk menghias tetingkap.

SwallowExec
Jenis widget ini menyebabkan FvwmScript menghasilkan proses dan menangkap yang pertama
tetingkap yang nama atau sumbernya sama dengan Tajuk, dan paparkannya dalam skrip
tingkap.

Title: tentukan nama tetingkap yang akan ditangkap dan dipaparkan dalam skrip
tingkap.

SwallowExec: tentukan baris arahan untuk dilaksanakan untuk melahirkan proses. Modul boleh
juga boleh ditelan.

nilai: nyatakan rupa sempadan. Nilai yang mungkin: -1, 0, 1.

Saiz dibuat sekurang-kurangnya 30x30

Bidang Teks: Paparkan medan input teks.
Medan input teks boleh digunakan untuk mengedit rentetan satu baris.

Title: kandungan medan teks.

nilai: kedudukan titik sisipan.

MinValue: kedudukan akhir pemilihan.

MaxValue: watak pertama yang kelihatan pada tajuk

Sifat ketinggian diabaikan, lebar dibuat sekurang-kurangnya 40 piksel lebih lebar
daripada kandungan awal.

VDipstick: Paparkan batang celup menegak.

nilai: tentukan nilai semasa batang celup.

MinValue: nyatakan nilai minimum batang celup.

MaxValue: tentukan nilai maksimum batang celup.

Saiz dibuat sekurang-kurangnya 11x30.

VScrollBar: Paparkan bar skrol menegak.

nilai: kedudukan ibu jari.

MaxValue: had atas Nilai.

MinValue: had nilai yang lebih rendah.

Sifat lebar diabaikan dan ketinggian minimum dikenakan. Ketinggian sepatutnya
sekurang-kurangnya julat tambah 37 jika semua nilai boleh dipilih cth min 0
dan maks 10 mempunyai julat 11 dan oleh itu harus mempunyai ketinggian minimum 48.

ARAHAN


Berikut ialah huraian semua arahan.

HideWidget id : sembunyikan widget bernombor id.

ShowWidget id: tunjukkan widget bernombor id.

ChangeValue Id1 Id2
Tetapkan nilai widget bernombor Id1 kepada Id2.

ChangeMaxValue Id1 Id2
Tetapkan nilai maksimum widget bernombor Id1 kepada Id2.

ChangeMinValue Id1 Id2
Tetapkan nilai minimum widget bernombor Id1 kepada Id2.

TukarTajuk Id1 Id2
Tetapkan tajuk widget bernombor Id1 kepada Id2.

ChangeWindowTitle rentetan
Tetapkan tajuk tetingkap kepada rentetan.

ChangeWindowTitleFromArg numarg
Tetapkan tajuk tetingkap kepada nilai numarg-hujah skrip ke-.

ChangeLocaleTitle Id1 Id2
Sebagai ChangeTitle tetapi gunakan katalog setempat yang ditakrifkan dengan UseGettext.

ChangeIcon Id1 Id2
Tetapkan ikon widget bernombor Id1 kepada Id2.

ChangeForeColor Id1 {warna}
Tetapkan warna latar depan widget bernombor Id1 kepada {warna}.

ChangeBackColor Id1 {warna}
Tetapkan warna latar belakang widget bernombor Id1 kepada {warna}.

ChangeColorSet Id1 Id2
Tetapkan set warna widget bernombor Id1 kepada Id2. Menentukan widget 0 menetapkan
set warna tetingkap utama.

ChangePosition Id1 x y
Gerakkan widget bernombor Id1 untuk kedudukan (x,y).

ChangeSize Id1 lebar ketinggian
Tetapkan saiz widget bernombor Id1 ke (lebar,ketinggian).

ChangeFont Id1 fon baru
Tetapkan fon widget bernombor Id1 kepada fon baru.

WarpPointer id
Warpkan penunjuk tetikus ke dalam widget bernombor id.

WriteToFile nama fail {str1} {str2} dan lain-lain
Tulis ke fail nama fail rentetan yang merupakan gabungan semua hujah
str1, str2, Dll

buat {arahan args}
Jalankan arahan fvwm di dalam blok Do. Mana-mana arahan fvwm seperti yang diterangkan dalam
halaman manual fvwm2 boleh digunakan. Perintah dihantar dari modul ini ke fvwm utama
program untuk pemprosesan. Panjang arahan dan hujah tidak boleh melebihi 988
watak-watak.

Tetapkan $var={str1} {str2} dan lain-lain
Gabungkan semua hujah kepada rentetan dan tetapkan pembolehubah $var kepada rentetan ini.

Berhenti: berhenti program.

SendSignal Id1 Id2
Hantar mesej bernombor Id2 kepada widget Id1.

SendToScript id_skrip {str11} {str2} dan lain-lain
Hantar mesej kepada skrip yang dikenal pasti oleh id_script. Mesejnya ialah
penyatuan str1, str2...

Utama nama kunci Perubahan id Sig str1 str2 dan lain-lain
Mengikat kekunci papan kekunci pada arahan

SendSignal id Sig

dan menetapkan "rentetan terakhir" kepada gabungan str1, str2... (lihat
Fungsi LastString). The nama kunci and Pengubah medan ditakrifkan seperti dalam fvwm
Perintah kunci.

HUJAH


Kebanyakan arahan menggunakan hujah. Terdapat dua jenis hujah: nombor dan rentetan. A
hujah berangka ialah nilai antara -32000 dan +32000. Rentetan sentiasa
dikelilingi dengan pendakap gigi. Pembolehubah sentiasa bermula dengan aksara "$" dan boleh mengandungi kedua-duanya
nombor dan rentetan.

FUNGSI


Semua fungsi menggunakan hujah. Fungsi boleh mengembalikan kedua-dua rentetan dan nombor. Sintaks
ialah:
(fungsi argument1 argument2 dll)
Berikut ialah senarai lengkap hujah:

(GetTitle id)
Kembalikan tajuk widget bernombor id.

(GetValue id)
Kembalikan nilai semasa widget bernombor id.

(GetMinValue id)
Kembalikan nilai Min semasa bagi widget bernombor id.

(GetMaxValue id)
Kembalikan nilai Max semasa widget bernombor id.

(GetFore id)
Kembalikan nilai latar depan RGB semasa widget bernombor id dalam format hex
RRGGBB.

(GetBack id)
Kembalikan nilai latar belakang RGB semasa widget bernombor id dalam format hex
RRGGBB.

(GetHilight id)
Kembalikan nilai sorotan RGB semasa widget bernombor id dalam format hex
RRGGBB.

(GetShadow id)
Kembalikan nilai bayangan RGB semasa widget bernombor id dalam format hex
RRGGBB.

(GetOutput {str} int1 int2)
Melaksanakan arahan str, mendapat output standard dan mengembalikan perkataan yang ada dalam
garis int1 dan dalam kedudukan int2. Jika int2 adalah sama dengan -1, GetOutput kembali
baris yang lengkap.

(NumToHex int)
Kembalikan nilai perenambelasan bagi int.

(HexToNum {str})
Kembalikan nilai perpuluhan bagi str, str mestilah nilai heksadesimal.

(Tambah int1 int2)
Kembalikan hasil (int1+int2).

(Berbilang int1 int2)
Kembalikan hasil (int1*int2).

(Div int1 int2)
Kembalikan hasil (int1/int2).

(StrCopy {str} int1 int2)
Kembalikan rentetan yang berada di antara kedudukan int1 dan int2. Sebagai contoh, (StrCopy
{Hello} 1 2) kembali {He}

(LaunchScript {str})
Fungsi ini melancarkan skrip bernama str dan mengembalikan nombor pengenalan.
Nombor ini diperlukan untuk menggunakan fungsi SendToScript dan ReceiveFromScript.
Str rentetan mengandungi nama skrip dan beberapa argumen.

(GetScriptArgument {int})
Fungsi ini mengembalikan skrip argumen yang digunakan dalam fungsi LaunchScript. Jika
int adalah sama dengan sifar, GetScriptArgument mengembalikan nama skrip.

(GetScriptFather)
Fungsi ini mengembalikan nombor pengenalan bapa skrip.

(ReceivFromScript {int})
Fungsi ini mengembalikan mesej yang dihantar oleh skrip bernombor int.

(RemainderOfDiv {int1 int2}): t
Fungsi ini mengembalikan baki bahagian (int1/int2).

(GetTime)
Fungsi ini mengembalikan masa dalam beberapa saat.

(GetPid)
Fungsi ini mengembalikan id proses skrip.

(Gettext {str})
Fungsi ini mengembalikan terjemahan str dengan menggunakan katalog setempat yang ditentukan
dengan UseGettext.

(SendMsgAndGet {comId} {cmd} bool)
Menghantar arahan cmd dengan pengecam comId kepada program luar sedia untuk
berkomunikasi dengan skrip menggunakan protokol khusus untuk FvwmScript. Jika bool adalah 0
FvwmScript tidak menunggu jawapan daripada program luaran. Dalam kes ini
nilai yang dikembalikan ialah 1 jika mesej boleh dihantar ke program luaran dan 0 jika
ini tidak berlaku. Jika bool ialah 1, maka FvwmScript menunggu jawapan daripada
program luaran dan nilai pulangan ialah jawapan ini (baris tidak lebih daripada 32000
watak). Jika komunikasi gagal, nilai yang dikembalikan ialah 0. Lihat bahagian
A KOMUNIKASI PROTOKOL untuk penerangan tentang protokol komunikasi yang digunakan.

(Menghuraikan {str} int)
di mana str mestilah rentetan bentuk:
X1S1X2S2X3S3...SnXn
dengan Xn ialah nombor yang mengandungi empat digit perpuluhan dan dengan Sn ialah rentetan
panjang tepat Xn. Nilai yang dikembalikan ialah rentetan Sint. Jika int berada di luar jangkauan
(cth, >n) nilai yang dikembalikan ialah rentetan kosong. Jika str bukan daripada yang ditentukan
bentuk, nilai pulangan tidak dapat diramalkan (tetapi kosong dalam purata). Fungsi ini
berguna untuk mengendalikan rentetan yang dikembalikan oleh fungsi SendMsgAndGet.

(LastString)
Fungsi ini mengembalikan "rentetan kerja semasa" untuk arahan Kunci dan
Perintah SendString (lihat PERINTAH bahagian). Pada permulaan rentetan ini kosong, tetapi
apabila pengikatan Kunci dikesan (masing-masing, arahan SendString diterima),
maka rentetan ini ditetapkan kepada rentetan yang dikaitkan dengan arahan (masing-masing,
kepada perintah).

SYARAT GELANG


Terdapat tiga jenis gelung bersyarat. Arahan "If-Then-Else" mempunyai
sintaks berikut:
Jika $ToDo =={Open xcalc} Kemudian
Lakukan {Exec xcalc &} # Senarai arahan
Yang lain
Memulakan
Lakukan {Exec killall xcalc &} # Senarai arahan
Adakah {Exec echo xcalc dibunuh > /dev/console}
akhir
Bahagian kedua "Else-Begin-End" adalah pilihan. Jika gelung mengandungi hanya satu arahan,
Mula dan Tamat boleh ditinggalkan. Arahan "While-Do" mempunyai sintaks berikut:
Manakala $i<5 Do
Memulakan
Set $i=(Tambah i 1) # Senarai arahan
akhir
Dua rentetan boleh dibandingkan dengan "==" dan dua nombor boleh dibandingkan dengan "<", "<=",
"=", ">=", ">". Gelung "For-Do-Begin-End" mempunyai sintaks berikut:
Untuk $i=1 Hingga 20 Lakukan
Memulakan
Lakukan {Exec xcalc &} # Senarai arahan
akhir

PERINTAH


Perintah fvwm berikut boleh dilaksanakan pada bila-bila masa

SendToModule Nama Skrip SendString id Sig str

ia dihantar ke mana-mana modul dengan alias atau nama yang sepadan Nama Skrip tali itu

SendString id Sig str

Apabila FvwmScript menerima mesej sedemikian, ia dihantar ke Widget id isyarat bernombor
Sig dan rentetan str boleh diperolehi dengan fungsi LastString. Marilah kita memberi
contoh. Katakan bahawa anda mempunyai skrip MyScript dengan widget:
Widget 50
Harta
Taip Butang Tekan
Tajuk {Berhenti}
...
Utama
Mesej kes daripada

SingleClic:
Memulakan
Berhenti
akhir

1:
Memulakan
Tetapkan $str = (LastString)
Jika $str == {Quit} Kemudian
Berhenti
Yang lain
ChangeTitle 33 $str
akhir

akhir
Kemudian perintah
SendToModule MyScript SendString 50 1 str
memaksa MyScript untuk keluar jika str sama dengan "Quit" dan jika tidak ia menukar tajuk
Widget 33 hingga str.

Perintah ini boleh digunakan untuk menukar tajuk tetingkap

SendToModule Nama Skrip ChangeWindowTitle Tajuk baru [Tajuk lama]

ia menyebabkan mana-mana modul dengan alias atau nama yang sepadan Nama Skrip mengubahnya
tajuk tetingkap yang berkaitan dengan Tajuk baru. Hujah pilihan Tajuk lama masuk akal bila ada
adalah beberapa contoh skrip yang sama. Ia membenarkan seseorang untuk mengelak daripada menukar nama
semua kejadian ini dengan menyatakan nama tetingkap yang dikaitkan dengan skrip sasaran
(lihat contoh di bawah).

+ I Modul FvwmScript FvwmStorageSend "/dev/hda6"
+ Saya Tunggu FvwmStorageSend
+ Saya SendToModule FvwmStorageSend ChangeWindowTitle HDA6
+ I Modul FvwmScript FvwmStorageSend "/dev/hda1"
+ Saya Tunggu FvwmStorageSend
+ Saya SendToModule FvwmStorageSend ChangeWindowTitle HDA1 FvwmStorageSend

Tanpa hujah FvwmStorageSend dalam kes terakhir, arahan SendToModule akan mempunyai
ditukar kepada HDA1 nama kedua-dua contoh FvwmStorageSend.

CONTOH


Anda akan menemui contoh skrip dalam direktori konfigurasi fvwm.

FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup dan FvwmScript-
ScreenSetup ialah satu set skrip yang mengubah suai tetapan X. Skrip ini menyimpan pilihan
ke dalam fail bernama ~/.xinit-fvwmrc (Jika anda ingin menggunakan nama fail lain, berikannya sebagai
hujah pertama skrip). Jika anda ingin memuatkan pilihan ini pada setiap permulaan,
anda perlu memasukkan baris ".xinit-fvwmrc" dalam fail .xinitrc (atau .xsession) anda sebelum
bermula fvwm.

FvwmScript-BaseConfig mengubah suai fokus fvwm dan dasar tetikus paging, peletakan tetingkap,
kelegapan dan ciri-ciri lain pergerakan dan ubah saiz perintah, tarikan snap dan teduhan
animasi. Skrip ini menyimpan pilihan ke dalam fail bernama .FvwmBaseConfig dalam pengguna
direktori data (iaitu, $HOME/.fvwm atau $FVWM_USERDIR jika ditetapkan). Jika anda ingin memuatkan ini
keutamaan pada setiap permulaan anda mesti menambah baris "Baca .FvwmBaseConfig" dalam fvwm anda
fail konfigurasi. Jika anda ingin menggunakan nama fail lain, berikan ia sebagai hujah pertama
daripada skrip. Apabila anda mengklik Ok atau Guna fungsi fvwm yang mungkin anda tentukan bernama
BaseConfigOkFunc atau BaseConfigApplyFunc dipanggil. Ini membolehkan untuk memuat semula khusus
gaya aplikasi yang telah dimusnahkan oleh skrip (cth, AddToFunc BaseConfigOkFunc I Read
MyAppStyle).

FvwmScript-Buttons ialah panel butang yang boleh menggantikan FvwmButtons (skrip ini menyokong
menu timbul dan memerlukan xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset membenarkan
anda untuk mengedit set warna anda (lihat FvwmTheme). FvwmScript-Date membolehkan anda menetapkan tarikh dan
masa. FvwmScript-FileBrowser ialah pelayar fail yang digunakan oleh skrip lain. FvwmScript-
Cari ialah bahagian hadapan asas untuk dicari. FvwmScript-Quit membenarkan seseorang untuk berhenti dari fvwm, mulakan semula
fvwm atau pengurus tetingkap lain, atau matikan dan but semula komputer. FvwmScript-
ScreenDump ialah dumper skrin. FvwmScript-WidgetDemo ialah skrip contoh tulen. Lihat
bahagian seterusnya untuk FvwmScript-ComExample.

A KOMUNIKASI PROTOKOL


FvwmScript ialah bahasa pengaturcaraan yang lemah (tetapi mudah). Jika anda perlu berurusan dengan banyak
data dan/atau anda perlu menggunakan algoritma kompleks anda harus menggunakan program luaran (dalam perl
contohnya) dan "hantar" maklumat yang dikehendaki ke skrip FvwmScript anda. Yang pertama
pendekatan adalah menggunakan fungsi GetOutput. Ini mudah tetapi anda harus menjalankan semula anda
program luaran setiap kali anda memerlukan maklumat daripadanya (dan ini boleh menyebabkan persembahan
masalah). Pendekatan kedua ialah menggunakan fungsi SendMsgAndGet yang meluas
FvwmScript dengan menggunakan mana-mana bahasa pengaturcaraan yang boleh menangani paip bernama (fifos). Kami
huraikan penyelesaian ini dalam bahagian ini. (Pendekatan ketiga ialah menggunakan fvwm-themes-com dari
pakej fvwm-themes, tetapi sebenarnya kaedah SendMsgAndGet adalah pelaksanaan
fvwm-themes-com di dalam FvwmScript dan ini memberikan prestasi yang lebih baik).

Pada asasnya, anda memulakan program "luaran" (pendek kata program) daripada FvwmScript anda
skrip (skrip untuk pendek). Program ini berjalan di latar belakang dan anda menggunakan
SendMsgAndGet berfungsi dalam skrip anda untuk bertanya soalan atau memberi arahan kepada
program. Program ini mesti menghormati protokol komunikasi tertentu. Pertama daripada
semua ada pengecam comId untuk komunikasi, ia harus mengandungi id proses
skrip untuk pelaksanaan protokol yang baik (gunakan fungsi GetPid dan pas
yang comId melalui pilihan kepada program). Protokol menggunakan dua fifos, dalam pengguna fvwm
direktori, bernama: .tmp-com-in-comId dan .tmp-com-out-comId. Program ini harus mencipta dan
dengar di .tmp-com-in-comId fifo. Kemudian, apabila FvwmScript melaksanakan fungsi
bentuk:

Tetapkan $answer = (SendMsgAndGet {comId} {cmd} bool)

FvwmScript menulis cmd pada fifo ini. Dengan cara ini program boleh membaca cmd dan boleh
laksanakan tindakan yang sesuai (ia harus mengeluarkan in fifo untuk menyokong multi-
komunikasi). Jika bool ialah 0, FvwmScript tidak menunggu jawapan daripada program dan
kembalikan 1 jika tindakan sebelumnya berjaya dan 0 jika gagal (maka program harus "pergi
kembali" kepada in fifo). Jika bool ialah 1, kemudian FvwmScript menunggu (20 saat) untuk jawapan daripada
program dan seterusnya mengembalikan jawapan kepada skrip (perhatikan bahawa bool tidak diluluskan kepada
program kerana ia mesti tahu arahan mana yang memerlukan jawapan). Untuk menjawab, program mencipta
yang .tmp-com-out-comId fifo dan menulis jawapan di atasnya. Program ini perlu menunggu sehingga
FvwmScript membaca jawapan dan kemudian ia harus mengeluarkan fifo keluar dan kembali ke masuk
fifo. Jawapannya hendaklah terdiri daripada satu baris tidak lebih daripada 32000 aksara (lihat
pada fungsi Parse untuk mengendalikan berbilang baris sebagai satu baris).

Cara mudah untuk memahami protokol ini dan menulis skrip dan program yang menggunakannya ialah
untuk melihat contoh (tidak berguna) FvwmScript-ComExample dan fvwm-script-
ComExample.pl (yang boleh didapati dalam direktori data fvwm). Lebih-lebih lagi, pelaksanaan ini
protokol menyelesaikan soalan seperti: Apa yang perlu dilakukan jika skrip keluar atas sebab yang tidak baik?
Apa yang perlu dilakukan jika program keluar atas sebab yang tidak baik? ...dan lain-lain.

Gunakan FvwmScript dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    Pemuat but Clover EFI
    Pemuat but Clover EFI
    Projek telah berpindah ke
    https://github.com/CloverHackyColor/CloverBootloader..
    Ciri:Buat macOS, Windows dan Linux
    dalam UEFI atau mod lama pada Mac atau PC dengan
    UE...
    Muat turun pemuat but Clover EFI
  • 2
    unitedrpms
    unitedrpms
    Sertai kami dalam Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Dayakan repositori URPMS dalam anda
    sistem -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Muat turun unitedrpms
  • 3
    Meningkatkan Perpustakaan C ++
    Meningkatkan Perpustakaan C ++
    Boost menyediakan mudah alih percuma
    perpustakaan C++ semakan rakan sebaya. The
    penekanan adalah pada perpustakaan mudah alih yang
    berfungsi dengan baik dengan Perpustakaan Standard C++.
    Lihat http://www.bo...
    Muat turun Perpustakaan Boost C++
  • 4
    VirtualGL
    VirtualGL
    VirtualGL mengubah hala arahan 3D daripada a
    Aplikasi OpenGL Unix/Linux ke a
    GPU sebelah pelayan dan menukarkan
    memberikan imej 3D ke dalam aliran video
    dengan yang...
    Muat turun VirtualGL
  • 5
    libusb
    libusb
    Perpustakaan untuk membolehkan ruang pengguna
    program aplikasi untuk berkomunikasi
    Peranti USB. Khalayak: Pembangun, Tamat
    Pengguna/Desktop. Bahasa Pengaturcaraan: C.
    kategori...
    Muat turun libusb
  • 6
    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
  • Lebih »

Arahan Linux

Ad