FLUXBOX-KEYS(5) Fluxbox Manual FLUXBOX-KEYS(5)

fluxbox-keys - پیکربندی کلیدهای میانبر برای fluxbox(1)

~/.fluxbox/keys

پارامترهای متغیر با حالت تأکیدی نشان داده شده‌اند: آرگومان

پارامترهای اختیاری درون براکت نمایش داده شده‌اند: [آرگومان]

تمام نویسه‌های دیگر باید دقیقاً همان‌گونه که هستند وارد شوند. فاصله‌های خالی (Whitespace) در جاهایی که نشان داده شده الزامی هستند، اما افزودن فاصله بیشتر مانعی ندارد.

فایل keys کلیدهای میانبر صفحه‌کلید را برای fluxbox(1) تعریف می‌کند.

می‌توانید نحوه مدیریت کلیدها در fluxbox را از طریق فایل ~/.fluxbox/keys سفارشی‌سازی کنید. این فایل از خطوطی با فرمت پایه زیر تشکیل شده است:

[modifiers] key :'command' [arguments ...]

فاصله میان key و علامت : قبل از command الزامی است.

تمامی کلیدهای تبدیل (modifiers) و دستورات نسبت به حروف بزرگ و کوچک حساس نیستند (case-insensitive). برخی آرگومان‌های دستورات (به‌ویژه آن‌هایی که به شل ارسال می‌شوند) به حروف بزرگ و کوچک حساس هستند. همچنین نام برخی کلیدها به حروف بزرگ و کوچک حساس است.

خطوطی که با # یا ! آغاز می‌شوند کامنت تلقی شده و توسط fluxbox خوانده نمی‌شوند.

پس از ویرایش فایل keys، لازم است fluxbox را بازخوانی (reload) کنید تا تغییرات شما اعمال شوند.

می‌توانید با اجرای دستور ‘xmodmap -pm’ فهرستی از کلیدهای تبدیل ممکن را دریافت کنید. این دستور همچنین نشان می‌دهد که کلیدهای تبدیل به کدام کلیدها نگاشت شده‌اند، اما کلیدهای تبدیل زیر بیشترین کاربرد را دارند:

Shift Control Mod1 Mod4

که در آن Mod1 کلید Alt در صفحه‌کلید رایانه شخصی است و Mod4 معمولاً کلیدی است که با نشان یک شرکت آشنا علامت‌گذاری شده است (کلید Super/Windows).

همچنین چند کلید تبدیل ویژه وجود دارند که به رویدادهای دکمه ماوس اشاره دارند

OnDesktop

نشانگر ماوس روی میزکار (پنجره ریشه یا root window) قرار دارد و روی هیچ پنجره‌ای نیست.

OnToolbar

نشانگر ماوس روی نوار ابزار (که معمولاً در پایین صفحه نمایش است) قرار دارد.

OnSlit

نشانگر ماوس روی شکاف (slit) اسرارآمیز (بخشی که پنجره‌های داک را جمع‌آوری می‌کند) قرار دارد.

OnWindow

نشانگر ماوس روی یک پنجره قرار دارد.

OnTitlebar

نشانگر ماوس روی نوار عنوان یک پنجره قرار دارد.

OnTab

نشانگر ماوس روی یک برگه (tab) قرار دارد.

Double

این اقدام را فقط به دو بار کلیک کردن (دابل‌کلیک) محدود می‌کند.

برای ترکیب دو یا چند کلید تبدیل، کافی است آن‌ها را به هر ترتیبی (با فاصله از هم) فهرست کنید.

می‌توانید یک کلید را با نام آن (برای مثال a یا space) یا با کد کلید عددی آن (برای مثال 38 یا 0xf3) مشخص کنید.

اگر نام یک کلید را نمی‌دانید، می‌توانید xev(1) را در ترمینال اجرا کنید، کلید مورد نظر را فشار دهید، و نام آن را در خروجی مشاهده کنید. اگر کلیدهای «ویژه‌ای» دارید که نام کلیدی در خروجی xev(1) تولید نمی‌کنند، می‌توانید صرفاً از کد کلید (keycode نه keysym!) در فایل keys خود استفاده کنید.

دستورات را می‌توان به رویدادهای ماوس نیز مقید کرد (N نشان‌دهنده شماره دکمه است؛ برای مثال 1 دکمه اصلی و 4/5 دکمه‌های چرخ ماوس هستند):

MouseN

دکمه ماوس N فشرده شده و نگه داشته می‌شود.

ClickN

دکمه ماوس N کلیک می‌شود (فشرده شده و بدون حرکت رها می‌شود)

MoveN

دکمه ماوس N در حال حاضر نگه داشته شده است؛ اقدام مقیدشده به ازای هر بار حرکت ماوس فعال می‌شود.

چند «کلید» ویژه وجود دارند که به شما امکان می‌دهند رویدادها را به مواردی غیر از صفحه‌کلید مقید کنید:

ChangeWorkspace

هنگامی که فضای کاری تغییر می‌کند اجرا می‌شود. از این رویداد می‌توان برای تغییر تصویر پس‌زمینه یا انجام هر کار دلخواه دیگری هنگام رفتن به یک فضای کاری جدید استفاده کرد. برای یک ایده، بخش مثال‌ها (EXAMPLES) در ادامه را ببینید.

هشدار

هنگام استفاده از این رویداد احتیاط کنید! برای مثال، این رویداد را به هیچ اقدامی که فضای کاری فعلی شما را تغییر می‌دهد مقید نکنید. اگر با این قابلیت fluxbox خود را خراب کنید، مسئولیت رفع عواقب آن با خودتان است.

می‌توان کلیدهای میانبر را به شیوه‌ای مشابه کلیدهای میانبر Emacs با استفاده از سینتکس زیر زنجیره‌سازی کرد:

modifiers-1 key-1 modifiers-2 key-2 :'command' [arguments ...]*

برای لغو یک دستور زنجیره‌ای در میان تایپ کردن آن، کلید <ESC> را فشار دهید.

برای مقید کردن CTRL+C CTRL+X (به این معنی که ابتدا CTRL+C و سپس CTRL+X فشرده شود) جهت خروج از fluxbox.

Control c Control x :Quit

مجموعه خاصی از نگاشت‌های کلید را می‌توان با استفاده از آنچه حالت‌های کلید (keymodes) نامیده می‌شود به صورت لحظه‌ای فعال و غیرفعال کرد. سینتکس تعریف یک نگاشت در یک حالت کلید به این صورت است:

keymode: modifiers key :'command' [arguments ...]

که در آن keymode هر نام رشته‌ای الفبایی-عددی است.

هنگامی که این حالت کلید فعال می‌شود (دستور KeyMode در ادامه را ببینید)، تمام کلیدهای میانبری که نام آن حالت کلید در ابتدای آن‌ها آمده فعال می‌شوند (و سایر کلیدهای میانبر غیرفعال خواهند شد) تا زمانی که حالت کلید دوباره تغییر کند.

برخی دستورات دارای چندین نام هستند که در ادامه به صورت زیر نشان داده شده‌اند

CMD1 | CMD2

دستورات مرتبط در ادامه به صورت زیر گروه‌بندی شده‌اند

CMD1 / CMD2

دستورات به بخش‌های زیر تقسیم شده‌اند

•دستورات ماوس (Mouse Commands)
•دستورات پنجره (Window Commands)
•دستورات فضای کاری (Workspace Commands)
•دستورات منو (Menu Commands)
•دستورات مدیر پنجره (Window Manager Commands)
•دستورات ویژه (Special Commands)

این دستورات فقط می‌توانند به دکمه‌های ماوس (به همراه کلیدهای تبدیل) مقید شوند، نه به کلیدهای صفحه‌کلید. در تمام موارد، با رها شدن دکمه ماوس عملیات پایان می‌یابد.

StartMoving

کشیدن (drag) برای جابه‌جایی پنجره را آغاز می‌کند.

StartResizing [corner]

کشیدن برای تغییر اندازه پنجره را به گونه‌ای آغاز می‌کند که گویی پنجره را از corner (گوشه) مشخص‌شده گرفته‌اید.

به طور پیش‌فرض corner برابر BottomRight است، اما می‌توان آن را با یکی از موارد زیر جایگزین کرد:

NearestCorner NearestEdge NearestCornerOrEdge Center TopLeft Top TopRight Left Right BottomLeft Bottom BottomRight

اگر NearestCornerOrEdge مشخص شود، اندازه گوشه را نیز می‌توان به عنوان مقدار بزرگ‌تر از یک یا دو عدد زیر تعیین کرد: [pixel-size [percent-size]] یا percent-size%، که در آن percent-size درصد نصف عرض یا ارتفاع پنجره است. اگر هیچ اندازه‌ای داده نشود، پیش‌فرض آن ۵۰ پیکسل و ۳۰٪ است.

StartTabbing

کشیدن برای افزودن این پنجره به گروه برگه‌های (tabgroup) پنجره‌ای دیگر را آغاز می‌کند.

ActivateTab

برگه زیر ماوس را فعال می‌کند.

این دستورات معمولاً فقط بر پنجره‌ای که در حال حاضر دارای فوکوس است اثر می‌گذارند. کلید تبدیل OnWindow و دستور ForEach ممکن است پنجره مورد استفاده را تحت تأثیر قرار دهند.

Minimize | MinimizeWindow | Iconify

کمینه‌سازی پنجره فعلی، معادل دکمه پنجره.

Maximize | MaximizeWindow

بزرگ‌نمایی پنجره فعلی، معادل دکمه پنجره.

MaximizeHorizontal / MaximizeVertical

بزرگ‌نمایی پنجره فعلی فقط در یک جهت، بدون تغییر بعد دیگر.

