ภาษาอังกฤษอาหารฝรั่งเศสสเปน

ไอคอน Fav ของ OnWorks

FvwmPerl - ออนไลน์ในคลาวด์

เรียกใช้ FvwmPerl ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง FvwmPerl ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


FvwmPerl - ตัวจัดการ fvwm Perl และตัวประมวลผลล่วงหน้า

เรื่องย่อ


FvwmPerl ควรเกิดจาก fvwm(1) สำหรับการใช้งานปกติ

ในการรันโมดูลนี้ ให้วางคำสั่งนี้ไว้ที่ใดที่หนึ่งในการกำหนดค่า:

โมดูล FvwmPerl [พารามิเตอร์]

หรือ:

โมดูลซิงโครไนซ์ FvwmPerl [พารามิเตอร์]

หากคุณต้องการเริ่มส่งคำสั่งไปยัง FvwmPerl ทันที

DESCRIPTION


โมดูลนี้มีวัตถุประสงค์เพื่อขยายคำสั่ง fvwm ด้วยพลังการเขียนสคริปต์ Perl ช่วยให้
เพื่อฝังนิพจน์ Perl ในไฟล์กำหนดค่า fvwm และสร้างคำสั่ง fvwm

การร้องขอ


หากคุณต้องการเรียกใช้ FvwmPerl อินสแตนซ์ที่ไม่ซ้ำกันและต่อเนื่อง ขอแนะนำให้
ทำสิ่งนี้จาก ฟังก์ชั่นเริ่มต้น. เรียกจากด้านบนก็เป็นไปได้ แต่เกี่ยวข้องกับ
บางประเด็นที่ไม่ได้กล่าวถึงในที่นี้

AddToFunc StartFunction I โมดูล FvwmPerl

มีสวิตช์บรรทัดคำสั่งหลายตัว:

Fvwmเพิร์ล [ --ประเมิน ไลน์ ] [ --โหลด ไฟล์ ] [ --การประมวลผลล่วงหน้า [ --อ้าง ถ่าน ] [ --วินิด กว้าง ] [
--ซม ] [ --ส่งจมูก ] [ --noremove ] [ ไลน์ | ไฟล์ ] ] [ --ส่งออก [ชื่อ] ] [ --อยู่ ] [
--โนล็อค ] [ นามแฝง ]

สวิตช์แบบยาวอาจย่อมาจากสวิตช์แบบตัวอักษรเดียวแบบสั้น

-e|--ประเมิน บรรทัด - ประเมินรหัส Perl ที่กำหนด

-l|--โหลด ไฟล์ - ประเมินรหัส Perl ในไฟล์ที่กำหนด

-p|--การประมวลผลล่วงหน้า [ ไฟล์ ] - ประมวลผลไฟล์กำหนดค่า fvwm ที่กำหนดล่วงหน้า

5 ตัวเลือกต่อไปนี้ใช้ได้เฉพาะร่วมกับ --การประมวลผลล่วงหน้า ตัวเลือก

-c|--ซม บรรทัด - คำสั่ง fvwm ที่จะประมวลผลล่วงหน้าแทน file

-q|--อ้าง ถ่าน - เปลี่ยนค่าเริ่มต้น '%' ใบเสนอราคา

-w|--วินิด wid - ตั้งค่าบริบทหน้าต่างที่ชัดเจน (ควรเริ่มต้นด้วยตัวเลข อาจอยู่ใน ต.ค. หรือ
แบบฟอร์มฐานสิบหก; รหัสหน้าต่างนี้เขียนทับบริบทหน้าต่างโดยปริยาย หากมี)

--ส่งจมูก - ห้ามส่งไฟล์ที่ประมวลผลล่วงหน้าไปที่ fvwm for อ่านing ค่าเริ่มต้นคือส่ง
มีประโยชน์สำหรับการประมวลผลล่วงหน้าไฟล์กำหนดค่าที่ไม่ใช่ fvwm

--noremove - ห้ามลบไฟล์ที่ประมวลผลล่วงหน้าหลังจากส่งไปที่ fvwm for อ่านอิ้ง,
ค่าเริ่มต้นคือลบ มีประโยชน์สำหรับการดีบัก

