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