| blackbox(1) | General Commands Manual | blackbox(1) |
نام (NAME)
blackbox - مدیر پنجره سریع و سبک برای سامانه پنجره X11
خلاصه دستور (SYNOPSIS)
blackbox -help | -version
blackbox [ -rc rcfile ] [ -display display ]
توضیحات (DESCRIPTION)
بلکباکس (Blackbox) یک مدیر پنجره برای سامانهٔ پنجرهٔ X متعلق به اوپن گروپ (Open Group)، نسخهٔ ۱۱ ویرایش ۶ و بالاتر است. طراحی آن با هدف سبکی، سرعت بالا و کمینهگرایی بصری انجام شده است.
بلکباکس مشابه رابط کاربری NeXT و Windowmaker است. برنامهها با استفاده از منویی اجرا میشوند که با کلیکراست روی پنجرهٔ ریشه (root window / پسزمینه) قابل دسترسی است. فضاهای کاری (Workspaces) که سامانهای از میزکارهای مجازی هستند، از طریق منویی که با کلیکوسط روی پنجرهٔ ریشه باز میشود و همچنین از طریق نوار ابزار (toolbar) کنترل میشوند. پنجرههای منفرد را میتوان با دکمههای روی نوار عنوان (title bar) کنترل کرد و گزینههای بیشتری نیز با کلیکراست روی نوار عنوان در دسترس است.
بلکباکس قادر است تزیینات و جلوههای بصری زیبایی را بهصورت بلادرنگ و با سرعت بالا برای پنجرهها تولید کند. تمها، که در اصطلاحشناسی بلکباکس «سبک» (styles) نامیده میشوند، بسیار منعطف هستند اما بهمنظور حذف وابستگیها و جلوگیری از مصرف بیش از حد حافظه، بهطور هدفمند از استفاده از پیکسمپها (pixmaps) اجتناب شده است.
بلکباکس برخلاف اکثر مدیرهای پنجره، کلیدهای میانبر (key bindings) را مستقیماً مدیریت نمیکند. این وظیفه بر عهدهٔ ابزار جانبی مجزایی به نام bbkeys است. اگرچه بلکباکس دارای یک سامانهٔ توکار مدیریت فضای کاری (صفحهبندی / paging) است، ابزار bbpager که یک صفحهبند گرافیکی فراهم میکند نیز در میان بسیاری از کاربران محبوب است. ابزارهای bbkeys، bbpager و چندین ابزار دیگر از مجموعهٔ bbtools را میتوانید با مراجعه به نشانی زیر بیابید:
0 http://bbtools.thelinuxcommunity.orgاسلیت (slit) لبهای از صفحه نمایش است که میتواند برنامههایی با طراحی ویژه موسوم به برنامههای داک (dock apps برگرفته از Windowmaker) را در خود جای دهد. علاوه بر این، برنامهٔ محبوب gkrellm نیز در اسلیت اجرا میشود. مجموعهٔ بسیار وسیعی از برنامههای داک در دسترس است که طیفی از ابزارهای کاربردی ضروری تا موارد کاملاً تفننی (اما زیبا و جذاب) را شامل میشوند.
0 http://www.bensinclair.com/dockapp http://dockapps.org
گزینهها (OPTIONS)
بلکباکس از گزینههای خط فرمان زیر پشتیبانی میکند:
- -help
- نمایش گزینههای خط فرمان، ویژگیهای کامپایلشده و سپس خروج.
- -version
- نمایش اطلاعات نسخه و خروج.
- -rc rcfile
- استفاده از یک فایل منبع (resource file) جایگزین.
- -display display
- اجرای بلکباکس روی نمایشگر (display) مشخصشده و تنظیم متغیر محیطی DISPLAY به این مقدار برای برنامههایی که توسط بلکباکس اجرا میشوند.
شروع کار (STARTING BLACKBOX)
رایجترین روش برای شروع بلکباکس، قرار دادن دستور "blackbox" (بدون گیومه) در انتهای فایل ~/.xinitrc یا ~/.xsession است. مزیت قرار دادن بلکباکس در انتهای فایل این است که با خروج شما از بلکباکس، کارگزار X (X Server) نیز خاموش و متوقف خواهد شد. بلکباکس را میتوان همچنین از خط فرمان یک برنامهٔ پایانه مانند xterm در یک نشست X که در حال حاضر هیچ مدیر پنجرهای در آن اجرا نمیشود، شروع کرد.
در هنگام راهاندازی، بلکباکس به دنبال فایل ~/.blackboxrc میگردد و از متغیر منبع session.menuFile برای تعیین محل دریافت منوی نشست استفاده میکند. اگر این فایل یافت نشود، بلکباکس از /usr/share/blackbox/menu بهعنوان فایل منو استفاده خواهد کرد. در صورتی که آن نیز ناموفق باشد، بلکباکس از یک منوی پیشفرض استفاده میکند که شامل دستوراتی برای اجرای xterm و همچنین راهاندازی مجدد (restart) و خروج از مدیر پنجره است. سایر منابع موجود در فایل ~/.blackboxrc در ادامهٔ این راهنما تحت عنوان «فایل منابع» مورد بحث قرار گرفتهاند.
در هنگام خروج، بلکباکس پیکربندی فعلی خود را در ~/.blackboxrc مینویسد.
0 نکته: اگر ~/.blackboxrc در طول نشست بلکباکس ویرایش شود، بلکباکس باید با دستور "restart" در منوی اصلی مجدداً راهاندازی شود، در غیر این صورت تغییرات هنگام خروج از بین خواهند رفت. راهاندازی مجدد (Restart) باعث میشود بلکباکس فایل ~/.blackboxrc را دوباره بخواند و تغییرات را بلافاصله اعمال کند.برای خروج از بلکباکس میتوانید گزینهٔ "exit" را در منوی اصلی انتخاب کنید (که بهزودی توضیح داده میشود)، آن را بهآرامی (gently) از طریق پایانه متوقف (kill) کنید، یا از کلیدهای میانبر خروج سامانهٔ پنجرهٔ X یعنی Ctrl+Alt+BackSpace استفاده نمایید.
استفاده از بلکباکس (USING BLACKBOX)
یک موشوارهٔ سهدکمهای هنگام کلیک روی پنجرهٔ ریشه (root window / فضای خالی پسزمینه) عملکردهای زیر را دارد:
- دکمه دو (دکمه وسط)
- باز کردن منوی فضای کاری
- دکمه سه (کلیکراست)
- باز کردن منوی اصلی
- توجه داشته باشید که دکمه یک (کلیکچپ) استفاده نمیشود.
- منوی اصلی (Main Menu)
- نصب
پیشفرض
فرض میکند
که شما
تعدادی از
برنامههای
رایج
سامانه
پنجره X را
در
مکانهای
معمول
آنها
دارید. منوی
پیشفرض
توسط یک
فایل متنی
ساده به نام
'menu' تعریف
میشود. این
فایل شامل
توضیحات
تفصیلی
(کامنت)
فراوانی
است و
جزئیات
زیادی از
نحو نگارش
فایل منو را
پوشش
میدهد. این
فایل
همچنین
میتواند
با استفاده
از برنامه
جانبی bbconf
بهصورت
گرافیکی
ویرایش شود
که ساخت منو
را بسیار
آسان
میکند. نحو
نگارش فایل
منو در
ادامه این
راهنما
توضیح داده
شده است.
0 نکته مهم: منوها میتوانند دستورات دلخواه خط فرمان را اجرا کنند، اما اگر مایلید از یک دستور پیچیده استفاده کنید، بهتر است آن را درون یک اسکریپت شل (shell script) قرار دهید. به یاد داشته باشید که عبارت #!/bin/bash را در خط اول قرار دهید و دستور chmod 755 را روی فایل اجرا کنید تا قابل اجرا شود.
- منوی فضای کاری (Workspace Menu)
- این منو
کنترل
سامانه
فضاهای
کاری را به
کاربر
میدهد.
کاربر
میتواند
یک فضای
کاری جدید
بسازد،
آخرین فضای
کاری را حذف
کند، یا از
طریق منوی
آیکونها
یا
ورودیهای
فضای کاری
به یک
برنامه
برود.
فضاهای
کاری بر
اساس نام
فهرست
شدهاند.
کلیک کردن
روی نام
فضای کاری
شما را به
آن فضای
کاری
میبرد و
فوکوس را
روی
برنامهای
که زیر
موشواره
قرار دارد
قرار
میدهد. اگر
برنامههایی
از قبل در
آن فضای
کاری در حال
اجرا
باشند، در
یک منوی
بازشو ظاهر
میشوند.
کلیک کردن
روی نام
برنامه به
آن فضای
کاری پرش
کرده و روی
آن برنامه
فوکوس
میکند. اگر
از
کلیکوسط
استفاده
شود، پنجره
به فضای
کاری فعلی
آورده
میشود.
بلکباکس از یک برنامه خارجی به نام bbpager برای ارائه یک رابط صفحهبندی سنتی و گرافیکی برای سامانه فضای کاری استفاده میکند. بسیاری از کاربران بلکباکس برنامه جانبی دیگری به نام bbkeys را برای ارائه کلیدهای میانبر جهت کنترل فضاهای کاری اجرا میکنند.
0 نکته: برای نامگذاری یک فضای کاری، کاربر باید روی نوار ابزار کلیکراست کرده، گزینه "Edit current workspace name" را انتخاب کند، نام فضای کاری را تایپ نماید و برای اتمام کلید Enter را فشار دهد.
فضاهای کاری را همچنین میتوان در فایل .blackboxrc طبق آنچه در بخش «فایل منابع» شرح داده شده نامگذاری کرد. - اسلیت (The Slit)
- اسلیت یک
پنجره با
موقعیت
قابل تنظیم
توسط کاربر
برای اجرای
برنامههای
کاربردی
موسوم به
"dockapps" فراهم
میکند.
برای کسب
اطلاعات
بیشتر
درباره dockapps به
وبسایتهای
ذکر شده در
بخش
توضیحات
مراجعه
کنید.
برنامههای
داک در
بیشتر
موارد
بهطور
خودکار در
اسلیت اجرا
میشوند،
اما ممکن
است به یک
سوییچ
دستوری
ویژه نیاز
داشته
باشند. اغلب
از سوییچ -w
برای حالت
«جمعشده»
(withdrawn) در اسلیت
استفاده
میشود.
برنامه gkrellm یک dockapp بسیار مفید و مدرن است که اطلاعات عملکرد سیستم را بهصورت تقریباً بلادرنگ به کاربر میدهد. سایر برنامههای داک شامل ساعتها، یادداشتها، صفحهبندها، گیرندههای کلید، تنگ ماهی، شومینه و موارد فراوان دیگر هستند.
فقط دکمه سه موشواره (کلیکراست) توسط اسلیت بلکباکس دریافت میشود. این منو به کاربر اجازه میدهد موقعیت اسلیت را تغییر دهد و وضعیت Always on top (همیشه در بالا) و Auto hide (پنهانسازی خودکار) را تنظیم کند. این موارد همگی عملکرد مورد انتظار کاربر را انجام میدهند.
3 نکته: هنگام اجرای Dockapps از طریق یک اسکریپت خارجی، ممکن است شرایط رقابتی (race condition) رخ دهد که در آن پوسته بهسرعت تمام dockapps را به صورت موازی منشعب (fork) میکند و هر کدام زمان متفاوت و تصادفی برای اولین ترسیم خود نیاز دارند. برای اینکه برنامههای داک به ترتیب مشخصی اجرا و چیده شوند، بعد از اجرای هر dockapp دستور sleep 2; را قرار دهید. این کار اطمینان میدهد که هر dockapp با ترتیب صحیح توسط اسلیت جایگذاری میشود.
8 مثال: #!/bin/bash speyes -w & sleep 2 gkrellm -w & sleep 2
- نوار ابزار (The Toolbar)
- نوار ابزار
روشی
جایگزین
برای
پیمایش
میان چندین
فضای کاری و
برنامه
فراهم
میکند. سمت
چپ نوار
ابزار بخش
کنترل فضای
کاری است،
مرکز آن
کنترل
برنامهها
و سمت راست
آن ساعت
است. قالب
ساعت را
میتوان
همانطور
که در بخش
«فایل
منابع»
توضیح داده
شده کنترل
کرد.
دکمه ۳ موشواره منویی را باز میکند که امکان پیکربندی نوار ابزار را فراهم میسازد. نوار ابزار میتواند در بالا یا پایین صفحه نمایش قرار گیرد و میتوان آن را روی پنهانسازی خودکار (auto hide) و/یا همیشه در بالا (always on top) تنظیم کرد.
نکته: نوار ابزار یک جزء دائمی است. تنها با تغییر در کد منبع و کامپایل مجدد میتوان آن را حذف کرد، که فراتر از حوصلهٔ این سند است. تنظیم نوار ابزار روی پنهانسازی خودکار بهترین راهکار جایگزین است.
- تزیینات پنجره (Window Decorations)
- تزیینات پنجره شامل دستگیرههای لبهٔ پایینی هر پنجره، یک نوار عنوان و سه دکمهٔ کنترلی است. دستگیرههای لبهٔ پایینی پنجره به سه بخش تقسیم شدهاند: دو بخش گوشهای دستگیرههای تغییر اندازه هستند و بخش مرکزی دستگیره جابهجایی پنجره است. دستگیرهٔ مرکزی پایین و نوار عنوان به تعدادی از کلیکهای موشواره و ترکیبهای کلید + کلیک موشواره پاسخ میدهند. سه دکمه روی نوار عنوان از چپ به راست عبارتند از: کوچککردن (iconify)، بیشینهکردن (maximize) و بستن (close). دکمهٔ تغییر اندازه دارای رفتار ویژهای است که در ادامه شرح داده شده است.
- دکمه یک (کلیکچپ)
- کلیک و کشیدن (درگ) روی نوار عنوان برای جابهجایی یا از گوشههای پایینی برای تغییر اندازه. کلیک روی دکمهٔ کوچککردن برای انتقال پنجره به فهرست آیکونها. کلیک روی دکمهٔ بیشینهکردن برای بیشینهسازی کامل پنجره. کلیک روی دکمهٔ بستن برای بستن پنجره و برنامه. دوبار کلیک روی نوار عنوان برای لولهکردن پنجره (shade).
- Alt + دکمه یک
- کلیک در هر جای پنجرهٔ کلاینت و کشیدن برای جابهجایی پنجره.
- دکمه دو (دکمه وسط)
- کلیک روی نوار عنوان برای فرستادن پنجره به زیر بقیه پنجرهها (lower). کلیک روی دکمه بیشینهکردن برای بیشینهسازی پنجره بهصورت عمودی.
- دکمه سه (کلیکراست)
- کلیک روی نوار عنوان یا دستگیره مرکزی پایین، منوی کنترل را باز میکند. کلیک روی دکمه بیشینهکردن برای بیشینهسازی پنجره بهصورت افقی.
- Alt + دکمه سه
- کلیک در هر جای پنجرهٔ کلاینت و کشیدن برای تغییر اندازه پنجره.
- منوی کنترل شامل موارد زیر است:
- Send To ... (ارسال به ...)
-
دکمه یک (کلیکچپ) کلیک برای ارسال این پنجره به یک فضای کاری دیگر.
دکمه دو (دکمه وسط) کلیک برای ارسال این پنجره به یک فضای کاری دیگر، تغییر به آن فضای کاری و نگه داشتن فوکوس روی برنامه.
- Shade (لولهکردن / جمعکردن)
- این عمل مشابه دوبار کلیک با دکمه یک است.
- Iconify (کوچککردن / آیکونکردن)
- پنهان کردن پنجره. این پنجره از طریق منوی آیکونها قابل دسترسی است.
- Maximize (بیشینهکردن)
- تغییر وضعیت بیشینهسازی پنجره.
- Raise (بالا آوردن)
- آوردن پنجره به جلوتر از سایر پنجرهها و فوکوس روی آن.
- Lower (پایین بردن)
- فرستادن پنجره به زیر سایر پنجرهها.
- Stick (چسباندن)
- چسباندن این پنجره به صفحهٔ نمایشگر به طوری که هنگام تغییر فضاهای کاری پنهان نشود.
- Kill Client (کشتن کلاینت)
- این گزینه برنامه کلاینت را با سیگنال -SIGKILL (-9) خاتمه میدهد. فقط به عنوان آخرین راهکار از این گزینه استفاده کنید.
- Close (بستن)
- ارسال یک سیگنال بستن به برنامه کلاینت.
سبکها (STYLES)
سبکها مجموعهای از رنگها، قلمها و بافتها هستند که ظاهر بلکباکس را کنترل میکنند. این ویژگیها در فایلهای سبک (style files) ذخیره میشوند. فایلهای پیشفرض سبک سیستم در /usr/share/blackbox/styles قرار دارند. سامانهٔ منو سبک را بر اساس نام فایل آن شناسایی میکند و سبکها را میتوان بنا به سلیقهٔ کاربر در پوشههای مختلف دستهبندی کرد.
بیش از ۷۰۰ سبک برای بلکباکس موجود است. نقطهٔ توزیع رسمی سبکهای بلکباکس نشانی زیر است:
http://blackbox.themes.org
نصب تمام تمها باید بهسادگی با دانلود آنها در ~/.blackbox/ و سپس خارج کردن از حالت فشرده و باز کردن آرشیو tar انجام شود.
در یونیکسهای آزاد این دستور به شکل زیر خواهد بود:
tar zxvf stylename.tar.gz
در یونیکسهای تجاری به شکل زیر خواهد بود:
gunzip stylename.tar.gz && tar xvf stylename.tar
برای اطلاعات دقیقتر راهنماهای سیستم خود را بررسی کنید یا با مدیر شبکه خود مشورت نمایید.
یک مدخل باید بلافاصله در منوی سبکها ظاهر شود.
هشدار امنیتی فایلهای سبک میتوانند اسکریپتهای شل و سایر برنامههای اجرایی را اجرا کنند. هوشمندانه است که دستور rootCommand را در فایل سبک بررسی کنید و مطمئن شوید که بیخطر و امن است.
- اشکالاتی که ممکن است رخ دهند:
- ۱. تم مربوط به نسخههای قبل از Blackbox 0.51 است.
- نحو نگارش فایل سبک از نسخهٔ 0.51 تغییر کرده است.
- ۲. فایل فشردهٔ سبک (tarball) قالببندی نادرستی داشته است.
- برخی
سبکها از
پوشههای
~/.blackbox/Backgrounds و ~/.blackbox/Styles
استفاده
میکنند.
این مشکل را میتوان با افزودن مدخل [stylemenu] (~/.blackbox/Styles) به فایل منوی خود برطرف کرد. برای رعایت دقیقتر استانداردها، فایل سبک را با مسیرهای صحیح ویرایش کرده و فایلها را به پوشههای درست منتقل کنید.
- ۳. خط rootCommand دارای اشکال است.
- خط rootCommand در فایل سبک، یک برنامه اجرایی دلخواه را اجرا میکند. مهم است که این فایل اجرایی روی bsetbg تنظیم شود تا قابلیت حمل و سازگاری میان سیستمهایی با نرمافزارهای گرافیکی مختلف حفظ گردد. علاوه بر این، bsetbg میتواند اسکریپت شل را نیز به شیوهای سازگار و قابل حمل اجرا کند.
- روش مستندشده برای ایجاد سبکها به شرح زیر است:
- ۱. تصویر پسزمینه را برای سبک بسازید یا تهیه کنید، در صورتی که قرار نیست از
- bsetroot برای
ترسیم یک
پسزمینه
الگودار
برای پنجره
ریشه
استفاده
شود.
نکته: بلکباکس روی طیف وسیعی از سیستمها اجرا میشود؛ از رایانههای شخصی با نمایشگرهای 640x480 و ۲۵۶ رنگ گرفته تا ایستگاههای کاری فوق سریع با نمایشگرهای ۲۵ اینچ و وضوح تصویر بسیار بالا. برای بهترین نتیجه، گرافیک سبک باید حداقل ۱۰۲۴ در ۷۶۸ پیکسل باشد.
- ۲. یک فایل سبک ایجاد کنید.
- بهترین روش
برای این
کار، کپی
کردن از یک
سبک مشابه و
سپس ویرایش
آن است.
فایل سبک فهرستی از منابع X و سایر متغیرهای خارجی است. دستکاری این متغیرها به کاربران اجازه میدهد ظاهر بلکباکس را کاملاً تغییر دهند. کاربر همچنین میتواند با استفاده از برنامه کمکی bsetbg تصویر پنجره ریشه را تغییر دهد.
برنامه bsetbg میداند چگونه از برنامههای مختلف برای تنظیم تصویر پنجره ریشه استفاده کند. این امر سبکها را بسیار قابلحملتر میکند، زیرا پلتفرمهای گوناگون نرمافزارهای گرافیکی متفاوتی دارند. برای اطلاعات بیشتر به bsetbg (1) مراجعه کنید.
- ۳. تصاویر پسزمینه باید در پوشهٔ
- ~/.blackbox/backgrounds قرار
گیرند. فایل
سبک باید در
~/.blackbox/styles قرار
گیرد.
هرگونه
اطلاعات
دیگر
درباره سبک
باید در
~/.blackbox/about/STYLE_NAME/ قرار
داده شود.
این موارد
شامل
فایلهای
README، مجوزها و
غیره خواهد
بود.
نسخههای قبلی بلکباکس پسزمینهها و سبکها را در پوشههای متفاوتی قرار میدادند. پوشههای ذکر شده در بالا تنها پوشههایی هستند که رسماً پشتیبانی میشوند. با این حال میتوانید آنها را در هر کجا که مایلید قرار دهید، به شرطی که فایل منوی خود را بهروزرسانی کنید تا بداند سبکهای شما را کجا بیابد.
- ۴. برای ایجاد یک تجربه یکپارچه و تضمین سازگاری میان همه سیستمها، مهم است که از قالب زیر برای ایجاد آرشیو سبک خود استفاده کنید.
-
ابتدا یک دایرکتوری جدید به نام سبک خود ایجاد کنید: NEW_STYLE
در این دایرکتوری، پوشههای زیر را بسازید:
backgrounds styles about/NEW_STYLE
سپس تمام محتویات تم را در این مکانها قرار دهید. در نهایت دستور زیر را تایپ کنید:tar cvzf NEW_STYLE.tar.gz *
اگر از یونیکس تجاری استفاده میکنید ممکن است نیاز باشد gzip و tar را جداگانه استفاده کنید.
اکنون وقتی کاربری یک فایل سبک جدید دانلود میکند، میداند که تنها کاری که باید انجام دهد این است که فایل فشرده را در دایرکتوری Blackbox خود قرار دهد، آن را از حالت فشرده خارج کند و سپس در منوی سبکها روی آن کلیک نماید.
نحو و جزئیات فایل سبک (STYLE FILE SYNTAX AND DETAILS)
سادهترین روش برای ایجاد یک سبک جدید، استفاده از bbconf است. ابزار bbconf امکان کنترل کامل بر هر جنبهای از فایلهای سبک را فراهم میکند و همزمان با اعمال تغییرات، پیشنمایش بلادرنگ از سبک فعلی ارائه میدهد.
قالب فایل سبک در حال حاضر در یک صفحه راهنما مستند نشده است. یک سند readme همراه با سورسکد بلکباکس وجود دارد که حاوی این اطلاعات است.
فایل منو (MENU FILE)
فایل منوی پیشفرض در مسیر /usr/share/blackbox/menu نصب شده است. این منو را میتوان به عنوان منوی پیشفرض کل سیستم سفارشیسازی کرد، یا اینکه کاربر میتواند یک منوی شخصی بسازد.
برای ایجاد یک منوی شخصی، منوی پیشفرض را در فایلی درون دایرکتوری خانگی خود کپی کنید. سپس فایل ~/.blackboxrc را باز کرده و متغیر منبع زیر را اضافه یا ویرایش کنید: session.menuFile: ~/.blackbox/menu
سپس، فایل منوی جدید را ویرایش کنید. این کار میتواند در طول نشست بلکباکس انجام شود و هر زمان که کد برنامه تغییرات فایل را بررسی کند، منو بهطور خودکار بهروزرسانی خواهد شد.
منوی پیشفرض ارائهشده به همراه بلکباکس شامل کامنتها و توضیحات متعددی است که کاربرد تمام دستورات منو را شرح میدهند. دستورات منو از این ساختار کلی پیروی میکنند:
[command] (label|filename) {shell command|filename}
- دستورات منوی بلکباکس:
- # string...
- علامت هش (یا شارپ یا پوند) بهعنوان نویسهٔ شروع کامنت استفاده میشود. میتوان از آن برای کامنتگذاری یک خط کامل یا در انتهای خط پس از یک دستور معتبر استفاده کرد.
- [begin] (string)
- این برچسب تنها یک بار در ابتدای فایل منو استفاده میشود. پارامتر "string" نام یا توضیحی است که در بالای منو نمایش داده میشود.
- [end]
- این برچسب در انتهای فایل منو و در انتهای هر بلوک زیرمنو (submenu) استفاده میشود.
- [exec] (label string) {command string}
- این یک برچسب بسیار انعطافپذیر است که به کاربر اجازه میدهد یک دستور دلخواه شل شامل اسکریپتهای شل را اجرا کند. اگر دستوری برای تایپ دستی در خط فرمان بسیار طولانی است، بهتر است آن را در یک اسکریپت شل قرار دهید.
- [nop] (label string)
- این برچسب برای قرار دادن یک خط جداکننده در منو استفاده میشود. عبارت label string یک توضیح اختیاری است.
- [submenu] (submenu name) {title string}
- یک زیرمنو با نام submenu name ایجاد میکند و در صورت ارائه، رشتهٔ title string عنوان خود منوی پاپآپ خواهد بود.
- [include] (filename)
- این دستور محتوای filename را در همان نقطهای که فراخوانی شده در فایل منو درج میکند. فایل filename نباید شامل یک جفت begin/end باشد. این قابلیت میتواند برای درج منوی سیستم یا افزودن بخشی از منو که توسط برنامهای دیگر بهروزرسانی میشود استفاده شود.
- [stylesdir] (description) (path)
- باعث میشود بلکباکس مسیر path را برای یافتن فایلهای سبک جستجو کند. بلکباکس سبکها را در منو با نام فایل آنها طبق گزارش سیستمعامل فهرست میکند.
- [stylesmenu] (description) {path}
- این دستور یک زیرمنو با نام description شامل محتویات مسیر path ایجاد میکند. با ساخت یک زیرمنو و سپس پر کردن آن با ورودیهای stylesmenu، کاربر میتواند یک کتابخانه سازمانیافته از سبکها ایجاد کند.
- [workspaces] (description)
- پیوندی را در منوی اصلی به منوی فضاهای کاری درج میکند. در صورت استفاده، description یک توضیح اختیاری است.
- [config] (label)
- این دستور باعث میشود بلکباکس منویی را درج کند که به کاربر امکان کنترل مدلهای فوکوس، دیترینگ (dithering) و سایر تنظیمات برگزیده سیستم را میدهد.
- [reconfig] (label) {shell command}
- دستور reconfig باعث میشود بلکباکس فایلهای پیکربندی خود را دوباره بخواند. این شامل فایل ~/.blackboxrc نمیشود، زیرا این فایل تنها زمانی که بلکباکس مجدداً راهاندازی (restart) شود دوباره خوانده خواهد شد. اگر shell command مشخص شده باشد، بلکباکس این دستور یا اسکریپت شل را قبل از بازخوانی فایلها اجرا خواهد کرد. این ویژگی میتواند برای جابهجایی میان چندین پیکربندی استفاده شود.
- [restart] (label) {shell command}
- این دستور در واقع یک دستور خروج است که بهطور پیشفرض بلکباکس را مجدداً راهاندازی میکند. در صورت مشخص شدن، shell command بهجای بلکباکس اجرا میشود. از این قابلیت میتوان برای تغییر نسخهٔ بلکباکس استفاده کرد. همچنین (هرچند شاید هرگز نخواهید چنین کاری کنید) میتوان از آن برای اجرای یک مدیر پنجرهٔ دیگر استفاده نمود.
- [exit] (label)
- خروج و بستن
بلکباکس.
اگر
بلکباکس
آخرین
دستور در
فایل ~/.xinitrc
شما باشد،
این عمل
سامانهٔ X
را نیز
خاموش و
متوقف
میکند.
در اینجا یک نمونه فایل منوی کاربردی آورده شده است: [begin] (MenuName) [exec] (xterm) {xterm -ls -bg black -fg green} [submenu] (X utilities) [exec] (xcalc) {xcalc} [end] [submenu] (styles) [stylesmenu] (built-in styles) {/usr/share/blackbox/styles} [stylesmenu] (custom styles) {~/.blackbox/styles} [end] [workspaces] (workspace list) [config] (configure) [reconfig] (config play desktop) {play-config-blackbox} [reconfig] (config work desktop) {work-config-blackbox} [restart] (start Blackbox beta 7) {blackbox-beta7} [restart] (start Blackbox cvs) {blackbox-cvs} [restart] (restart) [exit] (exit) [end]
فایل منابع (RESOURCE FILE)
$HOME/.blackboxrc این گزینهها در فایل ~/.blackboxrc ذخیره میشوند. آنها ویژگیهای گوناگون بلکباکس را کنترل میکنند و بیشتر آنها را میتوان از طریق منوها تنظیم کرد. برخی از این گزینهها را فقط میتوان با ویرایش مستقیم .blackboxrc تنظیم نمود.
نکته: بلکباکس این فایل را فقط در هنگام شروع به کار میخواند. برای اعمال تغییرات در طول یک نشست بلکباکس، کاربر باید گزینهٔ "restart" را در منوی اصلی انتخاب کند. اگر چنین نکنید، تغییرات شما هنگام خروج بلکباکس از بین خواهد رفت.
نام برخی منابع پس از عبارت screen دارای <num> است. این مقدار باید با شمارهٔ صفحهنمایشی (screen) که در حال پیکربندی آن هستید جایگزین شود. مقدار پیشفرض 0 (صفر) است.
- قابل تنظیم از طریق منو (منوی اسلیت):
- کلیکراست (دکمه ۳) روی کادر حاشیهٔ اسلیت.
- session.screen<num>.slit.placement به شرح زیر مراجعه کنید
- موقعیت
قرارگیری
اسلیت را
تعیین
میکند.
برخی
ترکیبهای
slit.placement با slit.direction
چندان
کاربردی
نیستند؛
مثلاً TopCenter با
جهت عمودی
(Vertical) اسلیت را
درست وسط
صفحهٔ
نمایش شما
قرار
میدهد.
البته شاید
برخی تصور
کنند این
حالت جالب
یا متفاوت
است...
پیشفرض CenterLeft است. [ TopLeft | TopCenter | TopRight | CenterLeft | | CenterRight | BottomLeft | BottomCenter | BottomRight ]
- session.screen<num>.slit.direction [Horizontal|Vertical]
- جهت
قرارگیری
اسلیت را
تعیین
میکند.
پیشفرض Vertical است.
- session.screen<num>.slit.onTop [True|False]
- تعیین
میکند که
آیا اسلیت
همیشه روی
پنجرهها
قابل
مشاهده
باشد یا
اینکه
پنجرهٔ
دارای
فوکوس
میتواند
اسلیت را
بپوشاند.
پیشفرض True است.
- session.screen<num>.slit.autoHide [True|False]
- تعیین
میکند که
آیا اسلیت
در صورت عدم
استفاده
پنهان شود
یا خیر.
مقدار
زمانی session.autoRaiseDelay
مشخص
میکند چه
مدت باید
موشواره را
روی آن نگه
دارید تا
اسلیت بالا
بیاید و چه
مدت پس از
خروج
موشواره
نمایان
بماند.
پیشفرض False است.
- قابل تنظیم از طریق منو (منوی اصلی):
- session.screen<num>.focusModel به شرح زیر مراجعه کنید
- فوکوس
اسلاپی (Sloppy focus /
فوکوس با
موشواره)
رفتار سنتی
پنجرههای X
است و
میتواند
با AutoRaise یا Click-Raise
اصلاح شود.
گزینهٔ AutoRaise باعث میشود پنجره پس از گذشت session.autoRaiseDelay میلیثانیه بهطور خودکار بالا بیاید.
گزینهٔ ClickRaise باعث میشود در صورت کلیک در هر کجای ناحیهٔ کلاینت پنجره، پنجره بالا بیاید.
حالت Sloppy focus به تنهایی نیاز به کلیک روی نوار عنوان، حاشیه یا دستگیره پایینی برای بالا آوردن پنجره دارد.
حالت ClickToFocus نیاز به کلیک روی تزیینات بلکباکس یا در ناحیهٔ کلاینت برای فوکوس و بالا آوردن پنجره دارد. ClickToFocus با AutoRaise یا ClickRaise اصلاحپذیر نیست.
پیشفرض SloppyFocus است. [SloppyFocus [[AutoRaise & ClickRaise] | [AutoRaise | ClickRaise]] | ClickToFocus] - session.screen<num>.windowPlacement به شرح زیر مراجعه کنید
- حالت RowSmartPlacement
تلاش
میکند با
ایجاد
ردیفها،
پنجرههای
جدید را در
فضای خالی
جای دهد.
جهت
قرارگیری
به session.screen<num>.rowPlacementDirection
بستگی دارد.
حالت ColSmartPlacement تلاش میکند با ایجاد ستونها، پنجرههای جدید را در فضای خالی جای دهد. جهت قرارگیری به session.screen<num>.colPlacementDirection بستگی دارد.
حالت CascadePlacement پنجرهٔ جدید را در سمت راست و پایینِ پنجرهای که اخیراً ایجاد شده قرار میدهد.
پیشفرض RowSmartPlacement است. [RowSmartPlacement | ColSmartPlacement | CascadePlacement]
- session.screen<num>.rowPlacementDirection [LeftToRight|RightToLeft]
- جهت
جایگذاری
را برای
پنجرههای
جدید تعیین
میکند.
پیشفرض LeftToRight است.
- session.screen<num>.colPlacementDirection [TopToBottom|BottomToTop]
- جهت
جایگذاری
را برای
پنجرههای
جدید تعیین
میکند.
پیشفرض TopToBottom است.
- session.imageDither [True|False]
- این تنظیم
فقط هنگام
اجرا در
حالتهای
با رنگ
محدود (low color modes)
استفاده
میشود.
دیترینگ
تصویر (Image Dithering)
کمک میکند
تا تصویر
حتی در
صورتی که
رنگهای
کافی در
سیستم در
دسترس
نباشد،
بهدرستی
نمایش داده
شود.
پیشفرض False است.
- session.opaqueMove [True|False]
- تعیین
میکند که
آیا
محتویات
پنجره
هنگام
جابهجایی
رسم شوند یا
خیر. هنگامی
که False باشد،
رفتار
سیستم رسم
یک کادر
مستطیلی
نمایانگر
پنجره است.
پیشفرض False است.
- session.screen<num>.fullMaximization [True|False]
- تعیین
میکند که
آیا دکمهٔ
بیشینهسازی
باعث
میشود
برنامه روی
اسلیت و
نوار ابزار
را نیز
بپوشاند و
بیشینه شود
یا خیر.
پیشفرض False است.
- session.screen<num>.focusNewWindows [True|False]
- تعیین
میکند که
آیا
پنجرههای
تازهساختهشده
پس از
نخستین
ترسیم،
فوکوس را
دریافت
کنند یا
خیر.
پیشفرض False است.
- session.screen<num>.focusLastWindow [True|False]
- این گزینه
در واقع
بیانگر این
است که:
«هنگام
جابهجایی
میان
فضاهای
کاری، به
خاطر بسپار
کدام پنجره
هنگام ترک
فضای کاری
فوکوس
داشته است و
با بازگشت
به آن فضای
کاری،
فوکوس را به
آن پنجره
برگردان.»
پیشفرض False است.
- session.screen<num>.disableBindingsWithScrollLock [True|False]
- هنگامی که
این منبع
فعال باشد،
روشن کردن
کلید Scroll Lock
مانع از
تصاحب
کلیدهای Alt و Ctrl
توسط
بلکباکس
میشود که
معمولاً
برای
کنترلهای
موشواره
استفاده
میکند. این
ویژگی به
کاربران
برنامههای
طراحی و
مدلسازی
که از
کلیدها
برای تغییر
عملکردهای
موشواره
استفاده
میکنند
اجازه
میدهد
بدون تداخل
به کار خود
ادامه دهند.
*نکته* این
تنظیم _هیچ_
تاثیری روی
bbkeys ندارد. اگر
نیاز دارید
bbkeys نیز به
همین شکل
رفتار کند،
گزینهٔ
مشابهی در
فایل
کانفیگ آن
وجود دارد.
برای
جزئیات به
صفحه
راهنمای bbkeys
مراجعه
کنید.
پیشفرض False است.
- قابل تنظیم از طریق منو (منوی فضای کاری):
- کلیکوسط (دکمه ۲) روی پنجره ریشه (یا همان میزکار) برای دسترسی به این منو.
- session.screen<num>.workspaces [عدد صحیح]
- فضاهای
کاری را
میتوان با
کلیکوسط
روی میزکار
و انتخاب "New
Workspace" یا "Remove Last"
ایجاد یا
حذف کرد. پس
از ایجاد
فضای کاری،
روی نوار
ابزار
کلیکراست
کنید تا آن
را
نامگذاری
نمایید.
پیشفرض 1 است.
- قابل تنظیم از طریق منو (منوی نوار ابزار):
- session.screen<num>.workspaceNames [string[, string...]]
- فضاهای
کاری به
ترتیبی که
در این منبع
مشخص شده
نامگذاری
میشوند.
نامها
باید با
کاما جدا
شوند. اگر
تعداد
فضاهای
کاری بیشتر
از نامهای
صریح باشد،
فضاهای
کاریِ بدون
نام
بهصورت "Workspace
[شماره]"
نامگذاری
خواهند شد.
پیشفرض Workspace 1 است.
- session.screen<num>.toolbar.placement به شرح زیر مراجعه کنید
- تنظیم
موقعیت
قرارگیری
نوار ابزار
روی صفحه
نمایش.
پیشفرض BottomCenter است. [ TopLeft | TopCenter | TopRight | BottomLeft | BottomCenter | BottomRight ]
- session.screen<num>.toolbar.onTop [True|False]
- تعیین
میکند که
آیا نوار
ابزار
همیشه روی
پنجرهها
قابل
مشاهده
باشد یا
اینکه
پنجرهٔ
دارای
فوکوس
میتواند
نوار ابزار
را بپوشاند.
پیشفرض True است.
- session.screen<num>.toolbar.autoHide [True|False]
- تعیین
میکند که
آیا نوار
ابزار در
صورت عدم
استفاده
پنهان شود
یا خیر.
مقدار
زمانی session.autoRaiseDelay
مشخص
میکند چه
مدت باید
موشواره را
روی آن نگه
دارید تا
نوار ابزار
بالا بیاید
و چه مدت پس
از خروج
موشواره
نمایان
بماند.
پیشفرض False است.
- تنها در ~/.blackboxrc قابل تنظیم است:
- session.screen<num>.toolbar.widthPercent [1-100]
- درصد پهنای
صفحه نمایش
مورد
استفاده
توسط نوار
ابزار. عددی
بین ۱ تا
۱۰۰ که عرض
نوار ابزار
را تنظیم
میکند.
مقدار ۰
(صفر) باعث
ناپدید شدن
نوار ابزار
نمیشود،
بلکه آن را
روی مقدار
پیشفرض
قرار
میدهد. اگر
میخواهید
نوار ابزار
را کاملاً
حذف کنید،
وصلههایی
(patch) وجود دارد
که
میتوانند
آن را حذف
کنند.
پیشفرض 66 است.
- session.screen<num>.strftimeFormat [رشته]
- یک رشته
قالب تاریخ
و زمان به
زبان C؛ هر
ترکیبی از
مشخصهها
را میتوان
استفاده
کرد. مقدار
پیشفرض %I:%M %p
است که یک
ساعت ۱۲
ساعته با
دقایق و
نشانگر am/pm
متناسب با
موقعیت
محلی (locale)
تولید
میکند.
۲۴ ساعت و دقیقه %H:%M ۱۲ ساعت و دقیقه %I:%M %p ماه/روز/سال %m/%d/%y روز/ماه/سال %d/%m/%y
پیشفرض ساعت:دقیقه am/pm است. برای جزئیات بیشتر به strftime 3 مراجعه کنید.
- session.screen<num>.dateFormat [American|European]
- نکته: فقط
در صورتی
استفاده
میشود که
تابع strftime() در
سیستم شما
در دسترس
نباشد.
پیشفرض American (ماه/روز/سال) است.
- session.screen<num>.clockFormat [12/24]
- نکته: فقط
در صورتی
استفاده
میشود که
تابع strftime() در
سیستم شما
در دسترس
نباشد.
0 پیشفرض قالب ۱۲ ساعته است.
- session.screen<num>.edgeSnapThreshold [عدد صحیح]
- هنگامی که
روی ۰ تنظیم
شود،
چسبندگی
لبهها (edge snap)
خاموش
میشود.
هنگامی که
روی ۱ یا
بیشتر
تنظیم شود،
چسبندگی
لبهها
باعث
میشود
پنجرهای
که در حال
جابهجایی
است به
نزدیکترین
لبهٔ صفحه
نمایش،
اسلیت یا
نوار ابزار
بچسبد.
پنجرهها
به یکدیگر
نمیچسبند.
این مقدار
نشاندهندهٔ
فاصلهای
بر حسب
پیکسل میان
پنجره و
لبهٔ صفحه
نمایش است
که قبل از
چسبیدن
پنجره به
لبه لازم
است. اگر به
این قابلیت
علاقهمندید،
مقادیر بین
۶ تا ۱۰
عملکرد
مناسبی
دارند.
مقدار پیشفرض 0 است.
- مسیر کامل
به فایل
منوی فعلی.
پیشفرض /usr/share/blackbox/menu است.
- session.colorsPerChannel [2-6]
- تعداد
رنگهای
گرفتهشده
از کارگزار
X برای
استفاده در
نمایشگرهای
رنگ کاذب (pseudo color).
این مقدار
برای
نمایشگرهای
۸ بیتی باید
روی ۴ تنظیم
شود.
پیشفرض 4 است.
- session.doubleClickInterval [عدد صحیح]
- حداکثر
زمانی بر
حسب
میلیثانیه
که
بلکباکس
پس از یک
کلیک منتظر
میماند تا
دوبار کلیک
را تشخیص
دهد. این
مورد فقط
برای
کنشهای
بلکباکس
(مانند
لولهکردن
پنجره با
دوبار کلیک)
اعمال
میشود و به
کارگزار X
به طور کلی
مربوط
نمیشود.
پیشفرض 250 میلیثانیه است.
- session.autoRaiseDelay [عدد صحیح]
- مدت زمان بر
حسب
میلیثانیه
که برای
رفتارهای
بالا آمدن
خودکار و
پنهانسازی
خودکار
استفاده
میشود.
مقادیر بیش
از حدود
۱۰۰۰
میلیثانیه
عملاً
بیفایده
خواهد بود.
پیشفرض 250 میلیثانیه است.
- session.cacheLife [عدد صحیح]
- حداکثر
تعداد
دقیقههایی
را تعیین
میکند که
کارگزار X
تزیینات و
جلوههای
بلااستفاده
را کش
(حافظهٔ
موقت)
میکند.
پیشفرض 5 دقیقه است.
- session.cacheMax [عدد صحیح]
- تعیین
میکند
بلکباکس
چه مقدار
کیلوبایت
میتواند
از کارگزار
X برای
ذخیرهٔ
تزیینات
حافظه
اختصاص دهد.
افزایش این
عدد در
صورتی که
حافظهٔ رم
کافی دارید
و از
پنجرههای
گوناگون
زیادی
استفاده
میکنید،
ممکن است
کارایی را
بهبود بخشد.
پیشفرض 200 کیلوبایت است.
محیط (ENVIRONMENT)
فایلها (FILES)
- blackbox
- فایل باینری برنامه
- ~/.blackboxrc
- فایل راهاندازی و منابع کاربر
- /usr/share/blackbox/menu
- فایل منوی پیشفرض کل سیستم
وبسایتها (WEB SITES)
- وبسایت اطلاعات عمومی:
- http://blackboxwm.sourceforge.net
- وبسایت توسعه:
- http://sourceforge.net/projects/blackboxwm
گزارش باگها (BUGS)
اگر فکر میکنید اشکالی (باگ) پیدا کردهاید، لطفاً با مراجعه به وبسایت توسعه و انتخاب گزینهٔ "Bugs" در منوی بالایی به ما کمک کنید. فهرست باگها را بررسی نمایید تا ببینید آیا مشکل شما قبلاً گزارش شده است یا خیر. اگر گزارش شده، لطفاً خلاصه را بخوانید و هر اطلاعاتی که فکر میکنید کمککننده است اضافه کنید. اگر باگ شما هنوز ارسال نشده، گزینهٔ "Submit New" را انتخاب کرده و فرم را پر کنید.
نویسندگان و تاریخچه (AUTHORS AND HISTORY)
Sean Shaleh Perry <shaleh@debian.org> نگهدارندهٔ فعلی است و بهطور فعال با براد همکاری میکند تا بلکباکس را بهروز و بسیار پایدار نگه دارد.
Brad Hughes <bhughes@trolltech.com> در ابتدا بلکباکس را در سال ۱۹۹۷ با هدف ایجاد یک مدیر پنجره با مصرف بهینهٔ حافظه و بدون وابستگی به کتابخانههای خارجی طراحی و برنامهنویسی کرد. ایدهٔ اولیهٔ براد به جایگزینی محبوب برای سایر مدیرهای پنجره تبدیل شده است.
Jeff Raven <jraven@psu.edu> سپس پس از آنکه براد شغلی تمام وقت در TrollTech گرفت، مسئولیت سری 0.61.x را بر عهده گرفت.
این صفحه راهنما توسط: R.B. Brig Young <secretsaregood@yahoo.com> نوشته شده است و او تنها مسئول خطاها یا حذفیات است. نظرات، اصلاحات و پیشنهادات مورد استقبال قرار میگیرد.
همچنین ببینید (SEE ALSO)
bsetbg(1), bsetroot(1), bbkeys(1), bbconf(1)
| September 18, 2002 | 0.65.0 |