آسام (مدیر پنجره)
![]() |
|
آسام به همراه تعدادی ترمینال باز |
|
| طراح(ها) | جولین دَنجو (به انگلیسی: 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 منتشر شد.
دسترسی به بسته در توزیعها [ویرایش]
بستهی آسام در بسیاری از سیستمعاملهای شبه-یونیکس قابل نصب است. از جمله: آرچ لینوکس،[۱۱] دبیان،[۱۲] جنتو،[۱۳]، اوبونتو،[۱۴] فریبیاسدی، نتبیاسدی و اپنبیاسدی
نام انتشار [ویرایش]
ورژن ۱.۰ تا ۱.۳ آسام (سپتامبر-اکتبر ۲۰۰۹) نامگذاری نشده بود. از اولین نسخهی آمادهی انتشار ۲.۰ (نوامبر ۲۰۰۷)، آسام از نام انتشار استفاده میکند. از ۱۵ ژوئیه ۲۰۱۲ آخرین نسخهی آسام ۳.۴.۱۳ «اختاپوس» (به انگلیسی: Octopus) است.[۱۵]
جستارهای وابسته [ویرایش]
منابع [ویرایش]
- ↑ ۱٫۰ ۱٫۱ «Project announcement from dwm mailing list.» (انگلیسی). [معرفی پروژه از طریق لیست پستی دیدابلیوام.]. ۲۰ سپتامبر ۲۰۰۷.
- ↑ ۲٫۰ ۲٫۱ ۲٫۲ ۲٫۳ ۲٫۴ ۲٫۵ Danjou، Julien. «Taking the other direction» (انگلیسی). [حرکت به سویی دیگر]. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ «awesome window manager - about» (انگلیسی). [مدیر پنجرهی آسام - درباره]. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ ۴٫۰ ۴٫۱ Danjou، Julien. «News on awesome-3 and about latest commits» (انگلیسی). [اخبار آسام ۳ و آخرین تغییرات]. ۲۰ می ۲۰۰۸. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ «awesome API documentation» (انگلیسی). [رابط برنامهنویسی نرمافزار آسام]. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ «Awesome 3 configuration» (انگلیسی). [تنظیم آسام ۳]. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ «awesome Wiki: Beautiful» (انگلیسی). [ویکی آسام: Beautiful]. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ «awesome Wiki: Widgets in awesome» (انگلیسی). [ویکی آسام: ویجتها در آسام]. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ ۹٫۰ ۹٫۱ «XCB transition announcement from XCB mailing list» (انگلیسی). [اعلام انتقال به XCB در لیست پستی XCB]. بایگانیشده از نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ «3.0-rc1 announcement on awesome mailing list» (انگلیسی). [اعلام نسخهی آمادهی انتشار در لیست پستی آسام-۳.۰]. بایگانیشده از 3.0-rc1 نسخهٔ اصلی در ۱ فوریه ۲۰۱۱. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- ↑ Arch Linux - awesome 3.4.12-1 (i686)
- ↑ Debian - Details of package awesome in squeeze
- ↑ Gentoo Packages /package/x11-wm/awesome
- ↑ Ubuntu - Details of package awesome in natty
- ↑ «awesome Wiki: List of awesome releases» (انگلیسی). [ویکی آسام: لیست انتشارهای آسام]. بازبینیشده در ۲۹ ژوئن ۲۰۱۲.
- مشارکتکنندگان ویکیپدیا، « awesome (window manager)»، ویکیپدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۸ تیر ۱۳۹۱).
پیوند به بیرون [ویرایش]
|
||||||||||||||||||||||||
|
|||||||||||||||||||||||
