.\" Generated by scdoc 1.11.5 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "waybar" "5" "2026\-08\-31" .PP .SH "نام (NAME)" .PP waybar \- فایل پیکربندی .PP .SH "توضیحات (DESCRIPTION)" .PP این پیکربندی از قالب فایل JSONC استفاده می‌کند و نام آن \fBconfig\fR یا \fBconfig.\&jsonc\fR است.\& .PP مکان‌های معتبر برای این فایل عبارتند از: .PP .PD 0 .IP \(bu 4 \fB$XDG_CONFIG_HOME/waybar/\fR .IP \(bu 4 \fB\(ti/.\&config/waybar/\fR .IP \(bu 4 \fB\(ti/waybar/\fR .IP \(bu 4 \fB/etc/xdg/waybar/\fR .IP \(bu 4 \fB/etc/xdg/waybar/\fR .PD .PP یک نقطه شروع مناسب، پیکربندی پیش‌فرضی است که در https://github.\&com/Alexays/Waybar/blob/master/resources/config.\&jsonc یافت می‌شود.\& همچنین، یک نمونه پیکربندی حداقلی را می‌توان در انتهای این صفحه راهنما پیدا کرد.\& .PP عناصر نمایش بصری waybar از یک شیوه‌نامه CSS استفاده می‌کنند؛ برای جزئیات بیشتر \fBwaybar\-styles(5)\fR را ببینید.\& .PP .SH "پیکربندی نوار (BAR CONFIGURATION)" .PP \fBexpand\-center\fR .br typeof: bool .br default: false .br به modules\-center امکان می‌دهد تا تمام فضای باقی‌مانده را به‌طور پویا مصرف کند.\& .PP \fBexpand\-left\fR .br typeof: bool .br default: false .br به modules\-left امکان می‌دهد تا تمام فضای باقی‌مانده را به‌طور پویا مصرف کند.\& .PP \fBexpand\-right\fR .br typeof: bool .br default: false .br به modules\-left امکان می‌دهد تا تمام فضای باقی‌مانده را به‌طور پویا مصرف کند.\& .PP \fBlayer\fR .br typeof: string .br default: bottom .br مشخص می‌کند که نوار در جلوی پنجره‌ها (\fBtop\fR) یا در پشت (\fBbottom\fR) .RS 4 آن‌ها نمایش داده شود.\& .PP .RE \fBoutput\fR .br typeof: string|array .br مشخص می‌کند که این نوار روی کدام صفحه نمایش داده خواهد شد.\& علامت تعجب (\fB!\&\fR) می‌تواند برای مستثنی کردن خروجی مشخصی استفاده شود.\& .RS 4 مشخصات خروجی از sway پیروی می‌کند و می‌تواند شامل پورت خروجی مانند "HDMI\-A\-1" یا رشته‌ای متشکل از سازنده، مدل و شماره سریال مانند "Some Company ABC123 0x00000000" باشد.\& برای جزئیات \fBsway\-output(5)\fR را ببینید.\& در یک آرایه، علامت ستاره '\&\fB*\fR'\& می‌تواند در انتها برای پذیرش تمام خروجی‌ها در صورتی که همه ورودی‌های قبلی استثنا باشند، به کار رود.\& .PP .RE \fBposition\fR .br typeof: string .br default: top .br موقعیت نوار، می‌تواند \fBtop\fR، \fBbottom\fR، \fBleft\fR، \fBright\fR باشد.\& .PP \fBheight\fR .br typeof: integer .br ارتفاعی که در صورت امکان توسط نوار استفاده می‌شود.\& برای مقدار پویا خالی بگذارید.\& .PP \fBwidth\fR .br typeof: integer .br عرضی که در صورت امکان توسط نوار استفاده می‌شود.\& برای مقدار پویا خالی بگذارید.\& .PP \fBmodules\-left\fR .br typeof: array .br ماژول‌هایی که در سمت چپ نمایش داده خواهند شد.\& .PP \fBmodules\-center\fR .br typeof: array .br ماژول‌هایی که در مرکز نمایش داده خواهند شد.\& .PP \fBmodules\-right\fR .br typeof: array .RS 4 ماژول‌هایی که در سمت راست نمایش داده خواهند شد.\& .PP .RE \fBmargin\fR .br typeof: string .br مقدار حاشیه‌ها با استفاده از قالب CSS و بدون واحد.\& .PP \fBmargin\-\fR .br typeof: integer .br مقدار حاشیه‌ها بدون واحد.\& .PP \fBno\-center\fR .br typeof: bool .br default: false .br گزینه‌ای برای غیرفعال کردن کامل ماژول‌های مرکزی که همراه با expand\-* بسیار مفید است.\& .PP \fBspacing\fR .br typeof: integer .br اندازه فاصله‌ها در بین ماژول‌های مختلف.\& .PP \fBname\fR .br typeof: string .br نام اختیاری که به عنوان یک کلاس CSS اضافه می‌شود، برای استایل‌دهی به چندین waybar.\& .PP \fBmode\fR .br typeof: string .br یکی از حالت‌های نمایش از پیش پیکربندی‌شده را انتخاب می‌کند.\& این معادل دستور \fBmode\fR در sway\-bar(5) است و از همان مقادیر پشتیبانی می‌کند: \fBdock\fR، \fBhide\fR، \fBinvisible\fR، \fBoverlay\fR.\& .br نکته: حالت‌های \fBhide\fR و \fBinvisible\fR ممکن است بدون Sway IPC چندان کاربردی نباشند.\& .PP \fBstart_hidden\fR .br typeof: bool .br default: \fBfalse\fR .br گزینه‌ای برای راه‌اندازی نوار به صورت پنهان.\& .PP \fBmodifier\-reset\fR .br typeof: string .br default: \fBpress\fR .RS 4 زمان‌بندی کلید تبدیل‌کننده (modifier key) را برای بازنشانی قابلیت دید نوار تعریف می‌کند.\& برای بازنشانی قابلیت دید نوار با فشردن کلید تبدیل‌کننده از \fBpress\fR استفاده کنید.\& برای بازنشانی قابلیت دید پس از رها کردن کلید تبدیل‌کننده و تنها در صورتی که هیچ عمل دیگری هنگام فشرده بودن کلید رخ نداده باشد، از \fBrelease\fR استفاده کنید.\& این کار از پنهان شدن نوار هنگامی که از کلید تبدیل‌کننده برای جابجایی فضای کاری، تغییر حالت کلیدهای میانبر یا شروع یک کلید میانبر استفاده می‌شود، جلوگیری می‌کند.\& .PP .RE \fBexclusive\fR .br typeof: bool .br default: \fBtrue\fR .br گزینه‌ای برای درخواست یک منطقهٔ اختصاصی (exclusive zone) از کامپوزیتور.\& این گزینه را غیرفعال کنید تا اجازه دهید پنجره‌های برنامه‌ها در زیر یا بالای نوار رسم شوند.\& .PP \fBfixed\-center\fR .br typeof: bool .br default: \fBtrue\fR .RS 4 ترجیح دادن موقعیت مرکز ثابت برای بلوک `modules\-center`.\& بلوک مرکزی تا حد امکان در وسط نوار باقی خواهد ماند.\& با این حال اگر بلوک‌های دیگر به فضای بیشتری نیاز داشته باشند، همچنان ممکن است جابه‌جا شود.\& در صورت false بودن، بلوک مرکزی در فضای بین بلوک چپ و راست وسط‌چین می‌شود.\& .PP .RE \fBpassthrough\fR .br typeof: bool .br default: \fBfalse\fR .br گزینه‌ای برای انتقال هرگونه رویداد اشاره‌گر به پنجرهٔ زیر نوار.\& .RS 4 برای استفاده با لایه‌های \fBtop\fR یا \fBoverlay\fR و بدون منطقهٔ اختصاصی در نظر گرفته شده است.\& .PP .RE \fBipc\fR .br typeof: bool .br default: false .br گزینه‌ای برای اشتراک در رویدادهای پیکربندی و قابلیت دید نوار در Sway IPC و کنترل waybar با دستورات \fBswaymsg bar\fR.\& .br نیازمند آن است که مقدار \fBbar_id\fR از پیکربندی sway با آرگومان خط فرمان \fB\-b\fR منتقل شود یا با گزینهٔ \fBid\fR مشخص گردد.\& .PP \fBid\fR .br typeof: string .br شناسه \fBbar_id\fR برای Sway IPC.\& اگر نیاز دارید مقدار منتقل‌شده با آرگومان خط فرمان \fB\-b bar_id\fR را برای یک نمونهٔ نوار خاص بازنویسی کنید، از این گزینه استفاده نمایید.\& .PP \fBinclude\fR .br typeof: string|array .br مسیرهای فایل‌های پیکربندی اضافی.\& .RS 4 هر فایل می‌تواند شامل یک شیء واحد با هر یک از گزینه‌های پیکربندی نوار باشد.\& در صورت وجود گزینه‌های تکراری، اولین مقدار تعریف‌شده اولویت دارد، یعنی: فایل شامل‌کننده \-> اولین فایل گنجانده‌شده \-> و غیره.\& گنجاندن‌های تو در تو مجاز است، اما مطمئن شوید که از وارد کردن حلقه‌ای جلوگیری می‌شود.\& برای پیکربندی چند نوار، دستورالعمل include تنها بر شیء پیکربندی نوار فعلی تأثیر می‌گذارد.\& .PP .RE \fBreload_style_on_change\fR .br typeof: bool .br default: \fBfalse\fR .br گزینه‌ای برای فعال‌سازی بارگذاری مجدد استایل css در صورت تشخیص تغییر در فایل شیوه‌نامه یا هر فایل css وارد‌شده.\& .PP \fBon\-sigusr1\fR .br typeof: string .br default: \fBtoggle\fR .br عملی که هنگام دریافت سیگنال SIGUSR1 انجام می‌شود.\& .br مقادیر ممکن: \fBshow\fR، \fBhide\fR، \fBtoggle\fR، \fBreload\fR، \fBnoop\fR.\& .br مقدار پیش‌فرض: \fBtoggle\fR.\& .PP \fBon\-sigusr2\fR .br typeof: string .br default: \fBreload\fR .br عملی که هنگام دریافت سیگنال SIGUSR2 انجام می‌شود.\& .br مقادیر ممکن: \fBshow\fR، \fBhide\fR، \fBtoggle\fR، \fBreload\fR، \fBnoop\fR.\& .br مقدار پیش‌فرض: \fBreload\fR.\& .PP .SH "قالب ماژول (MODULE FORMAT)" .PP می‌توانید از PangoMarkupFormat استفاده کنید (به https://developer.\&gnome.\&org/pango/stable/PangoMarkupFormat.\&html#PangoMarkupFormat مراجعه فرمایید).\& .PP به عنوان مثال: .PP .nf .RS 4 "format": "{}" .fi .RE .SH "چندین نمونه از یک ماژول (MULTIPLE INSTANCES OF A MODULE)" .PP اگر می‌خواهید نمونهٔ دومی از یک ماژول داشته باشید، می‌توانید یک پسوند '\&#'\& و یک نام سفارشی به آن اضافه کنید.\& به عنوان مثال، اگر یک ماژول باتری دوم می‌خواهید، می‌توانید \fB"battery#bat2"\fR را به ماژول‌های خود اضافه کنید.\& برای پیکربندی ماژول تازه اضافه‌شده، سپس یک پیکربندی ماژول با همان نام نیز اضافه می‌کنید.\& .PP این پیکربندی می‌تواند شبیه به این باشد \fB(این یک مثال ناقص است)\fR: .PP .nf .RS 4 "modules\-right": ["battery", "battery#bat2"], "battery": { "bat": "BAT1" }, "battery#bat2": { "bat": "BAT2" } .fi .RE .PP .SH "حداقل پیکربندی (MINIMAL CONFIGURATION)" .PP یک فایل \fBconfig\fR حداقلی می‌تواند به شکل زیر باشد: .PP .nf .RS 4 { "layer": "top", "modules\-left": ["sway/workspaces", "sway/mode"], "modules\-center": ["sway/window"], "modules\-right": ["battery", "clock"], "sway/window": { "max\-length": 50 }, "battery": { "format": "{capacity}% {icon}", "format\-icons": ["", "", "", "", ""] }, "clock": { "format\-alt": "{:%a, %d\&. %b %H:%M}" } } .fi .RE .PP .SH "سیگنال‌ها (SIGNALS)" .PP برنامه Waybar سیگنال‌های زیر را می‌پذیرد: .PP \fBSIGUSR1\fR .RS 4 به‌طور پیش‌فرض قابلیت دید نوار را تغییر می‌دهد (اگر نمایان باشد پنهان می‌کند و اگر پنهان باشد نمایش می‌دهد) .RE \fBSIGUSR2\fR .RS 4 به‌طور پیش‌فرض نوار را بازنشانی (بارگذاری مجدد) می‌کند .RE \fBSIGINT\fR .RS 4 از نوار خارج می‌شود .PP .RE برای مثال، برای تغییر وضعیت قابلیت دید نوار به‌صورت برنامه‌نویسی‌شده، می‌توانید دستور `killall \-SIGUSR1 waybar` را اجرا کنید.\& .PP .SS "پیکربندی سیگنال کاربر (User signal configuration)" .PP پارامترهای پیکربندی \fBon\-sigusr1\fR و \fBon\-sigusr2\fR رویدادهای رخ‌داده هنگام دریافت سیگنال‌های \fBSIGUSR1\fR و \fBSIGUSR2\fR توسط نوارها را تغییر می‌دهند.\& .PP این بدان معناست که دستورات `killall \-SIGUSR1 waybar` و `killall \-SIGUSR2 waybar` می‌توانند عمل پیکربندی‌شده توسط کاربر را انجام دهند.\& .PP همچنین به این معناست که اگر یک اسکریپت خارجی PID نوار را داشته باشد، می‌تواند منطق پیچیده‌تری از `show`/`hide`/`reload` را برای هر نمونه از Waybar پیاده‌سازی کند.\& می‌توان PID را به عنوان مثال با اجرای دستور `pgrep \-a waybar` به دست آورد که سپس می‌تواند بر اساس نام پیکربندی یا سایر پارامترها مطابقت داده شود.\& .PP .SS "معانی پارامترهای Kill (Kill parameter meanings)" .PP \fBshow\fR وضعیت را به نمایان تغییر می‌دهد (برای هر نوار).\& \fBhide\fR وضعیت را به پنهان تغییر می‌دهد (برای هر نوار).\& \fBtoggle\fR وضعیت را بین نمایان و پنهان تغییر می‌دهد (برای هر نوار).\& \fBreload\fR تمام نوارهای waybar فرایند فعلی waybar را مجدداً بارگذاری می‌کند (اساساً معادل راه‌اندازی مجدد با پیکربندی به‌روزشده است که مقادیر اولیه قابلیت دید را تنظیم می‌کند).\& \fBnoop\fR هنگام دریافت سیگنال kill هیچ کاری انجام نمی‌دهد.\& .PP .SH "پیکربندی چند خروجی (MULTI OUTPUT CONFIGURATION)" .PP .SS "محدود کردن پیکربندی به برخی از خروجی‌ها (Limit a configuration to some outputs)" .PP .nf .RS 4 { "layer": "top", "output": "eDP\-1", "modules\-left": ["sway/workspaces", "sway/mode"], \&.\&.\&. } .fi .RE .PP .nf .RS 4 { "layer": "top", "output": ["eDP\-1", "VGA"], "modules\-left": ["sway/workspaces", "sway/mode"], \&.\&.\&. } .fi .RE .PP .SS "پیکربندی چندین خروجی (Configuration of multiple outputs)" .PP برای ایجاد چندین نوار بر روی یک صفحه نمایش، هیچ خروجی‌ای را مشخص نکنید.\& .PP .nf .RS 4 [{ "layer": "top", "output": "eDP\-1", "modules\-left": ["sway/workspaces", "sway/mode"], \&.\&.\&. }, { "layer": "top", "output": "VGA", "modules\-right": ["clock"], \&.\&.\&. }] .fi .RE .PP .SS "چرخش ماژول‌ها (Rotating modules)" .PP هنگام قرار دادن Waybar در سمت چپ یا راست صفحه نمایش، گاهی اوقات چرخش محتوای یک ماژول به گونه‌ای که متن به صورت عمودی قرار گیرد، مفید است.\& این کار را می‌توان با استفاده از ویژگی "rotate" ماژول انجام داد.\& مثال: .PP .nf .RS 4 { "clock": { "rotate": 90 } } .fi .RE .PP گزینه‌های معتبر برای ویژگی "rotate" عبارتند از: 0، 90، 180 و 270.\& .PP .SS "جابجایی آیکون و برچسب (Swapping icon and label)" .PP اگر یک ماژول هم برچسب و هم آیکون را نمایش می‌دهد، ممکن است جابجایی آن‌ها مطلوب باشد (برای مثال، برای پنل‌های سمت چپ یا راست صفحه، یا برای کاربرانی که از خط راست‌به‌چپ استفاده می‌کنند).\& این امر می‌تواند با ویژگی "swap\-icon\-label" که یک مقدار بولی می‌گیرد، محقق شود.\& مثال: .nf .RS 4 { "sway/window": { "swap\-icon\-label": true } } .fi .RE .PP .SS "گروه‌بندی ماژول‌ها (Grouping modules)" .PP گروه‌های ماژول امکان روی هم قرار دادن ماژول‌ها در هر جهتی را فراهم می‌کنند.\& به‌طور پیش‌فرض، هنگامی که نوار در بالا یا پایین صفحه قرار دارد، ماژول‌های یک گروه به‌صورت عمودی چیده می‌شوند.\& به همین ترتیب، هنگامی که در سمت چپ یا راست قرار دارد، ماژول‌های یک گروه به‌صورت افقی چیده می‌شوند.\& این رفتار را می‌توان با ویژگی "orientation" تغییر داد.\& .PP یک گروه ماژول با مشخص کردن ماژولی با نام "group/some\-group\-name" تعریف می‌شود.\& گروه همچنین باید با فهرستی از ماژول‌های موجود پیکربندی شود.\& مثال: .PP .nf .RS 4 { "modules\-right": ["group/hardware", "clock"], "group/hardware": { "orientation": "vertical", "modules": [ "cpu", "memory", "battery" ] }, \&.\&.\&. } .fi .RE .PP گزینه‌های معتبر برای ویژگی (اختیاری) "orientation" عبارتند از: "horizontal"، "vertical"، "inherit" و "orthogonal" (پیش‌فرض).\& .PP .SS "کشوی گروه‌ها (Group Drawers)" .PP یک گروه ممکن است تمام عناصر به جز یکی را پنهان کند و آن‌ها را فقط با نگه‌داشتن ماوس (hover) نمایش دهد.\& برای پیکربندی این مورد، می‌توانید از ویژگی `drawer` استفاده کنید که مقدار آن شیئی با ویژگی‌های زیر است: .PP \fBtransition\-duration\fR: .br typeof: integer .br default: 500 .br مدت زمان پویانمایی انتقال را بر حسب میلی‌ثانیه تعریف می‌کند.\& .PP \fBchildren\-class\fR: .br typeof: string .br default: "hidden" .br کلاس CSS برای اعمال روی عناصر پنهان را تعریف می‌کند.\& .PP \fBclick\-to\-reveal\fR: .br typeof: bool .br default: false .br تعیین می‌کند که آیا کلیک چپ به جای نگه‌داشتن ماوس باید محتوا را نمایان کند یا خیر.\& توجه داشته باشید که ماژول‌های گروه‌بندی‌شده همچنان می‌توانند رویدادهای کلیک مخصوص به خود را پردازش کنند.\& .PP \fBtransition\-left\-to\-right\fR: .br typeof: bool .br default: true .br جهت پویانمایی انتقال را تعریف می‌کند.\& اگر true باشد، عناصر پنهان از چپ به راست می‌لغزند.\& اگر false باشد، از راست به چپ می‌لغزند.\& .RS 4 هنگامی که نوار عمودی است، این مقدار به صورت بالا به پایین تفسیر می‌شود.\& .PP .RE .nf .RS 4 "group/power": { "orientation": "inherit", "drawer": { "transition\-duration": 500, "children\-class": "not\-power", "transition\-left\-to\-right": false, }, "modules": [ "custom/power", // نخستین عنصر «سرگروه» است و هرگز پنهان نخواهد شد "custom/quit", "custom/lock", "custom/reboot", ] }, .fi .RE .PP .SH "ماژول‌های پشتیبانی‌شده (SUPPORTED MODULES)" .PP .PD 0 .IP \(bu 4 \fBwaybar\-backlight(5)\fR .IP \(bu 4 \fBwaybar\-battery(5)\fR .IP \(bu 4 \fBwaybar\-bluetooth(5)\fR .IP \(bu 4 \fBwaybar\-cava(5)\fR .IP \(bu 4 \fBwaybar\-clock(5)\fR .IP \(bu 4 \fBwaybar\-cpu(5)\fR .IP \(bu 4 \fBwaybar\-custom(5)\fR .IP \(bu 4 \fBwaybar\-disk(5)\fR .IP \(bu 4 \fBwaybar\-dwl\-tags(5)\fR .IP \(bu 4 \fBwaybar\-dwl\-window(5)\fR .IP \(bu 4 \fBwaybar\-gamemode(5)\fR .IP \(bu 4 \fBwaybar\-hyprland\-language(5)\fR .IP \(bu 4 \fBwaybar\-hyprland\-submap(5)\fR .IP \(bu 4 \fBwaybar\-hyprland\-window(5)\fR .IP \(bu 4 \fBwaybar\-hyprland\-workspaces(5)\fR .IP \(bu 4 \fBwaybar\-niri\-language(5)\fR .IP \(bu 4 \fBwaybar\-niri\-window(5)\fR .IP \(bu 4 \fBwaybar\-niri\-workspaces(5)\fR .IP \(bu 4 \fBwaybar\-idle\-inhibitor(5)\fR .IP \(bu 4 \fBwaybar\-image(5)\fR .IP \(bu 4 \fBwaybar\-inhibitor(5)\fR .IP \(bu 4 \fBwaybar\-jack(5)\fR .IP \(bu 4 \fBwaybar\-keyboard\-state(5)\fR .IP \(bu 4 \fBwaybar\-memory(5)\fR .IP \(bu 4 \fBwaybar\-mpd(5)\fR .IP \(bu 4 \fBwaybar\-mpris(5)\fR .IP \(bu 4 \fBwaybar\-network(5)\fR .IP \(bu 4 \fBwaybar\-pulseaudio(5)\fR .IP \(bu 4 \fBwaybar\-river\-layout(5)\fR .IP \(bu 4 \fBwaybar\-river\-mode(5)\fR .IP \(bu 4 \fBwaybar\-river\-tags(5)\fR .IP \(bu 4 \fBwaybar\-river\-window(5)\fR .IP \(bu 4 \fBwaybar\-sndio(5)\fR .IP \(bu 4 \fBwaybar\-states(5)\fR .IP \(bu 4 \fBwaybar\-sway\-language(5)\fR .IP \(bu 4 \fBwaybar\-sway\-mode(5)\fR .IP \(bu 4 \fBwaybar\-sway\-scratchpad(5)\fR .IP \(bu 4 \fBwaybar\-sway\-window(5)\fR .IP \(bu 4 \fBwaybar\-sway\-workspaces(5)\fR .IP \(bu 4 \fBwaybar\-temperature(5)\fR .IP \(bu 4 \fBwaybar\-tray(5)\fR .IP \(bu 4 \fBwaybar\-upower(5)\fR .IP \(bu 4 \fBwaybar\-wireplumber(5)\fR .IP \(bu 4 \fBwaybar\-wlr\-taskbar(5)\fR .IP \(bu 4 \fBwaybar\-wlr\-workspaces(5)\fR .PD .PP .SH "همچنین ببینید (SEE ALSO)" .PP \fBsway\-output(5)\fR \fBwaybar\-styles(5)\fR