WMCTRL(1) General Commands Manual WMCTRL(1)

wmctrl - تعامل با یک مدیر پنجرهٔ X سازگار با EWMH/NetWM.

wmctrl [ options | actions ]...

دستور wmctrl می‌تواند برای تعامل با یک مدیر پنجرهٔ سامانهٔ پنجرهٔ X که با مشخصات EWMH/NetWM سازگار است، استفاده شود. wmctrl می‌تواند اطلاعات مربوط به مدیر پنجره را پرس‌وجو کند و درخواست اجرای برخی کنش‌های مدیریت پنجره را صادر نماید.

wmctrl به طور کامل توسط آرگومان‌های خط فرمانش کنترل می‌شود. آرگومان‌های خط فرمان برای مشخص کردن کنشی که باید اجرا شود (همراه با گزینه‌هایی که رفتار را تغییر می‌دهند) و هر آرگومانی که ممکن است برای انجام کنش‌ها نیاز باشد، استفاده می‌شوند.

بخش‌های زیر کنش‌ها و گزینه‌های پشتیبانی‌شده را تعریف می‌کنند. آرگومان‌های کنش‌ها و گزینه‌ها در توضیحات زیر به شکل <ARGNAME> نوشته شده‌اند. نحوِ دقیق نوشتن آرگومان‌ها در بخشی اختصاصی برای همین منظور آمده است.

آرگومان‌های خط فرمان زیر را می‌توان برای فراخوانی یک کنش wmctrl مشخص کرد. با هر بار فراخوانی دستور wmctrl تنها یک کنش می‌تواند اجرا شود.

جابه‌جایی به میزکار دربردارندهٔ پنجرهٔ <WIN>، بالا آوردن پنجره، و دادن فوکوس به آن.
افزودن، حذف، یا تغییر وضعیت (toggle) هم‌زمان حداکثر دو مشخصهٔ پنجره. پنجره‌ای که اصلاح می‌شود باید با یک کنش -r شناسایی شده باشد. تغییر مشخصه با استفاده از درخواست EWMH _NET_WM_STATE حاصل می‌شود. نام‌های مشخصهٔ پشتیبانی‌شده (برای prop1 و prop2) عبارتند از: modal، sticky، maximized_vert، maximized_horz، shaded، skip_taskbar، skip_pager، hidden، fullscreen، above و below. پشتیبانی از دو مشخصه برای ممکن ساختن عملیاتی مانند بیشینه‌سازی پنجره به حالت تمام‌صفحه است. توجه داشته باشید که این کنش دقیقاً از دو آرگومان خط فرمان شل تشکیل شده است.
بستن پنجرهٔ <WIN> به صورت اصولی و آرام (gracefully).
فهرست کردن تمام میزکارهای تحت مدیریتِ مدیر پنجره. برای هر میزکار یک خط در خروجی چاپ می‌شود که به ستون‌های جداشده با فاصله تقسیم شده است. ستون نخست شامل شمارهٔ صحیح میزکار است. ستون دوم برای میزکار جاری شامل نویسهٔ '*' و در غیر این صورت شامل نویسهٔ '-' است. دو ستون بعدی شامل رشتهٔ ثابت DG: و سپس ابعاد هندسی میزکار به صورت '<width>x<height>' (به‌عنوان مثال '1280x1024') است. دو ستون پس از آن شامل رشتهٔ ثابت VP: و سپس موقعیت دیدگاه (viewport) در قالب '<y>,<y>' (به‌عنوان مثال '0,0') هستند. سه ستون پس از این شامل رشتهٔ ثابت WA: و سپس دو ستون با ابعاد فضای کاری به صورت 'X,Y و WxH' (به‌عنوان مثال '0,0 1280x998') می‌باشند. بقیهٔ خط شامل نام میزکار است (که ممکن است شامل چندین فاصله باشد).
تغییر اندازه و جابه‌جایی پنجره‌ای که با یک کنش -r مشخص شده است، با توجه به آرگومان <MVARG>.
تغییر هندسه (اندازهٔ مشترک) تمام میزکارها به‌طوری که دارای پهنای w پیکسل و ارتفاع h پیکسل باشند. w و h باید اعداد صحیح مثبت باشند. مدیر پنجره ممکن است این درخواست را نادیده بگیرد.
چاپ متن راهنما دربارهٔ نحوهٔ استفاده از برنامه.
تنظیم نام شمایل (عنوان کوتاه) پنجرهٔ مشخص‌شده با یک کنش -r به name.
روشن یا خاموش کردن حالت «نمایش میزکار» مدیر پنجره (در صورتی که مدیر پنجره این ویژگی را پیاده‌سازی کرده باشد).
فهرست کردن پنجره‌های تحت مدیریتِ مدیر پنجره. برای هر پنجره یک خط خروجی چاپ می‌شود که با ستون‌های جداشده با فاصله تقسیم شده است. ستون نخست همواره شامل شناسهٔ پنجره به صورت عدد صحیح در مبنای شانزده (هگزادسیمال) است، و ستون دوم همواره شمارهٔ میزکار را در بر دارد (از -1 برای شناسایی یک پنجرهٔ چسبان یا sticky استفاده می‌شود). اگر گزینهٔ -p مشخص شده باشد، ستون بعدی شامل PID پنجره به صورت یک عدد صحیح ده‌دهی (دسیمال) خواهد بود. اگر گزینهٔ -G مشخص شده باشد، چهار ستون عدد صحیح در ادامه می‌آیند: x-offset،‏ y-offset،‏ width و height. ستون بعدی همواره شامل نام ماشین کلاینت است. باقی‌ماندهٔ خط شامل عنوان پنجره خواهد بود (که ممکن است فاصله‌های متعددی در عنوان داشته باشد).
نمایش اطلاعات دربارهٔ مدیر پنجره و محیط.
تغییر تعداد میزکارها به N (یک عدد صحیح غیرمنفی).
تنظیم نام (عنوان بلند) پنجرهٔ مشخص‌شده با یک کنش -r به name.
تغییر دیدگاه (viewport) برای میزکار جاری. مقادیر x و y فاصله‌های عددی (offsets) هستند که موقعیت گوشهٔ بالا-چپ دیدگاه را مشخص می‌کنند. مدیر پنجره ممکن است این درخواست را نادیده بگیرد.
مشخص کردن یک پنجرهٔ هدف برای یک کنش.
انتقال پنجرهٔ <WIN> به میزکار جاری، بالا آوردن پنجره، و دادن فوکوس به آن.
جابه‌جایی به میزکار <DESK>..TP -t <DESK> انتقال پنجره‌ای که با عملیات -r مشخص شده است به میزکار <DESK>.
تنظیم هم‌زمان نام (عنوان بلند) و نام آیکون (عنوان کوتاه) پنجرهٔ مشخص‌شده با عملیات -r به name. این عملیات همانند استفادهٔ هم‌زمان از عملیات‌های -N و -I است (که در غیر این صورت غیرممکن خواهد بود، زیرا wmctrl در هر نوبت تنها می‌تواند یک عملیات را اجرا کند).

