| 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] تنظیماتی را برای پنجرههای مجزای برنامهها فراهم میکنند.
این بخشها با خطی در قالب زیر آغاز میشوند:
مؤلفهٔ pattern میتواند یک یا چند الگو باشد که با پنجرهها مطابقت داده میشوند. برای جزئیات بیشتر، الگوهای کلاینت (CLIENT PATTERNS) را ببینید. اگر بیش از یک pattern تعیین کنید، برای اعمال تنظیمات باید همگی مطابقت داشته باشند.
مقدار {count} اختیاری است. اگر تعیین شود، این مدخل در هر لحظه حداکثر با همان تعداد پنجره مطابقت داده میشود. در صورت حذف، پیشفرض اعمال تنظیمات روی همهٔ پنجرههای منطبق است.
پس از این خطِ آغازینِ [apps]، میتوان هر تعداد تنظیمی را برای برنامه مشخص کرد. برای جزئیات بیشتر تنظیمات (SETTINGS) را ببینید.
هر یک از این بخشها با تکخط زیر به پایان میرسد:
بخشهای گذرا (TRANSIENT SECTIONS)
بخشهای [transient] تنظیماتی را برای «کادرهای محاوره» (dialogs) فراهم میکنند.
این بخش مشابه بخش [app] است، اما برای پنجرههای گذرا (transient) اعمال میشود. پنجرههای گذرا دارای مشخصهٔ WM_TRANSIENT_FOR هستند. این مورد برای همهٔ پنجرههای مودال و چندین محاورهٔ دیگر که دارای یک پنجرهٔ والد هستند و در بالای آن میمانند اعمال میشود. به ویژه، کادرهای محاورهای باز کردن/ذخیره کردن (open/save) در این دسته قرار میگیرند.
بخشهای گروه (GROUP SECTIONS)
هدف اصلی بخشهای [group] گروهبندی پنجرهها با یکدیگر است. تمام پنجرههای موجود در یک گروه به طور خودکار به صورت زبانه (تب) در کنار هم قرار میگیرند.
این بخشها با خطی در قالب زیر آغاز میشوند:
که در آن مؤلفهٔ pattern اختیاری است. در صورت تعیین، این الگو باید مطابقت داشته باشد تا گروه اعمال شود. معمولاً در اینجا از الگوهای غیرمختص پنجره مانند (workspace) استفاده میشود. برای جزئیات بیشتر الگوهای کلاینت (CLIENT PATTERNS) را ببینید.
در ادامه هر تعداد خطِ [app] قرار میگیرد. این خطوط قالبی مشابه بخش [app] دارند که در بالا در بخشهای برنامه (APP SECTIONS) توضیح داده شد، اما حاوی هیچ تنظیمی نیستند و خط [end] مربوطه را نیز ندارند.
مانند این:
این بخش همچنین میتواند شامل تنظیماتی باشد که روی تکتک پنجرههای گروه اعمال میشوند. برای جزئیات، بخش تنظیمات (SETTINGS) را ببینید.
مانند بخشهای [app]، هر یک از این بخشها با تکخط زیر به پایان میرسد:
تنظیمات (SETTINGS)
این تنظیمات ممکن است در فایل ‘apps’ ذخیره شوند. خط تنظیمات باید درون یک بخش [app] یا [group] قرار گیرد.
قالب کلی به این صورت است:
تمامی مقادیر مجاز در زیر شرح داده شدهاند، به جز bool که میتواند مقادیر yes یا no را داشته باشد که به ترتیب تنظیم مربوطه را فعال یا غیرفعال میکند.
[Workspace] {number}
[Jump] {bool}
[Head] {number}
[Layer] {number}
[Dimensions] {width[%] height[%]}
[IgnoreSizeHints] {bool}
[Position] (anchor) {X[%] Y[%]}
مقدار anchor میتواند یکی از موارد زیر باشد:
[Deco] {value}
وضعیت تزیینات (decorations) را مشخص میکند. چندین مجموعه value از پیش تعریفشده وجود دارد:
NORMAL
NONE
BORDER
TAB
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}
[FocusNewWindow] {bool}
منسوخ شده! لطفاً به جای آن از FocusProtection با مقادیر "Gain" یا "Refuse" استفاده کنید.
[FocusProtection] {value [,value [, ...]] }
فهرستی از پرچمهای کنترل فوکوس که با کاما از هم جدا شدهاند. value میتواند موارد زیر باشد:
None
Gain
Refuse
Deny
Lock
لطفاً توجه داشته باشید که از نظر فنی، پنجرهها ممکن است همچنان فوکوس را به دست آورند که البته بعداً توسط مدیر پنجره (WM) لغو میشود. در صورتی که خیلی بدشانس باشید، یک رویداد کلید ممکن است به پنجرهٔ اشتباه ارسال شود.
[FocusHidden] {bool}
[IconHidden] {bool}
[Hidden] {bool}
[Sticky] {bool}
[Minimized] {bool}
[Maximized] {value}
برنامه باید به صورت بیشینهشده (maximized) شروع به کار کند. مقدار value میتواند یکی از موارد زیر باشد:
yes
horz
vert
no
[Fullscreen] {bool}
[Close] {bool}
[Alpha] {value [value]}
الگوهای کلاینت (CLIENT PATTERNS)
یک pattern به این شکل است:
تعاریف تطابق در پرانتزهای (...) قرار میگیرند، و اگر هیچ propertyname داده نشود، مقدار پیشفرض Name فرض میشود. مؤلفهٔ regexp میتواند شامل هر عبارت باقاعدهای باشد، یا مقدار ویژهٔ [current] که با مقدار متناظر پنجرهای که در حال حاضر دارای فوکوس است مطابقت دارد. برای اطلاعات بیشتر در مورد عبارات باقاعدهٔ قابل قبول، regex(7) را ببینید.
مؤلفهٔ propertyname به حروف بزرگ و کوچک حساس نیست، در حالی که regexp حساس است.
اگر چندین آرگومان (pattern) تعیین کنید، این به معنای شرط AND (و) است؛ یعنی تمام الگوهای مشخصشده باید مطابقت داشته باشند.
میتوانید از = برای بررسی برابری یا از != برای بررسی نابرابری استفاده کنید.
مقادیر زیر برای propertyname پذیرفته میشوند:
Name
Class
Title
Role
Transient
Maximized
MaximizedHorizontal
MaximizedVertical
Minimized
Fullscreen
Shaded
Stuck
FocusHidden
IconHidden
Urgent
Workspace
WorkspaceName
Head
Layer
Screen
@XPROP
تطابق با هر پنجرهای که دارای 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)
همچنین ببینید (SEE ALSO)
fluxbox(1) xprop(1) regex(7)
نویسنده (AUTHOR)
Jim Ramsay <i.am@jimramsay.com>
| 08 February 2015 | fluxbox-apps.txt |