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

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

โครงการ:

ชื่อ


fdpowermon - เพิ่มไอคอนระดับแบตเตอรี่ลงในถาดระบบที่สอดคล้องกับ freedesktop.org

เรื่องย่อ


fdpowermon

DESCRIPTION


โปรแกรมนี้อนุญาตให้แสดงไอคอน "ระดับแบตเตอรี่" ใน freedesktop.org-compliant
พื้นที่สถานะ สามารถกำหนดธีมได้ผ่านไฟล์การกำหนดค่าข้อความธรรมดา
(/etc/fdpowermon/theme.cfg or $XDG_CONFIG_DIR/fdpowermon/theme.cfg) หรือโดยย่อ
สคริปต์ Perl (/etc/fdpowermon/theme.pl or $XDG_CONFIG_DIR/fdpowermon/theme.pl) ถ้า
ไม่ได้ตั้งค่า $XDG_CONFIG_DIR $HOME/.config เป็นค่าเริ่มต้น

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

ธีม ไม่ว่าจะเป็นธีม Perl หรือธีมข้อความล้วน สร้างขึ้นผ่าน 'ขั้นตอน' ซึ่งก็คือ
กำหนดไว้ในบรรทัดเดียว ในไฟล์กำหนดค่าข้อความธรรมดา บรรทัดดังกล่าวจะมีลักษณะดังนี้:

การคายประจุ = 2:missing.png:low.png, 10:low.png, 100:full.png

สิ่งนี้กำหนดสามขั้นตอน ขั้นตอนสูงสุดแสดง "full.png" กำลังโหลด = "ขี้เกียจ" เมื่อระดับแบตเตอรี่เป็น
ระหว่าง 11% ถึง 100% (รวม); ขั้นตอนที่สองแสดง "low.png" กำลังโหลด = "ขี้เกียจ" เมื่อระดับแบตเตอรี่
อยู่ระหว่าง 3% ถึง 10% (รวม); และขั้นตอนที่สามจะสลับไปมาระหว่าง "missing.png"
และการโหลด "low.png" = "ขี้เกียจ" ในช่วงเวลาสามวินาทีเมื่อแบตเตอรี่อยู่ระหว่าง 0% ถึง 2%

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

การชาร์จ = 0:empty-charging.png, 10:low-charging.png, 100: การชาร์จเต็ม.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
การชาร์จ = 0:empty-charging.png, 10:low-charging.png, 100: การชาร์จเต็ม.png
การคายประจุ = 2:missing.png:low.png, 10:low.png, 100:full.png

สิ่งนี้กำหนดธีมที่เรียกว่า "mytheme" ซึ่งมีสามขั้นตอน และจะค้นหารูปภาพใน
ไดเรกทอรี "/home/wouter/.fdpowermon/mytheme-icons" ไม่สามารถกำหนด a . ได้
ธีมซึ่งมีจำนวนขั้นตอนสำหรับเฟสการชาร์จที่ต่างจากที่ทำกับ
ระยะการคายประจุ; ถ้าคุณต้องการนั้น เพียงแค่กำหนด (หนึ่ง) ขั้นตอนเพิ่มเติมสำหรับเฟสที่คุณ
ต้องการให้มีขั้นตอนน้อยลงซึ่งมีไอคอนเดียวกับขั้นตอนด้านบนหรือด้านล่าง

โปรดทราบว่าการสั่งซื้อมีความสำคัญที่นี่เช่นกัน บรรทัด "ขั้นตอน" ควรปรากฏก่อนใด ๆ
สาย "กำลังชาร์จ" หรือ "การคายประจุ" (นี่ไม่ใช่กรณีใน fdpowermon 1.7 หรือต่ำกว่า)

หากมีการกำหนดค่ามากกว่าหนึ่งธีม โดยค่าเริ่มต้น fdpowermon จะใช้ธีมสุดท้าย
กำหนดไว้ในการกำหนดค่าต่อผู้ใช้ หรือ (หากไม่มีไฟล์การกำหนดค่าต่อผู้ใช้)
ธีมสุดท้ายที่กำหนดไว้ในการกำหนดค่าทั้งระบบ

ไฟล์กำหนดค่าธีม Perl สามารถใช้ fdpowermon::theme::make_default เพื่อเปลี่ยนค่าเริ่มต้น
ธีม

PERL API


@คำเตือน
อาร์เรย์ @fdpowermon::theme::warnings สามารถใช้เพื่อระบุระดับที่ 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 สามารถใช้เพื่อตัดสินใจว่าจะใช้ a . หรือไม่
libnotify ข้อความ (หากตั้งค่าเป็นค่าที่ไม่ใช่ศูนย์) หรือหน้าต่างโต้ตอบ (หากตั้งค่าเป็นค่าที่
ประเมินเป็นศูนย์)

ค่าเริ่มต้นคือการใช้ libnotify หากมีการติดตั้งข้อมูลวิปัสสนาของ libnotify Glib หรือ
กล่องโต้ตอบถ้าไม่ เนื่องจากกล่องโต้ตอบสามารถขโมยโฟกัสและทำให้เกิดความหายนะได้
กับงานของผู้ใช้ การใช้ libnotify ขอแนะนำอย่างยิ่งโดยผู้เขียน

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

