sway-output(5) File Formats Manual sway-output(5)

sway-output - دستورات پیکربندی خروجی برای sway

می‌توانید دستورات خروجی را به صورت یکجا مانند زیر با هم ترکیب کنید:

output HDMI-A-1 mode 1920x1080 pos 1920 0 bg ~/wallpaper.png stretch

می‌توانید با دستور swaymsg -t get_outputs فهرستی از نام‌های خروجی را دریافت کنید. همچنین می‌توانید با استفاده از نام خروجی "*" با هر خروجی مطابقت دهید. علاوه بر این، می‌توان از "-" برای تطبیق خروجی فوکوس‌شده بر پایه نام و از "--" برای تطبیق خروجی فوکوس‌شده بر پایه شناسه آن استفاده کرد.

برخی از خروجی‌ها ممکن است هنگام قطع و وصل مجدد نام‌های متفاوتی داشته باشند. برای شناسایی این موارد، نام می‌تواند با رشته‌ای شامل شرکت سازنده، مدل و شماره سریال که می‌توانید از swaymsg -t get_outputs دریافت کنید، جایگزین شود. هر مقدار باید با یک فاصله جدا شود. برای نمونه:

output "Some Company ABC123 0x00000000" pos 1920 0

output <name> mode|resolution|res [--custom] <width>x<height>[@<rate>Hz]

خروجی مشخص‌شده را برای استفاده از حالت داده‌شده پیکربندی می‌کند. حالت‌ها ترکیبی از پهنا و بلندا (به پیکسل) و یک نرخ نوسازی هستند که نمایشگر شما می‌تواند برای استفاده از آن پیکربندی شود. برای مشاهده فهرستی از حالت‌های دردسترس برای هر خروجی، از swaymsg -t get_outputs استفاده کنید.

برای تنظیم یک حالت سفارشی که در فهرست حالت‌های دردسترس وجود ندارد، از گزینه --custom استفاده کنید. احتمالاً تنها زمانی باید از این گزینه استفاده کنید که دقیقاً بدانید چه کاری انجام می‌دهید.

مثال‌ها:

output HDMI-A-1 mode 1920x1080

output HDMI-A-1 mode 1920x1080@60Hz

output <name> modeline <clock> <hdisplay> <hsync_start> <hsync_end> <htotal> <vdisplay> <vsync_start> <vsync_end> <vtotal> <hsync> <vsync>

خروجی مشخص‌شده را برای استفاده از خط‌حالت (modeline) ارائه‌شده پیکربندی می‌کند. این مقدار را می‌توان با استفاده از دستورات cvt(1) و gtf(1) تولید کرد. راهنمای xorg.conf(5) را ببینید. تنها روی بک‌اند DRM پشتیبانی می‌شود.

مثال:

output HDMI-A-1 modeline 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

output <name> position|pos <X> <Y>

خروجی مشخص‌شده را در موقعیت معینی در فضای مختصات سراسری قرار می‌دهد. نشانگر مکان‌نما تنها می‌تواند بین خروجی‌های دقیقاً مجاور جابه‌جا شود. در صورت فعال بودن مقیاس‌بندی (scaling)، باید هنگام تعیین موقعیت در نظر گرفته شود. برای نمونه، اگر ضریب مقیاس‌بندی برای خروجی سمت چپ برابر با ۲ باشد، موقعیت نسبی برای خروجی سمت راست باید بر ۲ تقسیم شود. نقطه مرجع، گوشه بالا سمت چپ است، بنابراین اگر می‌خواهید لبه‌های پایینی هم‌تراز باشند، این نکته نیز باید مد نظر قرار گیرد.

مثال:

output HDMI1 scale 2

output HDMI1 pos 0 1020 res 3200x1800

output eDP1 pos 1600 0 res 1920x1080

