CALCURSE(1)   CALCURSE(1)

calcurse - سازمان‌دهنده مبتنی بر ترمینال برای استفاده تعاملی و خط فرمان

calcurse [-D datadir] [-C confdir] [-c calendar-file]

calcurse -Q [--from date] [--to date | --days number]

calcurse -a | -d date | -d number | -n | -r[number] | -s[date] | -t[number]

calcurse -G [filter options] [format options] | -P [filter options] [format options]

calcurse -h | --status | -g | -i file | -x[file] | --daemon

حالت نخست نحوه اجرای تعاملی calcurse را نشان می‌دهد؛ بقیه حالت‌های خط فرمان هستند.

حالت دوم پرس‌وجوها را نشان می‌دهد (در مقایسه با استفاده تعاملی). برای سهولت، پرس‌وجوهای رایج دارای فرم‌های کوتاه‌شده‌ای هستند که در خط سوم نشان داده شده‌اند. تمام پرس‌وجوها را می‌توان با گزینه‌های پالایش و همچنین گزینه‌های قالب‌بندی ترکیب کرد.

حالت چهارم عملیات روی فایل‌های داده calcurse را نشان می‌دهد، یکی برای نمایش مدخل‌ها و دیگری برای حذف آن‌ها.

حالت پنجم مربوط به توابع متفرقه راهنما و پشتیبانی است.

تمام جزئیات در OPTIONS آمده است.

برنامه calcurse یک تقویم و نرم‌افزار زمان‌بندی برای استفاده در نشست ترمینال (شبیه‌ساز ترمینال) است. هنگامی که بدون گزینه فراخوانی شود، calcurse وارد حالت تعاملی می‌شود؛ در بیشتر موارد دیگر، calcurse خروجی را در ترمینال تولید کرده و خارج می‌شود. این ابزار به پیگیری رویدادها، قرارها و کارهای روزمره کمک می‌کند. حالت تعاملی زمانی به کار می‌رود که داده‌ها وارد شوند یا مدخل‌های موجود بررسی یا ویرایش شوند. همه داده‌ها به صورت فایل‌های متنی روی دیسک ذخیره می‌شوند. حالت خط فرمان برای پرس‌وجوها، کارهای مدیریتی و خودکارسازی کارها در اسکریپت‌ها استفاده می‌شود.

رابط تعاملی بر پایه ncurses است و می‌تواند مطابق با اولویت‌های کاربر شخصی‌سازی شود. شخصی‌سازی شامل رفتار برنامه، ظاهر بصری و کلیدهای میانبر است و به صورت تعاملی انجام می‌شود؛ نتیجه به طور خودکار روی دیسک ذخیره شده و در هر بار اجرا بارگذاری می‌شود. کنش‌های در دسترس در یک سامانه راهنمای برخط مستند شده‌اند. سامانه اعلان قابل‌پیکربندی، یادآورهایی را برای سررسیدهای پیش‌رو صادر می‌کند.

هنگام خروج از برنامه تعاملی، یک دیمن پس‌زمینه می‌تواند به اجرا ادامه داده و یادآورها را صادر کند؛ این دیمن هنگام ورود مجدد به حالت تعاملی به طور خودکار متوقف می‌شود.

این صفحه مان بیشتر حالت خط فرمان را توصیف می‌کند. دو زیربخش بعدی شامل توضیحاتی کلی درباره گزینه‌های خط فرمان و نحوه استفاده از آن‌ها هستند.

بسیاری از گزینه‌ها نیازمند آرگومان date هستند، و نتایج پرس‌وجو به ازای هر روز با یک date line (سطر تاریخ) آغازین از هم جدا می‌شوند.

قالب ورودی گزینه‌های date و قالب خروجی date lines از فایل پیکربندی گرفته می‌شوند (بخش FILES را ببینید). این قالب‌ها در زیرمنوی "General Options" در حالت تعاملی تنظیم می‌شوند. به‌ویژه در اسکریپت‌ها ممکن است مطلوب باشد که قالب‌ها مستقل از پیکربندی محلی کاربر باشند. برای این منظور از گزینه‌های --input-datefmt و --output-datefmt استفاده کنید.

یک تاریخ ورودی شامل date، month و year است. در اینجا day باید در بازه 1-31 و month در بازه 1-12 باشد. بسته به سیستم‌عامل year باید در بازه 1902-2037 یا 1902-? باشد. علاوه بر این، برخی فرم‌های کوتاه با معنای مشخص مجاز هستند: today، tomorrow، yesterday، now و روزهای هفته mon، ...، sun.

