J4-DMENU-DESKTOP(1) General Commands Manual J4-DMENU-DESKTOP(1)

j4-dmenu-desktop — منوی سریع دسکتاپ

j4-dmenu-desktop [OPTIONS]

j4-dmenu-desktop یک جایگزین سریع‌تر برای i3-dmenu-desktop است.

هدف آن یافتن فایل‌های .desktop و ارائه یک منو برای راه‌اندازی برنامه‌ها با استفاده از dmenu است.

آرگومان‌ها به شرح زیر هستند:

, --display-binary
نمایش نام باینری پس از هر ورودی (به‌طور پیش‌فرض غیرفعال است).
, --display-binary-base
نمایش نام پایه (basename) باینری پس از هر ورودی (به‌طور پیش‌فرض غیرفعال است).
, --dmenu command
دستور مورد استفاده برای فراخوانی dmenu را تعیین می‌کند. توسط پوسته شما ($SHELL) یا /bin/sh اجرا می‌شود.
دستور انتخاب‌شده را اجرا نکن، به‌جای آن به stdout بفرست.
نام عمومی (generic name) ورودی‌های دسکتاپ را شامل نکن.
, --term command
شبیه‌ساز ترمینال مورد استفاده برای اجرای برنامه‌های ترمینالی را تعیین می‌کند.
mode
به j4-dmenu-desktop دستور می‌دهد که چگونه شبیه‌ساز ترمینال را اجرا کند. این فلگ مقدار پیش‌فرض فلگ --term را نیز تغییر می‌دهد.

مقادیر ممکن عبارتند از: default | | | | | |

برای اطلاعات بیشتر TERM MODE را ببینید.

file
باید به یک فایل با قابلیت خواندن و نوشتن اشاره کند (در صورت عدم وجود ایجاد خواهد شد). در این حالت، ورودی‌ها بر اساس بسامد و تعداد استفاده مرتب می‌شوند.
حذف نام‌های ثبت‌شده در گزارش استفاده که j4-dmenu-desktop قادر به یافتن فایل دسکتاپ برای آن‌ها نبوده است. این مورد زمانی رخ می‌دهد که برنامه‌ای که در لاگ استفاده ثبت شده دیگر وجود ندارد زیرا حذف نصب شده است.
, --use-xdg-de
خواندن $XDG_CURRENT_DESKTOP را برای تعیین محیط رومیزی فعال می‌کند.
path
باید به مسیری اشاره کند که بتوان در آن فایلی ایجاد کرد. در این حالت هیچ منویی نمایش داده نخواهد شد. در عوض برنامه منتظر می‌ماند تا در path نوشته شود (از ‘echo > path’ استفاده کنید). هر بار که این اتفاق بیفتد، منو نمایش داده خواهد شد. فایل‌های دسکتاپ از قبل تجزیه (parse) می‌شوند. اجرای ‘echo -n q > path’ باعث خروج از برنامه می‌شود.
wrapper
یک باینری پوشش‌دهنده (wrapper). استفاده از ‘--wrapper "i3 exec"’ و ‘--wrapper "sway exec"’ منسوخ شده است، به‌جای آن از --i3-ipc استفاده کنید.
, --i3-ipc
اجرای ورودی‌های دسکتاپ از طریق i3 IPC یا Sway IPC. نیازمند این است که یا i3 یا Sway در حال اجرا باشند.
غیرفعال کردن بررسی برای --wrapper "i3 exec" یا --wrapper "sway exec". برنامه j4-dmenu-desktop پشتیبانی مستقیم از i3/Sway از طریق فلگ -I دارد که باید به‌جای گزینه --wrapper استفاده شود. j4-dmenu-desktop این مورد را تشخیص داده و خارج می‌شود. این فلگ این رفتار را نادیده می‌گیرد.
, --case-insensitive
مرتب‌سازی برنامه‌ها بدون حساسیت به حروف بزرگ و کوچک (case-insensitive)
پرگویی بیشتر (verbose). هنگامی که یک بار مشخص شود، سطح INFO استفاده می‌شود، و هنگامی که دو بار مشخص شود، سطح DEBUG استفاده می‌شود. بخش LOG LEVELS را ببینید.
ERROR | WARNING | INFO | DEBUG
یک نسخه صریح‌تر از -v. این فلگ بر -v اولویت دارد.
file
یک فایل لاگ را مشخص می‌کند. محتوای file کوتاه (truncate) خواهد شد. به‌طور پیش‌فرض، سطح لاگ INFO استفاده می‌شود.
ERROR | WARNING | INFO | DEBUG
تنظیم سطح لاگ فایل.
ARGS
سازوکار تجزیه فایل دسکتاپ در j4-dmenu-desktop را تغییر می‌دهد تا فایل‌های دسکتاپی که با مشخصات Desktop Entry Specification سازگار نیستند پذیرفته شوند. چندین حالت را می‌توان مشخص کرد. آن‌ها باید با کاما (,) از هم جدا شوند. هر mode دارای یک همتای nomode است که حالت مربوطه را غیرفعال می‌کند. برای غیرفعال کردن تمام حالت‌ها، از --strict-parsing استفاده کنید. هنگامی که یک فایل دسکتاپ از یک قلق (quirk) فعال استفاده کند، یک هشدار چاپ می‌شود. ARGS می‌تواند شامل حالت‌های زیر باشد:
wine
تحمل کدهای گریز (escape codes) نامعتبر (مانند اسکیپ کردن یک فاصله برای جلوگیری از تفکیک آرگومان‌ها) در کلید Exec فایل‌های دسکتاپ. به‌طور پیش‌فرض فعال است.
multispace
تحمل استفاده از چندین فاصله برای تفکیک آرگومان‌ها در کلید Exec فایل‌های دسکتاپ. برای فایل‌های دسکتاپ ایجاد شده توسط distrobox مفید است. به‌طور پیش‌فرض فعال است.

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

