labwc-actions(5) File Formats Manual labwc-actions(5)

labwc-actions - اقدامات و عملیات‌های پیکربندی labwc

اقدامات در منوها و کلیدهای میانبر صفحه‌کلید/ماوس استفاده می‌شوند.

<action name="Close" />

بستن بالاترین پنجره.

<action name="Kill" />

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

<action name="Execute" command="value" />

اجرای دستور. توجه داشته باشید که جهت حفظ سازگاری با نسخه‌های پیشین، labwc از <execute> به عنوان جایگزینی برای <command> پشتیبانی می‌کند، اگرچه مستندات openbox اشاره کرده که این مورد منسوخ شده است. نکته: علامت مدک (~) در دستور، پیش از ارسال به execvp() بسط داده می‌شود.

<action name="Exit" />

خروج از labwc.

<action name="Focus" />

دادن فوکوس به پنجره زیر مکان‌نما.

<action name="Unfocus" />

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

<action name="Raise" />

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

<action name="Lower" />

پایین بردن پنجره فعلی به زیر سایر پنجره‌های باز در ترتیب چیدمان.

<action name="Iconify" />

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

<action name="Move" />

شروع جابه‌جایی تعاملی پنجره زیر مکان‌نما.

<action name="MoveToEdge" direction="value" snapWindows="value" />

جابه‌جا کردن پنجره تا برخورد با لبه بعدی.

direction [left|up|right|down] جهتی که پنجره در آن جابه‌جا می‌شود.

snapWindows [yes|no] حرکت پنجره تا زمانی که به لبه یک پنجره دیگر یا لبه صفحه برخورد کند. اگر روی "no" تنظیم شود، فقط تا لبه بعدی صفحه حرکت می‌کند. مقدار پیش‌فرض yes است.

<action name="Resize" direction="value" />

شروع تغییر اندازه تعاملی پنجره زیر مکان‌نما.

direction [up|down|left|right|up-left|up-right|down-left|down-right] لبه یا گوشه‌ای که تغییر اندازه از آنجا آغاز می‌شود. اگر مشخص نشود، جهت با توجه به موقعیت مکان‌نما تعیین می‌گردد.

<action name="ResizeRelative" left="" right="" top="" bottom="" />

تغییر اندازه پنجره نسبت به اندازه فعلی آن. مقادیر left، right، top یا bottom مشخص می‌کنند که در کدام لبه پنجره چه مقدار تغییر اندازه انجام شود؛ مقادیر مثبت پنجره را بزرگ‌تر و مقادیر منفی پنجره را کوچک‌تر می‌کنند.

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

<action name="GrowToEdge" direction="value" />

تغییر اندازه پنجره برای پر کردن فضای خالی میان لبه آن و لبه هر پنجره دیگر.

direction [left|up|right|down] جهتی که پنجره در آن گسترش می‌یابد.

<action name="ShrinkToEdge" direction="value" />

معکوس GrowToEdge. پنجره را حداکثر تا ۵۰٪ کوچک می‌کند.

direction [left|up|right|down] جهتی که پنجره در آن جمع و کوچک می‌شود.

<action name="MoveTo" x="" y="" />

جابه‌جایی به مختصات (x, y).

<action name="ResizeTo" width="" height="" />

تغییر اندازه پنجره.

width عرض جدید پنجره بر حسب پیکسل.

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

<action name="MoveToCursor" />

جابه‌جا کردن پنجره به گونه‌ای که مرکز آن روی مکان‌نما قرار گیرد. تلاش می‌کند از خارج شدن هر بخشی از پنجره از صفحه جلوگیری کند. این اقدام از نگارش 0.7.3 به بعد منسوخ شده است. برای اطمینان از کارکرد پیکربندی خود در نسخه‌های آینده labwc، لطفاً از این دستور استفاده کنید:

<action name="AutoPlace" policy="cursor">

<action name="MoveRelative" x="" y="" />

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

