'\" t .\" Title: fvwm-menu-directory .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-06-28 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "FVWM\-MENU\-DIRECTORY" "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)" fvwm-menu-directory \- ساخت منوی مرور دایرکتوری برای fvwm .SH "خلاصه دستور (SYNOPSIS)" .sp fvwm\-menu\-directory [ \fB\-\-help\fP|\fB\-h\fP|\fB\-?\fP ] [ \fB\-\-version\fP|\fB\-V\fP ] [ \fB\-\-name\fP|\fB\-na\fP NAME ] [ \fB\-\-title\fP|\fB\-t\fP NAME ] [ \fB\-\-item\fP|\fB\-it\fP NAME ] [ \fB\-\-icon\-title\fP|\fB\-icon\-t\fP XPM ] [ \fB\-\-icon\-dir\fP|\fB\-icon\-d\fP XPM ] [ \fB\-\-icon\-file\fP|\fB\-icon\-f\fP XPM ] [ \fB\-\-icon\-app\fP|\fB\-icon\-a\fP XPM ] [ \fB\-\-wm\-icons\fP ] [ \fB\-\-dir\fP|\fB\-d\fP NAME ] [ \fB\-\-order\fP|\fB\-o\fP NUM ] [ \fB\-\-[no]all\fP|\fB\-a\fP ] [ \fB\-\-[no]links\fP|\fB\-l\fP ] [ \fB\-\-xterm\fP|\fB\-x\fP CMD ] [ \fB\-\-exec\-title\fP|\fB\-exec\-t\fP CMD ] [ \fB\-\-exec\-file\fP|\fB\-exec\-f\fP CMD ] [ \fB\-\-exec\-app\fP|\fB\-exec\-a\fP [CMD] ] [ \fB\-\-command\-title\fP|\fB\-command\-t\fP CMD ] [ \fB\-\-command\-file\fP|\fB\-command\-f\fP CMD ] [ \fB\-\-command\-app\fP|\fB\-command\-a\fP CMD ] [ \fB\-\-[no]reuse\fP|\fB\-r\fP ] [ \fB\-\-[no]check\-subdirs\fP|\fB\-ch\fP ] [ \fB\-\-special\-dirs\fP|\fB\-s\fP [VALUE] ] [ \fB\-\-[no]memory\-for\-speed\fP|\fB\-mem\fP ] [ \fB\-\-menu\-style\fP|\fB\-men\fP NAME ] [ \fB\-\-func\-name\fP|\fB\-f\fP NAME ] .SH "توضیحات (DESCRIPTION)" .sp یک اسکریپت perl که خروجی لازم برای خواندن با PipeRead را جهت ساخت منوی fvwm شامل فهرست دایرکتوری فراهم می‌کند. تقریباً همه چیز قابل پیکربندی است. .SH "نکات (HINTS)" .sp آیتم عنوان همراه با اقدام (action) متصل به خود، معمولاً به منو افزوده می‌شود. این مورد می‌تواند برای تعریف یک اقدام برای دایرکتوری که منو برای آن ساخته می‌شود، مورد استفاده قرار گیرد؛ مانند راه‌اندازی یک ترمینال در این دایرکتوری (حالت پیش‌فرض). با این حال، ممکن است این موضوع برای برخی کاربران ناخوشایند باشد. برای غیرفعال کردن اقدام عنوان از \fB\-\-command\-title ""\fP استفاده کنید، و برای حذف کامل عنوان از \fB\-\-title ""\fP بهره بگیرید. .SH "گزینه‌ها (OPTIONS)" .sp \fB\-\-help\fP .RS 4 نمایش نحوه استفاده و خروج. .RE .sp \fB\-\-version\fP .RS 4 نمایش نسخه و خروج. .RE .sp \fB\-\-name\fP \fIname\fP .RS 4 نام منو، فقط همراه با \fB\-\-reuse\fP استفاده می‌شود؛ پیش‌فرض \f(CRMenuBrowser\fP است. .RE .sp \fB\-\-title\fP \fItitle\fP .RS 4 قالب عنوان منو، پیش‌فرض \f(CR\*(Aq%*\-40p\*(Aq\fP است \- ۴۰ نویسه پایانی مسیر کامل فعلی. کلید TAB را می‌توان به صورت \f(CR\*(Aq\(rst\*(Aq\fP مشخص کرد، اما در fvwm2rc. باید یک بک‌اسلش دوتایی یا کلید واقعی TAB را مشخص کنید. .sp مشخص‌کننده‌های قالب: \f(CR%d\fP \- نام دایرکتوری فعلی، \f(CR%p\fP \- مسیر کامل دایرکتوری فعلی. .sp این مشخص‌کننده‌ها می‌توانند یک اندازه عددی صحیح اختیاری دریافت کنند؛ مثبت برای رشته تراز شده از راست یا منفی برای رشته تراز شده از چپ، مثال: \f(CR%8x\fP؛ و \f(CR*num\fP یا \f(CR*\-num\fP اختیاری، به این معنی که فقط num نویسه اول یا آخر (در صورت منفی بودن) باقی بماند. مقدار num باید بیشتر از ۳ باشد، زیرا بخش حذف‌شده با .\|.\|. جایگزین می‌شود، مثال: \f(CR%*30x\fP. هر دو حالت را می‌توان ترکیب کرد: \f(CR%\-10*\-20x\fP، که نشان می‌دهد فقط ۲۰ نویسه آخر دریافت شود، اما اگر طول آن کمتر از ۱۰ باشد \- با حداکثر ۱۰ فاصله در سمت راست پر شود. .RE .sp \fB\-\-item\fP \fIformat\fP .RS 4 قالب آیتم منو، پیش‌فرض \f(CR\*(Aq%n\*(Aq\fP است. کلید TAB و اصلاح‌کننده‌های عرض برای \f(CR%n\fP، \f(CR%N\fP و \f(CR%s\fP را می‌توان همان‌طور که در \fB\-\-title\fP در بالا شرح داده شد مشخص کرد. توجه داشته باشید که تعیین قالبی غیر از پیش‌فرض سرعت اسکریپت را کاهش می‌دهد. .sp مشخص‌کننده‌های قالب: .sp .if n .RS 4 .nf .fam C %n \- file/dir name (without the path) %N \- file/dir name (full with the path) %d \- file/dir date (yyyy\-mm\-dd HH:MM:SS) %D \- file/dir date (yyyy\-mm\-dd) %s \- file/dir size (in bytes) %t \- file/dir type (File|Dir |Link|Sock|Blck|Char|Pipe) %T \- file/dir type (F|D|L|S|B|C|P) .fam .fi .if n .RE .sp مثال: \f(CR\-\-title \*(Aq%*\-40p\(rstDate, Type\(rstSize\*(Aq \-\-item \*(Aq%*40n\(rst%d %t\(rst%s\*(Aq\fP .RE .sp \fB\-\-icon\-title\fP \fIicon\fP .RS 4 آیکون عنوان منو، پیش‌فرض هیچ است. .RE .sp \fB\-\-icon\-dir\fP \fIicon\fP .RS 4 آیکون دایرکتوری منو، پیش‌فرض هیچ است. .RE .sp \fB\-\-icon\-file\fP \fIicon\fP .RS 4 آیکون فایل منو، پیش‌فرض هیچ است. .RE .sp \fB\-\-icon\-app\fP \fIicon\fP .RS 4 آیکون برنامه منو، پیش‌فرض هیچ است. .RE .sp \fB\-\-wm\-icons\fP .RS 4 تعریف نام‌های آیکون مناسب برای استفاده همراه با بسته wm\-icons. در حال حاضر این معادل است با: \f(CR\-\-icon\-title menu/folder\-open.xpm \-\-icon\-item menu/file.xpm \-\-icon\-dir menu/folder.xpm \-\-icon\-app menu/utility.xpm\fP. .RE .sp \fB\-\-dir\fP \fIdir\fP .RS 4 دایرکتوری شروع، پیش‌فرض \f(CR${HOME\-.}\fP است. .RE .sp \fB\-\-order\fP \fInumber\fP .RS 4 در محدوده (\-6 .. 6)، پیش‌فرض 5 است: .sp .if n .RS 4 .nf .fam C 1 \- do not sort 2 \- dirs first 3 \- files first 4 \- sort by name 5 \- dirs first 6 \- files first .fam .fi .if n .RE .sp عدد منفی نشان‌دهنده ترتیب معکوس است. .RE .sp \fB\-\-[no]all\fP .RS 4 نمایش فایل‌های پنهان، مانند \*(Aqls \-A\*(Aq، پیش‌فرض \fB\-\-noall\fP است. .RE .sp \fB\-\-[no]links\fP .RS 4 دنبال کردن دایرکتوری‌های پیوند داده شده، پیش‌فرض \fB\-\-nolinks\fP است. .RE .sp \fB\-\-xterm\fP \fIcommand\fP .RS 4 فراخوانی شبیه‌ساز ترمینال X، پیش‌فرض \*(Aqxterm \-e\*(Aq است. .RE .sp \fB\-\-exec\-title\fP \fIcommand\fP .RS 4 یک دستور Exec در fvwm روی عنوان دایرکتوری (معمولاً شل)، پیش‌فرض \f(CR${SHELL\-/bin/sh}\fP است. \*(Aq\-\*(Aq به معنی عدم وجود دستور Exec (یعنی Nop) است. اگر دستور با \*(Aq^\*(Aq شروع نشود، فراخوانی ترمینال X در ابتدای آن اضافه می‌شود. دستور در دایرکتوری که در حال حاضر مرور می‌شود اجرا می‌گردد. .RE .sp \fB\-\-exec\-file\fP \fIcommand\fP .RS 4 یک دستور Exec در fvwm روی فایل‌های معمولی، پیش‌فرض \f(CR${EDITOR\-vi}\fP است. \*(Aq\-\*(Aq به معنای عدم وجود دستور Exec (یعنی Nop) است. اگر دستور با \*(Aq^\*(Aq شروع نشود، فراخوانی ترمینال X در ابتدای آن افزوده می‌شود. نام واقعی فایل به انتهای دستور اضافه می‌گردد. .RE .sp \fB\-\-exec\-app\fP [\fIcommand\fP] .RS 4 یک دستور Exec در fvwm روی فایل‌های با دسترسی اجرا (+x)، پیش‌فرض \*(Aq\-\*(Aq است، که به معنی همان دستور فایل‌های معمولی است. اگر دستوری داده نشود، خالی در نظر گرفته می‌شود \- صرفاً فایل +x را اجرا می‌کند. اگر دستور با \*(Aq^\*(Aq شروع نشود، فراخوانی ترمینال X در ابتدای آن افزوده می‌شود. نام واقعی فایل به انتهای دستور اضافه می‌گردد. .RE .sp \fB\-\-command\-title\fP \fIcommand\fP .RS 4 یک دستور fvwm برای اجرا روی عنوان. اگر این گزینه مشخص نشود (یا دستور \*(Aq\-\*(Aq باشد)، به جای آن از \fB\-\-exec\-title\fP استفاده می‌شود. در دستور، \f(CR%d\fP با مسیر کامل دایرکتوری جایگزین می‌شود. .sp در واقع، \fI\-\-exec\-title=tcsh\fP معادل است با \fI\-\-command\-title=\*(AqExec cd %d; xterm \-e tcsh\*(Aq\fP. .sp مقدار خالی اقدام عنوان را غیرفعال می‌کند. .RE .sp \fB\-\-command\-file\fP \fIcommand\fP .RS 4 یک دستور fvwm برای اجرا روی فایل‌های معمولی. اگر این گزینه داده نشود (یا دستور \*(Aq\-\*(Aq باشد)، به جای آن از \fB\-\-exec\-file\fP استفاده می‌شود. در دستور، \f(CR%f\fP با مسیر کامل فایل جایگزین می‌شود. .sp در واقع، \fI\-\-exec\-file=vi\fP معادل است با \fI\-\-command\-file=\*(AqExec xterm \-e vi %f\*(Aq\fP. .RE .sp \fB\-\-command\-app\fP \fIcommand\fP .RS 4 یک دستور fvwm برای اجرا روی فایل‌های اجرایی (x). اگر این گزینه مشخص نشود (یا دستور \*(Aq\-\*(Aq باشد)، از \fB\-\-command\-app\fP به جای آن استفاده می‌شود. در این دستور، \f(CR%f\fP با مسیر کامل فایل جایگزین می‌شود. .sp در واقع، \fI\-\-exec\-app=^exec\fP معادل است با \fI\-\-command\-app=\*(AqExec exec %f\*(Aq\fP. .RE .sp \fB\-\-[no]reuse\fP .RS 4 بدون منوهای بالارونده (pop\-up)، استفاده مجدد از همان منو، پیش‌فرض \fB\-\-noreuse\fP است. هنگامی که این گزینه را مشخص می‌کنید، از اقدام Menu استفاده می‌شود، نه Popup. همچنین، پارامتر \fB\-\-name\fP نادیده گرفته نمی‌شود، و در صورتی که فایل \f(CR~/.fvwm/.fvwm\-menu\-directory.dir\fP وجود داشته باشد، پارامتر \fB\-\-dir\fP نادیده گرفته خواهد شد. این فایل فقط زمانی ایجاد یا استفاده می‌شود که این گزینه مشخص شده باشد، و تنها راه‌حل برای وضعیت فعلی منوی fvwm است. .RE .sp \fB\-\-[no]check\-subdirs\fP .RS 4 بررسی تمامی زیردایرکتوری‌ها برای داشتن مجوز اجرا (+x) و جایگزینی دستور "Popup"/"Menu" با Nop برای موارد فاقد مجوز. این کار جلوه بصری غیرفعال کردن مثلث منوی پاپ‌آپ در آیتم زیردایرکتوری را دارد. حالت پیش‌فرض \fB\-\-nocheck\-subdirs\fP است، زیرا: ۱) فعال کردن این مورد سرعت اسکریپت را کمی کاهش می‌دهد، ۲) با فعال بودن این گزینه، اگر از هیچ آیکونی استفاده نشود و مرتب‌سازی جداگانه دایرکتوری/فایل به کار نرود، هیچ راهی برای تشخیص اینکه آیا این آیتم یک دایرکتوری است یا فایل وجود ندارد. .RE .sp \fB\-\-special\-dirs\fP \fIvalue\fP .RS 4 افزودن دایرکتوری‌های ویژه .. یا ~ یا / مطابق با مقدار اختیاری داده شده. بدون این گزینه این دایرکتوری‌ها اضافه نمی‌شوند. مقدار پیش‌فرض در صورت عدم تعیین "1,2" است. این مقدار شامل اندیس‌های مرتب‌شده دایرکتوری‌های ویژه است که با کاما از هم جدا شده‌اند، به طوری که 1 دایرکتوری والد، 2 دایرکتوری خانه (home)، و 3 دایرکتوری ریشه (root) است. اگر یک علامت منفی قبل از مقدار قرار گیرد، دایرکتوری‌های ویژه به جای بالای منو در انتهای منو افزوده می‌شوند. مقدار 0 یا هر مقدار نامعتبر معادل عدم تعیین این گزینه است. .RE .sp \fB\-\-[no]memory\-for\-speed\fP .RS 4 استفاده از بهینه‌سازی سرعت؛ یعنی استفاده از منوهای دایرکتوری که قبلاً ایجاد شده‌اند بدون از بین بردن آن‌ها در هنگام بسته شدن، پیش‌فرض \fB\-\-nomemory\-for\-speed\fP است. .sp هشدار: بهینه‌سازی سرعت حافظه زیادی اشغال می‌کند که تا زمانی که fvwm در حال اجراست دیگر هرگز آزاد نمی‌شود. .RE .sp \fB\-\-menu\-style\fP \fIname\fP .RS 4 اختصاص نام MenuStyle به منوها. .RE .sp \fB\-\-func\-name\fP \fIname\fP .RS 4 بازنویسی نام پیش‌فرض MissingSubmenuFunction که FuncFvwmMenuDirectory است. .RE .sp پارامترهای گزینه را می‌توان با استفاده از \*(Aq=\*(Aq یا در آرگومان بعدی مشخص کرد. گزینه‌های کوتاه اگر مبهم نباشند بلامانع هستند: \f(CR\-a\fP، \f(CR\-x\fP، \f(CR\-icon\-f\fP؛ اما در مورد گزینه‌های کوتاه احتیاط کنید، آنچه اکنون غیرمبهم است ممکن است در نسخه‌های بعدی مبهم شود. .SH "نحوه استفاده (USAGE)" .sp برای فراخوانی اسکریپت، این عبارت را در فایل پیکربندی fvwm خود قرار دهید: .sp .if n .RS 4 .nf .fam C AddToFunc FuncFvwmMenuDirectory + I PipeRead "fvwm\-menu\-directory \-d $0" .fam .fi .if n .RE .sp مثال پیچیده‌تر: .sp .if n .RS 4 .nf .fam C AddToFunc FuncFvwmMenuDirectory + I PipeRead "fvwm\-menu\-directory \-d \*(Aq$0\*(Aq \-x \*(AqEterm \-g 80x40 \-e\*(Aq \(rs\(rs \-a \-l \-o 6 \-\-exec\-app \-\-exec\-title \*(Aqtcsh \-l\*(Aq \(rs\(rs \-\-exec\-file \*(Aqvim \-R\*(Aq \-t \*(AqGo to: %d\*(Aq \-\-wm\-icons" .fam .fi .if n .RE .sp و این را در منویی قرار دهید که می‌خواهید منوهای دایرکتوری از آن باز شوند: .sp .if n .RS 4 .nf .fam C AddToMenu SomeMenu MissingSubmenuFunction FuncFvwmMenuDirectory + "Home Directory" Popup $[HOME] + "Httpd Directory" Popup /home/httpd .fam .fi .if n .RE .sp نکته: لطفاً از نام‌های مسیر مطلق استفاده کنید. .sp برای دستیابی به نتایج بهتر، ایده خوبی است که هنگام استفاده از این اسکریپت، تأخیر پاپ‌آپ منو را روی مقداری مثبت تنظیم کرده و مکان‌نمای مشغول را در فایل پیکربندی خود فعال کنید: .sp .if n .RS 4 .nf .fam C MenuStyle * PopupDelayed, PopupDelay 200 BusyCursor DynamicMenu True .fam .fi .if n .RE .sp کاربرد جالب دیگر (\f(CR\*(Aq\-\-reuse\*(Aq\fP یا \f(CR\*(Aq\-r\*(Aq\fP برای این مورد الزامی است): .sp .if n .RS 4 .nf .fam C AddToMenu Browser + DynamicPopupAction PipeRead \(rs\(rs "fvwm\-menu\-directory \-r \-na Browser \-d / \-s" AddToMenu SomeMenu "My Browser" Menu Browser .fam .fi .if n .RE .sp در اینجا اگر فایل \f(CR~/.fvwm/.fvwm\-menu\-directory.dir\fP وجود داشته باشد، پارامتر \f(CR\*(Aq\-\-dir\*(Aq\fP (دایرکتوری شروع) نادیده گرفته می‌شود، که می‌توانید آن فایل را حذف کنید. .SH "نویسندگان (AUTHORS)" .sp الهام‌گرفته در تاریخ 1999\-06\-07 توسط Dominik Vogt \c .MTO "domivogt\(atfvwm.org" "" "." .sp بازنویسی در تاریخ 1999\-08\-05 توسط Mikhael Goikhman \c .MTO "migo\(athomemail.com" "" "." .SH "کپی‌رایت و تکثیر (COPYING)" .sp این اسکریپت تحت همان شرایط خود fvwm توزیع می‌شود. برای جزئیات به پروانه عمومی همگانی گنو (GNU GPL) مراجعه کنید. .SH "اشکالات (BUGS)" .sp گزارش اشکالات به \c .MTO "fvwm\-workers\(atfvwm.org" "" "" یا .URL "https://github.com/fvwmorg/fvwm3" "" "."