به صورت اختیاری، آرگومان date برای یک گزینه پالایش (بخش Filter Options را ببینید) می‌تواند با مشخصه زمان روز در قالب ساعت و دقیقه (ساعت ۲۴ ساعته) دنبال شود. این مشخصه قالب ثابت hh:mm دارد (برای نمونه: "2018-12-1 20:30" هنگامی که قالب تاریخ ورودی، قالب استاندارد ISO است). توجه داشته باشید که کل مشخصه تاریخ باید درون نقل‌قول قرار گیرد تا یک آرگومان واحد تشکیل دهد.

این گزینه‌ها به خودی خود کاری انجام نمی‌دهند. آن‌ها بر گزینه‌های دیگر تأثیر می‌گذارند و به نوعی متضاد یکدیگرند: گزینه‌های پالایش بر ورودی calcurse اثر می‌گذارند، در حالی که گزینه‌های قالب‌بندی و بازه روز بر خروجی آن تأثیر دارند. به طور خاص، گزینه‌های پالایش آنچه را که از فایل‌های داده در calcurse بارگذاری می‌شود محدود می‌کنند، گزینه‌های بازه روز آنچه را که خروجی داده می‌شود محدود می‌سازند (گزینه -Q را ببینید)، و گزینه‌های قالب‌بندی نحوه نمایش آن را تعیین می‌کنند.

گزینه‌های پالایش بر پرس‌وجوها (-Q و فرم‌های کوتاه پرس‌وجو)، grep (-G)، purge (-P) و export (-x) تأثیر دارند. گزینه‌های قالب‌بندی بر پرس‌وجوها، grep و --dump-imported تأثیر می‌گذارند. گزینه‌های بازه روز تنها بر پرس‌وجوها اثر دارند.

بیشتر گزینه‌ها به معنای حالت خط فرمان هستند. گزینه‌های سازگار با حالت تعاملی با عنوان "(also interactively)" مشخص شده‌اند.

-a, --appointment

چاپ قرارها و رویدادهای روز جاری. معادل با -Q --filter-type cal.

-c file, --calendar file

(also interactively) تعیین فایل تقویم مورد استفاده. تقویم پیش‌فرض در مسیر <datadir>/apts قرار دارد (بخش FILES را ببینید). اگر file یک نام مسیر مطلق نباشد، به صورت نسبی نسبت به دایرکتوری کاری فعلی تفسیر می‌شود. این گزینه بر -D اولویت دارد.

-C dir, --confdir dir

(also interactively) تعیین دایرکتوری پیکربندی مورد استفاده. بخش FILES را برای دایرکتوری پیش‌فرض و برهم‌کنش با -D ببینید.

-D dir, --datadir dir

(also interactively) تعیین دایرکتوری (داده) مورد استفاده. بخش FILES را برای دایرکتوری پیش‌فرض و برهم‌کنش با -C ببینید.

-d date|num, --day date|num

چاپ قرارها و رویدادها برای تاریخ داده‌شده یا بازه مشخصی از روزها، بسته به قالب آرگومان:
•یک date
•یک عدد num

در حالت نخست، قرارها و رویدادهای مربوط به date بازگردانده می‌شوند، در حالی که در حالت دوم موارد مربوط به num روز بازگردانده خواهند شد. مقادیر مثبت num به معنای آینده و مقادیر منفی به معنای گذشته است؛ بازه یا با روز جاری آغاز می‌شود یا با آن پایان می‌یابد. به عنوان مثال calcurse -d 3 قرارها و رویدادهای امروز، فردا و پس‌فردا را نمایش می‌دهد، در حالی که calcurse -d -2 موارد مربوط به دیروز و امروز را نمایش می‌دهد. حالت نخست معادل با -Q --filter-type cal --from date، و حالت دوم معادل با -Q --filter-type cal --days num است.

--daemon

راه‌اندازی calcurse در حالت پس‌زمینه؛ در صورتی که دیمن پیش‌تر در حال اجرا بوده باشد، راه‌اندازی مجدد می‌شود. این کار معمولاً با تنظیم گزینه پیکربندی daemon.enable در زیرمنوی Notify در حالت تعاملی به طور خودکار انجام می‌پذیرد.

--days num

تعیین بازه روزها هنگام استفاده به همراه -Q. می‌تواند با --from ترکیب شود، اما نه با --to. بدون --from، نخستین روز بازه به طور پیش‌فرض روز جاری خواهد بود. این عدد می‌تواند منفی باشد، بخش -Q --query را ببینید.

--dump-imported

هنگام وارد کردن موارد، هر شیء تازه‌ساخته‌شده را در stdout چاپ می‌کند. می‌توان از گزینه‌های قالب‌بندی برای تعیین جزئیات چاپ‌شده استفاده کرد. همچنین بخش Format Options را ببینید.

--export-uid

هنگام برون‌بری موارد، هش هر مورد را به عنوان یک ویژگی UID به شیء برون‌بری‌شده اضافه می‌کند.

--from date

