ICESH(1) User Commands ICESH(1)

icesh - کنترل ویژگی‌های پنجره و مدیر پنجره IceWM

icesh دو نوع دستور ارائه می‌دهد:

۱. دستورهایی برای تعامل مستقیم با icewm:
این دستورها در بخش «MANAGER ACTIONS» در ادامه فهرست شده‌اند. استفاده از آن‌ها آسان است، زیرا نیازی به انتخاب یک یا چند پنجره ندارند. برای مثال، "icesh restart" مدیر پنجرهٔ icewm را بازراه‌اندازی می‌کند و "icesh clients" برنامه‌هایی را که توسط icewm مدیریت می‌شوند فهرست می‌کند.
۲. دستورهایی که روی انتخابی از پنجره‌ها عمل می‌کنند:
بخش "WINDOW ACTIONS" در ادامه را ببینید. برای مثال، "icesh close" درخواستی برای بستن یک پنجره است، اما کدام پنجره؟ اکنون icesh اشاره‌گر موشواره را به یک نشانه‌گیر بعلاوه (crosshair) تبدیل می‌کند. روی یک پنجره کلیک کنید تا درخواست بستن به آن برنامه ارسال شود.

قدرت icesh در توانایی آن برای انتخاب برنامه‌ریزی‌شدهٔ یک یا چند پنجره و اعمال عملیات روی آن انتخاب نهفته است. این قابلیت می‌تواند در اسکریپت‌ها و در icewm-keys(5) برای تعریف کلیدهای میانبر سفارشی مدیریت پنجره استفاده شود. برای مثال، جهت بستن فوری همهٔ پنجره‌های xterm دستور "icesh -c xterm close"; را اجرا کنید.

دوازده "SELECT OPTIONS" برای انتخاب پنجره‌ها وجود دارد. آن‌ها با یک '-' یا یک '+' شروع می‌شوند. '-' یک انتخاب جدید را آغاز می‌کند، در حالی که '+' پنجره‌های بیشتری را به یک انتخاب موجود می‌افزاید.

این پنجره‌های انتخاب‌شده را می‌توان با "FILTER OPTIONS" کاهش داد. این گزینه‌ها پنجره‌های ناخواسته را از انتخاب فعلی حذف می‌کنند. می‌توان چندین گزینهٔ فیلتر را مشخص کرد. برای مثال، "icesh -c xterm -W this close"; فقط آن xtermهایی را می‌بندد که در فضای کاری فعلی نشان داده شده‌اند. پنجره‌های xterm در دیگر فضاهای کاری با گزینهٔ فیلتر "-W this"; فیلتر و حذف می‌شوند.

هیچ محدودیتی در تعداد دستورها، انتخاب‌ها، فیلترها و کنش‌هایی که می‌توانید به یک فرمان icesh بدهید وجود ندارد. آن‌ها یک‌به‌یک از چپ به راست پردازش و ارزیابی می‌شوند. این ویژگی icesh را به یک زبان برنامه‌نویسی توصیفی کوچک تبدیل می‌کند. به چند مثال در انتهای این سند نگاهی بیندازید..SS "گزینه‌ها (OPTIONS)" icesh گزینه‌های زیر را می‌شناسد:

گزینه‌های انتخاب، پنجره یا پنجره‌هایی را که عملیات‌های بعدی بر آن‌ها اعمال می‌شوند مشخص می‌کنند. اگر گزینه‌ای ارائه نشود اما عملیاتی به پنجره نیاز داشته باشد، یک نشانگر متقاطع انتخاب (crosshair) برای انتخاب تعاملی پنجرهٔ مورد نظر نمایش داده می‌شود. عملیات‌های مدیر نیازی به گزینه‌های پنجره ندارند.

گزینه‌های زیر یک یا چند پنجرهٔ کلاینت را انتخاب می‌کنند. در صورت نیاز، می‌توان آن‌ها را برای عملیات‌های متوالی تکرار کرد.

تمام پنجره‌های کلاینت مدیر پنجره را انتخاب می‌کند.
پنجرهٔ برنامه‌ای را که هم‌اکنون دارای فوکوس است انتخاب می‌کند. گزینهٔ با علامت منفی، انتخاب موجود را با پنجرهٔ فوکوس‌شده جایگزین می‌کند. با علامت مثبت، پنجرهٔ فوکوس‌شده به انتخاب موجود اضافه می‌شود.
+g, +group
انتخاب فعلی را با پنجره‌های کلاینتی که به همان گروه پنجرهٔ برنامه تعلق دارند گسترش می‌دهد.
پنجرهٔ ریشه (root) را انتخاب می‌کند. گزینهٔ با علامت منفی، انتخاب موجود را با پنجرهٔ ریشه جایگزین می‌کند. با علامت مثبت، پنجرهٔ ریشه به انتخاب موجود اضافه می‌شود.
تمام پنجره‌های کلاینتی را که در فضای‌کاری (workspace) فعلی هستند انتخاب می‌کند.
تمام پنجره‌های سطح‌بالا (toplevel) را بدون قید و شرط از نمایشگر انتخاب می‌کند. این شامل پنجره‌هایی که هرگز نگاشت نشده‌اند و پنجره‌هایی با بیت override redirect تنظیم‌شده برای فرار از مدیریت نیز می‌شود.
شناسهٔ پنجره، WINDOW_ID، را که عملیات روی آن اعمال می‌شود مشخص می‌کند. شناسه‌های ویژه عبارتند از root برای پنجرهٔ ریشه و focus برای پنجره‌ای که هم‌اکنون دارای فوکوس است. گزینهٔ با علامت منفی انتخاب موجود را جایگزین می‌کند. با علامت مثبت، پنجره به انتخاب موجود اضافه می‌شود.
تمام پنجره‌هایی را که با استفاده از پروتکل XEMBED تعبیه شده‌اند انتخاب می‌کند.
+c, +class CLASS
انتخاب فعلی را با پنجره‌های کلاینتی که ویژگی WM_CLASS آن‌ها برابر با CLASS است گسترش می‌دهد. این نام نمونه و کلاس منبع است. اگر CLASS شامل یک نقطه باشد، فقط پنجره‌هایی با دقیقاً همان ویژگی WM_CLASS مطابقت داده می‌شوند. اگر نقطه‌ای وجود نداشته باشد، پنجره‌های همان کلاس و پنجره‌های همان نمونه انتخاب می‌شوند.
+C, +Class
انتخاب فعلی را با پنجره‌های کلاینتی که دارای ویژگی WM_CLASS مشابه با مجموعه پنجره‌های از پیش انتخاب‌شده هستند، گسترش می‌دهد.
تمام برنامه‌های Dockapp را که توسط icewm مدیریت می‌شوند انتخاب می‌کند.
+P, +Pid
انتخاب فعلی را با پنجره‌های کلاینتی که شناسهٔ فرایند یکسانی با یکی از پنجره‌های انتخاب‌شده دارند گسترش می‌دهد.
نوار وظیفهٔ (taskbar) برنامهٔ IceWM را انتخاب می‌کند.
منتظر ظاهر شدن یک یا چند پنجرهٔ کلاینت جدید می‌ماند و آن‌ها را به عنوان انتخاب جدید قرار می‌دهد.

گزینه‌های زیر مجموعه پنجره‌های انتخاب‌شدهٔ فعلی را پالایش می‌کنند. اگر هیچ گزینهٔ انتخاب قبلی ارائه نشده باشد، گزینهٔ -all به‌طور ضمنی برای پالایش تمام پنجره‌های کلاینت در نظر گرفته می‌شود.

مجموعه پنجره‌ها را بر اساس ویژگی WM_CLASS آن‌ها پالایش می‌کند. این نام نمونه و کلاس منبع است. اگر CLASS شامل نقطه باشد، فقط پنجره‌هایی با دقیقاً همان ویژگی WM_CLASS تطبیق داده می‌شوند. اگر نقطه‌ای نباشد، پنجره‌های همان کلاس و پنجره‌های همان نمونه (یا همان -name) انتخاب می‌شوند.
کلاینت‌ها را پالایش کرده و فقط جدیدترین کلاینت را نگه می‌دارد.
کلاینت‌ها را بر اساس نام میزبان پالایش می‌کند. کلاینت‌هایی که ویژگی WM_CLIENT_MACHINE آن‌ها برابر با HOST باشد انتخاب می‌شوند.
کلاینت‌ها را بر اساس _NET_WM_NAME یا WM_NAME پالایش می‌کند. NAME با هر بخشی از مقدار ویژگی مطابقت داده می‌شود. برای تطبیق در ابتدای متن از پیشوند "^" استفاده کنید. برای تطبیق در انتهای متن از پسوند "$" استفاده کنید.
کلاینت‌ها را بر اساس شناسهٔ فرایند پالایش می‌کند. کلاینت‌هایی انتخاب می‌شوند که دارای شناسهٔ فرایند PID باشند (در صورتی که libXRes در نسخهٔ 1.2 باشد) یا ویژگی _NET_WM_PID آن‌ها برابر با PID باشد.
کلاینت‌ها را پالایش کرده و مواردی را که در حال حاضر قابل مشاهده نیستند نگه می‌دارد. این‌ها پنجره‌های پنهان، کمینه‌شده، لوله‌شده (rolled-up) یا در فضای‌کاری دیگر هستند.
کلاینت‌ها را پالایش کرده و فقط مواردی را که در حال حاضر قابل مشاهده هستند نگه می‌دارد. این کلاینت‌ها روی فضای‌کاری فعلی نگاشت شده‌اند.
کلاینت‌ها را پالایش کرده و تنها مواردی را نگه می‌دارد که در حال حاضر قابل مشاهده هستند و حداقل تا حدی توسط یک پنجرهٔ قابل مشاهدهٔ دیگر پوشانده شده‌اند.
کلاینت‌ها را بر اساس فیلد گرانش پنجره (gravity) در ویژگی WM_NORMAL_HINTS پالایش می‌کند. کلاینت‌هایی با گرانش برابر با GRAVITY انتخاب می‌شوند. اگر GRAVITY با علامت تعجب شروع شود، پالایش معکوس می‌گردد.
کلاینت‌ها را بر اساس GNOME window layer پالایش می‌کند که می‌تواند نام لایه یا شمارهٔ لایه باشد. بخش EXPRESSIONS در زیر را ببینید. اگر LAYER با علامت تعجب شروع شود، پالایش معکوس می‌گردد.
کلاینت‌ها را بر اساس EWMH window state پالایش می‌کند. کلاینت‌هایی که حداقل وضعیت پنجرهٔ EWMH آن‌ها STATE باشد انتخاب می‌شوند. این وضعیت به مواردی مانند MINIZED یا MAXIMIZED اشاره دارد. بخش EXPRESSIONS در زیر را ببینید. اگر STATE با علامت تعجب شروع شود، پالایش معکوس می‌گردد. علامت سؤال "?" کلاینت‌هایی با هر بیتی که در STATE تنظیم شده باشد را پالایش می‌کند.
کلاینت‌ها را بر اساس ویژگی پالایش می‌کند. کلاینت‌هایی که دارای ویژگی PROP هستند انتخاب می‌شوند. اگر مقدار اختیاری value مشخص شده باشد، تطبیق تنها در صورتی موفقیت‌آمیز است که PROP یک رشته، پنجره، عدد اصلی (cardinal) یا اتوم (atom) با مقداری برابر با value باشد. اگر PROP با علامت تعجب شروع شود، پالایش معکوس می‌گردد.
کلاینت‌ها را بر اساس WM_WINDOW_ROLE پالایش می‌کند. کلاینت‌هایی که مقدار ویژگی WM_WINDOW_ROLE آن‌ها برابر با ROLE باشد انتخاب می‌شوند. اگر ROLE با علامت تعجب شروع شود، پالایش معکوس می‌گردد.
کلاینت‌ها را بر اساس فضای‌کاری پالایش می‌کند. فضای‌کاری WORKSPACE می‌تواند نام یک فضای‌کاری، شمارهٔ فضای‌کاری با شمارش از صفر، واژهٔ "this" برای فضای‌کاری فعلی، یا واژهٔ "All" برای همهٔ فضاهای‌کاری باشد. اگر WORKSPACE با علامت تعجب شروع شود، پالایش معکوس می‌گردد.
کلاینت‌ها را بر اساس نمایشگر RandR/Xinerama محدود می‌کند. فقط روی کلاینت‌هایی عمل می‌کند که روی MONITOR نمایش داده می‌شوند؛ که در آن MONITOR می‌تواند "All" برای همهٔ نمایشگرها، "this" برای نمایشگری که پنجرهٔ فعال روی آن نمایش داده می‌شود، یا یک شمارهٔ نمایشگر با شروع از صفر باشد. خروجی دستورات "randr" یا "xinerama" در زیر را ببینید.
فقط پایانه‌ها (terminals) را نگه می‌دارد: کلاینت‌هایی که یک پوسته (shell) را منشعب کرده‌اند..SS "گزینه‌های عمومی (GENERAL OPTIONS)" گزینه‌های زیر برای تمام دستورهای IceWM یکسان هستند.
متغیر DISPLAY در سامانهٔ X11 را تعیین می‌کند. در صورت عدم تعیین، مقدار پیش‌فرض $DISPLAY خواهد بود.
یک پیام راهنمای مختصر را در stdout چاپ کرده و خارج می‌شود.
نسخهٔ برنامه را در stdout چاپ کرده و خارج می‌شود.
مجوزهای نسخه‌برداری برنامه را در stdout چاپ کرده و خارج می‌شود.
در صورتی که هیچ پنجرهٔ منطبقی پیدا نشود، خطایی صادر نمی‌کند.

دستور icesh منتظر یک یا چند آرگومان اقدام است. دو نوع اقدام وجود دارد: اقدامات پنجره و اقدامات مدیر. نوع نخست بر روی پنجره‌های انتخاب‌شده عمل می‌کند؛ نوع دوم مستقیماً با مدیر پنجرهٔ icewm تعامل برقرار می‌کند.

اقدامات زیر بر روی پنجره یا پنجره‌های انتخاب‌شده اعمال می‌شوند.

فعال‌سازی پنجره، یا همان تمرکز دادن (focus) روی آن.
ارسال درخواست بستن به کلاینتی که پنجره را ایجاد کرده است.
اجبار به بستن و خاتمهٔ فوری کلاینتی که پنجره را ایجاد کرده است.
چاپ شناسه پنجره‌ها برای پنجره‌های انتخاب‌شده.
چاپ شناسه فرآیندها برای پنجره‌های انتخاب‌شده.
نمایش جزئیات پنجره، از قبیل ابعاد و موقعیت (geometry) و نام‌ها.
فرستادن پنجره به زیر بقیهٔ پنجره‌ها.
آوردن پنجره به روی بقیهٔ پنجره‌ها.
قرار دادن پنجره در بالای پنجره‌های دیگر در ترتیب پشته.
قرار دادن پنجره در زیر پنجره‌های دیگر در ترتیب پشته.
جمع کردن پنجرهٔ مشخص‌شده (فقط نوار عنوان باز می‌ماند).
قرار دادن پنجره در حالت تمام‌صفحه.
بزرگ‌نمایی (بیشینه‌سازی) پنجره.
بزرگ‌نمایی پنجره فقط در جهت افقی.
بزرگ‌نمایی پنجره فقط در جهت عمودی.
کوچک‌نمایی (کمینه‌سازی) پنجره.
بازگردانی پنجره به حالت عادی و پاک کردن وضعیت اضطرار.
مخفی کردن پنجره.
آشکار کردن پنجره.
عدم نمایش پنجره در نوار وظیفه (taskbar).
نمایش پنجره در نوار وظیفه.
نمایش پنجره در تمام فضاهای کاری (workspaces).
نمایش پنجره فقط در یک فضای کاری.
تنظیم پرچم اضطرار برای چشمک‌زدن دکمهٔ نوار وظیفه.
تغییر اندازه پنجره به WIDTH در HEIGHT واحد پنجره. برای برنامه‌های مبتنی بر متن مانند ترمینال‌ها، یک واحد پنجره برابر با اندازهٔ یک سلول نویسه است.
تغییر اندازهٔ پنجره به WIDTH در HEIGHT پیکسل. اگر WIDTH یا HEIGHT با علامت درصد "%" پایان یابند، به درصدی از ناحیهٔ کاری میزکار اشاره دارند. برای نمونه، "sizeto 50% 100%" اندازه پنجره را به نیمی از عرض میزکار و تمام ارتفاع در دسترس بالا یا پایین نوار وظیفه تغییر می‌دهد.
تغییر اندازه پنجره به اندازهٔ WIDTH در HEIGHT پیکسل. اگر WIDTH یا HEIGHT با علامت درصد "%" پایان یابند، به درصدی از اندازهٔ کنونی پنجره اشاره دارند. برای نمونه، "sizeby 50% 200" عرض را ۵۰٪ و ارتفاع را ۲۰۰ پیکسل افزایش می‌دهد.
انتقال پنجره یا پنجره‌های انتخاب‌شده به موقعیت X Y روی صفحه. برای تعیین مقادیر X یا Y به صورت نسبی از سمت راست یا لبهٔ پایینی، یک علامت منفی اضافی پیش از مقدار قرار دهید، مانند "move -+10 --20". هنگامی که X یا Y با علامت درصد "%" پایان یابند، به درصدی از ناحیهٔ کاری میزکار اشاره دارند.
جابه‌جایی پنجره به اندازهٔ X Y پیکسل.
آغاز جابه‌جایی پنجره با کنترل موشواره.
قرار دادن پنجره در مرکز ناحیهٔ کاری میزکار.
قرار دادن پنجره چسبیده به سمت چپ ناحیهٔ کاری میزکار.
قرار دادن پنجره چسبیده به سمت راست ناحیهٔ کاری میزکار.
قرار دادن پنجره چسبیده به لبهٔ بالایی ناحیهٔ کاری میزکار.
قرار دادن پنجره چسبیده به لبهٔ پایینی ناحیهٔ کاری میزکار.
تنظیم عنوان آیکون به TITLE.
چاپ عنوان آیکون.
تنظیم عنوان پنجره به TITLE.
چاپ عنوان پنجره.
تنظیم ابعاد و موقعیت (geometry) پنجره به GEOMETRY. این هندسه باید در قالبی تعیین شود که توسط XParseGeometry(3) قابل تجزیه باشد. فاصله‌های نسبی منفی نسبت به لبهٔ پایینی یا سمت راست صفحه محاسبه می‌شوند. برای یک موقعیت واقعاً منفی از "+-" استفاده کنید.
چاپ ابعاد و موقعیت (geometry) پنجره.
تنظیم نام و کلاس منبع روی CLASS، که باید شامل یک نام منبع و یک کلاس منبع متصل‌شده با نقطه باشد. برای حفظ نام یا کلاس کنونی، از یک علامت درصد برای آن بخش استفاده کنید.
چاپ نام و کلاس منبع.
اگر STATE مشخص نشود، وضعیت پنجره EWMH نمایش داده می‌شود. اگر STATE با یک "+" آغاز شود، پرچم‌های درون STATE به وضعیت پنجره EWMH فعلی افزوده می‌شوند. اگر STATE با یک "-" آغاز شود، پرچم‌های درون STATE از وضعیت پنجره EWMH فعلی حذف می‌شوند. اگر STATE با یک "^" آغاز شود، پرچم‌های درون STATE نسبت به وضعیت پنجره EWMH فعلی معکوس می‌شوند. اگر STATE با یک "=" آغاز شود، وضعیت پنجره EWMH بر روی STATE تنظیم می‌شود. به بخش EXPRESSIONS در ادامه مراجعه کنید. فهرستی از پرچم‌های EWMH را می‌توان در خروجی دستور "icesh symbols" پیدا کرد..IP "setLayer LAYER" 4 انتقال پنجرهٔ مشخص‌شده به یک لایهٔ پنجره دیگر. برای مشاهدهٔ فهرستی از نمادهای LAYER بخش EXPRESSIONS در زیر را ببینید.
چاپ لایهٔ پنجره برای پنجرهٔ مشخص‌شده.
انتقال پنجرهٔ مشخص‌شده به یک فضای کاری دیگر. برای تغییر فضای کاری فعلی، پنجرهٔ ریشه (root) را انتخاب کنید. اگر WORKSPACE برابر با "All" باشد، پنجرهٔ مشخص‌شده در تمام فضاهای کاری نمایان می‌شود. برای فضای کاری فعلی "this"، برای فضای کاری بعدی "next" یا برای فضای کاری قبلی "prev" را مشخص کنید.
چاپ فضای کاری پنجرهٔ مشخص‌شده.
چاپ میزان شفافیت پنجره در صورت مشخص نشدن OPACITY، در غیر این صورت، تنظیم شفافیت پنجره روی مقدار OPACITY.
تنظیم گزینهٔ سینی IceWM پنجرهٔ مشخص‌شده روی TRAYOPTION. برای نمادهای TRAYOPTION، بخش IceWM tray options در زیر را ببینید.
چاپ گزینهٔ سینی IceWM پنجرهٔ مشخص‌شده.
تنظیم فیلد گرانیگاه (gravity) پنجره در ویژگی WM_NORMAL_HINTS برای پنجرهٔ مشخص‌شده روی GRAVITY. برای نمادهای GRAVITY بخش زیر را ببینید.
چاپ گرانیگاه پنجره از ویژگی WM_NORMAL_HINTS برای پنجرهٔ مشخص‌شده.
تنظیم گرانیگاه پنجره برای پنجرهٔ مشخص‌شده روی GRAVITY. برای نمادهای GRAVITY بخش زیر را ببینید.
چاپ گرانیگاه پنجره برای پنجرهٔ مشخص‌شده.
تنظیم گرانیگاه بیتی (bit gravity) پنجرهٔ مشخص‌شده روی GRAVITY. برای نمادهای GRAVITY بخش زیر را ببینید.
چاپ گرانیگاه بیتی برای پنجرهٔ مشخص‌شده.
پرس‌وجو، مقداردهی یا ویرایش ویژگی "_MOTIF_WM_HINTS" برای پنجرهٔ مشخص‌شده. بدون آرگومان، motif مقدار فعلی را نشان می‌دهد، اما تنها در صورتی که پنجره چنین ویژگی‌ای داشته باشد. این ویژگی را می‌توان با آرگومان remove حذف یا بازنشانی کرد. با funcs و decor می‌توان فیلدهای منفرد این ویژگی را فعال یا غیرفعال نمود. اگر FUNCTIONS یا DECORATIONS با علامت مثبت یا منفی آغاز شود، مقدار موجود ویرایش می‌شود؛ در غیر این صورت روی مقدار جدید تنظیم می‌گردد. توجه داشته باشید که با تنظیم "All"، سایر فیلدهای فعال، غیرفعال شده و فیلدهای پاک‌شده فعال می‌گردند.
پنهان کردن حاشیه‌های قاب و عنوان پنجره.
نمایش حاشیه‌های قاب و عنوان پنجره.
حذف ویژگی WM_NORMAL_HINTS در صورت وجود. این کار محدودیت‌های اندازهٔ قلم را هنگام تغییر اندازه، به‌ویژه در ترمینال‌ها، لغو می‌کند.
چاپ مقدار ویژگی PROPERTY، در صورت وجود.
چاپ تمام ویژگی‌ها و مقادیر مربوط به آن‌ها.
چاپ شناسهٔ قاب (frame) پنجره.
چاپ شناسهٔ پنجره و اندازه‌های حاشیهٔ قاب: چپ، راست، بالا و پایین.
چاپ مدل فوکوس ICCCM بر اساس آنچه توسط پنجرهٔ کلاینت اعلان شده است. این مقدار یکی از موارد Locally، Passive، Globally یا NoInput است.
چاپ وضعیت override redirect برای پنجره، یا در صورت وارد کردن 0 یا 1، فعال یا غیرفعال کردن وضعیت override redirect.
انتقال پنجره‌ها به‌صورت برگه به قابی که دارای برچسب "frame" با نام label است. در صورت نیاز، چنین قابی ایجاد خواهد شد.
انتقال هر پنجره به قاب مستقل خودش، در صورتی که در حال حاضر در یک برگه قرار داشته باشد.
بارگذاری یک آیکون از فایل، که باید در قالب تصویری PAM، با ابعاد حداکثر ۲۵۶، عمق ۴ و از نوع RGB_ALPHA باشد.
ذخیرهٔ یک آیکون در یک فایل جدید با قالب تصویری PAM. ارقام به‌صورت افزایشی تغییر می‌کنند تا یک نام فایل یکتا برای هر پنجره ایجاد شود. پنجره باید دارای ویژگی _NET_WM_ICON باشد.
نمایش زمان آخرین تعامل کاربر بر حسب میلی‌ثانیه.
ارسال یک رویداد فشردن و رها کردن دکمه در موقعیت (window-x, window-y). موقعیت‌های منفی نسبت به گوشهٔ پایین سمت راست محاسبه می‌شوند. اشاره‌گر موشواره پیش از ارسال رویدادها به آن موقعیت منتقل می‌شود. شمارهٔ دکمه باید بین ۱ تا ۵ (شامل خود آن‌ها) باشد.
این گزینه نمایشگرهای مورد استفاده برای حالت تمام‌صفحه را تنظیم می‌کند. مقادیر top، bottom، left و right نمایه‌های دستور icesh xinerama هستند.
زیر نظر گرفتن پنجره‌های انتخاب‌شده و گزارش هرگونه تغییر در آن‌ها. این مورد شامل فوکوس، پدیداری، موقعیت، اندازه و تمام ویژگی‌های پنجره می‌شود. برای پایش تمام پیام‌های درخواست پروتکل که برنامه‌های کلاینت ممکن است به icewm ارسال کنند، پنجرهٔ ریشه را نیز پایش کنید.
مرتب‌سازی فهرست پنجره‌ها از بالاترین تا پایین‌ترین پنجره در چیدمان لایه‌ای.
معکوس کردن ترتیب فهرست پنجره‌ها.
خروجی دادن فهرست به‌صورت یک منو برای QuickSwitch در icewm. این عمل برای استفاده در یک دستورالعمل switchkey در فایل "keys" در نظر گرفته شده است.
برای هر پنجره در میان موارد انتخاب‌شده، یک خط بر اساس format چاپ می‌کند. در اینجا توالی‌های گریز رایج با بک‌اسلش و همچنین گزینه‌های قالب‌بندی درصدی زیر شناخته می‌شوند:
%
نویسهٔ درصد واقعی.
ارتفاع پنجره.
عرض پنجره.
موقعیت x پنجره.
موقعیت y پنجره.
هندسهٔ (geometry) پنجره.
شناسهٔ کنترلی (handle) پنجره.
نام یک آیکون.
شناسهٔ فرایند (process-ID) برنامهٔ پنجره.
ویژگی WM_CLASS پنجره.
ویژگی WM_CLIENT_MACHINE پنجره.
عنوان پنجره.
فضای کاری فعلی پنجره.

هر گزینهٔ قالب‌بندی درصدی می‌تواند با یک علامت منفی برای تراز چپ آغاز شود و دارای یک پهنای فیلد عددی باشد. عملیات‌های زیر مدیر پنجرهٔ IceWM را کنترل می‌کنند و بنابراین نیازی به گزینهٔ select یا filter پنجره ندارند:

فهرست کردن نام‌های همهٔ فضاهای کاری.
نمایش شماره و نام فضای کاری فعلی.
تغییر فضای کاری فعلی به WORKSPACE. مقدار "next" را برای فضای کاری بعدی یا "prev" را برای فضای کاری قبلی مشخص کنید.
اگر COUNT داده نشود، تعداد فضاهای کاری را چاپ می‌کند؛ در غیر این صورت، تعداد فضاهای کاری را به COUNT تغییر می‌دهد.
چاپ نام فضای کاری INDEX، که در آن INDEX شمارهٔ فضای کاری است که از صفر شروع می‌شود.
چاپ نام همهٔ فضاهای کاری، در هر خط خروجی یک مورد.
تغییر نام فضای کاری INDEX به NAME، که در آن INDEX شمارهٔ فضای کاری با شروع از صفر است.
تغییر نام‌های فضاهای کاری به فهرست NAMEها.
ایجاد یک فضای کاری جدید با نام NAME.
اگر SHOWING برابر با 1 باشد، حالت "showing the desktop" (نمایش میزکار) را فعال می‌کند. اگر SHOWING برابر با 0 باشد، حالت "showing the desktop" را خاموش می‌کند. اگر SHOWING مشخص نشود، وضعیت فعلی را چاپ می‌کند.
چاپ ابعاد ناحیهٔ کاری (work area) برای فضای کاری فعلی. این همان میزکار است، منهای فضای اشغال‌شده توسط داک و پنجره‌های پانل.
نمایش خلاصه‌ای از پیکربندی RandR.
نمایش خلاصه‌ای از پیکربندی Xinerama.
چاپ اطلاعاتی دربارهٔ مدیر پنجرهٔ فعلی، مانند نام، نسخه، کلاس، locale، دستور، نام میزبان و pid.
فهرست کردن تمام پنجره‌های کلاینت مدیریت‌شده، عنوان‌ها و ابعاد/موقعیت هندسی آن‌ها.
فهرست کردن تمام پنجره‌های کلاینت نگاشت‌شده (mapped) برای میزکار فعلی، عنوان‌ها و موقعیت/ابعاد آن‌ها.
فهرست کردن تمام پنجره‌های سطح‌بالا (toplevel)، عنوان‌ها و ابعاد آن‌ها.
فهرست کردن برنامه‌هایی که توسط سینی سیستم (system tray) نرم‌افزار IceWM مدیریت می‌شوند.
فهرست کردن پنجره‌های برنامه‌ای که با استفاده از پروتکل XEMBED تعبیه شده‌اند. این روش دیگری برای شناسایی برنامه‌های سینی سیستم است.
باعث می‌شود icewm دستور "LogoutCommand" را اجرا کند.
باعث می‌شود icewm دستور "RebootCommand" را اجرا کند.
باعث می‌شود icewm دستور "ShutdownCommand" را اجرا کند.
باعث می‌شود icewm عملیات خروج/راه‌اندازی مجدد/خاموش کردن را لغو کند.
باعث می‌شود icewm پنجرهٔ درباره (about) را نمایش دهد.
باعث می‌شود icewm پنجرهٔ فهرست پنجره‌ها را نمایش دهد.
باعث می‌شود icewm خودش را مجدداً راه‌اندازی کند.
باعث می‌شود icewm دستور "SuspendCommand" را اجرا کند.
باعث می‌شود icewm دستور "HibernateCommand" را اجرا کند.
باعث می‌شود icewm فایل "winoptions" را دوباره بارگذاری کند. این کار فقط روی پنجره‌های جدید اثر می‌گذارد.
باعث می‌شود icewm فایل "keys" را دوباره بارگذاری کند.
باعث می‌شود icewm فایل "toolbar" را دوباره بارگذاری کند.
باعث می‌شود icewm تصویر پس‌زمینهٔ میزکار را تازه‌سازی کند.
پایش مشخصهٔ ICEWM_GUI_EVENT و گزارش دادن تمام تغییرات. کلیدهای "Ctrl+C" را برای قطع این فرایند و ادامه با دستور بعدی فشار دهید.
توقف اجرا به مدت time یا 0.1 ثانیه.
این عملیات برای استفاده به همراه گزینهٔ -class در نظر گرفته شده است. تنها در صورتی که هیچ پنجره‌ای با WM_CLASS مطابقت نداشته باشد، program [arguments...] اجرا می‌شود.
حلقه زدن به ابتدای دستور و تکرار آن. آرگومان اختیاری count تعداد دفعات تکرار را محدود می‌کند.
انتخاب یک پنجره با کلیک دکمهٔ ماوس.
نمایش زمان کنونی کارساز X11 برحسب میلی‌ثانیه.
همگام‌سازی با مدیر پنجرهٔ IceWM؛ به این معنی که منتظر می‌ماند تا icewm تمام عملیات‌های قبلی را پردازش کند.
فهرست کردن تمام نمادهای دارای نام..SS "شرط‌ها (CONDITIONALS)" دستور Icesh از عبارت‌های "if-then-else" پشتیبانی می‌کند. نحو کامل آن به شرح زیر است:
if selection
then
    actions
elif selection
then
    actions
else
    actions
end

در اینجا "selection" دنباله‌ای از گزینه‌های انتخاب و فیلترسازی است که در صورت غیرخالی بودن، به true ارزیابی می‌شود؛ بدین معنی که اگر یک یا چند پنجره شرط را برآورده کنند. اگر خالی باشد، بند "actions" مربوط به آن نادیده گرفته شده و بند بعدی "elif" یا "else" بررسی یا اجرا می‌شود. هر یک از این بندها اختیاری است.

هر زمان که شرط انتخابی به false ارزیابی شود، انتخاب پنجره‌ای که پیش از بند "if" وجود داشته است بلافاصله بازیابی می‌شود. این اتفاق پس از یک بند "end" نیز رخ می‌دهد.

برخی از کنش‌های پنجره نیازمند یک یا دو آرگومان EXPRESSION هستند.

این گزاره بیان می‌کند که یک عبارت یا یک SYMBOL است، یا عبارتی که توسط یک عملگر با یک SYMBOL ترکیب شده است. به عبارت دیگر، یک عبارت دنباله‌ای از نمادهاست که با استفاده از عملگرها ترکیب شده‌اند، که در آن یک عملگر می‌تواند یک علامت به‌علاوه، یک خط عمودی یا یک علامت تفریق باشد.