<action name="ToggleSnapToEdge" direction="value" combine="value" />
<action name="SnapToEdge" direction="value" combine="value" />

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

direction [up|down|left|right|up-left|up-right|down-left|down-right|center]

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

combine [yes|no]

امکان چسباندن پنجره به یک گوشه صفحه خروجی از طریق ترکیب دو جهت را فراهم می‌کند. برای نمونه، چسباندن پنجره به right و سپس به up، آن را در یک‌چهارم up-right (بالا-راست) خروجی قرار می‌دهد. مقدار پیش‌فرض no است.

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

<action name="ToggleSnapToRegion" region="value" />
<action name="SnapToRegion" region="value" />

تغییر اندازه و جابه‌جایی پنجره فعال مطابق با ناحیه (region) مشخص‌شده.

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

برای اطلاعات بیشتر در مورد چگونگی تعریف ناحیه‌ها به labwc-config(5) مراجعه کنید.

<action name="UnSnap" />

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

<action name="NextWindow" workspace="current" output="all" identifier="all" />
<action name="PreviousWindow" workspace="current" output="all" identifier="all" />
<action name="NextWindowImmediate" workspace="current" output="all" identifier="all" />
<action name="PreviousWindowImmediate" workspace="current" output="all" identifier="all" />
چرخش فوکوس به ترتیب به پنجره بعدی یا قبلی.

کلیدهای میانبر پیش‌فرض برای NextWindow و PreviousWindow به ترتیب Alt-Tab و Shift-Alt-Tab هستند. هنگام پیمایش میان پنجره‌ها، کلیدهای جهتی پنجره انتخابی را به جلو/عقب می‌برند و کلید escape چرخش را متوقف می‌کند.

دستورهای NextWindowImmediate و PreviousWindowImmediate رابط جابه‌جایی پنجره (Window Switcher) و نمایشگر روی صفحه (OSD) را نادیده می‌گیرند، که برای اتصال به کلیدهای بدون کلید تغییردهنده (modifier) مفید است.

workspace [all|current] تعیین می‌کند که آیا چرخش میان پنجره‌های تمام فضاهای کاری انجام شود یا فقط در فضای کاری فعلی. پیش‌فرض "current" است.

output [all|focused|cursor] تعیین می‌کند که چرخش میان پنجره‌های تمام خروجی‌ها انجام شود، خروجی دارای فوکوس، یا خروجی زیر مکان‌نما. پیش‌فرض "all" است.

identifier [all|current] تعیین می‌کند که آیا چرخش میان تمام پنجره‌ها انجام شود یا فقط میان پنجره‌های متعلق به همان برنامه پنجره دارای فوکوس فعلی. پیش‌فرض "all" است.

<action name="Reconfigure" />

بارگذاری مجدد فایل‌های پیکربندی و تم.

<action name="ShowMenu" menu="root-menu" />

نمایش یک منو.
<action name="ShowMenu" menu="MENU">
  <atCursor>yes|no</atCursor>
  <position>
    <x>X</x>
    <y>Y</y>
  </position>
</action>
menu نام منویی که باید نمایش داده شود. وجود منوهای "root-menu" و "client-menu" و "client-send-to-menu" و "client-list-combined-menu" تضمین شده است، اما سایر منوها نیز می‌توانند به طور صریح تعریف شوند. برای اطلاعات بیشتر به labwc-menu(5) مراجعه کنید.

atCursor [yes|no] هنگام باز کردن یک منو، منو در محل قرارگیری مکان‌نمای ماوس باز شود. اگر روی no تنظیم شود، منو در گوشه بالا-چپ پنجره مرتبط با آن اقدام یا زیر دکمه پنجره‌ای که منو را باز کرده ظاهر می‌شود. مقدار پیش‌فرض yes است.

position نمایش منو در موقعیت مشخص‌شده روی مانیتوری که فوکوس مکان‌نما را در اختیار دارد؛ توضیحات زیر را ببینید.

