অসাম (উইন্ডো ব্যবস্থাপক)

**অসাম** (*awesome*) বা **অসামডব্লিউএম** (*awesomeWM*) হল এক্স উইন্ডো সিস্টেমের জন্য একটি ডায়নামিক উইন্ডো ব্যবস্থাপক সফ্টওয়্যার। এটি সি এবং লুয়া প্রোগ্রামিং ভাষায় লেখা। সফ্টওয়্যারটির কনফিগারেশন এবং সম্প্রসারণের জন্য লুয়া ব্যবহৃত হয়। ২০০৭ সালের সেপ্টেম্বরে ডিডব্লিউএম এর একটি ফর্ক হিসেবে জুলিয়েন দাঞ্জু অসামের কাজ শুরু করেন। এর লক্ষ্য হচ্ছে সংক্ষিপ্ত আকারের এবং দ্রুতগতিসম্পন্ন হওয়া। এর পাশাপাশি এটি কিবোর্ড-নির্ভর ব্যবস্থাপনা সুবিধাকে সামনে রেখে তৈরি।

প্রথমদিকে সফ্টওয়্যার প্রকল্পটির নাম ছিল *জেডিডব্লিউএম* (jdwm), "জেডি" মূল প্রোগ্রামারের নামের আদ্যক্ষর,এবং "ডিডব্লিউএম" এর পূর্বসুরী প্রকল্পটির নাম ইঙ্গিত করে। জেডিডব্লিউএম-এর জন্য প্রথম গিট রিপজিটরি স্থাপন করা হয় ২০০৭ সালের ৫ সেপ্টেম্বর, এবং পাঁচ দিন পরেই দাঞ্জু প্রকল্পটির নাম হিসেবে "অসাম" বাছাই করেন। *[[হাউ আই মেট ইয়োর মাদার]]* টিভি সিরিজের বার্নি স্টিনসনের বহুলব্যবহৃত উক্তি থেকে নামটি এসেছে। ২০০৭ সালের ২০ সেপ্টেম্বর অসামডব্লিউএম আনুষ্ঠানিকভাবে উন্মুক্ত করা হয়।

## লক্ষ্য
দক্ষ কম্পিউটার ব্যবহারকারীরা দৈনন্দিন কাজে প্রায়ই প্রোগ্রামযোগ্য এবং সম্প্রসারণযোগ্য সফ্টওয়্যার ব্যবহার করেন। অসামের ডেভলপারের মতে, ওই রকম বৈশিষ্ট্যের উইন্ডো ব্যবস্থাপকের সংখ্যা অপ্রতুল, এবং এই ঘাটতি পূরণ করার জন্যই একটি প্রোগ্রামেবল, এক্সটেন্সিবল উইন্ডো ম্যানেজার প্রদান করাই অসাম প্রকল্পের লক্ষ্য। এই লক্ষ পূরণের জন্য অসাম একটি উইন্ডো ম্যানেজার কাঠামো (framework) হিসেবে লিখিত; আকারে ছোট, খুব দ্রুত, পরিবর্তনীয়, এবং লুয়া দ্বারা সম্পরসারণযোগ্য। উচ্চমাত্রায় কনফিগারেবল এবং সম্প্রসারণযোগ্য হলেও অসামের প্রাথমিক কনফিগারেশন খুবই সরলীকৃত; এর পেছনে ডেভলপারের উদ্দেশ্য ছিল প্রত্যেক ব্যবহারকারীকে নিজস্ব প্রয়োজনমত অসামকে স্বতন্ত্রভাবে সাজিয়ে নিতে উৎসাহী করা।

## বৈশিষ্ট্যাবলী
অসামের মৌলিক বৈশিষ্ট্যের মধ্যে রয়েছে:
* লুয়া ভাষার কনফিগারেশন ফাইলের মাধ্যমে কনফিগারেশন, এবং ব্যবহারকারীর দ্বারা প্রোগ্রামযোগ্য।
* অসামে ডেস্কটপ কার্যক্ষেত্র (*workspace*) নিয়ন্ত্রণের জন্য ট্যাগ প্রক্রিয়া ব্যবহার করা হয়। একটি উইন্ডোতে একাধিক ট্যাগ সংযুক্ত করা যায়, এবং একই সময় একাধিক ট্যাগের উইন্ডো প্রদর্শন করা যায়।
* ভিন্ন ভিন্ন ট্যাগে ভিন্ন ভিন্ন উইন্ডো বিন্যাস প্রয়োগ করা যায়, যেমন স্ট্যাকিং, টাইলিং, পূর্ণ-স্ক্রিন এবং বিবর্ধিত লেআউট। এছাড়া নিজস্ব লেআউট তৈরির সুবিধাও রয়েছে।
* এক বা একাধিক স্ট্যাটাসবার, এবং বিবিধ উইজেটের সম্ভার (লেখা এবং আইকন বক্স, মেনু, বাটন, গ্রাফচিত্র, প্রগতি বার, ভেক্টর বহুভূজ, প্রভৃতি)।
* মাউসবিহীন ব্যবস্থাপনা, অর্থাৎ শুধু কীবোর্ড দিয়ে সামগ্রিক নিয়ন্ত্রণ করা সম্ভব।
* একাধিক মনিটর (*multihead*) সমর্থন (এক্সিনেরামা অথবা জাফড পদ্ধতিতে)।
* ফ্রিডেস্কটপ.অর্গ আদর্শ নীতি অনুসারী: বর্ধিত উইন্ডো ব্যবস্থাপক সংকেত (EMWH), এক্সডিজি বেজ ডিরেক্টরি, এক্সএমবেড, ডেস্কটপ বিজ্ঞপ্তি, সিস্টেম ট্রে, ইত্যাদি।
* কম্পোজিটিং এবং ট্রান্সপারেন্সি ইত্যাদি গ্রাফিকাল ইফেক্টের সমর্থন করে।
* ডি-বাস এর মাধ্যমে দূর-নিয়ন্ত্রণযোগ্য।
* প্যাঙ্গো মার্কআপ ভাষার সাহায্যে লেখা প্রদর্শন সমর্থন করে।