Fullscreen

تغییر اندازه محتوای پنجره برای پر کردن تمام صفحه نمایش، بدون هیچ تزیینات پنجره.

Raise / Lower

تغییر چینش این پنجره به بالاترین یا پایین‌ترین نقطه در پشته پنجره‌ها، در لایه فعلی خود. برای توضیح لایه‌ها fluxbox(1) را ببینید.

RaiseLayer / LowerLayer [offset]

انتقال پنجره به یک لایه بالاتر، یا پایین آوردن آن به یک لایه پایین‌تر. برای توضیح لایه‌ها fluxbox(1) را ببینید.

SetLayer layer

انتقال پنجره به لایه مشخص‌شده. layer باید یکی از موارد AboveDock، Dock، Top، Normal، Bottom، Desktop باشد. برای توضیح لایه‌ها fluxbox(1) را ببینید.

Close

بستن پنجره فعلی، معادل دکمه پنجره.

Kill | KillWindow

بستن اجباری پنجره‌ای که به Close پاسخ نمی‌دهد، مانند استفاده از xkill(1).

Shade | ShadeWindow

تغییر وضعیت shaded (جمع‌شده مانند کرکره) پنجره فعلی، معادل دکمه پنجره. یک پنجره shaded تنها به صورت نوار عنوان نمایش داده می‌شود.

ShadeOn / ShadeOff

تنظیم وضعیت shaded پنجره به حالت فعال (On) یا غیرفعال (Off).

Stick | StickWindow

تغییر وضعیت sticky (چسبان) پنجره فعلی، معادل دکمه پنجره. یک پنجره sticky در تمام فضاهای کاری نمایش داده می‌شود.

SetDecor decor

تعیین تزیینات پنجره که باید نمایش داده شوند. decor دارای فرمتی مشابه پارامتر ‘[Deco]’ در فایل apps است. برای اطلاعات بیشتر fluxbox-apps(5) را ببینید.

ToggleDecor

تغییر وضعیت نمایش تزیینات پنجره (نوار عنوان، دکمه‌های پنجره، و نوار تغییر اندازه).

NextTab / PrevTab

جابه‌جایی چرخشی به برگه بعدی / قبلی در گروه برگه‌های فعلی.

Tab number

پرش به برگه داده‌شده در گروه برگه‌های فعلی، که در آن 1 نخستین برگه است. یک number منفی شمارش را از انتهای گروه برگه‌ها انجام می‌دهد (-1 آخرین برگه، -2 یکی مانده به آخر، و غیره است).

MoveTabRight / MoveTabLeft

تغییر ترتیب برگه‌ها در گروه برگه‌های فعلی، با جابه‌جا کردن برگه فعلی با برگه سمت راست / چپ.

DetachClient

حذف برگه فعلی از گروه برگه‌ها و قرار دادن آن در پنجره اختصاصی خودش.

ResizeTo width[%] height[%]

تغییر اندازه پنجره به عرض و ارتفاع داده‌شده. اگر مقدار بر حسب درصد داده شود، اندازه پنجره بر اساس اندازه صفحه نمایش فعلی محاسبه خواهد شد.

Resize delta-width[%] delta-height[%]

تغییر اندازه پنجره نسبت به عرض و ارتفاع فعلی آن. اگر مقدار بر حسب درصد داده شود، اندازه پنجره بر اساس اندازه پنجره فعلی محاسبه خواهد شد.

ResizeHorizontal delta-width[%] / ResizeVertical delta-height[%]

تغییر اندازه پنجره تنها در یک بعد. اگر مقدار بر حسب درصد داده شود، اندازه پنجره بر اساس اندازه پنجره فعلی محاسبه خواهد شد.

MoveTo x[%] y[%] [anchor]

جابه‌جایی پنجره به مختصات داده‌شده بر حسب پیکسل، یا در صورت درج % پس از مقدار، به صورت نسبی با اندازه صفحه نمایش فعلی.

اگر هر کدام از x یا y بر روی \* تنظیم شده باشد، آن مختصات نادیده گرفته شده و حرکت تنها در یک بعد انجام خواهد شد.

نقطه مهار (anchor) پیش‌فرض گوشه بالا سمت چپ است، اما می‌توان آن را با یکی از موارد زیر جایگزین کرد:

TopLeft Left BottomLeft Top Center Bottom TopRight Right BottomRight

Move delta-x delta-y

جابه‌جایی پنجره نسبت به موقعیت فعلی آن. اعداد مثبت به ترتیب به معنای راست و پایین، و اعداد منفی به معنای چپ و بالا هستند.

MoveRight d / MoveLeft d / MoveUp d / MoveDown d

جابه‌جایی پنجره نسبت به موقعیت فعلی آن به تعداد پیکسل‌های مشخص‌شده در d. اگر عدد منفی باشد، در جهت مخالف حرکت می‌کند.

