bemenu(1) General Commands Manual bemenu(1)

bemenu - منوی پویا و تعاملی برای Wayland و X11 و محیط‌های ترمینال

bemenu [-hCiKTvwx] [-I <index>] [-l <lines>] [-P <prefix>]

[-p <prompt>] [--ifne] [--scrollbar none|always|autohide] [--binding vim] [--fork] [backend_options]

bemenu-run [-hCiKTvwx] [-I <index>] [-l <lines>] [-P <prefix>]

[-p <prompt>] [--ifne] [--scrollbar none|always|autohide] [--binding vim] [--fork] [--no-exec] [backend-options]

bemenu یک منوی پویا برای tty(4) (با استفاده از ncurses(3))، X11 و Wayland است که با الهام از dmenu(1) طراحی شده است.

این برنامه فهرستی از آیتم‌ها را که با خط جدید از هم جدا شده‌اند از ورودی استاندارد می‌خواند و سپس آن‌ها را به صورت یک فهرست نمایش می‌دهد، به طوری که کاربر می‌تواند یک یا چند مورد از آن‌ها را انتخاب کند. با فشردن <carriage-return>، آیتم‌های انتخاب‌شده در خروجی استاندارد چاپ می‌شوند (هر کدام در یک خط) و bemenu خارج می‌شود.

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

دستور bemenu-run یک شیوه فراخوانی ویژه از bemenu است، که در آن ورودی فهرستی از فایل‌های اجرایی موجود در PATH است و آیتم‌های انتخاب‌شده اجرا می‌شوند.

-h, --help

پیام راهنما را در خروجی استاندارد چاپ کرده و خارج می‌شود.

-C, --no-cursor

غیرفعال کردن تمام رویدادهای مکان‌نما.

-I, --index <index>

آیتم موجود در نمایه index را در ابتدا برجسته می‌کند. نمایه‌ها از 0 شروع می‌شوند. به صورت پیش‌فرض، نخستین آیتم برجسته می‌شود.

-i, --ignorecase

فیلتر کردن آیتم‌ها بدون حساسیت به بزرگی و کوچکی حروف.

-K, --no-keyboard

غیرفعال کردن تمام رویدادهای صفحه‌کلید.

-l, --list "<number> down|up"

فهرست کردن آیتم‌ها به صورت عمودی به سمت پایین (down) یا بالا (up) با تعداد خطوط مشخص‌شده (number).

-P, --prefix <prefix>

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

-p, --prompt <prompt>

متن اعلان (prompt) را برای نمایش در سمت چپ فیلد ورودی مشخص می‌کند. مقدار پیش‌فرض ‘bemenu’ است.

-s, --no-spacing

غیرفعال کردن فاصله‌گذاری عنوان در ورودی‌ها.

-T, --no-touch

غیرفعال کردن تمام رویدادهای لمسی.

-v, --version

چاپ شماره نسخه bemenu در خروجی استاندارد و خروج.

-w, --wrap

پیمایش به بعد از انتهای فهرست، کاربر را به ابتدای فهرست بازمی‌گرداند.

-x, --password none|hide|indicator

مشخص کردن نحوه نمایش متن فیلتر:
none نمایش ورودی (پیش‌فرض).
hide عدم نمایش هرگونه ورودی.
indicator جایگزینی ورودی با نمادهای ستاره.

--fixed-height

جلوگیری از تغییر ارتفاع صفحه نمایش هنگام فیلتر کردن.

--accept-single

در صورت وجود تنها یک آیتم، بلافاصله آن را برگردانده و خارج می‌شود.

--auto-select

هنگامی که تنها یک ورودی باقی مانده باشد، آن را به طور خودکار انتخاب می‌کند.

--binding

استفاده از کلیدهای میانبر جایگزین. گزینه‌های در دسترس: vim

--fork

همیشه پیش از اجرای موارد انتخاب‌شده از fork(2) استفاده می‌کند. به صورت پیش‌فرض هنگام استفاده از بک‌اند ترمینال غیرفعال است.

--ifne

تنها در صورتی منو را نمایش می‌دهد که آیتم‌هایی وجود داشته باشند.

--single-instance

اجبار به اجرای تنها یک نمونه از منو.

--no-exec

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

--scrollbar none|always|autohide