## ব্যবস্থাপনা পদ্ধতি
একদম শুরু থেকেই অসাম প্রকল্পটি একটি স্বতন্ত্র কনফিগারেশন ফাইল দ্বারা বিশদভাবে নিয়ন্ত্রণযোগ্য করে লিখিত। অসামের ডেভলপার কনফিগারেশন ফাইল ফরম্যাট এবং কনফিগারেশন প্রক্রিয়ায় বিশেষ গুরুত্ব দিয়েছেন। অসামের ইতিহাসে এর কনফিগারেশন ব্যবস্থায় কয়েকবার গুরুতর পরিবর্তন করা হয়েছে।

### প্রারম্ভিক কনফিগারেশন ফাইল
৩.০ সংস্করণের আগে অসামের একটি বৈশিষ্ট্য ছিল এর সরল ব্যবস্থাপনা পদ্ধতি; দাঞ্জুর ভাষায়, "*no complicated configuration*"। অসামের প্রথম সংস্করণগুলো (১.x) ছিল মূলত ডিডব্লিউএমের কোডের আংশিক পরিবর্তন, এবং লিবকনফিগ লাইব্রেরির সাহায্যে একটি সরল কনফিগারেশন ফাইল ব্যবহার করত। ২.x সংস্করণে লিবকনফিউজ লাইব্রেরির ব্যবহার শুরু হয়, তবে কনফিগারেশন ফাইল ফরম্যাটে কোন বড় পরিবর্তন ঘটেনি।

### আধুনিক কনফিগারেশন ফাইল
২০০৮ এর ২০ মে তারিখে অসাম মেইলিং লিস্টে জুলিয়েন দাঞ্জু ঘোষণা করেন যে আসন্ন ৩.০ সংস্করণ সম্পূর্ণ নতুন একটি কনফিগারেশন পদ্ধতি থাকবে। এই সংস্করণ থেকে লুয়া-ভিত্তিক কনফিগারেশনের প্রচলন হয়। প্রথমদিকে কনফিগারেশন ফাইলের অবস্থান `~/.awesomerc.lua` ছিল, এবং পরবর্তীতে এক্সডিজি আদর্শ অনুসারে `~/.config/awesome/rc.lua` অবস্থানে নেয়া হয়। একটি প্রোগ্রামিং ভাষা নির্ভর ব্যবস্থাপনা পদ্ধতি যুক্ত করার ফলে অসামের কনফিগারেশনে পূর্বে অসম্ভব ছিল এমন কৌশল প্রয়োগ করা সম্ভব হয়, এবং ডায়নামিক ব্যবস্থাপনার সুযোগ তৈরি হয়।

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

### XCB-তে স্থানান্তর
২০০৮ এর ১৮ সেপ্টেম্বর প্রকাশিত অসাম ৩.০ সংস্করণে এক্স সার্ভারের সঙ্গে যোগাযোগের জন্য এক্সসিবি (*X protocol C-language Binding*, XCB) লাইব্রেরির ব্যবহার শুরু হয়। অসামই ছিল এক্সলিব (xlib) এর পরিবর্তে এক্সসিবি ব্যবহারকারী প্রথম উইন্ডো ব্যবস্থাপক। বর্তমান অসামের প্রধান ডেভলপারদের একজন, আর্নো ফন্টেইন, এক্সসিবি সমর্থনের কোড রচনা করেন। এক্সসিবি সমর্থনের কারণ হিসেবে তিনি এর কিছু গুরুত্বপূর্ণ সুবিধা তুলে ধরেছিলেন: "মডুলার কাঠামো; যোগাযোগ প্রটোকলে সরাসরি প্রবেশ্যতা; মাল্টিথ্রেডিং; সমসাময়িক (*asynchronous*) বার্তা আদানপ্রদান"।