این فلگ با --strict-parsing ناسازگار و مانعة‌الجمع است.

پایبندی دقیق به مشخصات Desktop Entry Specification هنگام تجزیه فایل‌های دسکتاپ. به‌طور پیش‌فرض فعال نیست.

این فلگ با --desktop-file-quirks ناسازگار و مانعة‌الجمع است.

نمایش نسخه برنامه.
, --help
نمایش پیام راهنما.

برخی آرگومان‌ها از تنظیم سطح لاگ پشتیبانی می‌کنند. j4-dmenu-desktop از سطوح لاگ زیر استفاده می‌کند: ERROR, WARNING, INFO و DEBUG. سطوح لاگ WARNING (و ERROR) به‌طور پیش‌فرض نمایش داده می‌شوند. سطوح لاگ پایین‌تر به‌طور خودکار سطوح بالاتر را فعال می‌کنند.

چندین حالت برای فلگ --term-mode در دسترس است:

حالت پیش‌فرض. یک اسکریپت شل موقت حاوی دستور انتخاب‌شده ایجاد می‌شود. اسکریپت پس از اجرا خود را حذف می‌کند، j4-dmenu-desktop هرگز خودش آن را حذف نمی‌کند. این حالت عنوان شبیه‌ساز ترمینال را با استفاده از توالی‌های گریز OSC تنظیم می‌کند (console_codes(4) را ببینید). شبیه‌ساز ترمینال به شرح زیر اجرا می‌شود:
[terminal emulator] -e [generated temporary script]

سایر حالت‌ها ترجیح داده می‌شوند. این رویکرد عمومی اما شکننده است.

مقدار پیش‌فرض --term برابر است با i3-sensible-terminal.

استفاده از قرارداد فراخوانی xterm:
[terminal emulator] -title [desktop app Name] -e [command line]

مقدار پیش‌فرض --term برابر است با xterm. سایر شبیه‌سازهای ترمینال سازگار عبارتند از: rxvt-unicode.

استفاده از قرارداد فراخوانی alacritty:
[terminal emulator] -T [desktop app Name] -e [command line]

مقدار پیش‌فرض --term برابر است با alacritty. سایر شبیه‌سازهای ترمینال سازگار عبارتند از: st, foot.

استفاده از قرارداد فراخوانی kitty:
[terminal emulator] -T [desktop app Name] [command line]

مقدار پیش‌فرض --term برابر است با kitty. سایر شبیه‌سازهای ترمینال سازگار عبارتند از: foot.

استفاده از قرارداد فراخوانی terminator:
[terminator emulator] -T [desktop app Name] -x [command line]

مقدار پیش‌فرض --term برابر است با terminator. سایر شبیه‌سازهای ترمینال سازگار عبارتند از: xfce4-terminal.

استفاده از قرارداد فراخوانی gnome-terminal:
[terminal emulator] --title [desktop app Name] -- [command line]

مقدار پیش‌فرض --term برابر است با gnome-terminal.

امکان مدیریت کاملاً سفارشی --term. هنگامی که --term-mode custom داده شود، یک سیستم جایگزین برای مدیریت --term استفاده می‌شود. این مورد به عنوان فهرستی از آرگومان‌ها که با فاصله ( ) از هم جدا شده‌اند مدیریت می‌شود. هیچ نویسه فضای خالی دیگری به عنوان جداکننده آرگومان عمل نمی‌کند (این رفتار با پوسته متفاوت است).

چندین نویسه فاصله متوالی به عنوان یک فاصله واحد در نظر گرفته می‌شوند (به جز فاصله‌های اسکیپ‌شده). فاصله‌های ابتدا و انتهای --term نادیده گرفته می‌شوند. این بدان معنی است که امکان ارسال آرگومان‌های با طول صفر به --term وجود ندارد.