توجه داشته باشید که موقعیت افقی چپ (x-pos) نمایشگر eDP1 برابر است با 1600 = 3200/2 و موقعیت عمودی پایینی (y-pos) برابر است با 1020 + (1800 / 2) = 1920 = 0 + 1920

output <name> scale <factor>

خروجی مشخص‌شده را بر اساس ضریب مقیاس factor داده‌شده مقیاس‌بندی می‌کند. استفاده از عدد صحیح توصیه می‌شود، اما مقادیر کسری نیز پشتیبانی می‌شوند. ممکن است تنظیم یک ضریب مقیاس صحیح و تنظیم اندازه قلم برنامه‌ها به دلخواه نتیجه بهتری به همراه داشته باشد. ویژگی HiDPI در کلاینت‌های Xwayland پشتیبانی نمی‌شود (پنجره‌ها تار خواهند شد). مقیاس کسری ممکن است برای تطابق با الزامات پروتکل اندکی تعدیل شود.

output <name> scale_filter linear|nearest|smart

نحوه مقیاس‌بندی بافرهای برنامه‌ای را مشخص می‌کند که در مقیاسی پایین‌تر از مقیاس پیکربندی‌شده خروجی رندر شده‌اند، مانند برنامه‌های با وضوح پایین (lo-dpi) در صفحه‌های با وضوح بالا (hi-dpi). حالت خطی (linear) نرم‌تر و تارتر است، و حالت نزدیک‌ترین (nearest، که به عنوان نزدیک‌ترین همسایه نیز شناخته می‌شود) واضح‌تر و پیکسلی‌تر است. تنظیم روی "smart" در حالتی که خروجی دارای ضریب مقیاس صحیح باشد مقیاس‌بندی nearest و در غیر این صورت مقیاس‌بندی linear را اعمال می‌کند. مقدار پیش‌فرض "smart" است.

output <name> subpixel rgb|bgr|vrgb|vbgr|none

هینتینگ زیرپیکسل (subpixel hinting) را به صورت دستی برای خروجی مشخص‌شده تنظیم می‌کند. این مقدار معمولاً به طور خودکار تشخیص داده می‌شود، اما برخی نمایشگرها ممکن است هندسه زیرپیکسل خود را نادرست گزارش کنند. استفاده از هینتینگ زیرپیکسل صحیح باعث شفاف‌تر شدن متن می‌شود. مقادیر نادرست باعث تار شدن متن خواهند شد. هنگام تغییر این مقدار از طریق swaymsg، ممکن است برای اعمال مقدار جدید نیاز به راه‌اندازی مجدد برخی برنامه‌ها باشد.

output <name> background|bg <file> <mode> [<fallback_color>]

تصویر پس‌زمینه را برای خروجی داده‌شده روی فایل مشخص‌شده، با استفاده از حالت مقیاس‌بندی تعیین‌شده (یکی از موارد "stretch"، "fill"، "fit"، "center"، "tile") تنظیم می‌کند. اگر دسترسی به فایل مشخص‌شده امکان‌پذیر نباشد یا تصویر کل خروجی را نپوشاند، می‌توان یک رنگ جایگزین (fallback color) برای پوشش باقی‌مانده خروجی تعیین کرد. مقدار fallback_color باید به صورت #RRGGBB مشخص شود. کانال آلفا پشتیبانی نمی‌شود.

output <name> background|bg <color> solid_color

پس‌زمینه خروجی داده‌شده را روی رنگ یکدست مشخص‌شده تنظیم می‌کند. مقدار color باید به صورت #RRGGBB مشخص شود. کانال آلفا پشتیبانی نمی‌شود.

output <name> transform <transform> [clockwise|anticlockwise]