-x|--ส่งออก [ชื่อ] - กำหนดฟังก์ชันทางลัด fvwm (โดยค่าเริ่มต้น ฟังก์ชันสองชื่อคือ
"Eval" และ "") ตัวเลือกนี้หมายถึง --อยู่.

-s|--อยู่ - ดำเนินการต่อไปหลังจาก --ประเมิน, --โหลด or --การประมวลผลล่วงหน้า กำลังดำเนินการ โดย
ค่าเริ่มต้น โมดูลจะไม่คงอยู่ในกรณีนี้ เช่น --โนสเตย์ สันนิษฐาน

--โนล็อค - เมื่อมีหนึ่งใน 3 ตัวเลือกการดำเนินการ ตัวเลือกนี้จะทำให้เกิดการปลดล็อก fvwm
โดยทันที. โดยค่าเริ่มต้น การดำเนินการที่ร้องขอจะดำเนินการพร้อมกัน สิ่งนี้ทำให้
ความแตกต่างเมื่อเรียกใช้เช่น:

ModuleSynchronous FvwmPerl -- ประมวลผล someconfig.ppp ล่วงหน้า

If --โนล็อค ถูกเพิ่มที่นี่ โมดูลซิงโครนัส กลับมาทันที สังเกตว่า โมดูล รับคืน
ทันทีโดยไม่คำนึงถึงตัวเลือกนี้

ใช้ ALIAS


นามแฝงอนุญาตให้มีการเรียกใช้โมดูลหลายรายการและทำงานแยกกันกับการเรียกใช้ทั้งหมด
นี่คือตัวอย่าง:

โมดูลซิงโครนัส FvwmPerl FvwmPerl-JustTest
SendToModule FvwmPerl-JustTest ประเมิน $a = 2 + 2; $b = $a
SendToModule FvwmPerl-JustTest eval cmd("Echo 2 + 2 = $b")
KillModule FvwmPerl FvwmPerl-เพียงทดสอบ

การประมวลผลล่วงหน้า ตัวอย่าง


หนึ่งในโซลูชันโปรโพรเซสซิงที่มีประสิทธิภาพคือส่งผ่านการกำหนดค่า fvwm ทั้งหมดด้วย
ฝังโค้ด perl เป็น "FvwmPerl --preprocess" อีกวิธีหนึ่งคือการเขียน Perl
สคริปต์ที่สร้างคำสั่ง fvwm และส่งเพื่อดำเนินการ สคริปต์นี้อาจโหลดได้
ใช้ "FvwmPerl --load" มีวิธีแก้ปัญหาระดับกลางที่ประมวลผลล่วงหน้าเท่านั้น
แยกบรรทัดการกำหนดค่า (หรือดำเนินการคำสั่ง perl แยกต่างหากที่
สร้างคำสั่ง fvwm)

ข้อมูลโค้ดต่อไปนี้เพิ่มความสามารถของเลขคณิตและการเขียนสคริปต์สตริงให้กับบาง
สายที่ต้องการสิ่งนี้ ในการใช้สิ่งนี้ คุณต้องเริ่ม FvwmPerl เป็นคำสั่งแรกของคุณ ดังนั้น
เพื่อจะได้ขอให้เตรียมคำสั่งอื่นๆ ไว้ล่วงหน้า

โมดูลซิงโครไนซ์ FvwmPerl

AddToFunc
+ ฉัน SendToModule FvwmPerl พรีโพรเซส -c -- $*

. Exec exec xterm -name xterm-%{++$i}% # ใช้ชื่อเฉพาะ

. GotoDesk 0 %{ $[desk.n] + 1 }% # ไปที่โต๊ะถัดไป

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

#ตั้งกลางหน้าต่าง
ถัดไป (MyWindow) เคลื่อนไหว \
%{($WIDTH - $[w.width]) / 2}%p %{($HEIGHT - $[w.height]) / 2}%p

. Exec exec xmessage %{2 + 2}% # เครื่องคิดเลขอย่างง่าย