تگ position دارای دو زیرتگ است. تگ‌های <x> و <y> یک موقعیت را تعیین می‌کنند و می‌توانند یک مقدار پیکسلی، رشته "center" (که منو را در آن بعد در مرکز قرار می‌دهد)، یا یک مقدار نسبی به صورت درصد دریافت کنند. مقدار نسبی بر اساس مانیتوری که منو قرار است روی آن نمایش داده شود تفسیر می‌گردد؛ برای مقادیر مثبت، نسبت به لبه چپ/بالای پنجره منو و مانیتور سنجیده می‌شود و برای مقادیر منفی، نسبت به لبه راست/پایین.

مثال زیر نشان می‌دهد که چگونه می‌توان 'root-menu' را از یک پنل تراز پایین با استفاده از دستور `wtype -M logo -k Space` باز کرد:

<keybind key="W-Space">
  <action name="ShowMenu">
  <menu>root-menu</menu>
  <position>
    <x>0</x>
    <y>-0</y>
  </position>
  </action>
</keybind>

<action name="SetDecorations" decorations="value" forceSSD="no" />

تنظیم دکوراسیون (تزئینات) پنجره دارای فوکوس.

decorations [full|border|none] مقدار full تمام دکوراسیون سمت سرور را فعال می‌کند. با مقدار border فقط حاشیه‌ها و ناحیه نامرئی تغییر اندازه فعال می‌شوند. مقدار none همه‌چیز را غیرفعال می‌کند.

forceSSD [yes|no] اگر این گزینه روی no باشد، این اقدام برای پنجره‌هایی که دارای دکوراسیون سمت کلاینت (CSD) هستند، در صورتی که باعث افزایش میزان تزئینات پنجره شود، نادیده گرفته خواهد شد. مقدار پیش‌فرض no است.

<action name="ToggleDecorations" />

تغییر وضعیت دکوراسیون پنجره دارای فوکوس.

این یک اقدام سه‌حالته است که می‌تواند چندین بار اجرا شود:

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

با غیرفعال کردن پیکربندی تم 'keepBorder'، مرحله اول حذف شده و اقدام تنها میان روشن و خاموش تغییر وضعیت می‌دهد.

<action name="ToggleFullscreen" />

تغییر وضعیت تمام‌صفحه پنجره دارای فوکوس.

<action name="ToggleMaximize" direction="value" />

تغییر وضعیت بیشینه‌سازی پنجره دارای فوکوس. جهت‌های پشتیبانی‌شده عبارتند از "both" (پیش‌فرض)، "horizontal" و "vertical".

<action name="Maximize" direction="value" />

بیشینه‌سازی پنجره دارای فوکوس در جهت(های) مشخص‌شده. جهت‌های پشتیبانی‌شده عبارتند از "both" (پیش‌فرض)، "horizontal" و "vertical".

<action name="UnMaximize" direction="value" />

خروج پنجره دارای فوکوس از حالت بیشینه در جهت(های) مشخص‌شده و بازگرداندن آن به ابعاد پیش از بیشینه‌سازی. جهت‌های پشتیبانی‌شده عبارتند از "both" (پیش‌فرض)، "horizontal" و "vertical".

<action name="ToggleAlwaysOnTop" />

تغییر وضعیت حالت «همیشه در بالا» برای پنجره دارای فوکوس.

<action name="ToggleAlwaysOnBottom" />

تغییر وضعیت میان لایه‌های 'always-on-bottom' (همیشه در پایین) و 'normal' (عادی). هنگامی که پنجره‌ای در لایه 'always-on-bottom' قرار دارد، زیر تمامی پنجره‌های سطح بالای دیگر رندر می‌شود. پیش‌بینی می‌شود این اقدام هنگام تعریف قوانین پنجره (window-rules) برای ابزارهای مدیریت میزکار که از پروتکل wlr-layer-shell پشتیبانی نمی‌کنند، مفید باشد.

