FLUXBOX-APPS(5) Fluxbox Manual FLUXBOX-APPS(5) نام (NAME) fluxbox-apps - پیکربندی مشخصه‌های هر پنجره برای fluxbox(1) خلاصه دستور (SYNOPSIS) ~/.fluxbox/apps نحو (SYNTAX) پارامترهای متغیر به صورت تأکیدی نشان داده شده‌اند: argument تمام نویسه‌های دیگر نشان‌داده‌شده باید عیناً درج شوند. فضای خالی تنها برای جداسازی کلمات لازم است، اما افزودن فاصله‌های بیشتر بلامانع است. توضیحات (DESCRIPTION) می‌توان یک برنامه را مجبور کرد که هنگام اجرای اولیه همیشه ابعاد، موقعیت و سایر تنظیمات یکسانی داشته باشد. این تنظیمات در فایل ‘apps’ ذخیره می‌شوند. بیشتر تنظیمات ساده را می‌توان با استفاده از زیرمنوی “Remember...” در منوی پنجره (که معمولاً با راست‌کلیک روی نوار عنوان باز می‌شود) ذخیره کرد. قابلیت‌های پیشرفته‌تر نیازمند ویرایش دستی فایل ‘apps’ هستند. این موارد می‌تواند شامل استفاده از بخش‌های گروه (GROUP SECTIONS) برای راه‌اندازی گروه‌های زبانه‌ای خودکار پنجره‌ها باشد. پس از ویرایش فایل apps نیازی به بارگذاری مجدد (“reload”) در fluxbox ندارید؛ تغییرات هنگام باز شدن پنجرهٔ بعدی مجدداً بررسی خواهند شد. این فایل از دو نوع بخش اصلی تشکیل شده است: برنامه‌ها (apps) و گروه‌ها (groups)، که جزئیات آن‌ها در ادامه آمده است. بخش‌های برنامه (APP SECTIONS) بخش‌های [app] تنظیماتی را برای پنجره‌های مجزای برنامه‌ها فراهم می‌کنند. این بخش‌ها با خطی در قالب زیر آغاز می‌شوند: [app](pattern){count} مؤلفهٔ pattern می‌تواند یک یا چند الگو باشد که با پنجره‌ها مطابقت داده می‌شوند. برای جزئیات بیشتر، الگوهای کلاینت (CLIENT PATTERNS) را ببینید. اگر بیش از یک pattern تعیین کنید، برای اعمال تنظیمات باید همگی مطابقت داشته باشند. مقدار {count} اختیاری است. اگر تعیین شود، این مدخل در هر لحظه حداکثر با همان تعداد پنجره مطابقت داده می‌شود. در صورت حذف، پیش‌فرض اعمال تنظیمات روی همهٔ پنجره‌های منطبق است. پس از این خطِ آغازینِ [apps]، می‌توان هر تعداد تنظیمی را برای برنامه مشخص کرد. برای جزئیات بیشتر تنظیمات (SETTINGS) را ببینید. هر یک از این بخش‌ها با تک‌خط زیر به پایان می‌رسد: [end] بخش‌های گذرا (TRANSIENT SECTIONS) بخش‌های [transient] تنظیماتی را برای «کادرهای محاوره» (dialogs) فراهم می‌کنند. این بخش مشابه بخش [app] است، اما برای پنجره‌های گذرا (transient) اعمال می‌شود. پنجره‌های گذرا دارای مشخصهٔ WM_TRANSIENT_FOR هستند. این مورد برای همهٔ پنجره‌های مودال و چندین محاورهٔ دیگر که دارای یک پنجرهٔ والد هستند و در بالای آن می‌مانند اعمال می‌شود. به ویژه، کادرهای محاوره‌ای باز کردن/ذخیره کردن (open/save) در این دسته قرار می‌گیرند. بخش‌های گروه (GROUP SECTIONS) هدف اصلی بخش‌های [group] گروه‌بندی پنجره‌ها با یکدیگر است. تمام پنجره‌های موجود در یک گروه به طور خودکار به صورت زبانه (تب) در کنار هم قرار می‌گیرند. این بخش‌ها با خطی در قالب زیر آغاز می‌شوند: [group](pattern) که در آن مؤلفهٔ pattern اختیاری است. در صورت تعیین، این الگو باید مطابقت داشته باشد تا گروه اعمال شود. معمولاً در اینجا از الگوهای غیرمختص پنجره مانند (workspace) استفاده می‌شود. برای جزئیات بیشتر الگوهای کلاینت (CLIENT PATTERNS) را ببینید. در ادامه هر تعداد خطِ [app] قرار می‌گیرد. این خطوط قالبی مشابه بخش [app] دارند که در بالا در بخش‌های برنامه (APP SECTIONS) توضیح داده شد، اما حاوی هیچ تنظیمی نیستند و خط [end] مربوطه را نیز ندارند. مانند این: [app](pattern) این بخش همچنین می‌تواند شامل تنظیماتی باشد که روی تک‌تک پنجره‌های گروه اعمال می‌شوند. برای جزئیات، بخش تنظیمات (SETTINGS) را ببینید. مانند بخش‌های [app]، هر یک از این بخش‌ها با تک‌خط زیر به پایان می‌رسد: [end] تنظیمات (SETTINGS) این تنظیمات ممکن است در فایل ‘apps’ ذخیره شوند. خط تنظیمات باید درون یک بخش [app] یا [group] قرار گیرد. قالب کلی به این صورت است: [setting]{value} تمامی مقادیر مجاز در زیر شرح داده شده‌اند، به جز bool که می‌تواند مقادیر yes یا no را داشته باشد که به ترتیب تنظیم مربوطه را فعال یا غیرفعال می‌کند. [Workspace] {number} برنامه را مجبور می‌کند روی فضای کاری شمارهٔ number مشخص‌شده باز شود. فضاهای کاری بر اساس شماره و با شروع از 0 تنظیم می‌شوند. [Jump] {bool} هنگام باز شدن برنامه، فضای کاری فعال را به فضای کاری به‌خاطرسپرده‌شده تغییر می‌دهد. این گزینه تنها زمانی کاربرد دارد که به همراه [Workspace] استفاده شود. مثال‌ها (EXAMPLES) را ببینید. [Head] {number} برنامه را مجبور می‌کند روی نمایشگر (head) شمارهٔ number مشخص‌شده باز شود (فقط در Xinerama). [Layer] {number} لایه‌ای را که پنجره باید در آن باز شود (با شماره) مشخص می‌کند. هر لایه یک شماره دارد. لایه‌های نام‌گذاری‌شده عبارتند از: 2-AboveDock، 4-Dock، 6-Top، 8-Normal، 10-Bottom، 12-Desktop. [Dimensions] {width[%] height[%]} برنامه را با width (عرض) و height (ارتفاع) مشخص‌شده بر حسب پیکسل باز می‌کند. اگر مقدار به صورت درصد داده شود، اندازهٔ پنجره بر اساس اندازهٔ صفحهٔ نمایش فعلی محاسبه خواهد شد. [IgnoreSizeHints] {bool} برخی از برنامه‌ها نسبت تصویر، یا حداقل و حداکثر اندازهٔ پنجره‌ها را محدود می‌کنند. تنظیم این کلید روی "yes" باعث می‌شود fluxbox از این محدودیت‌ها صرف‌نظر کند. توجه داشته باشید که پیاده‌سازی‌های نادرست کلاینت ممکن است وابستگی شدیدی به این محدودیت‌ها داشته باشند (مثلاً با استفادهٔ کورکورانه از هندسهٔ خود در محاسبات ناامن، باعث خطاهای تقسیم بر صفر، segfault و غیره شوند). [Position] (anchor) {X[%] Y[%]} پنجرهٔ برنامه را در یک نقطهٔ خاص قرار می‌دهد. به طور پیش‌فرض، گوشهٔ بالا-چپ در مختصات صفحه (X,Y) قرار می‌گیرد. اگر یک anchor تعیین کنید، مثلاً BottomRight، گوشهٔ پایین-راست پنجره در فاصلهٔ (X,Y) پیکسلی از گوشهٔ پایین-راست صفحه قرار می‌گیرد. اگر مقدار به صورت درصد داده شود، مختصات بر اساس اندازهٔ صفحهٔ فعلی محاسبه خواهد شد. مقدار anchor می‌تواند یکی از موارد زیر باشد: TopLeft Left BottomLeft Top Center Bottom TopRight Right BottomRight [Deco] {value} وضعیت تزیینات (decorations) را مشخص می‌کند. چندین مجموعه value از پیش تعریف‌شده وجود دارد: NORMAL تزیینات استاندارد NONE بدون تزیینات BORDER مانند NONE به جز اینکه حاشیه پنجرهٔ X حفظ می‌شود TAB مانند BORDER به جز اینکه زبانه‌های خارجی حفظ می‌شوند (در صورت فعال بودن) TINY نوار عنوان تنها با یک دکمهٔ کمینه‌سازی TOOL فقط نوار عنوان مقدار value همچنین می‌تواند یک ماسک بیتی (bitmask) برای کنترل دقیق‌تر باشد. بیت‌ها از (1<<0) تا (1<<10) عبارتند از: Titlebar، Handle/Grips، Border، Iconify Button، Maximize Button، Close Button، Menu Button، Sticky Button، Shade Button، External Tabs، Focus Enabled. [Shaded] {bool} آیا پنجره به صورت کرکره‌ای جمع شده (رول‌شده) باشد یا خیر. [Tab] {bool} آیا پنجره زبانه‌ها (tabs) را فعال داشته باشد یا خیر. [FocusNewWindow] {bool} منسوخ شده! لطفاً به جای آن از FocusProtection با مقادیر "Gain" یا "Refuse" استفاده کنید. در صورت فعال بودن، پنجرهٔ جدید به محض باز شدن فوکوس X را می‌گیرد. در صورت غیرفعال بودن، پنجرهٔ جدید به محض باز شدن فوکوس X را نخواهد گرفت. [FocusProtection] {value [,value [, ...]] } فهرستی از پرچم‌های کنترل فوکوس که با کاما از هم جدا شده‌اند. value می‌تواند موارد زیر باشد: None رفتار عادی Gain پنجرهٔ جدید به محض باز شدن فوکوس X را می‌گیرد. Refuse پنجرهٔ جدید به محض باز شدن فوکوس X را نمی‌گیرد. Deny پنجره مجاز نیست در زمانی که باز است فوکوس را تصاحب کند. Lock هیچ پنجره‌ای مجاز نیست فوکوس را در حالی که این پنجره آن را در اختیار دارد بگیرد. لطفاً توجه داشته باشید که از نظر فنی، پنجره‌ها ممکن است همچنان فوکوس را به دست آورند که البته بعداً توسط مدیر پنجره (WM) لغو می‌شود. در صورتی که خیلی بدشانس باشید، یک رویداد کلید ممکن است به پنجرهٔ اشتباه ارسال شود. [FocusHidden] {bool} در صورت فعال بودن، پنجره در فهرست‌های NextWindow/PrevWindow ظاهر نخواهد شد. [IconHidden] {bool} در صورت فعال بودن، پنجره در ناحیهٔ آیکون نوار ابزار ظاهر نخواهد شد. [Hidden] {bool} یک میانبر برای تنظیم همزمان هر دو مورد FocusHidden و IconHidden. [Sticky] {bool} مشخص می‌کند که آیا برنامه باید چسبان باشد (در تمام فضاهای کاری نمایش داده شود) یا خیر. [Minimized] {bool} برنامه باید به صورت کمینه‌شده (minimized) شروع به کار کند. [Maximized] {value} برنامه باید به صورت بیشینه‌شده (maximized) شروع به کار کند. مقدار value می‌تواند یکی از موارد زیر باشد: yes کاملاً بیشینه‌شده horz بیشینه‌شده به صورت افقی vert بیشینه‌شده به صورت عمودی no بیشینه‌نشده [Fullscreen] {bool} برنامه باید در حالت تمام‌صفحه (کاملاً بیشینه‌شده بدون هیچ تزییناتی) شروع به کار کند. [Close] {bool} ذخیرهٔ تنظیمات هنگام بستن. به طور پیش‌فرض، تنظیمات برنامه هنگام بسته شدن پنجره به‌روزرسانی نمی‌شوند. [Alpha] {value [value]} تنظیم مقدار آلفا (شفافیت) برای این پنجره. اگر دو مقدار داده شود، به ترتیب نشان‌دهندهٔ شفافیت در حالت فوکوس و بدون فوکوس هستند. اگر تنها یک عدد مشخص شود، برای هر دو حالت استفاده خواهد شد. value یک عدد صحیح بین 0 تا 255 است. الگوهای کلاینت (CLIENT PATTERNS) یک pattern به این شکل است: ([propertyname[!]=]regexp) ... تعاریف تطابق در پرانتزهای (...) قرار می‌گیرند، و اگر هیچ propertyname داده نشود، مقدار پیش‌فرض Name فرض می‌شود. مؤلفهٔ regexp می‌تواند شامل هر عبارت باقاعده‌ای باشد، یا مقدار ویژهٔ [current] که با مقدار متناظر پنجره‌ای که در حال حاضر دارای فوکوس است مطابقت دارد. برای اطلاعات بیشتر در مورد عبارات باقاعدهٔ قابل قبول، regex(7) را ببینید. مؤلفهٔ propertyname به حروف بزرگ و کوچک حساس نیست، در حالی که regexp حساس است. اگر چندین آرگومان (pattern) تعیین کنید، این به معنای شرط AND (و) است؛ یعنی تمام الگوهای مشخص‌شده باید مطابقت داشته باشند. می‌توانید از = برای بررسی برابری یا از != برای بررسی نابرابری استفاده کنید. مقادیر زیر برای propertyname پذیرفته می‌شوند: Name یک رشته، متناظر با مشخصهٔ CLASSNAME (فیلد اول WM_CLASS در خروجی ابزار xprop(1)). Class یک رشته، متناظر با مشخصهٔ CLASSCLASS (فیلد دوم WM_CLASS در خروجی ابزار xprop(1)). Title یک رشته، متناظر با عنوان پنجره (WM_NAME از xprop(1)). Role یک رشته، متناظر با مشخصهٔ ROLE (مقدار WM_WINDOW_ROLE از xprop(1)). Transient مقدار yes یا no، بسته به اینکه پنجره گذرا است (معمولاً یک کادر محاوره‌ای پاپ‌آپ) یا خیر. Maximized مقدار yes یا no، بسته به اینکه پنجره بیشینه‌شده است یا خیر. MaximizedHorizontal مقدار yes یا no، بسته به اینکه پنجره به صورت افقی بیشینه‌شده است یا خیر. MaximizedVertical مقدار yes یا no، بسته به اینکه پنجره به صورت عمودی بیشینه‌شده است یا خیر. Minimized مقدار yes یا no، بسته به اینکه پنجره کمینه (آیکون) شده است یا خیر. Fullscreen مقدار yes یا no، بسته به اینکه پنجره تمام‌صفحه است یا خیر. Shaded مقدار yes یا no، بسته به اینکه پنجره کرکره‌ای (جمع‌شده) است یا خیر. Stuck مقدار yes یا no، بسته به اینکه پنجره چسبان (در تمام فضاهای کاری) است یا خیر. FocusHidden مقدار yes یا no، بسته به اینکه آیا پنجره درخواست کرده است که از فهرست فوکوس (یا فهرست alt-tab) حذف شود یا خیر. IconHidden مقدار yes یا no، بسته به اینکه آیا پنجره درخواست کرده است که از فهرست آیکون‌ها (یا نوار وظیفه) حذف شود یا خیر. Urgent مقدار yes یا no، بسته به اینکه آیا پرچم فوریت (urgent hint) پنجره تنظیم شده است یا خیر. Workspace شماره‌ای متناظر با شمارهٔ فضای کاری که پنجره به آن متصل است. اولین فضای کاری در اینجا 0 است. همچنین می‌توانید از [current] برای تطابق با فضای کاری فعلیِ قابل مشاهده استفاده کنید. WorkspaceName رشته‌ای متناظر با نام فضای کاری که پنجره به آن متصل است. Head شمارهٔ نمایشگری (head) که پنجره به آن متصل است. می‌توانید این مورد را با مقدار ویژهٔ [mouse] مطابقت دهید که به نمایشگری که اشاره‌گر ماوس در حال حاضر در آن قرار دارد اشاره می‌کند. Layer نام رشته‌ای لایهٔ پنجره که یکی از موارد زیر است: AboveDock، Dock، Top، Normal، Bottom، Desktop Screen شمارهٔ صفحهٔ نمایش ( screen ) فعلی مورد استفاده. اگر راه‌اندازی سرور x در حال اجرا شامل صفحه‌های مستقل باشد (not Xinerama)، متغیر محیطی $DISPLAY شامل مقادیری مانند :0.1 یا :1.0 خواهد بود. بخش بعد از نقطه (.) شمارهٔ صفحهٔ نمایش است. @XPROP یک رشته، متناظر با هر مشخصهٔ x (برای تنظیم یک مشخصهٔ x روی یک پنجره، از ابزار xprop(1) یا دستور SetXProp استفاده کنید) تطابق با هر پنجره‌ای که دارای CLASSNAME برابر با "xterm" است. (xterm) تطابق با هر پنجره‌ای که دارای CLASSNAME یکسان با پنجرهٔ دارای فوکوس فعلی باشد. (Name=[current]) تطابق با هر پنجره‌ای که روی همان نمایشگر ماوس قرار دارد اما در لایه‌ای متفاوت از پنجرهٔ دارای فوکوس فعلی است. (Head=[mouse]) (Layer!=[current]) تطابق با هر پنجره‌ای که دارای یک مشخصهٔ x به نام FOO باشد که شامل "bar" است. (@FOO=.*bar.*) فایل‌ها (FILES) ~/.fluxbox/apps این مکان پیش‌فرض برای ذخیرهٔ تنظیمات برنامه است. منابع (RESOURCES) session.appsFile: location این مورد می‌تواند برای لغو مکان پیش‌فرض فایل تنظیمات برنامه تنظیم شود. مثال‌ها (EXAMPLES) در اینجا چند مثال جالب و/یا کاربردی آورده شده است که می‌توانید با فایل apps خود انجام دهید. # قرار دادن دو پنجره اولی که نام آن‌ها با 'term' پایان می‌یابد در فضای کاری 1 [app] (name=.*[tT]erm) {2} [Workspace] {1} [end] # در مرکز قرار دادن kate با اندازه‌ای مشخص، و به‌روزرسانی این مقادیر هنگام بسته شدن پنجره. [app] (name=kate) [Dimensions] {1022 747} [Position] (CENTER) {0 0} [Close] {yes} [end] # هنگام اجرای konqueror، ابتدا به فضای کاری 1 برود و آن را در آنجا باز کند. [app] (name=konqueror) [Workspace] {1} [Jump] {yes} [end] # اجرای تمام پنجره‌های aterm بدون تزیینات [app] (name=aterm) [Deco] {NONE} [end] # یک گروه شامل dock و toolbox مربوط به gimp # در لایه 4 (پایین) نمایش داده می‌شود [group] [app] (name=gimp) (role=gimp-dock) [app] (name=gimp) (role=gimp-toolbox) [Layer] {4} [end] نویسندگان (AUTHORS) • Jim Ramsay (>fluxbox-1.0.0) • Curt Micol (>fluxbox-0.9.11) • Tobias Klausmann (⟨fluxbox-0.9.11) • Grubert (fluxbox) • Matthew Hawkins (blackbox) • Wilbert Berendsen (blackbox) همچنین ببینید (SEE ALSO) fluxbox(1) xprop(1) regex(7) نویسنده (AUTHOR) Jim Ramsay نویسنده. fluxbox-apps.txt 08 February 2015 FLUXBOX-APPS(5)