এখানে একটি অদ্ভুত টপিক। ধরুন আপনার একাধিক ডিভাইস আছে যেখানে আপনি ফায়ারফক্স চালান, কোনো সাইন-ইন বা সিঙ্ক ফাংশনালিটি অন না থাকায়। আপনার একাধিক প্রোফাইলও আছে। কিন্তু আপনি যেহেতু আপনি, আপনার এক নির্দিষ্ট টেস্ট আছে, এবং আপনি আপনার ব্রাউজারে একাধিক পেরসোনা, অথবা লাইটওয়েট থিম, ব্যবহার করছেন। এর মধ্যে কিছু আর ডাউনলোডের জন্য উপলব্ধ নয়, কিন্তু আপনি সেগুলো বিভিন্ন প্রোফাইলের মধ্যে মাইগ্রেট করতে চান।
আপনি আপনার প্রোফাইল কন্টেন্টের অংশ কপি করার চেষ্টা করলেন, এক্সটেনশন ইত্যাদির মতো, কোনো ফলাফল পেলেন না। একটি ফুল প্রোফাইল ক্লোন কাজ করবে, কিন্তু এটি আপনি চান না। আপনি শুধু একটি নির্দিষ্ট থিম চান। প্রথম নজরে, লাগে এটি করার কোনো উপায় নেই। এখন কী?

সমস্যা বিস্তারিত
কয়েক সপ্তাহ আগে, আমি কিছু সময় ফায়ারফক্স Australis মোডে ব্যবহার করলাম, ফায়ারফক্স ৫৪ দিয়ে ফায়ারফক্স ESR-এর বদলে (ফায়ারফক্স ৫৭ রিলিজের আগে), যেন বুঝতে পারি আগামী, অত্যধিক বিভ্রান্তিকর, অত্যধিক ভয়ঙ্কর WebExtensions ফিয়াসকো কতটুকু foobary হয়ে যাবে প্রত্যাশা অনুযায়ী। এখন, সেটি পয়েন্ট নয়। শুধু একটি ইণ্ট্রো।
মার টেস্টিং এর সময়, আমি কিছু নতুন থিমও ট্রাই করলাম—মজিলার নিজস্ব Compact Light এবং Compact Dark সহ, ক্লাসিক ইউজেজ মডেলের দিকে একটি সংকেত—এখনও উল্লেখযোগ্য ডিসঅডভান্টেজ সহ, যার মধ্যে বুকমার্ক টুলবারের লোকেশন ট্যাব কন্ট্রোলের নিচে এবং মেইন ভিউ এরিয়ার کے খুব নিকট, দৃশ্য গুলগুলি সৃষ্টি করে। তারপর, আমি Space Fantasy নামক একটি থিমও ট্রাই করলাম, যা দেখতে খুব সুন্দর লাগে।




একটি আলাদা ডিভাইসে, Space Fantasy থিমটি কাজ করল না, তাই আমি এটিকে রিমুভ করলাম। এর ফলে, এটি ফায়ারফক্সে উপলব্ধ থিমের শর্টলিস্ট থেকে গায়েব হয়ে গেল, এবং আমি মজিলার অ্যড-অন সাইটেও এটি খুঁজে পেলাম না! অনুমান করা যেতে পারে, এটি সেখানে থাকা উচিত, কিন্তু নেই। তাই অন্য সিস্টেমের অন্য প্রোফাইল থেকে পোর্ট করার প্রশ্নটি উঠল।

প্রোফাইল জুড়ে পেরসোনা মোভ করার পদ্ধতি
এই ট্রিকের জোর দেওয়া হয়েছে পেরসোনা পাওয়া যাওয়া যাবে—যদি সেগুলো অন্য কোথাও উপলব্ধ না থাকে। অবশ্য, এটি একটি সহজ অনুরোধ। আপনি একটি থিম ইনস্টল করলে, আপনি আপনার ফায়ারফক্স প্রোফাইলে সেটি খুঁজে পেতে চান। আমি আপনাকে দেখাব কীভাবে করা যায়, তাই প্রথমে ফুল থিম এবং লাইট থিম, যাকে পেরসোনাও বলা হয়, তাদের মধ্যে পার্থক্য করা যাক, একটি টপিক যা আমি আগে আলোচনা করেছি।
ফুল থিম প্রোফাইল ফোল্ডারের extensions সাব-ডিরেক্টরিতে থাকে। প্রোফাইলের লোকেশন আপনার অপারেটিং সিস্টেমের ওপর নির্ভর করে। উইন্ডোজে, আপনি এটি পাবেন:
C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>
লিনাক্সে, এটি থাকে:
/home/<user>/.mozilla/firefox/<profile>
ডিফল্ট অনুমান করে।

এখন, পেরসোনাগুলো prefs.js ফাইলের ভিতরে ডিক্লেরেশন হিসেবে থাকে, একবার lagi, আপনার প্রোফাইল ফোল্ডারের ভিতরে, উপরের স্ক্রিনশটে দেখানো অনুযায়ী। এই ফাইলের একটি নির্দিষ্ট সেকশন দেখি, কি?

...
user_pref("lightweightThemes.selectedThemeID", "recommended-2");
user_pref("lightweightThemes.usedThemes", "[{\"id\":\"recommended-2\",\"name\":\"Space Fantasy\",
\"headerURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/2.header.jpg\",
\"footerURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/2.footer.jpg\",
\"textcolor\":\"#ffffff\",\"accentcolor\":\"#d9d9d9\",
\"iconURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/2.icon.jpg\",
\"previewURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/2.preview.jpg\",
\"author\":\"fx5800p\",\"description\":\"Space Fantasy is (C) fx5800p. Available under CC-BY-SA. No warranty.\",
\"homepageURL\":\"https://addons.mozilla.org/
firefox/addon/space-fantasy/\",
\"version\":\"1.0\"},
{\"id\":\"recommended-4\",\"name\":\"Pastel Gradient\",
\"headerURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/4.header.png\",
\"footerURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/4.footer.png\",
\"textcolor\":\"#000000\",\"accentcolor\":\"#000000\",
\"iconURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/4.icon.png\",
\"previewURL\":\"resource:///chrome/browser/content/
browser/defaultthemes/4.preview.png\",
\"author\":\"darrinhenein\",\"description\":\"Pastel Gradient is (C) darrinhenein. Available under CC-BY. No warranty.\",
\"homepageURL\":\"https://addons.mozilla.org/firefox/
addon/pastel-gradient/\",
\"version\":\"1.0\",\"updateDate\":1499641520955,
\"installDate\":1499641520955}]");
...
দেখতে জটিল এবং বদসূরত—মনে রাখবেন আমি স্পষ্টতার জন্য লাইনগুলো বড় করলাম উদ্দেশ্যপूর্নক! কিন্তু বুঝি আমাদের কী আছে। আমাদের কয়েকটি ইউজার প্রেফারেন্স (user_pref) আছে। প্রথমটি, lightweightThemes.selectedThemeID লেবেল করা, সংজ্ঞায়িত করে কোনটি এক্টিভ। এতটুকু সহজ।
দ্বিতীয়টি lightweightThemes.usedThemes হলো আপনার সিস্টেমে বর্তমানে থাকা থিমের একটি কমা-ডিলিমিটেড লিস্ট—আপনি Tools > Addons > Appearance-এ যেও চেক করতে পারেন। লিস্টটি একটি বদসূরত JSON-লাইক ফরম্যাটে 있지만 সেটি আপনাকে চিন্তা দিতে চাইনা।

আপনি যদি একটি প্রোফাইল থেকে অন্য প্রোফাইলে পেরসোনা মাইগ্রেট করতে চান, তবে আপনি শুধু এই ডিক্লেরেশনের একটি অংশ কপি করে প্রাসঙ্গিক টার্গেট প্রোফাইলে পেস্ট করলে হবে। স্পষ্টভাবে, আমরা Space Fantasy পেরসোনা কপি করতে চাই। প্রতিটি থিম কার্লি ব্র্যাকেট দ্বারা সংজ্ঞায়িত, এবং অন্যদের থেকে কমা দিয়ে পৃথক। এখানে কিছুটা বেশি স্যানিটাইজড সেকশন:
{\"id\":\"recommended-2\",
\"name\":\"Space Fantasy\",
\"headerURL\":\"resource:///chrome/browser/content/browser/->
-> defaultthemes/2.header.jpg\",
\"footerURL\":\"resource:///chrome/browser/content/browser/->
-> defaultthemes/2.footer.jpg\",
\"textcolor\":\"#ffffff\",
\"accentcolor\":\"#d9d9d9\",
\"iconURL\":\"resource:///chrome/browser/content/browser/->
-> defaultthemes/2.icon.jpg\",
\"previewURL\":\"resource:///chrome/browser/content/browser/->
-> defaultthemes/2.preview.jpg\",
\"author\":\"fx5800p\",
\"description\":\"Space Fantasy is (C) fx5800p. Available ->
-> under CC-BY-SA. No warranty.\",
\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/->
-> space-fantasy/\",
\"version\":\"1.0\"}
P.S. ডেস্কটপ ইউজাররা: -> ক্যারেক্টারগুলো আমার, এবং সেগুলো নির্দেশ করে নির্দিষ্ট ডিরেক্টিভ পরবর্তী লাইনে ফ্লো করেছে। FYI, এটি শুধু key:value পেয়ার ডিরেক্টিভের একটি লিস্ট, কমা দিয়ে সেপারেটেড, এবং স্পেশাল ক্যারেক্টার এক্সপ্লিসিটলি ডিক্লেয়ার করা (quotation marks " হয় \")। বদসূরত এবং নার্ডি।
তাহলে এখন, সোর্স ফায়ারফক্স প্রোফাইল খুলুন, prefs.js ফাইল খুলুন, lightweightThemes.usedThemes সেকশনে যান, আপনি যে থিমটি অন্য প্রোফাইলে মাইগ্রেট করতে চান সেটি লোকেট করুন এবং নির্দিষ্ট সেকশনটি কোথাও একটি টেক্সট ফাইলে সংরক্ষণ করুন। প্রয়োজনীয় সেকশনটি একটি কার্লি ব্র্যাকেট দিয়ে শুরু হবে, একটিতে ختم হবে, এবং উপরের মত ভিন্ন ফিল্ডগুলো একটি স্মুথ, ফ্লোইং লাইনে থাকবে। আমার উদাহরণের বিপরীতে, যা সংক্ষিপ্ততার জন্য একাধিক লাইনে ভাঙা, এটি একটি খুব দীর্ঘ লাইন হবে। সেটি নিয়ে সাবধান থাকুন।
টার্গেট প্রোফাইলে, prefs.js ফাইল খুলুন, lightweightThemes.usedThemes সেকশনে যান, এবং টেক্সট স্নিপেটটি লাইনের শুরুতে বা শেষে ইনসার্ট করুন, সিনট্যাক্স সঠিক রেখে। ওপেনিং এবং ক্লোজিং স্কয়ার এবং কার্লি ব্র্যাকেট, এবং কমার পজিশন এবং উপস্থিতি নিশ্চিত করুন।
ফায়ারফক্স লঞ্চ করুন, এবং আপনার টার্গেট প্রোফাইলে এখন অনুপস্থিত পেরসোনাগুলো থাকা উচিত, এবং আপনি সেগুলো প্রয়োজন অনুযায়ী অ্যাপ্লাই করতে পারবেন। এটি একটি উপযোগী ট্রিক যখন লাইটওয়েট থিম হঠাৎ গায়েব হয়ে যায়, অথবা আপনি অনলাইনে সেগুলো খুঁজে পান না।
উপসংহার
এটি একটি নার্ডি নিবন্ধ। আসলে, prefs.js আপনার আনন্দ, বেদনা এবং অবিস্ময়ের উৎস যখন ফায়ারফক্সের কথা আসে, এবং আপনার যদি HTML এবং CSS-এ কিছু জ্ঞান থাকে, লিনাক্সে ডেস্কটপ থিমের মতো, আপনি ব্রাউজারকে হ্যাক করা শুরু করতে পারেন যেন সেটি আপনার চাওয়া লুক এবং আচরণ করে। পাগলামি শোনা যাচ্ছে, কিন্তু আধুনিক বিশ্ব সেটিই। JSON আপনার আধুনিক purgatory।
এই সব দার্শনিক চিন্তাবিচার বাদ দিয়ে, আমি আশা করি আপনি এই নিবন্ধটি উপযোগী পাবেন। কখনও কখনও, পেরসোনা আসে ও চলে যায় বা গায়েব হয়ে যায়, এবং এটি আপনাকে পাগল করতে পারে সেগুলো আবার ব্যবহার না করতে পারায়, বিশেষ করে যেহেতু ফায়ারফক্স থিম মাইগ্রেট ও ইম্পোর্ট করার কোনো তুচ্ছ পদ্ধতি অফার করে না। আশা করি, এখানে গাইডটি প্রয়োজনীয় ওয়ার্কঅরাউন্ড অফার করে। এটি সবচেয়ে সহজ বা সবচেয়ে সুন্দর নয়, কিন্তু কাজটি করে দেয়। আবার দেখা হবে।
চিয়ার্স।