<action name="ToggleOmnipresent" />

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

<action name="ToggleKeybinds" />

توقف پردازش کلیدهای میانبر صفحه‌کلید/ماوس به جز خود ToggleKeybinds. این اقدام می‌تواند برای ارسال میانبرهایی مانند Alt-Tab و موارد مشابه به ماشین‌های مجازی، کلاینت‌های VNC یا کامپوزیتورهای تو در تو استفاده شود. فراخوانی مجدد این اقدام تمامی کلیدهای میانبر اصلی را بازمی‌گرداند.

این اقدام تنها روی پنجره‌ای تأثیر می‌گذارد که هنگام اجرای کلید میانبر دارای فوکوس صفحه‌کلید بوده است. بنابراین با رفتن به پنجره‌ای دیگر، تمامی کلیدهای میانبر عادی دوباره عمل می‌کنند تا زمانی که به پنجره اصلی بازگردید. چندین پنجره می‌توانند به طور همزمان در این حالت قرار گیرند.

<action name="ToggleTearing" />

تغییر وضعیت بریدگی تصویر (tearing) برای پنجره دارای فوکوس میان فعال و غیرفعال. این اقدام اولویت پنجره (نکته راهنمای بریدگی یا tearing hint) را بازنویسی می‌کند.

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

<action name="FocusOutput" output="HDMI-A-1" direction="value" wrap="no" />

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

اگر output مشخص شده باشد، فوکوس به خروجی تعیین‌شده داده می‌شود و direction نادیده گرفته خواهد شد. اگر output ذکر نشود، direction می‌تواند یکی از مقادیر "left"، "right"، "up" یا "down" باشد تا نشان دهد فوکوس باید به خروجی بعدی در آن جهت (در صورت وجود) داده شود.

wrap [yes|no] هنگام استفاده از مشخصه direction، چرخش حلقه‌ای از راست به چپ یا بالا به پایین و برعکس انجام شود. مقدار پیش‌فرض no است.

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

<action name="MoveToOutput" output="HDMI-A-1" direction="value" wrap="no" />

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

اگر output مشخص شده باشد، پنجره مستقیماً به خروجی تعیین‌شده فرستاده می‌شود و direction نادیده گرفته خواهد شد. اگر output ذکر نشود، direction می‌تواند یکی از مقادیر "left"، "right"، "up" یا "down" باشد تا نشان دهد پنجره باید به خروجی بعدی در آن جهت (در صورت وجود) منتقل شود.

wrap [yes|no] هنگام استفاده از مشخصه direction، چرخش حلقه‌ای از راست به چپ یا بالا به پایین و برعکس انجام شود. مقدار پیش‌فرض no است.

<action name="FitToOutput" />

تغییر ابعاد پنجره فعال به عرض و ارتفاع خروجی در صورتی که اندازه پنجره از اندازه خروجی بیشتر شود.

<action name="GoToDesktop" to="value" wrap="yes" toggle="no" />

رفتن به فضای کاری.

to فضای کاری مورد نظر برای جابه‌جایی. مقادیر پشتیبانی‌شده عبارتند از "current"، "last"، "left"، "right"، "left-occupied"، "right-occupied" یا نام کامل یک فضای کاری یا شماره نمایه آن (شروع از ۱) همان‌گونه که در rc.xml پیکربندی شده است.

wrap [yes|no] چرخش حلقه‌ای از آخرین میزکار به اولین میزکار و برعکس. مقدار پیش‌فرض yes است.

toggle [yes|no] در صورتی که هم‌اکنون در همان فضای کاری مقصد باشید، به “last” (آخرین فضای کاری) جابه‌جا شود. مقدار پیش‌فرض no است.

<action name="SendToDesktop" to="value" follow="yes" wrap="yes" />

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

to فضای کاری برای انتقال پنجره. مقادیر پشتیبانی‌شده مشابه دستور GoToDesktop هستند.