تعیین تاریخ آغاز بازه روزها هنگام استفاده به همراه -Q. در صورت استفاده بدون -to یا --days بازه یک روز خواهد بود (همان روز تعیین‌شده)، بخش -Q --query را ببینید.

-F, --filter

منسوخ‌شده، بخش -P را ببینید. توجه داشته باشید که این گزینه برای سازگاری با گذشته است و دقیقاً مانند -P نیست (از گزینه پالایش معکوس استفاده نمی‌کند).

-g, --gc

اجرای زباله‌روب (garbage collector) برای فایل‌های یادداشت. زباله‌روب فایل‌هایی را از دایرکتوری notes (بخش FILES را ببینید) که دیگر به هیچ موردی پیوند ندارند حذف می‌کند. این کار معمولاً با تنظیم گزینه پیکربندی general.autogc در زیرمنوی General Options در حالت تعاملی به صورت خودکار انجام می‌شود.

-G, --grep

چاپ قرارها، رویدادها و موارد TODO در قالب فایل داده calcurse.

-h, --help

چاپ یک متن راهنمای کوتاه در شرح گزینه‌های خط فرمان پشتیبانی‌شده.

-i file, --import file

وارد کردن داده‌های icalendar موجود در file.

--input-datefmt format

تنها برای استفاده در خط فرمان و اسکریپت: بازنویسی تنظیمات فایل پیکربندی برای گزینه format.inputdate (زیرمنوی General Options در حالت تعاملی). یک format معتبر یکی از مقادیر 1، 2، 3 یا 4 است، به طوری که 1 = mm/dd/yyyy، 2 = dd/mm/yyyy، 3 = yyyy/mm/dd، 4 = yyyy-mm-dd.

-l num, --limit num

محدود کردن تعداد نتایج چاپ‌شده به num.

-n, --next

چاپ نخستین قرار در طول ۲۴ ساعت آینده. زمان چاپ‌شده مقدار ساعت و دقیقه باقی‌مانده تا این قرار است.

--output-datefmt format

تنها برای استفاده در خط فرمان و اسکریپت: بازنویسی تنظیمات فایل پیکربندی برای گزینه format.outputdate (زیرمنوی General Options در حالت تعاملی). یک format معتبر هر رشته قالب strftime(3) است.

-P, --purge

بارگذاری موارد از فایل‌های داده و ذخیره مجدد آن‌ها؛ موارد با گزینه‌های پالایش مناسب شرح داده می‌شوند (بخش Filter Options را ببینید). ممکن است برای حذف موارد خاصی از فایل‌های داده استفاده شود، بخش EXAMPLES را ببینید.

موارد منطبق (بدون هشدار) از فایل‌های داده حذف می‌شوند. هر ترکیبی از گزینه‌های پالایش، به جز --filter-invert، می‌تواند برای توصیف مواردی که باید حذف شوند استفاده شود. پالایشگر معکوس به صورت داخلی توسط گزینه purge استفاده می‌شود، و استفاده هم‌زمان از آن در خط فرمان ممکن است به رفتار غیرقابل پیش‌بینی منجر شود.

هشدار: در استفاده از این گزینه محتاط باشید، تعیین گزینه‌های پالایش نادرست ممکن است به از دست رفتن داده‌ها منجر شود. اکیداً توصیه می‌شود ابتدا با -G آزمایش کنید و پالایه‌ها را به دقت تنظیم کنید تا مواردی را که باید حذف شوند نشان دهد. سپس همان دستور را با -P به جای -G اجرا کنید. در هر صورت، پیشاپیش از فایل‌های داده نسخه پشتیبان تهیه کنید.

-q, --quiet

(also interactively) حالت بی‌پژواک (بی‌صدا). دیالوگ‌های سیستمی را نشان ندهد.

-Q, --query

چاپ همه قرارها و رویدادها در یک range of days (بازه روزها) داده‌شده و به دنبال آن همه موارد TODO. بخش تقویم به ازای هر روز با یک خط آغازین شامل تاریخ و یک خط خالی پایانی نمایش داده می‌شود (بسیار شبیه به پانل تقویم در حالت تعاملی).

day range به طور پیش‌فرض روز جاری است و با گزینه‌های --from و --to/--days تغییر می‌یابد. بازه --from a --to z شامل هر دو روز a و z است. بازه --from a --days n شامل a به عنوان نخستین روز در صورت مثبت بودن n، یا آخرین روز در صورت منفی بودن n خواهد بود.

بازه روز تنها بر پرس‌وجوها اثر دارد.

-r[num], --range[=num]

چاپ قرارها و رویدادها برای تعداد num روز که با روز جاری آغاز می‌شود. اگر num مشخص نشود، بازه ۱ روزه در نظر گرفته می‌شود. این عدد می‌تواند منفی باشد که در این صورت بازه در گذشته خواهد بود و با روز جاری پایان می‌یابد. معادل با -Q --filter-type cal --days num.

