'\" t .\" Title: fvwm3menus .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-06-28 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "FVWM3MENUS" "1" "2026-06-28" "\ \&" "\ \&" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" fvwm3menus \- منوهای fvwm .SH "منوها (MENUS)" .sp پیش از آنکه بتوان منویی را باز کرد، باید با استفاده از دستور \fBAddToMenu\fP با آیتم‌های منو پر شده و با دستورهای \fBKey\fP، \fBPointerKey\fP یا \fBMouse\fP به یک کلید یا دکمهٔ ماوس مقید (bind) شود (راه‌های بسیار دیگری نیز برای فراخوانی منو وجود دارد). این کار معمولاً در فایل پیکربندی انجام می‌شود. .sp منوهای fvwm از نظر ظاهر و تجربهٔ کاربری فوق‌العاده قابل‌پیکربندی هستند. حتی ظریف‌ترین جزئیات را نیز می‌توان مطابق میل کاربر تغییر داد؛ از جمله قلم آیتم‌های منو، پس‌زمینه، تأخیرهای پیش از باز شدن زیرمنوها، ایجاد پویای منوها و بسیاری از امکانات دیگر. لطفاً برای اطلاعات بیشتر به دستور \fBMenuStyle\fP مراجعه کنید. .sp \fBانواع منوها (Types of Menus)\fP .RS 4 چهار نوع منو با تفاوت‌های اندک وجود دارد: .sp منوهای بالاپرنده (Popup) می‌توانند به تنهایی در هر کجای صفحه یا متصل به بخشی از پنجره ظاهر شوند. دستور \fBPopup\fP منوهای بالاپرنده را باز می‌کند. اگر منوی بالاپرنده با نگه داشتن دکمهٔ ماوس فراخوانی شده باشد، با رها کردن دکمه بسته خواهد شد. سپس آیتم زیر نشانگر فعال شده و عملیات مربوطه اجرا می‌گردد. .sp منوهای عادی دستوری بسیار مشابه دارند، اما تا حدی گذرا هستند. هنگامی که با کلیک روی دکمهٔ ماوس فراخوانی شوند، باز می‌مانند و می‌توان بدون نگه داشتن دکمه در آن‌ها پیمایش کرد. اما اگر با فشردن دکمه و به دنبال آن حرکت ماوس فراخوانی شوند، دقیقاً رفتاری مانند منوی بالاپرنده خواهند داشت. دستور \fBMenu\fP منوهای عادی را ایجاد می‌کند. .sp «زیرمنوها» منوهای درون منوهای دیگر هستند. وقتی آیتمی از منو که عملیات آن دستور \fBPopup\fP است انتخاب شود، منوی مشخص‌شده به‌عنوان زیرمنویی برای والد باز می‌شود. هر نوع منویی می‌تواند دارای زیرمنو باشد. .sp «منوهای جداشونده» (Tear off menus) منوهایی هستند که مانند یک پنجرهٔ عادی از بستر اصلی خود روی میزکار «جدا شده‌اند». آن‌ها از منوهای دیگر با فشردن کلیدهای معین یا توالی‌های ماوس و یا با دستور \fBTearMenuOff\fP از درون یک منو ایجاد می‌شوند. .RE .sp \fBکالبدشناسی منو (Menu Anatomy)\fP .RS 4 منوها از هر تعداد عنوان که آیتم‌های غیرفعال منو هستند و معمولاً در بالای آن ظاهر می‌شوند، آیتم‌های عادی که در صورت انتخاب اقدامات گوناگونی را به کار می‌اندازند، خطوط جداکننده میان آیتم‌ها، نوارهای جداسازی (یک خط‌چین افقی) که در صورت انتخاب، منو را جدا می‌کنند، و آیتم‌های زیرمنو که با مثلثی رو به چپ یا راست (بسته به جهتی که زیرمنو در آن باز می‌شود) نشان داده می‌شوند، تشکیل یافته‌اند. همهٔ آیتم‌های فوق اختیاری هستند. .sp علاوه بر این، اگر منو طولانی‌تر از آن باشد که در صفحه جا شود، آیتم‌های اضافی در یک منوی ادامه‌دار قرار می‌گیرند و زیرمنویی با رشتهٔ "More.\|.\|." در انتهای منو جای می‌گیرد. رشتهٔ "More.\|.\|." از تنظیمات محلی (locale) پیروی می‌کند. .sp در نهایت، ممکن است تصویری در امتداد هر یک از دو طرف منو کشیده شده باشد (یک «نوار کناری» یا "side bar"). .RE .sp \fBپیمایش منو (Menu Navigation)\fP .RS 4 پیمایش منوها با صفحه‌کلید و ماوس انجام می‌گیرد. بسیاری ترجیح می‌دهند از ماوس استفاده کنند، اما این کار می‌تواند زمان‌بر باشد. پیمایش با صفحه‌کلید می‌تواند بسیار سریع‌تر باشد. مادامی که fvwm منویی را نمایش می‌دهد، کار دیگری نمی‌تواند انجام دهد. برای نمونه، پنجره‌های جدید تا زمان بسته شدن منو ظاهر نمی‌شوند. البته این مسئله در مورد منوهای جداشونده کاملاً صدق نمی‌کند. برای جزئیات به بخش \fBTear Off Menus\fP مراجعه کنید. .RE .sp \fBپیمایش با ماوس (Mouse Navigation)\fP .RS 4 حرکت دادن نشانگر روی یک منو، آیتم زیر آن را انتخاب می‌کند. به طور معمول این امر با یک کادر سه‌بعدی دور آیتم نشان داده می‌شود، اما تمام بخش‌های یک منو قابل انتخاب نیستند. فشردن هر دکمهٔ ماوس در زمان باز بودن منو به‌طور پیش‌فرض آیتم زیر آن را فعال می‌کند. آیتم‌های یک منوی بالاپرنده نیز با رها کردن دکمهٔ فشرده‌شدهٔ ماوس فعال می‌شوند. در مورد آیتمی که دارای زیرمنو است، اگر نشانگر به مدت کافی روی آیتم توقف کند یا به مثلث نشان‌دهندهٔ زیرمنو نزدیک شود، زیرمنو نمایش داده خواهد شد. این رفتار را می‌توان با سبک‌های منو تنظیم نمود. .sp چرخاندن چرخ ماوس روی یک منو بسته به سبک منوی \fIMouseWheel\fP، یا نشانگر را در طول منو به گردش درمی‌آورد (پیش‌فرض)، یا منوی زیر نشانگر را پیمایش می‌کند و یا طوری رفتار می‌کند که گویی روی منو کلیک شده است. .sp کلیک روی یک آیتمِ انتخاب‌شده آن را فعال می‌کند \- اینکه دقیقاً چه رخ می‌دهد به نوع آیتم بستگی دارد. .sp کلیک روی عنوان، جداکننده، نوار کناری یا خارج از منو، آن را می‌بندد (استثنا: منوهای جداشونده را نمی‌توان از این طریق بست). فشردن دکمهٔ ۲ ماوس روی عنوان منو یا فعال‌سازی نوار جداسازی، یک منوی جداشونده از منوی جاری می‌سازد. کلیک روی یک آیتم عادی، دستوری را که به آن مقید شده فراخوانی می‌کند و کلیک روی یک آیتم زیرمنو یا تمام منوهای باز را بسته و زیرمنو را جایگزین آن‌ها می‌کند، یا منو را مستقر (post) می‌سازد (پیش‌فرض). .sp مستقر کردن منوها برای تسهیل پیمایش با ماوس در نظر گرفته شده است. هنگامی که زیرمنویی مستقر شود، تنها آیتم‌های همان زیرمنو قابل انتخاب خواهند بود. این قابلیت در صورتی که نشانگر متمایل به بیرون رفتن از منو باشد، برای پیمایش بسیار کارآمد است. برای لغو استقرار منو و بازگشت به عملکرد عادی، یا مجدداً روی همان آیتم زیرمنو کلیک کنید یا هر کلیدی را فشار دهید. .RE .sp \fBپیمایش با صفحه‌کلید (Keyboard Navigation)\fP .RS 4 درست مانند پیمایش با ماوس، آیتم زیر نشانگر انتخاب می‌شود. این امر در صورت نیاز با پرش (warp) نشانگر به آیتم‌های منو به دست می‌آید. تا زمانی که منویی باز است، تمام کلیدهای فشرده‌شده توسط منو دریافت و متوقف می‌شوند. هیچ برنامهٔ دیگری نمی‌تواند ورودی صفحه‌کلید را دریافت کند (هرچند این موضوع در مورد منوهای جداشونده صادق نیست). .sp آیتم‌ها را می‌توان مستقیماً با فشردن کلید میانبری (hotkey) که برای هر آیتم منو به‌طور جداگانه قابل‌پیکربندی است، انتخاب کرد. کلید میانبر با کشیده شدن خط زیر حرف آن در برچسب منو مشخص می‌شود. با سبک منوی \fIAutomaticHotkeys\fP، مدیر پنجرهٔ fvwm به‌طور خودکار به تمام آیتم‌های منو کلید میانبر اختصاص می‌دهد. .sp ابتدایی‌ترین کلیدها برای پیمایش درون منوها، کلیدهای جهت‌نما هستند (حرکت یک آیتم به بالا یا پایین، ورود یا خروج از زیرمنو)، .sp (فعال‌سازی آیتم) و .sp (بستن منو). به‌طور پیش‌فرض کلیدهای پرشمار دیگری نیز می‌توانند برای پیمایش درون منوها به کار روند: .sp کلیدهای \fIEnter\fP، \fIReturn\fP و \fISpace\fP آیتم جاری را فعال می‌کنند. .sp کلیدهای \fIEscape\fP، \fIDelete\fP و \fICtrl\-G\fP از توالی جاری منوها خارج شده یا منوی جداشونده را از بین می‌برند. .sp کلیدهای \fIJ\fP، \fIN\fP، \fICursor\-Down\fP، \fITab\fP، \fIMeta\-Tab\fP و \fICtrl\-F\fP به آیتم بعدی می‌روند. .sp کلیدهای \fIK\fP، \fIP\fP، \fICursor\-Up\fP، \fIShift\-Tab\fP، \fIShift\-Meta\-Tab\fP و \fICtrl\-B\fP به آیتم قبلی می‌روند. .sp کلیدهای \fIL\fP، \fICursor\-Right\fP و \fIF\fP وارد یک زیرمنو می‌شوند. .sp کلیدهای \fIH\fP، \fICursor\-Left\fP و \fIB\fP به منوی پیشین بازمی‌گردند. .sp کلیدهای \fICtrl\-Cursor\-Up\fP، \fICtrl\-K\fP \fICtrl\-P\fP، \fIShift\-Ctrl\-Meta\-Tab\fP و \fIPage\-Up\fP پنج آیتم به بالا می‌روند. .sp کلیدهای \fICtrl\-Cursor\-Down\fP، \fICtrl\-J\fP \fICtrl\-N\fP، \fICtrl\-Meta\-Tab\fP و \fIPage\-Down\fP پنج آیتم به پایین می‌روند. .sp کلیدهای \fIShift\-P\fP، \fIHome\fP، \fIShift\-Cursor\-Up\fP و \fICtrl\-A\fP به نخستین آیتم می‌روند. .sp کلیدهای \fIShift\-N\fP، \fIEnd\fP، \fIShift\-Cursor\-Down\fP و \fICtrl\-E\fP به آخرین آیتم می‌روند. .sp کلیدهای \fIMeta\-P\fP، \fIMeta\-Cursor\-Up\fP، \fICtrl\-Cursor\-Left\fP و \fIShift\-Ctrl\-Tab\fP درست تا زیر جداکنندهٔ بعدی به بالا می‌روند. .sp کلیدهای \fIMeta\-N\fP، \fIMeta\-Cursor\-Down\fP، \fICtrl\-Cursor\-Right\fP و \fICtrl\-Tab\fP درست تا زیر جداکنندهٔ بعدی به پایین می‌روند. .sp کلید \fIInsert\fP زیرمنوی "More.\|.\|." را (در صورت وجود) باز می‌کند. .sp کلید \fIBackspace\fP منو را جدا می‌کند. .RE .sp \fBقیود منو (Menu Bindings)\fP .RS 4 کلیدها و دکمه‌های ماوس مورد استفاده برای پیمایش منو را می‌توان با دستورهای \fBKey\fP و \fBMouse\fP با بستر ویژهٔ \*(AqM\*(Aq پیکربندی کرد، که می‌تواند با \*(AqT\*(Aq برای عنوان منو، \*(AqI\*(Aq برای سایر آیتم‌های منو، \*(AqS\*(Aq برای هرگونه حاشیه یا تصویر کناری، \*(Aq[\*(Aq برای حاشیهٔ چپ به همراه تصویر کناری چپ، \*(Aq]\*(Aq برای حاشیهٔ راست به همراه تصویر کناری راست، \*(Aq\-\*(Aq برای حاشیهٔ بالا و \*(Aq_\*(Aq برای حاشیهٔ پایین ترکیب شود. بستر منو از مجموعه اقدامات اختصاصی خود که می‌توان آن‌ها را به کلیدها و دکمه‌های ماوس مقید کرد بهره می‌برد. این اقدامات عبارتند از: _MenuClose_، \fIMenuCloseAndExec\fP، \fIMenuEnterContinuation\fP، \fIMenuEnterSubmenu\fP، \fIMenuLeaveSubmenu\fP، \fIMenuMoveCursor\fP، \fIMenuCursorLeft\fP، \fIMenuCursorRight\fP، \fIMenuSelectItem\fP، \fIMenuScroll\fP و \fIMenuTearOff\fP. .sp لغو یا تغییر دادن کلید Escape بدون هیچ کلید تبدیل‌گری (modifier) برای بستن منو امکان‌پذیر نیست. همچنین نمی‌توان دکمهٔ ۱ ماوس، کلیدهای جهت‌نما یا کلید enter را برای پیمایش پایه از تعریف خارج کرد. .sp دستور \fBMenuClose\fP از توالی جاری منوها خارج شده یا یک منوی جداشونده را از بین می‌برد. .sp دستور \fBMenuCloseAndExec\fP از توالی جاری منوها خارج شده یا یک منوی جداشونده را از بین می‌برد و بقیهٔ خط را به‌عنوان دستور اجرا می‌کند. .sp دستور \fBMenuEnterContinuation\fP زیرمنوی "More.\|.\|." را (در صورت وجود) باز می‌کند. .sp دستور \fBMenuEnterSubmenu\fP وارد یک زیرمنو می‌شود. .sp دستور \fBMenuLeaveSubmenu\fP به منوی پیشین بازمی‌گردد. .sp دستور \fBMenuMoveCursor\fP \fIn\fP [\fIm\fP] انتخاب را به آیتم دیگری منتقل می‌کند. اگر آرگومان نخست صفر باشد، آرگومان دوم یک آیتم مطلق در منو را برای بردن نشانگر به آن مشخص می‌سازد. آیتم‌های منفی از انتهای منو شمرده می‌شوند. اگر آرگومان نخست غیرصفر باشد، آرگومان دوم باید حذف شود و آرگومان نخست تغییر نسبی را در آیتم انتخاب‌شده تعیین می‌کند. موقعیت‌ها می‌توانند با پسوند \*(Aqs\*(Aq همراه شوند تا مشخص کنند آیتم‌ها تنها باید به نخستین آیتم‌های پس از جداکننده‌ها اشاره داشته باشند. .sp دستور \fBMenuCursorLeft\fP با سبک منوی \fISubmenusLeft\fP وارد یک زیرمنو می‌شود و با سبک منوی \fISubmenusRight\fP به منوی قبلی بازمی‌گردد. .sp دستور \fBMenuCursorRight\fP با سبک منوی \fISubmenusRight\fP وارد یک زیرمنو می‌شود و با سبک منوی \fISubmenusLeft\fP به منوی قبلی بازمی‌گردد. .sp دستور \fBMenuSelectItem\fP عملیات مربوط به آن آیتم منو را اجرا می‌کند. .sp دستور \fBMenuScroll \fP\fIn\fP پیمایش منو را بر اساس سبک منوی \fIMouseWheel\fP به اندازهٔ \fIn\fP آیتم انجام می‌دهد. فاصله می‌تواند با یک \*(Aqs\*(Aq پسوندگذاری شود تا مشخص کند آیتم‌ها تنها باید به نخستین آیتم‌های پس از جداکننده‌ها ارجاع یابند. .sp دستور \fBMenuTearOff\fP یک منوی عادی را به منوی «جداشده» تبدیل می‌کند. برای جزئیات به \fBTear Off Menus\fP مراجعه کنید. .RE .sp \fBمنوهای جداشونده (Tear Off Menus)\fP .RS 4 منوی جداشونده منویی است که از پنجره‌ای که به آن متصل بوده «کنده شده» و به پنجرهٔ ریشه (root window) سنجاق شده باشد. سه راه برای جدا کردن یک منو وجود دارد: کلیک روی عنوان منو با دکمهٔ ۲ ماوس، فشردن .sp در منو، یا فعال کردن نوار جداسازی آن (یک نوار افقی با خط‌چین). نوارهای جداسازی باید همانند هر آیتم دیگری با تخصیص دستور \fBTearMenuOff\fP به آن‌ها، به منو اضافه شوند. .sp اقدامات توکار جداسازی را می‌توان با لغو تعریف اقدامات توکار منو که به جداسازی مقید هستند، بازنویسی کرد. جهت حذف قید توکار دکمهٔ ۲ ماوس، از این دستور استفاده کنید: .sp .if n .RS 4 .nf .fam C Mouse 2 MT A \- .fam .fi .if n .RE .sp و جهت حذف قید توکار backspace، از این دستور استفاده کنید: .sp .if n .RS 4 .nf .fam C Key Backspace M A \- .fam .fi .if n .RE .sp برای جزئیات بیشتر در خصوص چگونگی اختصاص قیود دیگر جهت جداسازی، به بخش \fBMenu Bindings\fP مراجعه کنید. .sp توجه داشته باشید که پیش از fvwm نسخهٔ 2.5.20، قیود ماوس برای جداسازی به روش متفاوتی بازتعریف می‌شدند که دیگر کار نمی‌کند. .sp پنجرهٔ حاوی منو مانند هر پنجرهٔ دیگری جاگذاری می‌شود. اگر به نظرتان گیج‌کننده است که منوهای جداشونده در موقعیت‌های تصادفی روی صفحه ظاهر شوند، این خط را در فایل پیکربندی خود قرار دهید: .sp .if n .RS 4 .nf .fam C Style fvwm_menu UsePPosition .fam .fi .if n .RE .sp جهت حذف حاشیه‌ها و دکمه‌ها از یک منوی جداشونده با حفظ عنوان منو، می‌توانید از دستور زیر استفاده کنید: .sp .if n .RS 4 .nf .fam C Style fvwm_menu !Button 0, !Button 1 Style fvwm_menu !Button 2, !Button 3 Style fvwm_menu !Button 4, !Button 5 Style fvwm_menu !Button 6, !Button 7 Style fvwm_menu !Button 8, !Button 9 Style fvwm_menu Title, HandleWidth 0 .fam .fi .if n .RE .sp یک منوی جداشونده پیوندی میان یک پنجره و یک منو است. منو توسط یک پنجره بلعیده شده و عنوان آن جدا گردیده و در عنوان پنجره نمایش داده می‌شود. مزیت اصلی این است که منو دائمی می‌شود \- فعال‌سازی یک آیتم باعث بسته شدن منو نخواهد شد. بنابراین، بدون نیاز به باز کردن مجدد می‌توان بارها از آن استفاده کرد. برای نابود کردن چنین منویی، پنجرهٔ آن را ببندید یا کلید Escape را فشار دهید. .sp منوهای جداشونده رفتاری تا حدی متفاوت با منوها و پنجره‌های عادی دارند. آن‌ها فوکوس صفحه‌کلید را دریافت نمی‌کنند، اما در زمانی که نشانگر روی یکی از آن‌ها باشد، تمام کلیدهای فشرده‌شده به منو ارسال می‌شوند. سایر قیود کلیدی fvwm تا زمانی که نشانگر درون منوی جداشونده یا یکی از زیرمنوهای آن باشد غیرفعال هستند. هنگامی که نشانگر این ناحیه را ترک کند، تمام زیرمنوها بلافاصله بسته می‌شوند. توجه داشته باشید که پنجرهٔ حاوی منوی جداشونده هرگز طوری که گویی فوکوس دارد برجسته (hilight) نمی‌شود. .sp یک منوی جداشونده نسخه‌ای مستقل از منویی است که از آن منشعب شده است. بدین ترتیب، افزودن آیتم‌ها به آن منو یا تغییر سبک منو تأثیری بر منوی جداشونده نخواهد داشت. .sp برای ایجاد یک منوی جداشونده بدون باز کردن اولیهٔ منوی عادی، می‌توان گزینهٔ \fITearOffImmediately\fP را به دستور \fBMenu\fP یا \fBPopup\fP اضافه کرد. .RE.SS "ساخت محتویات منو" .sp \fBAddToMenu\fP \fImenu\-name\fP [\fImenu\-label\fP \fIaction\fP] .RS 4 تعریف یک منو را آغاز می‌کند یا مواردی را به آن می‌افزاید. به‌طور معمول تعریف یک منو به این شکل است: .sp .if n .RS 4 .nf .fam C AddToMenu Utilities Utilities Title + Xterm\& Exec\& exec xterm \-e tcsh + Rxvt\& Exec\& exec rxvt + "Remote Logins" Popup Remote\-Logins + Top\& Exec\& exec rxvt \-T Top \-n Top \-e top + Calculator\& Exec\& exec xcalc + Xman\& Exec\& exec xman + Xmag\& Exec\& exec xmag + emacs\& Exec\& exec xemacs + Mail\& MailFunction xmh "\-font fixed" + ""\& Nop + Modules\& Popup Module\-Popup + ""\& Nop + Exit Fvwm\& Popup Quit\-Verify .fam .fi .if n .RE .sp منو می‌تواند از طریق زیر فراخوانی شود: .sp .if n .RS 4 .nf .fam C Mouse 1 R A Menu Utilities Nop .fam .fi .if n .RE .sp یا .sp .if n .RS 4 .nf .fam C Mouse 1 R A Popup Utilities .fam .fi .if n .RE .sp هیچ نمادی برای پایان منو وجود ندارد. نیازی نیست منوها در یک بخش پیوسته از فایل \fIconfig\fP تعریف شوند. بخش داخل نقل‌قول (یا کلمه اول) در مثال‌های بالا، برچسب منو است که هنگام باز شدن منو توسط کاربر نمایش داده می‌شود. بخش باقی‌مانده یک دستور fvwm است که در صورت انتخاب آن آیتم توسط کاربر اجرا می‌شود. یک برچسب منوی خالی ("") و تابع \fBNop\fP برای درج یک جداکننده در منو استفاده می‌شوند. .sp کلمات کلیدی \fIDynamicPopUpAction\fP و \fIDynamicPopDownAction\fP در صورتی که به عنوان نام یک آیتم منو استفاده شوند، معنای ویژه‌ای دارند. کنش (action) پس از این کلمه کلیدی، هر زمان که منو باز (pop up) یا بسته (pop down) شود اجرا می‌گردد. از این طریق می‌توانید منوهای پویا را پیاده‌سازی کنید. حتی این امکان وجود دارد که منو خودش را با \fBDestroyMenu\fP نابود کرده و از ابتدا دوباره بسازد. هنگامی که منو نابود شد (مگر اینکه هنگام نابودی منو از گزینه \fIrecreate\fP استفاده کرده باشید)، اضافه کردن دوباره کنش پویا را فراموش نکنید. .sp نکته: کنش‌هایی را که نیازمند تعامل کاربر هستند فراخوانی نکنید. آنها ممکن است ناموفق بوده و منوهای شما را به هم بریزند. دستور \fBSilent\fP را ببینید. .sp \fBهشدار:\fP دستورهای \fBMenuStyle\fP را به عنوان کنش‌های منوی پویا صادر نکنید. احتمال زیادی وجود دارد که این کار باعث کرش کردن fvwm شود. .sp کلمه کلیدی \fIGreyed\fP همچنان آیتم منو را نمایش می‌دهد، اما آن را خاکستری کرده و گزینه را غیرقابل انتخاب می‌کند. .sp چندین اسکریپت با قابلیت پیکربندی همراه با fvwm برای تولید خودکار منو نصب شده‌اند. آنها صفحات راهنمای (man page) مخصوص به خود را دارند. برخی از آنها، به‌ویژه \fBfvwm\-menu\-directory\fP و \fBfvwm\-menu\-desktop\fP، می‌توانند با \fIDynamicPopupAction\fP برای ایجاد فهرست دایرکتوری یا فهرست برنامه‌های کاربردی GNOME/KDE استفاده شوند. .sp مثال (مرورگر فایل): .sp .if n .RS 4 .nf .fam C # You can find the shell script fvwm_make_browse_menu.sh # in the utils/ directory of the distribution. AddToMenu BrowseMenu + DynamicPopupAction PipeRead \(rs \*(Aqfvwm_make_browse_menu.sh BrowseMenu\*(Aq .fam .fi .if n .RE .sp مثال (منوی تصویر): .sp .if n .RS 4 .nf .fam C # Build a menu of all .jpg files in # $HOME/Pictures AddToMenu JpgMenu foo title + DynamicPopupAction Function MakeJpgMenu AddToFunc MakeJpgMenu + I DestroyMenu recreate JpgMenu + I AddToMenu JpgMenu Pictures Title + I PipeRead \*(Aqfor i in $HOME/Pictures/*.jpg; \(rs do echo AddToMenu JpgMenu "`basename $i`" Exec xv $i; done\*(Aq .fam .fi .if n .RE .sp کلمه کلیدی \fIMissingSubmenuFunction\fP معنای مشابهی دارد. هر زمان که بخواهید یک زیرمنو که وجود ندارد را باز کنید، اجرا می‌شود. با این تابع می‌توانید منوها را در لحظه ایجاد و نابود کنید. شما می‌توانید از هر دستوری پس از کلمه کلیدی استفاده کنید، اما اگر نام آیتمی (که یک زیرمنو است) که با \fBAddToFunc\fP تعریف شده به دنبال آن بیاید، fvwm این دستور را اجرا می‌کند: .sp .if n .RS 4 .nf .fam C Function .fam .fi .if n .RE .sp یعنی نام به عنوان آرگومان اول به تابع ارسال می‌شود و می‌توان با "$0" به آن ارجاع داد. .sp اسکریپت \fBfvwm\-menu\-directory\fP که پیش‌تر به آن اشاره شد، می‌تواند همراه با \fIMissingSubmenuFunction\fP برای ایجاد یک فهرست بازگشتی و به‌روز از دایرکتوری استفاده شود. .sp مثال: .sp .if n .RS 4 .nf .fam C # There is another shell script fvwm_make_directory_menu.sh # in the utils/ directory of the distribution. To use it, # define this function in your configuration file: DestroyFunc MakeMissingDirectoryMenu AddToFunc MakeMissingDirectoryMenu + I PipeRead fvwm_make_directory_menu.sh $0 DestroyMenu SomeMenu AddToMenu SomeMenu + MissingSubmenuFunction MakeMissingDirectoryMenu + "Root directory" Popup / .fam .fi .if n .RE .sp این پیاده‌سازی دیگری از مرورگر فایل است که از زیرمنوها برای زیردایرکتوری‌ها استفاده می‌کند. .sp عناوین را می‌توان درون منو استفاده کرد. اگر گزینه \fItop\fP را پس از کلمه کلیدی \fBTitle\fP اضافه کنید، عنوان به بالای منو افزوده می‌شود. اگر قبلاً عنوانی وجود داشته باشد، بازنویسی می‌شود. .sp .if n .RS 4 .nf .fam C AddToMenu Utilities Tools Title top .fam .fi .if n .RE .sp تمام متن تا نخستین Tab در برچسب منو در سمت چپ منو تراز می‌شود، تمام متن سمت راست نخستین Tab در یک ستون دوم به صورت چپ‌چین تراز می‌شود و تمام متن پس از آن در ستون سوم راست‌چین قرار می‌گیرد. تمام Tabهای دیگر با فاصله جایگزین می‌شوند. توجه داشته باشید که می‌توانید این قالب‌بندی را با گزینه \fIItemFormat\fP در دستور \fBMenuStyle\fP تغییر دهید. .sp اگر برچسب منو شامل یک علامت امپرسند (\*(Aq&\*(Aq) باشد، نویسه بعدی به عنوان کلید میان‌بر (hot\-key) برای آن آیتم منو در نظر گرفته می‌شود. کلیدهای میان‌بر در برچسب زیرخط‌دار می‌شوند. برای درج یک \*(Aq&\*(Aq واقعی، مقدار "&&" را وارد کنید. فشردن کلید میان‌بر در فهرست آیتم‌های دارای این کلید میان‌بر حرکت می‌کند یا در صورتی که تنها یک آیتم با این کلید وجود داشته باشد، آن را انتخاب می‌کند. .sp اگر برچسب منو شامل زیررشته‌ای باشد که با علامت‌های ستاره جدا شده است، انتظار می‌رود متن بین ستاره‌ها نام یک فایل تصویر برای درج در منو باشد. برای داشتن یک \*(Aq\fB\*(Aq واقعی، "\fP*" را درج کنید. برای مثال: .sp .if n .RS 4 .nf .fam C + Calculator*xcalc.xpm* Exec exec xcalc .fam .fi .if n .RE .sp یک آیتم منو با برچسب "Calculator" به همراه تصویری از ماشین‌حساب در بالای آن درج می‌کند. مورد زیر: .sp .if n .RS 4 .nf .fam C + *xcalc.xpm*\& Exec exec xcalc .fam .fi .if n .RE .sp برچسب "Calculator" را حذف می‌کند، اما تصویر را باقی می‌گذارد. .sp اگر برچسب منو شامل زیررشته‌ای باشد که با علامت‌های درصد جدا شده است، انتظار می‌رود متن بین علامت‌های درصد نام یک فایل تصویر (یک به‌اصطلاح mini icon) برای درج در سمت چپ برچسب منو باشد. یک mini icon دوم که در سمت راست منو رسم می‌شود نیز می‌تواند به همین روش مشخص شود. برای داشتن یک \*(Aq%\*(Aq واقعی، "%%" را وارد کنید. برای مثال: .sp .if n .RS 4 .nf .fam C + Calculator%xcalc.xpm% Exec exec xcalc .fam .fi .if n .RE .sp یک آیتم منو با برچسب "Calculator" به همراه تصویری از ماشین‌حساب در سمت چپ آن درج می‌کند. دستور زیر: .sp .if n .RS 4 .nf .fam C + %xcalc.xpm%\& Exec exec xcalc .fam .fi .if n .RE .sp برچسب "Calculator" را حذف می‌کند، اما تصویر را باقی می‌گذارد. تصاویر استفاده‌شده در این ویژگی باید کوچک باشند (احتمالاً ۱۶x۱۶). .sp اگر نام منو (نه برچسب) شامل زیررشته‌ای باشد که با علامت‌های ات‌ساین (\*(Aq@\*(Aq) جدا شده است، انتظار می‌رود متن بین آنها نام یک فایل تصویر برای رسم در امتداد سمت چپ منو باشد (یک side pixmap). ممکن است ترجیح دهید به جای آن از گزینه \fISidePic\fP در دستور \fBMenuStyle\fP استفاده کنید. برای داشتن یک \*(Aq@\*(Aq واقعی، "@@" را وارد کنید. برای مثال: .sp .if n .RS 4 .nf .fam C AddToMenu StartMenu@linux\-menu.xpm@ .fam .fi .if n .RE .sp منویی با یک تصویر در گوشه پایین سمت چپ ایجاد می‌کند. .sp اگر نام منو همچنین شامل زیررشته‌ای باشد که با \*(Aq^\*(Aq محصور شده است، انتظار می‌رود متن بین \*(Aq^\*(Aqها نام یک رنگ X11 باشد و ستون حاوی تصویر کناری با آن رنگ رنگ‌آمیزی شود. می‌توانید این رنگ را برای یک سبک منو با استفاده از گزینه \fISideColor\fP در دستور \fBMenuStyle\fP تعیین کنید. برای درج یک \*(Aq^\*(Aq واقعی، "^^" را وارد کنید. مثال: .sp .if n .RS 4 .nf .fam C AddToMenu StartMenu@linux\-menu.xpm@^blue^ .fam .fi .if n .RE .sp منویی با یک تصویر در گوشه پایین سمت چپ ایجاد کرده و ناحیه‌ای از منو را که تصویر در آن قرار دارد با رنگ آبی رنگ‌آمیزی می‌کند. .sp در تمام موارد بالا، نام منوی حاصل همان نام مشخص‌شده است که زیررشته‌های بین جداکننده‌های گوناگون از آن حذف شده‌اند. .RE .sp \fBDestroyMenu\fP [recreate] \fImenu\fP .RS 4 یک منو را حذف می‌کند، به طوری که ارجاعات بعدی به آن دیگر معتبر نخواهند بود. می‌توانید از این دستور برای تغییر محتویات یک منو در طول یک نشست fvwm استفاده کنید. منو را می‌توان با استفاده از \fBAddToMenu\fP دوباره ایجاد کرد. پارامتر اختیاری \fIrecreate\fP به fvwm می‌گوید که منو را به طور کامل دور نیندازد، بلکه تمام آیتم‌های منو (شامل عنوان) را حذف کند. .sp .if n .RS 4 .nf .fam C DestroyMenu Utilities .fam .fi .if n .RE .RE .sp \fBTitle\fP .RS 4 کاری انجام نمی‌دهد. برای درج یک خط عنوان در یک منو یا پنجره بازشو استفاده می‌شود. .RE.SS "دستورهایی که منوها را باز می‌کنند" .sp \fBMenu\fP \fImenu\-name\fP [\fIposition\fP] [\fIdouble\-click\-action\fP] .RS 4 باعث می‌شود منویی که پیش‌تر تعریف شده است به‌صورت چسبنده (sticky) ظاهر شود. به این معنا که اگر کاربر منو را به‌جای عمل کشیدن (drag)، با کلیک کردن فراخوانی کند، منو باز می‌ماند. اگر کاربر هنگام بالا آوردن منو روی یک دکمه دوبار کلیک کند (یا اگر منو به یک کلید مقید شده باشد، آن کلید را سریعاً دوبار بزند)، دستور \fIdouble\-click\-action\fP اجرا می‌شود. اگر اقدام دوبار کلیک مشخص نشده باشد، دوبار کلیک روی منو کاری انجام نمی‌دهد. با این حال، اگر منو با یک مورد منو (یعنی نه با یک عنوان یا جداکننده) آغاز شود و اقدام دوبار کلیک مشخص نشده باشد، دوبار کلیک کردن نخستین مورد منو را فراخوانی می‌کند (اما تنها در صورتی که اشاره‌گر واقعاً روی آن مورد قرار داشته باشد). .sp اگر منو هم با فشردن کلید فراخوانی شده و هم با فشردن کلید بسته شود، اشاره‌گر به همان مکانی که هنگام فراخوانی منو در آن قرار داشت بازگردانده (warp) می‌شود. .sp آرگومان‌های \fIposition\fP امکان جای‌گذاری منو را در جایی از صفحه فراهم می‌کنند، برای نمونه در مرکز صفحه نمایش قابل مشاهده یا بالای یک نوار عنوان. در اصل سازوکار آن به این صورت است: شما یک \fIcontext\-rectangle\fP (مستطیل زمینه) و یک فاصله جبرانی (offset) نسبت به این مستطیل مشخص می‌کنید که گوشه بالا-چپ منو با آن، از گوشه بالا-چپ مستطیل جابه‌جا می‌شود. آرگومان‌های \fIposition\fP از چند بخش تشکیل شده‌اند: .sp [\fIcontext\-rectangle\fP] \fIx\fP \fIy\fP [\fIspecial options\fP] .sp مقدار \fIcontext\-rectangle\fP می‌تواند یکی از موارد زیر باشد: .sp \fIRoot\fP .RS 4 پنجره ریشه (root window) صفحه نمایش جاری. .RE .sp \fIMonitor\fP .RS 4 ناحیه صفحه نمایش RandR جاری. .RE .sp \fIMouse\fP .RS 4 یک مستطیل ۱×۱ در موقعیت ماوس. .RE .sp \fIWindow\fP .RS 4 قاب پنجره زمینه. .RE .sp \fIInterior\fP .RS 4 بخش داخلی پنجره زمینه. .RE .sp \fITitle\fP .RS 4 عنوان پنجره یا آیکون زمینه. .RE .sp \fIButton\fP .RS 4 دکمه از پنجره زمینه. .RE .sp \fIIcon\fP .RS 4 آیکون پنجره زمینه. .RE .sp \fIMenu\fP .RS 4 منوی جاری. .RE .sp \fIItem\fP .RS 4 مورد منوی جاری. .RE .sp \fIContext\fP .RS 4 پنجره، منو یا آیکون جاری. .RE .sp \fIThis\fP .RS 4 هر ویجتی که اشاره‌گر روی آن قرار دارد (مانند گوشه‌ای از یک پنجره یا پنجره ریشه). .RE .sp \fIRectangle\fP <_geometry_> .RS 4 مستطیل تعریف‌شده با <_geometry_> در قالب هندسه X. پهنا و ارتفاع در صورت حذف، به‌طور پیش‌فرض ۱ در نظر گرفته می‌شوند. .sp اگر context\-rectangle حذف شود یا نامعتبر باشد (برای مثال "item" روی یک پنجره)، مقدار "Mouse" پیش‌فرض خواهد بود. توجه داشته باشید که همه این موارد در تمام شرایط معنا ندارند (مثلاً "Icon" زمانی که اشاره‌گر روی یک منو قرار دارد). .sp مقادیر آفست \fIx\fP و \fIy\fP مشخص می‌کنند که منو چه مقدار از موقعیت پیش‌فرض خود جابه‌جا شود. به‌طور پیش‌فرض، مقدار عددی داده‌شده به‌عنوان درصدی از پهنا (ارتفاع) مستطیل زمینه تفسیر می‌شود، اما با قرار دادن یک \*(Aq\fIm\fP\*(Aq در انتها، به‌جای آن از پهنا (ارتفاع) منو استفاده می‌شود. علاوه بر این، یک \*(Aq\fIp\fP\*(Aq در انتها، تفسیر مقدار را به پیکسل تغییر می‌دهد. .sp به‌جای یک مقدار تکی می‌توانید از فهرستی از مقادیر استفاده کنید. همه اعداد اضافی پس از نخستین عدد، با علامت مثبت یا منفی خود از عدد قبلی جدا می‌شوند. از هیچ جداکننده دیگری استفاده نکنید. .sp اگر \fIx\fP یا \fIy\fP دارای پیشوند "\*(Aq\fIo\fP" باشند که در آن یک عدد صحیح است، منو و مستطیل پیش از اعمال هر آفست دیگری، طوری جابه‌جا می‌شوند که در موقعیت مشخص‌شده همپوشانی پیدا کنند. منو و مستطیل به‌گونه‌ای قرار می‌گیرند که پیکسل واقع در درصد از پهنا/ارتفاع مستطیل دقیقاً روی پیکسل واقع در درصد از پهنا/ارتفاع منو قرار گیرد. بنابراین "o0" به این معناست که حاشیه‌های بالا/چپ منو و مستطیل همپوشان می‌شوند، با "o100" حاشیه‌های پایین/راست همپوشانی دارند و اگر از "o50" استفاده کنید، نسبت به یکدیگر در مرکز قرار می‌گیرند (آن را امتحان کنید تا ببینید بسیار ساده‌تر از این توضیحات است). پیش‌فرض "o0" است. پیشوند "o" مخففی برای "+\-m" است. .sp پیشوند \*(Aq\fIc\fP\*(Aq معادل "o50" است. مثال‌ها: .sp .if n .RS 4 .nf .fam C # فهرست پنجره‌ها در وسط صفحه نمایش WindowList Root c c # منو در سمت چپ یک پنجره Menu name window \-100m c+0 # منوی بالاپرنده ۸ پیکسل بالاتر از اشاره‌گر ماوس Popup name mouse c \-100m\-8p # در جایی از صفحه نمایش Menu name rectangle 512x384+1+1 +0 +0 # تراز عمودی در مرکز یک مورد منو AddToMenu foobar\-menu + "first item" Nop + "special item" Popup "another menu" item +100 c + "last item" Nop # بالای نخستین مورد منو AddToMenu foobar\-menu + "first item" Popup "another menu" item +0 \-100m .fam .fi .if n .RE .sp توجه داشته باشید که می‌توانید یک زیرمنو را بسیار دورتر از منوی جاری قرار دهید، به‌طوری که نتوانید بدون ترک کردن منو با ماوس به آن برسید. اگر اشاره‌گر منوی جاری را در جهت کلی زیرمنو ترک کند، منو باز می‌ماند. .RE .sp \fIگزینه‌های ویژه (Special options)\fP .RS 4 .sp برای ایجاد یک منوی جداشونده (tear off) بدون باز کردن منوی معمولی، گزینه \fITearOffImmediately\fP را اضافه کنید. در حالت عادی، منو پیش از جدا شدن، برای کسری از ثانیه در وضعیت معمولی باز می‌شود. از آنجا که جدا کردن منو، آن را مانند هر پنجره دیگری قرار می‌دهد، باید موقعیت آن به‌صورت صریح مشخص شود: .sp .if n .RS 4 .nf .fam C # جلوگیری از جای‌گذاری پنجره منو توسط fvwm Style UsePPosition # منو در گوشه بالا-چپ صفحه نمایش Menu Root 0p 0p TearOffImmediately .fam .fi .if n .RE .sp سبک‌های منوی \fIAnimated\fP و \fIMwm\fP یا \fIWin\fP ممکن است منو را به نقطه دیگری از صفحه منتقل کنند. اگر این رفتار را نمی‌خواهید، می‌توانید \fIFixed\fP را به‌عنوان یک گزینه بیفزایید. این مورد برای نمونه زمانی رخ می‌دهد که بخواهید منو همیشه در گوشه بالا-راست صفحه نمایش باز شود. .sp مایلید هنگام کلیک روی مورد منو، منو در کجا ظاهر شود؟ حالت پیش‌فرض قرار دادن عنوان زیر مکان‌نما است، اما اگر می‌خواهید در همان جایی که آرگومان‌های position مشخص کرده‌اند ظاهر شود، از گزینه \fISelectInPlace\fP استفاده کنید. اگر می‌خواهید اشاره‌گر روی عنوان منو قرار گیرد، \fISelectWarp\fP را نیز به کار ببرید. توجه داشته باشید که این گزینه‌ها تنها در صورتی اعمال می‌شوند که گزینه \fIPopupAsRootMenu\fP در دستور \fBMenuStyle\fP استفاده شده باشد. .sp هر زمان که با بالا آمدن زیرمنو، اشاره‌گر روی یکی از موارد قرار گیرد، اشاره‌گر به عنوان زیرمنو منتقل (warp) می‌شود (سبک منوی \fIfvwm\fP) یا اصلاً هرگز به عنوان منتقل نمی‌شود (سبک‌های منوی \fIMwm\fP یا \fIWin\fP). می‌توانید با گزینه \fIWarpTitle\fP (\fINoWarp\fP)، این انتقال را هنگام باز شدن زیرمنو اجباری (ممنوع) کنید. .sp توجه داشته باشید که \fIspecial\-options\fP با یک منوی معمولی که آرگومان‌های موقعیت دیگری ندارد نیز کار می‌کنند. .RE .RE .sp \fBPopup\fP \fIPopupName\fP [\fIposition\fP] [\fIdefault\-action\fP] .RS 4 این دستور دو هدف دارد: مقید کردن یک منو به یک کلید یا دکمه ماوس، و مقید کردن یک زیرمنو درون یک منو. قالب‌های دستوری این دو هدف اندکی متفاوت هستند. آرگومان‌های \fIposition\fP مشابه دستور \fBMenu\fP هستند. اگر کاربر برای فراخوانی منو روی یک دکمه کلیک کرده و بلافاصله آن را رها کند (یا اگر منو به یک کلید مقید شده باشد، آن کلید را سریعاً دوبار بزند)، دستور \fIdefault\-action\fP اجرا می‌شود. اگر اقدام پیش‌فرض مشخص نشده باشد، دوبار کلیک روی منو کاری انجام نمی‌دهد. با این حال، اگر منو با یک مورد منو (یعنی نه با یک عنوان یا جداکننده) آغاز شود و اقدام پیش‌فرض تعیین نشده باشد، دوبار کلیک نخستین مورد منو را فراخوانی می‌کند (اما تنها در صورتی که اشاره‌گر واقعاً روی آن مورد قرار داشته باشد). .sp برای مقید کردن یک منوی جهنده که از پیش تعریف شده به یک کلید یا دکمه ماوس: .sp مثال زیر دکمه‌های ۲ و ۳ ماوس را به یک منوی بالاپرنده با نام "Window Ops" مقید می‌کند. اگر دکمه‌های ۲ یا ۳ روی قاب پنجره، نوار کناری یا نوار عنوان، بدون کلیدهای تغییردهنده (هیچ‌یک از shift، control یا meta) فشرده شوند، منو ظاهر می‌شود. .sp .if n .RS 4 .nf .fam C Mouse 2 FST N Popup "Window Ops" Mouse 3 FST N Popup "Window Ops" .fam .fi .if n .RE .sp منوهای بالاپرنده را می‌توان از طریق استفاده از دستور \fBKey\fP به کلیدها مقید کرد. با مقید کردن منوها به کلیدها و کنترل از طریق کلیدهای جهت‌نمای بالا، پایین و enter، می‌توان بدون استفاده از ماوس با آن‌ها کار کرد. .sp برای مقید کردن یک منوی بالاپرنده تعریف‌شده قبلی به یک منوی دیگر، جهت استفاده به‌عنوان زیرمنو: .sp مثال زیر یک زیرمنو با نام "Quit\-Verify" تعریف کرده و آن را درون یک منوی اصلی به نام "RootMenu" پیوند می‌دهد: .sp .if n .RS 4 .nf .fam C AddToMenu Quit\-Verify + "Really Quit Fvwm?" Title + "Yes, Really Quit"\& Quit + "Restart Fvwm"\& Restart + ""\& Nop + "No, Don\*(Aqt Quit"\& Nop AddToMenu RootMenu "Root Menu" Title + "Open XTerm Window" Popup NewWindowMenu + "Login as Root"\& Exec exec xterm \-T Root \-n Root \-e su \- + "Login as Anyone"\& Popup AnyoneMenu + "Remote Hosts"\& Popup HostMenu + ""\& Nop + "X utilities"\& Popup Xutils + ""\& Nop + "Fvwm Modules"\& Popup Module\-Popup + "Fvwm Window Ops"\& Popup Window\-Ops + ""\& Nop + "Previous Focus"\& Prev (AcceptsFocus) Focus + "Next Focus"\& Next (AcceptsFocus) Focus + ""\& Nop + "Refresh screen"\& Refresh + ""\& Nop + "Reset X defaults"\& Exec xrdb \-load \(rs $HOME/.Xdefaults + ""\& Nop + ""\& Nop + Quit\& Popup Quit\-Verify .fam .fi .if n .RE .sp دستور Popup با \fBMenu\fP متفاوت است زیرا منوهای بالاپرنده با یک کلیک ساده باز نمی‌مانند. این‌ها منوهای جهنده‌ای هستند که کار با آن‌ها کمی به مچ دست فشار می‌آورد. منوهای حاصل از \fBMenu\fP با عمل کلیک باز می‌مانند. برای توضیح رفتار تعاملی منوها، دستور \fBMenu\fP را ببینید. یک منو می‌تواند تا ده بار به‌طور هم‌زمان باز شود، بنابراین یک منو حتی می‌تواند خود یا هر یک از اجدادش را به‌عنوان زیرمنو به کار ببرد. .RE .sp \fBTearMenuOff\fP .RS 4 هنگامی که به یک مورد منو اختصاص داده شود، یک نوار جداکننده (یک خط‌چین افقی) درون منو درج می‌کند. فعال کردن آن مورد منو را جدا می‌کند. اگر مورد منو دارای برچسب باشد، به‌جای خط‌چین نمایش داده می‌شود. اگر خارج از منوها استفاده شود، این دستور کاری انجام نمی‌دهد. مثال‌ها: .sp .if n .RS 4 .nf .fam C AddToMenu WindowMenu + I "" TearMenuOff AddToMenu RootMenu + I "click here to tear me off" TearMenuOff .fam .fi .if n .RE .RE.SS "دستورهای سبک منو (Menu style commands)" .sp سبک‌های منو (Menu styles) ظاهر و رفتار را توصیف می‌کنند، همان‌طور که سبک‌های معمولی این کار را برای پنجره‌ها انجام می‌دهند. سبک‌های منو به منوهای جداگانه یا همه منوها اختصاص می‌یابند، و تغییر سبک منو بلافاصله روی تمام منوهایی که از آن استفاده می‌کنند تأثیر می‌گذارد. (اگر یک سبک منو از داخل یک منو استفاده شود، تغییرات دفعه بعدی که منوی مربوطه باز شود اعمال خواهند شد.) .sp \fBChangeMenuStyle\fP \fImenustyle\fP \fImenu\fP .\|.\|. .RS 4 سبک منوی \fImenu\fP را به \fImenustyle\fP تغییر می‌دهد. شما می‌توانید در هر بار فراخوانی \fBChangeMenuStyle\fP بیش از یک منو را مشخص کنید. .RE .sp \fBCopyMenuStyle\fP \fIorig\-menustyle\fP \fIdest\-menustyle\fP .RS 4 \fIorig\-menustyle\fP را در \fIdest\-menustyle\fP رونویسی می‌کند، که در آن \fIorig\-menustyle\fP یک سبک منوی موجود است. اگر سبک منوی \fIdest_menustyle\fP وجود نداشته باشد، ایجاد می‌شود. .RE .sp \fBDestroyMenuStyle\fP \fImenustyle\fP .RS 4 سبک منوی با نام \fImenustyle\fP را حذف کرده و تمام منوهایی که از این سبک استفاده می‌کنند را به سبک پیش‌فرض تغییر می‌دهد؛ شما نمی‌توانید سبک منوی پیش‌فرض را نابود کنید. .sp .if n .RS 4 .nf .fam C DestroyMenuStyle pixmap1 .fam .fi .if n .RE .RE .sp \fBMenuStyle\fP \fIstylename\fP [\fIoptions\fP] .RS 4 یک سبک منوی جدید تنظیم می‌کند یا سبکی که قبلاً تعریف شده را تغییر می‌دهد. \fIstylename\fP نام سبک است؛ اگر شامل فاصله یا تب باشد باید درون نقل‌قول قرار گیرد. نام «\fB*\fP» برای سبک منوی پیش‌فرض رزرو شده است. سبک منوی پیش‌فرض برای هر شیء شبیه منو (مانند پنجره ایجاد شده توسط دستور \fBWindowList\fP) که با استفاده از \fBChangeMenuStyle\fP سبکی به آن اختصاص داده نشده است، استفاده می‌شود. همچنین \fBDestroyMenuStyle\fP را ببینید. هنگام استفاده از حالت تک‌رنگ (monochrome)، گزینه‌های رنگ نادیده گرفته می‌شوند. .sp \fIoptions\fP فهرستی جدا شده با کاما از برخی از کلیدواژه‌های زیر است: Fvwm / Mwm / Win، BorderWidth، HilightBack / !HilightBack، HilightTitleBack، ActiveFore / !ActiveFore، MenuColorset، ActiveColorset، GreyedColorset، TitleColorset، Hilight3DThick / Hilight3DThin / Hilight3DOff، Hilight3DThickness، Animation / !Animation، Font، TitleFont، PopupDelay، PopupOffset، TitleWarp / !TitleWarp، TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2، SeparatorsLong / SeparatorsShort، TrianglesSolid / TrianglesRelief، PopupImmediately / PopupDelayed، PopdownImmediately / PopdownDelayed، PopupActiveArea، DoubleClickTime، SidePic، SideColor، PopupAsRootMenu / PopupAsSubmenu / PopupIgnore / PopupClose، RemoveSubmenus / HoldSubmenus، SubmenusRight / SubmenusLeft، SelectOnRelease، ItemFormat، VerticalItemSpacing، VerticalMargins، VerticalTitleSpacing، AutomaticHotkeys / !AutomaticHotkeys، UniqueHotkeyActivatesImmediate / !UniqueHotkeyActivatesImmediate، MouseWheel، ScrollOffPage / !ScrollOffPage، TrianglesUseFore / !TrianglesUseFore، Translucent / !Translucent. .sp در فهرست بالا برخی از گزینه‌ها به صورت جفت یا سه‌تایی با یک \*(Aq/\*(Aq در میان آنها فهرست شده‌اند. این گزینه‌ها مانعة‌الجمع هستند. تمام گزینه‌های جفت را می‌توان با افزودن پیشوند ! به گزینه نقیض کرد تا اثر گزینه همتای خود را داشته باشند. .sp گزینه‌های \fIFvwm\fP، \fIMwm\fP و \fIWin\fP تمام گزینه‌ها را به سبک با همین نام در نسخه‌های پیشین fvwm بازنشانی می‌کنند. پیش‌فرض برای سبک‌های منوی جدید، سبک \fIFvwm\fP است. این گزینه‌ها همه گزینه‌های دیگر را به جز \fIHilightBack\fP، \fIActiveFore\fP و \fIPopupDelay\fP بازنویسی می‌کنند، بنابراین فقط باید به عنوان اولین گزینه مشخص‌شده برای یک سبک منو یا برای بازنشانی سبک به رفتاری مشخص استفاده شوند. همین اثر را می‌توان با تنظیم تک‌تک تمام گزینه‌های دیگر نیز ایجاد کرد. .sp منوهای با سبک \fIMwm\fP و \fIWin\fP زیرمنوها را به صورت خودکار باز می‌کنند. منوهای \fIWin\fP آیتم جاری منو را با تغییر پس‌زمینه به تیره مشخص می‌کنند. زیرمنوهای \fIFvwm\fP روی منوی والد هم‌پوشانی دارند، در حالی که منوهای سبک \fIMwm\fP و \fIWin\fP هرگز با منوی والد هم‌پوشانی پیدا نمی‌کنند. .sp سبک \fIFvwm\fP معادل است با !HilightBack، Hilight3DThin، !ActiveFore، !Animation، Font، PopupOffset 0 67، TitleWarp، TitleUnderlines1، SeparatorsShort، TrianglesRelief، PopupDelayed، PopdownDelayed، PopupDelay 150، PopdownDelay 150، PopupAsSubmenu، HoldSubmenus، SubmenusRight، BorderWidth 2، !AutomaticHotkeys، UniqueHotkeyActivatesImmediate، PopupActiveArea 75. .sp سبک \fIMwm\fP معادل است با !HilightBack، Hilight3DThick، !ActiveFore، !Animation، Font، PopupOffset \-3 100، !TitleWarp، TitleUnderlines2، SeparatorsLong، TrianglesRelief، PopupImmediately، PopdownDelayed، PopdownDelay 150، PopupAsSubmenu، HoldSubmenus، SubmenusRight، BorderWidth 2، UniqueHotkeyActivatesImmediate، !AutomaticHotkeys، PopupActiveArea 75. .sp سبک \fIWin\fP معادل است با HilightBack، Hilight3DOff، ActiveFore، !Animation، Font، PopupOffset \-5 100، !TitleWarp، TitleUnderlines1، SeparatorsShort، TrianglesSolid، PopupImmediately، PopdownDelayed، PopdownDelay 150، PopupAsSubmenu، RemoveSubmenus، SubmenusRight، BorderWidth 2، UniqueHotkeyActivatesImmediate، !AutomaticHotkeys، PopupActiveArea 75. .sp گزینه \fIBorderWidth\fP ضخامت حاشیه دور منوها را بر حسب پیکسل دریافت می‌کند. مقدار آن می‌تواند بین ۰ تا ۵۰ پیکسل باشد. پیش‌فرض ۲ است. استفاده از یک مقدار نامعتبر، پهنای حاشیه را به مقدار پیش‌فرض بازمی‌گرداند. .sp گزینه‌های \fIHilightBack\fP و \fI!HilightBack\fP برجسته‌سازی پس‌زمینه آیتم انتخاب‌شده منو را روشن و خاموش می‌کنند. رنگ پس‌زمینه \fIActiveColorset\fP برای برجسته‌سازی استفاده می‌شود. .sp گزینه \fIHilightTitleBack\fP برجسته‌سازی پس‌زمینه عنوان‌های منو را روشن می‌کند. رنگ پس‌زمینه \fITitleColorset\fP برای برجسته‌سازی به کار می‌رود. .sp گزینه‌های \fIActiveFore\fP و \fI!ActiveFore\fP برجسته‌سازی پیش‌زمینه آیتم انتخاب‌شده منو را روشن و خاموش می‌کنند. رنگ پیش‌زمینه \fIActiveColorset\fP برای برجسته‌سازی استفاده می‌شود. .sp گزینه \fIMenuColorset\fP مجموعه رنگ (colorset) مورد استفاده برای رنگ‌آمیزی منو را کنترل می‌کند. اگر برای مجموعه رنگ یک pixmap یا طیف رنگی تعریف شده باشد، از آن به عنوان پس‌زمینه منو استفاده می‌شود. ماسک شکل (shape mask) مجموعه رنگ برای شکل دادن به منو به کار می‌رود. لطفاً برای جزئیات درباره مجموعه رنگ‌ها به بخش \fBColorsets\fP مراجعه کنید. .sp گزینه \fIActiveColorset\fP رنگ آیتم فعال منو را کنترل می‌کند، به شرطی که سبک‌های منوی \fIHilightBack\fP یا \fIActiveFore\fP استفاده شده باشند. در صورت مشخص شدن، رنگ‌های برجستگی و سایه از مجموعه رنگ نیز استفاده می‌شوند. نقشه پیکسلی و ماسک شکل از مجموعه رنگ استفاده نمی‌شوند. برجسته‌سازی پس‌زمینه یا پیش‌زمینه را می‌توان به طور جداگانه با سبک‌های منوی \fI!ActiveFore\fP یا \fI!HilightBack\fP خاموش کرد. .sp گزینه \fIGreyedColorset\fP دقیقاً مانند \fIMenuColorset\fP عمل می‌کند، اما پیش‌زمینه حاصل از مجموعه رنگ جایگزین رنگ داده شده با سبک منوی \fIGreyed\fP می‌شود. هیچ بخش دیگری از مجموعه رنگ استفاده نمی‌شود. .sp گزینه \fITitleColorset\fP دقیقاً مانند \fIMenuColorset\fP عمل می‌کند، اما فقط برای عنوان‌های منو استفاده می‌شود. .sp گزینه \fITranslucent\fP یک جلوه شبه‌شفاف را کنترل می‌کند که از تصویری از میزکار زیر منو به عنوان تصویر پس‌زمینه خود استفاده می‌نماید. این گزینه یک مقدار می‌گیرد که عددی بین ۰ (کاملاً نیمه‌شفاف) و ۱۰۰ (غیر شفاف) است، که درصد نیمه‌شفافی را نشان می‌دهد. از \fI!Translucent\fP (یا بدون مقدار اضافی) برای خاموش کردن این جلوه استفاده کنید. جلوه نیمه‌شفاف فقط برای منوهای معمولی اعمال می‌شود و برای منوهای «جدا شده» (torn off) اعمال نمی‌گردد. توجه داشته باشید که فقط پس‌زمینه منو نیمه‌شفاف است، و \fIHilightBack\fP برای آیتم فعال و \fIHilightTitleBack\fP برای عنوان نیمه‌شفاف نیستند. برای داشتن یک منوی کاملاً نیمه‌شفاف از دستور زیر استفاده کنید: .sp .if n .RS 4 .nf .fam C MenuStyle * Translucent 60, !HilightBack, !HilightTitleBack, ActiveFore .fam .fi .if n .RE .sp گزینه‌های \fIHilight3DThick\fP، \fIHilight3DThin\fP و \fIHilight3DOff\fP تعیین می‌کنند که آیا آیتم انتخاب‌شده منو با برجستگی سه‌بعدی مشخص شود یا خیر. برجستگی‌های ضخیم دارای پهنای دو پیکسل و برجستگی‌های نازک دارای پهنای یک پیکسل هستند. .sp گزینه \fIHilight3DThickness\fP یک آرگومان عددی می‌گیرد که می‌تواند بین \-50 تا +50 پیکسل باشد. با مقادیر منفی، آیتم منو ظاهری فشرده‌شده به داخل پیدا می‌کند. سه دستور فوق معادل ضخامت‌های ۲، ۱ و ۰ هستند. .sp گزینه‌های \fIAnimation\fP و \fI!Animation\fP پویانمایی منو را روشن یا خاموش می‌کنند. هنگامی که پویانمایی روشن باشد، زیرمنوهایی که در صفحه جا نمی‌شوند باعث می‌شوند منوی والد به سمت چپ جابه‌جا شود تا زیرمنو قابل دیدن باشد. .sp گزینه‌های \fIFont\fP و \fITitleFont\fP نام یک قلم را به عنوان آرگومان می‌گیرند. اگر قلمی با این نام وجود داشته باشد، برای متن تمام آیتم‌های منو استفاده می‌شود. اگر وجود نداشته باشد یا نام آن خالی گذاشته شود، از پیش‌فرض توکار استفاده می‌شود. اگر \fITitleFont\fP مشخص شده باشد، به جای قلم معمولی برای تمام عنوان‌های منو استفاده می‌شود. .sp گزینه \fIPopupDelay\fP به یک آرگومان عددی نیاز دارد. این مقدار، تأخیر بر حسب میلی‌ثانیه قبل از باز شدن زیرمنو است زمانی که نشانگر ماوس روی یک آیتم منو که دارای زیرمنو است حرکت می‌کند. اگر مقدار صفر باشد، هیچ باز شدن خودکاری انجام نمی‌شود. اگر آرگومان حذف شود، از پیش‌فرض توکار استفاده می‌شود. توجه داشته باشید در صورتی که از گزینه \fIPopupImmediately\fP استفاده شود، تأخیر پاپ‌آپ هیچ تأثیری ندارد زیرا در این حالت زیرمنوها بلافاصله باز می‌شوند. .sp گزینه \fIPopupImmediately\fP باعث می‌شود آیتم‌های منو که دارای زیرمنو هستند به محض ورود نشانگر به آیتم، زیرمنو را باز کنند. در این حالت گزینه \fIPopupDelay\fP نادیده گرفته می‌شود. اگر \fIPopupDelayed\fP استفاده شود، fvwm برای تعیین زمان و چگونگی این باز شدن خودکار به گزینه \fIPopupDelay\fP نگاه می‌کند. .sp گزینه \fIPopdownDelay\fP دقیقاً مانند \fIPopupDelay\fP کار می‌کند اما مهلت زمانی سبک \fIPopupDelayed\fP را تعیین می‌کند. .sp گزینه \fIPopdownImmediately\fP باعث می‌شود زیرمنوها به محض اینکه نشانگر از زیرمنو و آیتم مربوطه در منوی والد خارج شد، ناپدید شوند. با گزینه متضاد آن یعنی \fIPopdownDelayed\fP، زیرمنو تنها پس از زمان مشخص‌شده با گزینه \fIPopdownDelay\fP بسته می‌شود. این ویژگی زمانی مفید است که هنگام تلاش برای رفتن به داخل زیرمنو، نشانگر اغلب از روی آیتم منو منحرف می‌شود. هرگاه تعارضی بین سبک‌های \fIPopupImmediately\fP، \fIPopupDelayed\fP، \fIPopupDelay\fP و سبک‌های \fIPopdownImmediately\fP، \fIPopdownDelayed\fP، \fIPopdownDelay\fP وجود داشته باشد، در ناوبری با ماوس سبک‌های \fIPopup.\|.\|.\fP و در ناوبری با صفحه‌کلید سبک‌های \fIPopdown.\|.\|.\fP اولویت دارند. .sp گزینه \fIPopupOffset\fP به دو آرگومان از نوع عدد صحیح نیاز دارد. هر دو مقدار بر مکان قرارگیری زیرمنوها نسبت به منوی والد تأثیر می‌گذارند. اگر هر دو مقدار صفر باشند، لبه سمت چپ زیرمنو با لبه سمت چپ منوی والد هم‌پوشانی خواهد داشت. اگر مقدار اول غیر صفر باشد، زیرمنو به همان تعداد پیکسل به سمت راست (یا در صورت منفی بودن به سمت چپ) جابه‌جا می‌شود. اگر مقدار دوم غیر صفر باشد، منو به اندازه آن درصد از عرض منوی والد به سمت راست یا چپ حرکت می‌کند. .sp گزینه \fIPopupActiveArea\fP به یک مقدار عدد صحیح بین ۵۱ تا ۱۰۰ نیاز دارد. به طور معمول، وقتی نشانگر روی یک آیتم منو دارای زیرمنو قرار دارد و وارد ناحیه‌ای می‌شود که از ۷۵٪ عرض منو شروع می‌شود، زیرمنو بلافاصله نمایش داده می‌شود. این درصد را می‌توان با \fIPopupActiveArea\fP تغییر داد. تنظیم این مقدار روی ۱۰۰ این نوع پاپ‌آپ‌های خودکار را به طور کامل غیرفعال می‌کند. در صورت عدم ارائه مقدار یا نامعتبر بودن مقدار، مقدار پیش‌فرض بازیابی می‌شود. .sp گزینه‌های \fITitleWarp\fP و \fI!TitleWarp\fP مشخص می‌کنند که آیا هنگام باز شدن یک زیرمنو، نشانگر به سمت عنوان منو جهش پیدا کند یا خیر. توجه داشته باشید بدون در نظر گرفتن این تنظیم، اگر منو زیر نشانگر باز نشود، نشانگر جهش نخواهد کرد. .sp گزینه‌های \fITitleUnderlines0\fP، \fITitleUnderlines1\fP و \fITitleUnderlines2\fP مشخص می‌کنند چه تعداد خط زیر عنوان منو کشیده شود. .sp گزینه‌های \fISeparatorsLong\fP و \fISeparatorsShort\fP طول جداکننده‌های منو را تعیین می‌کنند. جداکننده‌های بلند از لبه سمت چپ تا انتهای لبه سمت راست کشیده می‌شوند. جداکننده‌های کوتاه چند پیکسل فاصله تا لبه‌های منو باقی می‌گذارند. .sp گزینه‌های \fITrianglesSolid\fP و \fITrianglesRelief\fP بر نحوه رسم مثلث‌های کوچک برای زیرمنوها تأثیر می‌گذارند. مثلث‌های توپر با یک رنگ پر شده‌اند در حالی که مثلث‌های برجسته توخالی هستند. .sp گزینه \fIDoubleClickTime\fP به یک آرگومان عددی نیاز دارد. این مقدار مدت زمان بر حسب میلی‌ثانیه بین دو کلیک ماوس در یک منو است تا به عنوان دوکلیک در نظر گرفته شود. مقدار پیش‌فرض ۴۵۰ میلی‌ثانیه است. اگر آرگومان حذف شود، زمان دوکلیک به این مقدار پیش‌فرض بازنشانی می‌شود. .sp گزینه \fISidePic\fP نام یک فایل تصویری را به عنوان آرگومان می‌گیرد. تصویر در امتداد سمت چپ منو رسم می‌شود. گزینه \fISidePic\fP می‌تواند توسط یک pixmap جانبی مخصوص یک منو بازنویسی شود (به \fBAddToMenu\fP مراجعه کنید). اگر نام فایل حذف شود، تصویر جانبی موجود از سبک منو حذف می‌شود. .sp گزینه \fISideColor\fP نام یک رنگ X11 را به عنوان آرگومان می‌گیرد. این رنگ برای رنگ‌آمیزی ستون حاوی تصویر جانبی استفاده می‌شود (به بالا مراجعه کنید). گزینه SideColor می‌تواند با یک رنگ جانبی مخصوص به یک منو بازنویسی شود (به \fBAddToMenu\fP مراجعه کنید). اگر نام رنگ حذف شود، گزینه رنگ جانبی خاموش می‌شود. .sp گزینه‌های \fIPopupAsRootMenu\fP، \fIPopupAsSubmenu\fP، \fIPopupIgnore\fP و \fIPopupClose\fP رفتار برنامه را هنگام کلیک بر روی آیتمی از منو که زیرمنویی را باز می‌کند، تغییر می‌دهند. با \fIPopupAsRootMenu\fP منوی اصلی قبل از ظاهر شدن زیرمنو بسته می‌شود؛ با \fIPopupAsSubmenu\fP منوی اصلی بسته نمی‌شود، بنابراین می‌توانید به منوی والد بازگردید. علاوه بر این، با \fIPopupAsSubmenu\fP زیرمنو صرف‌نظر از اینکه ماوس را به کجا حرکت دهید باز نگه داشته می‌شود (posted). بسته به سبک منوی شما، این ممکن است ناوبری در منو را ساده‌تر کند. فشردن \fBهر\fP کلیدی در حالی که منو باز نگه داشته شده است، منو را به رفتار عادی بازمی‌گرداند. با \fIPopupClose\fP منو پس از فعال شدن یک آیتم زیرمنو بسته می‌شود، و در صورت استفاده از \fIPopupIgnore\fP منو باز می‌ماند (حتی اگر منو با دستور \fBPopup\fP فراخوانی شده باشد). پیش‌فرض \fIPopupAsSubmenu\fP است. .sp گزینه \fIRemoveSubmenus\fP به fvwm دستور می‌دهد هنگامی که به منوی والد بازمی‌گردید، زیرمنو را حذف کند. با \fIHoldSubmenus\fP زیرمنو قابل مشاهده باقی می‌ماند. اگر از سبک \fIPopupDelayed\fP استفاده می‌کنید احتمالاً مایلید از \fIHoldSubmenus\fP استفاده کنید. گزینه \fIRemoveSubmenus\fP بر ناوبری منو با صفحه‌کلید تأثیر می‌گذارد. .sp گزینه \fISelectOnRelease\fP نام یک کلید اختیاری را به عنوان آرگومان می‌گیرد. اگر کلید داده‌شده در منویی با این سبک رها شود، آیتم جاری منو انتخاب می‌شود. این قابلیت برای ناوبری \fBWindowList\fP در نظر گرفته شده است. نام کلید یک نام کلید استاندارد X11 است همان‌گونه که در \fI/usr/include/X11/keysymdef.h\fP (بدون پیشوند \fIXK_\fP) یا در پایگاه داده keysym در مسیر \fI/usr/X11R6/lib/X11/XKeysymDB\fP تعریف شده است. برای غیرفعال کردن این رفتار، نام کلید را حذف کنید. .sp نکته: برخی از کارگزارهای X از رویدادهای KeyRelease پشتیبانی نمی‌کنند. \fISelectOnRelease\fP روی چنین ماشین‌هایی کار نمی‌کند. .sp گزینه \fIItemFormat\fP یک رشته خاص را به عنوان آرگومان خود می‌گیرد که چینش آیتم‌های منو را تعیین می‌کند. رشته قالب‌بندی را طوری تصور کنید که گویی خود یک آیتم منو است. تنها کاری که باید انجام دهید این است که به fvwm بگویید بخش‌های مختلف آیتم منو (یعنی برچسب‌ها، مثلث نشان‌دهنده زیرمنو، مینی‌آیکون‌ها و تصویر جانبی) را در کجای ناحیه خالی قرار دهد. این رشته شامل فاصله‌ها، .sp نویسه‌ها و دستورالعمل‌های قالب‌بندی است که با \*(Aq%\*(Aq شروع می‌شوند. هر نویسه یا دستورالعمل قالب‌بندی نامعتبر بدون هشدار نادیده گرفته می‌شود: .sp \fB%l\fP، \fB%c\fP و \fB%r\fP .RS 4 برچسب آیتم بعدی را درج می‌کنند. حداکثر سه برچسب را می‌توان استفاده کرد. ستون آیتم چپ‌چین (\fB%l\fP)، وسط‌چین (\fB%c\fP) یا راست‌چین (\fB%r\fP) می‌شود. .RE .sp \fB%i\fP .RS 4 مینی‌آیکون را درج می‌کند. .RE .sp \fB%>\fP و \fB%<\fP .RS 4 مثلث زیرمنو را با اشاره به سمت راست (\fB%>\fP) یا به سمت چپ (\fB%<\fP) درج می‌کنند. .RE .sp \fB%|\fP .RS 4 اولین \fB%|\fP نشان‌دهنده شروع ناحیه‌ای است که با رنگ پس‌زمینه یا برجستگی (یا هر دو) مشخص می‌شود. دومین \fB%|\fP پایان این ناحیه را نشان می‌دهد. از \fB%|\fP حداکثر تا دو بار می‌توان در رشته استفاده کرد. اگر یکی از آن‌ها یا هر دو را اضافه نکنید، fvwm حاشیه‌ها را روی حاشیه‌های کل آیتم تنظیم می‌کند (بدون احتساب تصویر جانبی). .RE .sp \fB%s\fP .RS 4 تصویر جانبی را در ابتدا یا انتهای منو قرار می‌دهد. از این دستورالعمل فقط یک بار و تنها به عنوان اولین یا آخرین مورد در رشته قالب‌بندی می‌توان استفاده کرد. اگر \fB%s\fP در ابتدای رشته نباشد، منوها به درستی رسم نمی‌شوند. .RE .sp \fBSpace\fP، \fBTab\fP، \fB%Space\fP و \fB%Tab\fP .RS 4 فاصله‌ای به اندازه یک فاصله یا یک تب، با استفاده از عرض قلم منو اضافه می‌کنند. هنگام استفاده از تب، اندازه فاصله می‌تواند یک تا ۸ فاصله باشد زیرا موقعیت تب مضربی از ۸ از لبه منو است. در صورت استفاده از فاصله‌ها یا تب‌ها، کل رشته باید نقل‌قول شود. .RE .sp \fB%p\fP .RS 4 مانند Space و Tab، دستورالعمل \fB%p\fP نیز یک ناحیه خالی در آیتم درج می‌کند، اما با کنترل بهتر روی اندازه آن (پایین را ببینید). .RE .sp شما می‌توانید قبل و بعد از هر یک از شیءها یک فاصله اضافی مانند زیر تعریف کنید: .sp .if n .RS 4 .nf .fam C %left.rightp .fam .fi .if n .RE .sp این بدان معناست که: اگر شیء در منو تعریف شده باشد (مثلاً اگر \fB%s\fP باشد و شما از یک تصویر جانبی استفاده کنید، یا \fB%l\fP برای ستون سوم باشد و آیتم‌هایی تعریف شده باشند که واقعاً ستون سوم دارند)، آن‌گاه به اندازه \fIleft\fP پیکسل قبل از شیء و \fIright\fP پیکسل بعد از آن اضافه کن. اگر به بخش‌های \fIleft\fP یا \fI.right\fP نیازی ندارید می‌توانید آن‌ها را حذف کنید. تمام مقادیر تا پهنای صفحه نمایش مجاز هستند. حتی مقادیر منفی نیز با احتیاط قابل استفاده‌اند. کاراکتر \fBp\fP می‌تواند با هر دستورالعمل قالب‌بندی دیگری که در بالا توضیح داده شد جایگزین شود. .sp نکته: فقط مواردی که در رشته قالب‌بندی تعریف شده‌اند در منوها قابل مشاهده هستند. بنابراین اگر \fB%s\fP را در آن قرار ندهید، حتی اگر مشخص شده باشد، تصویر جانبی را نخواهید دید. .sp نکته: سبک \fISubmenusLeft\fP رشته پیش‌فرض \fIItemFormat\fP را تغییر می‌دهد، اما اگر به صورت دستی تنظیم شده باشد، تغییر داده نمی‌شود. .sp نکته: اگر عنوان قالب‌بندی‌نشده منو پهن‌تر از عریض‌ترین آیتم منو باشد، فاصله‌های بین بخش‌های مختلف آیتم‌های منو گسترش می‌یابند تا با عرض عنوان مطابقت پیدا کنند. اشیاء چپ‌چین ابتدایی در رشته قالب‌بندی (\fB%l\fP، \fB%i\fP، \fB%<\fP، اولین \fB%|\fP) به لبه سمت چپ منو می‌چسبند و اشیاء راست‌چین انتهایی (\fB%r\fP، \fB%i\fP، \fB%>\fP، دومین \fB%|\fP) به لبه سمت راست می‌چسبند. فاصله‌های بین آیتم‌های باقی‌مانده به طور یکسان بزرگ می‌شوند. .sp مثال‌ها: .sp .if n .RS 4 .nf .fam C MenuStyle * ItemFormat "%.4s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" .fam .fi .if n .RE .sp رشته پیش‌فرض مورد استفاده fvwm است: (تصویر جانبی + ۴ پیکسل فاصله) (ابتدای ناحیه برجسته‌شده + ۱ پیکسل فاصله) (مینی‌آیکون + 5p) (ستون اول چپ‌چین + 5p) (ستون دوم چپ‌چین + 5p) (ستون سوم راست‌چین + 5p) (مینی‌آیکون دوم + 5p) (2p + مثلث زیرمنو + 3p) (1p + انتهای ناحیه برجسته‌شده). .sp .if n .RS 4 .nf .fam C MenuStyle * ItemFormat "%.1|%3.2<%5i%5l%5l%5r%5i%1|%4s" .fam .fi .if n .RE .sp توسط fvwm با گزینه \fISubmenusLeft\fP در زیر استفاده می‌شود. .sp گزینه‌های \fIVerticalItemSpacing\fP و \fIVerticalTitleSpacing\fP فاصله‌گذاری عمودی آیتم‌ها و عنوان‌های منو را کنترل می‌کنند، همان‌طور که \fIItemFormat\fP فاصله‌گذاری افقی را کنترل می‌کند. هر دو، دو آرگومان عددی می‌گیرند که می‌توانند در بازه \-100 تا +100 باشند. اولی فاصله بر حسب پیکسل در بالای یک آیتم معمولی منو (یا یک عنوان منو) است و دومی فاصله بر حسب پیکسل در پایین آن است. اعداد منفی چندان معقول نیستند و ممکن است ظاهر منو را کاملاً به هم بریزند. اگر آرگومانی داده نشود یا آرگومان‌های داده‌شده نامعتبر باشند، از مقادیر پیش‌فرض توکار استفاده می‌شود: یک پیکسل بالای آیتم یا عنوان و دو پیکسل زیر آن. .sp گزینه \fIVerticalMargins\fP می‌تواند برای افزودن مقداری حاشیه درونی در بالا و پایین منوها استفاده شود. این گزینه دو آرگومان عددی می‌گیرد که باید اعداد صحیح مثبت (یا صفر) باشند. اگر تعداد آرگومان‌ها یا مقادیر آن‌ها نادرست باشد، fvwm هر دو را به صورت پیش‌فرض روی ۰ قرار می‌دهد، که به معنای عدم وجود حاشیه درونی است. اگر مقادیر صحیح باشند، مقدار اول برای حاشیه بالا و مقدار دوم برای حاشیه پایین استفاده می‌شود. .sp گزینه \fISubmenusLeft\fP چینش و رفتار منو را آینه‌ای می‌کند. زیرمنوها به سمت چپ باز می‌شوند، مثلث زیرمنو در سمت چپ رسم می‌شود و مینی‌آیکون و تصویر جانبی در سمت راست منو کشیده می‌شوند. پیش‌فرض \fISubmenusRight\fP است. راهنماهای موقعیت منو نیز تحت تأثیر این تنظیم قرار می‌گیرند، یعنی راهنماهای موقعیت که از \fIitem\fP یا \fImenu\fP به عنوان مستطیل زمینه استفاده می‌کنند و راهنماهای موقعیت با آفست‌های \fIm\fP. .sp گزینه‌های \fIAutomaticHotkeys\fP و \fI!AutomaticHotkeys\fP توانایی منو برای ارائه خودکار کلیدهای میانبر روی اولین نویسه از برچسب هر آیتم منو را کنترل می‌کنند. اگر در دستور \fBAddToMenu\fP یک کلید میانبر صریح اختصاص داده شده باشد، این رفتار همیشه بازنویسی می‌شود. .sp گزینه‌های \fIUniqueHotkeyActivatesImmediate\fP و \fI!UniqueHotkeyActivatesImmediate\fP نحوه فراخوانی آیتم‌های منو را هنگام استفاده با کلیدهای میانبر کنترل می‌کنند. به طور پیش‌فرض، اگر یک ورودی منو فقط یک تطابق قابل تکمیل برای یک کلید میانبر معین داشته باشد، کنش آن ورودی منو فراخوانی شده و منو بسته می‌شود. این امر به دلیل گزینه \fIUniqueHotkeyActivatesImmediate\fP است. با این حال، با استفاده از گزینه \fI!UniqueHotkeyActivatesImmediate\fP می‌توان به منو دستور داد باز بماند و منتظر بماند تا کاربر در زمانی که فقط یک آیتم منطبق برای یک کلید میانبر وجود دارد، آیتم انتخاب‌شده را فراخوانی کند. .sp گزینه \fIMouseWheel\fP امکان پیمایش منو با استفاده از چرخ ماوس را کنترل می‌کند. این گزینه یک آرگومان می‌گیرد که می‌تواند یکی از مقادیر ScrollsPointer، ScrollsMenu، ScrollsMenuBackwards یا ActivatesItem باشد. مقدار ScrollsPointer باعث می‌شود چرخ ماوس نشانگر را روی منو پیمایش کند. این پیش‌فرض است. مقادیر ScrollsMenu و ScrollsMenuBackwards منو را زیر نشانگر ماوس پیمایش می‌کنند. ActivatesItem پیمایش با چرخ ماوس را غیرفعال کرده و استفاده از چرخ ماوس را طوری تنظیم می‌کند که گویی روی منو کلیک شده است. اگر هیچ آرگومانی ارائه نشود، تنظیمات پیش‌فرض بازیابی می‌شود. .sp گزینه \fIScrollOffPage\fP در صورتی که \fIMouseWheel\fP روی ScrollsMenu یا ScrollsMenuBackwards تنظیم شده باشد، اجازه می‌دهد منو به خارج از ناحیه قابل مشاهده پیمایش شود. این حالت پیش‌فرض است. گزینه مخالف آن، \fI!ScrollOffPage\fP، این رفتار را غیرفعال می‌کند. .sp گزینه \fITrianglesUseFore\fP مثلث‌های زیرمنو را با رنگ پیش‌زمینه مجموعه رنگ منو رسم می‌کند (به طور معمول با رنگ برجستگی رسم می‌شوند). گزینه \fI!TrianglesUseFore\fP این رفتار را غیرفعال می‌کند. .RE