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
Rasmus Steinke
Morgane Glidic
کد اصلی مبتنی بر کار زیر است: Sean Pringle
برای مشاهده فهرست کامل نویسندگان، فایل AUTHORS را بررسی کنید.
rofi rofi-dmenu(5)