--read-only

(also interactively) پیکربندی و همچنین قرارها و todos ذخیره نشوند.

هشدار: اگر calcurse را در حالت فقط‌خواندنی به صورت تعاملی اجرا کنید، تمام تغییرات آن نشست بدون هیچ هشداری از دست خواهند رفت!

-s[date], --startday[=date]

چاپ رویدادها و قرارها از date اختیاری؛ پیش‌فرض روز جاری است. معادل با -Q --filter-type cal --from date.

-S regex, --search regex

هنگام استفاده با هر یک از گزینه‌های -a، -d، -r، -s، یا -t، تنها مواردی را چاپ می‌کند که شرح آن‌ها با عبارت باقاعده داده‌شده مطابقت داشته باشد. معادل با -Q --filter-pattern regex.

--status

نمایش وضعیت نمونه‌های در حال اجرای calcurse، در حالت تعاملی یا پس‌زمینه. شناسه فرایند (PID) نیز چاپ می‌شود.

-t[num], --todo[=num]

چاپ فهرست todo. اگر عدد اختیاری num داده شود، تنها کارهای تکمیل‌نشده (باز) که اولویتی برابر با num دارند بازگردانده خواهند شد. شماره اولویت باید بین 1 (بالاترین) و 9 (پایین‌ترین) باشد. همچنین تعیین مقدار 0 برای اولویت امکان‌پذیر است، که در این صورت تنها کارهای تکمیل‌شده (بسته‌شده) نشان داده خواهند شد. معادل با -Q --filter-type todo، ترکیب‌شده با --filter-priority و --filter-completed یا --filter-uncompleted.

--to date

تعیین تاریخ پایان بازه روزها هنگام استفاده به همراه -Q. در صورت استفاده بدون --from روز آغازین، روز جاری خواهد بود. نمی‌تواند با --days ترکیب شود، بخش -Q --query را ببینید.

-v, --version

نمایش نسخه calcurse.

-x[format], --export[=format]

برون‌بری داده‌های کاربر در قالب تعیین‌شده. رویدادها، قرارها و todos تبدیل شده و در stdout نمایش داده می‌شوند. دو قالب در دسترس است: ical و pcal. format پیش‌فرض ical است.

گزینه‌های پالایش بر پرس‌وجوها (-Q و فرم‌های کوتاه‌شده پرس‌وجو)، grep (-G)، purge (-P) و export (-x) تأثیر دارند، همچنین گزینه‌ها در بخش DESCRIPTION را ببینید.

چندین گزینه پالایش می‌توانند مشخص شوند. برای اینکه یک مورد در calcurse بارگذاری شود باید با تمام پالایه‌ها مطابقت داشته باشد. به بیان دیگر، پالایه‌ها به صورت منطقی با یکدیگر «AND» می‌شوند. گزینه --filter-type دارای مقدار پیش‌فرضی است که با هر موردی مطابقت می‌کند. تمام گزینه‌های پالایش دیگر هیچ مقدار پیش‌فرضی ندارند و تنها در صورت تعیین صریح اعمال می‌شوند.

گزینه‌های پالایش به سه گروه تقسیم می‌شوند: عمومی، گاه‌شمار، کارها (todo). پالایه‌های عمومی بر همه موارد اعمال می‌شوند، پالایه‌های گاه‌شمار به زمان‌های آغاز و پایان مربوط هستند و تنها برای قرار ملاقات‌ها و رویدادها به کار می‌روند، و پالایه‌های کارها به اولویت و وضعیت تکمیل مربوط می‌شوند و تنها بر TODOها اعمال می‌گردند.

خارج از این سه گروه، پالایه معکوس قرار دارد.

--filter-invert

اثر ترکیبی سایر پالایه‌ها را معکوس می‌کند، یعنی مواردی را بارگذاری می‌کند که با آن‌ها مطابقت نداشته باشند.

--filter-type type

مواردی را شامل می‌شود که با type مطابقت داشته باشند. مقدار type فهرستی از شرح‌های نوع جداشده با کاما است که از میان event، apt، recur-event، recur-apt و todo انتخاب می‌شوند. همچنین می‌توانید از recur به عنوان فرم کوتاه برای recur-event,recur-apt و از cal به عنوان فرم کوتاه برای event,apt,recur استفاده کنید.

--filter-pattern pattern

مواردی با شرحی که با الگو مطابقت دارد را شامل می‌شود. الگو به عنوان یک عبارت باقاعده گسترش‌یافته (extended regular expression) تفسیر می‌شود.

--filter-hash string

مواردی با هش آغازشونده با string را شامل می‌شود. این پالایه می‌تواند با قرار دادن علامت تعجب (!) در ابتدا نفی شود: شامل مواردی با رشته هش که با string آغاز نمی‌شود. برای هش (SHA1) یک مورد به بخش مشخصه‌کننده‌های قالب‌بندی گسترش‌یافته (Extended format specifiers) مراجعه کنید.

