| fuzzel(1) | General Commands Manual | fuzzel(1) |
نام (NAME)
fuzzel - راهانداز برنامهها و گزینشگر ویلند (Wayland)
خلاصه دستور (SYNOPSIS)
fuzzel [گزینهها]...
توضیحات (DESCRIPTION)
به عنوان یک راهانداز (launcher)، fuzzel تمام برنامههای کاربردی XDG در دسترس را در یک پنجره قابل جستجو فهرست میکند.
با فلگ --dmenu، fuzzel مانند یک گزینشگر همهمنظوره نظیر dmenu، rofi یا fzf عمل میکند. گزینهها برای انتخاب از طریق STDIN ارائه شده و گزینه انتخابشده در STDOUT چاپ میشود.
کادر جستجو از کلیدهای میانبر شبیه Emacs پشتیبانی میکند.
بسیاری از موارد را میتوان با fuzzel.ini(5) یا گزینههای خط فرمان پیکربندی کرد:
--config=مسیر
--check-config
-n,--namespace=NAMESPACE
پیشفرض: launcher
--cache=مسیر
همچنین میتوانید از این گزینه برای فعالسازی ذخیرهسازی موقت ورودیهای dmenu استفاده کنید. توصیه میشود برای هر «نوع» از اجرای dmenu از یک فایل حافظه موقت جداگانه استفاده کنید؛ به عنوان مثال یکی برای تاریخچه مرورگر، دیگری برای ایموجیها و غیره.
برای غیرفعال کردن کش، آن را روی /dev/null تنظیم کنید.
پیشفرض: XDG_CACHE_HOME/fuzzel
--override=[SECTION.]KEY=VALUE
گزینههای صریح خط فرمان همیشه هم بر پیکربندی روی دیسک و هم بر هر --override استفادهشده اولویت دارند و آنها را بازنویسی میکنند. برای مثال:
fuzzel --prompt hello --override prompt=world
در اینجا، اعلان روی hello تنظیم خواهد شد.
-o,--output=خروجی
مثال: DP-1
پیشفرض: واگذاری انتخاب خروجی به کامپوزیتور.
-f,--font=FONT[,FALLBACK1,FALLBACK2,...]
--use-bold
-D,--dpi-aware=no|yes|auto
در این حالت، ضریب مقیاسبندی (scaling factor) نمایشگر نادیده گرفته میشود؛ دو برابر کردن ضریب مقیاسبندی اندازه قلم را دو برابر نخواهد کرد.
هنگامی که روی no تنظیم شود، DPI نمایشگر نادیده گرفته میشود. در عوض اندازه قلم با استفاده از ضریب مقیاسبندی نمایشگر تعیین میشود؛ دو برابر کردن ضریب مقیاسبندی، اندازه قلم را دو برابر میکند.
در نهایت، اگر روی auto تنظیم شود، اندازه قلمها با استفاده از DPI نمایشگر تعیین خواهد شد اگر تمام نمایشگرها ضریب مقیاسبندی ۱ داشته باشند. اگر حداقل یک نمایشگر ضریب مقیاسبندی بزرگتر از ۱ داشته باشد (صرفنظر از اینکه پنجره fuzzel روی آن نمایشگر باز شده باشد یا خیر)، قلمها با استفاده از ضریب مقیاسبندی تغییر اندازه مییابند.
توجه داشته باشید که این گزینه معمولاً با قلمهای بیتی (bitmap) که فقط شامل مجموعهای از اندازههای از پیش تعریفشده هستند و نمیتوانند به صورت پویا مقیاسبندی شوند، کار نمیکند. هر اندازهای (از اندازههای موجود) که بیشترین همخوانی را با DPI یا ضریب مقیاسبندی داشته باشد، استفاده خواهد شد.
همچنین توجه داشته باشید که اگر اندازه قلم بر حسب پیکسل مشخص شده باشد (:pixelsize=N به جای :size=N)، مقیاسبندی DPI (dpi-aware=yes) هیچ تاثیری نخواهد داشت (اندازه پیکسلی مشخصشده همانطور که هست استفاده میشود). اما اگر از ضریب مقیاسبندی نمایشگر برای اندازه قلم استفاده شود (dpi-aware=no)، اندازه پیکسلی قلم در ضریب مقیاسبندی ضرب خواهد شد.
پیشفرض: auto
--gamma-correct
در مقایسه با حالت پیشفرض (غیرفعال)، گلیفهای روشن روی پسزمینه تیره ضخیمتر به نظر میرسند و گلیفهای تیره روی پسزمینه روشن باریکتر دیده میشوند.
ابزار FreeType میتواند اثر حالت دوم را با روشی به نام تاریکسازی پایه (stem darkening) محدود کند. این ویژگی فقط برای قلمهای CFF (OpenType, .otf) در دسترس است و به طور پیشفرض (در FreeType) غیرفعال است. میتوانید با تنظیم متغیر محیطی FREETYPE_PROPERTIES="cff:no-stem-darkening=0" قبل از اجرای fuzzel آن را فعال کنید.
همچنین آگاه باشید که بسیاری از قلمها روی سیستمهایی توسعه یافتهاند که ترکیب تصحیح گاما انجام نمیدهند، و بنابراین هنگام رندر با ترکیب تصحیح گاما ممکن است ضخیمتر از حد انتظار به نظر برسند، چرا که طراح قلم وزن آن را بر اساس رندرینگ نادرست تنظیم کرده است.
برای نمایش دقیق رنگها، بافرهای تصویری با دقت بالاتر مورد نیاز است. به همین دلیل، fuzzel هنگام فعال بودن ترکیب تصحیح گاما از بافرهای تصویری ۱۶ بیتی (به جای ۸ بیتی) استفاده میکند.
فعال کردن ترکیب تصحیح گاما در ساختهایی از fuzzel که با cairo فعال شدهاند امکانپذیر نیست، زیرا cairo از بافرهای تصویری ۱۶ بیتی پشتیبانی نمیکند.
-p,--prompt=اعلان
--prompt-only=اعلان
- چیزی از STDIN نمیخواند
- گزینه --lines را روی ۰ تنظیم میکند
در حالت غیر dmenu، دقیقاً مشابه --prompt رفتار میکند.
--hide-prompt
--placeholder=متن
--mesg=رشته
--mesg-mode=wrap|expand
--search=متن
-i
--icon-theme=نام
مثال: Adwaita.
پیشفرض: default.
-I,--no-icons
--hide-before-typing
-F,--fields=FIELDS
- filename: نام فایل .desktop
- name: نام برنامه (عنوان)
- generic: نام عمومی برنامه
- exec: فایل اجرایی برنامه، همانطور که در فایل desktop مشخص شده است. نکته: ممکن است شامل گزینههای خط فرمان نیز باشد.
- keywords: کلمات کلیدی برنامه
- categories: دستهبندیهای برنامه
- comment: توضیحات برنامه
پیشفرض: filename,name,generic
--password=[کاراکتر]
-T,--terminal=آرگومانهای ترمینال
دستور میتواند حاوی جاینگهدار {cmd} باشد که با دستور واقعی مورد نظر برای اجرا جایگزین میشود. هنگامی که {cmd} وجود دارد، دستور فقط در آن مکانها جایگزین میشود و در انتهای آن اضافه نمیشود.
مثالها:
- دستور foot -a '{cmd}' -T '{cmd}' {cmd} شناسه برنامه (app-id) و عنوان را روی نام دستور تنظیم کرده و سپس آن را اجرا میکند
- دستور xterm -e {cmd} دستور را در xterm اجرا میکند
- دستور xterm -e (بدون {cmd}) از رفتار قدیمی استفاده میکند: دستور را پس از آرگومانهای ترمینال اضافه میکند
پیشفرض: not set (تنظیمنشده).
-a,--anchor=ANCHOR
- top-left (بالا چپ)
- top (بالا)
- top-right (بالا راست)
- left (چپ)
- center (مرکز)
- right (راست)
- bottom-left (پایین چپ)
- bottom (پایین)
- bottom-right (پایین راست)
پیشفرض: center
--x-margin=حاشیه
نکته: این گزینه زمانی که anchor=center، top یا bottom باشد هیچ تاثیری ندارد.
--y-margin=حاشیه
نکته: این گزینه زمانی که anchor=center، left یا right باشد هیچ تاثیری ندارد.
--select=رشته
--auto-select
--select-index=اندیس
-l,--lines=تعداد
--minimal-lines
-w,--width
--tabs=تعداد
-x,--horizontal-pad=PAD
-y,--vertical-pad=PAD
-P,--inner-pad=PAD
-b,--background=HEX
-t,--text-color=HEX
--message-color=HEX
--prompt-color=HEX
--placeholder-color=HEX
--input-color=HEX
-m,--match-color=HEX
-s,--selection-color=HEX
-S,--selection-text-color=HEX
-M,--selection-match-color=HEX
--selection-radius=INT
--counter-color=HEX
-B,--border-width=INT
-r,--border-radius=INT
-C,--border-color=HEX
--show-actions
--match-mode=exact|fzf|fuzzy
--no-sort
--counter
--filter-desktop=[no]
--fuzzy-min-length=VALUE
--fuzzy-max-length-discrepancy=VALUE
--fuzzy-max-distance=VALUE
--line-height=HEIGHT
--letter-spacing=AMOUNT
--layer=top|overlay
مقدار top پنجره را بالاتر از پنجرههای عادی، اما معمولاً پایینتر از پنجرههای تمامصفحه و صفحات قفل رندر میکند.
مقدار overlay پنجره را روی هر دو پنجرههای عادی و تمامصفحه رندر میکند. توجه داشته باشید که اگر چندین پنجره از یک لایه استفاده کنند، ترتیب نامشخص خواهد بود. از آنجا که برای مثال صفحات قفل معمولاً از overlay استفاده میکنند، این بدان معناست که fuzzel ممکن است روی صفحه قفل ظاهر شود یا نشود.
پیشفرض: overlay
--keyboard-focus=exclusive|on-demand
حالت exclusive فوکوس صفحهکلید را روی fuzzel قفل میکند و تمام ورودیهای صفحهکلید را تا زمان بسته شدن دریافت میکند.
حالت on-demand فوکوس fuzzel را مانند یک پنجره معمولی تنظیم میکند و به سایر پنجرهها اجازه میدهد با کلیک کردن روی آنها فوکوس صفحهکلید را در اختیار بگیرند. به طور پیشفرض، تغییر فوکوس صفحهکلید بلافاصله fuzzel را میبندد؛ استفاده از --no-exit-on-keyboard-focus-loss امکان تعامل با سایر پنجرهها را در حین باز بودن fuzzel فراهم میکند.
پیشفرض: exclusive
--no-exit-on-keyboard-focus-loss
--launch-prefix=دستور
--list-executables-in-path
--render-workers=تعداد
--match-workers=تعداد
--delayed-filter-ms=TIME_MS
--delayed-filter-limit=N
--scaling-filter=فیلتر
مقادیر none، nearest و bilinear سریعترین گزینهها هستند، اما کمترین کیفیت بصری را دارند.
مقادیر cubic، lanczos2، lanczos3 و lanczos3-stretched کندترین گزینهها با بهترین کیفیت بصری هستند.
فیلترهای box، و تا حدی linear، از نظر عملکرد در حد وسط قرار دارند، در حالی که در اکثر موارد هنوز به خوبی یا نزدیک به فیلترهای cubic و لانچوس هستند.
پیشفرض: box
-d,--dmenu
همچنین میتوانید باینری fuzzel را به dmenu پیوند نمادین (symlink) دهید. در این صورت Fuzzel بدون نیاز به آرگومان --dmenu در حالت dmenu شروع به کار خواهد کرد.
همچنین Fuzzel با استفاده از پروتکل توسعهیافته dmenu در Rofi، از آیکونهای PNG و SVG پشتیبانی میکند. برای تنظیم آیکون برای یک ورودی، عبارت \0icon\x1f<icon-name> را در انتهای آن اضافه کنید. مثال:
آیکونهای جایگزین با استفاده از مقادیر جداشده با کاما نیز پشتیبانی میشوند. هنگامی که آیکون اصلی یافت نشود، آیکونهای بعدی در فهرست امتحان میشوند تا زمانی که یکی با موفقیت بارگیری شود. مثال:
--dmenu0
--index
--with-nth=N|FMT
آرگومان همچنین میتواند یک رشته قالببندی (یعنی متن آزاد) باشد، که در آن {N} به ستون Nام گسترش مییابد. بازههایی به شکل {N..M} و {N..} (انتهای باز) نیز پشتیبانی میشوند.
توجه داشته باشید که در پوستههای سازگار با posix، بازهها ({N..M}) باید داخل علامت نقلقول قرار گیرند تا از گسترش آنها توسط پوسته جلوگیری شود.
مثال:
printf "1\tFirst\n2\tSecond" | fuzzel -d --with-nth=2
این دستور ورودیهای First و Second را نمایش میدهد. وقتی یکی از آنها انتخاب شود، کل خط ورودی (شامل تبها) در stdout چاپ میشود.
تنظیم آن روی 0 همانند عدم تعیین --with-nth است.
--accept-nth=N|FMT
آرگومان همچنین میتواند یک رشته قالببندی (یعنی متن آزاد) باشد، که در آن {N} به ستون Nام گسترش مییابد. بازههایی به شکل {N..M} و {N..} (انتهای باز) نیز پشتیبانی میشوند.
توجه داشته باشید که در پوستههای سازگار با posix، بازهها ({N..M}) باید داخل علامت نقلقول قرار گیرند تا از گسترش آنها توسط پوسته جلوگیری شود.
مثال:
printf "1\tFirst\n2\tSecond" | fuzzel -d --accept-nth=2
این دستور ورودیهای 1 First و 2 Second را نمایش میدهد. بسته به اینکه کدام یک انتخاب شود، First یا Second در stdout چاپ خواهد شد.
تنظیم آن روی 0 همانند عدم تعیین --accept-nth است.
--match-nth=N|FMT
آرگومان همچنین میتواند یک رشته قالببندی (یعنی متن آزاد) باشد، که در آن {N} به ستون Nام گسترش مییابد. بازههایی به شکل {N..M} و {N..} (انتهای باز) نیز پشتیبانی میشوند.
توجه داشته باشید که در پوستههای سازگار با posix، بازهها ({N..M}) باید داخل علامت نقلقول قرار گیرند تا از گسترش آنها توسط پوسته جلوگیری شود.
مثال:
printf "123\t456\t789" | fuzzel -d --with-nth=1 --accept-nth=2 --match-nth=3
این دستور ورودی 123 را نمایش میدهد، اما تطبیق فقط با 789 انجام خواهد شد (به طور خاص، 123 مطابقت داده نمیشود). هنگام انتخاب، 456 در stdout چاپ میشود.
تنظیم آن روی 0 همانند عدم تعیین --match-nth است.
--nth-delimiter=کاراکتر
پیشفرض: \t (تب)
--only-match
استثنای این حالت کلید میانبر execute-input است که همیشه متن ورودی را اجرا/انتخاب میکند.
-R,--no-run-if-empty
--log-level={info,warning,error,none}
--log-colorize=[{never,always,auto}]
--log-no-syslog
--print-timing-info
--no-mouse
-v,--version
مسیرهای جستجو (SEARCH PATHS)
برنامه Fuzzel برای فایلهای XDG .desktop مطابق با مشخصات دایرکتوری پایه XDG (پیوند را در پایین ببینید)، در زیرپوشه applications از مسیرهای مشخصشده توسط XDG_DATA_DIRS و XDG_DATA_HOME جستجو میکند. به طور پیشفرض، این مسیرها عبارتند از:
- ~/.local/share/applications
- /usr/local/share/applitions
- /usr/share/application
برای جزئیات به مشخصات استاندارد مراجعه کنید.
پیکربندی (CONFIGURATION)
برنامه fuzzel برای یافتن فایل پیکربندی در مکانهای زیر و با همین ترتیب جستجو خواهد کرد:
- XDG_CONFIG_HOME/fuzzel/fuzzel.ini (در صورت عدم تنظیم، به طور پیشفرض ~/.config/fuzzel/fuzzel.ini)
- XDG_CONFIG_DIRS/fuzzel/fuzzel.ini (در صورت عدم تنظیم، به طور پیشفرض /etc/xdg/fuzzel/fuzzel.ini)
یک فایل پیکربندی نمونه که شامل تمام گزینهها با مقادیر پیشفرض آنها به صورت کامنتشده است معمولاً در /etc/xdg/fuzzel/fuzzel.ini نصب میشود.
برای اطلاعات بیشتر، به fuzzel.ini(5) مراجعه کنید.
بومیسازی (LOCALIZATION)
برنامه Fuzzel به طور پیشفرض از رشتههای بومیسازیشده فایلهای .desktop استفاده میکند. برای غیرفعال کردن این مورد، fuzzel را با LC_MESSAGES=C اجرا کنید.
روش ورودی (IME)
برنامه Fuzzel از ویرایشگرهای روش ورودی (IME) از طریق پروتکل ویلند text-input-unstable-v3 پشتیبانی میکند.
قالب قلم (FONT FORMAT)
قلم بر اساس سینتکس FontConfig مشخص میشود. یعنی یک فهرست جداشده با دونقطه (colon) از نام قلم و گزینههای قلم.
مثالها:
- Dina:weight=bold:slant=italic
- Arial:size=12
رنگها (COLORS)
تمام رنگها باید به صورت چهارتایی RGBA، در قالب هگزادسیمال و بدون پیشوند '0x' مشخص شوند.
مثالها:
- white (سفید): ffffffff (بدون شفافیت)
- black (سیاه): 000000ff (بدون شفافیت)
- black (سیاه): 00000010 (نیمهشفاف)
- red (قرمز): ff0000ff (بدون شفافیت)
طرح رنگ پیشفرض Solarized است.
فایلها (FILES)
$XDG_CACHE_HOME/fuzzel
$XDG_RUNTIME_DIR/fuzzel-$WAYLAND_DISPLAY.lock
همچنین ببینید (SEE ALSO)
| 2026-09-03 |