TakeToWorkspace workspace / SendToWorkspace workspace

انتقال شما به همراه پنجره فعلی به فضای کاری انتخاب‌شده. دستور SendToWorkspace فقط پنجره را منتقل می‌کند. شماره نخستین فضای کاری 1 است، نه 0.

TakeToNextWorkspace [offset] / TakeToPrevWorkspace [offset]

انتقال شما به همراه پنجره فعلی به فضای کاری بعدی یا قبلی. اگر مقدار offset را بزرگ‌تر از مقدار پیش‌فرض 1 قرار دهید، شما را به همان تعداد فضای کاری به جلو یا عقب جابه‌جا می‌کند. اگر از انتهای فضاهای کاری تعریف‌شده فراتر برود، به طور خودکار به سر دیگر چرخش می‌کند.

SendToNextWorkspace [offset] / SendToPrevWorkspace [offset]

مشابه دستورات «TakeTo...»، اما این دستور باز هم فقط پنجره را ارسال می‌کند و شما را از فضای کاری فعلی‌تان جابه‌جا نمی‌کند.

SetAlpha [alpha [unfocused-alpha]]

تنظیم مقدار آلفا (شفافیت) یک پنجره.

قرار دادن یک + یا - در جلوی مقدار، آن را به مقدار فعلی اضافه یا از آن کم می‌کند. یک عدد صحیح ساده مقدار را به صورت صریح تنظیم می‌کند.

بدون آرگومان

هر دو تنظیم مات بودن برای پنجره دارای فوکوس و بدون فوکوس را به حالت پیش‌فرض بازمی‌گرداند.

یک آرگومان

هر دو تنظیمات آلفای پنجره دارای فوکوس و بدون فوکوس را تغییر می‌دهد.

دو آرگومان

مقدار اول به عنوان آلفای پنجره دارای فوکوس و مقدار دوم به عنوان آلفای پنجره بدون فوکوس اعمال می‌شود.

SetHead number

انتقال پنجره به نمایشگر (display head) داده‌شده. تنها زمانی در دسترس است که fluxbox با پشتیبانی از Xinerama کامپایل شده باشد.

SendToNextHead [offset] / SendToPrevHead [offset]

ارسال پنجره فعلی به نمایشگر بعدی/قبلی. اگر یک offset بزرگ‌تر از 1 مشخص کنید، پنجره را به همان تعداد نمایشگر جابه‌جا می‌کند. اگر این مقدار پنجره را از کل تعداد نمایشگرها فراتر ببرد، به ابتدای چرخه بازمی‌گردد.

SetXProp PROP=value

تنظیم خاصیت xproperty با نام PROP در پنجره فعلی به مقدار value. برای حذف محتوای PROP از PROP= استفاده کنید.

این دستورات بر کل فضای کاری (یا «میزکار» که گاهی به آن گفته می‌شود) اثر می‌گذارند.

AddWorkspace / RemoveLastWorkspace

افزودن یا حذف یک فضای کاری از انتهای فهرست فضاهای کاری.

NextWorkspace [n] / PrevWorkspace [n] / RightWorkspace [n] / LeftWorkspace [n]

جابه‌جایی به فضای کاری بعدی / قبلی. تمام نسخه‌ها یک مقدار آفست n را می‌پذیرند که مقدار پیش‌فرض آن 1 است و نشان‌دهنده تعداد فضاهای کاری برای جابه‌جایی در هر نوبت است. دستورات {Next,Prev}Workspace هنگام عبور از آخرین فضای کاری به ابتدا/انتها چرخش می‌کنند، در حالی که {Right,Left}Workspace این کار را نمی‌کنند. آفست ویژه «0» وضعیت فضای کاری قبلی را برای Next- و PrevWorkspace جابه‌جا (toggle) می‌کند.

Workspace number

پرش به فضای کاری با شماره number. شماره نخستین فضای کاری 1 است.

NextWindow [{options}] [pattern] / PrevWindow [{options}] [pattern]

فوکوس کردن روی پنجره بعدی / قبلی در فهرست فوکوس.

options یک یا چند مورد از گزینه‌های زیر است که با فاصله جدا شده‌اند:

static

به جای حرکت بر اساس ترتیب جدیدترین فوکوس، بر اساس ترتیب باز شدن پنجره (یا ترتیبی که در نوار آیکون نشان داده شده است) حرکت می‌کند.

groups

در پنجره‌های دارای چندین برگه، تنها برگه فعلی را شامل می‌شود.

اگر آرگومان‌های pattern ارائه شوند، تنها پنجره‌هایی که با تمام الگوها تطابق دارند بررسی می‌شوند و سایر پنجره‌ها نادیده گرفته خواهند شد. برای اطلاعات بیشتر بخش الگوهای کلاینت (CLIENT PATTERNS) در ادامه را ببینید.