مشخص کردن زمان نمایش نوار پیمایش برای فهرست‌های عمودی:
none هرگز نوار پیمایش نمایش داده نشود (پیش‌فرض).
always همیشه نوار پیمایش نمایش داده شود.
autohide تنها زمانی که تعداد آیتم‌ها از تعداد خطوط بیشتر شود نوار پیمایش نمایش داده شود.

-e, --vim-esc-exits

خروج از bemenu هنگام فشردن کلید Escape در حالت عادی (normal mode) برای میانبرهای ویم.

-N, --vim-normal-mode

شروع در حالت عادی (normal mode) برای میانبرهای ویم.

-F, --filter

فیلتر کردن آیتم‌ها برای یک رشته معین پیش از نمایش منو. بر --ifne و --accept-single اثر می‌گذارد.

این گزینه‌ها تنها در بک‌آندهای مشخص‌شده در پرانتز در دسترس هستند:

-b, --bottom (Wayland, X11)

فهرست در پایین صفحه نمایش ظاهر خواهد شد.

-c, --center (Wayland, X11)

فهرست در مرکز صفحه نمایش ظاهر خواهد شد (wx).

-f, --grab (Wayland, X11)

نمایش پنجره bemenu هنگام خواندن آیتم‌ها.

-B, --border (Wayland, X11)

مشخص کردن عرض حاشیه به پیکسل در اطراف منو.

--bdr (Wayland, X11)

مشخص کردن رنگ حاشیه.

-R, --border-radius (Wayland, X11)

مشخص کردن شعاع انحنای حاشیه اطراف منو (0 = بدون حاشیه منحنی).

-H, --line-height <height> (Wayland, X11)

مشخص کردن ارتفاع بر حسب پوینت برای هر ورودی (height).

--ch (Wayland, X11)

مشخص کردن ارتفاع مکان‌نما (0 = تغییر مقیاس متناسب با ارتفاع خط).

--cw (Wayland, X11)

مشخص کردن عرض مکان‌نما.

-m, --monitor <index> (Wayland, X11)

مشخص کردن نمایه مانیتور (index) که فهرست باید در آن نمایش یابد. نمایه‌های مانیتور از صفر شروع می‌شوند. تفسیر آرگومان ارائه‌شده به بک‌اند مورد استفاده بستگی دارد. در X11 و Wayland، مقدار ‘-1’ یا focused نشان می‌دهد که باید از مانیتور فعلی استفاده شود (پیش‌فرض). در Wayland، مقدار index باید یک رشته برای تعیین نام مانیتور مشخص باشد. مقدار ‘-2’ یا all نشان می‌دهد که فهرست باید در تمام مانیتورها نمایش یابد.

-n, --no-overlap (Wayland)

تنظیم پنجره bemenu برای قرار گرفتن بر روی سایر پنل‌ها.

-M, --margin <margin> (Wayland, X11)

مشخص کردن حاشیه خالی (margin) به پیکسل برای ایجاد فاصله بین منو و لبه‌های دید عمودی. نرم‌افزار bemenu اندازه خود را کاهش می‌دهد تا در فضای بین فاصله‌ها قرار گیرد.

--hp (Wayland, X11)

مشخص کردن فاصله‌گذاری افقی (padding) برای ورودی‌ها در حالت تک‌خطی.

-W, --width-factor <factor> (Wayland, X11)

مشخص کردن ضریب عرض نسبی به صورت یک عدد اعشاری. تنظیم آن بین 0 و 1 منطقی است تا مشخص کند چه میزان از عرض صفحه نمایش توسط bemenu استفاده شود. با این حال، bemenu همچنان به margin احترام می‌گذارد، بنابراین اگر اندازه نهایی بزرگتر از فضای بین فاصله‌ها باشد، bemenu مقدار factor را نادیده گرفته و در عوض از فضای در دسترس استفاده می‌کند.

--fn <name [size]> (Wayland, X11)

مشخص کردن نام خانواده قلم (name) و اندازه آن (size) برای استفاده. برای گزینه‌های بیشتر، به راهنمای Pango Reference Manual برای تابع pango_font_description_from_string() مراجعه کنید.

گزینه‌های زیر رنگ بخش‌های مختلف فهرست را برای بک‌آندهای Wayland و X11 کنترل می‌کنند. هر کدام یک آرگومان به فرمت زیر دریافت می‌کنند:

#RGB[A]