ใหม่
สร้างธีม fdpowermon ใหม่ ส่งกลับการอ้างอิงที่ได้รับพร เช่น,

my $theme = ใหม่ fdpowermon::theme;

$theme->set_stepcount($นับ)
กำหนดจำนวนขั้นตอนในธีม โปรดทราบว่าธีม 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)
แยกวิเคราะห์สตริงที่กำหนดเป็นสิ่งที่สามารถส่งต่อไปยัง set_charging หรือ
set_discharging. คำจำกัดความควรอยู่ในรูปแบบขั้นตอนที่อธิบายไว้ข้างต้นโดยไม่มี
ชั้นนำ " การชาร์จ = " หรือ " การคายประจุ = "

แม้ว่าวิธีนี้จะส่งคืน arrayref ที่สามารถตรวจสอบและแก้ไข (อาจ) ได้
ธีมที่ต้องการใช้งานร่วมกันได้ควรถือว่าเป็นโครงสร้างข้อมูลทึบแสง

$theme->set_event($ขั้นตอน, \&โทรกลับ, 'NS')
อัปเดตธีมเพื่อให้ดำเนินการ 'การโทรกลับ' ย่อยเมื่อเราปล่อยประจุและเราไปถึง
$ก้าวเป็นครั้งแรก หากต้องการตั้งค่าเหตุการณ์เมื่อชาร์จแทน ให้ส่ง 'c' เป็นลำดับที่สาม
ข้อโต้แย้ง.

โปรดทราบว่าขั้นตอนต่างๆ เป็นอาร์เรย์ ดังนั้นจึงเป็นแบบ 0 รายการที่มีหมายเลขต่ำสุดคือ
ขั้นตอนระดับต่ำสุด

เมื่อเหตุการณ์ทริกเกอร์ รูทีนการโทรกลับจะถูกส่งผ่านอาร์กิวเมนต์สองอาร์กิวเมนต์: อันแรกคือ
ระดับแบตเตอรี่ปัจจุบัน (เป็นเปอร์เซ็นต์); ที่สองคือตัวเลขที่แสดงว่า
กำลังชาร์จแบตเตอรี่ (1) หรือกำลังคายประจุ (0) ในกรณีที่แยกวิเคราะห์ ACPI
คำสั่งล้มเหลว อย่างไรก็ตาม อาร์กิวเมนต์ที่สองอาจ undef; คุณควรเตรียมตัวสำหรับสิ่งนี้
ความเป็นไปได้. โปรดทราบว่า fdpowermon เองจัดการกับกรณีนั้นโดยสมมติว่าแบตเตอรี่เป็น
การชาร์จ; คุณอาจจะหรืออาจจะไม่ต้องการที่จะทำเช่นเดียวกัน

$theme->ลงทะเบียน($name)
ลงทะเบียนธีมภายใต้ชื่อที่กำหนด หากมีธีมอยู่แล้วภายใต้ชื่อนั้น แสดงว่าเป็น
แทนที่

make_default(ชื่อ $)
ทำให้ธีมที่มีชื่อที่กำหนดเป็นธีมเริ่มต้น

get_theme(ชื่อ$)
ค้นหาชุดรูปแบบด้วยชื่อที่กำหนด เช่น,

$theme ของฉัน = fdpowermon::theme::get_theme("default");

คำเตือน($ข้อความ)
สร้างคำเตือนโดยใช้ libnotify หรือใช้กล่องโต้ตอบ:

fdpowermon::theme::warning($ข้อความ);

ดูเอกสารประกอบเกี่ยวกับ $fdpowermon::theme::use_notify ด้านบนสำหรับรายละเอียดที่
การใช้งานจะถูกเลือก

ตัวอย่าง


สำหรับตัวอย่างธีม .cfg แบบเต็ม ให้ดูที่ด้านบน

ในการสร้างธีมเดียวกันโดยสมบูรณ์จาก Perl คุณต้องทำสิ่งนี้:

my $theme = ใหม่ 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 แทน และอาจแก้ไขได้
จากเพิร์ล สมมติว่าคุณต้องการเพิ่มกิจกรรมเพื่อระงับระบบเมื่อได้รับพลังงาน
ต่ำ; ในกรณีนั้น คุณจะต้องทำสิ่งนี้:

ระงับย่อย {
ระบบ("sudo pm-suspend");
}

$theme ของฉัน = fdpowermon::theme::get_theme("mytheme");
$theme->set_event(0, \&ระงับ, 'd');

สิ่งนี้จะเรียกว่า 'ระงับ' ย่อยเมื่อแบตเตอรี่หมดและเราไปถึงระดับต่ำสุด
ขั้นตอน (ในตัวอย่างข้างต้น นั่นคือเมื่อแบตเตอรี่ถึง 10% คุณอาจต้องการ
ทำอย่างนั้นในภายหลัง) ย่อย 'ระงับ' นี้เรียกง่ายๆ ว่าโปรแกรม "pm-suspend" ด้วย
sudo เพื่อระงับระบบ

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



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด