| kanshi(5) | File Formats Manual | kanshi(5) |
نام (NAME)
kanshi - فایل پیکربندی kanshi
توضیحات (DESCRIPTION)
یک فایل پیکربندی kanshi فهرستی از نمایهها (پروفایلها) است. هر نمایه دارای یک نام اختیاری است و شامل دستورالعملهای نمایه است که با آکولاد ({ و }) احاطه شدهاند.
مثال:
include /etc/kanshi/config.d/*
profile {
output LVDS-1 disable
output "Some Company ASDF 4242" {
mode 1600x900
position 0,0
}
}
profile nomad {
output LVDS-1 enable scale 2
}
دستورالعملها (DIRECTIVES)
profile [<name>] { <دستورالعملهای نمایه..> }
output <معیار> <دستورالعملهای خروجی..>
این پیشفرضها تنها زمانی اعمال میشوند که خروجی مربوطه در یک نمایه خاص ذکر شده باشد. برای مثال، دو نمایه زیر معادل یکدیگرند:
output eDP-1 scale 2
profile manual {
output eDP-1 scale 2
}
profile uses-defaults {
output eDP-1
}
دستورالعملهای خروجی ممکن است در یک بلوک محصور در آکولاد نیز مشخص شوند.
include <path>
دستورالعملهای نمایه (PROFILE DIRECTIVES)
دستورالعملهای نمایه با آرگومانهایی که با فاصله جدا شدهاند همراه هستند. آرگومانها در صورتی که حاوی فاصله باشند میتوانند درون علامت نقلقول (با ") قرار گیرند.
output <معیار> <دستورالعملهای خروجی..>
معیار میتواند یکی از موارد زیر باشد:
- نام یک خروجی (مانند "DP-1"). توجه داشته باشید که نامهای خروجی ممکن است پایدار نباشند: آنها ممکن است در طول راهاندازیهای مجدد سیستم (بسته به ترتیب کاوش درایورهای هسته) یا ترتیب اتصال (معمولاً برای داکهای USB-C) تغییر کنند.
- یک رشته جداشده با فاصله شامل سازنده خروجی، مدل و شماره سریال (مانند "Foocorp ASDF 1234"). میتوان از یک الگوی نویسه عمومی (wildcard) استفاده کرد (مانند "Foocorp ASDF *")؛ به glob(7) مراجعه کنید. اگر یکی از این فیلدها موجود نباشد، باید با رشته "Unknown" پر شود (مانند "Foocorp ASDF Unknown").
- یک نام مستعار خروجی (مانند "$work-desk3") که توسط دستورالعمل alias تعریف شده باشد. نامهای مستعار خروجی فقط در حوزه نمایه قابل استفاده هستند.
- یک نویسه عمومی "*"، برای تطبیق با هر خروجی. نویسههای عمومی فقط در حوزه نمایه قابل استفاده هستند و تنها با یک خروجی تطبیق خواهند یافت.
دستورالعملهای خروجی ممکن است در یک بلوک محصور در آکولاد نیز مشخص شوند.
در sway(1)، نامها و شناسههای خروجی را میتوان از طریق دستور "swaymsg -t get_outputs" به دست آورد.
...output <معیار> <دستورالعملهای خروجی..>
exec <دستور>
دستورات به صورت ناهمگام اجرا میشوند و ممکن است ترتیب آنها حفظ نشود. اگر نیاز به اجرای متوالی دستورات دارید، باید آنها را در یک دستور exec واحد یا در یک اسکریپت جداگانه تجمیع کنید.
به عنوان مثال در sway(1)، میتوان از exec برای انتقال فضاهای کاری به خروجی مناسب بهره گرفت:
profile multihead {
output eDP-1 enable
output DP-1 enable transform 270
exec swaymsg workspace 1, move workspace to eDP-1
}
توجه داشته باشید که در مورد خروجیهایی که با توضیحات خروجی مشخص شدهاند باید دقت بیشتری کرد، زیرا ممکن است نام واقعی تغییر کند:
profile complex {
output "Some Other Company GTBZ 2525" mode 1920x1200
exec swaymsg workspace 1, move workspace to output '"Some Other Company GTBZ 2525"'
}
دستورالعملهای خروجی (OUTPUT DIRECTIVES)
enable|disable
mode preferred
mode [--custom] <width>x<height>[@<rate>[Hz]]
مثالها:
output HDMI-A-1 mode 1920x1080 output HDMI-A-1 mode 1920x1080@60Hz output HDMI-A-1 mode --custom 1280x720@60Hz
position <x>,<y>
مثال:
output HDMI-A-1 position 1600,0
scale <ضریب>
transform <تبدیل>
adaptive_sync on|off
alias $<name>
نویسندگان (AUTHORS)
نگهداری توسط Simon Ser <contact@emersion.fr> به همراه مشارکت دیگر توسعهدهندگان متنباز انجام میشود. برای اطلاعات بیشتر درباره توسعه kanshi، پیوند زیر را ببینید: https://gitlab.freedesktop.org/emersion/kanshi.
همچنین ببینید (SEE ALSO)
| 2026-02-01 |