برای گزینه‌های پالایشی که به -from، -to، -after، -before و -range ختم می‌شوند، زمان آغاز یا پایان ملاک پالایش است.

یک رویداد (event) یک قرار ملاقات تمام‌روز است که هیچ زمانی برای آن نمایش داده نمی‌شود. زمان آغاز یک رویداد، ابتدای روز رویداد (نیمه‌شب) است و زمان پایان، پایان روز رویداد (یک ثانیه پیش از نیمه‌شب بعدی) می‌باشد.

گزینه‌های -start- مختوم به -from، -after و -range به همان ملاک پالایش اشاره دارند و نمی‌توانند همراه با یکدیگر استفاده شوند. همین حالت برای گزینه‌های مختوم به -to، -before و -range نیز برقرار است. محدودیت‌های مشابهی بر گزینه‌های -end- نیز اعمال می‌شود.

زمان‌های آغاز و پایان یک مورد تکرارشونده به نخستین رخداد اشاره دارند، نه به هیچ‌یک از دفعات تکرار آن. اگر یک مورد تکرارشونده با ملاک مطابقت داشته باشد، تمام تکرارهای آن در پرس‌وجوها نمایش داده می‌شوند، حتی اگر ممکن است خود آن‌ها با ملاک مطابقت نداشته باشند. اگر این تکرارها ناخواسته باشند، می‌توان آن‌ها را با گزینه‌های بازه روز از خروجی حذف کرد، هرچند این کار سایر موارد موجود در آن بازه را نیز حذف خواهد کرد.

--filter-start-from date

شامل مواردی که در یا بعد از یک تاریخ مشخص آغاز می‌شوند.

--filter-start-to date

شامل مواردی که در یا پیش از یک تاریخ مشخص آغاز می‌شوند.

--filter-start-after date

شامل مواردی که بعد از یک تاریخ مشخص آغاز می‌شوند.

--filter-start-before date

شامل مواردی که پیش از یک تاریخ مشخص آغاز می‌شوند.

--filter-start-range range

شامل مواردی با تاریخ آغازی که به یک بازه مشخص تعلق دارد. یک بازه متشکل از یک تاریخ آغاز و یک تاریخ پایان است که با کاما از یکدیگر جدا شده‌اند.

--filter-end-from date

شامل مواردی که در یا بعد از یک تاریخ مشخص به پایان می‌رسند.

--filter-end-to date

شامل مواردی که در یا پیش از یک تاریخ مشخص به پایان می‌رسند.

--filter-end-after date

شامل مواردی که بعد از یک تاریخ مشخص به پایان می‌رسند.

--filter-end-before date

شامل مواردی که پیش از یک تاریخ مشخص به پایان می‌رسند.

--filter-end-range range

شامل مواردی با تاریخ پایانی که به یک بازه مشخص تعلق دارد. یک بازه متشکل از یک تاریخ آغاز و یک تاریخ پایان است که با کاما از یکدیگر جدا شده‌اند.

--filter-priority priority

شامل موارد TODO با اولویت داده‌شده.

--filter-completed

شامل موارد TODO تکمیل‌شده.

--filter-uncompleted

شامل موارد TODO تکمیل‌نشده.

گزینه‌های قالب‌بندی بر پرس‌وجوها (queries)، grep و --dump-imported تأثیر می‌گذارند.

این گزینه‌ها به ترتیب قالبی را برای قرار ملاقات‌ها، قرار ملاقات‌های تکرارشونده، رویدادها، رویدادهای تکرارشونده یا موارد فهرست کار مشخص می‌کنند.

--format-apt format, --format-recur-apt format, --format-event format, --format-recur-event format, --format-todo format

آرگومان format رشته‌ای است متشکل از مشخصه‌کننده‌های قالب‌بندی به سبک printf (که همان‌گونه که در زیر توضیح داده شده جایگزین می‌شوند) و نویسه‌های عادی که بدون تغییر به خروجی استاندارد فرستاده می‌شوند. هر گزینه دارای یک رشته format پیش‌فرض است که در صورت تعیین نشدن گزینه به کار می‌رود. رشته‌های پیش‌فرض در بخش رشته‌های قالب‌بندی پیش‌فرض شرح داده شده‌اند.

نکته: استفاده از گزینه قالب‌بندی مستلزم قالب‌بندی صریح جداسازی فیلدها و فاصله‌گذاری خطوط است.

هر مشخصه‌کننده با یک % و به دنبال آن نویسه‌ای معرفی می‌شود که تعیین می‌کند چه چیزی باید چاپ شود. مشخصه‌کننده‌های موجود به نوع مورد بستگی دارند. زمان‌ها به‌صورت ساعت و دقیقه (hh:mm) چاپ می‌شوند مگر اینکه خلاف آن ذکر شده باشد؛ قالب‌های زمان را می‌توان با مشخصه‌کننده‌های گسترش‌یافته تغییر داد.

برای هر گزینه قالب‌بندی، یک رشته قالب پیش‌فرض وجود دارد که در صورت تعیین نشدن گزینه استفاده می‌شود. در نتایج پرس‌وجوها، گزینه‌های قالب‌بندی پیش‌فرض عبارتند از:

--format-apt " - %S -> %E\n\t%m\n"
--format-recur-apt " - %S -> %E\n\t%m\n"
--format-event " * %m\n"
--format-recur-event " * %m\n"
--format-todo "%p. %m\n"

در تمام موارد دیگر (grep و dump-imported) رشته قالب پیش‌فرض "%(raw)" است.

%d

چاپ مدت‌زمان قرار ملاقات بر حسب ثانیه

%e

چاپ زمان پایان قرار ملاقات به‌صورت زمان یونیکس بر حسب ثانیه

%E

چاپ زمان پایان قرار ملاقات یا نشانگر ..:.. در صورتی که پس از نیمه‌شب به پایان برسد

%m

چاپ شرح مورد

%n

چاپ نام پرونده یادداشت مربوط به مورد

%N

چاپ یادداشت مربوط به مورد

%r

چاپ زمان باقی‌مانده پیش از قرار ملاقات

%s

چاپ زمان شروع قرار ملاقات به‌صورت زمان یونیکس بر حسب ثانیه

%S

چاپ زمان شروع قرار ملاقات یا نشانگر ..:.. در صورتی که پیش از نیمه‌شب آغاز شود

%m

چاپ شرح مورد

%n

چاپ نام پرونده یادداشت مربوط به مورد

%N

چاپ یادداشت مربوط به مورد

%m

چاپ شرح مورد

%n

چاپ نام پرونده یادداشت مربوط به مورد

%N

چاپ یادداشت مربوط به مورد

%p

چاپ اولویت مورد

مشخصه‌کننده‌های قالب‌بندی گسترش‌یافته را می‌توان برای کنترل چاپ زمان در برخی از مشخصه‌کننده‌های تک‌حرفی به کار برد. علاوه بر این دو مشخصه‌کننده وجود دارند که شکل کوتاه متناظری ندارند و برای استفاده در اسکریپت‌نویسی در نظر گرفته شده‌اند.

%(duration[:format])

شکل گسترش‌یافته %d

%(remaining[:format])

شکل گسترش‌یافته %r

format می‌تواند شامل هر یک از مشخصه‌کننده‌های strftime(3) نظیر %d, %H, %M یا %S با اصلاحات زیر باشد: ۱) روزها محدود به مقادیر "تقویمی" 0-31 نیستند (ساعت‌ها، دقیقه‌ها و ثانیه‌ها مقادیر "ساعتی" هستند، اما به E در ادامه رجوع کنید) ۲) هر عدد به‌طور پیش‌فرض با صفر تا دو رقم اعشار پر می‌شود، ۳) نویسه % ممکن است با یک یا دو پرچم اختیاری دنبال شود: -، که پر کردن با صفر را لغو می‌کند، E، که محدودیت‌های "ساعتی" را در %H, %M و %S لغو می‌کند؛ اگر هر دو استفاده شوند، - باید پیش از E بیاید، ۴) هیچ پرچم یا مشخصه‌کننده پهنای دیگری پشتیبانی نمی‌شود

%(start[:format])

شکل گسترش‌یافته %s

%(end[:format])

شکل گسترش‌یافته %e

format می‌تواند هر مشخصه‌کننده قالب strftime(3) یا یکی از رشته‌های epoch یا default باشد؛ اولی معادل مشخصه‌کننده‌های (calcurse) %s و %e (ثانیه‌ها پس از مبدأ زمانی Epoch) است؛ دومی معادل مشخصه‌کننده‌های (calcurse) %S و %E یا رشته قالب (strftime) %H:%M است، به جز اینکه نشانگر ادامه ..:.. در صورتی چاپ می‌شود که زمان شروع/پایان متعلق به روز دیگری باشد

%(raw)

قالب پرونده متنی مورد همان‌گونه که روی دیسک ذخیره شده است؛ قالب پیش‌فرض برای گزینه‌های grep و dump-imported؛ قابل استفاده با تمامی گزینه‌های قالب‌بندی

%(hash)

هش (SHA1) مورد بالا؛ قابل استفاده با تمامی گزینه‌های قالب‌بندی

calcurse -d tomorrow

نمایش تقویم برای فردا (مشابه calcurse -Q --filter-type cal --from tomorrow).

calcurse -d friday