. %{main::show_message(2 + 2 "เป็นเครื่องคิดเลขอีกเครื่องหนึ่ง"); ""}%

การกระทำ


มีการดำเนินการหลายอย่างที่ FvwmPerl อาจดำเนินการ:

ประเมิน รหัส perl
ประเมินบรรทัดของรหัส Perl

ฟังก์ชั่นพิเศษ ซม.("สั่งการ") อาจใช้ในรหัส Perl เพื่อส่งคำสั่งกลับไปที่
fvwm.

หากรหัส Perl มีข้อผิดพลาด จะถูกพิมพ์ไปยังสตรีมข้อผิดพลาดมาตรฐานด้วย
[FvwmPerl][ประเมิน]: นำหน้าส่วนหัว

โหลด ชื่อไฟล์
โหลดไฟล์รหัส Perl หากไฟล์ไม่ผ่านการรับรองโดยสมบูรณ์ จะถูกค้นหาใน
ไดเร็กทอรีผู้ใช้ $FVWM_USERDIR (ปกติคือ ~/.fvwm) และไดเร็กทอรีข้อมูลทั้งระบบ
$FVWM_DATADIR

ฟังก์ชั่นพิเศษ ซม.("สั่งการ") อาจใช้ในรหัส Perl เพื่อส่งคำสั่งกลับไปที่
fvwm.

หากรหัส Perl มีข้อผิดพลาด จะถูกพิมพ์ไปยังสตรีมข้อผิดพลาดมาตรฐานด้วย
[FvwmPerl][โหลด]: นำหน้าส่วนหัว

ก่อนการประมวลผล [-q|--quote ถ่าน] [-c|--cmd] [เส้น | ไฟล์]
พรีโพรเซส fvwm config ไฟล์ หรือ (ถ้า --cmd ได้รับ) เส้น. ไฟล์นี้มีบรรทัดที่
ไม่ถูกแตะต้อง (โดยปกติคือคำสั่ง fvwm) และโค้ด Perl ที่จัดรูปแบบไว้ล่วงหน้าเป็นพิเศษนั่นคือ
แปรรูปและเปลี่ยน ข้อความที่อยู่ใน %{ ... }% ตัวคั่นที่อาจเริ่มต้นได้ทุกที่
บนบรรทัดและสิ้นสุดที่ใดก็ได้ในบรรทัดเดียวกันหรือบรรทัดอื่น คือรหัส Perl

โครงการ หุ้น พารามิเตอร์เปลี่ยนตัวคั่นรหัส Perl หากได้รับตัวอักษรตัวเดียวเช่น
'@' ตัวคั่นคือ @{ ... }@. ถ้าใบเสนอราคาที่กำหนดคือ 2 ตัวอักษรเช่น <>, คำพูด
เป็น <{ ... }>

รหัส Perl ถูกแทนที่ด้วยผลการประเมิน เช่น %{$a = "c"; ++$a}%
จะถูกแทนที่ด้วย "d"

การประเมินไม่เหมือน ประเมิน และ โหลด เสร็จสิ้นภายใต้แพ็คเกจ PreprocessNamespace
และไม่มี ใช้ เข้มงวดดังนั้นคุณจึงมีอิสระที่จะใช้ชื่อตัวแปรใดๆ โดยไม่ต้องกลัว
ความขัดแย้ง อย่าใช้ตัวแปรที่ยังไม่ได้กำหนดค่าเพื่อหมายถึง undef หรือรายการว่าง (พวกเขา
จริงๆ แล้วอาจเริ่มต้นโดยการดำเนินการก่อนการประมวลผลก่อนหน้า) และทำการล้างข้อมูล if
จำเป็น ตัวแปรและฟังก์ชันใน หลัก แพ็คเกจยังมีอยู่นะคะ
::ซม. () หรือ ::ข้าม()แต่ไม่ควรเข้าถึงในขณะที่
การประมวลผลล่วงหน้า