هر SYMBOL بسته به زمینه‌ای که در آن به کار می‌رود، می‌تواند یک عدد یا یک نماد نام‌گذاری‌شده از یکی از دامنه‌های کاربردی زیر باشد:

نمادهای نام‌گذاری‌شدهٔ دامنهٔ Window layer (محدوده عددی: 0-15):
Desktop                (0)
Below                  (2)
Normal                 (4)
OnTop                  (6)
Dock                   (8)
AboveDock             (10)
Menu                  (12)
Fullscreen            (14)
AboveAll              (15)

این نمادها با آرگومان LAYER برای کنش "setLayer" استفاده می‌شوند.

نمادهای نام‌گذاری‌شدهٔ دامنهٔ IceWM tray option (محدوده عددی: 0-2):
Ignore                 (0)
Minimized              (1)
Exclusive              (2)

این نمادها با آرگومان TRAYOPTION برای کنش "setTrayOption" استفاده می‌شوند.

نمادهای نام‌گذاری‌شده برای جاذبه (gravity) پنجره و بیت (محدوده عددی: 0-10):
ForgetGravity         (0)
NorthWestGravity      (1)
NorthGravity          (2)
NorthEastGravity      (3)
WestGravity           (4)
CenterGravity         (5)
EastGravity           (6)
SouthWestGravity      (7)
SouthGravity          (8)
SouthEastGravity      (9)
StaticGravity         (10)
All                  (1)
Resize               (2)
Move                 (4)
Minimize             (8)
Maximize             (16)
Close                (32)
All                  (1)
Border               (2)
Resize               (4)
Title                (8)
Menu                 (16)
Minimize             (32)
Maximize             (64)
نمادهای نام‌گذاری‌شدهٔ دامنهٔ EWMH state (محدوده عددی: 0-8191):
    ABOVE                 (1)
    BELOW                 (2)
    DEMANDS_ATTENTION     (4)
    FOCUSED               (8)
    FULLSCREEN            (16)
    HIDDEN                (32)
    MAXIMIZED_HORZ        (64)
    MAXIMIZED_VERT        (128)
    MODAL                 (256)
    SHADED                (512)
    SKIP_PAGER            (1024)
    SKIP_TASKBAR          (2048)
    STICKY                (4096)
