রিফ্রেশ অন্তরগুলি ল্যাটিন এক্সটেনশান এর সোর্স কোডটিতে স্থিরভাবে নির্দিষ্ট করা হয় তবে থান্ডারবার্ড এক্সটেনশান কোডটি জাভাস্ক্রিপ্টে এবং XML ব্যানার গেকো ব্যবহারকারীর ইন্টারফেসগুলি নির্দিষ্ট করার জন্য ব্যবহার করে, তাই আপনার প্রয়োজনীয় যে কোনও ব্যবধান যোগ করা বিশেষভাবে কঠিন নয়। এখানে আপনি কিভাবে করবেন:
প্রথমত, যদি আপনার কাছে ইতিমধ্যে একটি সুবিধা না থাকে তবে আপনাকে এটি করতে হবে একটি কপি ডাউনলোড করুন বিদ্যুৎ ইনস্টল প্যাকেজ। (নিম্নলিখিতটি লাইটনিং 1.9.1 অনুমান করে; আগ্রহের দিকগুলি সম্ভবত কিছু সংস্করণে পরিবর্তিত হয়নি, তবে সেরা ফলাফলগুলি নিশ্চিত করার জন্য যে সংস্করণটি আপনি ব্যবহার করছেন তা নিশ্চিত করুন।)
একবার আপনি .xpi ফাইলটি হাতে পেয়ে গেলে, এটি একটি সুবিধাজনক, অন্যথায় খালি ডিরেক্টরি যা এটি আনজিপ করতে পারে - একটি এক্সপিআই ইনস্টলারটি কেবল একটি নামযুক্ত জিপ ফাইল, তাই unzip
, উইনজিপ, WinRar, & amp; সি।, & Amp; সি।, সব এটি পরিচালনা করতে পারেন। (আপনাকে এটি প্রথমে '.xpi.zip' এ পুনঃনামকরণ করতে হতে পারে, অথবা ডান ক্লিক করুন এবং "ওপেন উইথ ..." এর উপর ভিত্তি করে।) আপনি যে সমস্ত ফাইলগুলি ভেতরে খুঁজে পান, সেগুলি বের করে ডিরেক্টরিগুলি সংরক্ষণ করুন।
সাধারণভাবে, আপনি সাধারণত এমন কোডটি খুঁজে পেতে পারেন যা প্রদত্ত ডায়ালগ বা UI ক্রিয়াকলাপের অন্য অংশটিকে তার মধ্যে উপস্থিত স্ট্রিংগুলি সন্ধান করে পরিচালনা করে। এই ক্ষেত্রে, আমি 'অনুস্মারক দেখান' অনুসন্ধান করেছি:
me@box [lightning] $ find -exec grep -nH "Show Reminders" {} \;
Binary file ./chrome/calendar-en-GB.jar matches
Binary file ./chrome/calendar-en-US.jar matches
me@box [lightning] $ grep -a 'Show Reminders' chrome/calendar-en-US.jar
<!ENTITY calendarproperties.firealarms.label "Show Reminders">
এটি আমাদেরকে বলে যে, স্থানীয়করণ একপাশে, বিদ্যুৎ কোড অভ্যন্তরীণভাবে স্ট্রিংকে বোঝায় যার জন্য আমরা শিকার করছি calendarproperties.firealarms.label
। এটা সহজ কারণ এখন আমরা জানি প্রকৃত কোডের জন্য কি সন্ধান করা উচিত; আমরা ঐ রেফারেন্সের অন্তত একটি উদাহরণ খুঁজে পাই, এবং সেই উদাহরণটি এমন কিছু ঘনিষ্ঠ হবে যা আমরা আগ্রহী যা ড্রপডাউনটি করতে হবে। সুতরাং:
me@box [lightning] $ find -exec grep -nH 'calendarproperties.firealarms.label' {} \;
[many matches on i18n dialect files elided...]
./chrome/calendar/content/calendar/calendar-properties-dialog.xul:102: label="&calendarproperties.firealarms.label;"
আহ হা! এটি একটি .xul ফাইলে আছে, তাই আমরা জানি এটি ব্যবহারকারী ইন্টারফেসের একটি অংশ সংজ্ঞায়িত করে; দ্য label=
একটি UI নিয়ন্ত্রণের জন্য একটি লেবেল বৈশিষ্ট্য মত দেখাচ্ছে, যার অর্থ হল আমরা সম্পাদনা ক্যালেন্ডার সংলাপের জন্য কোডটি খুঁজে পেয়েছি। আমরা যে ড্রপডাউনটি পরে যাচ্ছি তা ডায়ালগের "শোধকগুলি দেখান" চেকবক্সের কিছুটা আগেই প্রদর্শিত হবে, তাই এটি নিরাপদ বাজি হিসাবে একইভাবে উত্সাহিত হবে - এবং প্রকৃতপক্ষে, আমরা যখন ক্যালেন্ডার-বৈশিষ্ট্যাবলী-ডায়ালগ.অক্সুলগে দেখি , আমরা লাইন 79-89 এ এই দেখুন:
<menulist id="calendar-refreshInterval-menulist"
disable-with-calendar="true"
label="&calendarproperties.refreshInterval.label;">
<menupopup id="calendar-refreshInterval-menupopup">
<!-- This will be filled programatically to reduce the number of needed strings -->
<menuseparator id="calendar-refreshInterval-manual-separator"/>
<menuitem id="calendar-refreshInterval-manual"
value="0"
label="&calendarproperties.refreshInterval.manual.label;"/>
</menupopup>
</menulist>
হাহ। আমরা বেশ বাড়িতে এবং শুষ্ক না, কারণ ব্যবধান নির্দিষ্টকরণ এখানে বাস না। ড্রপডাউন বিকল্পগুলি পূরণ করার জন্য কোনও উত্স ফাইলটিতে কোনও সোর্স ফাইলে কোডটির দায়ী থাকা মন্তব্যটি ঠিক বলে উল্লেখ করা ভাল হবে তবে সম্ভবত এটি এমন একটি বিষয় যা XL হ্যাকারকে জানাতে হবে না। যে বলেন, এটি একটি জটিলতা খুব বেশী প্রজেক্ট করা উচিত নয়; আমাদের এখন ড্রপডাউন মেনুটির আইডি রয়েছে, যা প্রায়শই কোনও কোডের ড্রপডাউন পূরণ করে উল্লেখ করা হবে, তাই:
me@box [lightning] $ find -exec grep -nH 'calendar-refreshInterval-menulist' {} \;
./chrome/calendar/content/calendar/calendar-properties-dialog.js:91: let value = getElementValue("calendar-refreshInterval-menulist");
./chrome/calendar/content/calendar/calendar-properties-dialog.js:153: let menulist = document.getElementById("calendar-refreshInterval-menulist");
./chrome/calendar/content/calendar/calendar-properties-dialog.xul:79: <menulist id="calendar-refreshInterval-menulist"
তৃতীয় ম্যাচটি xx ফাইলকে নির্দেশ করে যা আমরা ইতিমধ্যে জানি, এবং আমরা এটি উপেক্ষা করতে পারি। প্রথম ম্যাচটি এমন কিছু কোডকে নির্দেশ করে যা বর্তমানে ড্রপডাউন এর নির্বাচিত মানটি পেয়েছে এবং আমরা তা উপেক্ষা করতে পারি। দ্য দ্বিতীয় অন্যদিকে, মিল, ড্রপডাউনকে সম্পূর্ণরূপে একটি রেফারেন্স নেয় এবং এটি সম্ভবত আমাদের যা প্রয়োজন। এবং, প্রকৃতপক্ষে, যদি আমরা ক্যালেন্ডার-বৈশিষ্ট্যাবলী-ডায়ালগ.জেএস পরীক্ষা করি, 154-162 লাইনগুলিতে আমরা খুঁজে পাই:
for each (let min in [1, 5, 15, 30, 60]) {
let menuitem = createMenuItem(min);
separator.parentNode.insertBefore(menuitem, separator);
if (refreshInterval == min) {
menulist.selectedItem = menuitem;
foundValue = true;
}
}
এবং এখানে আমরা! মানগুলির একটি অ্যারে, মিনিটের মধ্যে প্রকাশ করা, যা আপনি ক্যালেন্ডার ড্রপডাউন সম্পাদনা করে দেখতে পান।
এখন, এই মেনু আইটেমগুলি সেট আপ করার উপায়টি দেখছেন, পুরো প্রক্রিয়াটি অনুমান করে যে তারা কেবলমাত্র মিনিটের মধ্যেই প্রকাশ পাবে (উদাঃ createMenuItem
ফাংশন, লাইন 137-146।) যদি আমরা এই পরিবর্তনটিকে আপস্ট্রীমকে অবদান রাখতে যাচ্ছি, তবে আমরা অবশ্যই সেই ফাংশনটি সংশোধন করতে চাই, যাতে এটি নির্বিচারে ইউনিটগুলিতে লেবেলগুলি সহ ড্রপডাউন উপাদানগুলি তৈরি করতে পারে, যেমন "প্রতি 4 ঘন্টা" "প্রতি 1 দিন", & amp; সি। আমরা এখনও মিনিটের মধ্যে অন্তর্নিহিত প্রতিনিধিত্ব ছেড়ে দিতে পারি, তবে আমরা প্রদর্শন কোডটি পরিষ্কার করতে চাই যাতে এটি কুৎসিত না হয়।
যাইহোক, যেহেতু আপনি সত্যিই পরে সমস্ত কার্যকারিতা নিজেই, আমরা আগ্রহী পাঠক জন্য একটি ব্যায়াম হিসাবে এটা সুন্দর ছেড়ে চলে যেতে হবে। লাইন 154 এ অ্যারের শেষে আপনি যে ব্যবধানগুলি শেষ করতে চান তা যোগ করুন, উদাহরণস্বরূপ:
for each (let min in [1, 5, 15, 30, 60, (60*4), (60*8), (60*12), (60*24)]) {
(অবশ্যই, আপনি ২40, 480, 720, এবং 1440 হিসাবে যুক্ত করতে পারেন, কিন্তু কেন ইন্টারপ্রেটার কাজটি করবেন না? প্রোগ্রামার সময় সংরক্ষণ করতে CPU সময় ব্যয় করুন। এটি কেবল তখনই মূল্যায়ন করা হবে যখন আপনি নতুন ক্যালেন্ডার খুলবেন এবং ক্যালেন্ডার সম্পাদনা করুন ডায়ালগ, তাই আপনি কম্পিউটারের জন্য সত্যিই অনেক কাজ করছেন না।)
একবার আপনি আপনার পরিবর্তনগুলি সংরক্ষণ করে এবং ফাইলটি বন্ধ করলে, অবশিষ্ট থাকা সমস্ত হালনাগাদ হালনাগাদ করা হয় এবং এটি থান্ডারবার্ডে ইনস্টল করুন। এটা বেশ সহজ:
me@box [lightning] $ zip -r lightning-1.9.1-me.xpi *
(অথবা উইনজিপ, WinRAR, & amp; c। ব্যবহার করুন যা আপনি পেয়েছেন। প্রধান পয়েন্টগুলি হল যে শেষ জিপ ফাইলটি ডিরেক্টরি কাঠামো সংরক্ষণ করতে হবে এবং এটির ফাইল নামটি অবশ্যই .xpi- এ আনপ্যাকিং ধাপে শেষ হওয়া উচিত। প্রয়োজন হলে সৃষ্টির পরে নামকরণ করা যেতে পারে।)
তারপরে আপনার নতুন তৈরি এক্সপিআই ফাইলটি ইনস্টল করুন যেহেতু আপনি কোন থান্ডারবার্ড অ্যাড-অন করবেন। আপনি একবার এটি করেছেন এবং Tbird পুনরায় আরম্ভ করলে, সম্পাদনা ক্যালেন্ডার ড্রপডাউন খোলার ফলে এটি তৈরি হবে:
সম্পূর্ণতার জন্য, আমি অবশ্যই উল্লেখ করতে চাই যে ক্যালেন্ডারটি প্রকৃতপক্ষে প্রদত্ত সময়ের সাথে রিফ্রেশ করে তা নিশ্চিত করার জন্য আমি প্রকৃতপক্ষে পরীক্ষিত নই, কারণ যেটি আমি নির্দিষ্ট করেছি তা এখনও পর্যন্ত আমার থান্ডারবার্ডটি এক্সটেনশান ট্যাবটি নির্বাচন করার সময় ব্যতিক্রমকে নিক্ষেপ করছে। অ্যাড-অন ম্যানেজার - আমি একটি নতুন Tbird প্রোফাইল তৈরি করে এবং পরিবর্তিত বিদ্যুৎ অ্যাড-অন ইনস্টল করে উপরে স্ক্রিনশট তৈরি করেছি।
যে বলেন, আমার কোন সমস্যা আছে সন্দেহ করার কোনো কারণ নেই, কারণ কোডের মধ্যে শুধুমাত্র একটি স্থান রয়েছে যেখানে ব্যবধান দৈর্ঘ্যের বিকল্পগুলি নির্দিষ্ট করা হয়েছে; একবার ডায়ালগ সেট, তারা থান্ডারবার্ড কনফিগারেশন তথ্য দিয়ে সংরক্ষণ করা হয়।
যা একটি বিন্দু তুলে ধরে: যদি আপনি সেই ক্যালেন্ডারগুলির GUIDs জানেন যার রিফ্রেশ অন্তরগুলি আপনি কাস্টমাইজ করতে চান তবে আপনি থান্ডারবার্ডের পছন্দসই সংলাপের উন্নত ট্যাবে দেওয়া "কনফিগার সম্পাদক" (যেমন: কনফিগ সম্পাদক) এ এটি করতে পারেন; মান পরিবর্তন করুন calendar.registry.[guid].refreshinterval
তবে আপনি চান অনেক মিনিট।
এটি করার জন্য, আপনাকে নামগুলিতে ক্যালেন্ডার GUID গুলি মানচিত্র করতে সক্ষম হওয়া দরকার, যা প্রায়: config তে বেশ সহজভাবে করা যেতে পারে। আপনি টাইপ করুন .name
অনুসন্ধান বাক্সে, অনেক ফলাফল প্রদর্শিত হবে, কিন্তু তাদের মধ্যে কেবল কয়েকটি অন্তর্গত হবে calendar.registry
গ্রুপ, এবং তাদের সকলকে সাহসী হতে হবে কারণ তারা থান্ডারবার্ডে ডিফল্টরূপে উপস্থিত হয় না; প্রতিটি মান একটি ক্যালেন্ডার নাম এবং প্রতিটি ফলাফলের নামের মধ্যে ক্যালেন্ডার GUID ধারণকারী প্রতিটি ফলাফল, আপনি নাম এবং GUID এর মধ্যে একটি ম্যাপিং তৈরি করতে পারেন। তারপর টাইপ করুন .[guid].refreshinterval
অনুসন্ধান বাক্সে, মান কাস্টমাইজ করুন, এবং আপনি সম্পন্ন করেছেন।
কিন্তু যদি আপনার কাছে অনেক ক্যালেন্ডার থাকে এবং আপনার স্ক্রিনশটের পটভূমিতে তালিকার দৃশ্যমান কী দ্বারা বিচার করা হয় তবে এটি একটি ব্যথা, আপনার কাছে এই পরিবর্তনটি প্রয়োগ করার জন্য একটি সংখ্যক ক্যালেন্ডার রয়েছে - যা হচ্ছে মামলা, আমি ভাবছি ডায়ালগ পরিবর্তন আপনাকে এটির একটি সহজ সময় দিতে পারে।
বিশেষ করে যেহেতু আপনি এই পোস্টে বর্ণিত পরিবর্তন ধারণকারী, বিদ্যুতের একটি সংস্করণ ডাউনলোড করতে পারেন, এখানে !