گزینه‌های زیر عملیات‌های پیش‌فرض را تغییر می‌دهند یا نحوهٔ تفسیر آرگومان‌ها را دگرگون می‌سازند.

آرگومان‌های نام پنجره (<WIN>) به عنوان عنوان‌های دقیق و حساس به حروف بزرگ و کوچک در نظر گرفته می‌شوند. بدون این گزینه، عنوان‌های پنجره به صورت زیررشته‌هایی بدون حساسیت به حروف بزرگ و کوچک از عنوان کامل پنجره در نظر گرفته می‌شوند.
گنجاندن اطلاعات ابعاد و موقعیت (geometry) در خروجی عملیات -l.
تفسیر آرگومان‌های پنجره (<WIN>) به عنوان یک مقدار عددی به جای یک نام رشته‌ای برای پنجره. اگر مقدار عددی با پیشوند «0x» آغاز شود، به عنوان یک عدد شانزده‌شانزدهی (hexadecimal) فرض می‌شود.
گنجاندن PIDها در فهرست پنجره‌های چاپ‌شده توسط عملیات -l. در صورتی که برنامهٔ مالک پنجره از آن پشتیبانی نکند، مقدار «0» را برای PID چاپ می‌کند.
نادیده‌گرفتن تشخیص خودکار و اجبار به استفاده از حالت UTF-8.
ارائهٔ خروجی پرجزئیات (verbose). این گزینه هنگام اشکال‌زدایی خود wmctrl بسیار سودمند است.
استفاده از راهکارهای موقت (workarounds) مشخص‌شده در آرگومان.
گنجاندن WM_CLASS در فهرست پنجره‌ها یا تفسیر <WIN> به عنوان نام WM_CLASS.