این جفت دستور دارای یک اثر جانبی ویژه است زمانی که کلید میانبر استفاده‌شده دارای یک کلید تبدیل باشد - پنجره در حال چرخش را به طور موقت به جلو می‌آورد تا بتوانید آن را ببینید، اما اگر کلید تبدیل را همچنان نگه دارید و دوباره کلید را فشار دهید (برای مثال، نگه داشتن «Alt» در حالی که چند بار کلید «Tab» را می‌زنید)، fluxbox هنگام رفتن به پنجره بعدی دوباره آن پنجره را به عقب می‌فرستد. این امکان به شما اجازه می‌دهد پنجره‌ها را به ترتیب پیش‌نمایش کنید، بدون آنکه با این کار ترتیب آن‌ها تغییر یابد.

NextGroup [{options}] [pattern] / PrevGroup [{options}] [pattern]

معادل NextWindow / PrevWindow در بالا، اما با فعال‌سازی اجباری گزینه groups.

GotoWindow number [{options}] [pattern]

فوکوس و فعال کردن پنجره در موقعیت number در فهرست فوکوس. آرگومان‌های options و pattern معنایی مشابه NextWindow در بالا دارند.

Activate [pattern] | Focus [pattern]

با وجود pattern، این دستور نام مستعاری برای GoToWindow 1 pattern است. بدون آن، مانند یک دستور پنجره رفتار می‌کند تا رویدادهای OnWindow بتوانند پنجره دارای فوکوس را تغییر دهند.

Attach pattern

ترکیب تمام پنجره‌هایی که با pattern تطابق دارند در یک گروه برگه واحد. برای اطلاعات بیشتر درباره آرگومان‌های pattern، بخش الگوهای کلاینت (CLIENT PATTERNS) را ببینید.

FocusLeft / FocusRight / FocusUp / FocusDown

فوکوس روی پنجره بعدی که در جهت مشخص‌شده قرار گرفته است.

ArrangeWindows pattern / ArrangeWindowsVertical pattern / ArrangeWindowsHorizontal pattern

تلاش برای مرتب کردن تمام پنجره‌ها در فضای کاری فعلی به گونه‌ای که کمترین هم‌پوشانی ممکن را با یکدیگر داشته باشند. ArrangeWindowsVertical تقسیم عمودی (پنجره‌ها در کنار هم) و ArrangeWindowsHorizontal تقسیم افقی (پنجره‌ها روی یکدیگر) را در اولویت قرار می‌دهد. برای اطلاعات بیشتر درباره آرگومان‌های pattern، بخش الگوهای کلاینت (CLIENT PATTERNS) را ببینید.

ArrangeWindowsStackLeft pattern / ArrangeWindowsStackRight pattern

مشابه ArrangeWindows، این دستورات پنجره‌ها را در فضای کاری فعلی مرتب می‌کنند. پنجره‌ای که در حال حاضر دارای فوکوس است به عنوان پنجره main (اصلی) استفاده شده و نیمی از صفحه را پر می‌کند، در حالی که پنجره‌های دیگر در نیمه دیگر صفحه کاشی‌کاری می‌شوند، گویی با ArrangeWindows مرتب شده‌اند. ArrangeWindowsStackLeft پنجره اصلی را در سمت راست صفحه قرار می‌دهد و پنجره‌های کاشی‌شده در سمت چپ صفحه قرار می‌گیرند. ArrangeWindowsStackRight پنجره اصلی را در سمت چپ صفحه قرار می‌دهد و پنجره‌های کاشی‌شده در سمت راست صفحه قرار می‌گیرند.

ArrangeWindowsStackTop pattern / ArrangeWindowsStackBottom pattern

دقیقاً مانند ArrangeWindowsStackLeft و ArrangeWindowsStackRight رفتار می‌کنند. ArrangeWindowsStackBottom پنجره اصلی را در نیمه بالایی صفحه و پنجره‌های کاشی‌شده را در نیمه پایینی صفحه قرار می‌دهد. ArrangeWindowsStackTop پنجره اصلی را در نیمه پایینی صفحه و پنجره‌های کاشی‌شده را در نیمه بالایی صفحه قرار می‌دهد.

Unclutter pattern

مرتب کردن تمام پنجره‌های منطبق جهت کاهش هم‌پوشانی کلی پنجره‌ها تا جای ممکن. اندازه پنجره‌ها تغییر داده نمی‌شود. برای اطلاعات بیشتر درباره آرگومان‌های pattern، بخش الگوهای کلاینت (CLIENT PATTERNS) را ببینید.

ShowDesktop

کمینه‌سازی تمام پنجره‌ها در فضای کاری فعلی. اگر همگی قبلاً کمینه شده باشند، آن‌ها را بازیابی می‌کند.

ToggleSlitAbove

تغییر لایه شکاف (slit) میان لایه معمولی خود و لایه AboveDock.

ToggleSlitHidden

تغییر وضعیت پنهان‌سازی خودکار شکاف (پنهان‌سازی خودکار نیازی به فعال بودن از قبل ندارد).

