আপনি হয়তো লিনাক্সকে আপনার ডেস্কটপ যেভাবেই ইচ্ছে সেজানাবে দেখানোর স্বাধীনতার সাথে জোড়া দেন, কিন্তু GNOME-এ সেটি সত্য নয়। কমপক্ষে, না জানলে কোন এক্সটেনশন ইনস্টল করতে হবে বা কীভাবে কোড পড়বেন সেটা না জানলে। ডিফল্টভাবে, GNOME একটি নির্দিষ্ট উপায়ে দেখতে এবং অনুভব করতে ডিজাইন করা, এবং অনেক ডেভেলপার পছন্দ করবেন যদি লিনাক্স ডিস্ট্রিবিউশন তাদের অ্যাপের আপিয়রেন্স (appearance) থিম (themes) ব্যবহার করে পরিবর্তন করে না।
আপনার নিজস্ব মেশিনে থিম পরিবর্তন করলে কি সমস্যা হয়? না, আপনি জানেন আপনি কী করছেন। কিন্তু বিভ্রান্তি (confusion) জন্মাতে পারে যখন কাস্টোমাইজড অভিজ্ঞতা ডিফল্ট হিসেবে প্রেজেন্ট করা হয়।
GTK কি থিমের জন্য ডিজাইন করা?
GNOME GTK গ্রাফিক্যাল টুলকিট (graphical toolkit) ব্যবহার করে অ্যাপ ইন্টারফেস ম্যানেজ করতে। GNOME 2.x দিনগুলোতে, প্রায় সকল GNOME-ভিত্তিক ডিস্ট্রো একটি কাস্টোম থিমের সাথে আসত। এটিই অনেক ব্যবহারকারীদের মাঝে এই ধারণা ছড়িয়ে দিয়েছিল যে থিম পরিবর্তন করা কিছু সহজ জিনিস অ্যাপ ডেভেলপারদের অতিরিক্ত প্রচেষ্টা ছাড়া।
অন্যান্য লিনাক্স ডেস্কটপ এনভায়রনমেন্টগুলো এখনো থিমের ব্যাপক ব্যবহার করে। KDE Plasma, Xfce, Cinnamon, এবং অন্যান্য সাধারণত আপনার জন্য বেছে নেওয়ার জন্য কয়েকটি অপশন দেয়।
উপরোক্ত ডেস্কটপ এনভায়রনমেন্টগুলো অনেক GTK ব্যবহার করে, কিন্তু GTK 3-এর আসলে একটি থিমিং API (theming API) নেই। প্ল্যাটফর্ম এবং অ্যাপ ডেভেলপাররা দ্বারা ব্যবহৃত CSS স্টাইলশীট (CSS stylesheets) আছে। ডিফল্ট GNOME থিম "Adwaita" আসলে একটি থিম নয়, বরং প্ল্যাটফর্ম স্টাইলশীটের নাম। Adwaita সংস্কৃত для "একমাত্র" (the only one)।
যখন উবুন্টু যেন ডিস্ট্রো একটি ভিন্ন ডিফল্ট থিমের সাথে শিপ করে, এটি আসলে একটি সেট ম্যানুয়ালি রি-রাইটেন (manually rewritten), কাস্টোম স্টাইলশীটস (custom stylesheets) সাথে আসে। এটি একটি সহজ প্রক্রিয়া নয়। এর একটি অংশ কারণ উবুন্টু ২১.০৪ GNOME ৪০-এর সাথে আসেনি কারণ উবুন্টু ডেস্কটপ টিম আরও সময় চায় थियो কোম্প্যাটিবল (compatible) করার জন্য।
সब কথা বলা হলেও, মাইক্রোসফট উইন্ডোজ বা অ্যাপল macOS-এর তুলনায়, GNOME এখনো আপেক্ষিকভাবে সহজ কাস্টোমাইজ এবং টুইক (tweak) করা যায়।
থিমের ডাউনসাইড (downsides)
কখনো কখনো থিম অ্যাপ ডিজাইন ভাঙে (break)। অনেক সময় এটি শুধু একটি ছোট কুইর্ক (quirk) হয় здесь বা সেখানে, যেনে—ইনভার্টেড কালার (inverted colors), একটি আইকন এমনভাবে পরিবর্তিত হয় যে একটি সেটিং আর সেন্স (sense) করে না, বা বাটনের চারদিকে এক্সট্রা বর্ডার (extra borders)।
তবে কখনো কখনো ব্রেকেজ (breakage) বড় হয়, যেনে—পুরো বাটন মিসিং (missing) হয় বা স্পেসিং (spacing) এতটাই গড়ে যায় যে ইন্টারফেসের এলিমেন্টগুলো আর সঠিকভাবে লাইন আপ (line up) করে না।
তারপর ব্র্যান্ডিং (branding) ইস্যু আছে। অনেক অ্যাপ ডেভেলপার তাদের আইকনে প্রচুর প্রচেষ্টা দিয়ে থাকে এবং ডেস্কটপ জুড়ে একটি কনসিস্টেন্ট ব্র্যান্ড (consistent brand) ব্যবহার করে। সেই আইকন পরিবর্তন করলে ডেভেলপারদের তাদের ব্র্যান্ডের ওপর কম কন্ট্রোল থাকে এবং কিছু ব্যবহারকারীর জন্য বিভ্রান্তি সৃষ্টি হতে পারে।
থিম এবং অ্যাপ মেকার দুজনের জন্যও চ্যালেঞ্জ
লিনাক্স ইকোসিস্টেমে, অনেক সময় স্পষ্ট নয় বাগ (bug) কে রিপোর্ট করবেন। অনেক ব্যবহারকারী অ্যাপ ডেভেলপারের কাছে বাগ রিপোর্ট করে, মনে করে অ্যাপে কিছু সমস্যা আছে যখন ইস্যু আসলে একটি থিম দ্বারা ইন্ট্রোডিউসড (introduced) হয়েছে যা অ্যাপ ডেভেলপার কখনো সাপোর্ট করার উদ্দেশ্য نداشتেন।
এটি অ্যাপ ডেভেলপারদের একটি ফ্রাস্ট্রেটিং (frustrating) পরিস্থিতিতে ফেলে থিম সাপোর্ট করতে বাধ্য হয় শুধু কারণ অনেক ব্যবহারকারী সেই ডেস্কটপ থেকে আসে যাদের কাস্টোম থিম প্রি-ইনস্টল্ড (pre-installed) থাকে, যেনে উবুন্টু এবং Pop!_OS।
একই সময়, থিম ডিজাইনাররা তাদের থিম ম্যানুয়ালি প্রতিটি অ্যাপের জন্য টুইক (tweak) করে। এটি কিছু ডেস্কটপ অ্যাপের সাথে কিছুটা ম্যানেজেবল (manageable), কিন্তু এটি খুব দ্রুত আনম্যানেজেবল (unmanageable) হতে পারে লিনাক্সে বেশি অ্যাপ আসার সাথে সাথে।
থিম কি তত বড় ডিল নয়?
এখন থিমিং GNOME-এ ব্যবহারকারীদের কাছে আপেক্ষিকভাবে সহজ মনে হতে পারে কারণ আমরা সেই সকল কাজ দেখি না যা থিমের কারণে হওয়া এরর ফিক্স করতে হয়, ডেভেলপার সাইড থেকে হোক বা থিম মেকার সাইড থেকে।
ডিস্ট্রো মেইনটেইনাররা এবং থিম-লভাররা তাদের নিজস্ব লুক-অ্যান্ড-ফিল (look and feel) থাকার বেনিফিট (benefits)কে যথেষ্ট ভাবে ওজন দিয়ে থাকতে পারে যাতে সে কখনো কখনো ইস্যুকেও মাইনর ইনকনভেনিয়েন্স (minor inconvenience) হিসেবে লেখা ফেলে। যাইহোক, অন্যান্য ব্যবহারকারীদের কাছে একই ইস্যুগুলো লিনাক্স ডেস্কটপ অসমাপ্ত (unfinished), আনপ্রফেশনাল (unprofessional), এবং প্রপ্রায়েটারি OS-এর একটি ক্যাপেবল (capable) অল্টারনেটিভ নয় এমন চিহ্ন হিসেবে লাগতে পারে। অনেক GNOME ডেভেলপার এই বিষয়ে ফ্রাস্ট্রেটেড (frustrated) হয়ে থাকার কোনো আশ্চর্য নেই।
যদিও অনেক GNOME ডেভেলপার "Stop Theming My App" ওয়েবপেজে তাদের নাম সাইন করেছেন, তারা অফিসিয়ালি GNOME কমিউনিটিকে হলে প্রতিনিধিত্ব করছে না, যেটি তাদের সদস্যদেরও অন্তর্ভুক্ত করে যারা সে ডিস্ট্রোতে কাজ করে যারা কাস্টোম থিম শিপ করার অপ্টার (opt) করে। কমিউনিটির বিভিন্ন সদস্য, যেনে GNOME ব্যবহারকারীরা নিজেরা, এই ইস্যুতে আলাদা মতামত রাখে।