<DESK>
یک میزکار همواره با یک عدد صحیح که نمایانگر شمارهٔ میزکار است مشخص می‌شود. شماره‌گذاری میزکارها از 0 آغاز می‌شود.
<MVARG>
یک آرگومان جابه‌جایی و تغییر اندازه دارای قالب 'g,x,y,w,h' است. هر پنج مؤلفه اعدادی صحیح هستند. اولین مقدار، g، گرانش (gravity) پنجره است که 0 رایج‌ترین مقدار آن است (مقدار پیش‌فرض برای پنجره). لطفاً برای مشاهدهٔ سایر مقادیر به مشخصات EWMH مراجعه کنید.
چهار مقدار باقی‌مانده یک مشخصهٔ ابعاد و موقعیت استاندارد هستند: x,y موقعیت گوشهٔ بالا و سمت چپ پنجره، و w,h عرض و ارتفاع پنجره است؛ با این استثنا که مقدار -1 در هر موقعیتی به این معنا تفسیر می‌شود که مقدار فعلی ابعاد و موقعیت نباید تغییر کند.
<WIN>
این آرگومان پنجره‌ای را مشخص می‌کند که هدف یک عملیات است. به طور پیش‌فرض با این آرگومان مانند یک رشته رفتار می‌شود و پنجره‌ها بررسی می‌شوند تا پنجره‌ای یافت شود که عنوان آن حاوی رشتهٔ مشخص‌شده به عنوان یک زیررشته باشد. تطبیق زیررشته به صورت غیرحساس به حروف بزرگ و کوچک انجام می‌شود. گزینهٔ -F می‌تواند برای اجبار به تطبیق دقیق و حساس به حروف بزرگ و کوچک عنوان استفاده شود. گزینهٔ -i می‌تواند برای تفسیر پنجرهٔ هدف به عنوان یک شناسهٔ عددی پنجره به جای رشته به کار رود.
با رشتهٔ نام پنجرهٔ :SELECT: به طور ویژه‌ای رفتار می‌شود. اگر این نام پنجره استفاده شود، آن‌گاه wmctrl منتظر می‌ماند تا کاربر با کلیک روی پنجرهٔ هدف، آن را انتخاب کند.
رشتهٔ نام پنجرهٔ :ACTIVE: می‌تواند برای دستور دادن به wmctrl جهت استفاده از پنجرهٔ فعال فعلی برای عملیات استفاده شود.
<WORKAROUND>
در حال حاضر تنها یک راهکار موقت (workaround) پیاده‌سازی شده است. این مورد با استفاده از رشتهٔ DESKTOP_TITLES_INVALID_UTF8 مشخص می‌شود و باعث چاپ صحیح عنوان‌های غیر ASCII میزکار هنگام استفاده از Window Maker می‌گردد..SH "مثال‌ها (EXAMPLES)"

دریافت فهرستی از پنجره‌های مدیریت‌شده توسط مدیر پنجره

wmctrl -l

دریافت فهرستی از پنجره‌ها همراه با اطلاعات PID و هندسه (geometry).

wmctrl -p -G -l

رفتن به پنجره‌ای که نام آن شامل 'emacs' است

wmctrl -a emacs

جمع‌کردن (shade) پنجره‌ای با عنوانی که شامل کلمهٔ 'mozilla' است

wmctrl -r mozilla -b add,shaded

بستن پنجره‌ای با عنوانی کاملاً مشخص

wmctrl -F -c 'Debian bug tracking system - Mozilla'

تغییر وضعیت «چسبندگی» (stickiness) پنجره‌ای با یک شناسه پنجرهٔ مشخص

wmctrl -i -r 0x0120002 -b add,sticky

تغییر عنوان پنجره به یک رشتهٔ مشخص، با انتخاب پنجره از طریق کلیک روی آن

wmctrl -r :SELECT: -T "Selected Window"

zenity(1) یک برنامهٔ کادر محاوره‌ای (dialog) مفید برای ساخت اسکریپت‌ها با wmctrl است.

برخی از نمونه‌های مدیران پنجرهٔ سازگار با EWMH/NetWM شامل نسخه‌های اخیر Enlightenment، Icewm، Kwin، Sawfish و Xfce هستند.

برنامهٔ wmctrl توسط Tomas Styblo <tripie@cpan.org> نوشته شده است.

این صفحهٔ راهنما توسط Shyamal Prasad <shyamal@member.fsf.org> برای پروژهٔ Debian نوشته شده است (اما ممکن است توسط دیگران نیز استفاده شود).

December 12, 2004