ນີ້ແມ່ນຄໍາສັ່ງ fdpowermon ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
fdpowermon - ເພີ່ມໄອຄອນລະດັບແບັດເຕີຣີໃສ່ຖາດລະບົບທີ່ປະຕິບັດຕາມ freedesktop.org
ສະຫຼຸບສັງລວມ
fdpowermon
ລາຍລະອຽດ
ໂປລແກລມນີ້ອະນຸຍາດໃຫ້ຫນຶ່ງສະແດງໄອຄອນ "ລະດັບຫມໍ້ໄຟ" ໃນ freedesktop.org-compliant ໃດ
ພື້ນທີ່ສະຖານະ. ມັນສາມາດຖືກຈັດເປັນຫົວຂໍ້ໂດຍຜ່ານໄຟລ໌ການຕັ້ງຄ່າຂໍ້ຄວາມທໍາມະດາ
(/etc/fdpowermon/theme.cfg or $XDG_CONFIG_DIR/fdpowermon/theme.cfg), ຫຼືຜ່ານສັ້ນ
perl script (/etc/fdpowermon/theme.pl or $XDG_CONFIG_DIR/fdpowermon/theme.pl) ຖ້າຫາກວ່າ
$XDG_CONFIG_DIR ບໍ່ໄດ້ຕັ້ງ, $HOME/.config ຖືກໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນ.
ອະດີດແມ່ນງ່າຍກວ່າ, ເພາະວ່າມັນບໍ່ຮຽກຮ້ອງໃຫ້ມີການຂຽນອັກສອນ; ແລະແນ່ນອນຄ່າເລີ່ມຕົ້ນ
ການຕັ້ງຄ່າແມ່ນຕົວຢ່າງຂອງຫົວຂໍ້ຂໍ້ຄວາມທຳມະດາດັ່ງກ່າວ. ຢ່າງໃດກໍຕາມ, ສຸດທ້າຍອະນຸຍາດໃຫ້ສໍາລັບການ
ຄວາມຍືດຫຍຸ່ນຫຼາຍ, ເປັນຫນຶ່ງສາມາດກໍານົດ callbacks ທີ່ຄວນຈະດໍາເນີນການໃນເວລາທີ່ລະດັບຫມໍ້ໄຟ
ຮອດເກນກຳນົດ.
ຫົວຂໍ້, ບໍ່ວ່າຈະເປັນຫົວຂໍ້ perl ຫຼືຫົວຂໍ້ຂໍ້ຄວາມທໍາມະດາ, ຖືກສ້າງຂຶ້ນໂດຍຜ່ານ 'ຂັ້ນຕອນ', ເຊິ່ງແມ່ນ
ກໍານົດຢູ່ໃນເສັ້ນດຽວ. ໃນໄຟລ໌ config ຂໍ້ຄວາມທໍາມະດາ, ເສັ້ນດັ່ງກ່າວເບິ່ງຄືວ່ານີ້:
discharge = 2:missing.png:low.png, 10:low.png, 100:full.png
ນີ້ກໍານົດສາມຂັ້ນຕອນ. ຂັ້ນຕອນທີ່ສູງທີ່ສຸດສະແດງໃຫ້ເຫັນ "full.png" loading="lazy" ເມື່ອລະດັບຫມໍ້ໄຟແມ່ນ
ລະຫວ່າງ 11% ແລະ 100% (ລວມ); ຂັ້ນຕອນທີສອງສະແດງໃຫ້ເຫັນ "low.png" loading="lazy" ເມື່ອລະດັບຫມໍ້ໄຟ
ແມ່ນຢູ່ລະຫວ່າງ 3% ແລະ 10% (ລວມ); ແລະຂັ້ນຕອນທີສາມຈະສະລັບກັນລະຫວ່າງ "missing.png"
ແລະ "low.png" loading="lazy" ໃນໄລຍະສາມວິນາທີ, ເມື່ອແບັດເຕີຣີຢູ່ລະຫວ່າງ 0% ຫາ 2%.
ນັບຕັ້ງແຕ່ສາຍເລີ່ມຕົ້ນດ້ວຍ "ການປົດປ່ອຍ", ຂັ້ນຕອນເຫຼົ່ານີ້ຖືກນໍາໃຊ້ໃນເວລາທີ່ລະບົບກໍາລັງເຮັດວຽກ
ກ່ຽວກັບພະລັງງານຫມໍ້ໄຟ. ເສັ້ນຂັ້ນຕອນທີ່ຄ້າຍຄືກັນສາມາດໄດ້ຮັບການກໍານົດສໍາລັບເວລາທີ່ຫມໍ້ໄຟແມ່ນ
ສາກໄຟ:
charging = 0:empty-charging.png, 10:low-charging.png, 100: full-charging.png
ອັນນີ້ຈະສະແດງ "empty-charging.png" loading="lazy" ເມື່ອແບັດເຕີຣີຢູ່ທີ່ 0% (ແນ່ນອນ),
"low-charging.png" loading="lazy" ລະຫວ່າງ 1% ຫາ 10% (ລວມ), ແລະ "full-charging.png" loading="lazy" ຢູ່ 11% ແລະ
ຂ້າງເທິງ.
ໃຫ້ສັງເກດວ່າຄໍາສັ່ງແມ່ນສໍາຄັນ: ຂັ້ນຕອນຄວນຖືກກໍານົດຈາກຕ່ໍາຫາສູງ.
ເພື່ອເຮັດສຳເລັດການຕັ້ງຄ່າຮູບແບບສີສັນ, ພວກເຮົາຕ້ອງເພີ່ມອີກສອງສາມລາຍການ:
[ຫົວຂໍ້ຂອງຂ້ອຍ]
ຂັ້ນຕອນ = 3
dir = /home/wouter/.fdpowermon/mytheme-icons
charging = 0:empty-charging.png, 10:low-charging.png, 100: full-charging.png
discharge = 2:missing.png:low.png, 10:low.png, 100:full.png
ນີ້ກໍານົດຫົວຂໍ້ທີ່ເອີ້ນວ່າ "mytheme" ເຊິ່ງມີສາມຂັ້ນຕອນ, ແລະຈະຊອກຫາຮູບພາບໃນ
ໄດເລກະທໍລີ "/home/wouter/.fdpowermon/mytheme-icons". ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະກໍານົດ a
ຫົວຂໍ້ທີ່ມີຈໍານວນຂັ້ນຕອນທີ່ແຕກຕ່າງກັນສໍາລັບໄລຍະການສາກໄຟກ່ວາມັນເຮັດສໍາລັບ
ໄລຍະອອກ; ຖ້າທ່ານຕ້ອງການ, ພຽງແຕ່ກໍານົດ (an) ຂັ້ນຕອນພິເສດສໍາລັບໄລຍະທີ່ທ່ານ
ຕ້ອງການມີຂັ້ນຕອນໜ້ອຍລົງ, ເຊິ່ງມີໄອຄອນດຽວກັນກັບຂັ້ນຕອນຂ້າງເທິງ ຫຼືທາງລຸ່ມ.
ໃຫ້ສັງເກດວ່າຄໍາສັ່ງແມ່ນສໍາຄັນຢູ່ທີ່ນີ້, ເຊັ່ນດຽວກັນ; ເສັ້ນ "ຂັ້ນຕອນ" ຄວນຈະປາກົດກ່ອນໃດກໍ່ຕາມ
ສາຍ "ສາກ" ຫຼື "ປ່ອຍ" (ນີ້ບໍ່ແມ່ນກໍລະນີໃນ fdpowermon 1.7 ຫຼືຂ້າງລຸ່ມນີ້).
ຖ້າມີຫຼາຍກວ່າໜຶ່ງຫົວຂໍ້ຖືກຕັ້ງຄ່າ, fdpowermon ຈະ, ໂດຍຄ່າເລີ່ມຕົ້ນ, ໃຊ້ຮູບແບບສີສັນສຸດທ້າຍ
ກໍານົດຢູ່ໃນການຕັ້ງຄ່າຕໍ່ຜູ້ໃຊ້, ຫຼື (ຖ້າບໍ່ມີໄຟລ໌ການຕັ້ງຄ່າຕໍ່ຜູ້ໃຊ້)
ຫົວຂໍ້ສຸດທ້າຍທີ່ຖືກກໍານົດໄວ້ໃນການຕັ້ງຄ່າທົ່ວລະບົບ.
ໄຟລ໌ config ຮູບແບບ Perl ສາມາດໃຊ້ fdpowermon::theme::make_default ເພື່ອປ່ຽນຄ່າເລີ່ມຕົ້ນ.
ຫົວຂໍ້.
ໄຂ່ມຸກ API
@ຄຳເຕືອນ
ສາມາດໃຊ້ @fdpowermon::theme::warnings array ເພື່ອລະບຸວ່າ fdpowermon ໃນລະດັບໃດ.
ຄວນອອກຄໍາເຕືອນມາດຕະຖານ. ຄ່າເລີ່ມຕົ້ນແມ່ນ (10, 5, 1), ຊຶ່ງຫມາຍຄວາມວ່າຈະອອກຄໍາເຕືອນ
ໃນລະດັບ 10%, 5%, ແລະ 1%. ໃຫ້ສັງເກດວ່າຖ້າແບດເຕີຣີແລ່ນຮາບພຽງຢູ່ໄວໂດຍສະເພາະ
ຈັງຫວະ, ລະດັບອາດຈະຫຼຸດລົງຫຼາຍກວ່ານັ້ນກ່ອນທີ່ຈະອອກຄໍາເຕືອນ;
ນອກຈາກນີ້, fdpowermon ຈະອອກຄໍາເຕືອນທັນທີເມື່ອພະລັງງານຖືກເອົາອອກຈາກເຄື່ອງ
ແລະພະລັງງານແມ່ນຕໍ່າກວ່າລະດັບທໍາອິດ.
ເພື່ອເຮັດໃຫ້ fdpowermon ອອກຄໍາເຕືອນສະເຫມີເມື່ອພະລັງງານຖືກໂຍກຍ້າຍ, ໃຫ້ຕັ້ງອັນນີ້ເປັນບາງສິ່ງບາງຢ່າງ
ມັກ (100, 10, 5, 1). ເພື່ອເຮັດໃຫ້ຄໍາເຕືອນບັນຫາ fdpowermon ຢູ່ທີ່ 20%, 10%, ແລະ 5%, ຕັ້ງຄ່ານີ້
(20, 10, 5).
ໃຫ້ສັງເກດວ່າມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະປ່ຽນຂໍ້ຄວາມຂອງຄໍາເຕືອນ. ຖ້າທ່ານຕ້ອງການ, ເບິ່ງ
fdpowermon::theme::warning sub, ແລະໃຊ້ເຫດການ.
$use_notify
ຕົວແປ $fdpowermon::theme::use_notify ສາມາດໃຊ້ເພື່ອຕັດສິນໃຈວ່າຈະໃຊ້
libnotify ຂໍ້ຄວາມ (ຖ້າຕັ້ງເປັນຄ່າທີ່ບໍ່ແມ່ນສູນ), ຫຼືປ່ອງຢ້ຽມໂຕ້ຕອບ (ຖ້າຕັ້ງເປັນຄ່າທີ່
ປະເມີນເປັນສູນ).
ຄ່າເລີ່ມຕົ້ນແມ່ນການໃຊ້ libnotify ຖ້າຂໍ້ມູນການກວດກາຂອງ libnotify Glib ຖືກຕິດຕັ້ງ, ຫຼື
ກ່ອງໂຕ້ຕອບຖ້າບໍ່ແມ່ນ. ເນື່ອງຈາກວ່າກ່ອງໂຕ້ຕອບສາມາດລັກເອົາຈຸດສຸມແລະດັ່ງນັ້ນຈິ່ງເຮັດໃຫ້ເກີດຄວາມເສຍຫາຍ
ກັບການເຮັດວຽກຂອງຜູ້ໃຊ້, ການນໍາໃຊ້ libnotify ແມ່ນແນະນໍາຢ່າງແຂງແຮງໂດຍຜູ້ຂຽນ.
ໃຫ້ສັງເກດວ່າຖ້າທ່ານຕັ້ງຕົວແປເປັນ nonzero ຢ່າງຊັດເຈນ, ຫຼັງຈາກນັ້ນການທົດສອບບໍ່ວ່າຈະເປັນຫຼືບໍ່
ຂໍ້ມູນການກວດກາ glib ຖືກຕິດຕັ້ງຈະຖືກລະເລີຍ. ໃຫ້ແນ່ໃຈວ່າມັນມີຢູ່ໃນນັ້ນ
ກໍລະນີ!
ໃຫມ່
ສ້າງຫົວຂໍ້ fdpowermon ໃໝ່. ສົ່ງຄືນຂໍ້ອ້າງອີງທີ່ເປັນພອນ; ຕົວຢ່າງ:
my $theme = new fdpowermon::theme;
$theme->set_stepcount($count)
ກໍານົດຈໍານວນຂອງຂັ້ນຕອນໃນຫົວຂໍ້. ໃຫ້ສັງເກດວ່າຫົວຂໍ້ fdpowermon ຕ້ອງມີເທົ່າທຽມກັນ
ຈໍານວນຂອງຂັ້ນຕອນທັງໃນ "ການສາກໄຟ" ແລະ "ການປ່ອຍ" ທິດທາງ.
ຄວນຖືກເອີ້ນກ່ອນທີ່ຈະໂທຫາ set_charging, set_discharging, ຫຼື parse_step.
$theme->set_dir($dir)
ຕັ້ງໄດເລກະທໍລີພື້ນຖານທີ່ໃຊ້ສໍາລັບຊື່ໄຟລ໌ໄອຄອນ.
$theme->set_charging(\@elements)
ຕັ້ງຄ່າໄອຄອນທີ່ຄວນຈະສະແດງໃຫ້ເຫັນໃນເວລາທີ່ກໍາລັງສາກໄຟ. ການໂຕ້ຖຽງຄວນຈະເປັນ
ສ້າງໂດຍວິທີການ parse_step.
$theme->set_discharging(\@elements)
ຕັ້ງໄອຄອນທີ່ຄວນຈະຖືກສະແດງເມື່ອແບັດເຕີຣີໝົດ. ການໂຕ້ຖຽງຄວນຈະເປັນ
ສ້າງໂດຍວິທີການ parse_step.
$theme->parse_step($defs)
parses ສະຕຣິງທີ່ໃຫ້ເຂົ້າໄປໃນບາງສິ່ງບາງຢ່າງທີ່ສາມາດສົ່ງຕໍ່ກັບ set_charging ຫຼື
set_discharging. ຄໍານິຍາມຄວນຈະຢູ່ໃນຮູບແບບຂັ້ນຕອນ, ອະທິບາຍຂ້າງເທິງ, ໂດຍບໍ່ມີການ
ຊັ້ນນໍາ " charging = " ຫຼື " discharge = ".
ໃນຂະນະທີ່ວິທີການນີ້ສົ່ງຄືນ arrayref ທີ່ສາມາດກວດສອບແລະ (ອາດຈະ) ດັດແກ້,
ຫົວຂໍ້ທີ່ຕ້ອງການໃຫ້ເຂົ້າກັນໄດ້ກັບໄປຂ້າງໜ້າຄວນຖືວ່າມັນເປັນໂຄງສ້າງຂໍ້ມູນທີ່ opaque.
$theme->set_event($step, \&ໂທກັບ, 'd')
ອັບເດດຫົວຂໍ້ເພື່ອໃຫ້ 'callback' ຍ່ອຍຈະຖືກປະຕິບັດເມື່ອພວກເຮົາປົດສາຍແລະພວກເຮົາໄປເຖິງ
$step ເປັນຄັ້ງທຳອິດ. ເພື່ອຕັ້ງເຫດການໃນເວລາສາກໄຟແທນ, ໃຫ້ຜ່ານ 'c' ເປັນອັນທີສາມ
ການໂຕ້ຖຽງ.
ໃຫ້ສັງເກດວ່າຂັ້ນຕອນແມ່ນ array, ແລະດັ່ງນັ້ນຈຶ່ງເປັນ 0-based; ລາຍການທີ່ຕໍ່າສຸດແມ່ນ
ຂັ້ນຕອນໃນລະດັບຕ່ໍາສຸດ.
ເມື່ອເຫດການກະຕຸ້ນ, ປົກກະຕິການໂທກັບຄືນຈະຖືກສົ່ງຜ່ານສອງ arguments: ທໍາອິດແມ່ນ
ລະດັບຫມໍ້ໄຟໃນປະຈຸບັນ (ເປັນເປີເຊັນ); ອັນທີສອງແມ່ນຕົວເລກທີ່ລະບຸວ່າ
ປະຈຸບັນແບັດເຕີຣີກຳລັງສາກ (1) ຫຼື ສາກອອກ (0). ໃນກໍລະນີການວິເຄາະຂອງ ACPI ໄດ້
ຄໍາສັ່ງລົ້ມເຫລວ, ຢ່າງໃດກໍຕາມ, ການໂຕ້ຖຽງທີສອງອາດຈະ undef; ທ່ານຄວນກະກຽມສໍາລັບການນີ້
ຄວາມເປັນໄປໄດ້. ໃຫ້ສັງເກດວ່າ fdpowermon ຕົວຂອງມັນເອງຈັດການກັບກໍລະນີນັ້ນໂດຍສົມມຸດວ່າຫມໍ້ໄຟແມ່ນ
ການສາກໄຟ; ເຈົ້າອາດຈະ ຫຼືອາດຈະບໍ່ຢາກເຮັດແບບດຽວກັນ.
$theme->ລົງທະບຽນ($name)
ລົງທະບຽນຫົວຂໍ້ພາຍໃຕ້ຊື່ໃດໜຶ່ງ. ຖ້າຫົວຂໍ້ມີຢູ່ແລ້ວພາຍໃຕ້ຊື່ນັ້ນ, ມັນແມ່ນ
ທົດແທນ.
make_default($name)
ເຮັດໃຫ້ຮູບແບບສີສັນທີ່ມີຊື່ເປັນຮູບແບບເລີ່ມຕົ້ນ.
get_theme($name)
ຊອກຫາຫົວຂໍ້ທີ່ມີຊື່ໃຫ້; ຕົວຢ່າງ:
my $theme = fdpowermon::theme::get_theme("default");
ຄຳເຕືອນ($message)
ຜະລິດຄໍາເຕືອນ, ບໍ່ວ່າຈະໃຊ້ libnotify, ຫຼືໃຊ້ກ່ອງໂຕ້ຕອບ:
fdpowermon::theme::warning($message);
ເບິ່ງເອກະສານໃນ $fdpowermon::theme::use_notify ຂ້າງເທິງສໍາລັບລາຍລະອຽດກ່ຽວກັບອັນໃດ
ການປະຕິບັດແມ່ນໄດ້ຮັບຄັດເລືອກ.
ຕົວຢ່າງ
ສໍາລັບຕົວຢ່າງຫົວຂໍ້ .cfg ເຕັມ, ເບິ່ງຂ້າງເທິງ.
ເພື່ອສ້າງຫົວຂໍ້ດຽວກັນຢ່າງເຕັມສ່ວນຈາກ perl, ເຈົ້າຈະເຮັດບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:
my $theme = new fdpowermon::theme;
$theme->set_stepcount(3)
$theme->set_dir("/home/wouter/.fdpowermon/mytheme-icons");
$theme->set_charging($theme->parse_step("0:empty-charging.png, 10:low-charging.png, 100: full-charging.png"));
$theme->set_discharging($theme->parse_step("2:missing.png:low.png, 10:low.png, 100:full.png"));
(ຫມາຍເຫດ, ເປັນຫົວຂໍ້ perl, ນີ້ຈະເຂົ້າໄປໃນ theme.pl, ບໍ່ແມ່ນ theme.cfg; ເບິ່ງຂ້າງເທິງສໍາລັບຄວາມເປັນໄປໄດ້
ສະຖານທີ່ສໍາລັບຫົວຂໍ້ perl)
ຢ່າງໃດກໍຕາມ, ເວັ້ນເສຍແຕ່ວ່າທ່ານຕ້ອງການທີ່ຈະສ້າງຫົວຂໍ້ແບບເຄື່ອນໄຫວ, ການເຮັດມັນດ້ວຍວິທີນີ້ບໍ່ແມ່ນ
ແນະນໍາ. ແທນທີ່ຈະ, ທ່ານຈະສ້າງຫົວຂໍ້ຈາກໄຟລ໌ .cfg, ແລະອາດຈະດັດແປງມັນ.
ຈາກ perl. ໃຫ້ເວົ້າວ່າທ່ານຕ້ອງການເພີ່ມເຫດການທີ່ຈະລະງັບລະບົບເມື່ອພະລັງງານໄດ້ຮັບ
ຕ່ຳ; ໃນກໍລະນີນັ້ນ, ທ່ານຈະເຮັດບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:
sub supend {
ລະບົບ("sudo pm-suspend");
}
my $theme = fdpowermon::theme::get_theme("mytheme");
$theme->set_event(0, \&suspend, 'd');
ນີ້ຈະໂທຫາການຍ່ອຍ 'suspend' ເມື່ອແບດເຕີລີ່ປ່ອຍອອກມາແລະພວກເຮົາມາຮອດຕ່ໍາສຸດ
ຂັ້ນຕອນ (ໃນຕົວຢ່າງຂ້າງເທິງນີ້, ທີ່ຈະເປັນເວລາທີ່ຫມໍ້ໄຟເຖິງ 10%; ທ່ານອາດຈະຕ້ອງການ
ເຮັດແນວນັ້ນເລັກນ້ອຍຕໍ່ມາ). ນີ້ ' suspend ' ຍ່ອຍພຽງແຕ່ໂທຫາໂຄງການ "pm-suspend", ກັບ
sudo, ເພື່ອລະງັບລະບົບ.
ໃຊ້ fdpowermon ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net