.TH "rofi\-dmenu" "5" "" "rofi" "راهنمای قالب‌های فایل" .SH "نام (NAME)" \f[B]rofi\-dmenu\f[R] \- شبیه‌سازی dmenu در rofi .SH "توضیحات (DESCRIPTION)" برای ادغام \f[B]rofi\f[R] در اسکریپت‌ها به عنوان کادرهای محاوره‌ای ساده جهت انتخاب، \f[B]rofi\f[R] از شبیه‌سازی \f[B]dmenu(1)\f[R] (یک منوی پویا برای سامانه پنجره X11) پشتیبانی می‌کند. .PP وب‌سایت \f[B]dmenu\f[R] را می‌توان در \c .UR http://tools.suckless.org/dmenu/ اینجا .UE \c \& مشاهده کرد. .PP هدف \f[B]rofi\f[R] سازگاری ۱۰۰٪ با \f[B]dmenu\f[R] نیست؛ چرا که نسخه‌ها و گونه‌های بسیار متنوعی از \f[B]dmenu\f[R] وجود دارد. ایده اصلی این است که از پرچم‌های پایه خط فرمان تبعیت شود، اما پرچم‌های مربوط به پوسته و تم نادیده گرفته می‌شوند. علاوه بر این، \f[B]rofi\f[R] قابلیت‌های گسترده‌تری (مانند چند\-انتخابی، برجسته‌سازی، نوار پیام و کلیدهای میانبر اضافی) را ارائه می‌دهد. .SH "مفاهیم پایه (BASIC CONCEPT)" در حالت \f[B]dmenu\f[R]، برنامه \f[B]rofi\f[R] داده‌ها را از ورودی استاندارد (stdin) خوانده، آن‌ها را به ورودی‌های جداگانه تقسیم کرده و نمایش می‌دهد. اگر کاربر سطری را انتخاب کند، آن سطر در خروجی استاندارد (stdout) چاپ می‌شود و به اسکریپت اجازه پردازش بیشتر آن را می‌دهد. .PP به‌طور پیش‌فرض، جداسازی سطرها بر اساس خطوط جدید (newline) انجام می‌شود که لوله‌کشی (pipe) خروجی یک برنامه به \f[B]rofi\f[R] و ارسال خروجی rofi به برنامه بعدی را بسیار آسان می‌کند. .SH "کاربرد (USAGE)" با اجرای \f[B]rofi\f[R] همراه با پرچم \f[B]\-dmenu\f[R]، این برنامه وارد حالت شبیه‌سازی dmenu می‌شود. .IP .EX ls \f[B]|\f[R] rofi \-dmenu .EE .SS "جایگزین مستقیم DMENU (DMENU DROP\-IN REPLACEMENT)" اگر \f[B]argv[0]\f[R] (دستور فراخواننده) dmenu باشد، \f[B]rofi\f[R] در حالت dmenu شروع به کار خواهد کرد. به این ترتیب، می‌توان از آن به عنوان یک جایگزین مستقیم برای dmenu استفاده کرد. کافی است \f[B]rofi\f[R] را به dmenu در متغیر محیطی \f[B]$PATH\f[R] کپی کرده یا یک پیوند نمادین (symlink) بسازید. .IP .EX ln \-s /usr/bin/rofi /usr/bin/dmenu .EE .SS "حالت DMENU در برابر حالت SCRIPT (DMENU VS SCRIPT MODE)" حالت Script برای گسترش \f[B]rofi\f[R] به کار می‌رود، در حالی که حالت dmenu برای گسترش یک اسکریپت استفاده می‌شود. این دو ساختار، قالب ورودی بسیار مشابهی دارند. لطفاً برای اطلاعات بیشتر به صفحه راهنمای \f[B]rofi\-script(5)\f[R] مراجعه کنید. .SS "پرچم‌های خط فرمان مخصوص DMENU (DMENU SPECIFIC COMMANDLINE FLAGS)" بسیاری از این گزینه‌ها را می‌توان توسط اسکریپت و با استفاده از ورودی‌های ویژه نیز تغییر داد. برای اطلاعات بیشتر در مورد این ساختار نحوی به صفحه راهنمای \f[B]rofi\-script(5)\f[R] مراجعه کنید. .TP \f[B]\-sep\f[R] \f[I]separator\f[R] جداکننده برای \f[B]dmenu\f[R]. مثال: برای نمایش فهرستی از `a' تا `e' با جداکننده `|': .RS .IP .EX echo \[dq]a|b|c|d|e\[dq] \f[B]|\f[R] rofi \-sep \[aq]|\[aq] \-dmenu .EE .RE .TP \f[B]\-p\f[R] \f[I]prompt\f[R] اعلان (prompt) نمایشی در حالت \f[B]dmenu\f[R] را مشخص می‌کند. برای مثال، انتخاب `monkey'، a، b، c، d یا e. .RS .IP .EX echo \[dq]a|b|c|d|e\[dq] \f[B]|\f[R] rofi \-sep \[aq]|\[aq] \-dmenu \-p \[dq]monkey\[dq] .EE .PP پیش‌فرض: \f[I]dmenu\f[R] .RE .TP \f[B]\-l\f[R] \f[I]number of lines to show\f[R] حداکثر تعداد خطوطی که منو پیش از پیمایش (scroll) نمایش می‌دهد. .RS .IP .EX rofi \-dmenu \-l 25 .EE .PP پیش‌فرض: \f[I]15\f[R] .RE .TP \f[B]\-i\f[R] جستجوهای \f[B]dmenu\f[R] را به حروف بزرگ و کوچک حساس نمی‌کند (case\-insensitive). .TP \f[B]\-a\f[R] \f[I]X\f[R] سطر فعال؛ \f[I]X\f[R] را به عنوان فعال علامت‌گذاری می‌کند. که در آن \f[I]X\f[R] فهرستی جداشده با کاما از اندیس‌ها و بازه‌ها به سبک python(1) است؛ به عنوان مثال، اندیس‌ها از ۰ شروع می‌شوند، \-1 به آخرین سطر و \-2 به سطر ماقبل آن اشاره دارد، بازه‌ها از چپ\-باز و از راست\-بسته هستند و غیره. می‌توانید موارد زیر را مشخص کنید: .RS .IP \[bu] 2 یک سطر تکی: `5' .IP \[bu] 2 بازه‌ای از سطرها (۳ سطر آخر): `\-3:' .IP \[bu] 2 ۴ سطر با شروع از سطر ۷: `7:11' (یا در شیوه نگارش قدیمی: `7\-10') .IP \[bu] 2 مجموعه‌ای از سطرها: `2,0,\-9' .IP \[bu] 2 یا هر ترکیبی: `5,\-3:,7:11,2,0,\-9' .RE .TP \f[B]\-u\f[R] \f[I]X\f[R] سطر اضطراری؛ \f[I]X\f[R] را به عنوان اضطراری (urgent) علامت‌گذاری می‌کند. برای جزئیات بیشتر به گزینه \f[B]\-a\f[R] مراجعه کنید. .TP \f[B]\-only\-match\f[R] فقط یک مورد انتخاب‌شده را برمی‌گرداند و اجازه ورود مقادیر سفارشی را نمی‌دهد. این حالت همیشه یک ورودی را برمی‌گرداند و در صورتی که هیچ ورودی منطبقی انتخاب نشود، خارج نخواهد شد. .TP \f[B]\-no\-custom\f[R] فقط یک مورد انتخاب‌شده را برمی‌گرداند و اجازه ورود مقادیر سفارشی را نمی‌دهد. این حالت هنگامی که هیچ ورودی‌ای داده نشود، فوراً بازمی‌گردد. .TP \f[B]\-format\f[R] \f[I]format\f[R] امکان سفارشی‌سازی قالب خروجی dmenu را فراهم می‌کند (N تعداد کل ورودی‌ها است): .RS .IP \[bu] 2 `s' رشته انتخاب‌شده .IP \[bu] 2 `i' اندیس (0 \- (N\-1)) .IP \[bu] 2 `d' اندیس (1 \- N) .IP \[bu] 2 `q' رشته داخل نقل‌قول (quote) .IP \[bu] 2 `p' رشته انتخاب‌شده پس از حذف نشانه‌گذاری‌های Pango (باید یک رشته معتبر باشد) .IP \[bu] 2 `f' رشته فیلتر (ورودی کاربر) .IP \[bu] 2 `F' رشته فیلتر داخل نقل‌قول (ورودی کاربر) .PP پیش‌فرض: `s' .RE .TP \f[B]\-select\f[R] \f[I]string\f[R] اولین خطی را که با رشته داده‌شده مطابقت دارد انتخاب می‌کند. .TP \f[B]\-mesg\f[R] \f[I]string\f[R] یک خط پیام در زیر کادر ورودی فیلتر اضافه می‌کند. از نشانه‌گذاری Pango پشتیبانی می‌کند. برای اطلاعات بیشتر در مورد نشانه‌گذاری‌های پشتیبانی‌شده به \c .UR https://docs.gtk.org/Pango/pango_markup.html اینجا .UE \c \& مراجعه کنید. .TP \f[B]\-dump\f[R] فهرست فیلترشده را به خروجی استاندارد (stdout) ریخته و خارج می‌شود. از این گزینه می‌توان برای دریافت فهرستی که \f[B]rofi\f[R] آن را فیلتر می‌کند استفاده کرد. به همراه دستور \f[B]\-filter\f[R] استفاده شود. .TP \f[B]\-input\f[R] \f[I]file\f[R] به جای ورودی استاندارد (stdin)، داده‌ها را از \f[I]file\f[R] می‌خواند. .TP \f[B]\-password\f[R] متن ورودی را پنهان می‌کند. این مورد نباید از نظر امنیتی کاملاً ایمن در نظر گرفته شود! .TP \f[B]\-markup\-rows\f[R] به \f[B]rofi\f[R] اعلام می‌کند که ورودی dmenu با نشانه‌گذاری Pango کدگذاری شده و باید پردازش و رندر شود. برای جزئیات بیشتر در مورد نشانه‌گذاری Pango به \c .UR https://docs.gtk.org/Pango/pango_markup.html اینجا .UE \c \& مراجعه کنید. .TP \f[B]\-multi\-select\f[R] امکان انتخاب چندین خط را فراهم می‌کند. یک نشانگر کوچک انتخاب در سمت چپ هر ورودی اضافه می‌کند. .TP \f[B]\-sync\f[R] حالت \f[B]rofi\f[R] را مجبور می‌کند تا ابتدا تمام داده‌ها را از stdin بخواند و سپس پنجره انتخاب را نمایش دهد. این رفتار اصلی dmenu است. .RS .PP نکته: در صورت استفاده از گزینه‌های متناقض مانند \f[B]\-dump\f[R]، \f[B]\-only\-match\f[R] یا \f[B]\-auto\-select\f[R]، حالت ناهمگام پیش‌فرض نیز به‌طور خودکار غیرفعال خواهد شد. .RE .TP \f[B]\-window\-title\f[R] \f[I]title\f[R] نام مورد استفاده برای عنوان پنجره را تنظیم می‌کند. به صورت Rofi \- \f[I]title\f[R] نمایش داده خواهد شد. .TP \f[B]\-w\f[R] \f[I]windowid\f[R] پنجره \f[B]rofi\f[R] را بر روی پنجره‌ای با شناسه پنجره X11 داده‌شده قرار می‌دهد. .TP \f[B]\-keep\-right\f[R] حالت کوتاه کردن متن (ellipsize) را روی start (شروع) قرار می‌دهد تا انتهای رشته قابل مشاهده باشد. .TP \f[B]\-display\-columns\f[R] فهرستی از ستون‌ها برای نمایش که با کاما از یکدیگر جدا شده‌اند. .TP \f[B]\-display\-column\-separator\f[R] جداکننده ستون. این یک عبارت باقاعده (regex) است. .RS .PP \f[I]پیش‌فرض\f[R]: \[cq] \[cq] .RE .TP \f[B]\-ballot\-selected\-str\f[R] \f[I]string\f[R] هنگامی که قابلیت چند\-انتخابی فعال است، این رشته را به عنوان پیشوند عنصر انتخاب‌شده قرار می‌دهد. .RS .PP \f[I]پیش‌فرض\f[R]: \[lq]☑\[rq] .RE .TP \f[B]\-ballot\-unselected\-str\f[R] \f[I]string\f[R] هنگامی که قابلیت چند\-انتخابی فعال است، این رشته را به عنوان پیشوند عنصر انتخاب‌نشده قرار می‌دهد. .RS .PP \f[I]پیش‌فرض\f[R]: \[lq]☐\[rq] .RE .TP \f[B]\-ellipsize\-mode\f[R] (start|middle|end) تنظیم حالت کوتاه کردن متن در نمای فهرست (listview). .RS .PP \f[I]پیش‌فرض\f[R] \[lq]end\[rq] .RE .SH "تجزیه گزینه‌های سطر (PARSING ROW OPTIONS)" گزینه‌های اضافی برای سطرهای جداگانه نیز قابل تنظیم هستند. برای جزئیات بیشتر به صفحه راهنمای \f[B]rofi\-script(5)\f[R] مراجعه کنید؛ ساختار نحوی و قابلیت‌های پشتیبانی‌شده کاملاً یکسان هستند. .SH "کدهای بازگشتی (RETURN VALUE)" .IP \[bu] 2 \f[B]0\f[R]: سطر با موفقیت توسط کاربر انتخاب و پذیرفته شد. .IP \[bu] 2 \f[B]1\f[R]: کاربر فرآیند انتخاب را لغو کرد. .IP \[bu] 2 \f[B]10\-28\f[R]: سطر از طریق کلیدهای میانبر سفارشی پذیرفته شد. .SH "همچنین ببینید (SEE ALSO)" rofi(1), rofi\-sensible\-terminal(1), dmenu(1), rofi\-theme(5), rofi\-script(5), rofi\-theme\-selector(1), ascii(7) .SH "نویسندگان (AUTHORS)" Qball Cow \c .MT qball@gmpclient.org .ME \c .PP Rasmus Steinke \c .MT rasi@xssn.at .ME \c .PP Morgane Glidic \c .MT sardemff7+rofi@sardemff7.net .ME \c .PP کد اصلی مبتنی بر کار زیر است: Sean Pringle \c .MT sean.pringle@gmail.com .ME \c .PP برای مشاهده فهرست کامل نویسندگان، فایل AUTHORS را بررسی کنید.