ນີ້ແມ່ນຄໍາສັ່ງ FvwmScript ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
FvwmScript - ໂມດູນເພື່ອສ້າງການໂຕ້ຕອບຜູ້ໃຊ້ຮູບພາບ
ສະຫຼຸບສັງລວມ
FvwmScript ຕ້ອງຖືກສ້າງໂດຍ Fvwm. ມັນຈະບໍ່ເຮັດວຽກຈາກເສັ້ນຄໍາສັ່ງ.
ລາຍລະອຽດ
FvwmScript ເປັນໂມດູນທີ່ອະນຸຍາດໃຫ້ທ່ານສ້າງຄໍາຮ້ອງສະຫມັກກາຟິກຈໍານວນຫຼາຍເຊັ່ນ:
ອຸປະກອນເສີມເດັສທັອບ, ແຜງປຸ່ມທີ່ມີເມນູປັອບອັບ, ກ່ອງໂຕ້ຕອບແບບໂມດູນ... ໃນຕອນເລີ່ມຕົ້ນ,
FvwmScript ອ່ານໄຟລ໌ທີ່ລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງ. ໄຟລ໌ນີ້ປະກອບດ້ວຍ
ສະຄຣິບ. ສະຄຣິບນີ້ບໍ່ໄດ້ລວມຢູ່ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງ Fvwm.
ສະຄຣິບ FvwmScript ສາມາດຄວບຄຸມໄດ້ຢ່າງສົມບູນໂດຍການໃຊ້ແປ້ນພິມ. (Shift)-Tab ໝູນວຽນ
ອ້ອມຮອບ widget, ກັບຄືນ simulates ການຄລິກຫນູ, ລູກສອນຍ້າຍຕົວກະພິບຫຼືການປ່ຽນແປງ
ຄ່າຂອງ widget ແລະ Escape "ຍົກເລີກ" ສໍາລັບເມນູແລະ PopupMenu.
ການຮຽກຮ້ອງ
FvwmScript ສາມາດຖືກເອີ້ນໂດຍການໃສ່ເສັ້ນ `Module FvwmScript name_of_script' ໃນ
ໄຟລ໌ .fvwm2rc. ໄຟລ໌ "name_of_script" ສາມາດເລີ່ມຕົ້ນດ້ວຍ slash, ໃນກໍລະນີນີ້, ມັນແມ່ນ a
ເສັ້ນທາງທີ່ມີຄຸນວຸດທິຢ່າງເຕັມສ່ວນ, ແລະໄຟລ໌ໄດ້ຖືກອ່ານ. ຖ້າ "name_of_script" ບໍ່ເລີ່ມຕົ້ນດ້ວຍ a
slash, FvwmScript ຈະເບິ່ງຢູ່ໃນສະຖານທີ່ທີ່ແຕກຕ່າງກັນບໍ່ຫຼາຍປານໃດ. ຖ້າ .fvwm2rc ມີ
ແຖວຄໍາສັ່ງ `*FvwmScript: Path path_of_the_script_directory', FvwmScript ຈະພະຍາຍາມມັນ.
ໄດເລກະທໍລີ. ຖ້າມັນບໍ່ເຮັດວຽກ, FvwmScript ພະຍາຍາມໄດເລກະທໍລີການຕັ້ງຄ່າລະບົບແລະ
ໄດເລກະທໍລີການຕັ້ງຄ່າຜູ້ໃຊ້ທີ່ອະທິບາຍພາຍໃຕ້ຄໍາສັ່ງ "ອ່ານ" ໃນ fvwm man
ຫນ້າ.
ຄໍາສັ່ງເພື່ອເລີ່ມຕົ້ນ FvwmScript ສາມາດຖືກວາງໄວ້ໃນເສັ້ນດ້ວຍຕົວມັນເອງ, ຖ້າ FvwmScript ຈະເປັນ
spawned ໃນລະຫວ່າງການເລີ່ມຕົ້ນຂອງ fvwm, ຫຼືສາມາດໄດ້ຮັບການຜູກມັດກັບເມນູຫຼືປຸ່ມຫນູຫຼື
ການກົດແປ້ນພິມເພື່ອເອີ້ນມັນຕໍ່ມາ.
CONFIGURATION OPTIONS
ຄໍາສັ່ງຕໍ່ໄປນີ້ສາມາດຖືກນໍາໃຊ້ໃນໄຟລ໌ config (ເບິ່ງ fvwm(1), ພາກ ແບບ ຈຳ ລອງ
ສາມາດ ສໍາລັບລາຍລະອຽດ). ພວກມັນຖືກນໍາໃຊ້ພຽງແຕ່ຖ້າຄໍາສັ່ງສະຄິບທີ່ສອດຄ້ອງກັນບໍ່ແມ່ນ
ໃຊ້ໃນສະຄຣິບ.
*FvwmScript: DefaultFont font
ລະບຸຕົວອັກສອນເລີ່ມຕົ້ນທີ່ຈະໃຊ້. ຖ້າບໍ່ໄດ້ລະບຸດ້ວຍຄໍາສັ່ງນີ້ຫຼືຢູ່ໃນ
script ກັບຄໍາສັ່ງ Font, font ຄົງທີ່ສົມມຸດ.
*FvwmScript: DefaultFore ສີ
ລະບຸສີພື້ນໜ້າເລີ່ມຕົ້ນທີ່ຈະໃຊ້. ຖ້າບໍ່ລະບຸກັບອັນນີ້
ຄໍາສັ່ງຫຼືໃນສະຄິບທີ່ມີຄໍາສັ່ງ ForeColor, ສີດໍາຖືກນໍາໃຊ້.
*FvwmScript: DefaultBack ສີ
ລະບຸສີພື້ນຫຼັງເລີ່ມຕົ້ນທີ່ຈະໃຊ້. ຖ້າບໍ່ລະບຸກັບອັນນີ້
ຄໍາສັ່ງຫຼືໃນສະຄິບທີ່ມີຄໍາສັ່ງ BackColor, grey85 ຖືກນໍາໃຊ້.
*FvwmScript: DefaultHilight ສີ
ລະບຸສີ hilight ເລີ່ມຕົ້ນທີ່ຈະໃຊ້. ຖ້າບໍ່ໄດ້ລະບຸດ້ວຍຄໍາສັ່ງນີ້
ຫຼືໃນສະຄຣິບດ້ວຍຄໍາສັ່ງ HilightColor, grey100 ຖືກໃຊ້.
*FvwmScript: DefaultShadow ສີ
ລະບຸສີເງົາເລີ່ມຕົ້ນທີ່ຈະໃຊ້. ຖ້າບໍ່ໄດ້ລະບຸດ້ວຍຄໍາສັ່ງນີ້
ຫຼືໃນສະຄຣິບດ້ວຍຄໍາສັ່ງ ShadowColor, grey55 ຖືກໃຊ້.
*FvwmScript: DefaultColorset ຊຸດສີ
ບອກໂມດູນໃຫ້ໃຊ້ colorset ຊຸດສີ ເປັນຊຸດສີເລີ່ມຕົ້ນ. ອ້າງເຖິງ
ຫນ້າຜູ້ຊາຍ FvwmTheme ສໍາລັບລາຍລະອຽດກ່ຽວກັບຊຸດສີ.
ANATOMY OF A SCRIPT
FvwmScript ໃຊ້ພາສາການຂຽນໂປຼແກຼມສະເພາະ. script ແມ່ນປະກອບດ້ວຍຫ້າພາກສ່ວນ.
ຫົວຂໍ້ປະກອບມີລັກສະນະທົ່ວໄປຂອງປ່ອງຢ້ຽມແລະຄຸນສົມບັດເລີ່ມຕົ້ນສໍາລັບທຸກຄົນ
ວິດເຈັດ. ສ່ວນທີສອງປະກອບດ້ວຍຄໍາແນະນໍາຜູ້ທີ່ຖືກປະຕິບັດໃນຕອນເລີ່ມຕົ້ນຂອງ
ສະຄຣິບ. ສ່ວນທີສາມປະກອບດ້ວຍວຽກງານແຕ່ລະໄລຍະທີ່ຖືກປະຕິບັດທຸກໆວິນາທີ. ໄດ້
ສ່ວນທີສີ່ປະກອບດ້ວຍຄໍາແນະນໍາທີ່ຖືກປະຕິບັດໃນເວລາອອກ. ແລະສ່ວນສຸດທ້າຍປະກອບດ້ວຍ
ລາຍລະອຽດຂອງ widget. widget ປະກອບດ້ວຍ XNUMX ປະເພດຂອງລາຍການ: ປ້າຍຄໍາສັບ,
ການປ້ອນຂໍ້ມູນຂໍ້ຄວາມເສັ້ນດຽວ, ປຸ່ມວິທະຍຸ, ກ່ອງກາໝາຍ, ປຸ່ມກົດ, ແນວນອນ ແລະແນວຕັ້ງ
ແຖບເລື່ອນ, ສີ່ຫຼ່ຽມ, ເມນູປັອບອັບ, swallowexecs ແລະແຖບເລື່ອນຂະໜາດນ້ອຍ.
ຫົວຂໍ້ OF A SCRIPT
syntax ແມ່ນດັ່ງຕໍ່ໄປນີ້:
WindowTitle string
ຕົວເລືອກນີ້ກໍານົດຫົວຂໍ້ປ່ອງຢ້ຽມ.
ຂະໜາດໜ້າຈໍ width ລະດັບຄວາມສູງ
ຕົວເລືອກນີ້ກໍານົດຂະຫນາດຂອງປ່ອງຢ້ຽມ. width ແລະ ລະດັບຄວາມສູງ ແມ່ນຄ່າຕົວເລກ.
WindowPosition x y
ຕົວເລືອກນີ້ກໍານົດຕໍາແຫນ່ງປ່ອງຢ້ຽມ. x ແລະ y ແມ່ນຄ່າຕົວເລກ.
ສີໜ້າ {ສີ}
ທາງເລືອກນີ້ກໍານົດສີພື້ນຫນ້າມາດຕະຖານສໍາລັບ widget ທັງຫມົດ.
ສີຫຼັງ {ສີ}
ຕົວເລືອກນີ້ກຳນົດສີພື້ນຫຼັງເລີ່ມຕົ້ນສຳລັບວິດເຈັດທັງໝົດ.
HilightColor {ສີ}
ຕົວເລືອກນີ້ກໍານົດສີ hilight ເລີ່ມຕົ້ນສໍາລັບ widget ທັງຫມົດ.
ສີເງົາ {ສີ}
ຕົວເລືອກນີ້ກໍານົດສີເງົາເລີ່ມຕົ້ນສໍາລັບ widget ທັງຫມົດ.
ຊຸດສີ {n}
ຕົວເລືອກນີ້ກໍານົດຊຸດສີເລີ່ມຕົ້ນສໍາລັບ widget ທັງຫມົດ.
ຕົວອັກສອນ {font}
ຕົວເລືອກນີ້ກໍານົດຕົວອັກສອນເລີ່ມຕົ້ນສໍາລັບ widget ທັງຫມົດ.
ໃຊ້Gettext [locale_path]
ເປີດໃຊ້ກົນໄກ gettext ທີ່ຖືກນໍາໃຊ້ໂດຍ WindowLocaleTitle,
LocaleTitle, ຄໍາແນະນໍາ ChangeLocaleTitle ແລະຟັງຊັນ Gettext. ຖ້າບໍ່ມີ
argument ໄດ້ຖືກມອບໃຫ້, ຄ່າເລີ່ມຕົ້ນ FvwmScript locale catalog ຖືກໃຊ້. ລາຍການນີ້ແມ່ນ
ພາຍໃຕ້ໄດເລກະທໍລີການຕິດຕັ້ງ fvwm ທ້ອງຖິ່ນແລະໂດເມນຂໍ້ຄວາມແມ່ນ FvwmScript
(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo). ທ່ານສາມາດຣີເຊັດສິ່ງນີ້ໄດ້
ລາຍການຫຼືເພີ່ມບາງລາຍການແທ້ໃນວິທີການດຽວກັນກ່ວາກັບ LocalePath fvwm
ຄໍາສັ່ງ (ເບິ່ງຫນ້າຄູ່ມື fvwm). ຄໍາແນະນໍານີ້ຄວນຈະຖືກວາງໄວ້ກ່ອນ
ຄໍາແນະນໍາ WindowLocaleTitle.
WindowLocaleTitle string
ຕົວເລືອກນີ້ກຳນົດຫົວຂໍ້ໜ້າຕ່າງ, ແຕ່ໃຫ້ໃຊ້ລາຍການທ້ອງຖິ່ນທີ່ກຳນົດດ້ວຍ
ໃຊ້Gettext.
ການເລີ່ມຕົ້ນ
ສ່ວນນີ້ປະກອບດ້ວຍຄໍາແນະນໍາທີ່ຈະດໍາເນີນການໃນຕອນເລີ່ມຕົ້ນ. ຍົກຕົວຢ່າງ:
ໃນມັນ
ເລີ່ມຕົ້ນ
ເຮັດ "Exec cat tada.voc > /dev/dsp"
WarpPointer 1
ຕັ້ງ $ToDo=Restart
ສຸດທ້າຍ
ຄໍາແນະນໍາເຫຼົ່ານີ້ຖືກນໍາໃຊ້ເພື່ອຫຼິ້ນສຽງ, ຍ້າຍຕົວຊີ້ໄປຫາ widget 1 ແລະໄປຫາ
ເລີ່ມຕົ້ນ $ToDo ເພື່ອ "Restart" ໃນທຸກໆການເລີ່ມຕົ້ນ.
ໄລຍະເວລາ ໜ້າ ວຽກ
ພາກສ່ວນນີ້ຂອງສະຄຣິບປະກອບດ້ວຍຄໍາແນະນໍາທີ່ຖືກປະຕິບັດທຸກໆວິນາທີ. ສໍາລັບ
ຍົກຕົວຢ່າງ:
ວຽກງານແຕ່ລະໄລຍະ
ເລີ່ມຕົ້ນ
ຖ້າ (RemainderOfDiv (GetTime) 10)==0 ຫຼັງຈາກນັ້ນ
ເຮັດ {Exec xcalc}
ສຸດທ້າຍ
ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນວິທີການເປີດຕົວ xcalc ທຸກໆ 10 ວິນາທີ.
ການ ອອກ ຫນ້າທີ່ເຮັດວຽກ
ພາກສ່ວນນີ້ຂອງສະຄຣິບປະກອບດ້ວຍຄຳແນະນຳທີ່ຖືກປະຕິບັດເມື່ອສະຄຣິບອອກ
(ຫຼັງຈາກຄໍາແນະນໍາ Quit ຫຼືຖ້າຫາກວ່າທ່ານປິດປ່ອງຢ້ຽມທີ່ມີປິດ, ລຶບຫຼືທໍາລາຍ
fvwm ຄໍາສັ່ງ). ຍົກຕົວຢ່າງ
QuitFunc
ເລີ່ມຕົ້ນ
ເຮັດ {Echo bye, bye}
ສຸດທ້າຍ
ຈົ່ງຮູ້ວ່າຖ້າທ່ານໃຊ້ຄໍາສັ່ງ KillModule fvwm ເພື່ອປິດສະຄິບ, ບາງຢ່າງ
ຄໍາແນະນໍາຫຼືຫນ້າທີ່ທີ່ອີງໃສ່ການມີຢູ່ຂອງການເຊື່ອມຕໍ່ການສື່ສານລະຫວ່າງ
script ແລະ fvwm ຈະບໍ່ຖືກປະຕິບັດ (ເຊັ່ນຄໍາສັ່ງ Do). ເພື່ອຂ້າຢ່າງລຽບງ່າຍ ກ
script ທີ່ມີຄໍາສັ່ງ fvwm ເບິ່ງ ສາມາດ ສ່ວນ.
HAND OF A SCRIPT
ສ່ວນທີສອງຂອງສະຄຣິບມີຄຳອະທິບາຍສຳລັບທຸກໆ widget ໃນສະຄຣິບ.
ແຕ່ລະລາຍລະອຽດ widget ມີສອງພາກສ່ວນ. ພາກສ່ວນທໍາອິດອະທິບາຍຄຸນສົມບັດເບື້ອງຕົ້ນ, ໄດ້
ສ່ວນທີສອງປະກອບດ້ວຍຄໍາແນະນໍາທີ່ຖືກປະຕິບັດໃນເວລາທີ່ widget ໄດ້ຮັບຂໍ້ຄວາມ.
widget ທັງໝົດສາມາດສົ່ງ ແລະຮັບຂໍ້ຄວາມໄດ້. ຂໍ້ຄວາມທັງໝົດຖືກລະບຸດ້ວຍຕົວເລກ. ໄດ້
ຂໍ້ຄວາມ "UserAction" ຖືກສົ່ງໄປຫາ widget ເມື່ອຜູ້ໃຊ້ປະຕິບັດ widget. syntax
ສໍາລັບພາກສ່ວນທໍາອິດແມ່ນ:
widget id # ຕົວເລກລະຫວ່າງ 1 ຫາ 999 ລວມ
ຄຸນສົມບັດ
ພິມສະຕຣິງ
ຄວາມກວ້າງຂອງຂະຫນາດ
ຕຳແໜ່ງ xy
ຫົວຂໍ້ { string }
ມູນຄ່າ int
MaxValue int
MinValue int
ສະຕຣິງຟອນ
ForeColor { ສີ }
BackColor { ສີ }
HilightColor { ສີ }
ShadowColor { ສີ }
ຊຸດສີ int
ທຸງ ທຸງ Opt
ທາງເລືອກ flagsOpt ກັບ Flags ແມ່ນບັນຊີລາຍຊື່ທີ່ແຍກອອກຈາກຊ່ອງທີ່ມີຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ
ຄໍາ ເຊື່ອງໄວ້, NoReliefString, NoFocus, ໄວ້ / Center / ສິດ. ເຊື່ອງໄວ້ ຖືກນໍາໃຊ້ເພື່ອ
ລະບຸວ່າວິດເຈັດຖືກເຊື່ອງໄວ້ໃນຕອນເລີ່ມຕົ້ນ. NoReliefString ລະບຸວ່າສະຕຣິງຖືກແຕ້ມຫຼືບໍ່
ມີການບັນເທົາທຸກຫຼືບໍ່. NoFocus ລະບຸວ່າ widget ສາມາດຕັ້ງແປ້ນພິມໄດ້ຫຼືບໍ່.
ໂດຍຄ່າເລີ່ມຕົ້ນ widgets ທັງໝົດຈະສຸມໃສ່, ຍົກເວັ້ນຮູບສີ່ແຈສາກ, HDipstick ແລະ VDipstick ທີ່ບໍ່ສາມາດ.
ຍິ່ງໄປກວ່ານັ້ນ, widgets NoFocus ແມ່ນຂ້າມໄປເມື່ອທ່ານ ໝູນວຽນອ້ອມຮອບ widget ດ້ວຍ
(Shift-)Tab shortcut. ໄວ້ / Center / ສິດ ລະບຸຕໍາແໜ່ງຂໍ້ຄວາມ. ເຫຼົ່ານີ້ນໍາໃຊ້
ພຽງແຕ່ໃສ່ ItemDraw, List, Menu, PopupMenu ແລະ PushButton. ຄ່າເລີ່ມຕົ້ນແມ່ນ Center ສໍາລັບ ItemDraw
ແລະ PushButton ແລະ ໄວ້ ສໍາລັບ widget ອື່ນໆ.
LocaleTitle ສາມາດໃຊ້ແທນຫົວຂໍ້, ສໍາລັບການນໍາໃຊ້ລາຍການທ້ອງຖິ່ນທີ່ກໍານົດດ້ວຍ
ໃຊ້Gettext.
ຕໍາແໜ່ງຂອງທຸກ widget ຕ້ອງໄດ້ຮັບການລະບຸ.
syntax ສໍາລັບພາກສ່ວນທີສອງແມ່ນ:
ຕົ້ນຕໍ
ກໍລະນີຂໍ້ຄວາມຂອງ
SingleClic:
ເລີ່ມຕົ້ນ
# ບັນຊີລາຍຊື່ຄໍາແນະນໍາທີ່ຈະເປັນ
# ປະຕິບັດເມື່ອ widget ໄດ້ຮັບ
# ຂໍ້ຄວາມ "SingleClic". ຂໍ້ຄວາມນີ້ແມ່ນ
# ສ້າງຂຶ້ນໂດຍຜູ້ໃຊ້.
ສຸດທ້າຍ
1:
ເລີ່ມຕົ້ນ
# ບັນຊີລາຍຊື່ຄໍາແນະນໍາທີ່ຈະເປັນ
# ປະຕິບັດເມື່ອ widget ໄດ້ຮັບ
# ຂໍ້ຄວາມ 1
ສຸດທ້າຍ
ສຸດທ້າຍ
LIST OF ຄວາມກວ້າງ
ມີ widget ສິບຫ້າປະເພດ.
ກ່ອງກາເຄື່ອງ ໝາຍ: ສະແດງກ່ອງກາໝາຍດ້ວຍສະຕຣິງ.
Title: ຫົວຂໍ້ຂອງກ່ອງກາເຄື່ອງຫມາຍ.
ມູນຄ່າ: ຖ້າຄ່າເທົ່າກັບ 1, ກ່ອງຖືກໝາຍວ່າບໍ່ແມ່ນ.
ໄດ້ ເລືອກຂະຫນາດ ຊັບສິນຖືກລະເລີຍ.
HDipstick: ສະແດງແຜ່ນຕິດແນວນອນ.
widget ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອສະແດງການນໍາໃຊ້ແຜ່ນ.
ມູນຄ່າ: ລະບຸຄ່າປັດຈຸບັນຂອງ dipstick.
ຄ່າຕ່ຳສຸດ: ລະບຸຄ່າຕໍາ່ສຸດຂອງ dipstick.
MaxValue: ລະບຸຄ່າສູງສຸດຂອງ dipstick.
ຂະຫນາດຕໍາ່ສຸດທີ່ 30x11 ແມ່ນ imposed.
HScrollBar: ສະແດງແຖບເລື່ອນແນວນອນ.
ມູນຄ່າ: ຕໍາແໜ່ງຂອງໂປ້ມື.
MaxValue: ຂອບເຂດສູງສຸດຂອງມູນຄ່າ.
ຄ່າຕ່ຳສຸດ: ຈຳກັດຄ່າຕໍ່າກວ່າ.
ຄຸນສົມບັດຄວາມສູງຖືກລະເລີຍ ແລະຄວາມກວ້າງຕໍ່າສຸດຖືກບັງຄັບ. ຄວາມກວ້າງຄວນຈະເປັນ
ຢ່າງໜ້ອຍຊ່ວງບວກ 37 ຖ້າຄ່າທັງໝົດຈະເລືອກໄດ້ ເຊັ່ນ: min ຂອງ 0 ແລະ
ສູງສຸດຂອງ 10 ມີຂອບເຂດຂອງ 11 ແລະດັ່ງນັ້ນຄວນຈະມີຄວາມກວ້າງຕໍາ່ສຸດທີ່ 48.
ItemDraw: ສະແດງໄອຄອນ ແລະ/ຫຼືສະຕຣິງ.
Title: ສະຕຣິງທີ່ຈະສະແດງ.
ຮູບສັນຍາລັກ: ໄອຄອນເພື່ອສະແດງ.
MaxValue: x ປະສານງານຂອງຕົວກະພິບ.
ຄ່າຕ່ຳສຸດ: y ປະສານງານຂອງຕົວກະພິບ.
ຂະໜາດແມ່ນໃຫຍ່ພໍທີ່ຈະບັນຈຸຫົວຂໍ້ ແລະ/ຫຼືໄອຄອນ.
ບັນຊີລາຍຊື່: ສະແດງລາຍຊື່.
ລາຍຊື່ໃຫ້ຜູ້ໃຊ້ເລືອກລະຫວ່າງທາງເລືອກຕ່າງໆ.
ມູນຄ່າ: ລະບຸທາງເລືອກທີ່ເລືອກ.
ຄ່າຕ່ຳສຸດ: ທາງເລືອກທໍາອິດທີ່ສັງເກດເຫັນ.
Title: ຫົວຂໍ້ມີຕົວເລືອກທີ່ສະແດງຢູ່ໃນລາຍຊື່. syntax ແມ່ນດັ່ງຕໍ່ໄປນີ້:
{ທາງເລືອກ 1|ທາງເລືອກ 2|...|ຕົວເລືອກ N}. ເມນູທັງໝົດຈະສະແດງຢູ່ເທິງສຸດຂອງປ່ອງຢ້ຽມ.
ຄວາມສູງຕໍາ່ສຸດທີ່ສາມລາຍການແມ່ນ imposed ແລະຄວາມກວ້າງແມ່ນເຮັດໃຫ້ເປັນຢ່າງຫນ້ອຍ
108.
ເມນູ: ສະແດງເມນູທີ່ໃຫ້ຜູ້ໃຊ້ເລືອກທາງເລືອກ.
ລາຍການຂອງປະເພດເມນູແມ່ນຈັດວາງອອກຈາກຊ້າຍໄປຂວາຕາມທາງເທິງຂອງປ່ອງຢ້ຽມ.
ຄຸນສົມບັດຂະໜາດ ແລະຕຳແໜ່ງແມ່ນຖືກລະເລີຍ.
ມູນຄ່າ: ລະບຸທາງເລືອກທີ່ເລືອກ.
Title: ຫົວຂໍ້ມີຕົວເລືອກທີ່ສະແດງຢູ່ໃນເມນູ. syntax ແມ່ນດັ່ງຕໍ່ໄປນີ້:
{ທາງເລືອກ 1|ທາງເລືອກ 2|...|ຕົວເລືອກ N}.
MiniScroll: ສະແດງແຖບເລື່ອນແນວຕັ້ງນ້ອຍຫຼາຍ.
ມູນຄ່າ: ຕໍາແໜ່ງຂອງໂປ້ມື.
MaxValue: ຂອບເຂດສູງສຸດຂອງມູນຄ່າ.
ຄ່າຕ່ຳສຸດ: ຈຳກັດຄ່າຕໍ່າກວ່າ.
ຂະໜາດແມ່ນຕັ້ງເປັນ 19x34.
ເມນູປັອບອັບ: ສະແດງເມນູປັອບອັບ.
ມູນຄ່າ: ລະບຸສິ່ງທີ່ເລືອກ.
Title: ຫົວຂໍ້ມີ syntax ຕໍ່ໄປນີ້: {Option 1|Option 2|...|Option N}."ທາງເລືອກ
1|ຕົວເລືອກ 2|...|ຕົວເລືອກ N" ແມ່ນເມນູປັອບອັບທີ່ສະແດງຂຶ້ນເມື່ອກົດປຸ່ມເມົາສ໌
ປຸ່ມ.
ຄຸນສົມບັດຂະໜາດຖືກລະເລີຍ.
ປຸ່ມກົດ: ສະແດງປຸ່ມກົດດ້ວຍໄອຄອນ ແລະ/ຫຼືສາຍ.
Title: ສະຕຣິງນີ້ມີ syntax ຕໍ່ໄປນີ້ {Title of the button|Option 1|Option
2|Option3|...|ຕົວເລືອກ N}. "ທາງເລືອກ 1|ທາງເລືອກ 2|...|ທາງເລືອກ N" ແມ່ນເມນູປັອບອັບທີ່
ຈະຖືກສະແດງເມື່ອກົດປຸ່ມຂວາ.
ຮູບສັນຍາລັກ: ໄອຄອນເພື່ອສະແດງ.
ປຸ່ມຖືກສ້າງໃຫ້ໃຫຍ່ພໍດີກັບໄອຄອນ ແລະ ຫຼືປ້າຍຊື່.
ປຸ່ມວິທະຍຸ: ສະແດງປຸ່ມວິທະຍຸດ້ວຍສາຍ.
Title: ຫົວຂໍ້ຂອງປຸ່ມວິທະຍຸ.
ມູນຄ່າ: ຖ້າຄ່າເທົ່າກັບ 1, ກ່ອງຖືກໝາຍວ່າບໍ່ແມ່ນ.
ຄຸນສົມບັດຂະໜາດຖືກລະເລີຍ
ຮູບສີ່ແຈສາກ: ສະແດງຮູບສີ່ຫລ່ຽມ.
ປະເພດຂອງ widget ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອ decorate window.
SwallowExec
ປະເພດຂອງ widget ນີ້ເຮັດໃຫ້ FvwmScript ສ້າງຂະບວນການ, ແລະເກັບກໍາຄັ້ງທໍາອິດ
ປ່ອງຢ້ຽມທີ່ມີຊື່ຫຼືຊັບພະຍາກອນເທົ່າກັບຫົວຂໍ້, ແລະສະແດງມັນຢູ່ໃນສະຄິບ
window.
Title: ລະບຸຊື່ໜ້າຕ່າງທີ່ຈະຖືກບັນທຶກ ແລະສະແດງຢູ່ໃນສະຄຣິບ
window.
SwallowExec: ລະບຸເສັ້ນຄໍາສັ່ງທີ່ຈະປະຕິບັດເພື່ອ spawn ຂະບວນການ. ໂມດູນສາມາດເຮັດໄດ້
ຍັງຖືກກືນກິນ.
ມູນຄ່າ: ລະບຸການເບິ່ງຊາຍແດນ. ຄ່າທີ່ເປັນໄປໄດ້: -1, 0, 1.
ຂະໜາດແມ່ນເຮັດໃຫ້ຢ່າງໜ້ອຍ 30x30
TextField: ສະແດງຊ່ອງໃສ່ຂໍ້ຄວາມ.
ຊ່ອງໃສ່ຂໍ້ຄວາມສາມາດຖືກໃຊ້ເພື່ອແກ້ໄຂສະຕຣິງແຖວດຽວ.
Title: ເນື້ອໃນຂອງຊ່ອງຂໍ້ຄວາມ.
ມູນຄ່າ: ຕໍາແໜ່ງຂອງຈຸດແຊກ.
ຄ່າຕ່ຳສຸດ: ຕໍາແຫນ່ງໃນຕອນທ້າຍຂອງການຄັດເລືອກ.
MaxValue: ລັກສະນະທຳອິດທີ່ເຫັນໄດ້ຂອງຫົວຂໍ້
ຄຸນສົມບັດຄວາມສູງຖືກລະເລີຍ, ຄວາມກວ້າງແມ່ນເຮັດໃຫ້ກວ້າງຂຶ້ນຢ່າງໜ້ອຍ 40 ພິກເຊວ
ກ່ວາເນື້ອໃນເບື້ອງຕົ້ນ.
VDipstick: ສະແດງແຜ່ນຕິດແນວຕັ້ງ.
ມູນຄ່າ: ລະບຸຄ່າປັດຈຸບັນຂອງ dipstick.
ຄ່າຕ່ຳສຸດ: ລະບຸຄ່າຕໍາ່ສຸດຂອງ dipstick.
MaxValue: ລະບຸຄ່າສູງສຸດຂອງ dipstick.
ຂະໜາດແມ່ນເຮັດໃຫ້ຢ່າງໜ້ອຍ 11x30.
VScrollBar: ສະແດງແຖບເລື່ອນແນວຕັ້ງ.
ມູນຄ່າ: ຕໍາແໜ່ງຂອງໂປ້ມື.
MaxValue: ຂອບເຂດສູງສຸດຂອງມູນຄ່າ.
ຄ່າຕ່ຳສຸດ: ຈຳກັດຄ່າຕໍ່າກວ່າ.
ຄຸນສົມບັດຄວາມກວ້າງແມ່ນຖືກລະເລີຍ ແລະຄວາມສູງຕໍ່າສຸດຖືກບັງຄັບ. ຄວາມສູງຄວນ
ເປັນຢ່າງໜ້ອຍໄລຍະບວກ 37 ຖ້າຄ່າທັງໝົດແມ່ນຈະເລືອກໄດ້ ເຊັ່ນ: ຕ່ຳສຸດ 0
ແລະສູງສຸດຂອງ 10 ມີຂອບເຂດຂອງ 11 ແລະດັ່ງນັ້ນຄວນຈະມີຄວາມສູງຕໍາ່ສຸດທີ່ 48.
ຄໍາແນະນໍາ
ນີ້ແມ່ນຄໍາອະທິບາຍຂອງຄໍາແນະນໍາທັງຫມົດ.
HideWidget id : ເຊື່ອງ widget ເລກ id.
ShowWidget id: ສະແດງ widget ເລກ id.
ການປ່ຽນແປງມູນຄ່າ id1 id2
ກໍານົດຄ່າຂອງ widget ຕົວເລກ id1 to id2.
ChangeMaxValue id1 id2
ກໍານົດຄ່າສູງສຸດຂອງ widget ຕົວເລກ id1 to id2.
ChangeMinValue id1 id2
ກໍານົດຄ່າຕໍາ່ສຸດຂອງ widget ຕົວເລກ id1 to id2.
ປ່ຽນຊື່ id1 id2
ກໍານົດຫົວຂໍ້ຂອງ widget ຕົວເລກ id1 to id2.
ChangeWindowTitle string
ກໍານົດຫົວຂໍ້ຂອງປ່ອງຢ້ຽມເປັນ string.
ປ່ຽນWindowTitleFromArg ເລກ
ກໍານົດຫົວຂໍ້ຂອງປ່ອງຢ້ຽມເປັນມູນຄ່າຂອງ ເລກ-th script argument.
ChangeLocaleTitle id1 id2
ໃນຖານະເປັນ ChangeTitle ແຕ່ນໍາໃຊ້ລາຍການທ້ອງຖິ່ນ (s) ກໍານົດດ້ວຍ UseGettext.
ChangeIcon id1 id2
ຕັ້ງໄອຄອນຂອງ widget ເປັນເລກ id1 to id2.
ChangeForeColor id1 {ສີ}
ກໍານົດສີດ້ານຫນ້າຂອງ widget ເປັນເລກ id1 ເຖິງ {ສີ}.
ChangeBackColor id1 {ສີ}
ກໍານົດສີພື້ນຫລັງຂອງ widget ຕົວເລກ id1 ເຖິງ {ສີ}.
ປ່ຽນຊຸດສີ id1 id2
ກໍານົດ colorset ຂອງ widget ເລກ id1 to id2. ການລະບຸ widget 0 ກໍານົດ
colorset ປ່ອງຢ້ຽມຕົ້ນຕໍ.
ປ່ຽນຕຳແໜ່ງ id1 x y
ຍ້າຍ widget ເລກ id1 ຕໍາແຫນ່ງ (x,y).
ປ່ຽນຂະໜາດ id1 width ລະດັບຄວາມສູງ
ກໍານົດຂະຫນາດຂອງ widget ຕົວເລກ id1 ເຖິງ (width,ລະດັບຄວາມສູງ).
ປ່ຽນຟອນ id1 ຟອນໃໝ່
ກໍານົດຕົວອັກສອນຂອງ widget ເປັນຕົວເລກ id1 to ຟອນໃໝ່.
WarpPointer id
ວາງຕົວຊີ້ເມົ້າລົງໃສ່ເຄື່ອງໝາຍເລກ id.
WriteToFile ຊື່ເອກະສານ {p1} {p2} ແລະອື່ນໆ
ຂຽນໃສ່ໄຟລ໌ ຊື່ເອກະສານ string ທີ່ເປັນການເຊື່ອມໂຍງຂອງການໂຕ້ຖຽງທັງຫມົດ
p1, p2, ແລະອື່ນໆ
ເຮັດ {ຄໍາສັ່ງ ໂຕ້ຖຽງ}
ປະຕິບັດຄໍາສັ່ງ fvwm ພາຍໃນ Do block. ຄໍາສັ່ງ fvwm ໃດໆທີ່ອະທິບາຍໄວ້ໃນ
fvwm2 man page ສາມາດໃຊ້ໄດ້. ຄໍາສັ່ງຖືກສົ່ງຈາກໂມດູນນີ້ໄປຫາ fvwm main
ໂຄງການສໍາລັບການປຸງແຕ່ງ. ຄວາມຍາວຂອງຄໍາສັ່ງແລະການໂຕ້ຖຽງບໍ່ສາມາດເກີນ 988
ລັກສະນະ.
ຕັ້ງ $var={str1} {p2} ແລະອື່ນໆ
ເຊື່ອມສານອາກິວເມັນທັງໝົດໃສ່ສະຕຣິງໃດໜຶ່ງ ແລະຕັ້ງຕົວແປ $var ກັບສາຍນີ້.
ອອກ: ອອກຈາກໂຄງການ.
ສົ່ງສັນຍານ id1 id2
ສົ່ງຂໍ້ຄວາມທີ່ມີຕົວເລກ id2 ກັບ widget id1.
SendToScript id_script {p11} {p2} ແລະອື່ນໆ
ສົ່ງຂໍ້ຄວາມໄປຫາສະຄຣິບທີ່ລະບຸໂດຍ id_script. ຂໍ້ຄວາມແມ່ນ
ການເຊື່ອມໂຍງຂອງ str1, str2...
ທີ່ສໍາຄັນ ຊື່ຄີ ການປ່ຽນແປງ id sig p1 p2 ແລະອື່ນໆ
ຜູກຄີຄີບອດກັບຄໍາແນະນໍາ
ສົ່ງສັນຍານ id sig
ແລະກໍານົດ "ສາຍສຸດທ້າຍ" ກັບ concatenation ຂອງ str1, str2 ... (ເບິ່ງ the
ຟັງຊັນ LastString). ໄດ້ ຊື່ຄີ ແລະ ຕົວປ່ຽນແປງ ຊ່ອງຂໍ້ມູນແມ່ນຖືກກໍານົດໄວ້ໃນ fvwm
ຄໍາສັ່ງທີ່ສໍາຄັນ.
ການໂຕ້ຖຽງ
ຄໍາສັ່ງສ່ວນໃຫຍ່ໃຊ້ການໂຕ້ຖຽງ. ມີສອງປະເພດຂອງການໂຕ້ຖຽງ: ຕົວເລກແລະສະຕິງ. ກ
argument ຕົວເລກແມ່ນຄ່າລະຫວ່າງ -32000 ແລະ +32000. ສະຕຣິງແມ່ນຢູ່ສະເໝີ
ອ້ອມຮອບດ້ວຍວົງເລັບ. ຕົວແປສະເຫມີເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ "$" ແລະສາມາດປະກອບມີທັງສອງ
ຕົວເລກ ແລະສາຍ.
FUNCTIONS
ຟັງຊັນທັງໝົດໃຊ້ການໂຕ້ຖຽງ. ຟັງຊັນສາມາດສົ່ງຄືນໄດ້ທັງສະຕຣິງ ແລະຕົວເລກ. syntax
ແມ່ນ:
(function argument1 argument2 ແລະອື່ນໆ)
ນີ້ແມ່ນບັນຊີລາຍຊື່ເຕັມຂອງການໂຕ້ຖຽງ:
(GetTitle id)
ກັບຄືນຫົວຂໍ້ຂອງ widget ຕົວເລກ id.
(GetValue id)
ສົ່ງຄ່າປັດຈຸບັນຂອງ widget ທີ່ເປັນຕົວເລກ id.
(GetMinValue id)
ສົ່ງຄືນຄ່າຕ່ຳສຸດປັດຈຸບັນຂອງວິດເຈັດທີ່ໄດ້ເລກ id.
(GetMaxValue id)
ສົ່ງຄືນຄ່າສູງສຸດປັດຈຸບັນຂອງວິດເຈັດທີ່ເລກ id.
(GetFore id)
ສົ່ງຄືນຄ່າ RGB foreground ປະຈຸບັນຂອງ widget ທີ່ເປັນຕົວເລກ id ໃນຮູບແບບ hex
RRGGBB.
(GetBack id)
ສົ່ງຄືນຄ່າພື້ນຫຼັງ RGB ປະຈຸບັນຂອງ widget ທີ່ເປັນຕົວເລກ id ໃນຮູບແບບ hex
RRGGBB.
(GetHilight id)
ສົ່ງຄືນຄ່າ RGB hilight ປະຈຸບັນຂອງ widget ທີ່ເປັນຕົວເລກ id ໃນຮູບແບບ hex
RRGGBB.
(GetShadow id)
ສົ່ງຄືນຄ່າເງົາ RGB ປະຈຸບັນຂອງ widget ທີ່ເປັນຕົວເລກ id ໃນຮູບແບບ hex
RRGGBB.
(GetOutput {str} int1 int2)
ປະຕິບັດຄໍາສັ່ງ str, ໄດ້ຮັບຜົນຜະລິດມາດຕະຖານແລະສົ່ງຄືນຄໍາທີ່ຢູ່ໃນ
ເສັ້ນ int1 ແລະຢູ່ໃນຕໍາແຫນ່ງ int2ທີ່ຢູ່ ຖ້າຫາກວ່າ int2 ເທົ່າກັບ -1, GetOutput ກັບຄືນ
ເສັ້ນທີ່ສົມບູນ.
(NumToHex int)
ຕອບຄ່າເລກຖານສິບຫົກຂອງ int.
(HexToNum {str})
ຕອບຄ່າທົດສະນິຍົມຂອງ str, str ຕ້ອງເປັນຄ່າເລກຖານສິບຫົກ.
(ຕື່ມ int1 int2)
ກັບຄືນຜົນໄດ້ຮັບຂອງ (int1+int2).
(ຫຼາຍ int1 int2)
ກັບຄືນຜົນໄດ້ຮັບຂອງ (int1*int2).
(Div int1 int2)
ກັບຄືນຜົນໄດ້ຮັບຂອງ (int1/int2).
(StrCopy {str} int1 int2)
ຕອບສະຕຣິງທີ່ຢູ່ລະຫວ່າງຕຳແໜ່ງ int1 ແລະ int2. ຕົວຢ່າງ, (StrCopy
{ສະບາຍດີ} 1 2) ກັບຄືນ {He}
(LaunchScript {str})
ຟັງຊັນນີ້ເປີດໃຊ້ສະຄຣິບທີ່ມີຊື່ວ່າ str ແລະສົ່ງຄືນໝາຍເລກປະຈຳຕົວ.
ຕົວເລກນີ້ແມ່ນມີຄວາມຈໍາເປັນເພື່ອນໍາໃຊ້ຫນ້າທີ່ SendToScript ແລະ ReceiveFromScript.
str str ມີຊື່ສະຄຣິບແລະບາງ argument.
(GetScriptArgument {int})
ຟັງຊັນນີ້ສົ່ງຄືນສະຄຣິບອາກິວເມັນທີ່ໃຊ້ໃນຟັງຊັນ LaunchScript. ຖ້າ
int ເທົ່າກັບສູນ, GetScriptArgument ສົ່ງຄືນຊື່ຂອງສະຄຣິບ.
(GetScriptFather)
ຟັງຊັນນີ້ສົ່ງຄືນໝາຍເລກປະຈໍາຕົວຂອງພໍ່ສະຄຣິບ.
(ReceivFromScript {int})
ຟັງຊັນນີ້ສົ່ງຄືນຂໍ້ຄວາມທີ່ສົ່ງໂດຍສະຄິບເລກ int.
(RemainderOfDiv {int1 int2}): t
ຟັງຊັນນີ້ສົ່ງຄືນສ່ວນທີ່ເຫຼືອຂອງພະແນກ (int1/int2).
(GetTime)
ຟັງຊັນນີ້ສົ່ງຄືນເວລາເປັນວິນາທີ.
(GetPid)
ຟັງຊັນນີ້ສົ່ງຄືນ id ຂະບວນການຂອງສະຄຣິບ.
(ຂໍຂໍ້ຄວາມ {str})
ຟັງຊັນນີ້ສົ່ງຄືນການແປຂອງ str ໂດຍການນຳໃຊ້ລາຍການທ້ອງຖິ່ນທີ່ກຳນົດໄວ້
ດ້ວຍ UseGettext.
(SendMsgAndGet {comId} {cmd} bool)
ສົ່ງຄໍາສັ່ງ cmd ກັບຕົວລະບຸ comId ກັບໂຄງການພາຍນອກພ້ອມທີ່ຈະ
ຕິດຕໍ່ສື່ສານກັບສະຄຣິບໂດຍໃຊ້ໂປຣໂຕຄໍສະເພາະກັບ FvwmScript. ຖ້າ bool ແມ່ນ 0
FvwmScript ບໍ່ໄດ້ລໍຖ້າຄໍາຕອບຈາກໂຄງການພາຍນອກ. ໃນກໍລະນີດັ່ງກ່າວນີ້
ມູນຄ່າກັບຄືນແມ່ນ 1 ຖ້າຂໍ້ຄວາມສາມາດຖືກສົ່ງໄປຫາໂຄງການພາຍນອກແລະ 0 ຖ້າ
ນີ້ບໍ່ແມ່ນກໍລະນີ. ຖ້າ bool ແມ່ນ 1, ຫຼັງຈາກນັ້ນ FvwmScript ລໍຖ້າຄໍາຕອບຈາກ
ໂຄງການພາຍນອກແລະຄ່າກັບຄືນມາແມ່ນຄໍາຕອບນີ້ (ເສັ້ນຂອງບໍ່ເກີນ 32000
ຕົວອັກສອນ). ຖ້າການສື່ສານລົ້ມເຫລວ, ຄ່າທີ່ສົ່ງຄືນແມ່ນ 0. ເບິ່ງພາກ
A ການສື່ສານ ໂປຣແກຣມ PROTOCOL ສໍາລັບລາຍລະອຽດຂອງໂປໂຕຄອນການສື່ສານທີ່ໃຊ້.
(parse {str} int)
ບ່ອນທີ່ str ຕ້ອງເປັນສະຕຣິງຂອງແບບຟອມ:
X1S1X2S2X3S3...SnXn
ບ່ອນທີ່ Xn ແມ່ນຕົວເລກທີ່ມີຕົວເລກທົດສະນິຍົມສີ່ຕົວເລກ ແລະບ່ອນທີ່ Sn ແມ່ນສະຕຣິງຂອງ
ຄວາມຍາວແທ້ Xn. ຄ່າທີ່ສົ່ງຄືນແມ່ນສະຕຣິງ Sintທີ່ຢູ່ ຖ້າຫາກວ່າ int ອອກຈາກຂອບເຂດ
(ຕົວຢ່າງ, >n) ຄ່າທີ່ສົ່ງຄືນແມ່ນສະຕຣິງຫວ່າງເປົ່າ. ຖ້າ str ບໍ່ໄດ້ກໍານົດໄວ້
ແບບຟອມ, ມູນຄ່າກັບຄືນແມ່ນບໍ່ສາມາດຄາດເດົາໄດ້ (ແຕ່ຫວ່າງເປົ່າຢູ່ໃນສະເລ່ຍ). ຟັງຊັນນີ້
ມີປະໂຫຍດໃນການຈັດການສະຕຣິງທີ່ສົ່ງຄືນໂດຍຟັງຊັນ SendMsgAndGet.
(ສາຍສຸດທ້າຍ)
ຟັງຊັນນີ້ສົ່ງຄືນ "ສາຍທີ່ເຮັດວຽກໃນປະຈຸບັນ" ສໍາລັບຄໍາແນະນໍາທີ່ສໍາຄັນແລະ
ຄໍາສັ່ງ SendString (ເບິ່ງ ສາມາດ ພາກ). ໃນຕອນເລີ່ມຕົ້ນ, ສາຍນີ້ຫວ່າງເປົ່າ, ແຕ່
ເມື່ອມີການກວດພົບ Key binding (ຕາມລໍາດັບ, ຄໍາສັ່ງ SendString ແມ່ນໄດ້ຮັບ),
ຈາກນັ້ນສະຕຣິງນີ້ຖືກຕັ້ງເປັນສະຕຣິງທີ່ກ່ຽວຂ້ອງກັບຄໍາແນະນໍາ (ຕາມລໍາດັບ,
ກັບຄໍາສັ່ງ).
ສະພາບແວດລ້ອມ ໂລບ
ມີສາມປະເພດຂອງ loops ເງື່ອນໄຂ. ຄໍາແນະນໍາ "ຖ້າ-ຫຼັງຈາກນັ້ນ-ອື່ນ" ມີ
syntax ຕໍ່ໄປນີ້:
ຖ້າ $ToDo=={ເປີດ xcalc} ຈາກນັ້ນ
ເຮັດ {Exec xcalc &} # ລາຍການຄໍາແນະນໍາ
ອື່ນ ໆ
ເລີ່ມຕົ້ນ
ເຮັດ {Exec killall xcalc &} # ລາຍການຄໍາແນະນໍາ
ເຮັດ {Exec echo xcalc ຖືກຂ້າຕາຍ > /dev/console}
ສຸດທ້າຍ
ສ່ວນທີສອງ "Else-Begin-End" ແມ່ນທາງເລືອກ. ຖ້າ loop ປະກອບມີພຽງແຕ່ຫນຶ່ງຄໍາແນະນໍາ,
ເລີ່ມຕົ້ນແລະສິ້ນສຸດສາມາດຖືກລະເວັ້ນ. ຄໍາແນະນໍາ "While-Do" ມີ syntax ດັ່ງຕໍ່ໄປນີ້:
ໃນຂະນະທີ່ $i<5 Do
ເລີ່ມຕົ້ນ
ຕັ້ງ $i=(ຕື່ມ i 1) # ລາຍການຄໍາແນະນໍາ
ສຸດທ້າຍ
ສອງສາຍສາມາດປຽບທຽບກັບ "==" ແລະສອງຕົວເລກສາມາດປຽບທຽບກັບ "<", "<=",
" ==", ">=", ">". loop "For-Do-Begin-End" ມີ syntax ຕໍ່ໄປນີ້:
ສໍາລັບ $i=1 ເຖິງ 20 ເຮັດ
ເລີ່ມຕົ້ນ
ເຮັດ {Exec xcalc &} # ລາຍການຄໍາແນະນໍາ
ສຸດທ້າຍ
ສາມາດ
ຄໍາສັ່ງ fvwm ຕໍ່ໄປນີ້ອາດຈະຖືກປະຕິບັດໄດ້ທຸກເວລາ
SendToModule ຊື່ສະຄຣິບ SendString id sig str
ມັນສົ່ງໄປຫາໂມດູນທີ່ມີນາມແຝງຫຼືຊື່ທີ່ກົງກັນ ຊື່ສະຄຣິບ ຊ່ອຍແນ່
SendString id sig str
ເມື່ອ FvwmScript ໄດ້ຮັບຂໍ້ຄວາມດັ່ງກ່າວມັນຈະຖືກສົ່ງໄປຫາ Widget id ສັນຍານຕົວເລກ
sig ແລະຊ່ອຍແນ່ str ສາມາດໄດ້ຮັບດ້ວຍຟັງຊັນ LastString. ໃຫ້ພວກເຮົາໃຫ້
ຕົວຢ່າງ. ເວົ້າວ່າທ່ານມີສະຄິບ MyScript ທີ່ມີ widget:
ວິດເຈັດ 50
ຄຸນສົມບັດ
ພິມ PushButton
ຊື່ {ອອກ}
...
ຕົ້ນຕໍ
ກໍລະນີຂໍ້ຄວາມຂອງ
SingleClic:
ເລີ່ມຕົ້ນ
ເຊົາ
ສຸດທ້າຍ
1:
ເລີ່ມຕົ້ນ
ຕັ້ງ $str = (LastString)
ຖ້າ $str == {ອອກ} ແລ້ວ
ເຊົາ
ອື່ນ ໆ
ChangeTitle 33 $str
ສຸດທ້າຍ
ສຸດທ້າຍ
ຫຼັງຈາກນັ້ນ, ຄໍາສັ່ງ
SendToModule MyScript SendString 50 1 str
ບັງຄັບໃຫ້ MyScript ອອກຖ້າ str ເທົ່າກັບ "ອອກ" ແລະຖ້າບໍ່ແມ່ນມັນປ່ຽນຫົວຂໍ້ຂອງ
Widget 33 ເຖິງ str.
ຄໍາສັ່ງນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອປ່ຽນຫົວຂໍ້ປ່ອງຢ້ຽມ
SendToModule ຊື່ສະຄຣິບ ChangeWindowTitle ຫົວຂໍ້ໃໝ່ [ຊື່ເກົ່າ]
ມັນເຮັດໃຫ້ໂມດູນທີ່ມີນາມແຝງຫຼືຊື່ທີ່ກົງກັນ ຊື່ສະຄຣິບ ປ່ຽນແປງຂອງມັນ
ຫົວຂໍ້ໜ້າຕ່າງທີ່ກ່ຽວພັນກັບ ຫົວຂໍ້ໃໝ່. ການໂຕ້ຖຽງທາງເລືອກ ຊື່ເກົ່າ ເຮັດໃຫ້ຄວາມຮູ້ສຶກໃນເວລາທີ່ມີ
ມີຫຼາຍຕົວຢ່າງຂອງສະຄຣິບດຽວກັນ. ມັນອະນຸຍາດໃຫ້ຫນຶ່ງເພື່ອຫຼີກເວັ້ນການປ່ຽນຊື່ຂອງ
ຕົວຢ່າງທັງຫມົດເຫຼົ່ານີ້ໂດຍການລະບຸຊື່ຂອງປ່ອງຢ້ຽມທີ່ກ່ຽວຂ້ອງກັບ script ເປົ້າຫມາຍ
(ເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້).
+ I Module FvwmScript FvwmStorageSend "/dev/hda6"
+ ຂ້ອຍລໍຖ້າ FvwmStorageSend
+ ຂ້ອຍ SendToModule FvwmStorageSend ChangeWindowTitle HDA6
+ I Module FvwmScript FvwmStorageSend "/dev/hda1"
+ ຂ້ອຍລໍຖ້າ FvwmStorageSend
+ ຂ້ອຍ SendToModule FvwmStorageSend ChangeWindowTitle HDA1 FvwmStorageSend
ໂດຍບໍ່ມີການໂຕ້ຖຽງ FvwmStorageSend ໃນກໍລະນີສຸດທ້າຍ, ຄໍາສັ່ງ SendToModule ຈະມີ.
ປ່ຽນເປັນ HDA1 ຊື່ຂອງທັງສອງຕົວຢ່າງຂອງ FvwmStorageSend.
ຕົວຢ່າງ
ເຈົ້າຈະພົບເຫັນຕົວຢ່າງຂອງສະຄຣິບຢູ່ໃນໄດເລກະທໍລີການຕັ້ງຄ່າ fvwm.
FvwmScript-BellSetup, FvwmScript-KeyboardSetup, FvwmScript-PointerSetup ແລະ FvwmScript-
ScreenSetup ແມ່ນຊຸດຂອງສະຄຣິບທີ່ດັດແປງການຕັ້ງຄ່າ X. ສະຄຣິບເຫຼົ່ານີ້ບັນທຶກການຕັ້ງຄ່າ
ເຂົ້າໄປໃນໄຟລ໌ທີ່ມີຊື່ ~/.xinit-fvwmrc (ຖ້າທ່ານຕ້ອງການໃຊ້ຊື່ໄຟລ໌ອື່ນ, ໃຫ້ມັນເປັນ
ການໂຕ້ຖຽງທໍາອິດຂອງ script). ຖ້າທ່ານຕ້ອງການໂຫຼດການຕັ້ງຄ່າເຫຼົ່ານີ້ຢູ່ໃນທຸກໆການເລີ່ມຕົ້ນ,
ທ່ານຕ້ອງລວມເອົາເສັ້ນ ".xinit-fvwmrc" ໃນໄຟລ໌ .xinitrc (ຫຼື .xsession) ຂອງທ່ານກ່ອນ.
ເລີ່ມ fvwm.
FvwmScript-BaseConfig ປັບປ່ຽນຈຸດໂຟກັສຂອງ fvwm ແລະນະໂຍບາຍຂອງເມົ້າໜ້າທີ່, ການຈັດວາງໜ້າຕ່າງ,
opacity ແລະລັກສະນະອື່ນໆຂອງຄໍາສັ່ງຍ້າຍແລະປັບຂະຫນາດ, ການດຶງດູດ snap ແລະຮົ່ມ
ພາບເຄື່ອນໄຫວ. ສະຄຣິບນີ້ບັນທຶກການຕັ້ງຄ່າໄວ້ໃນໄຟລ໌ທີ່ມີຊື່ .FvwmBaseConfig ໃນຜູ້ໃຊ້
ໄດເລກະທໍລີຂໍ້ມູນ (ເຊັ່ນ: $HOME/.fvwm ຫຼື $FVWM_USERDIR ຖ້າຕັ້ງ). ຖ້າທ່ານຕ້ອງການໂຫລດເຫຼົ່ານີ້
ການຕັ້ງຄ່າທຸກຄັ້ງທີ່ເລີ່ມຕົ້ນ ທ່ານຕ້ອງເພີ່ມແຖວ "Read .FvwmBaseConfig" ໃນ fvwm ຂອງທ່ານ.
ໄຟລ໌ການຕັ້ງຄ່າ. ຖ້າທ່ານຕ້ອງການໃຊ້ຊື່ໄຟລ໌ອື່ນ, ໃຫ້ມັນເປັນການໂຕ້ຖຽງທໍາອິດ
ຂອງ script ໄດ້. ເມື່ອທ່ານຄລິກໃສ່ Ok ຫຼືນໍາໃຊ້ຟັງຊັນ fvwm ທີ່ທ່ານອາດຈະກໍານົດຊື່
BaseConfigOkFunc ຫຼື BaseConfigApplyFunc ຖືກເອີ້ນວ່າ. ນີ້ອະນຸຍາດໃຫ້ສໍາລັບການໂຫຼດໃຫມ່ສະເພາະ
ຮູບແບບແອັບພລິເຄຊັນທີ່ສະຄຣິບຖືກທຳລາຍ (ເຊັ່ນ: AddToFunc BaseConfigOkFunc ຂ້ອຍອ່ານ
MyAppStyle).
FvwmScript-Buttons ແມ່ນແຜງປຸ່ມທີ່ສາມາດປ່ຽນແທນ FvwmButtons (ສະຄຣິບນີ້ຮອງຮັບ
ເມນູປ໊ອບອັບແລະຕ້ອງການ xload, xclock, FvwmPager, TkDesk). FvwmScript-Colorset ອະນຸຍາດໃຫ້
ເພື່ອແກ້ໄຂ colorset ຂອງທ່ານ (ເບິ່ງ FvwmTheme). FvwmScript-Date ອະນຸຍາດໃຫ້ທ່ານກໍານົດວັນທີແລະ
ເວລາ. FvwmScript-FileBrowser ແມ່ນຕົວທ່ອງເວັບຂອງໄຟລ໌ທີ່ໃຊ້ໂດຍສະຄິບອື່ນ. FvwmScript-
ຄົ້ນຫາແມ່ນສ່ວນຫນ້າຂັ້ນຕົ້ນເພື່ອຊອກຫາ. FvwmScript-Quit ອະນຸຍາດໃຫ້ຫນຶ່ງອອກຈາກ fvwm, restart
fvwm ຫຼືບາງຕົວຈັດການປ່ອງຢ້ຽມອື່ນໆ, ຫຼືປິດແລະປິດຄອມພິວເຕີໃຫມ່. FvwmScript-
ScreenDump ເປັນ dumper ຫນ້າຈໍ. FvwmScript-WidgetDemo ແມ່ນສະຄຣິບຕົວຢ່າງອັນບໍລິສຸດ. ເບິ່ງ
ພາກຕໍ່ໄປສໍາລັບ FvwmScript-ComExample.
A ການສື່ສານ ໂປຣແກຣມ PROTOCOL
FvwmScript ເປັນພາສາການຂຽນໂປຼແກຼມທີ່ອ່ອນແອ (ແຕ່ງ່າຍດາຍ). ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະຈັດການກັບຫຼາຍ
ຂໍ້ມູນແລະ / ຫຼືທ່ານຈໍາເປັນຕ້ອງໃຊ້ສູດການຄິດໄລ່ທີ່ສັບສົນທີ່ທ່ານຄວນໃຊ້ໂປແກຼມພາຍນອກ (ໃນ perl
ຕົວຢ່າງ) ແລະ "ສົ່ງ" ຂໍ້ມູນທີ່ຕ້ອງການໄປຫາສະຄິບ FvwmScript ຂອງທ່ານ. ທໍາອິດ
ວິທີການແມ່ນໃຊ້ຟັງຊັນ GetOutput. ນີ້ແມ່ນງ່າຍດາຍແຕ່ທ່ານຄວນດໍາເນີນການຂອງທ່ານຄືນ
ໂຄງການພາຍນອກແຕ່ລະຄັ້ງທີ່ທ່ານຕ້ອງການຂໍ້ມູນຈາກມັນ (ແລະນີ້ອາດຈະເຮັດໃຫ້ເກີດການປະຕິບັດ
ບັນຫາ). ວິທີທີສອງແມ່ນການໃຊ້ຟັງຊັນ SendMsgAndGet ເຊິ່ງຂະຫຍາຍອອກໄປ
FvwmScript ໂດຍໃຊ້ພາສາການຂຽນໂປຼແກຼມໃດໆທີ່ສາມາດຈັດການກັບທໍ່ທີ່ມີຊື່ (fifos). ພວກເຮົາ
ອະທິບາຍການແກ້ໄຂນີ້ຢູ່ໃນພາກນີ້. (ວິທີທີສາມແມ່ນໃຊ້ fvwm-themes-com ຈາກ
ຊຸດ fvwm-themes, ແຕ່ຄວາມຈິງແລ້ວວິທີການ SendMsgAndGet ແມ່ນການຈັດຕັ້ງປະຕິບັດ
fvwm-themes-com ພາຍໃນ FvwmScript ແລະນີ້ເຮັດໃຫ້ການປະຕິບັດທີ່ດີກວ່າ).
ໂດຍພື້ນຖານແລ້ວ, ທ່ານເລີ່ມຕົ້ນໂຄງການ "ພາຍນອກ" (ໂຄງການສໍາລັບສັ້ນ) ຈາກ FvwmScript ຂອງທ່ານ
script (script ສໍາລັບສັ້ນ). ໂຄງການນີ້ດໍາເນີນການໃນພື້ນຖານແລະທ່ານນໍາໃຊ້
ຟັງຊັນ SendMsgAndGet ໃນສະຄຣິບຂອງທ່ານເພື່ອຖາມຄໍາຖາມຫຼືໃຫ້ຄໍາແນະນໍາກັບ
ໂຄງການ. ໂຄງການຕ້ອງເຄົາລົບອະນຸສັນຍາການສື່ສານສະເພາະຢ່າງເຂັ້ມງວດ. ຫນ້າທໍາອິດຂອງ
ທັງໝົດມີຕົວລະບຸ comId ສໍາລັບການສື່ສານ, ມັນຄວນຈະມີ id ຂະບວນການ
script ສໍາລັບການປະຕິບັດທີ່ດີຂອງໂປໂຕຄອນ (ໃຊ້ຟັງຊັນ GetPid ແລະຜ່ານ
ໄດ້ comId ຜ່ານທາງເລືອກຂອງໂຄງການ). ໂປໂຕຄອນໃຊ້ສອງ fifos, ໃນຜູ້ໃຊ້ fvwm
ໄດເຣັກທໍຣີ, ຊື່: .tmp-com-in-comId ແລະ .tmp-com-out-comId. ໂຄງການຄວນຈະສ້າງແລະ
ຟັງຢູ່ໃນ .tmp-com-in-comId ຟີໂຟ. ຫຼັງຈາກນັ້ນ, ເມື່ອ FvwmScript ປະຕິບັດຫນ້າທີ່ຂອງ
ແບບຟອມ:
ຕັ້ງ $answer = (SendMsgAndGet {comId} {cmd} bool)
FvwmScript ຂຽນ cmd ໃນ fifo ນີ້. ດ້ວຍວິທີນີ້, ໂປແກຼມສາມາດອ່ານໄດ້ cmd ແລະສາມາດເຮັດໄດ້
ປະຕິບັດການປະຕິບັດທີ່ເຫມາະສົມ (ມັນຄວນຈະເອົາອອກໃນ fifo ເພື່ອສະຫນັບສະຫນູນຫຼາຍ.
ການສື່ສານ). ຖ້າ bool ແມ່ນ 0, FvwmScript ບໍ່ລໍຖ້າຄໍາຕອບຈາກໂຄງການແລະ
ກັບຄືນ 1 ຖ້າການປະຕິບັດທີ່ຜ່ານມາປະສົບຜົນສໍາເລັດແລະ 0 ຖ້າພວກເຂົາລົ້ມເຫລວ (ຫຼັງຈາກນັ້ນໂຄງການຄວນຈະ "ໄປ
back" to the in fifo).ຖ້າ bool ແມ່ນ 1, ຫຼັງຈາກນັ້ນ FvwmScript ລໍຖ້າ (20 ວິນາທີ) ສໍາລັບຄໍາຕອບຈາກ
ໂຄງການແລະເຮັດໃຫ້ການກັບຄືນມາຄໍາຕອບຂອງສະຄິບ (ຫມາຍເຫດວ່າ bool ບໍ່ໄດ້ຜ່ານໄປ
ໂປລແກລມຍ້ອນວ່າມັນຕ້ອງຮູ້ວ່າຄໍາສັ່ງໃດຕ້ອງການຄໍາຕອບ). ເພື່ອຕອບ, ໂຄງການສ້າງ
.tmp-com-out-comId fifo ແລະຂຽນຄໍາຕອບໃສ່ມັນ. ໂຄງການຄວນລໍຖ້າຈົນກ່ວາ
FvwmScript ອ່ານຄໍາຕອບແລະຫຼັງຈາກນັ້ນມັນຄວນຈະເອົາອອກ fifo ແລະກັບຄືນໄປບ່ອນຢູ່ໃນ
ຟີໂຟ. ຄໍາຕອບຄວນປະກອບດ້ວຍຫນຶ່ງແຖວບໍ່ເກີນ 32000 ຕົວອັກສອນ (ລອງເບິ່ງ
ທີ່ຟັງຊັນ Parse ເພື່ອຈັດການຫຼາຍແຖວເປັນແຖວດຽວ).
ວິທີທີ່ງ່າຍດາຍທີ່ຈະເຂົ້າໃຈໂປໂຕຄອນນີ້ແລະການຂຽນສະຄິບແລະໂປຼແກຼມທີ່ໃຊ້ມັນ
ເພື່ອເບິ່ງຕົວຢ່າງ (ບໍ່ມີປະໂຫຍດ) FvwmScript-ComExample ແລະ fvwm-script-
ComExample.pl (ທີ່ສາມາດພົບໄດ້ໃນ fvwm data directory). ຍິ່ງໄປກວ່ານັ້ນ, ການປະຕິບັດນີ້
ຂອງໂປໂຕຄອນແກ້ບັນຫາຄື: ຈະເຮັດແນວໃດຖ້າ script ອອກດ້ວຍເຫດຜົນທີ່ບໍ່ດີ?
ຈະເຮັດແນວໃດຖ້າໂຄງການອອກໄປດ້ວຍເຫດຜົນທີ່ບໍ່ດີ? ...ແລະອື່ນໆ.
ໃຊ້ FvwmScript ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net