wofi(5) File Formats Manual wofi(5) نام (NAME) wofi - فایل پیکربندی و استایل‌دهی توضیحات (DESCRIPTION) قالب پیکربندی Wofi بسیار ساده بوده و از جفت‌های کلید-مقدار با قالب snake_case تشکیل شده است. بخش اعظم گزینه‌های پیکربندی همان گزینه‌های خط فرمان هستند، با این حال تعداد اندکی از گزینه‌ها تنها از طریق فایل پیکربندی wofi در دسترس می‌باشند. گزینه‌های ویژه حالت‌های توکار در wofi(7) مستند شده‌اند. این گزینه‌ها در فایل پیکربندی با قالب mode-example_opt=val قرار می‌گیرند. برای نمونه dmenu گزینه‌ای به نام parse_action دارد که در فایل پیکربندی به صورت dmenu-parse_action=true درج می‌شود. هر متنی پس از نویسه # به عنوان توضیح (کامنت) در نظر گرفته می‌شود، مگر اینکه قبل از # یک \ قرار گرفته باشد. به همین دلیل برای قرار دادن بک‌اسلش در فایل پیکربندی، باید آن را اسکیپ کرد و به صورت \\ نوشت. گزینه‌های پیکربندی (CONFIG OPTIONS) بیشتر گزینه‌های موجود در اینجا همان فلگ‌های دستوری یافت‌شده در wofi(1) با قالب snake_case هستند، هرچند برخی از آن‌ها منحصراً مربوط به فایل پیکربندی می‌باشند. style=PATH فایل CSS مورد استفاده به عنوان شیوه‌نامه (stylesheet) را مشخص می‌کند. stylesheet=PATH فایل CSS مورد استفاده به عنوان شیوه‌نامه را مشخص می‌کند. این گزینه با style یکسان نیست. مسیرهای مطلق، مطلق هستند اما مسیرهای نسبی نسبت به مکان پوشه پیکربندی wofi یعنی $XDG_CONFIG_HOME/wofi سنجیده می‌شوند و برخلاف style نسبت به دایرکتوری کاری جاری محاسبه نمی‌شوند. همچنین نسبت به مسیر مشخص‌شده توسط --conf نیز نسبی نیستند. این گزینه از rootbar به ارث رسیده است و احتمالاً بیشتر از آنکه مفید باشد گیج‌کننده است. بهتر است از style استفاده کنید مگر اینکه مطمئن باشید به این گزینه نیاز دارید. color=PATH فایل رنگ‌های مورد استفاده را مشخص می‌کند. colors=PATH فایل رنگ‌های مورد استفاده را مشخص می‌کند. این گزینه با color یکسان نیست. مسیرهای مطلق، مطلق هستند اما مسیرهای نسبی نسبت به مکان پوشه پیکربندی wofi یعنی $XDG_CONFIG_HOME/wofi سنجیده می‌شوند و برخلاف color نسبت به دایرکتوری کاری جاری محاسبه نمی‌شوند. همچنین نسبت به مسیر مشخص‌شده توسط --conf نیز نسبی نیستند. این گزینه از rootbar به ارث رسیده است و احتمالاً بیشتر از آنکه مفید باشد گیج‌کننده است. بهتر است از color استفاده کنید مگر اینکه مطمئن باشید به این گزینه نیاز دارید. show=MODE حالتی که wofi باید در آن اجرا شود را مشخص می‌کند. فهرستی از حالت‌ها را می‌توان در wofi(7) یافت. mode=MODE همانند show است. width=WIDTH عرض منو را بر حسب پیکسل یا درصدی از اندازه صفحه نمایش مشخص می‌کند؛ مقدار پیش‌فرض 50% است. در صورتی که عدد به % ختم نشود، بر حسب پیکسل در نظر گرفته می‌شود. height=HEIGHT ارتفاع منو را بر حسب پیکسل یا درصدی از اندازه صفحه نمایش مشخص می‌کند؛ مقدار پیش‌فرض 40% است. در صورتی که عدد به % ختم نشود، بر حسب پیکسل در نظر گرفته می‌شود. prompt=PROMPT پیام اعلان (prompt) قابل نمایش در کادر جستجو را تنظیم می‌کند؛ مقدار پیش‌فرض نام حالت است. xoffset=OFFSET میزان جابه‌جایی افقی (انحراف x) را نسبت به موقعیت بر حسب پیکسل تنظیم می‌کند؛ مقدار پیش‌فرض 0 است. x=OFFSET همانند xoffset است. yoffset=OFFSET میزان جابه‌جایی عمودی (انحراف y) را نسبت به موقعیت بر حسب پیکسل تنظیم می‌کند؛ مقدار پیش‌فرض 0 است. y=OFFSET همانند yoffset است. normal_window=BOOL اگر مقدار true باشد، wofi به جای استفاده از wlr-layer-shell در یک پنجره معمولی اجرا می‌شود؛ مقدار پیش‌فرض false است. allow_images=BOOL اگر مقدار true باشد، به توالی‌های گریز (escape sequences) تصویر اجازه پردازش و رندر داده می‌شود؛ مقدار پیش‌فرض false است. allow_markup=BOOL اگر مقدار true باشد، به نشانه‌گذاری‌های pango اجازه پردازش و رندر داده می‌شود؛ مقدار پیش‌فرض false است. cache_file=PATH فایل حافظه موقت (cache) را برای بارگذاری/ذخیره حافظه پنهان مشخص می‌کند؛ مقدار پیش‌فرض $XDG_CACHE_HOME/wofi- است که در آن نام حالت می‌باشد؛ در صورتی که $XDG_CACHE_HOME مشخص نشده باشد از ~/.cache استفاده می‌شود. term=TERM شبیه‌ساز ترمینال مورد استفاده هنگام اجرای یک برنامه در ترمینال را مشخص می‌کند. این گزینه ترتیب پیش‌فرض اجرای ترمینال‌ها را که به ترتیب شامل kitty، alacritty، wezterm، foot، termite، gnome-terminal و weston-terminal است بازنویسی می‌کند. password=CHARACTER برنامه wofi را با استفاده از نویسه مشخص‌شده در حالت گذرواژه اجرا می‌کند؛ مقدار پیش‌فرض false است. exec_search=BOOL اگر مقدار true باشد، فعال کردن جستجو با فشردن کلید enter خود عبارت جستجو را اجرا می‌کند، نه اولین نتیجه را؛ مقدار پیش‌فرض false است. no_custom_entry=BOOL اگر مقدار true باشد، تنها ورودی‌های فهرست به حالت‌ها ارسال می‌شوند و هرگز محتوای کادر جستجو ارسال نخواهد شد؛ مقدار پیش‌فرض false است. hide_scroll=BOOL اگر مقدار true باشد، نوارهای اسکرول پنهان می‌شوند؛ مقدار پیش‌فرض false است. matching=MODE حالت تطبیق را مشخص می‌کند که می‌تواند یکی از موارد contains، strict-contains، multi-contains یا fuzzy باشد؛ مقدار پیش‌فرض contains است. insensitive=BOOL اگر مقدار true باشد، جستجوی غیرحساس به حروف بزرگ و کوچک را فعال می‌کند؛ مقدار پیش‌فرض false است. parse_search=BOOL اگر مقدار true باشد، توالی‌های گریز تصویر و نشانه‌گذاری‌های pango را از عبارت جستجو حذف کرده و مانع استفاده از آن‌ها در جستجو می‌شود؛ مقدار پیش‌فرض false است. location=LOCATION موقعیت قرارگیری را مشخص می‌کند. برای اطلاعات بیشتر wofi(7) را ببینید؛ مقدار پیش‌فرض center است. no_actions=BOOL اگر مقدار true باشد، اقدامات چندگانه (multiple actions) را برای حالت‌هایی که از آن پشتیبانی می‌کنند غیرفعال می‌کند؛ مقدار پیش‌فرض false است. lines=LINES ارتفاع را به جای پیکسل بر حسب تعداد خطوط مشخص می‌کند. columns=COLUMNS تعداد ستون‌های قابل نمایش را مشخص می‌کند؛ مقدار پیش‌فرض 1 است. sort_order=ORDER ترتیب مرتب‌سازی پیش‌فرض را تعیین می‌کند. در حال حاضر دو ترتیب default و alphabetical وجود دارد. برای جزئیات wofi(7) را ببینید. gtk_dark=BOOL اگر مقدار true باشد، به wofi دستور می‌دهد از نگارش تیره تم جاری GTK (در صورت موجود بودن) استفاده کند؛ مقدار پیش‌فرض false است. search=STRING رشته‌ای را برای جستجوی بلافاصله پس از باز شدن پنجره مشخص می‌کند. monitor=STRING نمایشگری (مانیتوری) که پنجره باید روی آن باز شود را تعیین می‌کند. pre_display_cmd=COMMAND یک رشته شبیه به printf را مشخص می‌کند که پیش از نمایش آیتم‌ها روی آن‌ها اعمال می‌شود. این دستور تنها برای نمایش رشته ویجت برچسب (label) به کار می‌رود و بر خروجی برچسب انتخاب‌شده تاثیری نمی‌گذارد. orientation=ORIENTATION جهت‌گیری را مشخص می‌کند که می‌تواند horizontal (افقی) یا vertical (عمودی) باشد؛ مقدار پیش‌فرض vertical است. halign=ALIGN تراز افقی کل ناحیه اسکرول‌شده را مشخص می‌کند که می‌تواند یکی از مقادیر fill، start، end یا center باشد؛ مقدار پیش‌فرض fill است. content_halign=ALIGN تراز افقی آیتم‌های منفرد را مشخص می‌کند که می‌تواند یکی از مقادیر fill، start، end یا center باشد؛ مقدار پیش‌فرض fill است. valign=ALIGN تراز عمودی کل ناحیه اسکرول‌شده را مشخص می‌کند که می‌تواند یکی از مقادیر fill، start، end یا center باشد؛ مقدار پیش‌فرض به جهت‌گیری بستگی دارد. اگر عمودی باشد مقدار پیش‌فرض start و اگر افقی باشد مقدار پیش‌فرض center است. filter_rate=RATE نرخ به‌روزرسانی نتایج جستجو را بر حسب میلی‌ثانیه مشخص می‌کند؛ مقدار پیش‌فرض 100 است. image_size=SIZE اندازه تصاویر را بر حسب پیکسل در صورت فعال بودن تصاویر مشخص می‌کند؛ مقدار پیش‌فرض 32 است. key_up=KEY کلید مورد استفاده برای حرکت به سمت بالا را مشخص می‌کند. مقدار پیش‌فرض Up (کلید جهت‌نمای بالا) است. برای کدهای کلید wofi-keys(7) را ببینید. key_down=KEY کلید مورد استفاده برای حرکت به سمت پایین را مشخص می‌کند. مقدار پیش‌فرض Down (کلید جهت‌نمای پایین) است. برای کدهای کلید wofi-keys(7) را ببینید. key_left=KEY کلید مورد استفاده برای حرکت به سمت چپ را مشخص می‌کند. مقدار پیش‌فرض Left (کلید جهت‌نمای چپ) است. برای کدهای کلید wofi-keys(7) را ببینید. key_right=KEY کلید مورد استفاده برای حرکت به سمت راست را مشخص می‌کند. مقدار پیش‌فرض Right (کلید جهت‌نمای راست) است. برای کدهای کلید wofi-keys(7) را ببینید. key_forward=KEY کلید مورد استفاده برای حرکت به جلو را مشخص می‌کند. مقدار پیش‌فرض Tab است. برای کدهای کلید wofi-keys(7) را ببینید. key_backward=KEY کلید مورد استفاده برای حرکت به عقب را مشخص می‌کند. مقدار پیش‌فرض Shift-ISO_Left_Tab (ترکیب Shift+Tab) است. برای کدهای کلید wofi-keys(7) را ببینید. key_submit=KEY کلید مورد استفاده برای ثبت و تایید یک اقدام را مشخص می‌کند. مقدار پیش‌فرض Return است. برای کدهای کلید wofi-keys(7) را ببینید. key_exit=KEY کلید مورد استفاده برای خروج از wofi را مشخص می‌کند. مقدار پیش‌فرض Escape است. برای کدهای کلید wofi-keys(7) را ببینید. key_pgup=KEY کلید مورد استفاده برای حرکت به اندازه یک صفحه به سمت بالا را مشخص می‌کند. مقدار پیش‌فرض Page_Up است. برای کدهای کلید wofi-keys(7) را ببینید. key_pgdn=KEY کلید مورد استفاده برای حرکت به اندازه یک صفحه به سمت پایین را مشخص می‌کند. مقدار پیش‌فرض Page_Down است. برای کدهای کلید wofi-keys(7) را ببینید. key_expand=KEY کلید مورد استفاده برای باز کردن/بستن آیتم‌های دارای اقدامات چندگانه را مشخص می‌کند. این گزینه مقدار پیش‌فرضی ندارد. برای کدهای کلید wofi-keys(7) را ببینید. key_hide_search=KEY کلید مورد استفاده برای پنهان کردن/نمایش نوار جستجو را مشخص می‌کند. این گزینه مقدار پیش‌فرضی ندارد. برای کدهای کلید wofi-keys(7) را ببینید. key_copy=KEY کلید مورد استفاده برای رونوشت از متن اقدام برای آیتم جاری را مشخص می‌کند. مقدار پیش‌فرض Ctrl-c است. برای کدهای کلید wofi-keys(7) را ببینید. key_custom_(n)=KEY امکان پیکربندی کدهای خروج سفارشی را فراهم می‌کند. برای مثال تنظیم key_custom_0=Ctrl-0 باعث می‌شود در صورت فشردن Ctrl-0 برنامه wofi وضعیت خروج خود را روی 10 تنظیم کند. این کار باعث خروج wofi نمی‌شود، بلکه تنها کد خروج را برای زمانی که برنامه بسته می‌شود تعیین می‌کند. ۲۰ کلید از این دست با شماره‌های ۰ تا ۱۹ قابل پیکربندی هستند. وضعیت خروج مورد استفاده 10+n است که در آن n عددی است که به key_custom_n ضمیمه شده است. این کلیدها مقدار پیش‌فرضی ندارند. برای کدهای کلید wofi-keys(7) را ببینید. line_wrap=MODE حالت شکستن خطوط را مشخص می‌کند. گزینه‌های موجود عبارتند از off، word، char و word_char؛ مقدار پیش‌فرض off است. global_coords=BOOL مشخص می‌کند که آیا انحراف‌های x و y باید با استفاده از فضای سراسری کامپوزیتور به جای مانیتور فعلی محاسبه شوند یا خیر؛ مقدار پیش‌فرض false است. این ویژگی با موقعیت‌ها به خوبی هماهنگ نمی‌شود و استفاده همزمان از آن‌ها توصیه نمی‌شود. hide_search=BOOL مشخص می‌کند که آیا نوار جستجو باید پنهان شود یا خیر؛ مقدار پیش‌فرض false است. close_on_focus_loss=BOOL مشخص می‌کند که آیا wofi با از دست دادن تمرکز (focus) بسته شود یا خیر؛ مقدار پیش‌فرض false است. dynamic_lines=BOOL مشخص می‌کند که آیا اندازه wofi باید به صورت پویا متناسب با تعداد خطوط قابل مشاهده کوچک شود یا اینکه همیشه هم‌اندازه باقی بماند؛ مقدار پیش‌فرض false است. layer=LAYER لایه‌ای را که پنجره باید روی آن باز شود مشخص می‌کند. گزینه‌ها عبارتند از background، bottom، top و overlay؛ مقدار پیش‌فرض top است. copy_exec=PATH فایل اجرایی برای هدایت (pipe) داده‌های رونوشت به آن را مشخص می‌کند. متغیر $PATH بررسی خواهد شد؛ این مقدار به شل ارسال نمی‌شود و باید یک فایل اجرایی باشد؛ مقدار پیش‌فرض wl-copy است. single_click=BOOL مشخص می‌کند که آیا اقدامات با یک کلیک اجرا شوند یا با دو بار کلیک (دابل کلیک)؛ مقدار پیش‌فرض false است. pre_display_exec=BOOL این گزینه رفتار pre_display_cmd را تغییر داده و باعث می‌شود دستور مورد نظر به جای اجرا از طریق شل، مستقیماً از طریق فراخوانی fork/exec اجرا شود. use_search_box=BOOL مشخص می‌کند که آیا wofi باید از یک GtkSearchEntry استفاده کند یا یک GtkEntry معمولی. ورودی جستجو دارای یک آیکون کوچک جستجو و یک دکمه پاک کردن متن است که ورودی معمولی فاقد آن می‌باشد؛ مقدار پیش‌فرض true است. انتخاب‌گرهای سی‌اس‌اس (CSS SELECTORS) هر ویجت GTK را می‌توان با استفاده از نام گره CSS آن انتخاب کرد، هرچند ممکن است این نام‌ها در به‌روزرسانی‌ها تغییر کنند و ثابت ماندن آن‌ها تضمین نمی‌شود. همچنین wofi برای برخی ویجت‌ها نام‌ها و کلاس‌هایی را فراهم می‌کند که می‌توان از طریق CSS به آن‌ها ارجاع داد تا دسترسی به مهم‌ترین ویجت‌ها به سادگی میسر شود. بخش wofi(7) شامل چیدمان فعلی ویجت‌های مورد استفاده توسط wofi است، بنابراین اگر می‌خواهید با استفاده مستقیم از نام ویجت‌های GTK وارد تنظیمات CSS شوید، برای کسب اطلاعات به آنجا مراجعه کنید. #window نام خود پنجره. #outer-box نام کادری که همه اجزا را در بر می‌گیرد. #input نام نوار جستجو. #scroll نام پنجره اسکرول‌شده حاوی تمامی ورودی‌ها. #inner-box نام کادر حاوی تمامی ورودی‌ها. #img نام تمامی تصاویر موجود در ورودی‌هایی که در حالت تصویر نمایش داده می‌شوند. #text نام تمامی متن‌های موجود در ورودی‌ها. #unselected نام تمام ورودی‌هایی که در حال حاضر انتخاب نشده‌اند. روش بهتر برای انجام این کار استفاده از #entry و ترکیب آن با #entry:selected است. #selected نام تمام ورودی‌هایی که در حال حاضر انتخاب شده‌اند. روش بهتر برای انجام این کار استفاده از #entry:selected است. .entry کلاس اختصاص‌یافته به تمام ورودی‌ها. این کلاس به کادر ویژگی داخلی اختصاص دارد و قدیمی است؛ احتمالاً بهتر است به جای آن از #entry استفاده کنید. #entry نام تمامی ورودی‌ها. #expander-box نام تمامی کادرهایی که هنگام باز کردن ورودی‌های دارای اقدامات چندگانه نمایش داده می‌شوند. رنگ‌ها (COLORS) فایل رنگ‌ها باید به صورت مقادیر هگزادسیمال (hex) که با خط جدید از یکدیگر جدا شده‌اند قالب‌بندی شود. این مقادیر باید در قالب استاندارد HTML بوده و با علامت هش (#) شروع شوند. این رنگ‌ها بارگذاری خواهند شد، اما wofi نمی‌داند کدام رنگ باید برای چه بخشی استفاده شود، بنابراین باید از درون CSS خود به آن‌ها ارجاع دهید. می‌توانید با استفاده از --wofi-color از درون CSS خود به آن‌ها ارجاع دهید که در آن شماره سطر منهای ۱ است. برای نمونه جهت ارجاع به رنگ سطر ۱، باید از --wofi-color0 استفاده کنید. همچنین می‌توان با استفاده از --wofi-rgb-color به رنگ‌ها ارجاع داد که در آن شماره سطر منهای ۱ است. تفاوت میان این دو در قالب مورد استفاده برای جایگزینی ماکرو است. عبارت --wofi-color با یک کد رنگ HTML در قالب #FFFFFF جایگزین می‌شود. عبارت --wofi-rgb-color با مقادیر rgb جداشده با کاما در قالب 255, 255, 255 جایگزین می‌شود. شیوه صحیح استفاده از --wofi-rgb-color قرار دادن آن درون تابع rgb() یا rgba() است. توجه داشته باشید که این متغیر مقدار آلفا (شفافیت) را برنمی‌گرداند، بنابراین ترکیب آن با rgba() باید به این صورت انجام شود: rgba(--wofi-rgb-color0, 0.8). این دستور رنگ سطر ۱ را با شفافیت ۸۰٪ تنظیم می‌کند. wofi(5)