এটি হল fdpowermon কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
fdpowermon - একটি freedesktop.org-compliant সিস্টেম ট্রেতে একটি ব্যাটারি স্তরের আইকন যোগ করুন
সাইনোপিসিস
fdpowermon
বর্ণনাঃ
এই প্রোগ্রামটি একজনকে যেকোনো freedesktop.org-compliant-এ একটি "ব্যাটারি লেভেল" আইকন প্রদর্শন করতে দেয়
অবস্থা এলাকা। এটি একটি প্লেইন-টেক্সট কনফিগারেশন ফাইলের মাধ্যমে থিমযুক্ত হতে পারে
(/etc/fdpowermon/theme.cfg or $XDG_CONFIG_DIR/fdpowermon/theme.cfg), অথবা একটি সংক্ষিপ্ত মাধ্যমে
পার্ল স্ক্রিপ্ট (/etc/fdpowermon/theme.pl or $XDG_CONFIG_DIR/fdpowermon/theme.pl)। যদি
$XDG_CONFIG_DIR সেট করা নেই, $HOME/.config ডিফল্ট হিসেবে ব্যবহার করা হয়।
আগেরটি সহজ, কারণ এতে কোনো স্ক্রিপ্টিংয়ের প্রয়োজন নেই; এবং প্রকৃতপক্ষে ডিফল্ট
কনফিগারেশন এমন একটি প্লেইন-টেক্সট থিমের উদাহরণ। যাইহোক, পরেরটির জন্য অনুমতি দেয়
আরও নমনীয়তা, যেহেতু কেউ কলব্যাকগুলিকে সংজ্ঞায়িত করতে পারে যা ব্যাটারি স্তরের সময় চালানো উচিত৷
একটি নির্দিষ্ট প্রান্তে পৌঁছেছে।
থিম, পার্ল থিম হোক বা প্লেইন-টেক্সট থিম, 'স্টেপ' এর মাধ্যমে তৈরি করা হয়, যা
একটি একক লাইনে সংজ্ঞায়িত। একটি প্লেইন-টেক্সট কনফিগারেশন ফাইলে, এই ধরনের একটি লাইন এই মত দেখায়:
ডিসচার্জিং = 2: missing.png:low.png, 10:low.png, 100:full.png
এটি তিনটি ধাপ সংজ্ঞায়িত করে। ব্যাটারি লেভেল হলে সর্বোচ্চ ধাপ "full.png" loading="lazy" দেখায়
11% এবং 100% এর মধ্যে (অন্তর্ভুক্ত); দ্বিতীয় ধাপে "low.png" লোডিং="অলস" দেখায় যখন ব্যাটারি স্তর
3% এবং 10% (অন্তর্ভুক্ত); এবং তৃতীয় ধাপটি "missing.png" এর মধ্যে বিকল্প হবে
এবং "low.png" লোডিং="অলস" তিন সেকেন্ডের ব্যবধানে, যখন ব্যাটারি 0% এবং 2% এর মধ্যে থাকে।
যেহেতু লাইনটি "ডিসচার্জিং" দিয়ে শুরু হয়, তাই সিস্টেমটি চলমান থাকলে এই পদক্ষেপগুলি ব্যবহার করা হয়
ব্যাটারি পাওয়ার উপর। যখন ব্যাটারি হয় তখন ধাপগুলির একটি অনুরূপ লাইন সংজ্ঞায়িত করা যেতে পারে
চার্জিং:
চার্জিং = 0:empty-charge.png, 10:low-charge.png, 100: full-charge.png
ব্যাটারি 0% এ থাকলে এটি "empty-charge.png" loading="lazy" দেখাবে (ঠিকভাবে),
"low-charge.png" loading="lazy" 1% থেকে 10% (অন্তর্ভুক্ত), এবং "full-charging.png" loading="lazy" 11% এবং
উপরে।
নোট করুন যে অর্ডার করা গুরুত্বপূর্ণ: পদক্ষেপগুলি নিম্ন থেকে উচ্চ পর্যন্ত সংজ্ঞায়িত করা উচিত।
থিম কনফিগারেশন সম্পূর্ণ করতে, আমাদের আরও কয়েকটি আইটেম যোগ করতে হবে:
[মিথিম]
ধাপ = 3
dir = /home/wouter/.fdpowermon/mytheme-icons
চার্জিং = 0:empty-charge.png, 10:low-charge.png, 100: full-charge.png
ডিসচার্জিং = 2: missing.png:low.png, 10:low.png, 100:full.png
এটি "mytheme" নামক একটি থিমকে সংজ্ঞায়িত করে যার তিনটি ধাপ রয়েছে এবং এতে ছবিগুলি সন্ধান করবে৷
ডিরেক্টরি "/home/wouter/.fdpowermon/mytheme-icons"। একটি সংজ্ঞায়িত করা সম্ভব নয়
থিম যা চার্জিং পর্বের জন্য ধাপগুলির চেয়ে ভিন্ন সংখ্যক ধাপ রয়েছে
নিষ্কাশন পর্যায়; আপনি যদি এটি চান, শুধুমাত্র (একটি) অতিরিক্ত পদক্ষেপ(গুলি) সংজ্ঞায়িত করুন
কম ধাপ থাকতে চাই, যার উপরে বা নীচের ধাপের মতো একই আইকন আছে।
উল্লেখ্য যে এখানেও অর্ডার দেওয়া গুরুত্বপূর্ণ; "পদক্ষেপ" লাইনটি যেকোনও আগে উপস্থিত হওয়া উচিত
"চার্জিং" বা "ডিসচার্জিং" লাইন (এটি fdpowermon 1.7 বা নীচের ক্ষেত্রে ছিল না)।
যদি একাধিক থিম কনফিগার করা থাকে, fdpowermon, ডিফল্টরূপে, শেষ থিমটি ব্যবহার করবে
প্রতি-ব্যবহারকারীর কনফিগারেশনে সংজ্ঞায়িত করা হয়েছে, অথবা (যদি কোনো প্রতি-ব্যবহারকারী কনফিগারেশন ফাইল বিদ্যমান না থাকে)
সিস্টেম-ব্যাপী কনফিগারেশনে সংজ্ঞায়িত শেষ থিম।
পার্ল থিম কনফিগার ফাইলগুলি ডিফল্ট পরিবর্তন করতে fdpowermon::theme::make_default ব্যবহার করতে পারে
থিম.
PERL এপিআই
@সতর্কতা
@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 ব্যবহার করতে হবে কিনা তা সিদ্ধান্ত নিতে ব্যবহার করা যেতে পারে
libnotify বার্তা (যদি একটি অশূন্য মান সেট করা হয়), বা একটি ডায়ালগ উইন্ডো (যদি একটি মান সেট করে যা
শূন্যে মূল্যায়ন করে)।
ডিফল্ট হল libnotify ব্যবহার করা যদি libnotify Glib আত্মপরিদর্শন ডেটা ইনস্টল করা থাকে, অথবা
একটি ডায়ালগ বক্স যদি না হয়। কারণ ডায়ালগ বক্সগুলি ফোকাস চুরি করতে পারে এবং সেইজন্য সর্বনাশ ঘটাতে পারে৷
ব্যবহারকারীর কাজের সাথে, libnotify ব্যবহার করার জন্য লেখক দ্বারা দৃঢ়ভাবে সুপারিশ করা হয়।
উল্লেখ্য যে আপনি যদি ভেরিয়েবলটিকে স্পষ্টভাবে ননজিরোতে সেট করেন, তাহলে পরীক্ষা হবে কিনা
Glib আত্মপরিদর্শন ডেটা ইনস্টল করা হলে উপেক্ষা করা হবে। এটা যে উপলব্ধ নিশ্চিত করুন
মামলা!
নতুন
একটি নতুন fdpowermon থিম তৈরি করুন। একটি বরকতময় রেফারেন্স প্রদান করে; যেমন,
আমার $theme = নতুন fdpowermon::theme;
$theme->set_stepcount($count)
থিমে ধাপের সংখ্যা সেট করুন। মনে রাখবেন একটি fdpowermon থিমের একটি সমান থাকতে হবে
"চার্জিং" এবং "ডিসচার্জিং" উভয় দিকের ধাপের সংখ্যা।
সেট_চার্জিং, সেট_ডিসচার্জিং বা পার্স_স্টেপ কল করার আগে কল করা উচিত।
$theme->set_dir($dir)
আইকন ফাইল নামের জন্য ব্যবহৃত বেস ডিরেক্টরি সেট করুন।
$theme->set_charge(\@elements)
ব্যাটারি চার্জ হওয়ার সময় যে আইকনগুলি দেখানো উচিত সেগুলি সেট করুন৷ যুক্তি থাকা উচিত
parse_step পদ্ধতির মাধ্যমে তৈরি করা হয়েছে।
$theme->set_discharging(\@elements)
ব্যাটারি ডিসচার্জ হওয়ার সময় যে আইকনগুলি দেখানো উচিত সেগুলি সেট করুন৷ যুক্তি থাকা উচিত
parse_step পদ্ধতির মাধ্যমে তৈরি করা হয়েছে।
$theme->পার্স_স্টেপ($defs)
প্রদত্ত স্ট্রিংটিকে এমন কিছুতে পার্স করে যা সেট_চার্জিং বা এ পাস করা যেতে পারে
সেট_ডিসচার্জিং। সংজ্ঞাগুলি ধাপের বিন্যাসে হওয়া উচিত, উপরে বর্ণিত, ছাড়া
অগ্রণী " চার্জিং = " বা " ডিসচার্জিং = "৷
যদিও এই পদ্ধতিটি একটি অ্যারেরেফ প্রদান করে যা পরিদর্শন করা যেতে পারে এবং (সম্ভবত) সংশোধন করা যেতে পারে,
যে থিমগুলি ফরোয়ার্ড-সামঞ্জস্যপূর্ণ হতে চায় তাকে একটি অস্বচ্ছ ডেটা কাঠামো হিসাবে বিবেচনা করা উচিত।
$theme->সেট_ইভেন্ট($পদক্ষেপ, \&কলব্যাক, 'd')
থিম আপডেট করুন যাতে সাব 'কলব্যাক' কার্যকর হয় যখন আমরা ডিসচার্জ করছি এবং আমরা পৌঁছে যাই
প্রথমবারের জন্য $পদক্ষেপ। পরিবর্তে চার্জ করার সময় একটি ইভেন্ট সেট করতে, তৃতীয় হিসাবে একটি 'c' পাস করুন৷
যুক্তি.
মনে রাখবেন যে ধাপগুলি অ্যারে, এবং তাই 0-ভিত্তিক; সর্বনিম্ন-সংখ্যাযুক্ত আইটেম হয়
সর্বনিম্ন স্তরের পদক্ষেপ।
ইভেন্টটি ট্রিগার হলে, কলব্যাক রুটিন দুটি আর্গুমেন্ট পাস করা হবে: প্রথমটি
বর্তমান ব্যাটারি স্তর (শতাংশে); দ্বিতীয়টি একটি সংখ্যা যা নির্দেশ করে কিনা
ব্যাটারি বর্তমানে চার্জ হচ্ছে (1) বা ডিসচার্জ হচ্ছে (0)। ACPI এর পার্সিং ক্ষেত্রে
কমান্ড ব্যর্থ হয়, তবে, দ্বিতীয় যুক্তিটি undef হতে পারে; আপনি এই জন্য প্রস্তুত করা উচিত
সম্ভাবনা মনে রাখবেন যে fdpowermon নিজেই ব্যাটারি ধরে নিয়ে সেই কেসটি পরিচালনা করে
চার্জিং; আপনি একই কাজ করতে চান বা নাও করতে পারেন.
$theme->রেজিস্টার($name)
একটি প্রদত্ত নামের অধীনে একটি থিম নিবন্ধন. যদি একটি থিম ইতিমধ্যেই সেই নামের অধীনে বিদ্যমান থাকে তবে তা হয়
প্রতিস্থাপন
make_default($name)
একটি প্রদত্ত নাম সহ একটি থিমকে ডিফল্ট থিম করে।
get_theme($name)
প্রদত্ত নামের সাথে একটি থিম দেখায়; যেমন,
আমার $theme = fdpowermon::theme::get_theme("ডিফল্ট");
সতর্কতা ($বার্তা)
একটি সতর্কতা তৈরি করুন, হয় libnotify ব্যবহার করে, অথবা একটি ডায়ালগ বক্স ব্যবহার করে:
fdpowermon::theme::warning($message);
বিস্তারিত জানতে উপরে $fdpowermon::theme::use_notify-এ ডকুমেন্টেশন দেখুন
বাস্তবায়ন বেছে নেওয়া হয়।
উদাহরণ
একটি সম্পূর্ণ .cfg থিমের উদাহরণের জন্য, উপরে দেখুন।
পার্ল থেকে সম্পূর্ণরূপে একই থিম তৈরি করতে, আপনি এরকম কিছু করবেন:
আমার $theme = নতুন fdpowermon::theme;
$theme->set_stepcount(২০১১);
$theme->set_dir("/home/wouter/.fdpowermon/mytheme-icons");
$theme->set_charge($theme->parse_step("0:empty-charge.png, 10:low-charge.png, 100: full-charge.png"));
$theme->set_discharging($theme->parse_step("2:missing.png:low.png, 10:low.png, 100:full.png"));
(দ্রষ্টব্য, একটি পার্ল থিম হিসাবে, এটি theme.pl এ যাবে, theme.cfg নয়; সম্ভাব্য জন্য উপরে দেখুন
পার্ল থিমের জন্য অবস্থান)
যাইহোক, যতক্ষণ না আপনি থিমটি গতিশীলভাবে তৈরি করতে চান, এটি এভাবে করা নয়
প্রস্তাবিত পরিবর্তে, আপনি একটি .cfg ফাইল থেকে থিমটি তৈরি করবেন এবং সম্ভবত এটি পরিবর্তন করবেন
পার্ল থেকে ধরা যাক আপনি পাওয়ার পাওয়ার সময় সিস্টেমটি স্থগিত করার জন্য একটি ইভেন্ট যোগ করতে চান
নিম্ন সেই ক্ষেত্রে, আপনি এরকম কিছু করবেন:
সাব সাসপেন্ড {
সিস্টেম("সুডো পিএম-সাসপেন্ড");
}
আমার $theme = fdpowermon::theme::get_theme("mytheme");
$theme->set_event(0, \&সাসপেন্ড, 'd');
এটিকে 'সাসপেন্ড' সাব বলা হবে যখন ব্যাটারি ডিসচার্জ হচ্ছে এবং আমরা সর্বনিম্নে পৌঁছে যাই
ধাপ (উপরের উদাহরণে, এটি হবে যখন ব্যাটারি 10% এ পৌঁছাবে; আপনি চাইতে পারেন
এটি কিছুটা পরে করুন)। এই 'সাসপেন্ড' সাবটিকে কেবল "পিএম-সাসপেন্ড" প্রোগ্রাম বলে, এর সাথে
sudo, সিস্টেম স্থগিত করতে।
onworks.net পরিষেবা ব্যবহার করে fdpowermon অনলাইন ব্যবহার করুন