نمایش تقویم برای جمعه پیش‌رو.

calcurse -d 7

نمایش تقویم برای هفت روز آینده (مشابه calcurse -Q -filter-type cal --days 7).

calcurse -r7 --format-apt " - %S -> %E\n\t%m\n%N"

چاپ قرارها و رویدادها برای هفت روز آینده. همچنین یادداشت‌های پیوست‌شده به هر قرار معمولی را چاپ می‌کند.

calcurse -r7 --format-apt " - %m (%S to %E)\n" --format-recur-apt " - %m (%S to %E)\n"

چاپ قرارها و رویدادها برای هفت روز آینده و استفاده از قالب سفارشی برای قرارهای (تکرارشونده):

- Some appointment (18:30 to 21:30)

calcurse -t --format-todo "(%p) %m\n"

فهرست کردن تمام موارد کارهای انجام‌دادنی (todo) و قرار دادن پرانتز دور مشخص‌کننده‌های اولویت.

اگر فایل‌های داده calcurse حاوی ورودی‌های متعددی باشند که دیگر نیازی به آن‌ها نیست یا خواسته نمی‌شوند، می‌توان آن‌ها را به شکل تعاملی حذف کرد. در صورت زیاد بودن تعداد، این کار می‌تواند طاقت‌فرسا باشد و شاید مطابق دو مثال زیر بهتر انجام گیرد.

calcurse --input-datefmt 4 -G --filter-start-before 2015-1-1

فهرست کردن ورودی‌های رویداد و قرار در فایل‌های داده با زمان شروع قبل از ۱ ژانویه ۲۰۱۵، و تمام ورودی‌های TODO.

پاک‌سازی (Purge). هنگامی که -G با -P جایگزین شود، آن ورودی‌ها حذف می‌شوند. این کار ممکن است مواردی از رویدادهای تکرارشونده را که پس از ۱ ژانویه ۲۰۱۵ رخ می‌دهند نیز حذف کند.

calcurse --input-datefmt 1 -G --filter-start-from 11/1/2015 --filter-type event,apt

فهرست کردن ورودی‌های رویداد و قرار (معمولی) با زمان شروع ۱ نوامبر ۲۰۱۵ یا پس از آن.

calcurse -G --filter-type apt --format-apt "%(hash) %m\n"

برای هر قرار، شناسه درهم‌سازی (hash) اس‌اچ‌ای-۱ (SHA1) ورودی فایل داده و سپس توضیحات را فهرست می‌کند.

calcurse -G --filter-type apt --format-apt "%(duration:%d/%EH/%EM)\t%m\n"

برای هر قرار، مدت زمان (کل) را به صورت روز، ساعت یا دقیقه و سپس توضیحات را فهرست می‌کند.

calcurse -G --filter-type apt --format-apt "%(start:%c) %(duration:%d %H:%M)\t%m\n"

برای هر قرار، زمان شروع در قالب استاندارد محلی، به همراه مدت زمان به روز، ساعت و دقیقه، و در ادامه توضیحات را فهرست می‌کند.

ساختار زیر به‌طور پیش‌فرض در شاخه خانگی (home) شما نخستین باری که calcurse بدون هیچ گزینه‌ای اجرا می‌شود ایجاد می‌گردد:

$XDG_DATA_HOME/calcurse/        $XDG_CONFIG_HOME/calcurse/
                  |___apts                          |___conf
                  |___notes/                        |___hooks/
                  |___todo                          |___keys

مقدار پیش‌فرض $XDG_DATA_HOME برابر $HOME/.local/share و مقدار پیش‌فرض $XDG_CONFIG_HOME برابر $HOME/.config است.

فایل‌ها از دو نوع متفاوت هستند: داده و پیکربندی. فایل‌های داده پایگاه‌داده calcurse را تشکیل می‌دهند و مستقل از نسخه انتشار calcurse هستند؛ فایل‌های پیکربندی به نسخه calcurse وابسته‌اند اگرچه همواره سازگاری با گذشته مد نظر است.

فایل تقویم apts شامل تمام قرارها و رویدادهای کاربر است، و فایل todo فهرست کارهای انجام‌دادنی را در بر دارد. زیرشاخه notes حاوی یادداشت‌هایی است که به قرارها، رویدادها یا کارهای انجام‌دادنی پیوست شده‌اند. برای هر یادداشت یک فایل متنی ایجاد می‌شود که نام آن شناسه خلاصه پیام SHA1 خود یادداشت است.

فایل‌های قفل (پنهان) برنامه‌های calcurse (.calcurse.pid) و دیمن (.daemon.log) هنگام اجرای آن‌ها حضور دارند. اگر فعالیت گزارش وقایع دیمن در منوی پیکربندی اعلان‌ها فعال شده باشد، فایل daemon.log نیز وجود خواهد داشت.