که در آن R، G، B و A اعداد هگزادسیمال بین 00 تا FF هستند که کانال‌های رنگی قرمز، سبز، آبی و شفافیت آلفا را کنترل می‌کنند.

--tb <color> پس‌زمینه عنوان (Title background).

--tf <color> پیش‌زمینه عنوان (Title foreground).

--fb <color> پس‌زمینه فیلتر (Filter background).

--ff <color> پیش‌زمینه فیلتر (Filter foreground).

--cb <color> پس‌زمینه مکان‌نما (Cursor background).

--cf <color> پیش‌زمینه مکان‌نما (Cursor foreground).

--nb <color> پس‌زمینه حالت عادی (Normal background).

--nf <color> پیش‌زمینه حالت عادی (Normal foreground).

--hb <color> پس‌زمینه آیتم برجسته (Highlighted background).

--hf <color> پیش‌زمینه آیتم برجسته (Highlighted foreground).

--fbb <color> پس‌زمینه بازخورد (Feedback background).

--fbf <color> پیش‌زمینه بازخورد (Feedback foreground).

--sb <color> پس‌زمینه آیتم‌های انتخاب‌شده (Selected background).

--sf <color> پیش‌زمینه آیتم‌های انتخاب‌شده (Selected foreground).

--ab <color> رنگ پس‌زمینه یکی‌درمیان (Alternating background color).

--af <color> رنگ پیش‌زمینه یکی‌درمیان (Alternating foreground color).

--scb <color> پس‌زمینه نوار پیمایش (Scrollbar background).

--scf <color> پیش‌زمینه نوار پیمایش (Scrollbar foreground).

نرم‌افزار bemenu از دستورات صفحه‌کلید برای حرکت در فهرست و ویرایش فیلتر پشتیبانی می‌کند. در مثال‌های زیر، C-x به معنی <control-x>، M-x به معنی <alt-x> و S-x به معنی <shift-x> است:

<cursor-up>, S-<cursor-left>, C-p, M-j, M-l

برجسته کردن آیتم قبلی.

<cursor-down>, <tab>, C-n, M-h, M-k

برجسته کردن آیتم بعدی.

PageUp, M-v, M-u

نمایش صفحه قبلی از آیتم‌ها، با حفظ موقعیت آفست آیتم برجسته‌شده فعلی در صورت امکان.

PageDown, C-v, M-d

نمایش صفحه بعدی از آیتم‌ها، با حفظ موقعیت آفست آیتم برجسته‌شده فعلی در صورت امکان.

S-M-<, S-PageUp

برجسته کردن نخستین آیتم در فهرست.

S-M->, S-PageDown

برجسته کردن آخرین آیتم در فهرست.

S-<tab>

کپی کردن آیتم برجسته‌شده در فیلتر.

<escape>, C-g

خاتمه دادن به bemenu بدون چاپ آیتم‌ها.

C-<carriage-return>, C-m

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

S-<carriage-return>, Insert

چاپ متن فیلتر در خروجی استاندارد و خروج.

C-b, C-l, <cursor-left>

حرکت مکان‌نما به چپ.

C-f, <cursor-right>

حرکت مکان‌نما به راست.

C-a, Home

حرکت مکان‌نما به ابتدا.

C-e, End

حرکت مکان‌نما به انتها.

<backspace> C-h

حذف کاراکتر قبل از مکان‌نما.

<delete>

حذف کاراکتر در موقعیت مکان‌نما.

C-u, S-<delete>

حذف تمامی کاراکترهای قبل از مکان‌نما.

C-k

حذف تمامی کاراکترهای بعد از مکان‌نما.

C-w

پاک کردن فیلتر.

C-y, C-Y

چسباندن متن انتخاب‌شده (C-y برای "primary" و C-Y برای "clipboard").

M-[1-9]

چاپ آیتم‌های انتخاب‌شده و خروج با یک کد خطای سفارشی از 10 (M-1) تا 18 (M-9)، بخش وضعیت خروج (EXIT STATUS) را ببینید.

M-0

چاپ آیتم‌های انتخاب‌شده و خروج با کد خطای سفارشی 19، بخش وضعیت خروج (EXIT STATUS) را ببینید.

در صورت فراخوانی با گزینه --binding vim، برنامه bemenu از ورود حالت‌محور شبیه به ویم استفاده می‌کند. این میانبرها حالت‌های درج و عادی ویم را شبیه‌سازی می‌کنند. حالت اولیه حالت درج (insert) است، مگر اینکه --vim-normal-mode مشخص شده باشد.