follow [yes|no] همراه با انتقال پنجره، به فضای کاری مشخص‌شده نیز تغییر وضعیت داده شود. مقدار پیش‌فرض yes است.

wrap [yes|no] چرخش حلقه‌ای از آخرین میزکار به اولین میزکار و برعکس. مقدار پیش‌فرض yes است.

<action name="VirtualOutputAdd" output_name="value" />

افزودن خروجی مجازی (بک‌اند بدون سر / headless).

برای نمونه، می‌توان از آن برای پوشش دادن یک خروجی مجازی روی یک خروجی واقعی اما با وضوح تصویر متفاوت استفاده کرد (این کار می‌تواند با `wlr-randr` یا `wdisplays` انجام شود). پس از آن، خروجی مجازی می‌تواند برای اشتراک‌گذاری صفحه (کستینگ) انتخاب شود و عملاً فقط همان ناحیه از صفحه به اشتراک گذاشته شود.

باید توجه داشت که انداختن خروجی مجازی روی خروجی واقعی توسط wlroots به طور رسمی تأیید یا پشتیبانی نمی‌شود. به عنوان مثال، پس از پیکربندی خروجی مجازی، خروجی واقعی نیز باید مجدداً پیکربندی شود (تا پیکربندی پوششی به درستی کار کند). نمونه این پیکربندی به صورت زیر است:

<keybind key="W-v">
  <action name="VirtualOutputAdd" output_name="ScreenCasting" />
  <action name="Execute" command='sh -c "wlr-randr --output ScreenCasting --pos 0,0 --scale 2 --custom-mode 3840x2110; wlr-randr --output eDP-1 --pos 0,0 --scale 2 --mode 3840x2160"' />
</keybind>
<keybind key="W-c">
  <action name="VirtualOutputRemove" />
</keybind>
توجه داشته باشید که وضوح عمودی خروجی "ScreenCasting" دقیقاً 50 پیکسل از خروجی "eDP-1" کوچک‌تر است تا پنل پایینی از اشتراک‌گذاری صفحه بریده و حذف شود.

خروجی مجازی همچنین برای گسترش میزکار به سیستم‌های از راه دور (شاید همراه) مانند تبلت‌ها مفید است؛ برای مثال، صرفاً با افزودن یک خروجی مجازی، اتصال wayvnc به آن و اجرای یک کلاینت VNC در سیستم راه دور.

output_name نام خروجی مجازی. تعیین نام خروجی مجازی برای خودکارسازی‌های بعدی مفید خواهد بود. مقدار پیش‌فرض "HEADLESS-X" است.

<action name="VirtualOutputRemove" output_name="value" />

حذف خروجی مجازی (بک‌اند headless).

output_name نام خروجی مجازی. در صورت عدم ارائه، آخرین خروجی مجازی اضافه‌شده حذف خواهد شد.

<action name="AutoPlace" policy="value" />

تغییر موقعیت پنجره بر اساس سیاست جانمایی مورد نظر.

policy [automatic|cursor|center|cascade] استفاده از سیاست تعیین‌شده، که همان معنای مقدار متناظر در <placement><policy> را دارد. پیش‌فرض automatic است.

<action name="Shade" />
<action name="Unshade" />
<action name="ToggleShade" />

به ترتیب فعال کردن، غیرفعال کردن یا تغییر وضعیت حالت «لوله‌شده» (shaded) پنجره فعال. هنگامی که پنجره لوله‌شده باشد، محتوای پنجره پنهان شده و فقط نوار عنوان قابل مشاهده باقی می‌ماند. پنجره‌های تمام‌صفحه یا پنجره‌های بدون دکوراسیون سمت سرور (از جمله پنجره‌هایی که نوار عنوان سمت سرور آن‌ها پنهان شده است) واجد شرایط لوله‌شدن نیستند.

<action name="WarpCursor" to="output" x="center" y="center" />

پرش دادن (warp) مکان‌نما به موقعیتی نسبت به خروجی یا پنجره فعال.

