'\" t .\" Title: herbstluftwm .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-04-03 .\" Manual: \ \& .\" Source: \ \& herbstluftwm 0.9.6 .\" Language: Persian .\" .TH "HERBSTLUFTWM" "1" "2026\-04\-03" "\ \& herbstluftwm 0\&.9\&.6" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" herbstluftwm \- مدیر پنجره کاشی‌بندی دستی برای سامانه پنجره X11 .SH "خلاصه دستور (SYNOPSIS)" .sp \fBherbstluftwm\fR [\fIOPTION\fR \&...] .SH "توضیحات (DESCRIPTION)" .sp مدیر پنجره \fBherbstluftwm\fR را روی \fIDISPLAY\fR راه‌اندازی می‌کند. همچنین به فراخوانی‌های ارسالی از \fBherbstclient\fR(1) گوش داده و آن‌ها را اجرا می‌کند. فهرست \fBدستورات\fR موجود در ادامه آورده شده است. .sp \fIOPTION\fR می‌تواند یکی از موارد زیر باشد: .PP \fB\-v\fR, \fB\-\-version\fR .RS 4 نمایش نسخه و خروج .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 نمایش راهنمای کوتاه و خروج .RE .PP \fB\-c\fR, \fB\-\-autostart\fR \fIPATH\fR .RS 4 استفاده از \fIPATH\fR به عنوان فایل اجرای خودکار به جای فایل موجود در \fI$XDG_CONFIG_HOME\fR .RE .PP \fB\-\-replace\fR .RS 4 جایگزینی با مدیر پنجره فعلی. .RE .PP \fB\-l\fR, \fB\-\-locked\fR .RS 4 تنظیم اولیه مقدار monitors_locked به 1. هشدار: این کار herbstluftwm را تا زمان فراخوانی دستور \fBunlock\fR (معمولاً توسط \fBautostart\fR) قفل نگه می‌دارد. اگر \fB\-\-locked\fR فعال باشد اما autostart دستور \fBunlock\fR را اجرا نکند (یا اگر اجرای آن به دلیل یک دستور مسدودکننده قبلی غیرقابل دسترس باشد)، herbstluftwm قفل باقی مانده و باعث یخ زدن و عدم پاسخ‌دهی می‌شود. فقط با احتیاط استفاده کنید! .RE .PP \fB\-\-exit\-on\-xerror\fR .RS 4 خروج herbstluftwm در هنگام گزارش خطا توسط xlib. این گزینه تنها باید برای آزمایش‌های خودکار فعال شود و هرگز نباید در نشست‌های واقعی استفاده شود. .RE .PP \fB\-\-no\-transparency\fR .RS 4 غیرفعال کردن شفافیت واقعی. .RE .PP \fB\-\-no\-tag\-import\fR .RS 4 عدم حفظ برچسب‌ها (میزکارهای مجازی) از مدیر پنجره قبلی در حال اجرا. .RE .PP \fB\-\-verbose\fR .RS 4 چاپ اطلاعات پرجزئیات در خروجی خطای استاندارد (stderr). این حالت در زمان اجرا با تنظیم \fIverbose\fR قابل تغییر است. .RE .sp این راهنما رابط اسکریپت‌نویسی و پیکربندی را مستند می‌کند. برای آشنایی مفصل‌تر به \fBherbstluftwm\-tutorial\fR(7) مراجعه کنید. .SH "الگوریتم کاشی‌بندی (TILING ALGORITHM)" .sp مفهوم پایه کاشی‌بندی این است که چیدمان با یک درخت دودویی نمایش داده می‌شود. هنگام راه‌اندازی، یک قاب بزرگ در سراسر صفحه مشاهده می‌کنید. هر قاب دقیقاً یکی از شرایط زیر را برآورده می‌کند: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} قاب شامل پنجره‌ها است: چندین کلاینت را نمایش داده و آن‌ها را مرتب می‌کند. الگوریتم‌های چیدمان موجود عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIvertical\fR \- کلاینت‌ها زیر یکدیگر قرار می‌گیرند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIhorizontal\fR \- کلاینت‌ها در کنار یکدیگر قرار می‌گیرند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fImax\fR \- همه کلاینت‌ها در این قاب تمام‌صفحه (بزرگ‌نمایی) می‌شوند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIgrid\fR \- کلاینت‌ها در یک شبکه تقریباً مربعی چیده می‌شوند .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} قاب به زیرقاب‌ها تقسیم شده است: قاب دقیقاً به دو \fBزیرقاب\fR با یک \fIکسر\fR (نسبت) قابل‌پیکربندی، به صورت عمودی یا افقی تقسیم می‌شود. بنابراین دو \fBقاب\fR تولید می‌کند که شرایط یکسانی دارند (قاب‌های جدید همیشه در آستانه دربرگیری \fBپنجره‌ها\fR هستند). اگر قابی را تقسیم کنید که از قبل حاوی پنجره است، پنجره‌ها توسط اولین قاب فرزند جدید به ارث برده می‌شوند. .RE .sp اگر پنجره جدیدی ظاهر شود، در قابی قرار می‌گیرد که هم‌اکنون فوکوس دارد. فقط برگ‌های درخت قاب می‌توانند فوکوس دریافت کنند. .sp یک قاب را می‌توان حذف کرد، در این صورت با قاب همسایه خود ادغام می‌شود. با توجه به ساختار چیدمان درخت دودویی، هر قاب (یعنی هر گره در درخت دودویی) دقیقاً یک همسایه دارد. .sp قیاس با درخت دودویی به بهترین شکل با یک مثال کوچک توضیح داده می‌شود: در هنگام راه‌اندازی یک درخت دودویی ساده دارید، با یک قاب که می‌تواند شامل کلاینت‌ها باشد: .sp .if n \{\ .RS 4 .\} .nf C .fi .if n \{\ .RE .\} .sp هنگام تقسیم آن (برای مثال با دستور \fIsplit vertical 0\&.5\fR) به این ساختار می‌رسید: .sp .if n \{\ .RS 4 .\} .nf V / \e C C .fi .if n \{\ .RE .\} .sp همچنین می‌توانید قاب چپ را به صورت افقی تقسیم کنید و به این ساختار برسید: .sp .if n \{\ .RS 4 .\} .nf V / \e H C / \e C C .fi .if n \{\ .RE .\} .sp اگر فوکوس را به کلاینت سمت راست تغییر داده و این قاب را حذف کنید، با زیردرخت سمت چپ ادغام شده و به این ساختار می‌رسید: .sp .if n \{\ .RS 4 .\} .nf H / \e C C .fi .if n \{\ .RE .\} .sp دستور \fIlayout\fR چیدمان فعلی همه برچسب‌ها را به صورت یک درخت چاپ می‌کند. .SH "نمایه قاب (FRAME INDEX)" .sp موقعیت دقیق یک قاب در درخت چیدمان را می‌توان با \fBنمایه\fR آن توصیف کرد که رشته‌ای از کاراکترها است. الگوریتم جستجو از قاب ریشه آغاز شده و رشته \fBنمایه\fR را کاراکتر به کاراکتر به صورت زیر تفسیر می‌کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR: انتخاب اولین زیردرخت .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB1\fR: انتخاب دومین زیردرخت .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\&.\fR: انتخاب زیردرختی که دارای فوکوس است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB/\fR: انتخاب زیردرختی که دارای فوکوس نیست .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB@\fR: انتخاب قابی که دارای فوکوس است. بر خلاف \fB\&.\fR، این مورد از چندین لایه عبور کرده و مستقیماً به برگ فوکوس‌شده درخت قاب می‌رسد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBp\fR: انتخاب درخت والد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBe\fR: یافتن یک قاب خالی مناسب: اگر قاب فوکوس‌شده خالی نباشد، نزدیک‌ترین قابی را که خالی است (در هر زیردرختی) انتخاب می‌کند .RE .sp برای مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک رشته خالی به قاب ریشه اشاره دارد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB00\fR به اولین زیردرخت از اولین زیردرختِ قاب ریشه اشاره دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB1e\fR به اولین قاب خالی در دومین زیردرخت اشاره دارد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB/@\fR به قاب فوکوس‌شده در "نیمه" بدون فوکوس درخت قاب اشاره دارد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB@p/\fR به هم‌نیای قاب فوکوس‌شده اشاره دارد .RE .SH "برچسب‌ها (TAGS)" .sp برچسب‌ها بسیار شبیه به فضاهای کاری، میزکارهای مجازی یا گروه‌های پنجره هستند. هر برچسب دارای یک چیدمان است. فهرستی از برچسب‌ها وجود دارد. می‌توانید برچسب‌ها را به صورت پویا اضافه یا حذف کنید. .SH "نمایشگرها (MONITORS)" .sp نمایشگرها در \fBherbstluftwm\fR کاملاً مستقل از صفحات نمایش فیزیکی واقعی هستند. این بدان معناست که برای مثال می‌توانید صفحه نمایش خود را به دو نمایشگر مجازی تقسیم کنید تا دو برچسب را به طور همزمان روی یک صفحه نمایش بزرگ مشاهده نمایید. .sp هر نمایشگر دقیقاً یک برچسب را روی مستطیلی مشخص از صفحه نمایش نشان می‌دهد. .sp هر نمایشگر می‌تواند یک نام داشته باشد که از طریق \fBadd_monitor\fR و \fBrename_monitor\fR تنظیم می‌شود. این نام را می‌توان با دستور \fBrename_monitor\fR پاک کرد. نام نمایشگر یک رشته غیرخالی دلخواه است که نباید با \fB+\fR، \fB\-\fR یا هر رقمی شروع شود. .sp به یک نمایشگر می‌توان به روش‌های مختلفی ارجاع داد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با نمایه مطلق آن همان‌طور که در دستور \fBlist_monitors\fR فهرست شده است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با نمایه نسبی آن: یک \fB+\fR یا \fB\-\fR به همراه یک مقدار تغییر (دلتا)، برای مثال: +3 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با موقعیت نسبی آن نسبت به نمایشگر فوکوس‌شده: \fB\-l\fR نمایشگر سمت چپ نمایشگر فوکوس‌شده، \fB\-r\fR سمت راست آن، \fB\-u\fR بالای آن و \fB\-d\fR پایین آن را نشان می‌دهد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با "" (یک رشته خالی) که نمایشگر فعلی را نشان می‌دهد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} با نام آن. .RE .SH "دستورات (COMMANDS)" .sp \fBherbstluftwm\fR با دستورات داخلی کنترل می‌شود که می‌توانند از طریق \fBherbstclient\fR(1) یا از طریق کلیدهای میانبر اجرا شوند\&. .PP quit .RS 4 از herbstluftwm خارج می‌شود\&. .RE .PP reload .RS 4 فایل autostart را اجرا می‌کند\&. .RE .PP version .RS 4 نسخه نمونه در حال اجرای herbstluftwm را چاپ می‌کند\&. .RE .PP echo [\fIARGS\fR \&...] .RS 4 تمام \fIARGS\fR داده‌شده را که با یک فاصله و در ادامه یک خط جدید از هم جدا شده‌اند، چاپ می‌کند\&. .RE .PP true .RS 4 تمام آرگومان‌ها را نادیده می‌گیرد و همیشه موفقیت (یعنی 0) را بازمی‌گرداند\&. .RE .PP false .RS 4 تمام آرگومان‌ها را نادیده می‌گیرد و همیشه شکست (یعنی 1) را بازمی‌گرداند\&. .RE .PP help [\fIOBJECT\fR|\fIATTRIBUTE\fR] .RS 4 راهنمای مربوط به شیء یا مشخصه داده‌شده را چاپ می‌کند\&. برای مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} help clients\&.focus .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} help monitors .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} help types\&.color .RE .RE .PP list_commands .RS 4 تمام دستورات موجود را فهرست می‌کند\&. .RE .PP list_monitors .RS 4 نمایشگرهای پیکربندی‌شده فعلی را به همراه نمایه (index)، ناحیه (به صورت مستطیل)، نام (در صورت داشتن نام) و برچسب (tag) در حال نمایش فعلی فهرست می‌کند\&. .RE .PP list_rules .RS 4 تمام قوانین فعال را فهرست می‌کند\&. هر خط شامل تمام پارامترهایی است که قانون با آن‌ها فراخوانی شده است، به علاوه برچسب (label) آن، که با تب از هم جدا شده‌اند\&. .RE .PP list_keybinds .RS 4 تمام کلیدهای مقیدشده را به همراه دستور مرتبط با آن‌ها فهرست می‌کند\&. هر خط شامل یک ترکیب کلید و دستور به همراه پارامترهای آن است که با تب از هم جدا شده‌اند\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار\fR .ps -1 .br .sp تب‌ها در پارامترهای دستور اسکیپ نمی‌شوند! .sp .5v .RE .PP list_clients [\fB\-\-tag=\fR\fITAG\fR|\fB\-\-monitor=\fR\fIMONITOR\fR] [\fB\-\-frame=\fR\fIFRAME_PATH\fR|\fB\-\-floating\fR|\fB\-\-tiling\fR] [\fB\-\-title\fR] .RS 4 شناسه‌های پنجره (window ids) تمام کلاینت‌های موجود در \fITAG\fR یا \fIMONITOR\fR داده‌شده (یا مورد فعلی در صورت مشخص نشدن) را فهرست می‌کند\&. علاوه بر این، می‌توان خروجی را به کلاینت‌های موجود در یک فریم خاص (\fB\-\-frame=\fR) یا به کلاینت‌های کاشی‌بندی‌شده یا شناور محدود کرد\&. خروجی به ازای هر کلاینت در یک خط است؛ اگر \fB\-\-title\fR داده شود، علاوه بر شناسه پنجره هر کلاینت، عنوان پنجره آن نیز در همان خط چاپ می‌شود\&. .RE .PP lock .RS 4 تنظیم \fImonitors_locked\fR را افزایش می‌دهد\&. اگر می‌خواهید چندین عملیات مربوط به پنجره‌ها را به صورت همزمان (یعنی بدون بازترسیم بین تک‌تک مراحل) انجام دهید، از این دستور استفاده کنید\&. همچنین ببینید: \fBunlock\fR .RE .PP unlock .RS 4 تنظیم \fImonitors_locked\fR را کاهش می‌دهد\&. اگر \fImonitors_locked\fR به 0 تغییر کند، آنگاه تمام نمایشگرها مجدداً بازترسیم می‌شوند\&. همچنین ببینید: \fBlock\fR .RE .PP keybind \fIKEY\fR \fICOMMAND\fR [\fIARGS \&...\fR] .RS 4 یک کلید میانبر اضافه می‌کند\&. اگر از قبل قید برای این \fIKEY\fR وجود داشته باشد، بازنویسی خواهد شد\&. هنگامی که \fIKEY\fR فشار داده شود، دستور داخلی \fICOMMAND\fR (با \fIARGS\fR آن) اجرا می‌شود\&. یک کلید میانبر شامل یک لیست (احتمالاً خالی) از کلیدهای تغییردهنده (Mod1، Mod2، Mod3، Mod4، Mod5، Alt، Super، Control/Ctrl، Shift) و یک کلید است (برای مشاهده لیست کلیدها keysymdef\&.h را ببینید)\&. کلیدهای تغییردهنده و کلید اصلی با \fI\-\fR یا \fI+\fR به عنوان جداکننده به هم متصل می‌شوند\&. اگر \fIKEY\fR دارای پیشوند \fIRelease\-\fR باشد، آنگاه کلید میانبر فقط در زمان رویداد رهاسازی کلید متناظر فعال خواهد بود؛ یعنی برای اجرای کلید میانبر \fIRelease\-Mod1\-Shift\-p\fR ابتدا باید \fIMod1\-Shift\-p\fR را فشار داده و سپس \fIp\fR را رها کنید\&. مثال‌ها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} keybind Mod4+Ctrl+q quit .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} keybind Mod4\-Shift\-d attr clients\&.focus\&.decorated toggle .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} keybind Mod1\-Shift\-space cycle_layout \-1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBkeybind Release\-Mod4\-Shift\-p spawn scrot\fR زمانی که \fBp\fR رها شود در حالی که Mod4 و Shift همچنان فشرده نگه داشته شده‌اند، یک اسکرین‌شات می‌گیرد\&. .RE .RE .PP keyunbind \fIKEY\fR|\fB\-F\fR|\fB\-\-all\fR .RS 4 کلید میانبر را برای \fIKEY\fR حذف می‌کند\&. نحو \fIKEY\fR در \fBkeybind\fR تعریف شده است\&. اگر \fB\-F\fR یا \fB\-\-all\fR داده شود، تمام کلیدهای میانبر حذف خواهند شد\&. .RE .PP mousebind \fIBUTTON\fR \fIACTION\fR [\fICOMMAND\fR \&...] .RS 4 یک کلید ماوس برای حالت شناور اضافه می‌کند\&. هنگامی که \fIBUTTON\fR فشار داده شود، \fIACTION\fR مشخص‌شده انجام خواهد شد\&. \fIBUTTON\fR دارای نحوی شبیه به آرگومان \fIKEY\fR در keybind است: این آرگومان شامل فهرستی از کلیدهای تغییردهنده (جداشده با \fI\-\fR یا \fI+\fR؛ کلیدهای تغییردهنده معتبر در توضیحات \fIkeybind\fR فهرست شده‌اند) و دقیقاً یک نام دکمه است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBB1\fR یا \fBButton1\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBB2\fR یا \fBButton2\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \&... .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBB9\fR یا \fBButton9\fR .RE .RE .PP .RS 4 \fIACTION\fR باید یکی از اقدامات زیر باشد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmove\fR: پنجره را با کشیدن مکان‌نما حرکت می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBresize\fR: اندازه پنجره را با کشیدن یکی از گوشه‌ها تغییر می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBzoom\fR: اندازه پنجره را در هر چهار جهت تغییر می‌دهد در حالی که مرکز پنجره ثابت باقی می‌ماند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcall\fR: فقط \fICOMMAND\fR مشخص‌شده را فراخوانی می‌کند در حالی که \fBclient\&.dragged\fR به کلاینتی که \fIBUTTON\fR روی آن اعمال شده پیوند دارد\&. .RE .RE .PP .RS 4 در حین انجام یک \fIACTION\fR، \fBclient\&.dragged\fR همان کلاینتی است که کشیده می‌شود\&. برای مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmousebind Mod1\-Button3 zoom\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmousebind Mod1\-B4 call substitute WID clients\&.dragged\&.winid spawn transset\-df \-\-inc \-i WID 0\&.05\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmousebind Mod1\-B5 call substitute WID clients\&.dragged\&.winid spawn transset\-df \-\-dec \-i WID \-m 0\&.2 0\&.05\fR .RE .RE .PP drag \fIWINID\fR \fIACTION\fR .RS 4 کشیدن پنجره کلاینت مشخص‌شده \fIWINID\fR را با \fIACTION\fR مشخص‌شده آغاز می‌کند (دستور \fImousebind\fR را ببینید)\&. برای مثال \fBdrag \*(Aq\*(Aq resize\fR تغییر اندازه پنجره فوکوس‌شده را آغاز می‌کند\&. .RE .PP mouseunbind .RS 4 تمام قیدهای ماوس را حذف می‌کند\&. .RE .PP spawn \fIEXECUTABLE\fR [\fIARGS \&...\fR] .RS 4 یک فایل اجرایی \fIEXECUTABLE\fR را به همراه \fIARGS\fR آن اجرا می‌کند\&. برای جزئیات \fIman 3 execvp\fR را ببینید\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} spawn xterm \-e man 3 execvp .RE .RE .PP wmexec [\fIWINDOWMANAGER\fR [\fIARGS \&...\fR]] .RS 4 مدیر پنجره \fIWINDOWMANAGER\fR را با \fIARGS\fR آن اجرا می‌کند\&. این دستور برای تعویض مدیر پنجره در نشست فعال بدون راه‌اندازی مجدد نشست مفید است\&. اگر هیچ \fIWINDOWMANAGER\fR یا مقدار نامعتبری داده شود، herbstluftwm مجدداً راه‌اندازی می‌شود\&. برای جزئیات \fIman 3 execvp\fR را ببینید\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} wmexec openbox .RE .RE .PP chain \fISEPARATOR\fR [\fICOMMANDS\fR \&...] .RS 4 دستور chain به یک \fISEPARATOR\fR و فهرستی از \fICOMMANDS\fR همراه با آرگومان‌ها نیاز دارد\&. دستورات باید با \fISEPARATOR\fR مشخص‌شده از هم جدا شوند\&. \fISEPARATOR\fR می‌تواند هر کلمه‌ای باشد و تنها در صورتی به عنوان جداکننده بین دستورات شناخته می‌شود که دقیقاً با \fISEPARATOR\fR مطابقت داشته باشد\&. "chain" خروجی‌های پیوست‌شده تمام دستورات را چاپ کرده و کد خروج آخرین دستور اجراشده را بازمی‌گرداند\&. مثال‌ها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ایجاد یک برچسب با نام "foo" و استفاده مستقیم از آن: chain , add foo , use foo .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} چرخش چیدمان در جهت عقربه‌های ساعت: chain \&.\-\&. lock \&.\-\&. rotate \&.\-\&. rotate \&.\-\&. rotate \&.\-\&. unlock .RE .RE .PP .RS 4 مثال‌های نقض: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} این حالت فقط برچسبی با نام ",foo" ایجاد می‌کند: chain , add foo, use foo .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} جداکننده "\&." تعریف شده، اما "," استفاده شده است: chain \&. add foo , use foo .RE .RE .PP and \fISEPARATOR\fR [\fICOMMANDS\fR \&...] .RS 4 دستور "and" رفتاری شبیه به دستور chain دارد، اما \fICOMMANDS\fR مشخص‌شده را فقط تا زمانی اجرا می‌کند که دستورات کد خروج 0 را بازگردانند\&. .RE .PP or \fISEPARATOR\fR [\fICOMMANDS\fR \&...] .RS 4 دستور "or" رفتاری شبیه به دستور chain دارد، اما \fICOMMANDS\fR مشخص‌شده را تا زمانی اجرا می‌کند که یکی از دستورات کد خروج 0 را بازگرداند\&. .RE .PP ! \fICOMMAND\fR .RS 4 دستور "!" دستور ارائه‌شده را اجرا می‌کند، اما مقدار بازگشتی آن را معکوس می‌سازد\&. اگر دستور ارائه‌شده مقداری غیرصفر بازگرداند، "!" مقدار 0 را برمی‌گرداند؛ و اگر دستور مقدار صفر بازگرداند، "!" مقدار 1 را برمی‌گرداند\&. .RE .PP try \fICOMMAND\fR .RS 4 دستور "try" دستور ارائه‌شده را اجرا کرده، خروجی آن را چاپ می‌کند، اما همیشه موفقیت (یعنی 0) را بازمی‌گرداند\&. .RE .PP silent \fICOMMAND\fR .RS 4 دستور "silent" دستور ارائه‌شده را اجرا می‌کند، اما خروجی آن را نادیده گرفته و فقط کد خروج آن را بازمی‌گرداند\&. .RE .PP focus_nth \fIINDEX\fR .RS 4 روی n-امین پنجره در یک فریم فوکوس می‌کند\&. پنجره اول دارای \fIINDEX\fR برابر با 0 است\&. اگر \fIINDEX\fR منفی یا بزرگتر از شاخص آخرین پنجره باشد، روی آخرین پنجره فوکوس می‌شود\&. .RE .PP cycle [\fIDELTA\fR] .RS 4 انتخاب را در فریم فعلی به میزان \fIDELTA\fR پیمایش می‌کند یا در صورت فوکوس بودن لایه شناور، در میان کلاینت‌های لایه شناور پیمایش می‌کند\&. اگر \fIDELTA\fR حذف شود، مقدار \fIDELTA\fR = 1 استفاده خواهد شد\&. \fIDELTA\fR می‌تواند منفی باشد؛ \fIDELTA\fR = \-1 یعنی: پیمایش در جهت مخالف به میزان 1\&. .RE .PP cycle_all [\fB\-\-skip\-invisible\fR] [\fIDIRECTION\fR] .RS 4 در میان تمام پنجره‌ها و فریم‌های کمینه‌نشده در برچسب فعلی پیمایش می‌کند\&. \fIDIRECTION\fR = 1 به معنای به جلو (مقدار پیش‌فرض)، \fIDIRECTION\fR = \-1 به معنای به عقب، و \fIDIRECTION\fR = 0 بدون اثر است\&. اگر چندین پنجره در یک فریم وجود داشته باشد، رفتاری مشابه دستور \fIcycle\fR دارد\&. اگر \fB\-\-skip\-invisible\fR داده شود، این دستور فقط در میان تمام پنجره‌های مرئی پیمایش کرده و پنجره‌های نامرئی را در چیدمان max نادیده می‌گیرد (این فلگ فقط بر پنجره‌های نامرئی در چیدمان max اثر می‌گذارد؛ پنجره‌های کمینه‌شده همیشه نادیده گرفته می‌شوند)\&. پس از هر تغییر فوکوس، پنجره فوکوس‌شده بالا آورده می‌شود\&. .RE .PP cycle_frame [\fIDIRECTION\fR] .RS 4 در میان تمام فریم‌های برچسب فعلی پیمایش می‌کند\&. \fIDIRECTION\fR = 1 به معنای به جلو، \fIDIRECTION\fR = \-1 به معنای به عقب، و \fIDIRECTION\fR = 0 بدون اثر است\&. مقدار پیش‌فرض \fIDIRECTION\fR برابر با 1 است\&. .RE .PP cycle_layout [\fIDELTA\fR [\fILAYOUTS\fR \&...]] .RS 4 الگوریتم چیدمان را در فریم فعلی به میزان \fIDELTA\fR پیمایش می‌دهد\&. مقدار پیش‌فرض \fIDELTA\fR برابر با 1 است\&. می‌توانید فهرستی از الگوریتم‌های چیدمان را در بالا بیابید\&. اگر فهرستی از \fILAYOUTS\fR داده شود، cycle_layout به جای لیست پیش‌فرض الگوریتم‌های چیدمان، میان آن موارد پیمایش می‌کند\&. این کار با یافتن اولین رخداد چیدمان فعلی در \fILAYOUTS\fR و انتخاب چیدمان بعدی بر اساس \fIDELTA\fR انجام می‌شود\&. اگر چیدمان فعلی در \fILAYOUTS\fR وجود نداشته باشد، اولین مدخل انتخاب می‌شود\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} cycle_layout \-1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} cycle_layout 1 vertical grid .RE .RE .PP set_layout \fILAYOUT\fR .RS 4 الگوریتم چیدمان در فریم فعلی را به \fILAYOUT\fR تنظیم می‌کند\&. برای مشاهده فهرست چیدمان‌ها، فهرست الگوریتم‌های چیدمان در بالا را بررسی کنید\&. .RE .PP close \fIWINID\fR .RS 4 پنجره مشخص‌شده را به آرامی می‌بندد، یا در صورتی که پنجره‌ای صراحتاً مشخص نشده باشد، پنجره فوکوس‌شده را می‌بندد\&. بخش مربوط به شناسه‌های پنجره (WINDOW IDS) را برای نحوه ارجاع به یک پنجره خاص ببینید\&. .RE .PP close_or_remove .RS 4 پنجره فوکوس‌شده را می‌بندد یا اگر هیچ پنجره‌ای فوکوس نشده باشد، فریم فعلی را حذف می‌کند\&. در حالت شناور، این دستور مانند دستور close عمل می‌کند\&. .RE .PP close_and_remove .RS 4 پنجره فوکوس‌شده را می‌بندد و اگر پنجره دیگری در آن فریم وجود نداشته باشد، فریم فعلی را حذف می‌کند\&. در حالت شناور، این دستور مانند دستور close عمل می‌کند\&. .RE .PP split \fIALIGN\fR [\fIFRACTION\fR [\fIFRAMEINDEX\fR]] .RS 4 فریم فوکوس‌شده (یا فریم مشخص‌شده توسط \fIFRAMEINDEX\fR، بخش \fBشاخص فریم (frame index)\fR را ببینید) را با یک \fIFRACTION\fR مشخص بین 0 و 1 که پیش‌فرض آن 0\&.5 است، به دو زیرفریم تقسیم می‌کند\&. \fIALIGN\fR یکی از موارد زیر است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fItop\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbottom\fR (= \fIvertical\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIleft\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIright\fR (= \fIhorizontal\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIexplode\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIauto\fR (تقسیم در امتداد طولانی‌ترین ضلع) این گزینه مشخص می‌کند کدام یک از دو نیمه پس از تقسیم خالی خواهد بود\&. نیمه دیگر توسط فریم فوکوس‌شده فعلی اشغال خواهد شد\&. پس از تقسیم، فریم اصلی که فوکوس بود همچنان در حالت فوکوس باقی می‌ماند\&. یک حالت ویژه \fIALIGN\fR حالت \fIexplode\fR است که فریم را به گونه‌ای تقسیم می‌کند که فوکوس پنجره، اندازه پنجره‌ها و موقعیت‌ها تا حد امکان حفظ شوند (بنابراین بر خلاف سایر حالت‌های \fIALIGN\fR، مقدار پیش‌فرض \fIFRACTION\fR همیشه 0\&.5 نیست)\&. مثال: .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} split explode .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} split bottom 0\&.5 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} split horiz 0\&.3 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} split vertical 0\&.5 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} split h .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} split top 0\&.2 \*(Aq\*(Aq (فریم ریشه را تقسیم می‌کند) .RE .RE .PP focus [\fI\-i\fR|\fI\-e\fR|\fB\-\-level=\fR\fILEVEL\fR] \fIDIRECTION\fR .RS 4 فوکوس را از فریم فعلی به فریم یا کلاینت بعدی در \fIDIRECTION\fR منتقل می‌کند که در یکی از جهت‌های زیر است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} l[eft] .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} r[ight] .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} u[p] .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} d[own] .RE .RE .PP .RS 4 اگر هیچ کلاینتی در این فریم وجود نداشته باشد یا \fILEVEL\fR برابر با \fIframe\fR باشد، روی فریم بعدی در \fIDIRECTION\fR مشخص‌شده فوکوس می‌شود\&. اگر \fILEVEL\fR برابر با \fIvisible\fR باشد یا default_direction_external_only تنظیم نشده باشد، کلاینت بعدی در \fIDIRECTION\fR می‌تواند در همان فریم نیز باشد، اما باید مرئی باشد\&. برای سطح \fItabs\fR در \fILEVEL\fR، کلاینت بعدی ممکن است در یک چیدمان tabbed_max مخفی باشد\&. با \fIall\fR هر کلاینتی در یک چیدمان max ممکن است قبل از فوکوس روی فریم بعدی انتخاب شود\&. فلگ \fI\-i\fR نام مستعاری برای \fI\-\-level=visible\fR و \fI\-e\fR نام مستعاری برای \fI\-\-level=frame\fR است\&. جهت بین فریم‌ها به صورت زیر تعریف می‌شود: فوکوس در یک برگ از درخت دودویی قرار دارد\&. هر گره داخلی در درخت، آخرین جهت فوکوس را به خاطر می‌سپارد (فرزند 0 یا فرزند 1)\&. این الگوریتم از کوتاه‌ترین مسیر ممکن از برگ (فریم فوکوس‌شده فعلی) تا ریشه استفاده می‌کند تا جایی که امکان تغییر فوکوس در \fIDIRECTION\fR مشخص‌شده وجود داشته باشد\&. از آنجا فوکوس دوباره به برگ برمی‌گردد\&. مثال: فوکوس روی فریم A قرار دارد\&. پس از اجرای \fIfocus right\fR فوکوس روی فریم C خواهد بود\&. .sp .if n \{\ .RS 4 .\} .nf Tree: H,0 Screen: ┌─────┐┌─────┐ (before) ╱ ╲ │ B ││ C │ ╱ ╲ └─────┘└─────┘ V,1 V,0 ┌─────┐┌─────┐ ╱ ╲ ╱ ╲ │ A* ││ D │ B A* C D └─────┘└─────┘ Tree: H,1 Screen: ┌─────┐┌─────┐ (after focus right) ╱ ╲ │ B ││ C* │ ╱ ╲ └─────┘└─────┘ V,1 V,0 ┌─────┐┌─────┐ ╱ ╲ ╱ ╲ │ A ││ D │ B A C* D └─────┘└─────┘ .fi .if n \{\ .RE .\} .RE .PP .RS 4 اگر کلاینت فوکوس‌شده فعلی شناور باشد، روی پنجره شناور بعدی در جهت مشخص‌شده فوکوس شده و بالا آورده می‌شود\&. .RE .PP .RS 4 اگر \fIfocus_crosses_monitor_boundaries\fR تنظیم شده باشد و هیچ کلاینت یا فریمی در \fIDIRECTION\fR مشخص‌شده یافت نشود، روی نمایشگر بعدی در آن \fIDIRECTION\fR فوکوس می‌شود\&. .RE .PP focus_edge [\fI\-i\fR|\fI\-e\fR] \fIDIRECTION\fR .RS 4 روی پنجره واقع در لبه برچسب در \fIDIRECTION\fR مشخص‌شده فوکوس می‌کند\&. \fIDIRECTIONS\fR و \fI\-e\fR همانند توضیحات دستور \fIfocus\fR عمل می‌کنند\&. اگر \fI\-i\fR (داخلی) داده شود یا default_direction_external_only تنظیم نشده باشد، روی پنجره واقع در لبه برچسب فوکوس خواهد شد\&. در غیر این صورت، تنها روی فریم واقع در لبه برچسب فوکوس می‌شود، و پنجره‌ای که آخرین بار در آن فریم فوکوس بوده، فوکوس را دریافت می‌کند\&. .RE .PPraise \fIWINID\fR .RS 4 پنجرهٔ مشخص‌شده را (چه مدیریت‌شده چه مدیریت‌نشده) بالا می‌آورد (Raise)\&. پنجره‌های مدیریت‌شده فقط در پشتهٔ همان برچسب جابه‌جا می‌شوند (همان‌طور که دستور \fIstack\fR گزارش می‌دهد)، و پنجره‌های مدیریت‌نشده به‌صورت سراسری بالا می‌آیند، یعنی بالاتر از همهٔ پنجره‌های مدیریت‌شده قرار می‌گیرند\&. برای نحوهٔ ارجاع به یک پنجرهٔ خاص، بخش شناسه‌های پنجره (WINDOW IDS) را ببینید\&. نتیجهٔ این دستور فقط برای پنجره‌های شناور و مدیریت‌نشده قابل مشاهده است\&. .RE .PP lower \fIWINID\fR .RS 4 پنجرهٔ مشخص‌شده را (مدیریت‌شده یا مدیریت‌نشده) پایین می‌برد (Lower)، مشابه دستور \fIraise\fR: پنجره‌های مدیریت‌شده در پشتهٔ پنجره‌های شناور به پایین برده می‌شوند (بدون هیچ اثری روی پنجره‌های کاشی‌کاری‌شده) و پنجره‌های مدیریت‌نشده به زیر همهٔ پنجره‌های مدیریت‌شده منتقل می‌شوند (برای مثال می‌توان از آن برای پایین بردن پنجره‌های دسکتاپ استفاده کرد)\&. .RE .PP jumpto \fIWINID\fR .RS 4 فوکوس را به پنجرهٔ مشخص‌شده منتقل می‌کند\&. برای نحوهٔ ارجاع به یک پنجرهٔ خاص، بخش شناسه‌های پنجره (WINDOW IDS) را ببینید\&. .RE .PP bring \fIWINID\fR .RS 4 پنجرهٔ مشخص‌شده را به فریم جاری منتقل کرده و روی آن فوکوس می‌کند\&. پنجره‌های شناور به برچسب جاری آورده می‌شوند، اما وضعیت شناور خود را حفظ می‌کنند\&. برای نحوهٔ ارجاع به یک پنجرهٔ خاص، بخش شناسه‌های پنجره (WINDOW IDS) را ببینید\&. .RE .PP resize \fIDIRECTION\fR [\fIFRACTIONDELTA\fR] .RS 4 اندازهٔ فریم دارای فوکوس را در \fIDIRECTION\fR (جهت) مشخص‌شده به میزان \fIFRACTIONDELTA\fR تغییر می‌دهد (که اگر مقداری مشخص نشود، مقدار پیش‌فرض آن 0\&.02 است)\&. \fIDIRECTION\fR همان‌طور که در دستور \fIfocus\fR توضیح داده شده رفتار می‌کند\&. اگر یک پنجرهٔ شناور دارای فوکوس باشد، به سمت لبهٔ بعدی، یعنی لبهٔ پنجرهٔ بعدی یا لبهٔ نمایشگر در \fIDIRECTION\fR مشخص‌شده گسترش می‌یابد (در این حالت \fIFRACTIONDELTA\fR نادیده گرفته می‌شود)\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} resize right +0\&.05 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} resize down \-0\&.1 .RE .RE .PP shift_edge [\fI\-i\fR|\fI\-e\fR] \fIDIRECTION\fR .RS 4 پنجرهٔ دارای فوکوس را به لبهٔ برچسب در \fIDIRECTION\fR (جهت) مشخص‌شده منتقل می‌کند\&. پارامترهای \fIDIRECTIONS\fR همان‌طور که در دستور \fIfocus\fR مشخص شده رفتار می‌کنند و \fI\-i\fR و \fI\-e\fR نیز مطابق دستور \fIfocus_edge\fR عمل می‌نمایند\&. .RE .PP shift [\fI\-i\fR|\fI\-e\fR|\fB\-\-level=\fR\fILEVEL\fR] \fIDIRECTION\fR .RS 4 پنجرهٔ دارای فوکوس را به فریم بعدی در \fIDIRECTION\fR (جهت) مشخص‌شده منتقل می‌کند\&. پارامترهای \fIDIRECTIONS\fR و گزینه‌های \fI\-i\fR|\fI\-e\fR|\fB\-\-level=\fR\fILEVEL\fR مطابق با دستور \fIfocus\fR رفتار می‌کنند\&. اگر کلاینت دارای فوکوس به جای کاشی‌کاری، شناور باشد، کلاینت به پنجرهٔ بعدی یا لبهٔ صفحه منتقل می‌شود\&. اگر پنجره قابل جابه‌جایی نباشد و تنظیم \fIfocus_crosses_monitor_boundaries\fR فعال باشد، پنجره به نمایشگر واقع در \fIDIRECTION\fR مشخص‌شده منتقل خواهد شد\&. .RE .PP shift_to_monitor \fIMONITOR\fR .RS 4 پنجرهٔ دارای فوکوس را به برچسب موجود در \fIMONITOR\fR (نمایشگر) مشخص‌شده منتقل می‌کند\&. برای نحوهٔ آدرس‌دهی یک نمایشگر، بخش نمایشگرها (MONITORS) را ببینید\&. .RE .PP remove .RS 4 فریم دارای فوکوس را حذف کرده و پنجره‌های آن را در نزدیک‌ترین فریم همسایه‌اش ادغام می‌کند\&. .RE .PP rotate .RS 4 چیدمان برچسب دارای فوکوس را ۹۰ درجه در خلاف جهت عقربه‌های ساعت می‌چرخاند\&. این دستور فقط تراز فریم‌ها را تغییر می‌دهد، نه محتوای درون آن‌ها را\&. .RE .PP mirror [\fIvertical\fR|\fIhorizontal\fR|\fIboth\fR] .RS 4 چیدمان برچسب دارای فوکوس را به‌صورت عمودی، افقی یا هر دو قرینه (آینه‌ای) می‌کند؛ حالت پیش‌فرض \fIhorizontal\fR (افقی) است\&. این دستور فقط تراز فریم‌ها را دستکاری می‌کند، نه محتوای آن‌ها را\&. .RE .PP set \fINAME\fR \fIVALUE\fR .RS 4 تنظیم مشخص‌شده با نام \fINAME\fR را برابر با \fIVALUE\fR قرار می‌دهد\&. مقادیر مجاز برای تنظیمات بولی عبارتند از \fIon\fR یا \fItrue\fR برای فعال، \fIoff\fR یا \fIfalse\fR برای غیرفعال، و \fItoggle\fR برای معکوس کردن مقدار آن\&. تمام \fBتنظیمات (settings)\fR در بخش زیر فهرست شده‌اند\&. .RE .PP get \fINAME\fR .RS 4 مقدار تنظیم \fINAME\fR را چاپ می‌کند\&. تمام \fBتنظیمات (settings)\fR در بخش زیر فهرست شده‌اند\&. .RE .PP toggle \fINAME\fR .RS 4 در صورتی که تنظیم \fINAME\fR یک تنظیم بولی باشد، وضعیت آن را معکوس (Toggle) می‌کند\&. .RE .PP cycle_value \fIPATH\fR \fIVALUES\fR \&... .RS 4 مقدار صفت \fIPATH\fR را میان مقادیر \fIVALUES\fR می‌چرخاند: یعنی اولین رخداد مقدار فعلی را در \fIVALUES\fR جستجو می‌کند و مقدار را به مقدار بعدی در فهرست تغییر می‌دهد یا اگر به پایان فهرست رسیده باشد یا مقدار فعلی پیدا نشود، به اولین مقدار تغییر می‌دهد\&. بنا به دلایل سازگاری، \fIPATH\fR می‌تواند نام یک تنظیم نیز باشد\&. مثال‌ها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} cycle_value settings\&.frame_gap 0 5 10 15 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} cycle_value theme\&.active\&.inner_color red green blue .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} دستور \fIcycle_layout +1\fR معادل است با \fIcycle_value tags\&.focus\&.tiling\&.focused_frame\&.algorithm\fR .RE .RE .PP cycle_monitor [\fIDELTA\fR] .RS 4 نمایشگر دارای فوکوس را به اندازهٔ \fIDELTA\fR گام می‌چرخاند\&. مقدار پیش‌فرض \fIDELTA\fR برابر با 1 است\&. .RE .PP focus_monitor \fIMONITOR\fR .RS 4 فوکوس را به نمایشگر مشخص‌شده منتقل می‌کند\&. برای نحوهٔ آدرس‌دهی یک نمایشگر، بخش نمایشگرها (MONITORS) را ببینید\&. .RE .PP add \fITAG\fR .RS 4 یک برچسب خالی جدید با نام \fITAG\fR ایجاد می‌کند\&. .RE .PP use \fITAG\fR .RS 4 نمایشگر دارای فوکوس را به \fITAG\fR مشخص‌شده تغییر می‌دهد\&. .RE .PP use_index \fIINDEX\fR [\fB\-\-skip\-visible\fR] .RS 4 نمایشگر دارای فوکوس را به \fITAG\fR با \fIINDEX\fR (اندیس) مشخص‌شده تغییر می‌دهد\&. اگر \fIINDEX\fR با \fB+\fR یا \fB\-\fR شروع شود، آنگاه \fIINDEX\fR به‌صورت نسبی نسبت به \fITAG\fR جاری در نظر گرفته می‌شود\&. اگر \fB\-\-skip\-visible\fR ارسال شود و \fIINDEX\fR نسبی باشد، برچسب‌هایی که قبلاً روی یک نمایشگر قابل مشاهده هستند نادیده گرفته می‌شوند\&. برای مثال، دستور زیر برچسب‌ها را به عقب پیمایش می‌کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} use_index \-1 \-\-skip\-visible .RE .RE .PP use_previous .RS 4 نمایشگر دارای فوکوس را به برچسبی که قبلاً مشاهده شده بود تغییر می‌دهد\&. .RE .PP merge_tag \fITAG\fR [\fITARGET\fR] .RS 4 برچسب با نام \fITAG\fR را حذف کرده و تمام پنجره‌های آن را به برچسب \fITARGET\fR منتقل می‌کند\&. اگر \fITARGET\fR مشخص نشود، از برچسب دارای فوکوس استفاده خواهد شد\&. .RE .PP rename \fIOLDTAG\fR \fINEWTAG\fR .RS 4 نام برچسب \fIOLDTAG\fR را به \fINEWTAG\fR تغییر می‌دهد\&. .RE .PP move \fITAG\fR .RS 4 پنجرهٔ دارای فوکوس را به برچسب با نام \fITAG\fR منتقل می‌کند\&. .RE .PP move_index \fIINDEX\fR [\fB\-\-skip\-visible\fR] .RS 4 پنجرهٔ دارای فوکوس را به برچسب مشخص‌شده با \fIINDEX\fR منتقل می‌کند\&. مشابه آرگومان در \fBuse_index\fR: اگر \fIINDEX\fR با \fB+\fR یا \fB\-\fR شروع شود، به‌صورت نسبی در نظر گرفته می‌شود\&. اگر \fB\-\-skip\-visible\fR همراه با یک اندیس نسبی ارسال شود، برچسب‌های از قبل مرئی رد می‌شوند\&. .RE .PP lock_tag [\fIMONITOR\fR] .RS 4 تعویض برچسب را روی نمایشگر مشخص‌شده قفل می‌کند\&. اگر هیچ آرگومانی داده نشود، از نمایشگر دارای فوکوس استفاده می‌شود\&. هنگامی که تعویض برچسب برای یک نمایشگر غیرفعال باشد، دستورات \fBuse\fR و \fBuse_index\fR هنگام اجرا روی آن هیچ تأثیری نخواهند داشت\&. هنگامی که \fIswap_monitors_to_get_tag\fR فعال باشد، رفتن به برچسبی که روی یک نمایشگر قفل‌شده قرار دارد، به جای ربودن برچسب از آن، فوکوس را به آن نمایشگر منتقل می‌کند\&. وضعیت قفل یک نمایشگر با "[LOCKED]" در خروجی \fBlist_monitors\fR نمایش داده می‌شود\&. .RE .PP unlock_tag [\fIMONITOR\fR] .RS 4 تعویض برچسب را مجدداً روی نمایشگر مشخص‌شده فعال می‌کند\&. اگر آرگومانی داده نشود، از نمایشگر دارای فوکوس جاری استفاده می‌شود\&. این عملیات معکوس \fBlock_tag\fR است و اثر جانبی دیگری جز حذف این قفل ندارد\&. .RE .PP disjoin_rects \fIRECTS\fR \&... .RS 4 فهرستی از مستطیل‌ها را گرفته و آن‌ها را به قطعات کوچک‌تر تقسیم می‌کند تا تمام مستطیل‌ها مجزا (disjoint) شوند، مستطیل‌های حاصل خط به خط چاپ می‌شوند\&. این دستور فهرست فعلی نمایشگرها را تغییر نمی‌دهد! بنابراین می‌تواند در ترکیب با دستور set_monitors مفید باشد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} برای مثال \fBdisjoin_rects 600x400+0+0 600x400+300+250\fR این خروجی را چاپ می‌کند: .sp .if n \{\ .RS 4 .\} .nf 300x150+300+250 600x250+0+0 300x150+0+250 300x150+600+250 600x250+300+400 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} در مثال بالا دو نمایشگر به ۵ نمایشگر تقسیم می‌شوند، که از نظر گرافیکی یعنی: .sp .if n \{\ .RS 4 .\} .nf ┌──────┐ ┌──────┐ │ │ └──────┘ │ ┌───┼───┐ ┌─┐┌───┐┌──┐ │ │ │ │ disjoin │ ││ ││ │ └──┼───┘ │ ─────────> └─┘└───┘└──┘ │ │ ┌───────┐ └───────┘ └───────┘ .fi .if n \{\ .RE .\} .RE .RE .PP set_monitors \fIRECTS\fR \&... .RS 4 فهرست نمایشگرها را \fBدقیقاً\fR برابر با فهرست مستطیل‌های داده‌شده تنظیم می‌کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نمایشگر موجود i-اُم به \fIRECT\fR (مستطیل) i-اُم داده‌شده منتقل می‌شود .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر تعداد \fIRECTS\fR بیشتر از نمایشگرها باشد، نمایشگرهای جدید ایجاد می‌شوند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر تعداد نمایشگرها بیشتر از \fIRECTS\fR باشد، نمایشگرهای موجود حذف می‌شوند .RE .RE .PP detect_monitors \fI\-l\fR|\fI\-\-list\fR|\fI\-\-list\-all\fR|\fI\-\-no\-disjoin\fR .RS 4 فهرست نمایشگرها را برابر با نمایشگرهای فیزیکی موجود تنظیم می‌کند\&. اگر هر دوی Xinerama و xrandr ناموجود باشند، به یک نمایشگر روی کل صفحه بازمی‌گردد\&. اگر نمایشگرهای شناسایی‌شده همپوشانی داشته باشند، با استفاده از \fBdisjoin_rects\fR به نمایشگرهای بیشتری تقسیم می‌شوند که مجزا هستند اما همان ناحیه را پوشش می‌دهند\&. اگر \fI\-l\fR یا \fI\-\-list\fR ارسال شود، فهرست مستطیل‌های نمایشگرهای فیزیکی شناسایی‌شده چاپ می‌شود\&. بنابراین \fBhc detect_monitors\fR معادل دستور بش زیر است: \fBhc set_monitors $(hc disjoin_rects $(hc detect_monitors \-l))\fR\&. اگر \fI\-\-list\-all\fR ارسال شود، مشخص می‌کند که کدام سیستم تشخیص چندنمایشگره (xinerama، xrandr) چه مجموعه‌ای از نمایشگرهای فیزیکی را دارد\&. .RE .PP add_monitor \fIRECT\fR [\fITAG\fR [\fINAME\fR]] .RS 4 یک نمایشگر روی مستطیل مشخص‌شده \fIRECT\fR اضافه کرده و \fITAG\fR را روی آن نمایش می‌دهد\&. \fITAG\fR در حال حاضر نباید روی هیچ نمایشگر دیگری نمایش داده شود\&. \fIRECT\fR یک رشته به صورت \fIWxH\(+-X\(+-Y\fR است\&. اگر هیچ برچسبی یا یک \fITAG\fR خالی داده شود، بر اساس صفت \fImonitors\&.tag_selection_strategy\fR یک برچسب آزاد/خالی انتخاب خواهد شد\&. اگر \fINAME\fR داده شود، می‌توانید به جای استفاده از اندیس، با نام این نمایشگر به آن ارجاع دهید\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} add_monitor 1024x768\-20+0 mynewtag main .RE .RE .PP remove_monitor \fIMONITOR\fR .RS 4 نمایشگر مشخص‌شده را حذف می‌کند\&. .RE .PP move_monitor \fIMONITOR\fR \fIRECT\fR [\fIPADUP\fR [\fIPADRIGHT\fR [\fIPADDOWN\fR [\fIPADLEFT\fR]]]] .RS 4 نمایشگر مشخص‌شده را به مستطیل \fIRECT\fR منتقل می‌کند\&. \fIRECT\fR همان‌طور که در \fIadd_monitor\fR بیان شد تعریف می‌شود\&. اگر حاشیه (pad) داده نشود یا خالی باشد، تغییر نخواهد کرد\&. .RE .PP raise_monitor [\fIMONITOR\fR] .RS 4 نمایشگر مشخص‌شده یا در صورت عدم درج \fIMONITOR\fR نمایشگر جاری را بالا می‌آورد (Raise)\&. .RE .PP rename_monitor \fIMONITOR\fR \fINAME\fR .RS 4 نام یک نمایشگر موجود را تغییر می‌دهد\&. اگر \fINAME\fR خالی باشد، نام نمایشگر را حذف می‌کند\&. .RE .PP stack .RS 4 پشتهٔ نمایشگرها را همراه با برچسب‌های مرئی و لایه‌های آن‌ها به‌صورت یک درخت چاپ می‌کند\&. ترتیب پشتهٔ چاپ‌شده از بالا به پایین است\&. سبک نمایش توسط تنظیم \fItree_style\fR پیکربندی می‌شود\&. .RE .PP monitor_rect [[\-p] \fIMONITOR\fR] .RS 4 مستطیل نمایشگر مشخص‌شده را در قالب زیر چاپ می‌کند: \fBX Y W H\fR اگر هیچ \fIMONITOR\fR یا \fIcur\fR داده نشود، از نمایشگر جاری استفاده می‌شود\&. اگر \fI\-p\fR ارسال شود، مستطیل باقی‌مانده بدون حاشیهٔ (pad) اطراف این نمایشگر چاپ می‌شود\&. .RE .PP pad \fIMONITOR\fR [\fIPADUP\fR [\fIPADRIGHT\fR [\fIPADDOWN\fR [\fIPADLEFT\fR]]]] .RS 4 حاشیهٔ (pad) نمایشگر مشخص‌شده را روی مقادیر معین تنظیم می‌کند\&. اگر مقداری داده نشود یا خالی باشد، تغییر نخواهد کرد\&. .RE .PP list_padding [\fIMONITOR\fR] .RS 4 حاشیه‌گذاری (padding) نمایشگر مشخص‌شده، یا نمایشگر دارای فوکوس در صورت عدم تعیین نمایشگر را فهرست می‌کند\&. .RE .PP layout [\fITAG\fR [\fIINDEX\fR]] .RS 4 چیدمان فریم با \fIINDEX\fR روی \fITAG\fR را در یک قالب درختی زیبا چاپ می‌کند\&. سبک نمایش آن توسط تنظیم \fItree_style\fR تعیین می‌شود\&. اگر هیچ \fITAG\fR داده نشود، از برچسب جاری استفاده می‌شود\&. اگر هیچ \fIINDEX\fR مشخص نشود، از فریم ریشه استفاده خواهد شد\&. برای مشخص کردن \fIINDEX\fR بدون مشخص کردن \fITAG\fR (یعنی استفاده از برچسب جاری)، یک رشتهٔ خالی به عنوان \fITAG\fR ارسال کنید\&. یک نمونه خروجی: .sp .if n \{\ .RS 4 .\} .nf ╾─┐ horizontal 50% selection=1 ├─╼ vertical: 0xe00009 └─┐ vertical 50% selection=0 ├─╼ vertical: 0xa00009 [FOCUS] └─╼ vertical: 0x1000009 .fi .if n \{\ .RE .\} .RE .PP dump [\fITAG\fR [\fIINDEX\fR]] .RS 4 همان اطلاعات دستور \fIlayout\fR را اما در قالبی خوانا برای ماشین چاپ می‌کند\&. خروجی آن را می‌توان با دستور \fIload\fR مجدداً خواند و بارگذاری کرد\&. یک نمونه خروجی (که بعداً فرمت شده است): .sp .if n \{\ .RS 4 .\} .nf (split horizontal:0\&.500000:1 (clients vertical:0 0xe00009) (split vertical:0\&.500000:1 (clients vertical:0 0xa00009) (clients vertical:0 0x1000009))) .fi .if n \{\ .RE .\} .RE .PP load [\fITAG\fR] \fILAYOUT\fR .RS 4 توضیحات \fILAYOUT\fR داده‌شده را روی \fITAG\fR مشخص‌شده یا در صورت عدم ذکر \fITAG\fR روی برچسب جاری بارگذاری می‌کند\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار (Caution)\fR .ps -1 .br .sp \fILAYOUT\fR دقیقاً یک پارامتر است\&. اگر آن را به‌صورت دستی از پوسته یا از طریق یک اسکریپت فراخوانی می‌کنید، آن را به درستی داخل کوتیشن (نقل‌قول) قرار دهید! .sp .5v .RE .PP complete \fIPOSITION\fR [\fICOMMAND\fR \fIARGS \&...\fR] .RS 4 نتیجهٔ تکمیل خودکار کلید Tab را برای \fICOMMAND\fR ناقص همراه با \fIARGS\fR اختیاری چاپ می‌کند\&. معمولاً به این دستور نیازی ندارید، چرا که تکمیل با Tab برای bash، zsh و fish از قبل وجود دارد\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} complete 0 m تمام دستوراتی که با m شروع می‌شوند را چاپ می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} complete 1 toggle fra تمام تنظیماتی که با fra شروع شده و قابل معکوس شدن (toggle) هستند را چاپ می‌کند .RE .RE .PP complete_shell \fIPOSITION\fR [\fICOMMAND\fR \fIARGS \&...\fR] .RS 4 مشابه \fBcomplete\fR رفتار می‌کند با موارد اضافی زیر که برای تکمیل خودکار در پوسته‌های سازگار با posix کاربرد دارد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} دنباله‌های گریز (Escape sequences) در \fICOMMAND\fR و \fIARGS\fR حذف می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک فاصله به انتهای هر نتیجهٔ تکمیل کامل اضافه می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کاراکترهای ویژه در خروجی اسکیپ خواهند شد\&. .RE .RE .PP emit_hook \fINAME\fR \fIARGS \&...\fR .RS 4 یک قلاب (hook) سفارشی با نام \fINAME\fR را برای تمام کلاینت‌های herbstclient در حالت بیکار ارسال می‌کند\&. .RE .PP tag_status [\fIMONITOR\fR] .RS 4 فهرستی جداشده با تب از تمام برچسب‌های اندیس \fIMONITOR\fR مشخص‌شده را چاپ می‌کند\&. اگر اندیس \fIMONITOR\fR داده نشود، از نمایشگر دارای فوکوس استفاده می‌شود\&. نام هر برچسب با یک کاراکتر پیشوند همراه است که وضعیت آن را نشان می‌دهد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\&.\fR برچسب خالی است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB:\fR برچسب خالی نیست .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB+\fR برچسب روی \fIMONITOR\fR مشخص‌شده در حال مشاهده است، اما این نمایشگر فوکوس ندارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB#\fR برچسب روی \fIMONITOR\fR مشخص‌شده در حال مشاهده است و فوکوس دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\fR برچسب روی \fIMONITOR\fR دیگری در حال مشاهده است، اما آن نمایشگر فوکوس ندارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%\fR برچسب روی \fIMONITOR\fR دیگری در حال مشاهده است و فوکوس دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB!\fR برچسب حاوی یک پنجره با وضعیت اضطراری (urgent) است .RE .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار (Warning)\fR .ps -1 .br .sp اگر در یکی از نام‌های برچسب از تب (Tab) استفاده کنید، دستور tag_status احتمالاً برای شما کاملاً بی‌استفاده خواهد بود\&. .sp .5v .RE .PP floating [[\fITAG\fR] \fBon\fR|\fBoff\fR|\fBtoggle\fR|\fBstatus\fR] .RS 4 حالت \fITAG\fR مشخص‌شده را به حالت شناور/کاشی‌کاری تغییر می‌دهد یا وضعیت فعلی آن را چاپ می‌کند\&. اگر هیچ \fITAG\fR داده نشود، از برچسب جاری استفاده می‌شود\&. اگر هیچ آرگومانی داده نشود، حالت شناور معکوس (toggle) می‌شود\&. اگر \fBstatus\fR داده شود، بسته به وضعیت شناور بودن \fITAG\fR، مقدار \fBon\fR یا \fBoff\fR چاپ می‌شود\&. .RE .PP rule [[\-\-]\fIFLAG\fR|[\-\-]\fILABEL\fR|[\-\-]\fICONDITION\fR|[\-\-]\fICONSEQUENCE\fR \&...] .RS 4 قانونی را تعریف می‌کند که بر تمام کلاینت‌های جدید اعمال خواهد شد\&. رفتار آن در \fBبخش قوانین (RULES)\fR توضیح داده شده است\&. .RE .PP unrule \fILABEL\fR|\fB\-\-all\fR|\fB\-F\fR .RS 4 تمام قوانین با برچسب \fILABEL\fR را حذف می‌کند\&. اگر \-\-all یا \-F ارسال شود، تمام قوانین حذف خواهند شد\&. .RE .PP apply_rules \fIWINID\fR|\fB\-\-all\fR .RS 4 قوانین را روی پنجرهٔ مشخص‌شده با شناسهٔ \fIWINID\fR اعمال می‌کند\&. اگر \fB\-\-all\fR ارسال شود، قوانین بر تمام کلاینت‌ها اعمال می‌گردد\&. .RE .PP apply_tmp_rule \fIWINID\fR|\fB\-\-all\fR [\fIRULEDESCRIPTION\fR\&...] .RS 4 قانون \fIRULEDESCRIPTION\fR را روی یک کلاینت خاص \fIWINID\fR یا همهٔ کلاینت‌ها (\fB\-\-all\fR) بدون اضافه کردن آن به فهرست قوانین اعمال می‌کند\&. \fIRULEDESCRIPTION\fR قانونی شامل شروط و نتایج را تعیین می‌کند، همان‌گونه که به دستور \fBrule\fR ارسال می‌شود و در \fBبخش قوانین (RULES)\fR توضیح داده شده است\&. این امکان، آزمایش قوانین را قبل از افزودن آن‌ها فراهم می‌سازد\&. اجرای \fBapply_tmp_rule\fR فقط همان قانون خاص ارائه‌شده در آرگومان‌ها را اعمال کرده و قوانین موجود را نادیده می‌گیرد\&. .RE .PP fullscreen [\fBon\fR|\fBoff\fR|\fBtoggle\fR] .RS 4 وضعیت تمام‌صفحهٔ کلاینت دارای فوکوس را تنظیم یا معکوس می‌کند\&. اگر هیچ آرگومانی داده نشود، حالت تمام‌صفحه معکوس (toggle) می‌شود\&. .RE .PP pseudotile [\fBon\fR|\fBoff\fR|\fBtoggle\fR] .RS 4 وضعیت شبه‌کاشی‌کاری (pseudotile) کلاینت دارای فوکوس را تنظیم یا معکوس می‌کند\&. اگر یک کلاینت در وضعیت شبه‌کاشی‌کاری باشد، در حالت کاشی‌کاری کلاینت فقط جابه‌جا می‌شود اما تغییر اندازه نمی‌دهد \- اندازهٔ کلاینت همان اندازهٔ شناور باقی خواهد ماند\&. تنها دلیل برای تغییر اندازهٔ کلاینت، اطمینان از جا شدن آن درون کاشی مربوطه است\&. اگر هیچ آرگومانی داده نشود، حالت شبه‌کاشی‌کاری معکوس می‌شود\&. .RE .PP object_tree [\fIPATH\fR] .RS 4 درخت اشیاء را چاپ می‌کند\&. اگر مسیر شیء \fIPATH\fR داده شود، فقط زیردرختی که از \fIPATH\fR شروع می‌شود چاپ خواهد شد\&. برای جزئیات بیشتر به \fBبخش اشیاء (OBJECTS)\fR مراجعه کنید\&. .RE .PP attr [\fIPATH\fR [\fINEWVALUE\fR] .RS 4 فرزندان و صفت‌های شیء مورد نظر را که با \fIPATH\fR مشخص شده است چاپ می‌کند\&. اگر \fIPATH\fR یک صفت باشد، مقدار آن صفت را چاپ می‌کند\&. اگر \fINEWVALUE\fR داده شود، مقدار \fINEWVALUE\fR را به صفت مشخص‌شده با \fIPATH\fR اختصاص می‌دهد\&. برای جزئیات بیشتر به \fBبخش اشیاء (OBJECTS)\fR مراجعه کنید\&. .RE .PP get_attr \fIATTRIBUTE\fR .RS 4 چاپ مقدار \fIATTRIBUTE\fR مشخص‌شده طبق توضیحات ارائه‌شده در \fBبخش OBJECTS\fR\&. .RE .PP set_attr \fIATTRIBUTE\fR \fINEWVALUE\fR .RS 4 اختصاص \fINEWVALUE\fR به \fIATTRIBUTE\fR مشخص‌شده طبق توضیحات ارائه‌شده در \fBبخش OBJECTS\fR\&. .RE .PP attr_type \fIATTRIBUTE\fR .RS 4 چاپ نوع \fIATTRIBUTE\fR مشخص‌شده\&. .RE .PP new_attr \fBbool\fR|\fBcolor\fR|\fBint\fR|\fBstring\fR|\fBuint\fR \fIPATH\fR [\fIVALUE\fR] .RS 4 یک صفت جدید با نام و در شیء مشخص‌شده توسط \fIPATH\fR می‌سازد\&. نوع آن توسط آرگومان اول مشخص می‌شود\&. نام صفت باید با \fBmy_\fR شروع شود\&. اگر \fIVALUE\fR ارائه شده باشد، در صفت نوشته می‌شود (اگر این کار ناموفق باشد، صفت همچنان باقی می‌ماند)\&. .RE .PP watch \fIPATH\fR .RS 4 نظارت بر مقدار صفت مشخص‌شده در \fIPATH\fR\&. هر زمان که مقدار از \fIOLDVALUE\fR به \fINEWVALUE\fR تغییر کند، یک هوک ارسال می‌شود: \fBattribute_changed\fR \fIPATH\fR \fIOLDVALUE\fR \fINEWVALUE\fR .RE .PP remove_attr \fIPATH\fR .RS 4 صفت تعریف‌شده توسط کاربر در \fIPATH\fR را حذف می‌کند\&. .RE .PP substitute \fIIDENTIFIER\fR \fIATTRIBUTE\fR \fICOMMAND\fR [\fIARGS\fR \&...] .RS 4 تمام رخدادهای دقیق \fIIDENTIFIER\fR در \fICOMMAND\fR و \fIARGS\fR آن را با مقدار \fIATTRIBUTE\fR جایگزین می‌کند\&. توجه داشته باشید که اگر \fICOMMAND\fR برابر با \fIIDENTIFIER\fR باشد، خود دستور نیز با مقدار صفت جایگزین خواهد شد\&. سپس دستور جایگزین‌شده همراه با آرگومان‌هایش اجرا می‌شود\&. مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsubstitute MYTITLE clients\&.focus\&.title echo MYTITLE\fR عنوان پنجره‌ای که در حال حاضر روی آن فوکوس شده است را چاپ می‌کند\&. .RE .RE .PP sprintf \fIIDENTIFIER\fR \fIFORMAT\fR [\fIFORMATARG\fR \&...] \fICOMMAND\fR [\fICMDARGS\fR \&...] .RS 4 تمام رخدادهای دقیق \fIIDENTIFIER\fR در \fICOMMAND\fR و \fICMDARGS\fR آن را با رشتهٔ مشخص‌شده توسط \fIFORMAT\fR جایگزین می‌کند\&. رشتهٔ \fIFORMAT\fR می‌تواند شامل چندین متغیر جای‌گیر باشد، مشابه با دستور \fBprintf\fR(1): .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%s\fR مقدار صفتی را درج می‌کند که مسیر آن توسط مقدار رشته‌ای \fIFORMATARG\fR بعدی مشخص شده است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%c\fR («ثابت» یا "constant") مقدار \fIFORMATARG\fR بعدی را بدون تغییر درج می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%{ATTR}\fR مقدار جاری صفت \fIATTR\fR را درج می‌کند\&. مسیر \fIATTR\fR می‌تواند خود شامل متغیرهای فرمت باشد\&. از این قابلیت می‌توان برای ترکیب مسیرهای صفت در زمان اجرا، مثلاً در حلقهٔ \fBforeach\fR استفاده کرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%%\fR نمایانگر یک کاراکتر سادهٔ \fB%\fR است .RE .RE .PP .RS 4 سپس دستور جایگزین‌شده همراه با آرگومان‌هایش اجرا می‌شود\&. مثال‌ها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsprintf STR title=%s clients\&.focus\&.title echo STR\fR عنوان پنجره‌ای که در حال حاضر روی آن فوکوس است را همراه با پیشوند \fBtitle=\fR چاپ می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsprintf X "%c %s tags" "there are" tags\&.count echo X\fR عبارت \fBthere are N tags\fR را چاپ می‌کند که در آن \fBN\fR با تعداد برچسب‌ها جایگزین شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsprintf X tag=%s tags\&.focus\&.name rule once X\fR کلاینت بعدی که ظاهر می‌شود را به برچسبی که در حال حاضر روی آن فوکوس شده است منتقل می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsprintf X %s/%s tags\&.focus\&.index tags\&.count echo X\fR مشخص می‌کند کدام برچسب در حالت فوکوس است و در مجموع چند برچسب وجود دارد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsprintf l somelongstring echo l l l\fR عبارت \fBsomelongstring\fR را سه بار، جداشده با فاصله چاپ می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsprintf VALUE "%{%c\&.client_count}" tags\&.0 echo VALUE\fR تعداد کلاینت‌های روی برچسب با شاخص 0 را چاپ می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBforeach \-\-filter\-name="[0\-9]*" T tags\&. sprintf S "%{%c\&.client_count}" T echo T S\fR تعداد کلاینت‌ها را برای هر برچسب چاپ می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsubstitute X tags\&.count sprintf Y "number=%c" X echo Y\fR خروجی یکسانی دارد با \fBsprintf Y "number=%s" tags\&.count echo Y\fR (به نحوه تغییر \fB%c\fR به \fB%s\fR توجه کنید) .RE .RE .PP foreach \fIIDENTIFIER\fR \fIOBJECT\fR [\fB\-\-recursive\fR] [\fB\-\-unique\fR] [\fB\-\-filter\-name=\fR\fIREGEX\fR] \fICOMMAND\fR [\fIARGS\fR \&...] .RS 4 به ازای هر فرزند از \fIOBJECT\fR داده‌شده، \fICOMMAND\fR همراه با \fIARGS\fR آن فراخوانی می‌شود، به طوری که \fIIDENTIFIER\fR با مسیر آن فرزند جایگزین می‌گردد\&. گزینه‌ها عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-filter\-name=\fR\fIREGEX\fR فرزندانی را در نظر می‌گیرد که نام آن‌ها با \fIREGEX\fR مشخص‌شده مطابقت دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-unique\fR موارد تکراری را چاپ نمی‌کند (به برخی اشیاء می‌توان از چندین مسیر دسترسی داشت، مانند \fBclients\&.focus\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-recursive\fR شیء \fIOBJECT\fR و تمامی فرزندان آن در هر عمقی را به ترتیب جستجوی سطح‌اول چاپ می‌کند\&. این گزینه به طور ضمنی \fB\-\-unique\fR را فعال می‌سازد\&. .RE .RE .PP .RS 4 کد خروج برابر با کد خروج آخرین دستور اجرا شده خواهد بود\&. مثال‌ها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBforeach T tags\&.by\-name\&. echo T\fR چاپ می‌کند: .sp .if n \{\ .RS 4 .\} .nf tags\&.by\-name\&.1 tags\&.by\-name\&.2 tags\&.by\-name\&.3 [\&.\&.\&.] .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} توجه داشته باشید که \fBforeach\fR فقط روی فرزندان پیمایش می‌کند و نه روی صفت‌ها، بنابراین \fBforeach S settings echo S\fR چیزی چاپ نمی‌کند، زیرا شیء settings فقط دارای صفت است و شیء فرزندی ندارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBforeach C clients\&. echo C\fR مسیر شیء همهٔ کلاینت‌ها را چاپ می‌کند، اما کلاینت فوکوس‌شده را دو بار چاپ می‌کند، زیرا در \fBclients\&.\fR دو بار ذکر شده است: یک بار با شناسه پنجره و یک بار به عنوان \fBclients\&.focus\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBforeach F tags\&.focus\&.tiling\&.root\&. \-\-recursive echo F\fR مسیر شیء تمام قاب‌های روی برچسب فوکوس‌شده را چاپ می‌کند\&. .RE .RE .PP mktemp [\fBbool\fR|\fBint\fR|\fBstring\fR|\fBuint\fR] \fIIDENTIFIER\fR \fICOMMAND\fR [\fIARGS\fR \&...] .RS 4 یک صفت موقت با نوع داده‌شده ایجاد می‌کند و تمام رخدادهای \fIIDENTIFIER\fR در \fICOMMAND\fR و \fIARGS\fR را با مسیر صفت موقت جایگزین می‌نماید\&. سپس دستور جایگزین‌شده همراه با آرگومان‌هایش اجرا می‌شود\&. وضعیت خروج \fICOMMAND\fR بازگردانده می‌شود\&. .RE .PP compare \fIATTRIBUTE\fR \fIOPERATOR\fR \fIVALUE\fR .RS 4 مقدار \fIATTRIBUTE\fR را با \fIVALUE\fR با استفاده از روش مقایسهٔ \fIOPERATOR\fR مقایسه می‌کند\&. اگر مقایسه موفقیت‌آمیز باشد 0 و در غیر این صورت 1 برمی‌گرداند\&. عملگرها عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB=\fR: مقدار \fIATTRIBUTE\fR برابر با \fIVALUE\fR است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB!=\fR: مقدار \fIATTRIBUTE\fR برابر با \fIVALUE\fR نیست .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBle\fR: مقدار \fIATTRIBUTE\fR <= \fIVALUE\fR است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBlt\fR: مقدار \fIATTRIBUTE\fR < \fIVALUE\fR است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBge\fR: مقدار \fIATTRIBUTE\fR >= \fIVALUE\fR است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBgt\fR: مقدار \fIATTRIBUTE\fR > \fIVALUE\fR است .RE .RE .PP .RS 4 عملگرهای \fIOPERATORs\fR \fBle\fR، \fBlt\fR، \fBge\fR، \fBgt\fR فقط در صورتی قابل استفاده هستند که \fIATTRIBUTE\fR از نوع عدد صحیح یا عدد صحیح بدون علامت باشد\&. توجه داشته باشید که پارامتر اول همیشه باید یک صفت و پارامتر دوم یک مقدار ثابت باشد\&. اگر می‌خواهید دو صفت را مقایسه کنید، از دستور substitute استفاده کنید: .sp .if n \{\ .RS 4 .\} .nf substitute FC tags\&.focus\&.frame_count \e compare tags\&.focus\&.client_count gt FC .fi .if n \{\ .RE .\} .sp اگر تعداد کلاینت‌های روی برچسب فوکوس‌شده بیشتر از قاب‌ها باشد، با موفقیت بازمی‌گردد\&. .RE .PP getenv \fINAME\fR .RS 4 مقدار متغیر محیطی \fINAME\fR را دریافت می‌کند\&. .RE .PP setenv \fINAME\fR \fIVALUE\fR .RS 4 مقدار متغیر محیطی \fINAME\fR را روی \fIVALUE\fR تنظیم می‌کند\&. برای یک معادل راحت‌تر، دستور export را ببینید\&. .RE .PP unsetenv \fINAME\fR .RS 4 متغیر محیطی \fINAME\fR را لغو تنظیم می‌کند\&. .RE .PP export \fINAME\fR=\fIVALUE\fR .RS 4 مقدار متغیر محیطی \fINAME\fR را روی \fIVALUE\fR تنظیم می‌کند\&. نحو آن همانند \fBexport\fR در پوسته‌های یونیکس است (توجه داشته باشید که یک \fB=\fR وجود دارد)\&. به طور شهودی، اگر فراموش کردید قبل از شروع herbstluftwm دستور \fBexport FOO=BAR\fR را اجرا کنید، می‌توانید از درون نشست herbstluftwm خود دستور \fBherbstclient export FOO=BAR\fR را برای اعمال همان اثر اجرا کنید\&. دستور \fBexport\fR همانند دستور setenv با نحوی متفاوت است\&. .RE .PP debug_css [\fIFLAGS\fR] .RS 4 این دستور صرفاً برای آزمایش herbstluftwm وجود دارد؛ در نشست‌های عادی hlwm هیچ کاربردی ندارد\&. علاوه بر این، رابط این دستور ممکن است به روش‌های ناسازگار تغییر کند\&. این دستور عملیات‌های گوناگونی را انجام می‌دهد که توسط \fIFLAGS\fR اختیاری مشخص می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-stylesheet=CSS\fR شیوه‌نامه‌ای را مشخص می‌کند که احتمالاً در یکی از دستورات دیگر استفاده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-print\-css\fR شیوه‌نامه را به شکل استانداردشده چاپ می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-tree=TREE\fR مشخصات درختی به سبک DOM، که در آن نحو درخت با \fB(\fR شروع شده و با \fB)\fR پایان می‌یابد\&. در این بین، درخت شامل فهرستی از نام‌های کلاس و زیردرخت‌ها است که با فاصله جدا شده‌اند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-print\-tree\fR مشخصات درختی \fITREE\fR را مجدداً چاپ می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-pretty\-client\-tree=CLIENT\fR برای \fICLIENT\fR داده‌شده، درخت ویجت‌های آن را همراه با کلاس‌هایی که هر ویجت دارد چاپ می‌کند\&. پیش از هر کلاس همانند انتخابگرهای css یک نقطه \fB\&.\fR قرار می‌گیرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-query\-tree\-indices=SELECTOR\fR شاخص‌های درختی (مشابه با شاخص‌های قاب) گره‌هایی که با \fBSELECTOR\fR به سبک css مطابقت دارند را چاپ می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-compute\-style=INDEX\fR استایل جعبه‌ای گره‌ای در \fITREE\fR فوق که دارای شاخص درختی \fIINDEX\fR است را محاسبه می‌کند\&. .RE .RE .SH "قوانین (RULES)" .sp قوانین برای تغییر ویژگی‌های پیش‌فرض کلاینت‌های مشخصی در هنگام ظاهر شدن آن‌ها یا هنگام فراخوانی دستور \fIapply_rules\fR استفاده می‌شوند\&. هر قانون با زیرمجموعه خاصی از تمام کلاینت‌ها مطابقت می‌یابد و مجموعه‌ای از ویژگی‌ها را برای آن‌ها تعریف می‌کند (که \fICONSEQUENCE\fR نامیده می‌شوند)\&. یک قانون می‌تواند با این دستور تعریف شود: .sp \fBrule\fR [[\-\-]\fIFLAG\fR|[\-\-]\fILABEL\fR|[\-\-]\fICONDITION\fR|[\-\-]\fICONSEQUENCE\fR \&...] .sp هر قانون از فهرستی از \fIFLAG\fRها، \fICONDITION\fRها، \fICONSEQUENCE\fRها و به صورت اختیاری یک \fILABEL\fR تشکیل شده است\&. (می‌توان به صورت اختیاری به ابتدای هر یک از آن‌ها دو خط تیره (\fB\-\-\fR) اضافه کرد تا حس شبیه‌تری به \fBiptables\fR(8) ایجاد شود)\&. .sp می‌توان با مشخص کردن ویژگی \fILABEL\fR، یک برچسب سفارشی به هر قانون اختصاص داد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB[\-\-]label\fR=\fIVALUE\fR .RE .sp اگر چندین برچسب مشخص شود، آخرین برچسب در فهرست اعمال خواهد شد\&. اگر برچسبی داده نشود، به قانون یک نام عدد صحیح اختصاص داده می‌شود که نشان‌دهنده نمایه (index) قانون از زمان آخرین دستور \fIunrule \-F\fR (که در شروع خودکار پیش‌فرض اجرا می‌شود) است\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .sp برچسب‌های قانون به طور پیش‌فرض یک نمایه افزایشی هستند\&. این برچسب‌های پیش‌فرض یکتا هستند، مگر اینکه به یک قانون دیگر یک \fILABEL\fR عدد صحیح سفارشی اختصاص دهید\&. برچسب‌های پیش‌فرض را می‌توان با فلگ \fIprintlabel\fR دریافت کرد\&. .sp .5v .RE .sp هنگامی که یک کلاینت جدید ظاهر می‌شود، herbstluftwm تلاش می‌کند تا هر قانون را به صورت زیر روی این کلاینت جدید اعمال کند: اگر تمام \fICONDITION\fRهای این قانون با این کلاینت مطابقت داشته باشند، آنگاه هر \fICONSEQUENCE\fR اجرا می‌شود\&. (اگر هیچ شرطی مشخص نشده باشد، این قانون برای هر کلاینت اجرا خواهد شد) .sp هر \fICONDITION\fR از یک نام \fIproperty\fR (ویژگی)، یک عملگر و یک \fIvalue\fR تشکیل شده است\&. عملگرهای معتبر عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB~\fR در صورتی مطابقت دارد که \fIproperty\fR کلاینت با عبارت منظم (regex) \fIvalue\fR تطبیق یابد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB=\fR در صورتی مطابقت دارد که رشته \fIproperty\fR کلاینت برابر با \fIvalue\fR باشد\&. .RE .sp \fIproperties\fR معتبر عبارتند از: .PP \fBinstance\fR .RS 4 ورودی اول در \fBWM_CLASS\fR کلاینت\&. .RE .PP \fBclass\fR .RS 4 ورودی دوم در \fBWM_CLASS\fR کلاینت\&. .RE .PP \fBtitle\fR .RS 4 عنوان پنجره کلاینت\&. .RE .PP \fBpid\fR .RS 4 شناسه پردازه (pid) کلاینت (هشدار: pid برای همه کلاینت‌ها در دسترس نیست\&. این شرط فقط در صورتی مطابقت می‌یابد که کلاینت مقدار _NET_WM_PID را روی خود pid تنظیم کرده باشد)\&. .RE .PP \fBpgid\fR .RS 4 شناسه گروه پردازه (pgid) این کلاینت\&. از آنجا که pgid یک پنجره از \fBpid\fR آن مشتق می‌شود، همان محدودیت‌های بالا اعمال می‌شوند\&. .RE .PP \fBmaxage\fR .RS 4 در صورتی مطابقت دارد که سن قانون به ثانیه از \fIvalue\fR تجاوز نکند\&. این شرط فقط می‌تواند با عملگر \fB=\fR استفاده شود\&. اگر maxage از قبل رد شده باشد (و دیگر هرگز مطابقت پیدا نکند)، این قانون حذف می‌شود\&. (با این قابلیت می‌توانید قوانینی بسازید که فقط برای مدت زمان مشخصی معتبر باشند\&.) .RE .PP \fBwindowtype\fR .RS 4 با ویژگی _NET_WM_WINDOW_TYPE پنجره مطابقت می‌یابد\&. اگر _NET_WM_WINDOW_TYPE دارای چندین ورودی باشد، فقط ورودی اول در اینجا استفاده می‌شود\&. .RE .PP \fBwindowrole\fR .RS 4 با ویژگی WM_WINDOW_ROLE پنجره در صورتی که توسط پنجره تنظیم شده باشد مطابقت می‌یابد\&. .RE .PP \fBfixedsize\fR (بدون پارامتر) .RS 4 در صورتی مطابقت دارد که پنجره اجازه تغییر اندازه را ندهد (یعنی اندازه کمینه با اندازه بیشینه برابر باشد)\&. این شرط پارامتری \fBدریافت نمی‌کند\fR\&. مثال: .sp .if n \{\ .RS 4 .\} .nf hc rule fixedsize floating=on .fi .if n \{\ .RE .\} .RE .sp هر \fICONSEQUENCE\fR از یک جفت \fINAME\fR=\fIVALUE\fR تشکیل شده است\&. \fINAMES\fRهای معتبر عبارتند از: .PP \fBtag\fR .RS 4 کلاینت را به برچسب (tag) \fIVALUE\fR انتقال می‌دهد\&. .RE .PP \fBmonitor\fR .RS 4 کلاینت را به تگ موجود در مانیتور \fIVALUE\fR انتقال می‌دهد\&. اگر پیامد tag نیز مشخص شده باشد، و switchtag برای کلاینت تنظیم شده باشد، کلاینت را به آن تگ منتقل کرده و سپس آن تگ را در مانیتور \fIVALUE\fR نمایش می‌دهد\&. اگر پیامد tag مشخص شده باشد اما switchtag تنظیم نشده باشد، این پیامد نادیده گرفته می‌شود\&. .RE .PP \fBfocus\fR .RS 4 تعیین می‌کند که آیا کلاینت فوکوس ورودی را در تگ خود دریافت کند یا خیر\&. پیش‌فرض \fBoff\fR است\&. \fIVALUE\fR یک مقدار بولی است (\fBon\fR یا \fBoff\fR)\&. .RE .PP \fBswitchtag\fR .RS 4 اگر \fBfocus\fR فعال باشد و کلاینت در یک تگ بدون فوکوس قرار گیرد، \fBswitchtag\fR مشخص می‌کند که تگ کلاینت نمایش داده شود یا خیر\&. اگر تگ روی هر مانیتوری نمایش داده شود اما فوکوس نداشته باشد، تگ کلاینت تنها در صورتی به مانیتور جاری منتقل می‌شود که \fBswap_monitors_to_get_tag\fR فعال باشد\&. \fIVALUE\fR یک مقدار بولی است (\fBon\fR یا \fBoff\fR)\&. .RE .PP \fBmanage\fR .RS 4 تعیین می‌کند که آیا کلاینت مدیریت شود یا خیر\&. مقدار پیش‌فرض \fBon\fR است\&. \fIVALUE\fR یک مقدار بولی است (\fBon\fR یا \fBoff\fR)\&. .RE .PP \fBindex\fR .RS 4 پنجره را به یک نمایه مشخص در درخت منتقل می‌کند\&. \fIVALUE\fR یک \fBframe index\fR است\&. .RE .PP \fBfloating\fR .RS 4 وضعیت شناور بودن کلاینت را تنظیم می‌کند\&. \fIVALUE\fR یک مقدار بولی است\&. .RE .PP \fBpseudotile\fR .RS 4 وضعیت کاشی‌بندی شبه‌شناور (pseudotile) کلاینت را تنظیم می‌کند\&. \fIVALUE\fR یک مقدار بولی است\&. .RE .PP \fBsticky\fR .RS 4 ویژگی چسبان (sticky) کلاینت را تنظیم می‌کند\&. \fIVALUE\fR یک مقدار بولی است\&. .RE .PP \fBewmhrequests\fR .RS 4 تعیین می‌کند که آیا وضعیت پنجره (وضعیت تمام‌صفحه و پرچم نیازمند توجه) می‌تواند توسط خود برنامه از طریق ewmh تغییر کند یا خیر\&. این گزینه روی وضعیت اولیه تمام‌صفحه درخواست‌شده توسط پنجره تأثیری ندارد\&. \fIVALUE\fR یک مقدار بولی است؛ پیش‌فرض آن \fBon\fR می‌باشد\&. .RE .PP \fBewmhnotify\fR .RS 4 تعیین می‌کند که آیا hlwm باید تغییرات EWMH (در حال حاضر فقط وضعیت تمام‌صفحه) را به اطلاع کلاینت برساند یا خیر\&. اگر این مورد تنظیم شده باشد، برنامه‌ها در حالی که هنوز تمام‌صفحه هستند به حالت تمام‌صفحه خود تغییر وضعیت نمی‌دهند\&. \fIVALUE\fR یک مقدار بولی است، پیش‌فرض آن \fBon\fR می‌باشد\&. .RE .PP \fBfullscreen\fR .RS 4 پرچم تمام‌صفحه بودن کلاینت را تنظیم می‌کند\&. \fIVALUE\fR یک مقدار بولی است\&. .RE .PP \fBhook\fR .RS 4 قلاب سفارشی \fBrule\fR \fIVALUE\fR \fIWINID\fR را هنگامی که این قانون توسط یک پنجره جدید با شناسه \fIWINID\fR فعال شود ارسال می‌کند\&. این پیامد را می‌توان چندین بار استفاده کرد که باعث می‌شود برای هر بار رخداد پیامد hook یک قلاب ارسال گردد\&. .RE .PP \fBkeymask\fR .RS 4 ماسک کلید (keymask) را برای یک کلاینت تنظیم می‌کند (مستندات ویژگی \fBkeymask\fR را ببینید)\&. .RE .PP \fBkeys_inactive\fR .RS 4 عبارت منظمی را تنظیم می‌کند که مشخص می‌سازد کدام کلیدهای میانبر برای یک کلاینت غیرفعال هستند (مستندات ویژگی \fBkeys_inactive\fR را ببینید)\&. .RE .PP \fBfloatplacement\fR .RS 4 موقعیت شناور یک پنجره را تغییر می‌دهد\&. \fIVALUE\fR می‌تواند یکی از موارد زیر باشد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnone\fR موقعیت را اصلاً تغییر نمی‌دهد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcenter\fR پنجره را در مرکز مانیتور قرار می‌دهد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsmart\fR تلاش می‌کند تا آن را با کمترین همپوشانی ممکن با سایر پنجره‌های شناور قرار دهد\&. اگر چندین حالت با کمترین همپوشانی وجود داشته باشد، موقعیتی با کمترین همپوشانی با پنجره‌های کاشی‌بندی‌شده انتخاب می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtopleft\fR, \fBtopright\fR, \fBbottomleft\fR, \fBbottomright\fR پنجره را به گوشه مربوطه مانیتور منتقل می‌کند اما فاصله‌ای به اندازه \fBsettings\&.snap_gap\fR پیکسل باقی می‌گذارد\&. .RE .RE .PP \fBfloating_geometry\fR .RS 4 ویژگی \fBfloating_geometry\fR کلاینت را تنظیم می‌کند\&. \fIVALUE\fR یک مستطیل است که نسبت به مانیتور تفسیر می‌شود\&. اگر \fBfloatplacement\fR نیز برای کلاینت مشخص شده باشد (احتمالاً توسط یک قانون دیگر)، تنها اندازه \fBfloating_geometry\fR استفاده خواهد شد\&. به منظور تحمیل موقعیت از هندسه، لازم است \fBfloatplacement=none\fR اضافه شود\&. .RE .sp رفتار یک قانون را می‌توان با برخی از \fIFLAGS\fRهای ویژه پیکربندی کرد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnot\fR: \fICONDITION\fR بعدی را نقیض می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB!\fR: همان \fBnot\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBonce\fR: این قانون را فقط یک‌بار اعمال می‌کند (و پس از آن حذفش می‌کند)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBprintlabel\fR: برچسب قانون تازه ایجاد شده را در stdout چاپ می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBprepend\fR: قانون را به جای الحاق به انتهای فهرست قوانین، به ابتدای آن اضافه می‌کند\&. بنابراین ممکن است پیامدهای آن توسط قوانین از قبل موجود بازنویسی شوند\&. .RE .sp مثال‌ها: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrule \-\-class=Netscape \-\-tag=6 \-\-focus=off\fR تمام نمونه‌های Netscape را به تگ ۶ منتقل می‌کند، اما به آن‌ها فوکوس نمی‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrule not class~\&.*[Tt]erm tag=2\fR اگر کلاس کلاینت‌ها با \fBterm\fR یا \fBTerm\fR خاتمه نیابد، همه آن‌ها را به تگ ۲ منتقل می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrule class=Thunderbird index=/0\fR تمام نمونه‌های Thunderbird را در درختی که فوکوس ندارد و در آنجا در فرزند اول درج می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrule \-\-windowtype=_NET_WM_WINDOW_TYPE_DIALOG \-\-focus=on\fR فوکوس را به دیالوگ‌های جدیدی که \fB_NET_WM_WINDOW_TYPE\fR خود را به درستی تنظیم کرده‌اند اختصاص می‌دهد\&. .RE .SH "شناسه‌های پنجره (WINDOW IDS)" .sp چندین دستور یک پنجره را به عنوان مرجع می‌پذیرند، برای مثال \fBclose\fR\&. ساختار دستوری به صورت زیر است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک رشته خالی \(em یا آرگومان ارسال‌نشده \(em به پنجره دارای فوکوس فعلی ارجاع می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBurgent\fR به پنجره‌ای که وضعیت فوری (urgent) دارد ارجاع می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0x\fR\fIHEXID\fR \(em که در آن \fIHEXID\fR یک عدد هگزادسیمال است \(em به پنجره‌ای با شناسه هگزادسیمال پنجره در X11 یعنی \fIHEXID\fR ارجاع می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBlongest\-minimized\fR به پنجره کمینه‌شده‌ای در تگ فوکوس‌شده ارجاع می‌دهد که برای طولانی‌ترین زمان کمینه بوده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBlast\-minimized\fR به پنجره کمینه‌شده‌ای در تگ فوکوس‌شده ارجاع می‌دهد که اخیراً کمینه شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIDECID\fR \(em که در آن \fIDECID\fR یک عدد ده‌دهی است \(em به پنجره‌ای با شناسه ده‌دهی پنجره در X11 یعنی \fIDECID\fR ارجاع می‌دهد\&. .RE .SH "اشیاء (OBJECTS)" .sp درخت اشیاء مجموعه‌ای از اشیاء با ویژگی‌هایی شبیه به \fB/sys\fR در هسته لینوکس است\&. بسیاری از موجودیت‌ها (مانند برچسب‌ها، مانیتورها، کلاینت‌ها و \&...) اشیایی برای دسترسی مستقیم به ویژگی‌های خود دارند\&. این درخت با دستور \fBobject_tree\fR چاپ می‌شود و کم‌وبیش به صورت زیر است: .sp .if n \{\ .RS 4 .\} .nf $ herbstclient object_tree ╾─┐ ├─┐ tags │ ├─┐ by\-name │ │ ├─╼ 1 │ │ \&.\&.\&. │ │ └─╼ 9 │ └─╼ focus ├─┐ clients │ ├─╼ 0x1400022 │ └─╼ focus └─┐ monitors ├─╼ by\-name └─╼ focus .fi .if n \{\ .RE .\} .sp برای چاپ یک زیردرخت که از شیء خاصی شروع می‌شود، \fIPATH\fR شیء را به \fBobject_tree\fR پاس دهید\&. مقدار \fIPATH\fR شیء، مسیری است که از جداکننده \fB\&.\fR (نقطه) استفاده می‌کند، به عنوان مثال \fBtags\&.by\-name\fR: .sp .if n \{\ .RS 4 .\} .nf $ herbstclient object_tree tags\&.by\-name\&. ╾─┐ tags\&.by\-name\&. ├─╼ 1 ├─╼ 2 \&.\&.\&. └─╼ 9 .fi .if n \{\ .RE .\} .sp برای پرس‌وجوی تمام ویژگی‌ها و فرزندان یک شیء، \fIPATH\fR آن را به \fBattr\fR پاس دهید: .sp .if n \{\ .RS 4 .\} .nf $ herbstclient attr tags\&. 2 children: by\-name\&. focus\&. 1 attributes: \&.\-\-\-\- type | \&.\-\- writable V V u \- count = 9 $ herbstclient attr tags\&.focus\&. 0 children\&. 6 attributes: \&.\-\-\-\- type | \&.\-\- writable V V s w name = "1" b w floating = false i \- frame_count = 2 i \- client_count = 1 i \- curframe_windex = 0 i \- curframe_wcount = 1 .fi .if n \{\ .RE .\} .sp این خروجی دید خوبی از نحوه کار به دست می‌دهد: \fBattr\fR ابتدا نام اشیاء فرزند و سپس تمامی ویژگی‌ها را فهرست می‌کند و برای هر ویژگی موارد زیر را گزارش می‌دهد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نوع آن .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBb\fR برای بولی (boolean) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBc\fR برای رنگ (color) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBi\fR برای عدد صحیح (integer) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBr\fR برای عبارت باقاعده (regex) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBs\fR برای رشته متنی (string) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBu\fR برای عدد صحیح بدون علامت (unsigned integer) .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} آیا توسط کاربر قابل نوشتن است یا خیر: \fBw\fR در صورت مثبت بودن، \fB\-\fR در غیر این صورت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نام ویژگی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} مقدار فعلی آن (فقط برای رشته‌ها درون کوتیشن قرار می‌گیرد) .RE .sp برای دریافت مقدار بدون کوتیشن یک ویژگی خاص، ویژگی را با همان نحو مربوط به مسیرهای شیء آدرس‌دهی کرده و آن را به \fBattr\fR یا \fBget_attr\fR پاس دهید: .sp .if n \{\ .RS 4 .\} .nf $ herbstclient attr clients\&.focus\&.title herbstluftwm\&.txt = (~/dev/c/herbstluftwm/doc) \- VIM $ herbstclient get_attr clients\&.focus\&.title herbstluftwm\&.txt = (~/dev/c/herbstluftwm/doc) \- VIM .fi .if n \{\ .RE .\} .sp برای تغییر مقدار یک ویژگی قابل نوشتن، مقدار جدید را به \fBattr\fR یا \fBset_attr\fR پاس دهید: .sp .if n \{\ .RS 4 .\} .nf $ herbstclient attr tags\&.focus\&.floating false $ herbstclient attr tags\&.focus\&.floating true $ herbstclient attr tags\&.focus\&.floating true $ herbstclient set_attr tags\&.focus\&.floating false $ herbstclient attr tags\&.focus\&.floating false .fi .if n \{\ .RE .\} .sp اطلاعات بیشتر درباره یک ویژگی یا شیء توسط دستور \fBhelp\fR ارائه می‌شود: .sp .if n \{\ .RS 4 .\} .nf $ herbstclient help clients\&.focus .fi .if n \{\ .RE .\} .sp کافی است گشتی در آن بزنید تا متوجه ساختار آن شوید\&. نقطه ورود، شیء ریشه است که اشیاء فرزند زیر را در بر دارد: .SS "autostart:" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBglobal_path\fR\fR = globalAutostart: مسیر autostart سراسری سیستم که به عنوان جایگزین استفاده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBlast_status\fR\fR = 0: وضعیت خروج آخرین اجرای autostart\&. اگر autostart همچنان \fIrunning\fR باشد، این وضعیت متناظر با وضعیت خروج فراخوانی قبلی autostart خواهد بود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBpath\fR\fR = autostartFromCmdLine: مسیر سفارشی به autostart کاربر\&. اگر خالی باشد، از autostart موجود در $XDG_CONFIG_HOME یا $HOME استفاده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpid\fR\fR = 0: شناسه فرآیند (PID) آخرین فراخوانی autostart\&. حتی اگر autostart دیگر در حال اجرا نباشد، مقدار pid آن همچنان در اینجا باقی می‌ماند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBrunning\fR\fR = false: مشخص می‌کند آیا فرآیند autostart (با \fIpid\fR مربوطه) همچنان در حال اجراست یا خیر\&. .RE .SS "clients:" .sp پنجره‌های مدیریت‌شده\&. به ازای شناسه هر پنجره (مدیریت‌شده) یک ورودی در اینجا وجود دارد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBdragged\fR\fR: شیء مربوط به کلاینتی که هم‌اکنون با ماوس کشیده می‌شود، در صورت وجود\&. برای مثال‌ها به مستندات دستور mousebind مراجعه کنید\&. برای ویژگی‌ها و فرزندان، ببینید: \fBclients\&.focus\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfocus\fR\fR: کلاینت فوکوس‌شده (تنها در صورتی وجود دارد که کلاینتی فوکوس شده باشد)\&. یک پنجره مدیریت‌شده .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBclass\fR\fR: کلاس آن (دومین ورودی در WM_CLASS) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBcontent_geometry\fR\fR: ابعاد و مختصات محتوای برنامه، بدون در نظر گرفتن تزیینات پنجره\&. همچنین این آخرین هندسه پنجره‌ای است که به برنامه کلاینت گزارش شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBdecorated\fR\fR = true: آیا کادر دور پنجره و عنوان رسم شوند یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBdecoration_geometry\fR\fR: ابعاد و مختصات کلاینت با در نظر گرفتن تزیینات پنجره\&. موقعیت پنجره به صورت سراسری است، یعنی نسبت به گوشه بالا سمت چپ کل صفحه نمایش .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBewmhnotify\fR\fR = true: آیا کلاینت از طریق ewmh از وضعیت خود مطلع شود یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBewmhrequests\fR\fR = true: آیا درخواست‌های ewmh برای این کلاینت مجاز هستند یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfloating\fR\fR = false: آیا این کلاینت به عنوان کلاینت شناور (تک‌پنجره‌ای) تنظیم شده است یا خیر\&. در صورت تنظیم، کلاینت بالای کلاینت‌های کاشی‌شده شناور می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfloating_effectively\fR\fR = false: آیا این کلاینت در حال حاضر در حالت شناور قرار دارد یا خیر\&. این حالت زمانی برقرار است که برچسب کلاینت روی حالت شناور تنظیم شده باشد یا خود کلاینت به صورت شناور تنظیم شده باشد\&. مقدار آن همچنین از طریق ویژگی‌های X11 با نام‌های HLWM_FLOATING_WINDOW و HLWM_TILING_WINDOW مشخص می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBfloating_geometry\fR\fR = 0: ابعاد و مختصات محتوای کلاینت در صورتی که کلاینت در حالت شناور باشد\&. موقعیت نسبت به مانیتور سنجیده شده و تزیینات پنجره را در نظر نمی‌گیرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfullscreen\fR\fR = false: آیا این کلاینت تمام پنجره‌ها و پنل‌های دیگر را در مانیتور خود می‌پوشاند یا خیر\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBinstance\fR\fR: نمونه آن (اولین ورودی در WM_CLASS) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIregex\fR \fB\fBkeymask\fR\fR = "": یک عبارت باقاعده که با نمایش متنی تمامی کلیدهای میانبر (همان‌گونه که توسط list_keybinds چاپ می‌شوند) تطبیق داده می‌شود\&. هنگامی که فوکوس روی این کلاینت است، تنها کلیدهای میانبری که با این عبارت تطبیق داشته باشند فعال خواهند بود\&. سایر کلیدهای میانبر غیرفعال خواهند شد\&. مقدار پیش‌فرض keymask یک رشته خالی () است که هیچ کلید میانبری را غیرفعال نمی‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIregex\fR \fB\fBkeys_inactive\fR\fR = "": یک عبارت باقاعده که مشخص می‌کند هنگام فوکوس بودن روی این کلاینت، کدام کلیدهای میانبر غیرفعال هستند\&. اگر کلید ترکیبی فشرده شود و نمایش متنی آن (بر اساس خروجی list_keybinds) با عبارت باقاعده تطبیق یابد، فشردن کلید مستقیماً به کلاینت منتقل می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBminimized\fR\fR = false: آیا این کلاینت کمینه‌شده است یا خیر (آیکون‌شده نیز نامیده می‌شود)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpgid\fR\fR = \-1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpid\fR\fR = \-1: شناسه فرآیند آن (در صورت تنظیم نشدن \-1)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBpseudotile\fR\fR = false: در صورت فعال بودن، کلاینت همواره اندازه پنجره شناور خود را حفظ می‌کند، حتی اگر در حالت کاشی‌بندی باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBsizehints_floating\fR\fR = true: آیا اندازه پیشنهادی پنجره (sizehints) برای این کلاینت در حالت شناور رعایت شود یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBsizehints_tiling\fR\fR = false: آیا اندازه پیشنهادی پنجره (sizehints) برای این کلاینت در حالت کاشی‌بندی رعایت شود یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBsticky\fR\fR = false: آیا این کلاینت به مانیتور پین شده است یا خیر\&. این بدان معناست که کلاینت روی مانیتور خود باقی می‌ماند، حتی هنگامی که مانیتور به برچسب دیگری جابجا شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBtag\fR\fR: نام برچسبی که کلاینت هم‌اکنون روی آن قرار دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBtitle\fR\fR = "": عنوان پنجره آن .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBurgent\fR\fR = false: وضعیت فوریت (همچنین شناخته‌شده به عنوان: نیازمند توجه)\&. کلاینت دارای فوکوس نمی‌تواند وضعیت فوری داشته باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBvisible\fR\fR = visible_already: آیا این کلاینت در حال حاضر رندر و نمایش داده می‌شود یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBwinid\fR\fR = "": شناسه پنجره آن (به صورت عدد هگزادسیمال با پیشوند 0x) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBparent_frame\fR\fR: فریمی که این کلاینت را در بر دارد در صورتی که کلاینت کاشی‌شده باشد\&. برای ویژگی‌ها و فرزندان، ببینید: \fBtags\&.focus\&.tiling\&.root\fR .RE .RE .SS "monitors:" .sp هر مانیتور یک بخش مستطیلی از صفحه است که یک برچسب روی آن نشان داده می‌شود\&. این مانیتورها ممکن است با خروجی‌های واقعی نمایشگر مطابقت داشته باشند یا خیر\&. این بخش شامل ورودی \fIINDEX\fR برای هر مانیتور با نمایه \fIINDEX\fR است\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBcount\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITagSelectionStrategy\fR \fB\fBtag_selection_strategy\fR\fR = any_unshown: نحوه انتخاب برچسب هنگام ایجاد مانیتور جدید\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIany_unshown\fR: انتخاب اولین برچسبی که روی هیچ مانیتوری نمایش داده نشده است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIonly_empty\fR: انتخاب اولین برچسب خالی که نمایش داده نشده است، و در صورت عدم وجود برچسب خالی عملیات متوقف می‌شود .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB+\fR\fIprefer_empty\fR: ترجیح دادن برچسب خالی، اما در صورت نبود برچسب خالی، هر برچسب نمایش‌داده‌نشده دیگری انتخاب می‌شود .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBby\-name\fR\fR: شامل یک ورودی \fIname\fR به ازای هر شیء با \fIname\fR مشخص‌شده است\&. اگر شیء نامی خالی داشته باشد در اینجا فهرست نمی‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfocus\fR\fR: مانیتور فوکوس‌شده\&. مانیتور بخشی مستطیلی روی صفحه است که در هر لحظه دقیقا یک برچسب را نگه می‌دارد\&. ویژگی‌های pad فضایی را در حاشیه مانیتور برای پنل‌ها رزرو می‌کنند، بنابراین این فضا (که به تعداد پیکسل تعیین می‌شود) هرگز توسط کلاینت‌های کاشی‌شده اشغال نمی‌شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBcontent_geometry\fR\fR: هندسه داخلی مانیتور، یعنی ابعاد و مختصات پس از کسر فاصله‌های pad از تمام جهات\&. این ناحیه‌ای است که پنجره‌های کلاینت شناور و کاشی‌شده در آن قرار می‌گیرند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBgeometry\fR\fR = rect_: هندسه بیرونی مانیتور .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBindex\fR\fR = 0: نمایه مانیتور (شروع از نمایه 0) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBlock_tag\fR\fR = false: در صورت فعال بودن، تغییر برچسب این مانیتور به برچسبی دیگر غیرممکن خواهد بود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBname\fR\fR = "": نام مانیتور (می‌تواند خالی باشد) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpad_down\fR\fR = 0: فضای رزروشده برای پنل‌ها در لبه پایینی مانیتور .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpad_left\fR\fR = 0: فضای رزروشده برای پنل‌ها در لبه چپ مانیتور .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpad_right\fR\fR = 0: فضای رزروشده برای پنل‌ها در لبه راست مانیتور .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpad_up\fR\fR = 0: فضای رزروشده برای پنل‌ها در لبه بالایی مانیتور .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBtag\fR\fR: نام برچسبی که در اینجا نمایش داده می‌شود .RE .RE .SS "panels:" .sp برای هر پنجره پنل، یک ورودی با شناسه پنجره پنل در اینجا وجود دارد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBcount\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBgeometry_fallback\fR\fR = false: هنگام تشخیص خودکار پنل‌ها: اگر پنلی مقدار فضای مورد نیاز خود در حاشیه مانیتور را مشخص نکند، به عنوان راهکار جایگزین، هندسه پنل در لبه صفحه رزرو می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fI0xWindowID\fR: یک پنل پنجره‌ای مدیریت‌نشده است که فضا را در لبه مانیتوری که روی آن قرار دارد رزرو می‌کند\&. این فضا به مقدار _NET_WM_STRUT تعریف‌شده توسط پنل بستگی دارد\&. با این حال اگر به صراحت تعریف نشده باشد، مقدار فضای رزروشده از هندسه پنجره استنباط می‌شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBclass\fR\fR: کلاس پنجره (دومین ورودی در WM_CLASS) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBgeometry\fR\fR: اندازه و موقعیت پنجره .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBinstance\fR\fR: نمونه پنجره (اولین ورودی در WM_CLASS) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIWindowID\fR \fB\fBwinid\fR\fR = winid: شناسه پنجره پنل .RE .RE .SS "تنظیمات (settings):" .sp تنظیمات رفتار کلی herbstluftwm را پیکربندی می‌کنند و می‌توان آن‌ها را از طریق دستورات \fIset\fR، \fIget\fR و \fItoggle\fR کنترل کرد\&. شیء settings\&. برای هر تنظیم یک صفت (attribute) دارد\&. بسیاری از تنظیمات پوشش‌هایی (wrapper) روی صفت‌ها هستند و صرفاً برای سازگاری باقی مانده‌اند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBalways_show_frame\fR\fR = false: منسوخ شده (DEPRECATED)، به جای آن از \fBshow_frame_decorations\fR استفاده کنید\&. در صورت تنظیم، \fIshow_frame_decorations\fR روی \fIall\fR تنظیم خواهد شد (یا اگر تنظیم نشده باشد روی \fIfocused\fR )\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBauto_detect_monitors\fR\fR = false: در صورت تنظیم، هر بار که یک نمایشگر متصل، قطع یا تغییر اندازه داده شود، detect_monitors به صورت خودکار اجرا می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBauto_detect_panels\fR\fR = true: در صورت تنظیم، پنل‌های EWMH به طور خودکار شناسایی می‌شوند و در کناره نمایشگرهایی که روی آن‌ها قرار دارند، فضا رزرو می‌کنند (از طریق صفت‌های pad در هر نمایشگر)\&. این تنظیم به طور پیش‌فرض فعال است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBdefault_direction_external_only\fR\fR = false: این تنظیم رفتار focus و shift را در صورتی که هیچ آرگومان \fI\-e\fR یا \fI\-i\fR داده نشده باشد، کنترل می‌کند\&. در صورت تنظیم، focus و shift قاب فوکوس‌شده را تغییر می‌دهند حتی اگر کلاینت‌های دیگری در این قاب در \fIDIRECTION\fR مشخص‌شده وجود داشته باشند\&. در غیر این صورت، اگر کلاینتی درون قاب جاری در \fIDIRECTION\fR مشخص‌شده باشد، انتخاب می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fILayoutAlgorithm\fR \fB\fBdefault_frame_layout\fR\fR = vertical: نام الگوریتم چیدمان که هنگام ایجاد یک قاب جدید (روی یک برچسب جدید یا با تقسیم غیربدیهی) استفاده می‌شود\&. برای فهرست الگوریتم‌های چیدمان به بخش‌های بالا مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBellipsis\fR\fR = \&...: رشته‌ای که هنگام کوتاه شدن عنوان پنجره‌ها یا زبانه‌ها برای جا شدن در فضای موجود، به انتها اضافه می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfocus_crosses_monitor_boundaries\fR\fR = true: در صورت تنظیم، دستورات \fBfocus\fR و \fBshift\fR از مرزهای نمایشگر عبور می‌کنند\&. اگر کلاینتی در جهت داده‌شده به \fBfocus\fR وجود نداشته باشد، نمایشگر در جهت مشخص‌شده فوکوس می‌شود\&. به همین ترتیب، اگر \fBshift\fR نتواند پنجره‌ای را درون یک برچسب جابه‌جا کند، پنجره به نمایشگر همسایه در جهت مورد نظر منتقل می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfocus_follows_mouse\fR\fR = false: در صورت تنظیم و زمانی که مکان‌نمای ماوس روی پنجره‌ای قرار می‌گیرد، آن پنجره فوکوس می‌شود (این ویژگی به sloppy focus نیز معروف است)\&. در صورت غیرفعال بودن، برای تغییر فوکوس پنجره با ماوس باید کلیک کنید\&. اگر پنجره دیگری به دلیل تغییر فوکوس پنهان شود (مثلاً هنگام داشتن پنجره‌های شبه‌کاشی در چیدمان max)، برای تغییر فوکوس یک کلیک اضافی لازم است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfocus_stealing_prevention\fR\fR = true: در صورت تنظیم، تنها پیجرها و نوارهای وظیفه (taskbars) مجاز به تغییر فوکوس هستند\&. در صورت غیرفعال بودن، همه برنامه‌ها می‌توانند درخواست تغییر فوکوس دهند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_active_opacity\fR\fR = 100: میزان شفافیت قاب فوکوس‌شده به درصد\&. برای اعمال واقعی نیازمند یک مدیر ترکیب (compositing manager) در حال اجرا است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBframe_bg_active_color\fR\fR = black: رنگ پر کردن یک قاب فوکوس‌شده\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBframe_bg_normal_color\fR\fR = black: رنگ پر کردن یک قاب غیرفوکوس‌شده (فقط در صورتی قابل مشاهده است که قاب‌های غیرفوکوس‌شده برای نمایش پیکربندی شده باشند، به \fIshow_frame_decorations\fR مراجعه کنید)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBframe_bg_transparent\fR\fR = false: در صورت تنظیم، پس‌زمینه قاب‌ها شفاف خواهد بود\&. این بدان معناست که مستطیلی از داخل بریده می‌شود به طوری که فقط کادر قاب و نواری به پهنای \fIframe_transparent_width\fR دیده می‌شود\&. برای شفافیت واقعی از \fIframe_active_opacity\fR و \fIframe_normal_opacity\fR استفاده کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBframe_border_active_color\fR\fR = red: رنگ کادر یک قاب فوکوس‌شده\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBframe_border_inner_color\fR\fR = black: رنگ کادر داخلی یک قاب\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_border_inner_width\fR\fR = 0: پهنای کادر داخلی یک قاب\&. باید کمتر از \fIframe_border_width\fR باشد، زیرا به پهنای کادر قاب اضافه نمی‌شود بلکه بخشی از آن است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBframe_border_normal_color\fR\fR = blue: رنگ کادر یک قاب غیرفوکوس‌شده\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_border_width\fR\fR = 2: پهنای کادر یک قاب\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_gap\fR\fR = 5: فاصله بین قاب‌ها در حالت کاشی‌کاری\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_normal_opacity\fR\fR = 100: میزان شفافیت قاب غیرفوکوس‌شده به درصد\&. برای اعمال واقعی نیازمند یک مدیر ترکیب در حال اجرا است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_padding\fR\fR = 0: حاشیه داخلی (padding) درون یک قاب در حالت کاشی‌کاری، یعنی فاصله بین کادر یک قاب و پنجره‌های درون آن\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_transparent_width\fR\fR = 0: پهنای باقی‌مانده قاب رنگ‌آمیزی‌شده با \fIframe_bg_active_color\fR را در صورت تنظیم بودن \fIframe_bg_transparent\fR مشخص می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBgapless_grid\fR\fR = true: این تنظیم بر اندازه آخرین کلاینت در قابی که با چیدمان شبکه‌ای (grid) مرتب شده است تأثیر می‌گذارد\&. در صورت تنظیم، آخرین کلاینت همیشه شکاف درون این قاب را پر می‌کند\&. در صورت غیرفعال بودن، آخرین کلاینت همان اندازه تمام کلاینت‌های دیگر در این قاب را خواهد داشت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBhide_covered_windows\fR\fR = false: در صورت فعال بودن، وقتی پنجره‌ها توسط پنجره دیگری در یک قاب با چیدمان max پوشانده شوند، به طور صریح پنهان می‌شوند\&. این فقط در صورت استفاده از مدیر ترکیب اثر قابل مشاهده دارد\&. در صورت فعال بودن، سایه‌ها روی هم انباشته نمی‌شوند و پنجره‌های شفاف به جای دیگر کلاینت‌های موجود در چیدمان max، تصویر پس‌زمینه پشت خود را نشان می‌دهند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBmonitors_locked\fR\fR = 0: اگر بزرگتر از 0 باشد، کلاینت‌ها در تمام نمایشگرها دیگر جابه‌جا یا تغییر اندازه داده نمی‌شوند\&. اگر روی 0 تنظیم شود، چیدمان مجدد نمایشگرها دوباره فعال می‌شود و اگر محتوای نمایشگرها در این مدت تغییر کرده باشد، دوباره چیده می‌شوند\&. به دلیل مسائل همزمانی نباید این تنظیم را دستی تغییر دهید؛ به جای آن از دستورات \fBlock\fR و \fBunlock\fR استفاده کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBmouse_recenter_gap\fR\fR = 0: فاصله (gap) اطراف یک نمایشگر را مشخص می‌کند\&. اگر نمایشگر انتخاب شود و موقعیت ماوس قرار باشد در این فاصله بازگردانده شود، به مرکز نمایشگر منتقل می‌شود\&. این زمانی مفید است که نمایشگر از طریق حرکت ماوس ترک شده باشد، اما با صفحه‌کلید دوباره انتخاب شود\&. اگر این فاصله 0 باشد (پیش‌فرض)، ماوس هرگز به مرکز برگردانده نمی‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBpseudotile_center_threshold\fR\fR = 10: اگر بزرگتر از 0 باشد، کمترین فاصله بین یک پنجره شبه‌کاشی وسط‌چین‌شده و کادر قاب یا کاشی‌ای که به آن اختصاص داده شده را مشخص می‌کند\&. اگر این فاصله کمتر از \fIpseudotile_center_threshold\fR باشد، به گوشه بالا سمت چپ کاشی کلاینت تراز می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBraise_on_click\fR\fR = true: در صورت تنظیم، با کلیک روی یک پنجره، آن پنجره بالا آورده می‌شود (raise)\&. مقدار این تنظیم فقط در حالت شناور لحاظ می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBraise_on_focus\fR\fR = false: در صورت تنظیم، با فوکوس شدن روی یک پنجره، آن پنجره بالا آورده می‌شود\&. مقدار این تنظیم فقط در حالت شناور استفاده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBraise_on_focus_temporarily\fR\fR = false: در صورت تنظیم، اگر پنجره‌ای روی برچسب خود فوکوس شود، به طور موقت بالا آورده می‌شود\&. موقتی در این مورد به این معناست که اگر پنجره دیگری فوکوس شود، پنجره به موقعیت چینش قبلی خود در پشته بازخواهد گشت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIShowFrameDecorations\fR \fB\fBshow_frame_decorations\fR\fR = focused_if_multiple: این تنظیم کنترل می‌کند کدام تزیینات قاب کلاً نمایش داده شوند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fInone\fR هیچ تزیین قابی را اصلاً نشان نمی‌دهد، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fInonempty\fR تزیینات قاب‌هایی را نشان می‌دهد که پنجره کلاینت دارند، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIif_multiple\fR تزیینات را روی برچسب‌هایی با حداقل دو قاب نشان می‌دهد، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIif_empty\fR تزیینات قاب‌هایی را نشان می‌دهد که هیچ پنجره کلاینتی ندارند، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIif_multiple_empty\fR تزیینات قاب‌هایی را نشان می‌دهد که هیچ پنجره کلاینتی روی برچسب‌هایی با حداقل دو قاب ندارند، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIfocused\fR تزیینات قاب‌های فوکوس‌شده و غیرخالی را نشان می‌دهد، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIfocused_if_multiple\fR تزیینات قاب‌های فوکوس‌شده و غیرخالی را روی برچسب‌هایی با حداقل دو قاب نشان می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIall\fR تمام تزیینات قاب را نشان می‌دهد\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fISmartFrameSurroundings\fR \fB\fBsmart_frame_surroundings\fR\fR = off: اگر روی \fIhide_all\fR تنظیم شود، کادرها و شکاف‌های قاب در صورت عدم وجود ابهام در مورد قاب فوکوس‌شده حذف می‌شوند\&. اگر روی \fIhide_gaps\fR تنظیم شود، فقط شکاف‌های قاب در صورت عدم وجود ابهام در مورد قاب فوکوس‌شده حذف خواهند شد\&. برای نمایش همیشگی کادرها و شکاف‌های قاب، آن را روی \fIoff\fR قرار دهید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fISmartWindowSurroundings\fR \fB\fBsmart_window_surroundings\fR\fR = off: اگر روی \fIone_window\fR (یا \fIon\fR ) تنظیم شود، کادرها و شکاف‌های پنجره در هر قابی که فقط یک پنجره را نمایش می‌دهد، پنهان می‌شوند\&. اگر روی \fIone_window_and_frame\fR تنظیم شود، تنها قاب‌هایی تحت تأثیر قرار می‌گیرند که تنها قاب روی برچسب خود باشند\&. با این حال، این تزیینات پنهان‌شده را می‌توان از طریق شیء \fBtheme\&.minimal\fR پیکربندی کرد\&. برای نمایش همیشگی کادرها و شکاف‌های پنجره، آن را روی \fIoff\fR قرار دهید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBsnap_distance\fR\fR = 10: اگر یک کلاینت در حالت شناور کشیده شود، چنانچه فاصله بین آن و کلاینت‌های همسایه کمتر از snap_distance باشد، به آن‌ها می‌چسبد (snap)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBsnap_gap\fR\fR = 5: فاصله باقی‌مانده را در صورتی که کلاینت کشیده‌شده در حالت شناور به لبه‌ای بچسبد مشخص می‌کند\&. اگر snap_gap روی 0 تنظیم شود، هیچ فاصله‌ای باقی نخواهد ماند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBswap_monitors_to_get_tag\fR\fR = true: در صورت تنظیم: اگر بخواهید برچسبی را مشاهده کنید که از قبل روی نمایشگر دیگری در حال نمایش است، محتوای نمایشگرها جابه‌جا شده و برچسب مورد نظر را روی نمایشگر فوکوس‌شده مشاهده خواهید کرد\&. در صورت غیرفعال بودن، اگر نمایشگر دیگر برچسب مورد نظر را نشان دهد، آن نمایشگر فوکوس می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBtabbed_max\fR\fR = true: در صورت فعال بودن، چند پنجره در یک قاب با الگوریتم چیدمان \fImax\fR به صورت زبانه رسم می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBtree_style\fR\fR = "*| +`\-\-\&.": شامل نویسه‌هایی است که برای چاپ یک درخت اسکی زیبا استفاده می‌شوند\&. باید حداقل شامل ۸ نویسه باشد\&. به عنوان مثال \fBX|:#+*\-\&.\fR درختی شبیه به این تولید می‌کند: .sp .if n \{\ .RS 4 .\} .nf X\-\&. #\-\&. child 0 | #\-* child 00 | +\-* child 01 +\-\&. child 1 : #\-* child 10 : +\-* child 11 .fi .if n \{\ .RE .\} .sp مقادیر مفید برای \fItree_style\fR عبارتند از: \fB╾│ ├└╼─┐\fR یا \fB\-| |\*(Aq\-\-\&.\fR یا \fB╾│ ├╰╼─╮\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBupdate_dragged_clients\fR\fR = false: در صورت تنظیم، محتوای پنجره کلاینت در طول تغییر اندازه با ماوس بلافاصله به‌روزرسانی می‌شود\&. در صورت غیرفعال بودن، محتوای کلاینت پس از رها کردن کلید ماوس تغییر اندازه می‌یابد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBverbose\fR\fR = false: در صورت تنظیم، خروجی با جزئیات در stderr مربوط به herbstluftwm ثبت می‌شود\&. مقدار پیش‌فرض توسط فلگ خط فرمان \fB\-\-verbose\fR کنترل می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBwindow_border_active_color\fR\fR: رنگ کادر یک پنجره فوکوس‌شده\&. \fBهشدار:\fR این مورد صرفاً به دلایل سازگاری وجود دارد؛ این فقط یک نام مستعار برای صفت \fBtheme\&.active\&.color\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBwindow_border_inner_color\fR\fR: رنگ کادر داخلی یک پنجره\&. \fBهشدار:\fR این مورد صرفاً به دلایل سازگاری وجود دارد؛ این فقط یک نام مستعار برای صفت \fBtheme\&.inner_color\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBwindow_border_inner_width\fR\fR: پهنای کادر داخلی یک پنجره\&. باید کمتر از window_border_width باشد، زیرا به پهنای کادر پنجره اضافه نمی‌شود بلکه بخشی از آن است\&. \fBهشدار:\fR این مورد صرفاً به دلایل سازگاری وجود دارد؛ این فقط یک نام مستعار برای صفت \fBtheme\&.inner_width\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBwindow_border_normal_color\fR\fR: رنگ کادر یک پنجره غیرفوکوس‌شده\&. \fBهشدار:\fR این مورد صرفاً به دلایل سازگاری وجود دارد؛ این فقط یک نام مستعار برای صفت \fBtheme\&.normal\&.color\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBwindow_border_urgent_color\fR\fR: رنگ کادر یک پنجره غیرفوکوس‌شده اما اضطراری (urgent)\&. \fBهشدار:\fR این مورد صرفاً به دلایل سازگاری وجود دارد؛ این فقط یک نام مستعار برای صفت \fBtheme\&.urgent\&.color\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBwindow_border_width\fR\fR: پهنای کادر یک پنجره\&. \fBهشدار:\fR این مورد صرفاً به دلایل سازگاری وجود دارد؛ این فقط یک نام مستعار برای صفت \fBtheme\&.border_width\fR است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBwindow_gap\fR\fR = 0: فاصله (شکاف) بین پنجره‌ها در یک قاب در حالت کاشی‌کاری\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBwmname\fR\fR = herbstluftwm: مقدار ویژگی \fB_NET_WM_NAME\fR روی پنجره ریشه (root window) را کنترل می‌کند، که نام مدیر پنجره در حال اجرا را مشخص می‌کند\&. اگر ویژگی واقعی \fB_NET_WM_NAME\fR روی پنجره ریشه از خارج تغییر کند، مقدار این تنظیم به‌روزرسانی نمی‌شود\&. مثال کاربرد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcycle_value wmname herbstluftwm LG3D\fR .RE .RE .SS "برچسب‌ها (tags):" .sp برچسب‌ها (یا میزکارهای مجازی یا فضاهای کاری)\&. این بخش شامل یک ورودی \fIindex\fR به ازای هر برچسب با \fIindex\fR داده‌شده است\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBcount\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBby\-name\fR\fR: برای مشخصه‌ها و فرزندان، ببینید: \fBmonitors\&.by\-name\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfocus\fR\fR: شیء مربوط به برچسب دارای تمرکز، یا به عبارتی دیگر، برچسب روی مانیتور دارای تمرکز\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBat_end\fR\fR = false: تمام برچسب‌هایی که این ویژگی روی آن‌ها فعال باشد در انتهای فهرست برچسب‌ها نگه داشته می‌شوند\&. معمولاً این ویژگی برای برچسب‌های با کاربرد خاص مانند scratchpadها تنظیم می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBclient_count\fR\fR: تعداد کلاینت‌های موجود روی این برچسب .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBcurframe_wcount\fR\fR: تعداد کلاینت‌های موجود در قاب انتخاب‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBcurframe_windex\fR\fR: نمایه کلاینت دارای تمرکز در قاب انتخاب‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfloating\fR\fR = false: مشخص می‌کند آیا کل برچسب روی حالت شناور تنظیم شده است یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBfloating_focused\fR\fR = false: مشخص می‌کند آیا لایه شناور دارای تمرکز است یا خیر (در غیر این صورت، لایه کاشی‌کاری دارای تمرکز است) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBframe_count\fR\fR: تعداد قاب‌های موجود روی این برچسب .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBindex\fR\fR = 0: نمایه این برچسب (اولین نمایه 0 است) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBname\fR\fR = name_: نام برچسب (نباید خالی باشد) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBurgent_count\fR\fR: تعداد کلاینت‌های اضطراری روی این برچسب .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBvisible\fR\fR = false: مشخص می‌کند آیا این برچسب روی مانیتوری نمایش داده می‌شود یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfocused_client\fR\fR: برای مشخصه‌ها و فرزندان، ببینید: \fBclients\&.focus\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBtiling\fR\fR: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfocused_frame\fR\fR: قاب (برگ) دارای تمرکز در این درخت قاب‌ها\&. برای مشخصه‌ها و فرزندان، ببینید: \fBtags\&.focus\&.tiling\&.root\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBroot\fR\fR می‌تواند یک برگ قاب (frame leaf) باشد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fILayoutAlgorithm\fR \fB\fBalgorithm\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBclient_count\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBcontent_geometry\fR\fR: هندسه و ابعاد محتویات قاب، یعنی ناحیه‌ای که توسط قاب‌های فرزند یا پنجره‌های کلاینت پر شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBindex\fR\fR: رشته‌ای فقط شامل \fI0\fR و \fI1\fR که موقعیت قاب را در درخت توصیف می‌کند\&. رشته خالی نمایانگر قاب ریشه است\&. افزودن \fI0\fR (یا به ترتیب \fI1\fR) به نمایه یک قاب، نمایه قاب زیردرخت اول (یا به ترتیب دوم) را به دست می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBselection\fR\fR .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBroot\fR\fR می‌تواند یک تقسیم قاب (frame split) باشد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIRectangle\fR \fB\fBcontent_geometry\fR\fR: هندسه و ابعاد محتویات قاب، یعنی ناحیه‌ای که توسط قاب‌های فرزند یا پنجره‌های کلاینت پر شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIdecimal\fR \fB\fBfraction\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBindex\fR\fR: رشته‌ای فقط شامل \fI0\fR و \fI1\fR که موقعیت قاب را در درخت توصیف می‌کند\&. رشته خالی نمایانگر قاب ریشه است\&. افزودن \fI0\fR (یا به ترتیب \fI1\fR) به نمایه یک قاب، نمایه قاب زیردرخت اول (یا به ترتیب دوم) را به دست می‌دهد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIint\fR \fB\fBselection\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fISplitAlign\fR \fB\fBsplit_type\fR\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fB0\fR\fR می‌تواند یک برگ قاب باشد\&. برای مشخصه‌ها و فرزندان، ببینید: \fBtags\&.focus\&.tiling\&.root\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fB0\fR\fR می‌تواند یک تقسیم قاب باشد\&. برای مشخصه‌ها و فرزندان، ببینید: \fBtags\&.focus\&.tiling\&.root\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fB1\fR\fR می‌تواند یک برگ قاب باشد\&. برای مشخصه‌ها و فرزندان، ببینید: \fBtags\&.focus\&.tiling\&.root\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fB1\fR\fR می‌تواند یک تقسیم قاب باشد\&. برای مشخصه‌ها و فرزندان، ببینید: \fBtags\&.focus\&.tiling\&.root\fR .RE .RE .RE .RE .SS "theme:" .sp .if n \{\ .RS 4 .\} .nf inner_color/inner_width ╻ outer_color/outer_width │ ╻ │ │ ┌────╴│╶─────────────────┷─────┐ ⎫ border_width │ │ color │ ⎬ + title_height + title_depth │ ┌──┷─────────────────────┐ │ ⎭ + padding_top │ │====================\&.\&.\&.\&.│ │ │ │== window content ==\&.\&.\&.\&.│ │ │ │====================\&.\&.╾──────── background_color │ │\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.│ │ │ └────────────────────────┘ │ ⎱ border_width + └──────────────────────────────┘ ⎰ padding_bottom .fi .if n \{\ .RE .\} .sp تنظیم یک ویژگی از شیء theme، صرفاً مقدار را به ویژگی مربوطه در اشیاء \fBtiling\fR و \fBfloating\fR منتقل می‌کند\&. اگر ناحیه عنوان به زبانه‌ها تقسیم شده باشد، زبانه‌های انتخاب‌نشده را می‌توان با استفاده از ویژگی‌های \fBtab_\&...\fR استایل‌دهی کرد\&. اگر این ویژگی‌ها خالی باشند، رنگ‌ها از تم کلاینتی که زبانه به آن ارجاع دارد گرفته می‌شوند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBbackground_color\fR\fR = black: رنگ پشت محتویات پنجره که هنگام تغییر اندازه قابل مشاهده است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBborder_width\fR\fR = 0: عرض پایه حاشیه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBcolor\fR\fR = black: رنگ پس‌زمینه پایه حاشیه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBinner_color\fR\fR = black: رنگ حاشیه داخلی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBinner_width\fR\fR = 0: عرض حاشیه اطراف محتوای کلاینت‌ها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fICssFile::Ptr\fR \fB\fBname\fR\fR: مسیر مطلق به یک فایل تم css\&. اگر خالی باشد، تم توسط ویژگی‌ها تعیین می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBouter_color\fR\fR = black: رنگ حاشیه خارجی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBouter_width\fR\fR = 0: عرض حاشیه‌ای که نزدیک به لبه است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_bottom\fR\fR = 0: عرض حاشیه اضافی در پایین .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_left\fR\fR = 0: عرض حاشیه اضافی در چپ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_right\fR\fR = 0: عرض حاشیه اضافی در راست .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_top\fR\fR = 0: عرض حاشیه اضافی در بالا .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBreset\fR\fR: نوشتن روی این، تمام ویژگی‌ها را به مقدار پیش‌فرض بازنشانی می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fICssSource\fR \fB\fBstyle_override\fR\fR: سورس css اضافی برای بازنویسی بخش‌هایی از تم\&. تمام قوانین اینجا اولویت بالاتری نسبت به تمام قوانین موجود در تم دارند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_outer_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ حاشیه خارجی زبانه‌های غیرضروری و غیرفوکوس‌شده؛ در صورت خالی بودن، رنگ‌ها از تنظیمات تزئینات کلاینت مربوط به زبانه گرفته می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeULong\fR \fB\fBtab_outer_width\fR\fR = Inherit: در صورت غیرخالی بودن، عرض حاشیه خارجی زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_title_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ عنوان زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBtight_decoration\fR\fR = false: مشخص می‌کند که آیا راهنماهای اندازه (size hints) بر تزئینات پنجره نیز تأثیر می‌گذارند یا فقط بر محتوای پنجره کلاینت‌های کاشی‌بندی‌شده (نیازمند فعال بودن sizehints_tiling است) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITextAlign\fR \fB\fBtitle_align\fR\fR = left: تراز افقی عنوان در داخل زبانه یا نوار عنوان\&. مقدار یکی از موارد زیر است: left، center، right .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBtitle_color\fR\fR = black .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeInt\fR \fB\fBtitle_depth\fR\fR = 0: فضای زیر خط کرسی (baseline) عنوان پنجره، یا \*(Aq\*(Aq برای محاسبه خودکار بر اساس فونت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIfont\fR \fB\fBtitle_font\fR\fR = fixed .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeULong\fR \fB\fBtitle_height\fR\fR = 0: فضای بالای خط کرسی (baseline) عنوان پنجره، یا \*(Aq\*(Aq برای محاسبه خودکار بر اساس فونت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITitleWhen\fR \fB\fBtitle_when\fR\fR = always: زمان نمایش عنوان پنجره: always، never، اگر کلاینت در سناریوی زبانه‌دار مانند فریم max باشد (\fBone_tab\fR)، اگر \fBmultiple_tabs\fR برای نمایش وجود داشته باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBactive\fR\fR: تزئینات کلاینت دارای فوکوس را پیکربندی می‌کند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBbackground_color\fR\fR = black: رنگ پشت محتویات پنجره که هنگام تغییر اندازه قابل مشاهده است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBborder_width\fR\fR = 0: عرض پایه حاشیه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBcolor\fR\fR = black: رنگ پس‌زمینه پایه حاشیه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBinner_color\fR\fR = black: رنگ حاشیه داخلی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBinner_width\fR\fR = 0: عرض حاشیه اطراف محتوای کلاینت‌ها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBouter_color\fR\fR = black: رنگ حاشیه خارجی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBouter_width\fR\fR = 0: عرض حاشیه‌ای که نزدیک به لبه است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_bottom\fR\fR = 0: عرض حاشیه اضافی در پایین .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_left\fR\fR = 0: عرض حاشیه اضافی در چپ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_right\fR\fR = 0: عرض حاشیه اضافی در راست .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_top\fR\fR = 0: عرض حاشیه اضافی در بالا .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBreset\fR\fR: نوشتن روی این، تمام ویژگی‌ها را به مقدار پیش‌فرض بازنشانی می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_outer_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ حاشیه خارجی زبانه‌های غیرضروری و غیرفوکوس‌شده؛ در صورت خالی بودن، رنگ‌ها از تنظیمات تزئینات کلاینت مربوط به زبانه گرفته می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeULong\fR \fB\fBtab_outer_width\fR\fR = Inherit: در صورت غیرخالی بودن، عرض حاشیه خارجی زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_title_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ عنوان زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBtight_decoration\fR\fR = false: مشخص می‌کند که آیا راهنماهای اندازه (size hints) بر تزئینات پنجره نیز تأثیر می‌گذارند یا فقط بر محتوای پنجره کلاینت‌های کاشی‌بندی‌شده (نیازمند فعال بودن sizehints_tiling است) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITextAlign\fR \fB\fBtitle_align\fR\fR = left: تراز افقی عنوان در داخل زبانه یا نوار عنوان\&. مقدار یکی از موارد زیر است: left، center، right .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBtitle_color\fR\fR = black .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeInt\fR \fB\fBtitle_depth\fR\fR = 0: فضای زیر خط کرسی (baseline) عنوان پنجره، یا \*(Aq\*(Aq برای محاسبه خودکار بر اساس فونت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIfont\fR \fB\fBtitle_font\fR\fR = fixed .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeULong\fR \fB\fBtitle_height\fR\fR = 0: فضای بالای خط کرسی (baseline) عنوان پنجره، یا \*(Aq\*(Aq برای محاسبه خودکار بر اساس فونت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITitleWhen\fR \fB\fBtitle_when\fR\fR = always: زمان نمایش عنوان پنجره: always، never، اگر کلاینت در سناریوی زبانه‌دار مانند فریم max باشد (\fBone_tab\fR)، اگر \fBmultiple_tabs\fR برای نمایش وجود داشته باشد\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfloating\fR\fR: رفتاری مشابه با \fBtiling\fR دارد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBbackground_color\fR\fR = black: رنگ پشت محتویات پنجره که هنگام تغییر اندازه قابل مشاهده است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBborder_width\fR\fR = 0: عرض پایه حاشیه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBcolor\fR\fR = black: رنگ پس‌زمینه پایه حاشیه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBinner_color\fR\fR = black: رنگ حاشیه داخلی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBinner_width\fR\fR = 0: عرض حاشیه اطراف محتوای کلاینت‌ها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBouter_color\fR\fR = black: رنگ حاشیه خارجی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBouter_width\fR\fR = 0: عرض حاشیه‌ای که نزدیک به لبه است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_bottom\fR\fR = 0: عرض حاشیه اضافی در پایین .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_left\fR\fR = 0: عرض حاشیه اضافی در چپ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_right\fR\fR = 0: عرض حاشیه اضافی در راست .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBpadding_top\fR\fR = 0: عرض حاشیه اضافی در بالا .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBreset\fR\fR: نوشتن روی این، تمام ویژگی‌ها را به مقدار پیش‌فرض بازنشانی می‌کند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_outer_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ حاشیه خارجی زبانه‌های غیرضروری و غیرفوکوس‌شده؛ در صورت خالی بودن، رنگ‌ها از تنظیمات تزئینات کلاینت مربوط به زبانه گرفته می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeULong\fR \fB\fBtab_outer_width\fR\fR = Inherit: در صورت غیرخالی بودن، عرض حاشیه خارجی زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeColor\fR \fB\fBtab_title_color\fR\fR = Inherit: در صورت غیرخالی بودن، رنگ عنوان زبانه‌های غیرضروری و غیرفوکوس‌شده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIbool\fR \fB\fBtight_decoration\fR\fR = false: مشخص می‌کند که آیا راهنماهای اندازه (size hints) بر تزئینات پنجره نیز تأثیر می‌گذارند یا فقط بر محتوای پنجره کلاینت‌های کاشی‌بندی‌شده (نیازمند فعال بودن sizehints_tiling است) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITextAlign\fR \fB\fBtitle_align\fR\fR = left: تراز افقی عنوان در داخل زبانه یا نوار عنوان\&. مقدار یکی از موارد زیر است: left، center، right .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcolor\fR \fB\fBtitle_color\fR\fR = black .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeInt\fR \fB\fBtitle_depth\fR\fR = 0: فضای زیر خط کرسی (baseline) عنوان پنجره، یا \*(Aq\*(Aq برای محاسبه خودکار بر اساس فونت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIfont\fR \fB\fBtitle_font\fR\fR = fixed .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIMaybeULong\fR \fB\fBtitle_height\fR\fR = 0: فضای بالای خط کرسی (baseline) عنوان پنجره، یا \*(Aq\*(Aq برای محاسبه خودکار بر اساس فونت\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fITitleWhen\fR \fB\fBtitle_when\fR\fR = always: زمان نمایش عنوان پنجره: always، never، اگر کلاینت در سناریوی زبانه‌دار مانند فریم max باشد (\fBone_tab\fR)، اگر \fBmultiple_tabs\fR برای نمایش وجود داشته باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBactive\fR\fR: تزئینات کلاینت دارای فوکوس را پیکربندی می‌کند\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.active\fR مراجعه کنید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBnormal\fR\fR: طرح تزئینات پیش‌فرض برای کلاینت‌ها\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.active\fR مراجعه کنید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBurgent\fR\fR: تزئینات کلاینت‌های ضروری را پیکربندی می‌کند\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.active\fR مراجعه کنید .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfullscreen\fR\fR: کلاینت‌ها را در حالت تمام‌صفحه پیکربندی می‌کند\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.floating\fR مراجعه کنید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBminimal\fR\fR: کلاینت‌ها را با تزئینات حداقلی ناشی از \fBsmart_window_surroundings\fR پیکربندی می‌کند\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.floating\fR مراجعه کنید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBnormal\fR\fR: طرح تزئینات پیش‌فرض برای کلاینت‌ها\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.active\fR مراجعه کنید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBtiling\fR\fR: تزئینات کلاینت‌های کاشی‌بندی‌شده را پیکربندی می‌کند؛ تنظیم یکی از ویژگی‌های آن، ویژگی مربوطه در اشیاء فرزند \fBactive\fR، \fBnormal\fR و \fBurgent\fR را منتشر می‌کند\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.floating\fR مراجعه کنید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBurgent\fR\fR: تزئینات کلاینت‌های ضروری را پیکربندی می‌کند\&. برای ویژگی‌ها و فرزندان، به \fBtheme\&.active\fR مراجعه کنید .RE .SS "انواع داده‌ها (types):" .sp این بخش انواع داده‌ای را که برای ویژگی‌ها و آرگومان‌های دستورات به کار می‌روند، فهرست می‌کند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBbool\fR\fR: نوع داده‌ای که مقادیر بولی را نشان می‌دهد، یعنی وضعیت \fIon\fR (روشن/فعال) یا \fIoff\fR (خاموش/غیرفعال)، به همراه نام‌های مستعار \fItrue\fR و \fIfalse\fR\&. هنگام مقداردهی به یک مقدار بولی، می‌توان مقدار \fItoggle\fR را نیز به منظور تغییر وضعیت معکوس مقدار آن مشخص کرد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBfullname\fR\fR: نام کامل و یکتای این نوع داده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIstring\fR \fB\fBshortname\fR\fR: یک نام کوتاه (یک‌کاراکتری) برای این نوع داده که در خروجی دستور \fIattr\fR استفاده می‌شود .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBcolor\fR\fR: نوع داده‌ای که رنگ‌ها را نشان می‌دهد\&. یک رنگ می‌تواند در یکی از قالب‌های زیر تعریف شود: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} #RRGGBB که در آن R، G، B ارقام شانزده‌شانزدهی (0\-9، A\-F) هستند و RR، GG، BB مقادیر مربوط به رنگ‌های قرمز، سبز و آبی را مشخص می‌کنند\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} #RRGGBBAA یک رنگ را به همراه مقدار آلفا AA نشان می‌دهد\&. مقدار آلفای 00 کاملاً شفاف و FF کاملاً کدر/ناشفاف است\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} یک نام رنگ متداول مانند \fIred\fR, \fIblue,\fR \fIorange\fR و غیره\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBdecimal\fR\fR: اعداد اعشاری با دقت ثابت، مانند 0\&.34\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBfont\fR\fR: مشخصات فونت (خانواده فونت به همراه اصلاح‌کننده‌های اندازه، ضخامت و غیره) در یکی از قالب‌های زیر: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} توصیف Fontconfig\&. این قالب از فونت‌های صاف‌شده (antialiased) پشتیبانی می‌کند، برای مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIDejavu Sans:pixelsize=12\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIBitstream Vera Sans:size=12:bold\fR .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} توصیف منطقی فونت در X یا XLFD (X logical font description)، آن‌گونه که توسط ابزار xfontsel ارائه می‌شود\&. در این حالت از صاف‌سازی پشتیبانی نمی‌شود، اما این حالت معمولاً برای فونت‌های بیت‌مپ مناسب‌تر است\&. برای مثال: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fI\-*\-fixed\-medium\-r\-*\-*\-13\-*\-*\-*\-*\-*\-*\-*\fR برای یک فونت بیت‌مپ استاندارد که در بیشتر سیستم‌ها موجود است\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBint\fR\fR: نوع داده‌ای که اعداد صحیح علامت‌دار را نشان می‌دهد\&. هنگام بازنویسی یک عدد صحیح، می‌توانید مقدار آن را با نوشتن \fI+=N\fR یا \fI\-=N\fR (که در آن N یک عدد صحیح است) به صورت نسبی افزایش یا کاهش دهید\&. برای مثال، نوشتن \fI+=3\fR روی یک ویژگی، مقدار آن را ۳ واحد افزایش می‌دهد\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBnames\fR\fR: مجموعه‌ای ثابت از نام‌ها، بسته به زمینه کاربرد؛ برای مثال نام‌های الگوریتم‌های چیدمان یا نوع تقسیم‌بندی یک فریم غیربرگ (که فقط \fIhorizontal\fR یا \fIvertical\fR است)\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBrectangle\fR\fR: یک مستطیل روی صفحه نمایش که از یک اندازه و موقعیت مکانی روی صفحه تشکیل شده است\&. قالب آن WxH+X+Y است که در آن W عرض، H ارتفاع، و X و Y مختصات گوشه بالا و سمت چپ مستطیل هستند: X تعداد پیکسل‌ها تا لبه چپ صفحه و Y تعداد پیکسل‌ها تا لبه بالای صفحه است\&. (اگر X یا Y منفی باشد، علامت + به \- تبدیل می‌شود)\&. برای مثال: 800x600+800+0 یا 400x200\-10+30\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBregex\fR\fR: یک عبارت منظم گسترش‌یافته بر پایه استاندارد POSIX (POSIX extended regular expression)\&. توجه داشته باشید هنگام انتقال یک عبارت منظم در خط فرمان، ممکن است نقل‌قول‌گذاری اضافی لازم باشد\&. برای توضیحات و مثال‌ها، به بخش 9\&.4\&.6 مستندات مراجعه کنید: https://pubs\&.opengroup\&.org/onlinepubs/9699919799/basedefs/V1_chap09\&.html#tag_09_04_06\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBstring\fR\fR: نوع داده‌ای که متن معمولی را نشان می‌دهد\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBuint\fR\fR: نوع داده‌ای که اعداد صحیح بدون علامت (یعنی نامنفی) را نشان می‌دهد\&. هنگام بازنویسی یک عدد صحیح، می‌توانید مقدار آن را با نوشتن \fI+=N\fR یا \fI\-=N\fR (که در آن N یک عدد صحیح است) به صورت نسبی افزایش یا کاهش دهید\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\fBwindowid\fR\fR: شناسه پنجره، شماره یک پنجره است\&. این می‌تواند یک پنجره مدیریت‌شده (یعنی کلاینت) یا یک پنجره مدیریت‌نشده (مانند یک پنل، یک منو یا یک پنجره دسکتاپ) باشد\&. قالب پیش‌فرض 0xHEX است که در آن HEX یک عدد هگزادسیمال (شانزده‌شانزدهی با ارقام 0\-9 و a\-f) است، اما می‌توان آن را در سیستم ده‌دهی (مبنای ۱۰) یا به عنوان یک عدد هشت‌هشتی (با پیشوند 0 و در مبنای ۸) نیز مشخص کرد\&. هنگامی که شناسه یک پنجره چاپ می‌شود، همیشه در قالب 0xHEX و بدون هیچ صفر پیشتازی چاپ می‌گردد\&. برای ویژگی‌ها و فرزندان، به \fBtypes\&.bool\fR مراجعه کنید\&. .RE .SS "دیده‌بان‌ها (watchers):" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIuint\fR \fB\fBcount\fR\fR: تعداد ویژگی‌هایی که زیر نظر هستند .RE .SH "فایل اجرای خودکار (AUTOSTART FILE)" .sp فایل پیکربندی جداگانه‌ای وجود ندارد، بلکه یک فایل اجرای خودکار (autostart) وجود دارد که هنگام بالا آمدن برنامه اجرا می‌شود\&. این فایل با دستور \fIreload\fR نیز اجرا می‌شود\&. اگر توسط آرگومان \fB\-\-autostart\fR مشخص نشده باشد، فایل autostart در مسیر \fI$XDG_CONFIG_HOME/herbstluftwm/autostart\fR یا \fI~/\&.config/herbstluftwm/autostart\fR قرار دارد\&. معمولاً این فایل از چند فراخوانی \fBherbstclient\fR تشکیل شده است\&. اگر اجرای فایل autostart در دایرکتوری خانگی کاربر با شکست مواجه شود، فایل autostart سراسری (که بیشتر در مسیر /etc/xdg/herbstluftwm/autostart قرار دارد) به عنوان جایگزین پشتیبان اجرا می‌شود\&. .sp برای نصب و راه‌اندازی سریع، فایل autostart پیش‌فرض را در مسیر \fI~/\&.config/herbstluftwm/\fR کپی کنید\&. .SH "قلاب‌ها (HOOKS)" .sp هنگام رخ دادن رویدادهای خاص، herbstluftwm برخی قلاب‌ها را (همراه با پارامترها) ارسال می‌کند\&. می‌توانید با استفاده از \fBherbstclient\fR(1) آن‌ها را دریافت کرده یا منتظرشان بمانید\&. همچنین قلاب‌های سفارشی را می‌توان با دستور \fBemit_hook\fR ارسال کرد\&. قلاب‌های زیر توسط خود herbstluftwm ارسال می‌شوند: .PP attribute_changed \fIPATH\fR \fIOLDVALUE\fR \fINEWVALUE\fR .RS 4 ویژگی \fIPATH\fR از \fIOLDVALUE\fR به \fINEWVALUE\fR تغییر یافت\&. نیازمند این است که ویژگی \fIPATH\fR قبلاً به دستور \fBwatch\fR داده شده باشد\&. .RE .PP fullscreen [on|off] \fIWINID\fR .RS 4 وضعیت تمام‌صفحه پنجره \fIWINID\fR به [on|off] تغییر یافت\&. .RE .PP tag_changed \fITAG\fR \fIMONITOR\fR .RS 4 برچسب \fITAG\fR روی مانیتور \fIMONITOR\fR انتخاب شد\&. .RE .PP focus_changed \fIWINID\fR \fITITLE\fR .RS 4 پنجره \fIWINID\fR فوکوس را دریافت کرد\&. عنوان این پنجره \fITITLE\fR است\&. .RE .PP window_title_changed \fIWINID\fR \fITITLE\fR .RS 4 عنوان پنجره \fBدارای فوکوس\fR تغییر یافت\&. شناسه این پنجره \fIWINID\fR و عنوان جدید آن \fITITLE\fR است\&. .RE .PP tag_flags .RS 4 پرچم‌ها (یعنی وضعیت اضطراری یا پر بودن برچسب) تغییر کرده‌اند\&. .RE .PP tag_added \fITAG\fR .RS 4 برچسبی با نام \fITAG\fR اضافه شد\&. .RE .PP tag_removed \fITAG\fR .RS 4 برچسب با نام \fITAG\fR حذف شد\&. .RE .PP tag_renamed \fIOLD\fR \fINEW\fR .RS 4 نام برچسب از \fIOLD\fR به \fINEW\fR تغییر یافت\&. .RE .PP urgent [on|off] \fIWINID\fR .RS 4 وضعیت اضطراری کلاینت با شناسه مشخص‌شده \fIWINID\fR به [on|off] تغییر یافته است\&. .RE .PP rule \fINAME\fR \fIWINID\fR .RS 4 پنجره‌ای با شناسه \fIWINID\fR ظاهر شد که قانونی با پیامد hook=\fINAME\fR را فعال کرد\&. .RE .sp قلاب‌های مفید دیگری نیز وجود دارند که هرگز توسط خود herbstluftwm ارسال نخواهند شد، اما می‌توان آن‌ها را با دستور \fBemit_hook\fR ارسال کرد: .PP quit_panel .RS 4 به یک پنل می‌گوید که خارج شود\&. اسکریپت پیش‌فرض panel\&.sh با دریافت این قلاب خارج می‌شود\&. اسکریپت‌های بسیاری از این قلاب استفاده می‌کنند\&. .RE .PP reload .RS 4 به تمام دیمن‌ها اعلام می‌کند که فایل \fIautostart\fR دوباره بارگذاری شده است \(em و به آن‌ها می‌گوید خارج شوند\&. این قلاب \fBباید\fR در خط اول هر فایل \fIautostart\fR ارسال شود\&. .RE .SH "پوسته‌ها و شیوه‌نامه‌ها (THEMES/STYLESHEETS)" .sp ظاهر تزئینات کلاینت را می‌توان از طریق ویژگی‌های زیر شیء \fBtheme\&.\fR، یا به شیوه‌ای دقیق‌تر از طریق شیوه‌نامه‌ها، با الهام از CSS کنترل کرد\&. .sp مستندات بیشتر درباره قالب پوسته به زودی ارائه خواهد شد\&. .SH "پشته‌بندی (STACKING)" .sp هر برچسب پشته اختصاصی خود را از کلاینت‌هایی که روی آن برچسب هستند دارد\&. مشابه مشخصات EWMH، پشته هر برچسب شامل چندین لایه است که از بالا به پایین عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کلاینت دارای فوکوس (اگر raise_on_focus_temporarily فعال باشد) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کلاینت‌های در حالت تمام‌صفحه .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کلاینت‌های معمولی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تزئینات فریم .RE .sp تمام مانیتورها در یک پشته بزرگ مدیریت می‌شوند که فقط شامل پشته‌های برچسب‌های مرئی است که روی یکدیگر قرار گرفته‌اند\&. ترتیب پشته‌بندی این مانیتورها مستقل از ایندکس آن‌هاست و با استفاده از دستور \fBraise_monitor\fR قابل تغییر است\&. پشته جاری توسط دستور \fBstack\fR نمایش داده می‌شود\&. .SH "ویژگی‌های EWMH و X11 (EWMH AND X11 PROPERTIES)" .sp تا جای ممکن، herbstluftwm تلاش می‌کند تا با استاندارد EWMH سازگار باشد\&. این شامل موارد زیر است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اطلاعات مربوط به نام برچسب‌ها و فهرست‌های کلاینت ارائه می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} پنجره‌های دسکتاپ مربوط به محیط‌های رومیزی مدیریت نمی‌شوند و در زیر پنجره‌های دیگر نگه داشته می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} درخواست‌های کلاینت مانند گرفتن فوکوس فقط زمانی پردازش می‌شوند که تنظیم \fIfocus_stealing_prevention\fR غیرفعال باشد\&. .RE .sp علاوه بر این، herbstluftwm ویژگی‌های X11 با نام‌های \fIHLWM_FLOATING_WINDOW\fR و \fIHLWM_TILING_WINDOW\fR را تنظیم می‌کند تا نشان دهد آیا پنجره در حالت شناور است یا کاشی‌کاری‌شده، یعنی مقدار ویژگی \fIfloating_effectively\fR کلاینت\&. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .PP DISPLAY .RS 4 متغیر \fIDISPLAY\fR مورد استفاده را مشخص می‌کند\&. .RE .SH "فایل‌ها (FILES)" .sp فایل‌های زیر توسط herbstluftwm استفاده می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIautostart\fR، به بخش \fBAUTOSTART FILE\fR مراجعه کنید\&. .RE .SH "وضعیت خروج (EXIT STATUS)" .sp در صورت موفقیت مقدار \fB0\fR را برمی‌گرداند\&. اگر نتواند راه‌اندازی شود یا اگر \fIwmexec\fR با شکست مواجه شود، مقدار \fBEXIT_FAILURE\fR را برمی‌گرداند\&. .SH "اشکالات (BUGS)" .sp اشکالات (Issues) گیت‌هاب \fBherbstluftwm\fR را ببینید: https://github\&.com/herbstluftwm/herbstluftwm/issues .SH "جامعه کاربری (COMMUNITY)" .sp می‌توانید به کانال IRC با نام \fI#herbstluftwm\fR در \fIirc\&.libera\&.chat\fR بپیوندید\&. .SH "نویسنده (AUTHOR)" .sp \fBherbstluftwm\fR توسط Thorsten Wißmann نوشته شده است\&. همه مشارکت‌کنندگان در فایل AUTHORS توزیع \fBherbstluftwm\fR فهرست شده‌اند\&. .SH "منابع (RESOURCES)" .sp صفحه اصلی: http://herbstluftwm\&.org .sp صفحه گیت‌هاب: http://github\&.com/herbstluftwm/herbstluftwm .sp ارسال وصله‌ها و گزارش اشکالات: .sp .if n \{\ .RS 4 .\} .nf hlwm@lists\&.herbstluftwm\&.org .fi .if n \{\ .RE .\} .SH "کپی‌رایت و تکثیر (COPYING)" .sp کپی‌رایت 2011\-2020 Thorsten Wißmann\&. کلیه حقوق محفوظ است\&. .sp این نرم‌افزار تحت مجوز «Simplified BSD License» منتشر شده است\&. برای جزئیات بیشتر به LICENSE مراجعه کنید\&.