تبدیل هندسی پس‌زمینه را روی مقدار داده‌شده تنظیم می‌کند. می‌تواند یکی از مقادیر "90"، "180"، "270" برای چرخش؛ یا "flipped"، "flipped-90"، "flipped-180"، "flipped-270" برای اعمال چرخش و وارون‌سازی (flip)، یا "normal" برای عدم اعمال تبدیل باشد. چرخش در جهت عقربه‌های ساعت انجام می‌شود. اگر یک خروجی واحد انتخاب شده و جهت چرخش مشخص شده باشد (clockwise یا anticlockwise)، مقدار تبدیل به تبدیل فعلی افزوده یا از آن کاسته می‌شود (این حالت را نمی‌توان مستقیماً در فایل پیکربندی استفاده کرد).

output <name> disable|enable

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

بر خلاف دستور power، خروجی فضای کاری و پنجره‌های فعلی خود را از دست خواهد داد.

output <name> toggle

وضعیت خروجی مشخص‌شده را تغییر می‌دهد (تغییر وضعیت بین فعال و غیرفعال).

output <name> power on|off|toggle

برق خروجی مشخص‌شده را روشن یا خاموش می‌کند.

بر خلاف دستورات enable و disable، خروجی فضاهای کاری و پنجره‌های فعلی خود را حفظ می‌کند.

output <name> dpms on|off|toggle

منسوخ‌شده. نام مستعار برای power.

output <name> max_render_time off|<msec>

زمان ترکیب‌بندی خروجی توسط sway را بر حسب تعداد میلی‌ثانیه مثبت قبل از نوسازی بعدی نمایشگر کنترل می‌کند. عدد کوچک‌تر منجر به فریم‌های ترکیب‌شده تازه‌تر و تاخیر ورودی ادراک‌شده کمتر می‌شود، اما اگر خیلی کم تنظیم شود، ممکن است sway نتواند ترکیب‌بندی را به موقع برای نوسازی نمایشگر به پایان برساند که منجر به تاخیر فریم‌ها می‌شود.

هنگامی که روی off تنظیم شود، sway بلافاصله پس از نوسازی نمایشگر ترکیب‌بندی را انجام می‌دهد که زمان در دسترس برای ترکیب‌بندی را به حداکثر می‌رساند.

برای تنظیم زمانی که برنامه‌ها دستور رندر دریافت می‌کنند، گزینه max_render_time را در sway(5) ببینید.

برای تنظیم این مورد جهت دستیابی به تاخیر بهینه:

1.
یک برنامه تمام‌صفحه (full-screen) را که به طور مداوم رندر می‌شود، مانند glxgears اجرا کنید.
2.
با max_render_time 1 شروع کنید. در صورت مشاهده افت فریم، آن را 1 واحد افزایش دهید.

این تنظیم تنها روی بک‌آندهای Wayland و DRM اثر دارد، زیرا نیازمند پشتیبانی از برچسب‌های زمانی ارائه و نرخ نوسازی پیش‌بینی‌شده خروجی است.

output <name> adaptive_sync on|off|toggle

همگام‌سازی تطبیقی (که معمولاً به عنوان نرخ نوسازی متغیر یا Variable Refresh Rate و با نام‌های تجاری FreeSync/G-Sync شناخته می‌شود) را فعال یا غیرفعال می‌کند.

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

output <name> render_bit_depth 6|8|10

حداکثر عمق بیتی کانال رنگ را که فریم‌ها در آن رندر می‌شوند کنترل می‌کند؛ مقدار پیش‌فرض در حال حاضر ۸ بیت در هر کانال است.

اگر سخت‌افزار و نرم‌افزار از چنین عمق بیت‌هایی پشتیبانی نکنند، تنظیم مقادیر بالاتر هیچ تاثیری نخواهد داشت. افزایش موفقیت‌آمیز عمق بیت رندر لزوماً عمق بیت فریم‌های ارسالی به نمایشگر را افزایش نمی‌دهد. افزایش عمق بیت رندر ممکن است رندر یکدست‌تری از گرادیان‌ها و تصویربرداری‌هایی از صفحه فراهم کند که رنگ برنامه‌های نمایش‌دهنده رنگ‌های با عمق بیت بالا را دقیق‌تر ذخیره می‌کنند.