มีฟังก์ชั่นพิเศษ ประกอบด้วย(ไฟล์) ที่โหลดไฟล์ ประมวลผลล่วงหน้า และ
ส่งคืนผลลัพธ์ที่ประมวลผลล่วงหน้า หลีกเลี่ยงการเรียกซ้ำ

หากรหัส Perl ที่ฝังอยู่มีข้อผิดพลาด จะถูกพิมพ์ไปยังข้อผิดพลาดมาตรฐาน
สตรีมและต่อท้ายด้วย [FvwmPerl][ประมวลผลล่วงหน้า]: หัวข้อ. ผลลัพธ์ของ
การทดแทนว่างเปล่าในกรณีนี้

ตัวแปรต่อไปนี้อาจใช้ในโค้ด Perl:

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

คำสั่งตามบรรทัดต่อไปนี้จะรับรู้เมื่อประมวลผลล่วงหน้า พวกเขาคือ
ประมวลผลหลังจากแทนที่รหัส Perl (ถ้ามี)

%ทำซ้ำ นับ
ทำให้บรรทัดต่อไปนี้ซ้ำ นับ ครั้ง

%การกำหนดค่าโมดูล โมดูล-ชื่อ [ ทำลาย ]
ทำให้บรรทัดต่อไปนี้ถูกตีความว่าเป็นคอนฟิกูเรชันโมดูลที่กำหนด ถ้า
มีการระบุ "ทำลาย" การกำหนดค่าโมดูลก่อนหน้าจะถูกทำลายก่อน

%อุปสรรค อุปสรรค
นำหน้าบรรทัดต่อไปนี้ด้วยเครื่องหมายคำพูด อุปสรรค.

%ปลาย ใดๆ-ทางเลือก-ความคิดเห็น
สิ้นสุดคำสั่งใด ๆ ที่อธิบายข้างต้น อาจซ้อนกัน

ตัวอย่าง:

% คำนำหน้า "AddToFunc SwitchToWindow ฉัน"
Iconify ปิด
ปิดบังหน้าต่าง
ยก
วาร์ปทูวินโดว์ 50 50
%จบ

%ModuleConfig FvwmPager ทำลาย
ชุดสี 0
แบบอักษร lucidasans-10
เดสก์ท็อปสเกล28
มินิไอคอน
% สิ้นสุดโมดูล Config FvwmPager

% คำนำหน้า "ทั้งหมด (MyWindowToAnimate) ResizeMove"
100 100 %{($WIDTH - 100) / 2}% %{($HEIGHT - 100) / 2}%
%ซ้ำ %{$count}%
br w+2c w+2c w-1c w-1c
%จบ
%ซ้ำ %{$count}%
br w-2c w-2c w+1c w+1c
%จบ
%สิ้นสุดคำนำหน้า

พารามิเตอร์ก่อนการประมวลผลเพิ่มเติม --nosend และ --noremove อาจได้รับด้วย ดูของพวกเขา
คำอธิบายที่ด้านบน

ส่งออก [func-ชื่อ]
ส่งไปที่ fvwm คำจำกัดความของฟังก์ชันทางลัดที่ช่วยเปิดใช้งานต่างๆ
การทำงานของโมดูล (เช่น ประเมิน, โหลด และ ก่อนการประมวลผล).

ชื่อฟังก์ชัน (func-ชื่อ) อาจคั่นด้วยเครื่องหมายจุลภาคหรือ/และช่องว่าง โดยค่าเริ่มต้น,
สองฟังก์ชัน "Eval" และ "." จะถือว่า

การกระทำจริงที่กำหนดไว้ในฟังก์ชันจะเดาจากชื่อฟังก์ชัน ถ้าเป็นไปได้
โดยที่ชื่อฟังก์ชัน "." สงวนไว้สำหรับ ก่อนการประมวลผล การกระทำ

ตัวอย่างเช่น คำสั่ง fvwm ทั้งสองคำสั่ง

SendToModule MyPerl ส่งออก PerlEval,PP
FvwmPerl --ส่งออก PerlEval,PP MyPerl

กำหนดฟังก์ชันทางลัดสองอย่างต่อไปนี้:

ทำลายFunc PerlEval
AddToFunc ฉัน SendToModule MyPerl eval $*
ทำลายFunc PP
AddToFunc ฉัน SendToModule MyPerl preprocess -c -- $*

อาจมีการร้องขอ 4 การกระทำเหล่านี้ด้วยวิธีใดวิธีหนึ่งจาก 3 วิธี: 1) ในบรรทัดคำสั่งเมื่อ FvwmPerl is
เรียกใช้ (ในกรณีนี้ FvwmPerl อายุสั้นเว้นแต่ --อยู่ or --ส่งออก จะได้รับด้วย) 2)
โดยการส่งข้อความที่เกี่ยวข้องใน fvwm config โดยใช้ SendToModule 3) โดยการเรียก
ฟังก์ชัน perl ที่สอดคล้องกันในโค้ด perl

ฟังก์ชั่น


มีฟังก์ชันหลายอย่างที่อาจเรียกรหัส Perl:

ซม.($fvwm_command)
ในกรณีที่ ประเมิน or โหลด - ส่งกลับไปที่ fvwm a string $fvwm_command. ในกรณีที่
ก่อนการประมวลผล - ต่อท้ายสตริง $fvwm_command ไปยังเอาต์พุตของโค้ด Perl ที่ฝังตัว

do_eval ($perl_code)
ฟังก์ชันนี้เทียบเท่ากับ ประเมิน ฟังก์ชั่นบนสตริง $perl_code,
อธิบายไว้ข้างต้น.

โหลด ($ชื่อไฟล์)
ฟังก์ชันนี้เทียบเท่ากับ โหลด ฟังก์ชั่นในไฟล์ $filename, อธิบาย
ข้างบน.

พรีโพรเซส (@พารามส์ ["-ค $คำสั่ง"] [$ชื่อไฟล์])
ฟังก์ชันนี้เทียบเท่ากับ ก่อนการประมวลผล ฟังก์ชั่นด้วยพารามิเตอร์ที่กำหนด
และไฟล์ $filename ที่อธิบายไว้ข้างต้น

ส่งออก($func_names, [$do_unexport])
ฟังก์ชันนี้เทียบเท่ากับ ส่งออก ฟังก์ชั่นด้วย $func_names ที่กำหนด
อธิบายไว้ข้างต้น. อาจด้วย ยกเลิกการส่งออก ชื่อฟังก์ชันถ้าพารามิเตอร์ที่สองเป็นจริง

ชื่อฟังก์ชันควรคั่นด้วยเครื่องหมายจุลภาคหรือ/และช่องว่าง ถ้า $func_names is
ว่างแล้วฟังก์ชัน "Eval" และ "." จะถือว่า

หยุด()
ยุติโมดูล

ข้าม()
ข้ามส่วนที่เหลือของโค้ดเรียกกลับของเหตุการณ์ เช่น โมดูลจะกลับไปฟัง new
เหตุการณ์ของโมดูล

ปลดล็อค()
ยกเลิกการซิงโครไนซ์การเรียกกลับเหตุการณ์จาก fvwm ซึ่งอาจเป็นประโยชน์ในการป้องกันการชะงักงัน
นั่นคือโดยปกติ fvwm จะฆ่าโมดูลที่ไม่ตอบสนองหากการเรียกกลับของเหตุการณ์ไม่ได้
เสร็จใน โมดูลหมดเวลา วินาที สิ่งนี้จะป้องกันได้

ตัวอย่างนี้ทำให้ FvwmPerl ระงับการดำเนินการชั่วคราวเป็นเวลาหนึ่งนาที:

SendModule FvwmPerl eval ปลดล็อค (); นอนหลับ(60);

อย่างไรก็ตาม ให้ตรวจสอบว่าไม่มีทางที่ fvwm ส่งข้อความใหม่ในขณะที่โมดูลเป็น
ไม่ว่าง และ fvwm ถูกล็อกในข้อความใหม่นี้นานเกินไป ดูเพิ่มเติมที่ ถอดออก
โซลูชันหากคุณต้องการการดำเนินการที่ยาวนาน