to [output|window] ناحیه هدف پرش مکان‌نما را تعیین می‌کند. پیش‌فرض "output" است

x [center|value] موقعیت افقی پرش درون ناحیه هدف را مشخص می‌کند. مقدار "center": مکان‌نما را به مرکز افقی ناحیه هدف می‌برد. اعداد صحیح مثبت یا منفی مکان‌نما را به موقعیتی با افست تعیین‌شده به تعداد پیکسل از لبه چپ یا راست ناحیه هدف جابه‌جا می‌کنند. پیش‌فرض "center" است

y [center|value] عملکرد مشابه برای موقعیت عمودی پرش در ناحیه هدف. پیش‌فرض "center" است

<action name="HideCursor" />

پنهان کردن اشاره‌گر یا مکان‌نمای قلم نوری. مکان‌نما پس از اقدامات بعدی اشاره‌گر، اقدامات قلم نوری یا ژست‌های تاچ‌پد مجدداً قابل مشاهده می‌شود. همراه با اقدام WarpCursor استفاده شود تا نه تنها مکان‌نما پنهان گردد بلکه به دورتر نیز منتقل شود تا به عنوان مثال از ایجاد جلوه‌های هاور (hover) جلوگیری شود.

<action name="EnableScrollWheelEmulation" />
<action name="DisableScrollWheelEmulation" />
<action name="ToggleScrollWheelEmulation">

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

همچنین برای تنظیم دقیق سرعت اسکرول به <libinput><scrollFactor> در labwc-config(5) مراجعه کنید.

<action name="EnableTabletMouseEmulation" />
<action name="DisableTabletMouseEmulation" />
<action name="ToggleTabletMouseEmulation">

به ترتیب فعال‌سازی، غیرفعال‌سازی یا تغییر وضعیت شبیه‌سازی ماوس برای تبلت‌های طراحی.

<action name="ToggleMagnify">

خاموش یا روشن کردن ذره‌بین صفحه در آخرین سطح بزرگ‌نمایی استفاده‌شده.

<action name="ToggleShowDesktop" />

کمینه‌سازی تمام پنجره‌ها در فضای کاری فعلی به طوری که میزکار نمایان شود. با فراخوانی مجدد این اقدام، پنجره‌های پنهان‌شده از حالت کمینه خارج می‌شوند، مشروط بر اینکه از زمان اجرای اولیه `ShowDesktop`: (الف) هیچ پنجره‌ای به صورت دستی از حالت کمینه خارج نشده باشد؛ (ب) فضاهای کاری تعویض نشده باشند؛ و (ج) هیچ برنامه جدیدی اجرا نشده باشد.

<action name="ZoomIn">
<action name="ZoomOut">

افزایش یا کاهش سطح بزرگ‌نمایی ذره‌بین صفحه نمایش. اگر ذره‌بین در حال حاضر خاموش باشد، ZoomIn آن را در کمترین سطح بزرگ‌نمایی فعال می‌کند که برابر با (۱ + گام افزایش ذره‌بین تنظیم‌شده در تم) است. اگر ذره‌بین روشن و در کمترین سطح بزرگ‌نمایی باشد، ZoomOut آن را خاموش می‌کند.

<action name="None" />

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

<action name="DebugToggleKeyStateIndicator" />

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

اقداماتی که اقدامات دیگر را اجرا می‌کنند. در کلیدهای میانبر صفحه‌کلید/ماوس استفاده می‌شوند.

<action name="If">

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

آرگومان‌ها به شرح زیر هستند:

<action name="If">
  <query />
  <prompt message="" />
  <then><action /></then>
  <else><action /></else>
</action>

query

تعریف یک پرس‌وجو با صفر یا چند شرط. تمام شرط‌ها باید به صورت درستی (true) ارزیابی شوند تا پنجره با این پرس‌وجو مطابقت داشته باشد. چندین پرس‌وجو می‌توانند تعریف شوند.

