ICEWM-WINOPTIONS(5) Standards, Environments and Macros ICEWM-WINOPTIONS(5)

icewm-winoptions - فایل پیکربندی گزینه‌های پنجره در IceWM

$ICEWM_PRIVCFG/winoptions
$XDG_CONFIG_HOME/icewm/winoptions
$HOME/.icewm/winoptions
/usr/etc/icewm/winoptions
/usr/share/icewm/winoptions

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

گزینه‌های winoptions هنگام شروع به کار icewm(1) اعمال می‌شوند. با این حال، می‌توان بعداً با استفاده از icesh(1) یا icewmhint(1) آن‌ها را بازنویسی کرد. دستور "icesh winoptions" به icewm دستور می‌دهد تا فایل winoptions را مجدداً بارگذاری کند، در حالی که icewmhint یک نمونهٔ خاص از برنامه را هنگام شروع تنظیم می‌کند.

هر خط در این فایل باید در یکی از قالب‌های زیر باشد:

در اینجا NAME و CLASS از ویژگی WM_CLASS پنجره گرفته شده‌اند. این مقادیر را می‌توان در خروجی دستور "icesh -a getClass"; یافت.

در حالی که ROLE به ویژگی WM_WINDOW_ROLE پنجره اشاره دارد که نام خاص نمونهٔ برنامه است. تنها اقلیتی از پنجره‌ها این ویژگی را دارند. خروجی "icesh -a list prop WM_WINDOW_ROLE"; را ببینید.

در موارد نادر، ممکن است یک نام، کلاس یا نقش حاوی یک نقطه باشد. در این صورت، نقطه باید با یک تک بک‌اسلش اسکیپ شود.

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

چهار دسته‌بندی وجود دارد: عمومی (general)، عملکردی (function)، تزیینات (decor) و ویژگی‌ها (feature).

این گزینه‌ها ویژگی‌های عمومی پنجره‌ها را کنترل می‌کنند:

نام آیکون پنجره را مشخص می‌کند. NAME نام آیکون است، مانند utilities-terminal. همچنین می‌تواند یک فایل مانند xterm.png، یک مسیر کامل، یا پیشوندی از یک مسیر بدون اندازه یا پسوند باشد.
فضای کاری پیش‌فرض پنجره را تعیین می‌کند. WORKSPACE شماره فضای کاری با شمارش از صفر (0) است.
لایهٔ پیش‌فرض پنجره را مشخص می‌کند. لایه می‌تواند یکی از نام‌های زیر یا عددی بین صفر تا پانزده باشد:
Desktop     (0)  پنجره میزکار (Desktop).
Below       (2)  زیر لایه پیش‌فرض.
Normal      (4)  لایه پیش‌فرض برای پنجره‌ها.
OnTop       (6)  بالای لایه پیش‌فرض.
Dock        (8)  پنجره‌های متصل (Dock) در لبه صفحه.
AboveDock  (10)  پنجره‌های بالاتر از Dock.
Menu       (12)  لایه مخصوص منوها.
Fullscreen (14)  هنگام تمام‌صفحه بودن و داشتن فوکوس.
AboveAll   (15)  همیشه بالاتر از همه‌چیز.
ابعاد و موقعیت (geometry) پیش‌فرض پنجره. این هندسه باید در قالبی مشخص شود که توسط XParseGeometry(3) قابل تجزیه باشد:
[=][<width>{xX}<height>][{+-}<xoffset>{+-}<yoffset>]

هندسه پیش‌فرض از ویژگی WM_SIZE_HINTS پنجره یا در غیر این صورت از هندسه اولیه پنجره گرفته می‌شود. این گزینه پیش‌فرض را بازنویسی می‌کند.

گزینه سینی سیستم (tray) پیش‌فرض برای پنجره. این گزینه هم بر سینی و هم بر پنل وظایف تأثیر می‌گذارد. Tray می‌تواند یکی از سه رشته زیر یا عددی از صفر (0) تا دو (2) باشد:
Ignore     (0)  هیچ آیکونی به سینی اضافه نمی‌شود.
Minimized  (1)  اضافه شدن به سینی، بدون دکمه در نوار وظیفه هنگام کمینه‌شدن.
Exclusive  (2)  اضافه شدن به سینی، بدون دکمه در نوار وظیفه.
ترتیب مرتب‌سازی برای دکمه‌های نوار وظیفه، آیکون‌های سینی، جابجایی سریع و فهرست پنجره‌ها. مقدار پیش‌فرض صفر است. مقادیر مثبت افزایشی به سمت راست و مقادیر منفی کاهشی به سمت چپ می‌روند.
اگر NUMBER مقداری بین 1 تا 100 باشد، ویژگی _NET_WM_WINDOW_OPACITY را تنظیم می‌کند. NUMBER به عنوان درصدی از حداکثر کدر بودن (عدم شفافیت) تفسیر می‌شود.
چیدمان صفحه‌کلید مورد استفاده برای این پنجره را مشخص می‌کند. layout نام چیدمان صفحه‌کلید است. این مقدار می‌تواند فهرستی از آرگومان‌های جداشده با فاصله برای برنامهٔ setxkbmap باشد. لطفاً توجه داشته باشید که برای کارکرد این قابلیت، setxkbmap باید نصب باشد. همچنین یک چیدمان صفحه‌کلید پیش‌فرض را در preferences تعریف کنید.
همه پنجره‌های دارای برچسب فریم یکسان، تبدیل به تب‌هایی در یک فریم واحد می‌شوند.

گزینه‌های عملکردی توانایی انجام یک عمل روی پنجره را فعال/غیرفعال (1/0) می‌کنند. حالت پیش‌فرض برای همه گزینه‌ها فعال (1) است مگر اینکه توسط برنامه بازنویسی شود:

fClose:    {0|1}  قابل بستن باشد.              (پیش‌فرض: 1)
fHide:     {0|1}  قابل مخفی‌سازی باشد.          (پیش‌فرض: 1)
fMaximize: {0|1}  قابل بیشینه‌سازی باشد.       (پیش‌فرض: 1)
fMinimize: {0|1}  قابل کمینه‌سازی باشد.        (پیش‌فرض: 1)
fMove:     {0|1}  قابل جابجایی باشد.           (پیش‌فرض: 1)
fResize:   {0|1}  قابل تغییر اندازه باشد.       (پیش‌فرض: 1)
fRollup:   {0|1}  قابل جمع‌شدن به بالا باشد.   (پیش‌فرض: 1)

گزینه‌های تزیینات، تزیینات پنجره را فعال/غیرفعال (1/0) می‌کنند. حالت پیش‌فرض برای همه گزینه‌ها فعال (1) است مگر اینکه توسط برنامه یا پوسته بازنویسی شود:

dBorder:   {0|1}  دارای حاشیه/کادر باشد.        (پیش‌فرض: 1)
dClose:    {0|1}  دارای دکمه بستن باشد.         (پیش‌فرض: 1)
dDepth:    {0|1}  دارای دکمه عمق باشد.          (پیش‌فرض: 1)
dHide:     {0|1}  دارای دکمه مخفی‌سازی باشد.     (پیش‌فرض: 1)
dMaximize: {0|1}  دارای دکمه بیشینه‌سازی باشد.  (پیش‌فرض: 1)
dMinimize: {0|1}  دارای دکمه کمینه‌سازی باشد.   (پیش‌فرض: 1)
dResize:   {0|1}  دارای دستگیره تغییر اندازه.   (پیش‌فرض: 1)
dRollup:   {0|1}  دارای دکمه جمع‌شدن باشد.     (پیش‌فرض: 1)
dSysMenu:  {0|1}  دارای منوی پنجره باشد.        (پیش‌فرض: 1)
dTitleBar: {0|1}  دارای نوار عنوان باشد.        (پیش‌فرض: 1)

گزینه‌های ویژگی‌ها، امکانات اضافی پنجره را فعال/غیرفعال (1/0) می‌کنند. حالت پیش‌فرض برای همه گزینه‌ها غیرفعال (0) است مگر اینکه توسط برنامه بازنویسی شود:

allWorkspaces:            {1|0}  نمایش در تمام فضاهای کاری.
appTakesFocus:            {1|0}  اجازه به برنامه برای گرفتن فوکوس.
doNotCover:               {1|0}  پنجره‌های دیگر روی آن قرار نگیرند.
doNotFocus:               {1|0}  به آن فوکوس داده نشود.
doNotManage:              {1|0}  به هیچ وجه مدیریت نشود.
forcedClose:              {1|0}  بدون پنجرهٔ تأیید برای بستن.
fullKeys:                 {1|0}  کلیدهای میانبر icewm اعمال نشوند.
ignoreNoFocusHint:        {1|0}  فوکوس حتی در صورت تنظیم no-input.
ignorePagerPreview:       {1|0}  عدم نمایش در پیش‌نمایش صفحه‌بندی.
ignorePositionHint:       {1|0}  همیشه اجازه جای‌گذاری پنجره به icewm.
ignoreQuickSwitch:        {1|0}  عدم نمایش در جابجایی سریع (Alt+Tab).
ignoreTaskBar:            {1|0}  عدم نمایش در نوار وظیفه.
ignoreUrgentHint:         {1|0}  نادیده گرفتن هشدارهای فوری.
ignoreWinList:            {1|0}  عدم نمایش در فهرست پنجره‌ها.
ignoreActivationMessages: {1|0}  تنها کاربر بتواند به پنجره فوکوس دهد.
ignoreOverrideRedirect:   {1|0}  نادیده گرفتن پرچم override redirect.
ignoreUserTime:           {1|0}  نادیده گرفتن wm_user_time و startup_id.
noFocusOnAppRaise:        {1|0}  عدم فوکوس خودکار هنگام بالا آمدن.
noFocusOnMap:             {1|0}  عدم فوکوس هنگام مپ شدن پنجره.
noIgnoreTaskBar:          {1|0}  همیشه در نوار وظیفه نمایش داده شود.
startClose:               {1|0}  پنجره فوراً بسته شود.
startFullscreen:          {1|0}  شروع به‌صورت تمام‌صفحه.
startMaximized:           {1|0}  شروع به‌صورت بیشینه (بزرگ‌شده).
startMaximizedHorz:       {1|0}  شروع به‌صورت افقی بیشینه.
startMaximizedVert:       {1|0}  شروع به‌صورت عمودی بیشینه.
startMinimized:           {1|0}  شروع به‌صورت کمینه (کوچک‌شده).

این مثال از مقدار ویژگی WM_WINDOW_ROLE با عنوان "pop-up" استفاده می‌کند تا فوکوس ورودی را از پنجره‌های پاپ‌آپ Chrome سلب کرده و درخواست بستن فوری آن‌ها را بدهد.

google-chrome.pop-up.doNotFocus: 1
google-chrome.pop-up.forcedClose: 1
google-chrome.pop-up.ignorePagerPreview: 1
google-chrome.pop-up.ignoreUrgentHint: 1
google-chrome.pop-up.layer: Below
google-chrome.pop-up.noFocusOnAppRaise: 1
google-chrome.pop-up.noFocusOnMap: 1
google-chrome.pop-up.startClose: 1
google-chrome.pop-up.startMinimized: 1

نرم‌افزار IceWM برنامه‌های متصل (dockapps) را به‌طور خودکار در یک نگه‌دارنده قرار می‌دهد، اما برای مواردی که با پروتکل سازگار نیستند، می‌توان آن را شبیه‌سازی کرد. یک dockapp شبیه‌سازی‌شده باید در تمام فضاهای کاری ظاهر شود، بدون تزیینات باشد و همیشه در یک مکان ثابت قابل مشاهده باشد.

wmtime.wmtime.allWorkspaces: 1
wmtime.wmtime.ignoreTaskBar: 1
wmtime.wmtime.ignoreQuickSwitch: 1
wmtime.wmtime.ignoreWinList: 1
wmtime.wmtime.layer: Below
wmtime.wmtime.dTitleBar: 0
wmtime.wmtime.dBorder: 1
wmtime.wmtime.geometry: 64x64-74-100

مثال زیر نشان می‌دهد که چگونه یک برنامه فقط-خروجی با اشکال خاص، بدون نوار عنوان و با حداقل کارکرد نمایش داده می‌شود.

xeyes.tray: Exclusive
xeyes.ignoreWinList: 0
xeyes.ignoreTaskBar: 1
xeyes.allWorkspaces: 1
xeyes.dTitleBar: 0
xeyes.dBorder: 0
xeyes.dSysMenu: 0
xeyes.dResize: 0
xeyes.dClose: 0
xeyes.dMinimize: 0
xeyes.dMaximize: 0

مسیرهای قرارگیری فایل winoptions به شرح زیر است:

$ICEWM_PRIVCFG/winoptions
$XDG_CONFIG_HOME/icewm/winoptions
$HOME/.icewm/winoptions
/usr/etc/icewm/winoptions
/usr/share/icewm/winoptions

مسیرها به ترتیب فهرست‌شده جستجو می‌شوند؛ اولین فایل یافت‌شده خوانده شده و بقیه نادیده گرفته می‌شوند.

icewm(1), icesh(1), icewmhint(1), setxkbmap(1), XParseGeometry(3).

Brian Bidulock <mailto:bidulock@openss7.org>.

IceWM تحت مجوز GNU Library General Public License منتشر شده است. فایل COPYING موجود در بسته توزیع را ببینید.

2026-08-06 icewm 4.1.0