### লুয়া সমর্থন
প্রাক-৩.০ সংস্করণের কনফিগারেশন ব্যবস্থায় নানাবিধ সংকীর্ণতা দেখা যায়, যার ফলস্বরূপ অসামের কোড রচয়িতা লুয়া-ভিত্তিক ব্যবস্থাপনা প্রণালী অসামে যুক্ত করেন। লুয়া দিয়ে স্ক্রিপ্টিং যোগ্য প্রথম প্রার্থী সংস্করণ (release candidate 1) ২০০৮ এর আগস্টে প্রকাশিত হয়। ওই বছরের সেপ্টেম্বরে সম্পূর্ণ লুয়া এপিআইসম্পন্ন এবং এক্সসিবি সমর্থিত প্রথম আনুষ্ঠানিক সংস্করণ উন্মুক্ত করা হয়।

লুয়া এপিআই যুক্ত করার ফলে অসামের কনফিগারেশন সম্পূ্র্ণ প্রোগ্রামযোগ্য হয়ে উঠেছে। এর লুয়া কনফিগারেশন ফাইলটি কার্যত একটি পরিপূর্ণ লুয়া প্রোগ্রাম হিসেবে কাজ করে।

## সজ্জা
অসামে এপিআইয়ের **Beautiful** নামক লাইব্রেরির সাহায্যে বৈচিত্র্যময় থিম এবং স্কিন তৈরি করা যায়। লুয়া এপিআই দ্বারা লিখিত বলে কনফিগারেশনের মত অসামের থিমসমূহও সম্পূর্ণ প্রোগ্রামযোগ্য।

এছাড়া অসামে উইজেট সুবিধাও রয়েছে (থিমের দৃশ্যমান কিছু গ্রাফিক উপাদান এবং সংশ্লিষ্ট কোডের সমন্বিত কাঠামো), যার মাধ্যমে ব্যবহারকারীরা প্রয়োজনমাফিক স্বতন্ত্র গ্রাফিকাল বৈশিষ্ট্য যোগ করতে পারেন, যেমন ওয়াইফাই নির্দেশক, ব্যাটারি নির্দেশক, প্রিয় অ্যাপ্লিকেশন তালিকা, ইত্যাদি। উইজেটসমূহও লুয়া ভাষায় লিখিত হয়।

প্রকৃতপক্ষে অসামের কনফিগারেশন, থিম এবং উইজেটসমূহ অসামের লুয়া এপিআইয়ের মধ্য দিয়ে একই স্তরের লুয়া প্রোগ্রাম হিসেবে চালিত হয়।

## ডিস্ট্রিবিউশন প্যাকেজ
প্রচুর ইউনিক্স-সদৃশ অপারেটিং সিস্টেমের জন্য অসাম উপলদ্ধ, যেমন আর্চ লিনাক্স, ডেবিয়ান, ফেদোরা লিনাক্স, জেন্টু লিনাক্স, উবুন্তু, সোর্স মেজ গ্নু/লিনাক্স, ওপেনসুয্যে, ম্যাজেয়া, নিক্সওএস, ফ্রিবিএসডি, নেটবিএসডি এবং ওপেনবিএসডি।

## নামাঙ্কিত প্রকাশনা
অসামের ১.০ থেকে ১.৩ সংস্করণের কোন বিশেষ নাম ছিল না, তবে ২.০ সংস্করণ (নভেম্বর ২০০৭) থেকে প্রতিটি সংস্করণে নির্দিষ্ট নাম প্রদান করা হচ্ছে। এযাবত সবগুলো নাম সঙ্গীত সম্পর্কীয়। ২.০ সংস্করণের নাম ছিল *Bumping Toaster*। ৪র্থ সংস্করণে ড্যাফ্ট পাঙ্কের গানের নাম ব্যবহার করা হচ্ছে, যেমন সর্বশেষ ৪.৩ সংস্করণের নাম *Too long*।

## আরও দেখুন

* ডিডব্লিউএম
* আই৩ (উইন্ডো ব্যবস্থাপক)
* স্ট্যাকিং উইন্ডো ব্যবস্থাপক
* স্টাম্পডব্লিউএম
* টাইলিং উইন্ডো ব্যবস্থাপক
* এক্সমোনাড

## তথ্যসূত্র

## বহিঃসংযোগ

* 
* Wiki
* My first awesome - tutorial
* Screenshots
* 
* Awesome Window Manager: How Can Your Environment Work For You? - wiki review article (in progress)
* Awesome window manager - brief blog review
* Comparison of extensible window managers - Comparison of Sawfish, Awesome, Xmonad, StumpWM, and Qtile.

বিষয়শ্রেণী:উইন্ডো ব্যবস্থাপক
বিষয়শ্রেণী:মুক্ত সফটওয়্যার
বিষয়শ্রেণী:লিনাক্স সফটওয়্যার
বিষয়শ্রেণী:টাইলিং উইন্ডো ব্যবস্থাপক