فهرست کردن نام تمام فضاهای کاری:
icesh listWorkspaces

نمونه خروجی:

workspace #0: `main'
workspace #1: `web'
workspace #2: `doc'
workspace #3: `dev'

بستن ترمینال work و فعال‌سازی ترمینال fun.

icesh -c work.XTerm close -a -c fun.XTerm activate

چاپ میزان شفافیت برای تمام xtermها.

icesh -c XTerm opacity

تغییر میزان شفافیت برای تمام xtermها.

icesh -c XTerm opacity 84

انتقال تمام پنجره‌های فضای کاری "Top" به فضای کاری جاری.

icesh -W "Top" setWorkspace "this"

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

icesh -N HIDDEN restore -a -W "this" minimize -a -c Firefox activate

تغییر اندازه پنجره دارای فوکوس برای اشغال نیمه راست ناحیه میزکار.

icesh -f sizeto 49% 100% top right raise

تغییر وضعیت حاشیه قاب پنجره دارای فوکوس.

if icesh -f motif | grep -q 'decor:$'; then \
    icesh -f motif decor All; else icesh -f motif decor ""; fi

در ادامه راه‌حل دیگری با استفاده از شرط‌ها آورده شده است.

icesh -f if -P _NET_FRAME_EXTENTS=0 then bordered else borderless

در اینجا شرطی برای تغییر وضعیت پدیداری roxterm دارای مقدار WM_WINDOW_ROLE برابر با "special" یا اجرای آن با runonce آورده شده است.

icesh if -c roxterm.Roxterm -R special then \
    if -v then hide \
    elif -u then setWorkspace this activate end \
    else runonce roxterm --role=special

جمع‌آوری تمام ترمینال‌های urxvt از فضای کاری چهارم درون یک قاب واحد در فضای کاری جاری.

icesh -W 3 -c urxvt tabto myfunnyname

استفاده شرطی از ساختار حلقه برای انتظار تا زمان پدیدار شدن یک پنجره خاص.

icesh -t if -n Tooltip then list else delay 0.05 loop end
نمایشگر پیش‌فرض.

0
آخرین اقدام با موفقیت به پایان رسید.
1
آخرین اقدام ناموفق بود، یا هیچ پنجره‌ای با شرط مطابقت نداشت.
2
یک عبارت شرطی دارای نحو نامعتبر است.
3
امکان باز کردن نمایشگر وجود نداشت.
4
کارساز X هنگام پردازش یک درخواست، خطایی گزارش می‌دهد.

icesh تا حد زیادی با مشخصات EWMH و ICCCM سازگار است. برخی از دستورها، مانند اقدامات مدیریتی، مختص IceWM هستند.

icewm(1), wmctrl(1), xdotool(1), xprop(1), xwininfo(1), XParseGeometry(3).

لطفاً باگ‌ها را در https://github.com/ice-wm/icewm/issues گزارش کنید.

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

برای دیدن متن کامل اعلان حق نشر و مجوزهای تکثیر، گزینهٔ --copying را ببینید.

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

2026-08-06 icewm 4.1.0