ToggleToolbarAbove

تغییر لایه نوار ابزار میان لایه معمولی خود و لایه AboveDock.

ToggleToolbarHidden

تغییر وضعیت پنهان‌سازی خودکار نوار ابزار (پنهان‌سازی خودکار نیازی به فعال بودن از قبل ندارد).

Deiconify mode destination

خروج پنجره‌ها از حالت آیکون (یا بازیابی از حالت کمینه‌شده).

که در آن mode می‌تواند یکی از موارد زیر باشد:

All

تمام آیکون‌ها در تمام فضاهای کاری.

AllWorkspace

تمام آیکون‌ها در فضای کاری فعلی.

Last

آخرین آیکون در تمام فضاهای کاری.

LastWorkspace (پیش‌فرض)

آخرین آیکون در فضای کاری فعلی.

و destination می‌تواند یکی از موارد زیر باشد:

Current (پیش‌فرض)

بازیابی به فضای کاری فعلی.

OriginQuiet

بازیابی به فضای کاری اصلی پنجره، اما این کار را در پس‌زمینه و بدون جابه‌جا کردن شما به آنجا انجام می‌دهد.

SetWorkspaceName name / SetWorkspaceNameDialog

تنظیم نام فضای کاری فعلی.

CloseAllWindows

بستن تمام پنجره‌ها در تمام فضاهای کاری.

این دستورات منوهای بالاپرنده (popup) در fluxbox را باز یا بسته می‌کنند. برای اطلاعات بیشتر درباره محتوای این منوها یا نحوه پیکربندی آن‌ها، fluxbox(1) را ببینید.

RootMenu

منوی ریشه را باز می‌کند. برای جزئیات بخش ROOT MENU در fluxbox-menu(5) را ببینید.

WorkspaceMenu

منویی را باز می‌کند که تمام فضاهای کاری و پنجره‌ها را نشان می‌دهد. برای جزئیات بخش Workspace Menu در fluxbox(1) را ببینید.

WindowMenu

منویی حاوی اقدامات مربوط به پنجره فعلی را باز می‌کند. برای جزئیات بخش WINDOW MENU در fluxbox-menu(5) را ببینید.

ClientMenu [pattern]

منویی شامل تمام پنجره‌ها را باز می‌کند. اگر یک pattern مشخص کنید، تنها پنجره‌های منطبق در منو نمایش داده خواهند شد. انتخاب یک پنجره باعث پرش به آن فضای کاری و بالا آمدن پنجره می‌شود. برای جزئیات بیشتر درباره آرگومان pattern، بخش الگوهای کلاینت (CLIENT PATTERNS) در ادامه را ببینید.

CustomMenu path

یک فایل منوی سفارشی را باز می‌کند. این path باید یک فایل منوی معتبر با همان ساختاری باشد که در بخش ROOT MENU از fluxbox-menu(5) شرح داده شده است.

HideMenus

پنهان کردن تمام منوهای بالاپرنده fluxbox.

این دستورات بر مدیر پنجره یا بیش از یک پنجره اثر می‌گذارند.

Restart [path]

راه‌اندازی مجدد fluxbox. این دستور هیچ برنامه در حال اجرایی را نمی‌بندد. اگر مسیر اختیاری path مسیری به یک مدیر پنجره اجرایی باشد، آن مدیر پنجره به جای fluxbox اجرا می‌شود.

Quit | Exit

خروج از fluxbox. این کار معمولاً باعث توقف سرور X و پایان یافتن تمام برنامه‌های موجود شده و شما را به مدیر ورود به سیستم یا کنسول بازمی‌گرداند.

Reconfig | Reconfigure

بارگذاری مجدد تمام فایل‌های پیکربندی fluxbox شامل فایل keys، فایل apps و فایل init، در صورتی که تغییر کرده باشند.

SetStyle path

تنظیم پوسته فعلی به پوسته‌ای که در path مشخص شده است، که باید مسیر کامل به یک پوسته fluxbox باشد.

ReloadStyle

بارگذاری مجدد تنها پوسته فعلی. پس از ویرایش پوسته‌ای که در حال حاضر استفاده می‌شود کاربرد دارد.

ExecCommand args ... | Exec args ... | Execute args ...

احتمالاً پرکاربردترین کلید میانبر از بین همه. تمام آرگومان‌ها را به $SHELL شما (یا در صورت تنظیم نبودن $SHELL به /bin/sh) ارسال می‌کند. می‌توانید از این دستور برای اجرای برنامه‌ها، اسکریپت‌های شل و غیره استفاده کنید. از آنجا که تمام آرگومان‌ها دقیقاً به شل ارسال می‌شوند، می‌توانید از متغیرهای محیطی، پایپ‌ها یا هر قابلیت دیگری از شل استفاده کنید. توجه داشته باشید که فرآیندها فقط متغیرهای محیطی را می‌بینند که پیش از شروع fluxbox تنظیم شده باشند (مانند مواردی که در ~/.fluxbox/startup تنظیم شده‌اند)، یا مواردی که از طریق دستورات Export یا SetEnv در ادامه تنظیم می‌شوند. برای جزئیات بیشتر در مورد محیط (ENVIRONMENT) و فایل \~/.fluxbox/startup، fluxbox(1) را ببینید.