ถอด ()
แยกและแยกรหัสการโทรกลับเหตุการณ์ที่เหลือออกจากกระบวนการหลัก นี้อาจจะ
มีประโยชน์ในการป้องกันการฆ่าโมดูลหากการเรียกกลับเหตุการณ์ควรใช้เวลานาน
ให้แล้วเสร็จและอาจทำได้ในลูกที่แยกจากกัน ลูกที่แยกจากกันอาจจะยัง
ส่งคำสั่งไปที่ fvwm (ไม่ต้องพึ่งพาสิ่งนี้) แต่ไม่ได้รับเหตุการณ์แน่นอนมัน
ออกทันทีหลังจากดำเนินการเรียกกลับเสร็จสิ้น

ถ้าคุณใช้ ถอด ()ดีกว่าส่งคำสั่งไปที่ fvwm ในกระบวนการเดียว (ตัวหลักหรือ
ที่แยกออกมา) การทำอย่างอื่นมักจะทำให้เกิดความขัดแย้ง

show_message($msg, $title[, $use_stderr_too=1])
แสดงหน้าต่างโต้ตอบพร้อมข้อความที่กำหนด โดยใช้เครื่องมือ X ใดก็ตามที่อยู่ในเครื่องหมาย
ระบบ

ดู FVWM::โมดูล::ชุดเครื่องมือ::show_message สำหรับข้อมูลเพิ่มเติม

ตัวแปร


มีหลายตัวแปรทั่วโลกใน หลัก เนมสเปซที่อาจใช้ในperl
รหัส:

$a, $b, ... $h
@a, @b, ... @h
%ก, %ข, ... %ชม

ทั้งหมดถูกกำหนดให้เป็นค่าว่างและอาจใช้เพื่อเก็บสถานะระหว่าง
การเรียกการกระทำ FvwmPerl ที่แตกต่างกัน (ประเมิน และ โหลด).

หากคุณต้องการชื่อตัวแปรที่อ่านง่ายขึ้น ให้เขียนว่า "ไม่มี 'vars' ที่เข้มงวด" ที่จุดเริ่มต้นของ
ทุกรหัส Perl หรือใช้แฮชสำหรับสิ่งนี้ เช่น:

$h{id} = $h{ชื่อแรก} " " . $h{second_name}

หรือใช้ชื่อแพ็คเกจ เช่น

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

อาจมีตัวเลือกการกำหนดค่าในการเปิดและปิดความเข้มงวด

ข้อความ


FvwmPerl อาจได้รับข้อความโดยใช้คำสั่ง fvwm SendToModule ชื่อความหมายและ
พารามิเตอร์ของข้อความเหมือนกับการกระทำที่เกี่ยวข้องดังที่อธิบายไว้ข้างต้น

นอกจากนี้ ข้อความ หยุด ทำให้โมดูลหยุดทำงาน

ข้อความ ยกเลิกการส่งออก [func-ชื่อ] เลิกทำเอฟเฟกต์ของ ส่งออกอธิบายไว้ใน ACTION
มาตรา.

ข้อความ กอง ดัมพ์เนื้อหาของตัวแปรที่เปลี่ยนแปลง (ยังไม่)

ตัวอย่าง


การทดสอบง่ายๆ:

SendToModule FvwmPerl ประมาณ $h{dir} = $ENV{HOME}
SendToModule FvwmPerl eval โหลด($h{dir} . "/test.fpl")
SendToModule FvwmPerl โหลด $[HOME]/test.fpl
SendToModule FvwmPerl ประมวลผลล่วงหน้า config.ppp
SendToModule FvwmPerl ส่งออก Eval,PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl ยกเลิกการเอ็กซ์พอร์ต PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl หยุด

ตัวอย่างต่อไปนี้จัดการพื้นหลังรูทใน fvwmrc สามารถเพิ่มคำสั่งเหล่านี้ได้ทั้งหมด
ไปที่ StartFunction

โมดูล FvwmPerl -- ส่งออก PerlEval

