آسام (مدیر پنجره)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
آسام
Awesome logo.png
Awesome screenshot.png
آسام به همراه تعدادی ترمینال باز
نویسنده(های) اصلی جولین دَنجو (به انگلیسی: Julien Danjou)
انتشار پایدار ۳٫۵٫۲ / ۱۴ اکتبر ۲۰۱۳؛ ۳۷۵ روز پیش
نوشته‌شده به سی و لوا
سیستم‌عامل شبه یونیکس
گونه مدیر پنجره
پروانه گنو جی‌پی‌ال نسخهٔ ۲+
وب‌گاه awesome.naquadah.org


آسام (به انگلیسی: awesome) یک مدیر پنجرهٔ پویا برای سیستم پنجره ایکس است که به زبان‌های سی و لوا نوشته شده است. توسعهٔ این پروژه با مشتق شدن از دی‌دابلیوام آغاز شد.[۱] هدف آسام این است که تا حد ممکن کوچک و سریع، اما قابل شخصی‌سازی باشد و امکان مدیریت کارآمد پنجره‌ها توسط صفحه کلید را به کاربر بدهد.

در آغاز، پروژه جی‌دی‌دابلیوام (به انگلیسی: jdwm) نام‌گذاری شد، با 'jd' یادآور حروف اول اسم برنامه‌نویس آن، و با 'dwm' یادآور پروژه‌ای که از آن مشتق شده بود. اولین مخزن گیت این پروژه در سپتامبر ۲۰۰۷ به وجود آمد. جی‌دابلیودی‌ام به آسام تغییر نام پیدا کرد.[۲] نام آسام از همین عبارت که در سریال آشنایی با مادر توسط شخصیت بارنی استینسون استفاده می‌شد، گرفته شده است. مدیر پنجرهٔ آسام به صورت رسمی در تاریخ ۲۰ سپتامبر ۲۰۰۷، از طریق لیست پستی دی‌دابلیوام معرفی شد.[۱]

هدف پروژه[ویرایش]

مدیر پنجره احتمالا یکی از پرکاربردترین برنامه‌هایی است که برای انجام کارهای روزانهٔ خود، به همراه مرورگر وب، مرورگر پست الکترونیکی و ویرایشگر متن‌تان استفاده می‌کنید. کاربران قدرتمند و برنامه‌نویسان چندین گزینه برای انتخاب ابزارهای روزانه‌شان دارند. بعضی از آن‌ها به مراتب قابل تنظیم و توسعه‌سازی‌اند

مدیر پنجرهٔ آسام سعی دارد این ابزارها را با ابزاری که به آن «یک مدیر پنجرهٔ بسیار قابل تنظیم و توسعه‌پذیر» می‌گوید، کامل کند.

برای رسیدن به این هدف، آسام به عنوان یک مدیرپنجرهٔ چارچوبی طراحی شده است. بسیار سریع، کوچک و پویا است و تا حد زیادی با استفاده از زبان برنامه‌نویسی لوا قابل توسعه است.[۳]

آسام با قابلیت شخصی‌سازی توسط یک فایل تنظیمات جداگانه، از پروژهٔ دی‌دابلیوام مشتق شده است (بخش تنظیم و شخصی‌سازی را در زیر ببینید). با اینکه بسیار قابل توسعه است، تنظیم پیش‌فرض این مدیر پنجره تا حد زیادی ساده شده است. برای رسیدن به این هدف، طراح چیزی را که به آن مدیر پنجرهٔ چارچوبی (به انگلیسی: framework window manager) می‌گوید،[۲] ایجاد کرده است، تا کاربران بتوانند آن را گسترش دهند و نیازهای خود را در آن بگنجانند.