CommandDialog

نمایش یک کادر محاوره‌ای بالاپرنده که به شما امکان می‌دهد هر یک از این دستورات را به صورت دستی تایپ کنید.

SetEnv name value | Export name=value

تنظیم یک متغیر محیطی در Fluxbox. این متغیر به هر برنامه‌ای که توسط دستورات بعدی ExecCommand اجرا شود ارسال خواهد شد.

SetResourceValue resourcename resourcevalue | SetResourceValueDialog

تنظیم یک مقدار منبع fluxbox، که معمولاً در فایل init ذخیره می‌شوند. برای جزئیات بیشتر درباره منابع موجود و مقادیر مجاز fluxbox(1) را ببینید.

این دستورات دارای معانی یا رفتارهای ویژه‌ای هستند.

MacroCmd {command1} {command2} {command3} ...

به شما امکان می‌دهد با یک کلید میانبر بیش از یک دستور را اجرا کنید. دستورات به صورت متوالی (سری) اجرا خواهند شد. استفاده از علامت‌های آکولاد {} دقیقاً الزامی است، مانند مثال زیر:
MacroCmd {MoveTo 0 0} {ResizeTo 1280 800}

Delay {command} [microseconds]

اجرای command را به میزان زمان مشخص‌شده به تعویق می‌اندازد. اگر همان کلید میانبر دوباره فعال شود، زمان‌سنج از نو راه‌اندازی خواهد شد.

ToggleCmd {command1} {command2} ...

چرخش متناوب میان دستورات. با اولین فشردن کلید مقیدشده، command1 را اجرا می‌کند. با فشردن بعدی، command2 را اجرا خواهد کرد.

BindKey keybinding

افزودن keybinding داده‌شده (که باید یک کلید میانبر معتبر باشد همان‌گونه که در بخش توضیحات بالا تعریف شد) به فایل keys شما.

KeyMode keymode [return-keybinding]

فعال‌سازی keymode نام‌برده (یا تمام خطوط کلید میانبری که با همان keymode: شروع شده‌اند) و غیرفعال کردن تمام موارد دیگر تا زمانی که return-keybinding (به طور پیش‌فرض Escape) فشرده شود. حالت کلید پیش‌فرض با نام default شناخته می‌شود.

ForEach {command} [{condition}] | Map {command} [{condition}]

اجرای command داده‌شده (معمولاً یکی از موارد بخش دستورات پنجره (Window Commands) در بالا) بر روی هر پنجره. اگر یک condition مشخص کنید (بخش شرط‌ها (Conditions) در ادامه را ببینید) عملیات به پنجره‌های منطبق محدود خواهد شد.

If {condition} {then-command} [{else-command}] | Cond {condition} {then-command} [{else-command}]

اگر دستور condition مقدار true را برگرداند، آنگاه then-command را اجرا می‌کند؛ در غیر این صورت دستور اختیاری else-command را اجرا خواهد کرد. برای اطلاعات بیشتر درباره آرگومان condition، بخش شرط‌ها (Conditions) در ادامه را ببینید.

این دستورات ویژه برای تطبیق شرطی پنجره‌ها استفاده می‌شوند. آن‌ها معمولاً توسط دستورات If و ForEach به کار می‌روند.

Matches pattern

اگر پنجره فعلی با pattern داده‌شده تطابق داشته باشد، مقدار true را برمی‌گرداند. برای جزئیات مربوط به سینتکس pattern، بخش الگوهای کلاینت (CLIENT PATTERNS) در ادامه را ببینید.

اگر کلید میانبر شما از کلید تبدیل OnWindow استفاده می‌کند، تطبیق با پنجره‌ای که روی آن کلیک کرده‌اید انجام می‌شود، نه پنجره‌ای که در حال حاضر دارای فوکوس است.

برای بررسی پنجره‌های دیگر علاوه بر پنجره فوکوس‌شده فعلی، شرط‌های Every و Some در ادامه را ببینید.

Some condition

اگر هر پنجره‌ای در هر فضای کاری (نه فقط پنجره فوکوس‌شده فعلی) با condition تطابق داشته باشد، مقدار true را برمی‌گرداند.

Every condition

اگر تمام پنجره‌ها در تمام فضاهای کاری (نه فقط فضای کاری فعلی) با condition تطابق داشته باشند، مقدار true را برمی‌گرداند.

Not condition

اگر condition مقدار false را برگرداند مقدار true، و برعکس را برمی‌گرداند.