محتویات --term از طریق پوسته اجرا نمی‌شوند. این بدان معنی است که ساختارهای پوسته مانند تغییر مسیر (redirection)، زنجیره‌سازی && و || و موارد دیگر کار نخواهند کرد. اگر به این موارد نیاز دارید، می‌توانید یک اسکریپت پوششی پوسته بسازید و آن را از طریق --term فراخوانی کنید یا می‌توانید /bin/sh -c یا پوسته دیگری را مستقیماً از --term صدا بزنید (هرچند استفاده از یک اسکریپت پوششی باید ترجیح داده شود، زیرا واضح‌تر و استفاده از آن ساده‌تر است).

متغیرهای جانشین (placeholders) زیر شناخته می‌شوند:

{name}
نام برنامه دسکتاپ. برای تنظیم عنوان مفید است.
{cmdline@}
خط دستور جهت اجرا، که به صورت آرگومان‌های جداگانه باز می‌شود (expand). این باید یک آرگومان مستقل باشد؛ ‘j4-dmenu-desktop --term-mode custom --term "-e={cmdline@}"’ نامعتبر است.
{cmdline*}
خط دستور جهت اجرا، که به صورت یک آرگومان واحد باز می‌شود. {cmdline@} باید بر {cmdline*} ترجیح داده شود. آرگومان‌ها اسکیپ خواهند شد؛ محتویات {cmdline*} را می‌توان با خیال راحت به /bin/sh -c ارسال کرد.
{script}
نام فایل اسکریپت تولید شده توسط j4-dmenu-desktop. این همان اسکریپتی است که توسط --term-mode default استفاده می‌شود. اسکریپت تنها در صورتی ایجاد می‌شود که این جانشین حداقل یک بار در --term مشخص شده باشد. اسکریپت عنوان ترمینال را خودش تنظیم می‌کند، نباید لازم باشد آن را به صورت دستی تنظیم کنید.

{cmdline@} و {cmdline*} باید بر {script} ترجیح داده شوند.

توالی‌های گریز (escape sequences) زیر شناخته می‌شوند:

\\
نویسه واقعی \.
نویسه واقعی {.
\ 
(بک‌اسلش به همراه فاصله) فاصله بعدی را به عنوان جداکننده آرگومان تلقی نکن.

توالی‌های گریز و جانشین‌های تعریف‌نشده منجر به پیام خطا و خاتمه برنامه می‌شوند.

مقدار پیش‌فرض --term همانند حالت ترمینال default است.

سایر حالت‌ها در صورت نوشتن با حالت custom به این شکل خواهند بود:

‘j4-dmenu-desktop --term-mode custom --term "i3-sensible-terminal -e {script}"’
‘j4-dmenu-desktop --term-mode custom --term "xterm -title {name} -e {cmdline@}"’
‘j4-dmenu-desktop --term-mode custom --term "alacritty -T {name} -e {cmdline@}"’
‘j4-dmenu-desktop --term-mode custom --term "kitty -T {name} {cmdline@}"’
‘j4-dmenu-desktop --term-mode custom --term "terminator -T {name} -x {cmdline@}"’
‘j4-dmenu-desktop --term-mode custom --term "gnome-terminal --title {name} -- {cmdline@}"’

نحوه استفاده از فلگ منسوخ‌شده -e در gnome-terminal به این شکل است:

j4-dmenu-desktop --term-mode custom --term "gnome-terminal --title {name} -e {cmdline*}"

نحوه اسکیپ کردن جانشین‌ها به این صورت است:

j4-dmenu-desktop --term-mode custom --term "echo \{name}\ \{cmdline*}"

--term دو آرگومان دریافت می‌کند: ‘echo’ و ‘{name} {cmdline*}’, هیچ جانشینی جایگزین نمی‌شود. اگر \ دوم ارسال نمی‌شد، j4-dmenu-desktop به‌جای دو آرگومان، سه آرگومان را می‌دید.

این متغیر مسیر سوکت i3/Sway IPC را بازنویسی می‌کند.
دایرکتوری اصلی حاوی فایل‌های دسکتاپ.
دایرکتوری‌های اضافی حاوی فایل‌های دسکتاپ.
محیط رومیزی فعلی که برای فعال/غیرفعال کردن فایل‌های دسکتاپ وابسته به محیط رومیزی استفاده می‌شود. باید توسط --use-xdg-de فعال شود.

علاوه بر متغیرهای فهرست‌شده در بالا، متغیرهای محیطی استاندارد برای محلی‌سازی (locales) نیز شناسایی می‌شوند. متغیرهای محیطی دقیق استفاده شده به پیاده‌سازی بستگی دارند، اما تنظیم LC_MESSAGES, LC_ALL یا LANG به‌طور کلی باید کار کند.

https://github.com/enkore/j4-dmenu-desktop

حق نشر (C) 2013 enkore <public+j4-dmenu-desktop@enkore.de>

این برنامه نرم‌افزار آزاد است: شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۳ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هیچ‌گونه ضمانتی؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

شما باید همراه با این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید. در غیر این صورت، ببینید: <http://www.gnu.org/licenses>.

January 10, 2024 Linux 6.12.107+deb13-amd64