یک فایل تقویم جایگزین را می‌توان با گزینه -c مشخص کرد.

فایل conf حاوی پیکربندی کاربر و فایل keys شامل کلیدهای میانبر تعریف‌شده توسط کاربر است. شاخه hooks شامل اسکریپت‌های ارائه‌شده توسط کاربر است، بخش قلاب‌ها (Hooks) را ببینید.

یک شاخه جایگزین برای هر دو فایل‌های پیکربندی و شاخه داده می‌تواند با گزینه -D مشخص شود.

یک شاخه جایگزین تنها برای فایل‌های پیکربندی می‌تواند با گزینه -C مشخص شود؛ در این حالت فایل‌های داده در شاخه پیش‌فرض یا در شاخه تعیین‌شده توسط -D قرار دارند. اگر هر دو گزینه -D و -C ارائه شوند، فایل‌های پیکربندی موجود در شاخه داده (در صورت وجود) نادیده گرفته می‌شوند.

اگر $HOME/.calcurse وجود داشته باشد، به عنوان پیش‌فرض برای هر دو شاخه داده و شاخه پیکربندی به کار خواهد رفت.

<datadir>      <confdir>
     |             |
     |__ apts      |___ conf
     |__ todo      |___ keys
     |__ notes/    |___ hooks/
defaults:
     <datadir>: $XDG_DATA_HOME/calcurse ($HOME/.local/share/calcurse)
     <confdir>: $XDG_CONFIG_HOME/calcurse ($HOME/.config/calcurse)
     both: $HOME/.calcurse (only if it exists)

برنامه calcurse می‌تواند میان دو ساختار پیکربندی جابه‌جا شود، اما همچنان به همان فایل‌های داده دسترسی داشته باشد، برای نمونه با:

$ calcurse
$ calcurse -C "$HOME/.config/calcurse/config"

اسکریپت‌های قرار گرفته در <confdir>/calcurse/hooks/ (بخش پیکربندی شاخه را ببینید) در هنگام رویدادهای مشخصی اقداماتی را اجرا می‌کنند. برای فعال‌سازی یک قلاب، اسکریپتی با یکی از نام‌های زیر به این شاخه بیفزایید. همچنین اطمینان حاصل کنید که اسکریپت قابل اجرا (executable) باشد.

pre-load

پیش از بارگذاری فایل‌های داده اجرا می‌شود.

post-load

پس از بارگذاری فایل‌های داده اجرا می‌شود.

pre-save

پیش از ذخیره‌سازی فایل‌های داده اجرا می‌شود.

post-save

پس از ذخیره‌سازی فایل‌های داده اجرا می‌شود.

چند نمونه را می‌توان در شاخه contrib/hooks/ در درخت سورس‌کد calcurse یافت.

چندین متغیر محیطی بر نحوه عملکرد calcurse تأثیر می‌گذارند.

CALCURSE_EDITOR, VISUAL, EDITOR

ویرایشگر خارجی مورد استفاده برای نوشتن یادداشت‌ها را تعیین می‌کند. این متغیرها به ترتیب ذکر شده امتحان می‌شوند تا زمانی که یکی یافت شود. اگر هیچ‌کدام تنظیم نشده باشند، vi استفاده می‌شود.

CALCURSE_PAGER, PAGER

همانند ویرایشگر، نمایشگر پیش‌فرضی را مشخص می‌کند که برای خواندن یادداشت‌ها به کار می‌رود. مقدار پیش‌فرض less است.

MERGETOOL

ابزاری که برای ادغام دو فایل جهت رفع تداخل ذخیره‌سازی استفاده می‌شود. مقدار پیش‌فرض vimdiff است. این برنامه تنها با دو نام فایل به عنوان آرگومان فراخوانی می‌شود.

همچنین بخش FILES را ببینید.

اگر باگی پیدا کردید، لطفاً گزارشی به bugs@calcurse.org ارسال کنید، یا اگر کاربر گیت‌هاب هستید، یک issue در https://github.com/lfos/calcurse ثبت کنید.

مشخصات ical (استاندارد rfc2445) در نشانی زیر قابل دسترسی است: http://tools.ietf.org/html/rfc2445

صفحه پروژه pcal: http://pcal.sourceforge.net/

صفحه خانگی calcurse: http://calcurse.org/

پروژه calcurse در گیت‌هاب: https://github.com/lfos/calcurse

راهنمای کامل، که در قالب html نگهداری می‌شود، در پوشه doc/ از بسته سورس، یا در نشانی http://calcurse.org/files/manual.html در دسترس است.

•Frederic Culot <frederic@culot.org>
•Lukas Fleischer <lfleischer@calcurse.org>

Copyright (c) 2004-2023 calcurse Development Team. این نرم‌افزار تحت مجوز BSD منتشر شده است.

08/07/2025