| TWM(1) | General Commands Manual | TWM(1) |
نام (NAME)
twm - مدیر پنجره تب برای سامانه پنجره X
خلاصه دستور (SYNOPSIS)
twm [ گزینهها ]
توضیحات (DESCRIPTION)
برنامه twm یک مدیر پنجره برای سامانه پنجره X است. این برنامه نوارهای عنوان، پنجرههای شکلدار، چندین شیوهٔ مدیریت آیکون، توابع ماکروی تعریفشده توسط کاربر، فوکوس صفحهکلید با کلیک (click-to-type) و هدایتشده با اشارهگر، و مقیدسازیهای سفارشی کلیدها و کلیدهای اشارهگر را ارائه میدهد.
این برنامه معمولاً توسط مدیر نشست یا اسکریپت راهانداز کاربر اجرا میشود. هنگام استفاده از طریق xdm(1) یا xinit(1) بدون یک مدیر نشست، twm اغلب در پیشزمینه به عنوان آخرین کلاینت اجرا میگردد. در صورت اجرا به این روش، خروج از twm باعث پایان یافتن نشست (یعنی خروج از حساب کاربری) میشود.
به طور پیشفرض، پنجرههای برنامهها با یک “قاب” شامل یک نوار عنوان در بالا و یک حاشیه ویژه در اطراف پنجره احاطه میشوند. نوار عنوان شامل نام پنجره، مستطیلی که هنگام دریافت ورودی صفحهکلید توسط پنجره روشن میشود، و جعبههای عملکردی معروف به “دکمههای عنوان” در لبههای چپ و راست نوار عنوان است.
فشردن Button1 اشارهگر (معمولاً چپترین کلید، مگر اینکه با xmodmap تغییر یافته باشد) روی یک دکمه عنوان، تابع مرتبط با آن دکمه را فراخوانی میکند. در رابط پیشفرض، پنجرهها با کلیک کردن (فشردن و بلافاصله رها کردن) روی دکمه عنوان سمت چپ (که شبیه یک نقطه است) کوچک و تبدیل به آیکون میشوند. برعکس، پنجرهها با کلیک کردن روی آیکون مربوطه یا مدخل آن در مدیر آیکون، از حالت آیکون خارج میشوند (توضیحات مربوط به متغیر ShowIconManager و تابع f.showiconmgr را ببینید).
اندازه پنجرهها با فشردن دکمه عنوان سمت راست (که شبیه مجموعهای از مربعهای تو در تو است)، کشیدن اشارهگر روی لبهای که قرار است جابهجا شود، و رها کردن اشارهگر هنگام رسیدن طرح کلی پنجره به اندازه دلخواه، تغییر مییابد. به طور مشابه، پنجرهها با فشردن در ناحیه عنوان یا ناحیه برجسته، کشیدن طرح کلی پنجره به مکان جدید، و سپس رها کردن هنگامی که طرح کلی در موقعیت دلخواه قرار گرفت، جابهجا میشوند. صرفاً کلیک کردن در ناحیه عنوان یا ناحیه برجسته، پنجره را بدون جابهجا کردن به جلو میآورد.
هنگام ایجاد پنجرههای جدید، twm هرگونه اطلاعات اندازه و مکان درخواستشده توسط کاربر را (معمولاً از طریق آرگومان خط فرمان -geometry یا منابع برنامههای مجزا) اعمال میکند. در غیر این صورت، طرح کلی اندازه پیشفرض پنجره، نوار عنوان آن، و خطوطی که پنجره را به یک شبکه ۳x۳ تقسیم کرده و اشارهگر را دنبال میکنند، نمایش داده میشوند. کلیک کردن Button1 اشارهگر، پنجره را در موقعیت فعلی قرار داده و اندازه پیشفرض را به آن اختصاص میدهد. فشردن Button2 اشارهگر (معمولاً کلید میانی اشارهگر) و کشیدن طرح کلی، پنجره را در موقعیت فعلی قرار میدهد اما امکان تغییر اندازه اضلاع را همانطور که در بالا توضیح داده شد فراهم میکند. کلیک کردن Button3 اشارهگر (معمولاً کلید راست اشارهگر)، پنجره را در موقعیت فعلی قرار میدهد اما تلاش میکند طول آن را به اندازهای افزایش دهد که به پایین صفحه نمایش برسد..SH "گزینهها (OPTIONS)" Twm چندین گزینه خط فرمان را میپذیرد که میتوان آنها را بهصورت خلاصه نیز نوشت، برای نمونه “-d” بهجای “-display” (اما میان حروف بزرگ و کوچک تفاوت وجود دارد):
- -clientId ID
- هر بار که twm اجرا میشود، برای ایجاد یک نشست جدید SmcOpenConnection را فراخوانی میکند. با ارائه شناسه کلاینت (client-identifier) نشست قبلی، میتوان به آن دستور داد تا از نشست پیشین مجدداً راهاندازی شود.
- -display dpy
- کارساز X مورد استفاده را مشخص میکند.
- -file filename
- نام فایل راهاندازی مورد استفاده را تعیین میکند. بهطور پیشفرض، twm در دایرکتوری خانگی کاربر به دنبال فایلهایی با نام .twmrc.num (که در آن num شماره صفحه نمایش است) یا .twmrc میگردد.
- -quiet
- به twm اعلام میکند که در هنگام دریافت رویدادهای غیرمنتظره X Error، پیامهای خطا را چاپ نکند.
- علاوه بر رویدادهای X Error، برنامه twm هشدارهای خود را نیز گزارش میکند. گزینه -quiet مانع از نمایش آنها میشود.
- -restore filename
- هنگامی که نشست twm متوقف میشود، تلاش میکند تا پیکربندی فعلی پنجرهها را ذخیره کند. از این گزینه برای این استفاده کنید که به twm بگویید هنگام شروع (یا راهاندازی مجدد) یک نشست، این اطلاعات را از این فایل بخواند.
- -single
- به twm اعلام میکند که تنها صفحه نمایش پیشفرض (همانطور که توسط -display یا متغیر محیطی DISPLAY مشخص شده است) باید مدیریت شود. بهطور پیشفرض، twm تلاش میکند تمام صفحههای نمایشگر (display) را مدیریت کند.
- -verbose
- به twm اعلام میکند که هر زمان یک رویداد غیرمنتظره X Error دریافت کرد، پیامهای خطا را چاپ کند. این مورد هنگام اشکالزدایی برنامهها مفید است اما در استفاده معمول میتواند مزاحمت ایجاد کند.
- گزینههای -verbose و -quiet سطح گزارش پیامها را افزایش و کاهش داده و اثر یکدیگر را خنثی میکنند.
- -V
- به twm اعلام میکند که نسخه خود را در خروجی استاندارد چاپ کرده و خارج شود.
شخصیسازی (CUSTOMIZATION)
بخش اعظمی از ظاهر و رفتار twm را میتوان با قرار دادن یک فایل راهاندازی در یکی از مکانهای زیر کنترل کرد (که هنگام شروع به کار twm، به ترتیب برای هر صفحه نمایشی که مدیریت میشود مورد جستجو قرار میگیرد):
- $HOME/.twmrc.screennumber
- مقدار screennumber یک عدد صحیح مثبت کوچک (مانند 0، 1 و غیره) است که شماره صفحه نمایش را نشان میدهد (برای مثال، آخرین عدد در متغیر محیطی DISPLAY بهصورت host:displaynum.screennum) که برای ارتباط با آن صفحه از نمایشگر استفاده میشود. این مورد برای نمایشگرهایی با چندین صفحه نمایش از انواع بصری متفاوت در نظر گرفته شده است.
- $HOME/.twmrc
- این نام معمول برای فایل راهاندازی اختصاصی هر کاربر است.
- /usr/share/X11/twm/system.twmrc
- اگر هیچیک از فایلهای قبلی پیدا نشوند، twm برای یافتن پیکربندی پیشفرض به این فایل مراجعه میکند. این فایل معمولاً توسط مدیر سیستم تنظیم میشود تا منوهای مناسب یا کلیدهای میانبر آشنایی را برای کاربران تازهکار فراهم کند.
اگر هیچ فایل راهاندازی پیدا نشود، twm از پیشفرضهای توکار که در بالا شرح داده شد استفاده خواهد کرد. تنها منبع (resource) مورد استفاده توسط twm متغیر bitmapFilePath است که شامل فهرستی از دایرکتوریهای جدا شده با دونقطه (:) برای جستجوی فایلهای بیتمپ میباشد (برای اطلاعات بیشتر، به راهنمای Athena Widgets و xrdb(1) مراجعه کنید).
فایلهای راهاندازی twm از نظر منطقی به سه بخش از مشخصات تقسیم میشوند: Variables، Bindings، Menus. بخش Variables حتماً باید در ابتدا بیاید و برای توصیف قلمها، رنگها، مکاننماها، پهنای حاشیهها، جایگذاری آیکون و پنجره، برجستهسازی، بالا آمدن خودکار (autoraising)، چیدمان نوار عنوان، انتقال مکاننما (warping) و استفاده از مدیریت آیکون به کار میرود. بخش Bindings معمولاً در رتبه دوم قرار میگیرد و برای مشخص کردن توابعی است که باید هنگام فشرده شدن کلیدهای صفحهکلید و دکمههای اشارهگر در پنجرهها، آیکونها، نوار عنوانها و قابها فراخوانی شوند. بخش Menus هرگونه منوی تعریفشده توسط کاربر را مشخص میکند (شامل توابعی که باید فراخوانی شوند یا دستوراتی که باید اجرا گردند).
نام متغیرها و کلیدواژهها به حروف بزرگ و کوچک حساس نیستند. رشتهها باید داخل نویسههای نقلقول دوگانه قرار گیرند (مانند "blue") و به حروف بزرگ و کوچک حساس هستند. علامت هش (#) خارج از رشتهها باعث میشود که ادامه خطِ حاوی آن نویسه، بهعنوان توضیح (کامنت) در نظر گرفته شود..SH "متغیرها (VARIABLES)" بسیاری از جنبههای رابط کاربری twm توسط متغیرهایی کنترل میشوند که میتوان آنها را در فایل راهاندازی کاربر تنظیم کرد. برخی از گزینهها صرفاً با حضور یک کلیدواژهٔ خاص فعال یا غیرفعال میشوند. گزینههای دیگر نیازمند کلیدواژهها، اعداد، رشتهها، یا فهرستی از تمام اینها هستند.
فهرستها درون آکولاد قرار میگیرند و معمولاً با فاصله یا خط جدید از هم جدا میشوند. برای نمونه:
AutoRaise { "emacs" "XTerm" "Xmh" }
یا
AutoRaise
{
"emacs"
"XTerm"
"Xmh"
}
هنگامی که متغیری حاوی فهرستی از رشتههای معرف پنجرهها جستجو میشود (برای نمونه، جهت تعیین فعال بودن یا نبودن بالا آمدن خودکار همانطور که در بالا نشان داده شد)، رشته باید تطابقی دقیق و حساس به حروف کوچک و بزرگ با نام پنجره (مشخصشده توسط ویژگی پنجرهٔ WM_NAME)، نام منبع یا نام کلاس (هر دو مشخصشده توسط ویژگی پنجرهٔ WM_CLASS) داشته باشد. مثال قبلی، بالا آمدن خودکار را برای پنجرههایی با نام “emacs” و همچنین هر پنجرهٔ xterm (چرا که از کلاس “XTerm” هستند) یا پنجرههای xmh (که از کلاس “Xmh” هستند) فعال میکند.
آرگومانهای رشتهای که به عنوان نام فایل تفسیر میشوند (به Pixmaps، Cursors، و IconDirectory در زیر مراجعه کنید)، در صورتی که نویسهٔ اول آنها مدک (~) باشد، دایرکتوری کاربر (مشخصشده توسط متغیر محیطی HOME) را به ابتدای مسیر اضافه میکنند. اگر در عوض، نویسهٔ اول دونقطه (:) باشد، فرض میشود که نام به یکی از بیتمپهای داخلی اشاره دارد که برای ایجاد نمادهای پیشفرض نوار عنوان استفاده میشوند: :xlogo یا :delete (هر دو به نشانوارهٔ X اشاره دارند)، :dot یا :iconify (هر دو به نقطه اشاره دارند)، :resize (مربعهای تودرتو که توسط دکمهٔ تغییر اندازه استفاده میشوند)، :menu (یک صفحه با خطوط)، و :question (علامت سوالی که برای فایلهای بیتمپ ناموجود استفاده میشود).
متغیرهای زیر را میتوان در بالای فایل راهاندازی twm مشخص کرد. فهرست رشتههای پیشوند نام پنجره با win-list نشان داده شده است. آرگومانهای اختیاری در قلابها نمایش داده شدهاند:
- AutoRaise { win-list }
- این متغیر فهرستی از پنجرهها را مشخص میکند که هرگاه نشانگر وارد پنجره شد، باید به طور خودکار به بالا بیایند. این عمل را میتوان با استفاده از تابع f.autoraise به صورت تعاملی روی پنجرههای تکی فعال یا غیرفعال کرد.
- AutoRelativeResize
- این متغیر نشان میدهد که کشیدن برای تعیین اندازهٔ پنجره (خواه هنگام اندازهگیری اولیهٔ پنجره با دکمهٔ ۲ نشانگر یا هنگام تغییر اندازهٔ آن) نباید تا زمان عبور نشانگر از لبههای پنجره منتظر بماند. در عوض، حرکت دادن نشانگر به طور خودکار باعث میشود نزدیکترین لبه یا لبهها به همان میزان حرکت کنند. این قابلیت امکان تغییر اندازهٔ پنجرههایی را فراهم میکند که از لبهٔ صفحه نمایش بیرون زدهاند. اگر نشانگر در مرکز پنجره باشد، یا اگر تغییر اندازه با فشردن دکمهٔ عنوان آغاز شود، twm همچنان برای عبور نشانگر از لبهٔ پنجره منتظر میماند (جهت جلوگیری از اقدامات تصادفی). این گزینه به ویژه برای افرادی مفید است که روش فشردن-کشیدن-رها کردن را برای اندازهگیری و تغییر اندازهٔ پنجرهها میپسندند.
- BorderColor string [{ wincolorlist }]
- این متغیر رنگ پیشفرض حاشیهای را مشخص میکند که باید دور تمام پنجرههای غیرآیکونشده قرار گیرد، و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل استفاده است. آرگومان اختیاری wincolorlist فهرستی از جفتهای نام پنجره و رنگ را برای تعیین رنگهای حاشیهٔ خاص برای انواع مختلف پنجرهها مشخص میکند. برای نمونه:
BorderColor "gray50"
{
"XTerm" "red"
"xmh" "green"
}
- پیشفرض "black" است.
- BorderTileBackground string [{ wincolorlist }]
- این متغیر رنگ پسزمینهٔ پیشفرض را در الگوی خاکستری مورد استفاده در حاشیههای برجستهنشده (تنها در صورتی که NoHighlight تنظیم نشده باشد) مشخص میکند، و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل استفاده است. آرگومان اختیاری wincolorlist امکان تعیین رنگ را به ازای هر پنجره فراهم میکند. پیشفرض "white" است.
- BorderTileForeground string [{ wincolorlist }]
- این متغیر رنگ پیشزمینهٔ پیشفرض را در الگوی خاکستری مورد استفاده در حاشیههای برجستهنشده (تنها در صورتی که NoHighlight تنظیم نشده باشد) مشخص میکند، و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل تعریف است. آرگومان اختیاری wincolorlist امکان تعیین رنگها را به ازای هر پنجره فراهم میسازد. پیشفرض "black" است.
- BorderWidth pixels
- این متغیر پهنای حاشیهٔ دور تمام قابهای پنجرههای کلاینت را بر حسب پیکسل مشخص میکند، البته در صورتی که ClientBorderWidth مشخص نشده باشد. این مقدار همچنین برای تنظیم اندازهٔ حاشیهٔ پنجرههای ایجادشده توسط twm (مانند مدیر آیکون) استفاده میشود. پیشفرض 2 است.
- ButtonIndent pixels
- این متغیر مقدار فاصلهای را مشخص میکند که دکمههای نوار عنوان باید از تمام جهات تورفتگی داشته باشند. مقادیر مثبت باعث میشوند دکمهها کوچکتر از متن پنجره و ناحیهٔ برجستهسازی شوند تا بهتر دیده شوند. تنظیم این متغیر و متغیر TitleButtonBorderWidth روی 0 باعث میشود دکمههای نوار عنوان تا حد ممکن بلند و عریض باشند. پیشفرض 1 است.
- ClientBorderWidth
- این متغیر نشان میدهد که پهنای حاشیهٔ قاب پنجره باید به جای مقدار BorderWidth، روی پهنای حاشیهٔ اولیهٔ خود پنجره تنظیم شود.
- Color { colors-list }
- این متغیر فهرستی از انتسابهای رنگ را مشخص میکند که در صورت توانایی نمایشگر پیشفرض برای نمایش حالتهای فراتر از سیاه و سفید ساده، اعمال میشوند. فهرست colors-list از متغیرهای رنگی زیر و مقادیر آنها تشکیل شده است: DefaultBackground، DefaultForeground، MenuBackground، MenuForeground، MenuTitleBackground، MenuTitleForeground، MenuShadowColor، MenuBorderColor، PointerForeground، و PointerBackground. به متغیرهای رنگی زیر نیز میتوان فهرستی از جفتهای نام پنجره و رنگ اختصاص داد تا امکان تعیین رنگ به ازای هر پنجره فراهم شود (برای جزئیات به BorderColor مراجعه کنید): BorderColor، IconManagerHighlight، BorderTitleBackground، BorderTitleForeground، TitleBackground، TitleForeground، IconBackground، IconForeground، IconBorderColor، IconManagerBackground، و IconManagerForeground. برای نمونه:
Color
{
MenuBackground "gray50"
MenuForeground "blue"
BorderColor "red" { "XTerm" "yellow" }
TitleForeground "yellow"
TitleBackground "blue"
}
- تمام این متغیرهای رنگی را میتوان برای متغیر Monochrome نیز تعیین کرد، که امکان استفاده از همان فایل پیکربندی را در هر دو نمایشگر رنگی و تکرنگ فراهم میسازد.
- ConstrainedMoveTime milliseconds
- این متغیر بازهٔ زمانی میان کلیکهای دکمه را برای آغاز یک عملیات جابهجایی مقید مشخص میکند. دوبار کلیک کردن درون این مدت زمان هنگام فراخوانی f.move باعث میشود پنجره فقط در جهت افقی یا عمودی جابهجا شود. تنظیم این مقدار روی 0 جابهجاییهای مقید را غیرفعال میکند. پیشفرض 400 میلیثانیه است..IP "Cursors { cursor-list }" 8 این متغیر گلیفهایی را مشخص میکند که twm باید برای مکاننماهای مختلف اشارهگر استفاده کند. هر مکاننما میتواند از قلم cursor یا از دو فایل بیتمپ تعریف شود. شکلهای قلم cursor را میتوان مستقیماً به صورت زیر مشخص کرد:
cursorname "string"
- که در آن cursorname یکی از نامهای مکاننمای فهرستشده در زیر است و string نام یک گلیف موجود در فایل /usr/include/X11/cursorfont.h (بدون پیشوند “XC_”) است. اگر قرار باشد مکاننما از فایلهای بیتمپ تعریف شود، به جای آن از نحو زیر استفاده میشود:
cursorname "image" "mask"
- رشتههای image و mask نام فایلهای حاوی تصویر گلیف و ماسک را در قالب bitmap(1) مشخص میکنند. فایلهای بیتمپ به همان روش فایلهای بیتمپ آیکون مکانیابی میشوند. مثال زیر تعاریف پیشفرض مکاننما را نشان میدهد:
Cursors
{
Frame "top_left_arrow"
Title "top_left_arrow"
Icon "top_left_arrow"
IconMgr "top_left_arrow"
Move "fleur"
Resize "fleur"
Menu "sb_left_arrow"
Button "hand2"
Wait "watch"
Select "dot"
Destroy "pirate"
}
- DecorateTransients
- این متغیر نشان میدهد که پنجرههای گذرا (پنجرههایی که حاوی ویژگی WM_TRANSIENT_FOR هستند) باید نوار عنوان داشته باشند. به طور پیشفرض، پنجرههای گذرا بازوالدگری (reparent) نمیشوند.
- DefaultBackground string
- این متغیر رنگ پسزمینه مورد استفاده برای پنجرههای اندازه و اطلاعات را مشخص میکند. پیشفرض "white" است.
- DefaultForeground string
- این متغیر رنگ پیشزمینه مورد استفاده برای پنجرههای اندازه و اطلاعات را مشخص میکند. پیشفرض "black" است.
- DontIconifyByUnmapping { win-list }
- این متغیر فهرستی از پنجرهها را مشخص میکند که نباید صرفاً با حذف نگاشت پنجره به آیکون تبدیل شوند (همانطور که در صورت تنظیم IconifyByUnmapping رخ میدهد). این گزینه مکرراً برای واداشتن برخی پنجرهها به اینکه به عنوان آیکون در نظر گرفته شوند استفاده میشود، در حالی که پنجرههای دیگر توسط مدیر آیکون مدیریت میشوند.
- DontMoveOff
- این متغیر نشان میدهد که پنجرهها نباید اجازه خروج از صفحه نمایش را داشته باشند. این مورد را میتوان با تابع f.forcemove لغو کرد.
- DontSqueezeTitle [{ win-list }]
- این متغیر نشان میدهد که نوار عنوانها نباید به حداقل اندازه خود فشرده شوند، همانطور که در بخش SqueezeTitle در زیر توضیح داده شده است. اگر فهرست اختیاری پنجرهها ارائه شود، تنها از فشرده شدن همان پنجرهها جلوگیری خواهد شد.
- ForceIcons
- این متغیر نشان میدهد که پیکسمپهای آیکون مشخصشده در متغیر Icons باید بر هر پیکسمپ ارائهشده توسط کلاینت اولویت داشته باشند.
- FramePadding pixels
- این متغیر فاصله بین تزئینات نوار عنوان (دکمه و متن) و کادر پنجره را مشخص میکند. پیشفرض ۲ پیکسل است.
- Grayscale { colors }
- این متغیر فهرستی از تخصیصهای رنگ را مشخص میکند که در صورت داشتن حالت بصری پیشفرض GrayScale توسط صفحه نمایش، باید اعمال شوند. توضیحات Colors را ببینید.
- IconBackground string [{ win-list }]
- این متغیر رنگ پسزمینه آیکونها را مشخص میکند و فقط میتواند در داخل یک فهرست Color، Grayscale یا Monochrome مشخص شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگها را به ازای هر پنجره تعیین کرد. برای توضیحات کامل دربارهٔ win-list به متغیر BorderColor مراجعه کنید. پیشفرض "white" است.
- IconBorderColor string [{ win-list }]
- این متغیر رنگ حاشیه مورد استفاده برای پنجرههای آیکون را مشخص میکند و فقط میتواند درون یک فهرست Color، Grayscale یا Monochrome مشخص شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگها را به ازای هر پنجره تعیین کرد. برای توضیحات کامل دربارهٔ win-list به متغیر BorderColor مراجعه کنید. پیشفرض "black" است.
- IconBorderWidth pixels
- این متغیر ضخامت حاشیه پیرامون پنجرههای آیکون را بر حسب پیکسل مشخص میکند. پیشفرض ۲ است.
- IconDirectory string
- این متغیر دایرکتوریای را مشخص میکند که اگر یک فایل بیتمپ در هیچیک از دایرکتوریهای منبع bitmapFilePath پیدا نشود، باید جستجو شود.
- IconFont string
- این متغیر قلم مورد استفاده برای نمایش نامهای آیکون در داخل آیکونها را مشخص میکند. پیشفرض "variable" است.
- IconForeground string [{ win-list }]
- این متغیر رنگ پیشزمینه مورد استفاده هنگام نمایش آیکونها را مشخص میکند و فقط میتواند درون یک فهرست Color، Grayscale یا Monochrome مشخص شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگها را به ازای هر پنجره تعیین کرد. برای توضیحات کامل دربارهٔ win-list به متغیر BorderColor مراجعه کنید. پیشفرض "black" است.
- IconifyByUnmapping [{ win-list }]
- این متغیر نشان میدهد که پنجرهها باید با حذف نگاشت (unmapping) بدون تلاش برای نگاشت هیچ آیکونی، آیکونسازی شوند. این فرض را مطرح میکند که کاربر پنجره را مجدداً از طریق مدیر آیکون، تابع f.warpto یا منوی TwmWindows نگاشت خواهد کرد. در صورت ارائه win-list اختیاری، فقط آن پنجرهها صرفاً با حذف نگاشت آیکونسازی میشوند. پنجرههایی که هر دو گزینه این متغیر و IconManagerDontShow را تنظیم کرده باشند، در صورتی که هیچ پیوندی به منوی TwmWindows در فایل راهاندازی کاربر تنظیم نشده باشد، ممکن است غیرقابل دسترس شوند.
- IconManagerBackground string [{ win-list }]
- این متغیر رنگ پسزمینه مورد استفاده برای مدخلهای مدیر آیکون را مشخص میکند و فقط میتواند درون یک فهرست Color، Grayscale یا Monochrome مشخص شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگها را به ازای هر پنجره تعیین کرد. برای توضیحات کامل دربارهٔ win-list به متغیر BorderColor مراجعه کنید. پیشفرض "white" است.
- IconManagerDontShow [{ win-list }]
- این متغیر نشان میدهد که مدیر آیکون نباید هیچ پنجرهای را نمایش دهد. اگر win-list اختیاری ارائه شود، تنها آن پنجرهها نمایش داده نخواهند شد. این متغیر برای جلوگیری از اشغال فضا در مدیر آیکون توسط پنجرههایی که به ندرت آیکون میشوند (مانند xclock یا xload) استفاده میشود.
- IconManagerFont string
- این متغیر قلم مورد استفاده هنگام نمایش مدخلهای مدیر آیکون را مشخص میکند. پیشفرض "variable" است.
- IconManagerForeground string [{ win-list }]
- این متغیر رنگ پیشزمینه مورد استفاده هنگام نمایش مدخلهای مدیر آیکون را مشخص میکند و فقط میتواند درون یک فهرست Color، Grayscale یا Monochrome مشخص شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگها را به ازای هر پنجره تعیین کرد. برای توضیحات کامل دربارهٔ win-list به متغیر BorderColor مراجعه کنید. پیشفرض "black" است.
- IconManagerGeometry string [ columns ]
- این متغیر هندسه پنجره مدیر آیکون را مشخص میکند. آرگومان string یک مشخصه استاندارد هندسه است که اندازه کامل اولیه مدیر آیکون را نشان میدهد. سپس پنجره مدیر آیکون به columns بخش تقسیم شده و متناسب با تعداد مدخلهای موجود در مدیر آیکون مقیاسبندی میشود. مدخلهای اضافی برای تشکیل سطرهای بیشتر شکسته میشوند. تعداد پیشفرض ستونها ۱ است.
- IconManagerHighlight string [{ win-list }]
- این متغیر رنگ حاشیه مورد استفاده هنگام برجستهسازی مدخل مدیر آیکون که در حال حاضر فوکوس را دارد مشخص میکند و فقط میتواند درون یک فهرست Color، Grayscale یا Monochrome مشخص شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگها را به ازای هر پنجره تعیین کرد. برای توضیحات کامل دربارهٔ win-list به متغیر BorderColor مراجعه کنید. پیشفرض "black" است..IP "IconManagers { iconmgr-list }" 8 این متغیر فهرستی از مدیران آیکون را برای ایجاد مشخص میکند. هر مورد در iconmgr-list ساختار زیر را دارد:
"winname" ["iconname"] "geometry" columns
- که در آن winname نام پنجرههایی است که باید در این مدیر آیکون قرار گیرند، iconname نام آیکون پنجرهٔ آن مدیر آیکون است، geometry یک مشخصهٔ هندسهٔ (geometry) استاندارد است، و columns تعداد ستونها در این مدیر آیکون به صورتی است که در IconManagerGeometry شرح داده شده است. برای نمونه:
IconManagers
{
"XTerm" "=300x5+800+5" 5
"myhost" "=400x5+100+5" 2
}
- کلاینتهایی که نام یا کلاس آنها “XTerm” باشد، مدخلی در مدیر آیکون “XTerm” خواهند داشت. کلاینتهایی که نام آنها “myhost” باشد در مدیر آیکون “myhost” قرار خواهند گرفت.
- IconManagerShow { win-list }
- این متغیر فهرستی از پنجرههایی را مشخص میکند که باید در مدیر آیکون ظاهر شوند. هنگامی که همراه با متغیر IconManagerDontShow استفاده شود، تنها پنجرههای موجود در این فهرست در مدیر آیکون نشان داده خواهند شد.
- IconRegion geomstring vgrav hgrav gridwidth gridheight
- این متغیر ناحیهای از پنجرهٔ ریشه (root window) را مشخص میکند که در صورت عدم تعیین مکان مشخصی برای آیکون توسط کلاینت، آیکونها در آن قرار میگیرند. مقدار geomstring رشتهای درون گیومه است که شامل یک مشخصهٔ هندسهٔ استاندارد میباشد. اگر بیش از یک خط IconRegion تعیین شده باشد، پس از پر شدن اولین ناحیه، آیکونها در نواحی بعدی قرار میگیرند. آرگومان vgrav باید North یا South باشد و برای کنترل اینکه آیا آیکونها ابتدا از بالا پر شوند یا از پایین ناحیه، به کار میرود. به طور مشابه، آرگومان hgrav باید East یا West باشد و برای کنترل اینکه آیکونها از چپ پر شوند یا از راست استفاده میشود. آیکونها در این ناحیه در یک شبکه با خانههایی به پهنای gridwidth پیکسل و بلندی gridheight پیکسل چیده میشوند.
- Icons { win-list }
- این متغیر فهرستی از نام پنجرهها و نام فایلهای بیتمپ (bitmap) را مشخص میکند که باید بهعنوان آیکون آنها استفاده شود. برای نمونه:
Icons
{
"XTerm" "xterm.icon"
"xfd" "xfd_icon"
}
- پنجرههایی که با “XTerm” مطابقت داشته باشند و با خروج از نگاشت (unmapping) آیکون نشوند، تلاش خواهند کرد از بیتمپ آیکون در فایل “xterm.icon” استفاده کنند. اگر ForceIcons مشخص شده باشد، این بیتمپ حتی در صورتی که کلاینت نقشهٔ پیکسلی (pixmap) آیکون اختصاصی خود را درخواست کرده باشد، استفاده خواهد شد.
- InterpolateMenuColors
- این متغیر مشخص میکند که رنگهای ورودیهای منو باید میان رنگهای اختصاصیافته برای هر ورودی درونیابی (interpolate) شوند. در نمونهٔ زیر:
Menu "mymenu"
{
"Title" ("black":"red") f.title
"entry1" f.nop
"entry2" f.nop
"entry3" ("white":"green") f.nop
"entry4" f.nop
"entry5" ("red":"white") f.nop
}
- رنگهای پیشزمینه برای “entry1” و “entry2” میان سیاه و سفید، و رنگهای پسزمینه میان قرمز و سبز درونیابی خواهند شد. به طور مشابه، پیشزمینه برای “entry4” در میانهٔ سفید و قرمز، و پسزمینه در میانهٔ سبز و سفید خواهد بود.
- MakeTitle { win-list }
- این متغیر فهرستی از پنجرهها را مشخص میکند که باید نوار عنوان (titlebar) روی آنها قرار گیرد و برای درخواست عنوان برای پنجرههای خاص در زمانی که NoTitle تنظیم شده است، به کار میرود.
- MaxWindowSize string
- این متغیر یک هندسه (geometry) را مشخص میکند که پهنا و بلندی آن بیشینهٔ اندازه را برای یک پنجره مشخص تعیین میکند. این گزینه معمولاً برای محدود کردن اندازهٔ پنجرهها به اندازهٔ صفحه نمایش به کار میرود. پهنای پیشفرض ۳۲۷۶۷ منهای پهنای صفحه نمایش است. بلندی پیشفرض ۳۲۷۶۷ منهای بلندی صفحه نمایش است.
- MenuBackground string
- این متغیر رنگ پسزمینهٔ مورد استفاده برای منوها را مشخص میکند، و تنها درون یک فهرست Color یا Monochrome قابل تعیین است. پیشفرض "white" است.
- MenuBorderColor string
- این متغیر رنگ کادر منو را مشخص میکند و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل تعیین است. پیشفرض "black" است.
- MenuBorderWidth pixels
- این متغیر پهنای کادر دور پنجرههای منو را بر حسب پیکسل مشخص میکند. پیشفرض ۲ است.
- MenuFont string
- این متغیر قلم مورد استفاده هنگام نمایش منوها را مشخص میکند. پیشفرض "variable" است.
- MenuForeground string
- این متغیر رنگ پیشزمینهٔ مورد استفاده برای منوها را مشخص میکند، و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل تعیین است. پیشفرض "black" است.
- MenuShadowColor string
- این متغیر رنگ سایهٔ پشت منوهای بازشو (pull-down) را مشخص میکند و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل تعیین است. پیشفرض "black" است.
- MenuTitleBackground string
- این متغیر رنگ پسزمینه را برای مدخلهای f.title در منوها مشخص میکند، و تنها درون یک فهرست Color، Grayscale یا Monochrome قابل تعیین است. پیشفرض "white" است.
- MenuTitleForeground string
- این متغیر رنگ پیشزمینه را برای مدخلهای f.title در منوها مشخص میکند و تنها درون یک فهرست Color یا Monochrome قابل تعیین است. پیشفرض "black" است.
- Monochrome { colors }
- این متغیر فهرستی از تخصیصهای رنگ را مشخص میکند که باید در صورت داشتن عمق رنگ ۱ در صفحه نمایش اعمال شوند. توضیحات Colors را ببینید.
- MoveDelta pixels
- این متغیر تعداد پیکسلهایی را مشخص میکند که نشانگر پیش از شروع به کار تابع f.move باید جابهجا شود. همچنین به تابع f.deltastop مراجعه کنید. پیشفرض صفر پیکسل است.
- NoBackingStore
- این متغیر مشخص میکند که منوهای twm برای به حداقل رساندن بازترسیم منوها نباید درخواست پشتیبان حافظه (backing store) کنند. این گزینه معمولاً با کارگزارهایی استفاده میشود که بازترسیم آنها سریعتر از مدیریت backing store است.
- NoCaseSensitive
- این متغیر نشان میدهد که هنگام مرتبسازی نام آیکونها در مدیر آیکون، باید بزرگی و کوچکی حروف نادیده گرفته شود. این گزینه معمولاً برای برنامههایی به کار میرود که نخستین حرف از نام آیکون خود را بزرگ مینویسند.
- NoDefaults
- این متغیر نشان میدهد که twm نباید دکمههای نوار عنوان و اتصالات (bindings) پیشفرض را ایجاد کند. این گزینه تنها زمانی باید استفاده شود که فایل راهاندازی شامل مجموعهای کاملاً تازه از اتصالات و تعاریف باشد.
- NoGrabServer
- این متغیر مشخص میکند که twm نباید هنگام باز کردن منوها و جابهجایی پنجرههای کدر (opaque)، کارگزار را تسخیر (grab) کند.
- NoHighlight [{ win-list }]
- این متغیر مشخص میکند که کادرها نباید برای رهگیری مکان نشانگر برجسته (highlight) شوند. اگر win-list اختیاری تعیین شود، برجستهسازی تنها برای آن پنجرهها غیرفعال خواهد شد. هنگامی که کادر برجسته است، با رنگ کنونی BorderColor رسم خواهد شد. زمانی که کادر برجسته نباشد، با یک الگوی خاکستری با استفاده از رنگهای کنونی BorderTileForeground و BorderTileBackground نقطهچین/هاشور خواهد خورد..IP "NoIconManagers" 8 این متغیر مشخص میکند که هیچ مدیر آیکونی نباید ایجاد شود.
- NoMenuShadows
- این متغیر مشخص میکند که برای منوها نباید سایه در پشت آنها رسم شود. این گزینه معمولاً در کارسازهای کُندتر استفاده میشود، زیرا با کاستن اندکی از خوانایی منو، سرعت ترسیم منوها را افزایش میدهد.
- NoRaiseOnDeiconify
- این متغیر مشخص میکند پنجرههایی که از حالت آیکون خارج (deiconified) میشوند نباید به لایهٔ بالا (جلوی سایر پنجرهها) آورده شوند.
- NoRaiseOnMove
- این متغیر مشخص میکند که پنجرهها نباید هنگام جابهجایی به لایهٔ بالا آورده شوند. این گزینه معمولاً برای این استفاده میشود که پنجرهها بتوانند از زیر یکدیگر بلغزند و عبور کنند.
- NoRaiseOnResize
- این متغیر مشخص میکند که پنجرهها نباید هنگام تغییر اندازه به لایهٔ بالا آورده شوند. این گزینه معمولاً برای این استفاده میشود که پنجرهها بتوانند در زیر سایر پنجرهها تغییر اندازه داده شوند.
- NoRaiseOnWarp
- این متغیر مشخص میکند هنگامی که اشارهگر با تابع f.warpto به داخل پنجرهها هدایت (warp) میشود، نباید آن پنجرهها به لایهٔ بالا آورده شوند. اگر این گزینه تنظیم شده باشد، پرش به یک پنجرهٔ پوشاندهشده (occluded) ممکن است منجر به قرار گرفتن اشارهگر در پنجرهٔ پوشاننده به جای پنجرهٔ مورد نظر شود (که باعث رفتارهای غیرمنتظره با f.warpring میگردد).
- NoSaveUnders
- این متغیر مشخص میکند که منوها نباید قابلیت save-unders را برای به حداقل رساندن بازترسیم پنجره پس از انتخاب منو درخواست کنند. این گزینه معمولاً برای نمایشگرهایی استفاده میشود که سرعت بازترسیم آنها بیشتر از سرعت مدیریت save-unders است.
- NoStackMode [{ win-list }]
- این متغیر مشخص میکند که درخواستهای پنجرههای کلاینت برای تغییر ترتیب پشتهسازی (stacking order) باید نادیده گرفته شوند. اگر win-list اختیاری داده شود، تنها درخواستهای مربوط به آن پنجرهها نادیده گرفته خواهند شد. این گزینه معمولاً برای جلوگیری از پرش مکرر برنامهها به بالاترین سطح پشتهٔ پنجرهها استفاده میشود.
- NoTitle [{ win-list }]
- این متغیر مشخص میکند که پنجرهها نباید نوار عنوان داشته باشند. اگر win-list اختیاری مشخص شود، فقط آن پنجرهها نوار عنوان نخواهند داشت. میتوان از MakeTitle به همراه این گزینه استفاده کرد تا قرار دادن نوار عنوان روی پنجرههای مشخص اجباری شود.
- NoTitleFocus
- این متغیر مشخص میکند که twm با ورود اشارهگر به هر پنجره، تمرکز ورودی (focus) صفحهکلید را روی آن تنظیم نکند. در حالت عادی، twm تمرکز را طوری تنظیم میکند که رویدادهای کلید و تمرکز از نوار عنوان و مدیرهای آیکون به برنامه تحویل داده شوند. اگر اشارهگر سریع جابهجا شود و twm در پاسخگویی کُند باشد، ممکن است ورودی به جای پنجرهٔ جدید به پنجرهٔ قدیمی هدایت شود. این گزینه معمولاً برای جلوگیری از این “تأخیر ورودی” (input lag) و برای دور زدن باگهای برنامههای قدیمیتر که با رویدادهای تمرکز مشکل دارند به کار میرود.
- NoTitleHighlight [{ win-list }]
- این متغیر مشخص میکند که ناحیهٔ برجستهٔ (highlight) نوار عنوان، که برای نشان دادن پنجرهای که در حال حاضر تمرکز ورودی را دارد به کار میرود، نمایش داده نشود. اگر win-list اختیاری داده شود، تنها آن پنجرهها ناحیهٔ برجسته را نخواهند داشت. این گزینه و گزینهٔ SqueezeTitle میتوانند برای کاهش چشمگیر فضای صفحهنمایش مورد نیاز برای نوارهای عنوان تنظیم شوند.
- OpaqueMove
- این متغیر مشخص میکند که تابع f.move باید خود پنجره را به صورت مات جابهجا کند، نه اینکه فقط یک کادر خطچین (outline) جابهجا شود، تا کاربر بتواند بلافاصله ظاهر پنجره را در موقعیت جدید مشاهده کند. این گزینه معمولاً در نمایشگرهای سریع استفاده میشود (بهویژه اگر NoGrabServer تنظیم شده باشد).
- Pixmaps { pixmaps }
- این متغیر فهرستی از نگاشتهای پیکسلی (pixmaps) را مشخص میکند که ظاهر تصاویر گوناگون را تعریف میکنند. هر مدخل یک کلیدواژه است که نگاشت پیکسلی مورد نظر برای تنظیم را مشخص میکند، و پس از آن رشتهای میآید که نام فایل بیتمپ (bitmap) را ارائه میدهد. نگاشتهای پیکسلی زیر را میتوان مشخص کرد:
Pixmaps
{
TitleHighlight "gray1"
}
- حالت پیشفرض برای TitleHighlight استفاده از یک الگوی ترام یکنواخت (stipple pattern) است.
- Priority priority
- این متغیر اولویت twm را تنظیم میکند. priority باید یک عدد علامتدار و بدون علامت نقلقول باشد (مانند 999). این متغیر تنها زمانی تأثیر دارد که کارساز از افزونهٔ SYNC پشتیبانی کند.
- RandomPlacement
- این متغیر مشخص میکند پنجرههایی که هندسه (ابعاد و موقعیت) مشخصی ندارند، باید در مکانی شبهتصادفی قرار گیرند، به جای اینکه کاربر مجبور باشد کادر پنجره را با کشیدن ترسیم کند.
- ResizeFont string
- این متغیر قلم مورد استفاده در پنجرهٔ ابعاد را هنگام تغییر اندازهٔ پنجرهها مشخص میکند. مقدار پیشفرض "fixed" است.
- RestartPreviousState
- این متغیر مشخص میکند که twm باید تلاش کند از مشخصهٔ WM_STATE روی پنجرههای کلاینت استفاده کند تا تشخیص دهد کدام پنجرهها باید به آیکون تبدیل شده و کدام باید نمایان باقی بمانند. این گزینه معمولاً برای بازتولید وضعیتی استفاده میشود که صفحهنمایش پیش از خاموش شدن مدیر پنجرهٔ قبلی در آن قرار داشته است.
- SaveColor { colors-list }
- این متغیر فهرستی از تخصیصهای رنگ را برای ذخیره به عنوان مقادیر پیکسلی در مشخصهٔ پنجرهٔ ریشه با نام _MIT_PRIORITY_COLORS مشخص میکند. کلاینتها میتوانند هنگام نصب جدول رنگ (colormap) اختصاصی خود، این مقادیر را حفظ کنند. توجه داشته باشید که استفاده از این سازوکار روشی است برای اینکه برنامهها از مشکل «تکنیکالر» (technicolor) جلوگیری کنند؛ مشکلی که در آن اشیاء کاربردی صفحه نظیر حاشیههای پنجره و نوارهای عنوان، هنگام نصب رنگهای سفارشی برنامه توسط مدیر پنجره ناپدید میشوند. به عنوان مثال:
SaveColor
{
BorderColor
TitleBackground
TitleForeground
"red"
"green"
"blue"
}
- این کار، ۳ مقدار پیکسلی برای حاشیهها و نوارهای عنوان و همچنین سه رشتهٔ رنگی را که همگی از جدول رنگ پیشفرض گرفته شدهاند، روی پنجرهٔ ریشه قرار میدهد.
- ShowIconManager
- این متغیر مشخص میکند که پنجرهٔ مدیر آیکون باید هنگام راهاندازی twm نمایش داده شود. این پنجره را همواره میتوان با استفاده از تابع f.showiconmgr فراخوانی کرد و نمایش داد.
- SortIconManager
- این متغیر مشخص میکند که مدخلها در مدیر آیکون باید به ترتیب الفبایی مرتب شوند، به جای اینکه پنجرههای جدید صرفاً به انتهای آن افزوده گردند.
- SqueezeTitle [{ squeeze-list }]
- این متغیر مشخص میکند که twm باید تلاش کند از افزونهٔ SHAPE استفاده کند تا نوارهای عنوان تنها به اندازهای که فضا نیاز دارند از صفحه اشغال کنند، به جای اینکه در سراسر بالای پنجره امتداد یابند. میتوان از squeeze-list اختیاری برای کنترل موقعیت نوار عنوان فشردهشده در امتداد بالای پنجره استفاده کرد. این لیست شامل مدخلهایی به شکل زیر است:
"name" justification num denom
- که در آن name نام پنجره است، justification یکی از مقادیر left، center یا right میباشد، و num و denom اعدادی هستند که نسبتی را برای مشخص کردن موقعیت نسبی همترازی نوار عنوان تعیین میکنند. این نسبت در صورتی که صورت کسر مثبت باشد از چپ به راست، و در صورتی که منفی باشد از راست به چپ اندازهگیری میشود. مخرج 0 مشخص میکند که صورت کسر باید برحسب پیکسل اندازه گرفته شود. برای راحتی، نسبت 0/0 برای center معادل 1/2 و برای right معادل -1/1 است. به عنوان مثال:
SqueezeTitle
{
"XTerm" left 0 0
"xterm1" left 1 3
"xterm2" left 2 3
"oclock" center 0 0
"emacs" right 0 0
}
- فهرست DontSqueezeTitle میتواند برای غیرفعال کردن فشردهسازی در عناوین خاص استفاده شود..IP "StartIconified [{ win-list }]" 8 این متغیر مشخص میکند که پنجرههای کلاینت در ابتدا باید به صورت آیکون باقی بمانند تا زمانی که کاربر صراحتاً آنها را از حالت آیکون خارج کند. اگر win-list اختیاری مشخص شده باشد، تنها آن پنجرهها به صورت آیکون راهاندازی خواهند شد. این ویژگی برای برنامههایی که از گزینه خط فرمان یا منبع -iconic پشتیبانی نمیکنند، مفید است.
- TitleBackground string [{ win-list }]
- این متغیر رنگ پسزمینه مورد استفاده در نوار عنوان پنجرهها را مشخص میکند و تنها میتواند درون یک فهرست Color، Grayscale یا Monochrome تعیین شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگهای مجزایی را برای هر پنجره مشخص کرد. مقدار پیشفرض "white" است.
- TitleButtonBorderWidth pixels
- این متغیر پهنای حاشیه اطراف دکمههای نوار عنوان را بر حسب پیکسل مشخص میکند. این مقدار معمولاً روی 0 تنظیم میشود تا دکمههای نوار عنوان بیشترین فضای ممکن را اشغال کنند و حاشیهای نداشته باشند. مقدار پیشفرض 1 است.
- TitleFont string
- این متغیر فونت مورد استفاده برای نمایش نام پنجرهها در نوار عنوان را مشخص میکند. مقدار پیشفرض "variable" است.
- TitleForeground string [{ win-list }]
- این متغیر رنگ پیشزمینه مورد استفاده در نوار عنوان را مشخص میکند و تنها میتواند درون یک فهرست Color، Grayscale یا Monochrome تعیین شود. آرگومان اختیاری win-list فهرستی از نامهای پنجره و رنگها است تا بتوان رنگهای مجزایی را برای هر پنجره مشخص کرد. مقدار پیشفرض "black" است.
- TitlePadding pixels
- این متغیر فاصله میان دکمههای گوناگون، متن، و نواحی برجسته در نوار عنوان را مشخص میکند. مقدار پیشفرض 8 پیکسل است.
- UnknownIcon string
- این متغیر نام فایل یک تصویر بیتمپ (bitmap) را مشخص میکند که به عنوان آیکون پیشفرض استفاده خواهد شد. این تصویر به عنوان آیکون تمام کلاینتهایی که تصویر آیکونی ارائه ندادهاند و نامشان در فهرست Icons نیست، استفاده خواهد شد.
- UsePPosition string
- این متغیر مشخص میکند که آیا در صورت عدم تعیین موقعیت توسط کاربر، twm باید موقعیت درخواستی برنامه (تعیینشده توسط پرچم PPosition در مشخصه WM_NORMAL_HINTS) را رعایت کند یا خیر. آرگومان string میتواند یکی از سه مقدار زیر را داشته باشد: "off" (پیشفرض) که نشان میدهد twm باید موقعیت تعیینشده توسط برنامه را نادیده بگیرد؛ "on" که نشان میدهد موقعیت باید استفاده شود؛ و "non-zero" که نشان میدهد موقعیت در صورتی که مقداری به جز (0,0) داشته باشد باید استفاده شود. گزینه اخیر برای دور زدن یک باگ در جعبهابزارهای قدیمیتر کاربرد دارد.
- WarpCursor [{ win-list }]
- این متغیر مشخص میکند که اشارهگر ماوس هنگام خروج پنجرهها از حالت آیکون، باید به داخل آنها بپرد (انتقال یابد). اگر win-list اختیاری تعیین شده باشد، اشارهگر تنها هنگام خروج همان پنجرهها از حالت آیکون جابهجا خواهد شد.
- WindowRing { win-list }
- این متغیر فهرستی از پنجرهها را مشخص میکند که تابع f.warpring میان آنها گردش میکند.
- WarpUnmapped
- این متغیر مشخص میکند که تابع f.warpto باید هر پنجره آیکونشدهای را که با آن مواجه میشود از حالت آیکون خارج کند. این ویژگی معمولاً برای ایجاد یک کلید میانبر به کار میرود که باعث بالا آمدن و نمایش یک پنجره مشخص (مانند xmh) میشود، بدون در نظر گرفتن این که کجاست. رفتار پیشفرض این است که f.warpto پنجرههای آیکونشده را نادیده میگیرد.
- XorValue number
- این متغیر مقداری را تعیین میکند که هنگام رسم خطوط پیرامونی پنجرهها برای جابهجایی و تغییر اندازه استفاده میشود. این متغیر باید روی مقداری تنظیم شود که در صورت اعمال XOR بر محتویات معمول صفحه نمایش کاربر، تنوعی از رنگهای قابل تشخیص را ایجاد کند. تنظیم این متغیر روی 1، در صورتی که رنگهای مجاور در نگاشترنگ (colormap) پیشفرض متمایز باشند، اغلب نتایج مطلوبی به همراه دارد. به طور پیشفرض، twm تلاش میکند خطوط موقت در انتهای مخالف نگاشترنگ نسبت به گرافیک ظاهر شوند.
- Zoom [ count ]
- این متغیر مشخص میکند که در هنگام تبدیل پنجره به آیکون یا خروج از آن، خطوط پیرامونی متحرکی برای نمایش جابهجایی پنجره به وضعیت آیکون و برعکس نشان داده شوند. آرگومان اختیاری count تعداد خطوط پیرامونی که باید رسم شوند را تعیین میکند. تعداد پیشفرض 8 است.
متغیرهای زیر باید پس از تعیین فونتها مقداردهی شوند؛ بنابراین معمولاً بهتر است آنها را در پایان بخش متغیرها یا ابتدای بخش اتصالات کلید/ماوس (bindings) قرار داد:
- DefaultFunction function
- این متغیر تابعی را برای اجرا هنگام دریافت رویداد کلید یا دکمهای که هیچ اتصالی برای آن تعریف نشده است مشخص میکند. این مقدار معمولاً به f.nop، f.beep یا منویی شامل عملیات پنجره متصل میشود.
- WindowFunction function
- این متغیر تابعی را برای اجرا در زمان انتخاب یک پنجره از منوی TwmWindows تعیین میکند. اگر این متغیر تنظیم نشود، پنجره از حالت آیکون خارج شده و به بالاترین سطح آورده میشود..SH "نگاشتها (BINDINGS)" پس از تنظیم متغیرهای مورد نظر، میتوان تابعها را به دکمههای نوار عنوان و کلیدها و دکمههای اشارهگر اختصاص داد. دکمههای نوار عنوان را میتوان از سمت چپ یا راست افزود و بر اساس ترتیبی که مشخص شدهاند، از چپ به راست در نوار عنوان ظاهر میشوند. نگاشتهای کلیدها و دکمههای اشارهگر را میتوان به هر ترتیبی تعیین کرد.
مشخصات دکمههای نوار عنوان باید شامل نام pixmap مورد استفاده در کادر دکمه و تابعی باشد که هنگام فشرده شدن دکمهٔ اشارهگر روی آنها فراخوانی میشود:
LeftTitleButton "bitmapname" = function
یا
RightTitleButton "bitmapname" = function
مقدار bitmapname میتواند با استفاده از نام پیشونددار با دونقطه که در بالا شرح داده شد، به یکی از بیتمپهای داخلی (که متناسب با TitleFont مقیاسبندی میشوند) اشاره کند.
مشخصات کلیدها و دکمههای اشارهگر باید کلیدهای تبدیل (modifiers) که باید فشرده شوند، بخشی از صفحه که اشارهگر باید روی آن قرار داشته باشد، و تابعی که باید فراخوانی شود را تعیین کنند. کلیدها به صورت رشتههایی حاوی نام مناسب keysym ارائه میشوند؛ دکمهها با کلمات کلیدی Button1-Button5 مشخص میشوند:
"FP1" = modlist : context : function Button1 = modlist : context : function
پارامتر modlist هر ترکیبی از نامهای کلید تبدیل شامل shift، control، lock، meta، mod1، mod2، mod3، mod4 یا mod5 است (که میتوانند به ترتیب با s، c، l، m، m1، m2، m3، m4، m5 خلاصه شوند) که با یک خط عمودی (|) از یکدیگر جدا شدهاند. به طور مشابه، context هر ترکیبی از window، title، icon، root، frame، iconmgr، حروف اول آنها (مخفف iconmgr حرف m است)، یا all است که با خط عمودی جدا شدهاند. مقدار function هر یک از کلیدواژههای f. است که در ادامه شرح داده شدهاند. برای نمونه، فایل راهاندازی پیشفرض حاوی نگاشتهای زیر است:
Button1 = : root : f.menu "TwmWindows" Button1 = m : window | icon : f.function "move-or-lower" Button2 = m : window | icon : f.iconify Button3 = m : window | icon : f.function "move-or-raise" Button1 = : title : f.function "move-or-raise" Button2 = : title : f.raiselower Button1 = : icon : f.function "move-or-iconify" Button2 = : icon : f.iconify Button1 = : iconmgr : f.iconify Button2 = : iconmgr : f.iconify
کاربری که بخواهد پنجرهها را از طریق صفحهکلید کنترل کند، میتواند از نگاشتهای زیر استفاده کند:
"F1" = : all : f.iconify "F2" = : all : f.raiselower "F3" = : all : f.warpring "next" "F4" = : all : f.warpto "xmh" "F5" = : all : f.warpto "emacs" "F6" = : all : f.colormap "next" "F7" = : all : f.colormap "default" "F20" = : all : f.warptoscreen "next" "Left" = m : all : f.backiconmgr "Right" = m | s : all : f.forwiconmgr "Up" = m : all : f.upiconmgr "Down" = m | s : all : f.downiconmgr
ابزار Twm دستورهای پایهٔ بسیار بیشتری برای دستکاری پنجرهها ارائه میدهد، بیشتر از آنچه بتوان بهراحتی در یک نوار عنوان، منو یا مجموعهای از نگاشتهای کلید گنجاند. اگرچه مجموعهای کوچک از پیشفرضها ارائه شده است (مگر آنکه NoDefaults مشخص شده باشد)، اکثر کاربران مایلند رایجترین عملیاتهای خود را به فشرده شدن کلیدها و دکمهها نگاشت کنند. برای انجام این کار، twm نامهایی را به هر یک از این دستورهای پایه اختصاص میدهد و تابعهای تعریفشده توسط کاربر را برای ساخت دستورهای سطح بالاتر، و منوها را برای انتخاب تعاملی میان گروههایی از تابعها فراهم میآورد.
تابعهای تعریفشده توسط کاربر شامل نامی هستند که در فراخوانیهای f.function به آنها ارجاع داده میشود، به همراه فهرستی از دیگر تابعها برای اجرا. برای مثال:
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }
Function "restore-colormap" { f.colormap "default" f.lower }
نام تابع در f.function باید دقیقاً همانگونه که در مشخصات تابع آمده است به کار رود.
در توضیحات زیر، اگر گفته شده باشد که یک تابع روی پنجرهٔ انتخابشده عمل میکند، اما از منوی ریشه (root menu) فراخوانی شود، نشانگر به نشانگر Select تغییر مییابد و پنجرهٔ بعدی که کلیک دکمه را دریافت کند انتخاب خواهد شد:
- ! string
- این یک مخفف برای f.exec string است.
- f.autoraise
- این تابع وضعیت بالا آمدن خودکار پنجرهٔ انتخابشده هنگام ورود اشارهگر به آن را تغییر میدهد (روشن یا خاموش میکند). توضیحات متغیر AutoRaise را ببینید.
- f.backiconmgr
- این تابع اشارهگر را به ستون قبلی در مدیر آیکون (icon manager) جاری منتقل میکند، و در صورت لزوم به سطر قبلی بازمیگرداند.
- f.beep
- این تابع زنگ صفحهکلید را به صدا درمیآورد.
- f.bottomzoom
- این تابع شبیه به تابع f.fullzoom است، اما اندازهٔ پنجره را طوری تغییر میدهد که تنها نیمهٔ پایینی صفحه را پر کند.
- f.circledown
- این تابع بالاترین پنجرهای را که مانع دید پنجرهای دیگر شده به پایینترین سطح میبرد.
- f.circleup
- این تابع پایینترین پنجرهای را که توسط پنجرهای دیگر پوشانده شده به بالاترین سطح میآورد.
- f.colormap string
- این تابع جدولهای رنگ (بهدستآمده از ویژگی WM_COLORMAP_WINDOWS روی پنجره) را که twm هنگام حضور اشارهگر در این پنجره نمایش میدهد، میچرخاند. آرگومان string میتواند یکی از این مقادیر را داشته باشد: "next"، "prev" و "default". در اینجا باید توجه داشت که به طور کلی، جدول رنگ نصبشده بر اساس تمرکز صفحهکلید تعیین میشود. تمرکز صفحهکلید هدایتشده با اشارهگر، به محض ورود به پنجرهٔ دارندهٔ جدول رنگ، یک جدول رنگ اختصاصی نصب میکند. با استفاده از مدل «کلیک برای تایپ»، جدولهای رنگ اختصاصی تا زمانی که کاربر دکمهٔ ماوس را روی پنجرهٔ هدف فشار ندهد نصب نخواهند شد.
- f.deiconify
- این تابع پنجرهٔ انتخابشده را از حالت آیکون خارج میکند. اگر پنجره آیکون نباشد، این تابع کاری انجام نمیدهد.
- f.delete
- این تابع پیام WM_DELETE_WINDOW را به پنجرهٔ انتخابشده میفرستد، در صورتی که برنامهٔ کلاینت از طریق ویژگی پنجرهٔ WM_PROTOCOLS آن را درخواست کرده باشد. انتظار میرود برنامه با حذف پنجرهٔ مشخصشده به این پیام پاسخ دهد. اگر پنجره پیامهای WM_DELETE_WINDOW را درخواست نکرده باشد، زنگ صفحهکلید به صدا درمیآید تا نشان دهد کاربر باید روش دیگری را انتخاب کند. توجه داشته باشید که این دستور با f.destroy تفاوت بسیاری دارد. هدف در اینجا حذف یک پنجرهٔ مشخص است، نه لزوماً کل برنامه.
- f.deltastop
- این تابع اجازه میدهد در صورتی که اشارهگر بیشتر از MoveDelta پیکسل جابهجا شده باشد، یک تابع تعریفشده توسط کاربر لغو شود. تعریف نمونهٔ ارائهشده برای Function "move-or-raise" در ابتدای این بخش را ببینید.
- f.destroy
- این تابع به کارساز X دستور میدهد اتصال نمایشی کلاینتی که پنجرهٔ انتخابشده را ایجاد کرده ببندد. این دستور تنها باید به عنوان آخرین راهکار برای بستن کلاینتهای مهارنشدنی استفاده شود. همچنین نگاه کنید به f.delete..IP "f.downiconmgr" 8 این تابع اشارهگر را به سطر بعدی در مدیر آیکون (icon manager) فعلی منتقل میکند و در صورت لزوم به ابتدای ستون بعدی دور میزند.
- f.exec string
- این تابع آرگومان string را برای اجرا به /bin/sh ارسال میکند. در حالت چندنمایشگری (multiscreen)، اگر string یک کلاینت X جدید را بدون مشخص کردن آرگومان display اجرا کند، آن کلاینت روی صفحهای ظاهر خواهد شد که این تابع از آن فراخوانی شده است.
- f.focus
- این تابع تمرکز صفحهکلید کارساز را روی پنجره انتخابشده تغییر وضعیت میدهد (toggle میکند) و در صورت لزوم، قاعده تمرکز را از حالت وابسته به اشارهگر تغییر میدهد. اگر پنجره انتخابشده از قبل دارای تمرکز بود، این تابع یک f.unfocus را اجرا میکند.
- f.forcemove
- این تابع مانند f.move عمل میکند با این تفاوت که متغیر DontMoveOff را نادیده میگیرد.
- f.forwiconmgr
- این تابع اشارهگر را به ستون بعدی در مدیر آیکون فعلی منتقل میکند و در صورت لزوم به ابتدای سطر بعدی دور میزند.
- f.fullzoom
- این تابع اندازه پنجره انتخابشده را به اندازه کامل صفحه نمایش تغییر میدهد، یا در صورتی که پنجره از قبل بزرگ شده باشد، اندازه اصلی را بازمیگرداند.
- در برخی موارد ممکن است f.fullzoom پس از یک بار کلیک موشواره به اندازه کامل صفحه نمایش بزرگ شود، اما برای بازگرداندن اندازه اصلی پنجره به جای یک بار کلیک، به دو بار کلیک موشواره نیاز داشته باشد. هنگامی که برای بزرگنمایی و بازگرداندن، کلیکهای تکی موشواره مد نظر باشد، یک راهکار جایگزین تعریف تابعی مانند زیر است:
Function "FullZoom" { f.fullzoom f.winrefresh }
- و فراخوانی آن با استفاده از f.function "FullZoom" به جای فراخوانی f.fullzoom.
- f.function string
- این تابع، تابع تعریفشده توسط کاربر را که نام آن توسط آرگومان string مشخص شده است اجرا میکند.
- f.hbzoom
- این تابع مترادفی برای f.bottomzoom است.
- f.hideiconmgr
- این تابع مدیر آیکون فعلی را از حالت نگاشت خارج میکند (unmap).
- f.horizoom
- این متغیر شبیه تابع f.zoom است، با این تفاوت که اندازه پنجره انتخابشده به تمام عرض صفحه نمایش تغییر مییابد.
- f.htzoom
- این تابع مترادفی برای f.topzoom است.
- f.hzoom
- این تابع مترادفی برای f.horizoom است.
- f.iconify
- این تابع به ترتیب پنجره یا آیکون انتخابشده را آیکون (کمینه) یا از حالت آیکون خارج میکند.
- f.identify
- این تابع خلاصهای از نام و هندسه (geometry) پنجره انتخابشده را نمایش میدهد. اگر کارساز از افزونه SYNC پشتیبانی کند، اولویت کلاینتِ مالک پنجره نیز نمایش داده میشود. کلیک کردن با اشارهگر یا فشردن یک کلید در پنجره، آن را خواهد بست.
- f.lefticonmgr
- این تابع شبیه به f.backiconmgr است با این تفاوت که دور زدن، سطرها را تغییر نمیدهد.
- f.leftzoom
- این متغیر شبیه به تابع f.bottomzoom است، اما باعث میشود که اندازه پنجره انتخابشده تنها به نیمه سمت چپ صفحه نمایش تغییر یابد.
- f.lower
- این تابع پنجره انتخابشده را پایین میبرد (به زیر میفرستد).
- این تابع منوی مشخصشده توسط آرگومان string را فراخوانی میکند. منوهای آبشاری را میتوان با فراخوانیهای تودرتوی f.menu ایجاد کرد.
- f.move
- این تابع طرح کلی پنجره انتخابشده (یا خود پنجره را در صورتی که متغیر OpaqueMove تنظیم شده باشد) تا زمان رها شدن دکمه فراخوان اشارهگر میکشد. دوبار کلیک در بازه زمانی تعیینشده بر حسب میلیثانیه توسط ConstrainedMoveTime، اشارهگر را به مرکز پنجره منتقل میکند و بسته به اینکه از کدام خط شبکه عبور شود، جابهجایی را به صورت افقی یا عمودی محدود میسازد. برای لغو جابهجایی، پیش از رها کردن دکمه اول، دکمه دیگری را فشار دهید.
- f.nexticonmgr
- این تابع اشارهگر را به مدیر آیکون بعدی که دارای پنجرههایی در صفحه فعلی یا هر یک از صفحههای بعدی است، منتقل میکند.
- f.nop
- این تابع هیچ کاری انجام نمیدهد و معمولاً به همراه متغیرهای DefaultFunction یا WindowFunction و یا برای ایجاد خطوط خالی در منوها استفاده میشود.
- f.previconmgr
- این تابع اشارهگر را به مدیر آیکون قبلی که دارای پنجرههایی در صفحه فعلی یا صفحههای قبلی است، منتقل میکند.
- f.priority string
- این تابع اولویت کلاینت مالک پنجره انتخابشده را روی مقدار عددی آرگومان string تنظیم میکند، که باید یک عدد صحیح علامتدار درون گیومه باشد (مثلاً "999" ). این تابع تنها در صورتی تأثیر دارد که کارساز از افزونه SYNC پشتیبانی کند.
- f.quit
- این تابع باعث میشود twm لبههای پنجره را بازگردانده و خارج شود. اگر twm نخستین کلاینت فراخوانیشده از xdm باشد، این کار منجر به بازنشانی کارساز خواهد شد.
- f.raise
- این تابع پنجره انتخابشده را بالا میآورد (به بالاترین سطح میبرد).
- f.raiselower
- اگر پنجره انتخابشده توسط هر پنجرهای پوشانده شده باشد، این تابع آن را به بالاترین سطح ترتیب چیدمان (stacking order) میآورد؛ در غیر این صورت پنجره به پایین فرستاده خواهد شد.
- f.refresh
- این تابع باعث بازآوری (refresh) تمامی پنجرهها میشود.
- f.resize
- این تابع طرح کلی پنجره انتخابشده را نمایش میدهد. عبور از یک لبه (یا تنظیم AutoRelativeResize) باعث میشود که طرح کلی تا زمان رها شدن دکمه فراخوان، به صورت کشسان (rubber band) تغییر اندازه دهد. برای لغو تغییر اندازه، پیش از رها کردن دکمه اول، دکمه دیگری را فشار دهید.
- f.restart
- این تابع twm را متوقف کرده و مجدداً راهاندازی میکند.
- f.startwm string
- این تابع twm را متوقف کرده و مدیر پنجره دیگری را، همانطور که توسط string مشخص شده است، آغاز میکند.
- f.righticonmgr
- این تابع شبیه به f.nexticonmgr است با این تفاوت که دور زدن، سطرها را تغییر نمیدهد.
- f.rightzoom
- این متغیر شبیه تابع f.bottomzoom است، با این تفاوت که اندازه پنجره انتخابشده تنها به نیمه سمت راست صفحه نمایش تغییر مییابد.
- f.saveyourself
- این تابع در صورتی که پنجره انتخابشده در ویژگی پنجرهای WM_PROTOCOLS خود این پیام را درخواست کرده باشد، یک پیام WM_SAVEYOURSELF به آن ارسال میکند. کلاینتهایی که این پیام را میپذیرند موظفند تمام وضعیتهای مرتبط با پنجره را ذخیره (checkpoint) کرده و ویژگی WM_COMMAND را همانگونه که در ICCCM مشخص شده است بهروزرسانی کنند. اگر پنجره انتخابشده این پیام را انتخاب نکرده باشد، زنگ صفحهکلید به صدا درخواهد آمد.
- f.showiconmgr
- این تابع مدیر آیکون فعلی را نگاشت (نمایان) میکند.
- f.sorticonmgr
- این تابع ورودیهای موجود در مدیر آیکون فعلی را به ترتیب الفبا مرتب میکند. متغیر SortIconManager را ببینید.
- f.title
- این تابع یک مورد وسطچین و غیرقابلانتخاب را در تعریف منو فراهم میکند. این تابع نباید در هیچ زمینه دیگری استفاده شود.
- f.topzoom
- این متغیر شبیه تابع f.bottomzoom است، با این تفاوت که اندازه پنجره انتخابشده تنها به نیمه بالایی صفحه نمایش تغییر مییابد.
- f.unfocus
- این تابع تمرکز را به حالت وابسته به اشارهگر بازمیگرداند. این دستور باید زمانی استفاده شود که دیگر نیازی به یک پنجره دارای تمرکز نباشد.
- f.upiconmgr
- این تابع اشارهگر را به سطر قبلی در مدیر آیکون فعلی منتقل میکند و در صورت لزوم به آخرین سطر در همان ستون دور میزند.
- f.vlzoom
- این تابع مترادفی برای f.leftzoom است.
- f.vrzoom
- این تابع مترادفی برای f.rightzoom است.
- f.warpring string
- این تابع اشارهگر را به پنجره بعدی یا قبلی (همانطور که توسط آرگومان string که میتواند "next" یا "prev" باشد مشخص شده) تعیینشده در متغیر WindowRing منتقل میکند..IP "f.warpto string" 8 این تابع اشارهگر را به پنجرهای که نام یا کلاس آن با string مطابقت دارد، منتقل میکند. اگر پنجره شمایلشده (iconified) باشد، در صورت تنظیم بودن متغیر WarpUnmapped از حالت شمایل خارج میشود (deiconified)، وگرنه نادیده گرفته خواهد شد.
- f.warptoiconmgr string
- این تابع اشارهگر را به مدخل مدیر شمایل مرتبط با پنجرهای که اشارهگر در آن قرار دارد، در مدیر شمایل مشخصشده توسط آرگومان string منتقل میکند. اگر string خالی باشد (یعنی ""، مدیر شمایل فعلی انتخاب میشود.
- f.warptoscreen string
- این تابع اشارهگر را به صفحهنمایش مشخصشده توسط آرگومان string منتقل میکند. مقدار string میتواند یک عدد باشد (برای نمونه، "0" یا "1")، کلمهٔ "next" (نشاندهندهٔ صفحهنمایش فعلی بهعلاوهٔ ۱، با نادیده گرفتن صفحهنمایشهای مدیریتنشده)، کلمهٔ "back" (نشاندهندهٔ صفحهنمایش فعلی منهای ۱، با نادیده گرفتن صفحهنمایشهای مدیریتنشده)، یا کلمهٔ "prev" (نشاندهندهٔ آخرین صفحهنمایش بازدیدشده).
- f.winrefresh
- این تابع مشابه تابع f.refresh است، با این تفاوت که فقط پنجرهٔ انتخابشده بازآوری میشود.
- f.zoom
- این تابع مشابه تابع f.fullzoom است، با این تفاوت که تنها ارتفاع پنجرهٔ انتخابشده تغییر میکند.
فهرستها (MENUS)
توابع میتوانند گروهبندی شده و با استفاده از فهرستهای بازشو (pop-up) (هنگامی که به یکی از دکمههای اشارهگر مقید شدهاند) یا کشویی (pull-down) (هنگامی که با دکمهٔ عنوان پنجره مرتبط هستند) به صورت تعاملی انتخاب شوند. هر مشخصات فهرست شامل نام فهرست آنطور که توسط f.menu به آن ارجاع داده میشود، رنگهای پیشفرض اختیاری پیشزمینه و پسزمینه، فهرستی از نام موارد و توابعی که باید فرابخوانند، و رنگهای پیشزمینه و پسزمینهٔ اختیاری برای هر مورد به صورت مجزا است:
Menu "menuname" [ ("deffore":"defback") ]
{
string1 [ ("fore1":"backn")] function1
string2 [ ("fore2":"backn")] function2
.
.
.
stringN [ ("foreN":"backN")] functionN
}
مقدار menuname به حروف بزرگ و کوچک حساس است. آرگومانهای اختیاری deffore و defback رنگهای پیشزمینه و پسزمینه را که در نمایشگرهای رنگی برای متمایز کردن مدخلهای فهرست به کار میروند مشخص میکنند. بخش string در هر مدخل فهرست، متنی خواهد بود که در فهرست نمایش داده میشود. آرگومانهای اختیاری fore و back رنگهای پیشزمینه و پسزمینهٔ مدخل فهرست را زمانی که اشارهگر روی آن قرار ندارد تعیین میکنند. این رنگها فقط در نمایشگرهای رنگی استفاده خواهند شد. حالت پیشفرض، استفاده از رنگهای مشخصشده توسط متغیرهای MenuForeground و MenuBackground است. بخش function از مدخل فهرست، یکی از توابع Twm، از جمله توابع تعریفشده توسط کاربر یا فهرستهای اضافه است.
فهرست ویژهای به نام TwmWindows وجود دارد که حاوی نام تمام پنجرههای کارخواه و پنجرههای ارائهشده توسط twm است. انتخاب یک مدخل باعث اجرای WindowFunction روی آن پنجره میشود. اگر WindowFunction تنظیم نشده باشد، پنجره از حالت شمایل خارج شده و به بالا آورده میشود.
شمایلها (ICONS)
نرمافزار twm از چندین روش مختلف برای کار با پنجرههای شمایلشده (iconified) پشتیبانی میکند. سبک معمول نگاشتبیتی و متن (pixmap-and-text) میتواند به صورت دستی چیده شود یا طبق آنچه توسط متغیر IconRegion شرح داده شده است، به طور خودکار مرتب گردد. علاوه بر این، یک شبکهٔ فشرده از نام شمایلها به نام مدیر شمایل (icon manager)، استفادهٔ بهینهتری از فضای صفحهنمایش و همچنین امکان پیمایش میان پنجرهها را از طریق صفحهکلید فراهم میکند.
مدیر شمایل پنجرهای است که حاوی نام پنجرههای انتخابشده یا تمامی پنجرههای موجود در نمایشگر است. علاوه بر نام پنجره، هنگام شمایلشدن پنجره، دکمهٔ کوچکی با استفاده از نماد پیشفرض شمایلسازی در سمت چپ نام نمایش داده میشود. به طور پیشفرض، کلیک روی یک مدخل در مدیر شمایل، تابع f.iconify را اجرا میکند. برای تغییر کارهای انجامشده در مدیر شمایل، هنگام تعیین قیدهای دکمه و صفحهکلید از بافتار iconmgr استفاده کنید.
حرکت دادن اشارهگر به درون مدیر شمایل نیز تمرکز صفحهکلید را به پنجرهٔ مشخصشده هدایت میکند (تنظیم صریح تمرکز یا در صورت تنظیم بودن NoTitleFocus، ارسال رویدادهای ساختگی). با استفاده از توابع f.upiconmgr، f.downiconmgr، f.lefticonmgr و f.righticonmgr میتوان تمرکز ورودی را مستقیماً از طریق صفحهکلید بین پنجرهها جابهجا کرد..SH "محیط (ENVIRONMENT)"
فایلها (FILES)
$HOME/.twmrc.<screen number> $HOME/.twmrc /usr/share/X11/twm/system.twmrc
گزارش باگها (BUGS)
میبایست به جای تمام فهرستهای پنجره، از مدیر منابع (resource manager) استفاده میشد.
متغیر IconRegion باید یک فهرست بپذیرد.
دوبار کلیک بسیار سریع برای دستیابی به تابع حرکت مقید (constrained move)، گاهی با وجود اینکه اشارهگر تکان داده نشده است، باعث حرکت پنجره میشود.
اگر IconifyByUnmapping فعال باشد و پنجرهها در IconManagerDontShow فهرست شده باشند اما در DontIconifyByUnmapping نباشند، در صورت تبدیل به آیکون شدن و عدم پیکربندی کلیدها یا پیوندهایی برای f.menu "TwmWindows" یا f.warpto، ممکن است غیرقابل دسترس و گم شوند.
نویسندگان (AUTHORS)
Tom LaStrange، Solbourne Computer؛ Jim Fulton، MIT X Consortium؛ Steve Pitschke، Stardent Computer؛ Keith Packard، MIT X Consortium؛ Dave Sternlicht، MIT X Consortium؛ Dave Payne، Apple Computer.
همچنین ببینید (SEE ALSO)
| twm 1.0.13.1 | X Version 11 |