در حالت درج، تمام کلیدها همان‌گونه که در بالا شرح داده شد عمل می‌کنند به جز موارد زیر:

<escape>

تغییر حالت به حالت عادی (normal mode).

در حالت عادی، تنها کلیدهای زیر دارای معنا هستند:

q

خاتمه دادن به bemenu بدون چاپ آیتم‌ها.

i

ورود به حالت درج (insert mode).

I

ورود به حالت درج پس از انتقال مکان‌نما به ابتدا.

a

ورود به حالت درج پس از حرکت مکان‌نما به راست.

A

ورود به حالت درج پس از انتقال مکان‌نما به انتها.

cc

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

cw

ورود به حالت درج پس از حذف تمام کاراکترهای بین مکان‌نما و ابتدای کلمه بعدی.

cb

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

c$

ورود به حالت درج پس از حذف تمام کاراکترهای بعد از مکان‌نما.

c0

ورود به حالت درج پس از حذف تمام کاراکترهای قبل از مکان‌نما.

n, j

برجسته کردن آیتم بعدی.

p, k

برجسته کردن آیتم قبلی.

gg

برجسته کردن نخستین آیتم در فهرست.

G

برجسته کردن آخرین آیتم در فهرست.

H

برجسته کردن نخستین آیتم قابل مشاهده.

M

برجسته کردن میانی‌ترین آیتم قابل مشاهده.

L

برجسته کردن آخرین آیتم قابل مشاهده.

v

انتخاب یا لغو انتخاب آیتم برجسته‌شده.

F

نمایش صفحه بعدی از آیتم‌ها.

B

نمایش صفحه قبلی از آیتم‌ها.

h

حرکت مکان‌نما به چپ.

l

حرکت مکان‌نما به راست.

0

حرکت مکان‌نما به ابتدا.

$

حرکت مکان‌نما به انتها.

w

حرکت مکان‌نما به جلو به ابتدای یک کلمه.

b

حرکت مکان‌نما به عقب به ابتدای یک کلمه.

e

حرکت مکان‌نما به جلو به انتهای یک کلمه.

x

حذف کاراکتر در موقعیت مکان‌نما.

X

حذف کاراکتر قبل از مکان‌نما.

dw

حذف تمام کاراکترهای بین مکان‌نما و ابتدای کلمه بعدی.

db

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

d$

حذف تمام کاراکترهای بعد از مکان‌نما.

d0

حذف تمام کاراکترهای قبل از مکان‌نما.

dd

پاک کردن فیلتر.

BEMENU_OPTS روش جایگزین برای ارسال آرگومان‌های خط فرمان به bemenu.
BEMENU_BACKEND اجبار به استفاده از یک بک‌اند خاص. در صورت خالی بودن، یکی از بک‌آندهای گرافیکی (Wayland یا X11) به طور خودکار انتخاب خواهد شد. مقادیر پذیرفته‌شده عبارتند از curses، wayland و x11.
BEMENU_RENDERER اجبار به استفاده از بک‌اند از طریق بارگذاری شیء اشتراکی (shared object) آن از مقدار تعیین‌شده.
BEMENU_RENDERERS تغییر مسیر جستجوی بک‌اند به مقدار تعیین‌شده. مقدار پیش‌فرض /usr/lib/bemenu است.
BEMENU_SCALE تغییر ضریب مقیاس رندر برای بک‌آندهای محیط گرافیکی.

0

نرم‌افزار bemenu با موفقیت اجرا شد.

1

کاربر بدون انتخاب گزینه‌ای خارج شد، یا bemenu با خطا مواجه شد.

10-19

کاربر یک کد خروج سفارشی را با M-[0-9] مشخص کرده است، بخش میانبرهای صفحه‌کلید (KEYBINDINGS) را ببینید.

dmenu(1), fork(2), ncurses(3), tty(4)

Pango Reference Manual, https://developer.gnome.org/pango/1.46, August 20, 2020, Fonts — pango_font_description_from_string().

نرم‌افزار bemenu توسط Jari Vetoniemi <mailroxas@gmail.com> با کمک مشارکت‌کنندگان گوناگون نوشته شده و نگهداری می‌شود.

2024-07-20