And {condition1} {condition2} [{condition3} ...]

تنها و تنها در صورتی مقدار true را برمی‌گرداند که تمام شرط‌های داده‌شده مقدار true را برگردانند.

Or {condition1} {condition2} [{condition3} ...]

در صورتی که هر یک از شرط‌های فهرست‌شده مقدار true را برگردانند، مقدار true را برمی‌گرداند.

Xor {condition1} {condition2} [{condition3} ...]

مقدار بولی xor را از مقادیر درستی تمام شرط‌های فهرست‌شده برمی‌گرداند.

بسیاری از دستورات پیشرفته‌تر یک آرگومان pattern را می‌پذیرند، که به شما امکان می‌دهد اقدام را به یک پنجره خاص یا مجموعه‌ای از پنجره‌ها که با ویژگی‌های مشخص‌شده در pattern تطابق دارند هدایت کنید.

یک 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

شماره نمایشگر که پنجره به آن متصل است. می‌توانید این مقدار را با مقدار ویژه [mouse] تطبیق دهید که به نمایشگری که اشاره‌گر ماوس در حال حاضر در آن قرار دارد اشاره می‌کند.

Layer

نام رشته‌ای لایه پنجره، که یکی از موارد AboveDock، Dock، Top، Normal، Bottom، Desktop است.

Screen

شماره screen (صفحه نمایش) در حال حاضر استفاده‌شده. اگر پیکربندی سرور X در حال اجرا شامل صفحه‌نمایش‌های مستقل باشد (not Xinerama)، متغیر محیطی $DISPLAY مقداری شبیه به :0.1 یا :1.0 خواهد داشت. بخش پس از نقطه (.) شماره صفحه نمایش است.

@XPROP

یک رشته، متناظر با هر خاصیت xproperty (برای تنظیم یک xproperty روی پنجره از ابزار xprop(1) یا دستور SetXProp استفاده کنید)

تطبیق هر پنجره‌ای با CLASSNAME برابر با «xterm».

(xterm)

تطبیق هر پنجره‌ای با همان CLASSNAME پنجره دارای فوکوس فعلی.

(Name=[current])

تطبیق هر پنجره‌ای روی همان نمایشگر ماوس اما در لایه‌ای متفاوت از پنجره دارای فوکوس فعلی.

(Head=[mouse]) (Layer!=[current])

تطبیق هر پنجره‌ای که دارای خاصیت xproperty با نام FOO حاوی «bar» باشد.

(@FOO=.*bar.*)

~/.fluxbox/keys

مسیر پیش‌فرض برای تعاریف کلیدهای میانبر.

/usr/X11R6/include/X11/keysymdef.h

نام کلیدهای X در این فایل قرار دارند.

/usr/X11R6/lib/X11/XKeysymDB

نام کلیدهای X همچنین در این فایل قرار دارند.

session.keyFile: location

می‌توان این مقدار را برای جایگزینی مسیر تعاریف کلیدهای میانبر تنظیم کرد.

به یاد داشته باشید که دستور ExecCommand می‌تواند از متغیرهای محیطی دیگری بهره ببرد در صورتی که پیش از شروع fluxbox تنظیم شده باشند، یا از طریق دستورات Export یا SetEnv تعریف شوند. برای مثال، اگر $TERM تنظیم شده باشد، می‌توان از آن به این شکل استفاده کرد:

Mod1 x :ExecCommand $TERM

برای اطلاعات بیشتر درباره متغیرهای محیطی، راهنمای شل خود را ببینید.

در اینجا چند مثال جالب و/یا کاربردی از کارهایی که می‌توانید با فایل keys خود انجام دهید آورده شده است.

# کلید Mod4 به همراه کشیدن ماوس پنجره را جابه‌جا می‌کند
OnWindow Mod4 Mouse1 :StartMoving
# اگر پنجره‌ای از xterm باز باشد، بین آن‌ها می‌چرخد؛ اگر باز نباشد، یکی را باز می‌کند:
Mod4 t :If {Some Matches (xterm)} {NextWindow (xterm)} {Exec xterm}
# تنظیم یک تصویر پس‌زمینه متفاوت در هر فضای کاری:
ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png
# فوکوس کردن روی پنجره بعدی که مقدار خاصیت xproperty آن با نام 'PROP' برابر با 'foo' باشد
Mod4 p Mod4 Tab :NextWindow (@PROP=foo)

•Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0)
•Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11)
•Tobias Klausmann <klausman at users sourceforge net> (⟨fluxbox-0.9.11)
•Grubert <grubert at users sourceforge net> (fluxbox)
•Matthew Hawkins <matt at mh dropbear id au> (blackbox)
•Wilbert Berendsen <wbsoft at xs4all nl> (blackbox)

fluxbox(1) xprop(1) xev(1) xkill(1) regex(7)

Jim Ramsay <i.am@jimramsay.com>

نویسنده.
08 February 2015 fluxbox-keys.txt