ویژگی‌ها[ویرایش]

  • قابل تنظیم توسط یک فایل تنظیمات لوا.
  • همچون دی‌دابلیوام و دابلیوام‌آی‌آی، آسام از برچسب‌ها (به انگلیسی: tags) به جای فضاهای کاری (به انگلیسی: workspace) استفاده می‌کند. پنجره‌ها می‌توانند به برچسب‌ها نسبت داده شوند و چندین برچسب می‌تواند در یک زمان انتخاب گردد.
  • به عنوان یک مدیر پنجرهٔ پویا، آسام می‌تواند برای هر برچسب یک چیدمان صفحه داشته باشد. به عنوان مثال چیدمان شناور، چندین چیدمان پویای موزائیکی، بززگ شده (maximized) و درشت‌ساز (magnifier).
  • چندین نوار وضعیت، قابل تنظیم جدا برای هر صفحهٔ نمایشگر، به همراه بسیاری از ویجت‌ها (جعبه‌های نوشتاری و تصویری، نمودارها، نوارهای پیشرفت و …
  • همه‌چیز می‌تواند با صفحه کلید انجام گردد، بنابراین استفاده از موس اختیاری است.
  • پشتیبانی Multihead (توسط XRandR، Xinerama و یا Zaphod mode).
  • مطابق با استاندارد freedesktop.org شامل EWMH، شاخهٔ اصلی XDG، XEmber، اطلاع‌رسان پیش‌خوان و System Tray.
  • پشتیبانی از کامپوزیتینگ و شفافیت واقعی توسط یک کامپوزیتور خارجی همچون xcompmgr.
  • کنترل از راه دور توسط دی‌باس (awesome-client).
  • پشتیبانی از زبان نشانه‌گذاری pango

تنظیم و شخصی‌سازی[ویرایش]

از همان آغاز آسام یک اشتقاق از دی‌دابلیوام به همراه یک فایل تنظیمات خارجی در نظر گرفته شده بود.[۲] به همین دلیل، قالب این فایل و فرایند تنظیم آسام، مورد توجه ویژهٔ طراح آن بوده است.

قالب فایل تنظیمات در اوایل پروژه[ویرایش]

تا قبل از نسخهٔ سوم، یکی از ویژگی‌های آسام چیزی بود که دَنجو به آن «بدون تنظیمات پیچیده» می‌گفت. اولین نسخه‌های آسام (۱.x) تنها یک دی‌دابلیوام دستکاری شده به همراه یک فایل تنظیمات تخت بود که از libconfig استفاده می‌کرد. در شاخهٔ ۲.x، دَنجو کتابخانهٔ فایل تنظیمات را از libconfig به libconfuse تغییر داد. در جریان توسعهٔ نسخه‌های ۲.x، ویژگی‌های بسیاری به آسام اضافه شد، به عنوان مثال نوار عنوان و نمایش‌گر نشان.[۲]

قالب فایل تنظیمات جدید[ویرایش]

در ۲۰ می ۲۰۰۸، دَنجو در یک پست الکترونیکی به لیست پستی آسام[۴] اعلام کرد که قالبی جدید برای فایل تنظیمات نسخهٔ ۳٫۰ استفاده خواهد شد. فرمت جدید در مسیر ‎~/.awesomerc.lua قرار داده شد، و بعدا به ‎~/.config/awesome/rc.lua منتقل شد. فایل جدید با استفاده از زبان لوا نوشته شده است. دَنجو ادعا کرد که قالب جدید و گنجاندن لوا، به کاربران آسام اجازه می‌دهد که آسام را به گونه‌ای تنظیم کنند که پیشتر غیر ممکن تلقی می‌شد: استفاده از یک زبان برنامه‌نویسی برای تنظیمات، این امکان را به وجود آورد که به صورتی پویا گزینه‌های قابل تنظیم را مشخص کرد.[۴]

رابط برنامه‌نویسی نرم‌افزار (مخفف انگلیسی: API) آسام هم اکنون در صفحهٔ خانگی این پروژه میزبانی می‌شود،[۵] و یک مقالهٔ آموزشی برای تنظیم آسام در ویکی پروژه وجود دارد.[۶]

ویجت‌ها و پوسته‌ها[ویرایش]

با استفاده کتابخانهٔ Beautiful آسام، می‌توان برای آسام پوسته‌های مختلفی را اعمال کرد.[۷] همچون فایل تنظیمات rc.lua، پوسته نیز به زبان لوا نوشته می‌شود و اجازهٔ ایجاد پوسته‌های پویا را به کاربر می‌دهد.

با اینکه تنظیمات اولیهٔ آسام از نسخهٔ ۳٫۲٫۱، هیچ نشانگر وضعیتی ندارد (مانند وضعیت شبکهٔ وایرلس، باتری و غیره) کاربران می‌توانند این موارد را با استفاده از ویجت‌ها به آسام اضافه کنند.[۸] اطلاعات مورد استفادهٔ ویجت‌ها از طریق کد لوا تامین می‌شوند، چرا که ویجت‌ها در فایل تنظیمات اصلی تعریف می‌گردند.

مهاجرت به XCB[ویرایش]

نسخهٔ ۳٫۰، که در ۱۸ سپتامبر ۲۰۰۸ منتشر شد، از کتابخانهٔ XCB برای ارتباز با سرور X استفاده می‌کند.[۹] این مساله آسام را به اولین مدیر پنجره‌ای که از این کتابخانه به جای Xlib استفاده می‌کند تبدیل کرده است. کار بر روی اعمال XCB توسط آرنود فونتین (به انگلیسی: Arnaud Fontaine)، یکی از توسعه‌دهنده‌های کنونی آسام، در ژانویهٔ ۲۰۰۸ شروع شد.[۲]

آرنود فونتین انتقال به XCB را در ۹ آوریل ۲۰۰۸ در لیست پستی XCB اعلام کرد.[۹] در این پیام او این مساله را به عنوان دلیل اصلی استفاده از XCB بیان کرد: «معماری ماژولار؛ دسترسی مستقیم به پروتکل‌ها؛ چندنخی؛ درخواست/پاسخ ناهمگام؛». ماه بعد انتقال به XCB کامل شد و دَنجو شاخهٔ جدیدی را بر اساس XCB به وجود آورد.[۲]

گنجاندن لوا[ویرایش]

به دلیل مشکلاتی که تا پیش از نسخهٔ ۳٫۰، تنظیم و توسعهٔ آسام را سخت می‌کرد، طراح تصمیم به گنجاندن تنظیم مبتنی بر لوا در آسام گرفت. نسخهٔ آمادهٔ انتشار این تغییرات در آگوست ۲۰۰۸ منتشر شد.[۱۰] در سپتامبر ۲۰۰۸، اولین ورژن آسام به همراه رابط برنامه‌نویسی نرم‌افزار لوا به موازات انتقال به XCB منتشر شد.

دسترسی به بسته در توزیع‌ها[ویرایش]

بستهٔ آسام در بسیاری از سیستم‌عامل‌های شبه-یونیکس قابل نصب است. از جمله: آرچ لینوکس،[۱۱] دبیان،[۱۲] جنتو،،[۱۳] اوبونتو،[۱۴] فری‌بی‌اس‌دی، نت‌بی‌اس‌دی و اپن‌بی‌اس‌دی

نام انتشار[ویرایش]

ورژن ۱٫۰ تا ۱٫۳ آسام (سپتامبر-اکتبر ۲۰۰۹) نام‌گذاری نشده بود. از اولین نسخهٔ آمادهٔ انتشار ۲٫۰ (نوامبر ۲۰۰۷)، آسام از نام انتشار استفاده می‌کند. از 02013-10-12 ۱۲ اکتبر ۲۰۱۳ آخرین نسخهٔ آسام ۳٫۵٫۲ «روباه» (به انگلیسی: The Fox) می‌باشد.[۱۵]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ «Project announcement from dwm mailing list.»(انگلیسی)‎. [معرفی پروژه از طریق لیست پستی دی‌دابلیوام.]. ۲۰ سپتامبر ۲۰۰۷. 
  2. ۲٫۰ ۲٫۱ ۲٫۲ ۲٫۳ ۲٫۴ ۲٫۵ Danjou، Julien. «Taking the other direction»(انگلیسی)‎. [حرکت به سویی دیگر]. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  3. «awesome window manager - about»(انگلیسی)‎. [مدیر پنجرهٔ آسام - درباره]. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  4. ۴٫۰ ۴٫۱ Danjou، Julien. «News on awesome-3 and about latest commits»(انگلیسی)‎. [اخبار آسام ۳ و آخرین تغییرات]. ۲۰ می ۲۰۰۸. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  5. «awesome API documentation»(انگلیسی)‎. [رابط برنامه‌نویسی نرم‌افزار آسام]. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  6. «Awesome 3 configuration»(انگلیسی)‎. [تنظیم آسام ۳]. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  7. «awesome Wiki: Beautiful»(انگلیسی)‎. [ویکی آسام: Beautiful]. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  8. «awesome Wiki: Widgets in awesome»(انگلیسی)‎. [ویکی آسام: ویجت‌ها در آسام]. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  9. ۹٫۰ ۹٫۱ «XCB transition announcement from XCB mailing list»(انگلیسی)‎. [اعلام انتقال به XCB در لیست پستی XCB]. بایگانی‌شده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  10. «3.0-rc1 announcement on awesome mailing list»(انگلیسی)‎. [اعلام نسخهٔ آمادهٔ انتشار در لیست پستی آسام-۳٫۰]. بایگانی‌شده از 3.0-rc1 نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  11. Arch Linux - awesome 3.4.12-1 (i686)
  12. Debian - Details of package awesome in squeeze
  13. Gentoo Packages /package/x11-wm/awesome
  14. Ubuntu - Details of package awesome in natty
  15. «awesome Wiki: List of awesome releases»(انگلیسی)‎. [ویکی آسام: لیست انتشارهای آسام]. بازبینی‌شده در ۲۹ ژوئن ۲۰۱۲. 
  • مشارکت‌کنندگان ویکی‌پدیا، «awesome (window manager)»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۸ تیر ۱۳۹۱).

پیوند به بیرون[ویرایش]