تطبیق الگو بر اساس glob(7) انجام می‌شود و به بزرگی و کوچکی حروف حساس نیست.

شرط‌ها به شرح زیر هستند:

identifier

شناسه app_id در شل XDG برای کلاینت‌های Wayland، و WM_CLASS برای کلاینت‌های XWayland.

title

عنوان شل XDG برای کلاینت‌های Wayland، و WM_NAME برای کلاینت‌های XWayland.

type

روش‌های ابتکاری (هیوریستیک) داخلی برای کلاینت‌های Wayland، و NET_WM_WINDOW_TYPE برای کلاینت‌های XWayland.

shaded [yes|no]

آیا کلاینت لوله‌شده (جمع‌شده) است یا خیر.

maximized [both|horizontal|vertical|none]

آیا کلاینت در هر دو محور، تنها در محور افقی، تنها در محور عمودی بیشینه شده است، یا در هیچ‌یک از محورها بیشینه نیست (none).

iconified [yes|no]

آیا کلاینت کمینه (آیکون) شده است یا خیر.

focused [yes|no]

آیا کلاینت دارای فوکوس است یا خیر.

omnipresent [yes|no]

آیا کلاینت در تمامی میزکارها نمایان است یا خیر.

desktop

میزکاری که کلاینت در حال حاضر در آن قرار دارد. این مقدار می‌تواند شماره یا نام یک میزکار باشد، یا مقادیر نسبی ویژه شامل "current"، "other"، "left"، "right"، "left-occupied"، "right-occupied" یا "last". جهت‌های "left" و "right" و "left-occupied" و "right-occupied" چرخش حلقه‌ای نخواهند داشت.

tiled [up|right|down|left|up-left|up-right|down-left|down-right|center|any]

آیا کلاینت در راستای لبه مشخص‌شده صفحه کاشی‌بندی (اسنپ) شده است یا خیر.

tiled_region

آیا کلاینت در ناحیه مشخص‌شده کاشی‌بندی (اسنپ) شده است یا خیر. ناحیه مشخص‌شده می‌تواند یک الگوی glob باشد.

decoration [full|border|none]

آیا کلاینت دارای دکوراسیون کامل سمت سرور، فقط حاشیه‌ها، یا فاقد هرگونه دکوراسیون سمت سرور است.

monitor [current|left|right|<monitor_name>]

آیا کلاینت در مانیتوری نسبت به مانیتور دارای فوکوس فعلی (current، left یا right) قرار دارد یا در مانیتوری با <monitor_name> داده‌شده.

این آرگومان اختیاری است.

prompt

نمایش یک کادر گفتگوی پرسش بله/خیر (پیش‌فرض labnag). اگر 'yes' انتخاب شود، شاخه then اجرا خواهد شد؛ و به طور مشابه با انتخاب 'no' شاخه else اجرا می‌شود. این آرگومان اختیاری است. توجه داشته باشید که ساختار نحوی آن با Openbox متفاوت است؛ در Openbox یک عنصر prompt به اقدامات If وابسته نیست بلکه صرفاً فرزندی از اقدام پایینی خواهد بود. دلیل این تفاوت، افزایش انعطاف‌پذیری و کارایی حاصل از استفاده اختیاری از شاخه else است.
<keybind key="W-q">
  <action name="If">
    <prompt message="Quit?" />
    <then>
      <action name="Exit" />
    </then>
  </action>
</keybind>

then

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

else

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

<action name="ForEach">

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

اقدام ForEach دارای یک شاخه اختیاری دیگر به نام none است که زمانی اجرا می‌شود که هیچ پنجره‌ای با پرس‌وجو مطابقت نداشته باشد. این امکان به عنوان مثال برای پیاده‌سازی قابلیت اجرا یا بالا آوردن (run-or-raise) کاربرد دارد.

labwc(1), labwc-config(5), labwc-theme(5), glob(7)

2026-08-22