هشدار: این کار می‌تواند برنامه‌های عکس‌برداری/فیلم‌برداری از صفحه را که برای کار با عمق‌های بیت متفاوت به‌روزرسانی نشده‌اند با اختلال مواجه کند. این دستور آزمایشی است و ممکن است در آینده حذف شده یا تغییر کند.

output <name> color_profile [--device-primaries] gamma22|srgb

پروفایل رنگ را برای یک خروجی تنظیم می‌کند. مقدار پیش‌فرض gamma22 است.

گزینه --device-primaries در صورت دردسترس بودن، از رنگ‌های پایه خودگزارش‌شده خروجی استفاده می‌کند (برای نمونه از EDID نمایشگر).

همه رندرسازها از این ویژگی پشتیبانی نمی‌کنند؛ در حال حاضر تنها با رندرساز Vulkan کار می‌کند. این ویژگی با قابلیت‌های پشتیبانی از HDR سازگار نیست.

output <name> color_profile icc <file>

پروفایل رنگ را برای یک خروجی تنظیم می‌کند.

پارامتر <file> باید مسیری به یک پروفایل ICC نمایشگر باشد.

همه رندرسازها از این ویژگی پشتیبانی نمی‌کنند؛ در حال حاضر تنها با رندرساز Vulkan کار می‌کند. حتی در صورت پشتیبانی نیز، اعمال پروفایل رنگ ممکن است دقیق نباشد.

این دستور آزمایشی است و ممکن است در آینده حذف شده یا تغییر کند. همچنین ممکن است هنگام استفاده همزمان با قابلیت‌های آتی پشتیبانی از HDR هیچ اثری نداشته باشد یا خروجی غیرمنتظره‌ای تولید کند.

output <name> allow_tearing yes|no

شکست تصویر (screen tearing) را در نتیجه تعویض فوری صفحه (immediate page flips) و حالت ارائه فوری از سوی کلاینت مجاز یا غیرمجاز می‌کند. مقدار پیش‌فرض این است که هیچ شکست تصویری مجاز نیست.

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

توصیه می‌شود مقدار max_render_time روی off تنظیم شود. در این صورت، به محض به‌روزرسانی کلاینت، تعویض صفحه رخ می‌دهد. در غیر این صورت، شکست تصویر تنها در صورتی رخ می‌دهد که زمان رندر بیش از میلی‌ثانیه‌های پیکربندی‌شده قبل از نوسازی بعدی نمایشگر طول بکشد.

برای تنظیم مجاز بودن شکست تصویر برای برنامه‌های خاص، گزینه allow_tearing را در sway(5) ببینید. توجه داشته باشید که شکست تصویر تنها زمانی فعال می‌شود که هم برای خروجی و هم برای برنامه مجاز شده باشد.

این تنظیم تنها زمانی اثر دارد که یک پنجره روی خروجی به صورت تمام‌صفحه باشد.

output <name> hdr on|off|toggle

قابلیت HDR (دامنه دینامیکی بالا یا High Dynamic Range) را فعال یا غیرفعال می‌کند. قابلیت HDR طیف رنگی گسترده‌تر و محدوده روشنایی بیشتری را امکان‌پذیر می‌سازد. استاندارد HDR از رنگ‌های پایه‌ای BT2020 و تابع انتقال PQ استفاده می‌کند.

هنگامی که HDR فعال باشد، مقدار render_bit_depth به طور ضمنی روی ۱۰ تنظیم می‌شود مگر اینکه به طور صریح پیکربندی شده باشد. استفاده از عمق بیت رندر پایین‌تر ممکن است منجر به مصنوعات نواری‌شدن رنگ (color banding artifacts) شود.

برای فعال‌سازی، HDR باید توسط خروجی و رندرساز پشتیبانی شود.

sway(5) sway-input(5)

2026-06-23