را با صفر یا یک عدد صحیح مثبت جایگزین کنید). برای مثال "$[fg.cs3]" به نام رنگ پیشزمینهٔ مجموعهرنگ ۳ (در قالب rgb:rrrr/gggg/bbbb) بسط مییابد.
.sp
اگر .lighten یا .darken
به انتهای پارامترها اضافه شود، آنها در عوض با رنگی جایگزین میشوند که به اندازهٔ یک مقدار درصدی
(بین 0 تا 100) نسبت به رنگ تعریفشده در مجموعهرنگ روشنتر یا تیرهتر است. برای مثال "$[bg.cs3.lighten15]" به رنگ پسزمینهٔ مجموعهرنگ ۳ بسط داده شده و سپس ۱۵٪ روشنتر میشود (در قالب rgb:rrrr/gggg/bbbb).
.sp
اگر .hash به انتها افزوده شود، خروجی رنگ از قالب #rrggbb استفاده خواهد کرد (به جای rgb:rrrr/gggg/bbbb). برای مثال، $[bg.cs3.hash] یا $[bg.cs3.lighten15.hash].
.sp
لطفاً برای جزئیات مربوط به مجموعهرنگها به بخش \fBColorsets\fP مراجعه کنید.
.RE
.sp
$[math.+.,] $[math.\-.,] $[math.*.,] $[math./.,] $[math.%.,] $[math.^.,] $[math.<.,] $[math.>.,]
.RS 4
متغیرهای بسط ریاضی را میتوان برای انجام برخی محاسبات حسابی پایه روی اعداد صحیح و به کار برد. این عبارات میتوانند برای جمع (+)، تفریق (\-)، ضرب (*)، تقسیم (/)، باقیمانده (%) و توانرسانی (^) استفاده شوند. بیشینه (>) مقدار بزرگتر از دو مقدار، و کمینه (<) مقدار کوچکتر را بازمیگرداند. این قابلیت میتواند هنگام محاسبه اندازهٔ پانلها یا مکان پنجرهها نسبت به یک مانیتور مفید باشد؛ برای مثال $[math.\-.$[monitor.$[monitor.primary].height],200] مقدار ۲۰۰ پیکسل را از ارتفاع مانیتور اصلی کم میکند. این عبارات همچنین میتوانند برای عملیاتهای پیچیدهتر به صورت تودرتو استفاده شوند، به عنوان نمونه
$[math.+.$[math.*.3,5],$[math.\-.4,\-2]]
با 21 جایگزین میشود.
.sp
ویرگول در "," برای فراهم کردن امکان استفاده از اعداد اعشاری در آینده است. تمام عملیاتها از محاسبات اعداد صحیح زبان C استفاده میکنند. حاصل تقسیم اعداد صحیح برابر با خارجقسمت است. از عملگر باقیمانده میتوان برای به دست آوردن باقیماندهٔ تقسیم اعداد صحیح استفاده کرد. توجه داشته باشید که عملگر باقیمانده در C برای مقادیر منفی، باقیماندههای منفی بازمیگرداند. در نهایت، در صورتی که منفی باشد، عملیات توان مقدار 1 را برمیگرداند.
.RE
.sp
$[schedule.last]
.RS 4
این متغیر با شناسهٔ آخرین دستوری که توسط دستور \fBSchedule\fP زمانبندی شده بود جایگزین میشود، حتی اگر این دستور پیشتر اجرا شده باشد.
.RE
.sp
$[schedule.next]
.RS 4
این متغیر با شناسهای جایگزین میشود که دستور بعدیِ استفادهشده با \fBSchedule\fP دریافت خواهد کرد (مگر اینکه شناسهٔ متفاوتی صراحتاً مشخص شده باشد).
.RE
.sp
$[cond.rc]
.RS 4
کد بازگشتی آخرین دستور شرطی. این متغیر فقط درون یک تابع معتبر است و نمیتواند درون یک دستور شرطی استفاده شود. لطفاً به بخش \fBConditional Commands\fP در فهرست دستورات مراجعه کنید.
.RE
.sp
$[func.context]
.RS 4
نویسهٔ بافت (context) دستور در حال اجرا، همانطور که در دستورهای \fBMouse\fP، \fBKey\fP یا \fBPointerKey\fP به کار میرود. این مقدار برای مثال در مورد زیر مفید است:
.sp
.if n .RS 4
.nf
.fam C
Mouse 3 FS N WindowShade $$[func.context]
.fam
.fi
.if n .RE
.RE
.sp
$[debuglog.state]
.RS 4
یا \fI0\fP (گزارش اشکالزدایی بسته است) یا \fI1\fP. نشاندهندهٔ وضعیت فعلی سامانهٔ اشکالزدایی و گزارشگیری است.
.RE
.sp
$[gt.\fIstr\fP]
.RS 4
ترجمهٔ \fIstr\fP را با جستجو در کاتالوگهای محلیسازی (locale) فعلی بازمیگرداند. اگر ترجمهای یافت نشود، \fIstr\fP به همان صورت اولیه بازگردانده میشود. دستور \fBLocalePath\fP را ببینید.
.RE
.sp
$[infostore.\fIkey\fP]
.RS 4
مقدار عنصر ذخیرهشده در InfoStore را برای \fIkey\fP دادهشده بازمیگرداند. اگر چنین کلیدی وجود نداشته باشد، رشتهٔ بسطنیافته بازگردانده میشود.
.RE
.sp
$[.\|.\|.]
.RS 4
اگر رشتهٔ درون براکتها هیچیک از موارد بالا نباشد، fvwm تلاش میکند تا متغیر محیطیای با این نام پیدا کند و در صورت یافتن، مقدار آن را جایگزین میکند (مثلاً "$[PAGER]" میتواند با "more" جایگزین شود). در غیر این صورت رشته به همان شکل اولیه باقی میماند.
.sp
چندین مثال را میتوان در بخش توضیحات دستور \fBAddToFunc\fP یافت.
.RE.SH "اسکریپتنویسی و توابع پیچیده (SCRIPTING AND COMPLEX FUNCTIONS)"
.sp
برای دستیابی به جلوههای پیچیدهتر، fvwm دارای چندین دستور است که تواناییهای اسکریپتنویسی آن را بهبود میبخشند. اسکریپتها را میتوان با \fBRead\fP از یک فایل، با \fBPipeRead\fP از خروجی یک دستور، یا با دستور \fBAddToFunc\fP به صورت یک تابع پیچیده خواند یا نوشت. برای علاقهمندان، بخش ۷ از FAQ مربوط به fvwm برخی از کاربردهای واقعی اسکریپتنویسی را نشان میدهد. لطفاً برای جزئیات به بخشهای \fBUser Functions and Shell Commands\fP و \fBConditional Commands\fP مراجعه کنید. یک هشدار: در حین اجرای توابع پیچیده، fvwm نیاز دارد تمام ورودیها را از اشارهگر ماوس دریافت کند (به اصطلاح سامانهٔ X، اشارهگر «grab» یا تسخیر میشود). در زمان اجرای یک تابع، هیچ برنامهٔ دیگری نمیتواند ورودیای از اشارهگر دریافت کند. این امر ممکن است موجب سردرگمی برخی برنامهها شود. برای مثال، برنامهٔ xwd در صورت اجرا از طریق یک تابع پیچیده، از گرفتن تصویر صفحه خودداری میکند. برای دستیابی به عملکردی مشابه، میتوانید در عوض از دستورهای \fBRead\fP یا \fBPipeRead\fP استفاده کنید.
.SH "مفاهیم و دستورهای منو (MENU CONCEPTS AND COMMANDS)"
.sp
لطفاً به صفحهٔ راهنمای fvwm3menus مراجعه کنید.
.SH "فهرست دستورهای FVWM (LIST OF FVWM COMMANDS)"
.sp
لطفاً به صفحات راهنمای fvwm3commands و fvwm3styles مراجعه کنید.
.SH "محیط (ENVIRONMENT)"
.sp
متغیرهای محیطی که بر نحوهٔ عملکرد fvwm تأثیر میگذارند عبارتاند از:
.sp
\fIDISPLAY\fP
.RS 4
fvwm روی این نمایشگر اجرا میشود مگر آنکه گزینهٔ \fB\-display\fP مشخص شده باشد.
.RE
.sp
\fIFVWM_USERDIR\fP
.RS 4
برای تعیین دایرکتوری دادههای کاربر جهت خواندن و نوشتن فایلها به کار میرود. اگر این متغیر از پیش تنظیم نشده باشد، توسط fvwm روی \fI$HOME/.fvwm\fP تنظیم میشود که دایرکتوری پیشفرض دادههای کاربر است.
.RE
.sp
\fIFVWM3_LOGFILE\fP
.RS 4
برای تعیین مسیر و نام فایل جهت ثبت گزارش اطلاعات اشکالزدایی از fvwm3 استفاده میشود. بهطور پیشفرض، گزارش اشکالزدایی در \fI$FVWM_USERDIR\fP/fvwm3\-output.log نوشته میشود. اگر یک مسیر مطلق مشخص شده باشد (که با / آغاز میشود)، آنگاه \fI$FVWM_USERDIR\fP نادیده گرفته میشود؛ در غیر این صورت گزارش در \fI$FVWM_USERDIR\fP/\fI$FVWM3_LOGFILE\fP نوشته خواهد شد.
.RE
.sp
\fIFVWM_DATADIR\fP
.RS 4
توسط fvwm روی دایرکتوری حاوی دادههای پیکربندی و ماژولهای fvwm تنظیم میشود.
.RE
.sp
\fIFVWM_MODULEDIR\fP
.RS 4
توسط fvwm روی دایرکتوری حاوی ماژولهای استاندارد fvwm تنظیم میشود.
.RE
.sp
\fISESSION_MANAGER\fP
.RS 4
fvwm تلاش میکند با این مدیر نشست ارتباط برقرار کند.
.RE
.sp
\fISESSION_MANAGER_NAME\fP
.RS 4
این متغیر عمدتاً برای تشخیص اجرای xsm جهت دور زدن باگ آن به کار میرود. اگر این متغیر روی "xsm" تنظیم شده باشد، DiscardCommand آنگونه که xsm انتظار دارد تنظیم میشود و نه آنطور که XSMP نیاز دارد. اگر fvwm را تحت xsm اجرا میکنید، باید این متغیر را روی "xsm" قرار دهید، در غیر این صورت فایلهای وضعیت قدیمی حذف نمیشوند.
.RE
.sp
\fISM_SAVE_DIR\fP
.RS 4
در صورت تنظیم بودن، fvwm دادههای نشست خود را در این دایرکتوری ذخیره میکند. در غیر این صورت از \fI$HOME\fP استفاده خواهد کرد. توجه داشته باشید که نام فایلهای وضعیت بهصورت \fI.fs\-??????\fP است و معمولاً هنگامی که دیگر کاربردی نداشته باشند، بهطور خودکار حذف میشوند.
.RE
.SH "نویسندگان (AUTHORS)"
.sp
Robert Nation با کمک افراد بسیار، بر پایهٔ کد twm که توسط Tom LaStrange نوشته شده بود. پس از Robert Nation نوبت به Charles Hines رسید و سپس Brady Montz. در حال حاضر fvwm توسط تعدادی از افراد در فهرست پستی fvwm\-workers توسعه مییابد.
.SH "کپیرایت و تکثیر (COPYRIGHT)"
.sp
نرمافزار fvwm و تمامی ماژولها، اسکریپتها و فایلهای دیگر ارائهشده همراه با این توزیع، تحت مجوز عمومی همگانی گنو (GPL) منتشر میشوند. لطفاً برای جزئیات به فایل COPYING ارائهشده همراه fvwm مراجعه کنید.
.SH "گزارش باگها (BUGS)"
.sp
گزارشهای اشکال را میتوان به فهرست پستی fvwm\-workers به نشانی زیر ارسال کرد:
\c
.MTO "fvwm\-workers\(atfvwm.org" "" ""
.sp
صفحهٔ خانگی رسمی fvwm: \c
.URL "http://fvwm.org" "" ""