موضوع مقاله: آسام (مدیر پنجره) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # آسام (مدیر پنجره) | مقدمه: آسام یک مدیر پنجرهٔ پویا برای سیستم پنجره ایکس است که به زبان‌های سی و لوا نوشته شده‌است. | ## بخش 1: آسام (مدیر پنجره) | هدف آسام این است که تا حد ممکن کوچک و سریع، اما قابل شخصی‌سازی باشد و امکان مدیریت کارآمد پنجره‌ها توسط صفحه کلید را به کاربر بدهد. در آغاز، پروژه جی‌دی‌دابلیوام نام‌گذاری شد، با 'jd' یادآور حروف اول اسم برنامه‌نویس آن، و با 'dwm' یادآور پروژه‌ای که از آن مشتق شده بود. نام آسام از همین عبارت که در سریال آشنایی با مادر توسط شخصیت بارنی استینسون استفاده می‌شد، گرفته شده‌است. مدیر پنجرهٔ آسام به صورت رسمی در تاریخ ۲۰ سپتامبر ۲۰۰۷، از طریق لیست پستی دی‌دابلیوام معرفی شد. هدف پروژه آسام با قابلیت شخصی‌سازی توسط یک فایل تنظیمات جداگانه، از پروژهٔ دی‌دابلیوام مشتق شده‌است (بخش تنظیم و شخصی‌سازی را در زیر ببینید). با اینکه بسیار قابل توسعه است، تنظیم پیش‌فرض این مدیر پنجره تا حد زیادی ساده شده‌است. برای رسیدن به این هدف، طراح چیزی را که به آن مدیر پنجرهٔ چارچوبی می‌گوید، ایجاد کرده‌است، تا کاربران بتوانند آن را گسترش دهند و نیازهای خود را در آن بگنجانند. همچون دی‌دابلیوام و دابلیوام‌آی‌آی، آسام از برچسب‌ها به جای فضاهای کاری استفاده می‌کند. پنجره‌ها می‌توانند به برچسب‌ها نسبت داده شوند و چندین برچسب می‌تواند در یک زمان انتخاب گردد. به عنوان یک مدیر پنجرهٔ پویا، آسام می‌تواند برای هر برچسب یک چیدمان صفحه داشته باشد. | ## بخش 2: آسام (مدیر پنجره) | چندین نوار وضعیت، قابل تنظیم جدا برای هر صفحهٔ نمایشگر، به همراه بسیاری از ویجت‌ها (جعبه‌های نوشتاری و تصویری، نمودارها، نوارهای پیشرفت و … همه‌چیز می‌تواند با صفحه کلید انجام گردد، بنابراین استفاده از موس اختیاری است. پشتیبانی از زبان نشانه‌گذاری pango تنظیم و شخصی‌سازی از همان آغاز آسام یک اشتقاق از دی‌دابلیوام به همراه یک فایل تنظیمات خارجی در نظر گرفته شده بود. به همین دلیل، قالب این فایل و فرایند تنظیم آسام، مورد توجه ویژهٔ طراح آن بوده‌است. قالب فایل تنظیمات در اوایل پروژه تا قبل از نسخهٔ سوم، یکی از ویژگی‌های آسام چیزی بود که دَنجو به آن «بدون تنظیمات پیچیده» می‌گفت. در جریان توسعهٔ نسخه‌های ۲.x، ویژگی‌های بسیاری به آسام اضافه شد، به عنوان مثال نوار عنوان و نمایش‌گر نشان. قالب فایل تنظیمات جدید در ۲۰ می ۲۰۰۸، دَنجو در یک پست الکترونیکی به لیست پستی آسام اعلام کرد که قالبی جدید برای فایل تنظیمات نسخهٔ ۳٫۰ استفاده خواهد شد. دَنجو ادعا کرد که قالب جدید و گنجاندن لوا، به کاربران آسام اجازه می‌دهد که آسام را به گونه‌ای تنظیم کنند که پیشتر غیرممکن تلقی می‌شد: استفاده از یک زبان برنامه‌نویسی برای تنظیمات، این امکان را به وجود آورد که به صورتی پویا گزینه‌های قابل تنظیم را مشخص کرد. رابط برنامه‌نویسی نرم‌افزار آسام هم‌اکنون در صفحهٔ خانگی این پروژه میزبانی می‌شود، و یک مقالهٔ آموزشی برای تنظیم آسام در ویکی پروژه وجود دارد. همچون فایل تنظیمات rc.lua، پوسته نیز به زبان لوا نوشته می‌شود و اجازهٔ ایجاد پوسته‌های پویا را به کاربر می‌دهد. با اینکه تنظیمات اولیهٔ آسام از نسخهٔ ۳٫۲٫۱، هیچ نشانگر وضعیتی ندارد (مانند وضعیت شبکهٔ وایرلس، باتری و غیره) کاربران می‌توانند این موارد را با استفاده از ویجت‌ها به آسام اضافه کنند. | ## بخش 3: آسام (مدیر پنجره) | اطلاعات مورد استفادهٔ ویجت‌ها از طریق کد لوا تأمین می‌شوند، چرا که ویجت‌ها در فایل تنظیمات اصلی تعریف می‌گردند. مهاجرت به XCB نسخهٔ ۳٫۰، که در ۱۸ سپتامبر ۲۰۰۸ منتشر شد، از کتابخانهٔ XCB برای ارتباز با سرور X استفاده می‌کند. این مسئله آسام را به اولین مدیر پنجره‌ای که از این کتابخانه به جای Xlib استفاده می‌کند تبدیل کرده‌است. کار بر روی اعمال XCB توسط آرنود فونتین ، یکی از توسعه‌دهنده‌های کنونی آسام، در ژانویهٔ ۲۰۰۸ شروع شد. در این پیام او این مسئله را به عنوان دلیل اصلی استفاده از XCB بیان کرد: «معماری ماژولار؛ دسترسی مستقیم به پروتکل‌ها؛ چندنخی؛ درخواست/پاسخ ناهمگام؛». گنجاندن لوا به دلیل مشکلاتی که تا پیش از نسخهٔ ۳٫۰، تنظیم و توسعهٔ آسام را سخت می‌کرد، طراح تصمیم به گنجاندن تنظیم مبتنی بر لوا در آسام گرفت. در سپتامبر ۲۰۰۸، اولین ورژن آسام به همراه رابط برنامه‌نویسی نرم‌افزار لوا به موازات انتقال به XCB منتشر شد. دسترسی به بسته در توزیع‌ها بستهٔ آسام در بسیاری از سیستم‌عامل‌های شبه-یونیکس قابل نصب است. | ## جمع‌بندی | از اولین نسخهٔ آمادهٔ انتشار ۲٫۰ (نوامبر ۲۰۰۷)، آسام از نام انتشار استفاده می‌کند.