# ค้นหา pixmaps พื้นหลังทั้งหมดเพื่อใช้ในภายหลัง
PerlEval $a = $ENV{HOME} . "/bg"; \
opendir DIR, $a; @b = grep { /xpm$/ } readdir (DIR); ปิด DIR

# สร้างเมนูพื้นหลัง pixmaps
AddToMenu พื้นหลังของฉัน ชื่อ "พื้นหลังของฉัน"
PerlEval foreach $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Exec fvwm-root $a/$b") }

# เลือกพื้นหลังแบบสุ่มเพื่อโหลดเมื่อเริ่มต้น
PerlEval cmd ("AddToFunc \
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

หลบหนี


ส่งไปยังโมดูล เช่นเดียวกับคำสั่ง fvwm อื่น ๆ ที่ขยายตัวแปรนำหน้าหลายดอลลาร์
ซึ่งอาจขัดแย้งกับการใช้ดอลลาร์ perl คุณอาจหลีกเลี่ยงสิ่งนี้ได้โดยนำหน้า SendToModule
ด้วยเส้นประชั้นนำ 2 บรรทัดต่อไปนี้ในแต่ละคู่มีค่าเท่ากัน:

SendToModule FvwmPerl eval $$d = "$[แสดง]"
-SendToModule FvwmPerl eval $d = "$ ENV{แสดง}"

SendToModule FvwmPerl eval \
cmd("โต๊ะก้อง=$d, display=$$d")
SendToModule FvwmPerl พรีโพรเซส -c \
โต๊ะก้อง=%("$d")%, display=%{$$d}%

อีกวิธีหนึ่งในการหลีกเลี่ยงการหลบหนีจากสัญลักษณ์พิเศษ เช่น ดอลลาร์และแบ็กสแลชคือ
สร้างไฟล์ perl ใน ~/.fvwm แล้วโหลดมัน:

SendToModule FvwmPerl โหลด build-menus.fpl

หากคุณต้องการประมวลผลคำสั่งล่วงหน้าหนึ่งคำสั่งที่ขึ้นต้นด้วยเส้นประ คุณควรนำหน้าด้วยคำสั่ง
"--".

# นี่พิมพ์โต๊ะปัจจุบันเช่น "0"
SendToModule FvwmPerl preprocess -c Echo "$%{$a = "c"; ++$a}%"
# นี่พิมพ์ "$d"
SendToModule FvwmPerl พรีโพรเซส -c -- -Echo "$%{"d"}%"
# พิมพ์ "$d" (SendToModule ขยาย $$ เป็น $)
SendToModule FvwmPerl พรีโพรเซส -c -- -Echo "$$%{"d"}%"
# นี่พิมพ์ "$$d"
-SendToModule FvwmPerl พรีโพรเซส -c -- -Echo "$$%{"d"}%"

อีกครั้ง ขอแนะนำให้ใส่คำสั่งของคุณลงในไฟล์และประมวลผลไฟล์ล่วงหน้าแทน

คำเตือน


FvwmPerl เขียนด้วย Perl และจัดการกับ Perl เป็นไปตามคำขวัญ Perl ที่มีชื่อเสียง:
"มีหลายวิธีที่จะทำ" ดังนั้นทางเลือกเป็นของคุณ

ต่อไปนี้คือคู่เพิ่มเติมของเส้นที่เท่ากัน:

โมดูล FvwmPerl --load "my.fpl" --stay
โมดูล FvwmPerl -e 'load("my.fpl")' -s

กระบวนการล่วงหน้า SendToModule FvwmPerl --quote '@' my.ppp
SendToModule FvwmPerl ประมวลผลล่วงหน้า ({quote => '@'}, "my.ppp");

คำเตือน คุณอาจส่งผลกระทบต่อวิธีการทำงานของ FvwmPerl โดยการประเมินโค้ด Perl ที่เหมาะสม นี่
ถือเป็นคุณสมบัติไม่ใช่จุดบกพร่อง แต่โปรดอย่าทำเช่นนี้ เขียนโมดูล fvwm ของคุณเอง
ใน Perl แทน

ใช้ FvwmPerl ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad