| CALCURSE(1) | CALCURSE(1) |
نام (NAME)
calcurse - سازماندهنده مبتنی بر ترمینال برای استفاده تعاملی و خط فرمان
خلاصه دستور (SYNOPSIS)
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 آمده است.
توضیحات (DESCRIPTION)
برنامه calcurse یک تقویم و نرمافزار زمانبندی برای استفاده در نشست ترمینال (شبیهساز ترمینال) است. هنگامی که بدون گزینه فراخوانی شود، calcurse وارد حالت تعاملی میشود؛ در بیشتر موارد دیگر، calcurse خروجی را در ترمینال تولید کرده و خارج میشود. این ابزار به پیگیری رویدادها، قرارها و کارهای روزمره کمک میکند. حالت تعاملی زمانی به کار میرود که دادهها وارد شوند یا مدخلهای موجود بررسی یا ویرایش شوند. همه دادهها به صورت فایلهای متنی روی دیسک ذخیره میشوند. حالت خط فرمان برای پرسوجوها، کارهای مدیریتی و خودکارسازی کارها در اسکریپتها استفاده میشود.
رابط تعاملی بر پایه ncurses است و میتواند مطابق با اولویتهای کاربر شخصیسازی شود. شخصیسازی شامل رفتار برنامه، ظاهر بصری و کلیدهای میانبر است و به صورت تعاملی انجام میشود؛ نتیجه به طور خودکار روی دیسک ذخیره شده و در هر بار اجرا بارگذاری میشود. کنشهای در دسترس در یک سامانه راهنمای برخط مستند شدهاند. سامانه اعلان قابلپیکربندی، یادآورهایی را برای سررسیدهای پیشرو صادر میکند.
هنگام خروج از برنامه تعاملی، یک دیمن پسزمینه میتواند به اجرا ادامه داده و یادآورها را صادر کند؛ این دیمن هنگام ورود مجدد به حالت تعاملی به طور خودکار متوقف میشود.
این صفحه مان بیشتر حالت خط فرمان را توصیف میکند. دو زیربخش بعدی شامل توضیحاتی کلی درباره گزینههای خط فرمان و نحوه استفاده از آنها هستند.
قالب تاریخ ورودی و خروجی (Input and Output Date Format)
بسیاری از گزینهها نیازمند آرگومان 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 است). توجه داشته باشید که کل مشخصه تاریخ باید درون نقلقول قرار گیرد تا یک آرگومان واحد تشکیل دهد.
گزینههای پالایش، قالببندی و بازه روز (Filter, format and day range options)
این گزینهها به خودی خود کاری انجام نمیدهند. آنها بر گزینههای دیگر تأثیر میگذارند و به نوعی متضاد یکدیگرند: گزینههای پالایش بر ورودی calcurse اثر میگذارند، در حالی که گزینههای قالببندی و بازه روز بر خروجی آن تأثیر دارند. به طور خاص، گزینههای پالایش آنچه را که از فایلهای داده در calcurse بارگذاری میشود محدود میکنند، گزینههای بازه روز آنچه را که خروجی داده میشود محدود میسازند (گزینه -Q را ببینید)، و گزینههای قالببندی نحوه نمایش آن را تعیین میکنند.
گزینههای پالایش بر پرسوجوها (-Q و فرمهای کوتاه پرسوجو)، grep (-G)، purge (-P) و export (-x) تأثیر دارند. گزینههای قالببندی بر پرسوجوها، grep و --dump-imported تأثیر میگذارند. گزینههای بازه روز تنها بر پرسوجوها اثر دارند.
گزینهها (OPTIONS)
بیشتر گزینهها به معنای حالت خط فرمان هستند. گزینههای سازگار با حالت تعاملی با عنوان "(also interactively)" مشخص شدهاند.
-a, --appointment
-c file, --calendar file
-C dir, --confdir dir
-D dir, --datadir dir
-d date|num, --day date|num
در حالت نخست، قرارها و رویدادهای مربوط به date بازگردانده میشوند، در حالی که در حالت دوم موارد مربوط به num روز بازگردانده خواهند شد. مقادیر مثبت num به معنای آینده و مقادیر منفی به معنای گذشته است؛ بازه یا با روز جاری آغاز میشود یا با آن پایان مییابد. به عنوان مثال calcurse -d 3 قرارها و رویدادهای امروز، فردا و پسفردا را نمایش میدهد، در حالی که calcurse -d -2 موارد مربوط به دیروز و امروز را نمایش میدهد. حالت نخست معادل با -Q --filter-type cal --from date، و حالت دوم معادل با -Q --filter-type cal --days num است.
--daemon
--days num
--dump-imported
--export-uid
--from date
-F, --filter
-g, --gc
-G, --grep
-h, --help
-i file, --import file
--input-datefmt format
-l num, --limit num
-n, --next
--output-datefmt format
-P, --purge
موارد منطبق (بدون هشدار) از فایلهای داده حذف میشوند. هر ترکیبی از گزینههای پالایش، به جز --filter-invert، میتواند برای توصیف مواردی که باید حذف شوند استفاده شود. پالایشگر معکوس به صورت داخلی توسط گزینه purge استفاده میشود، و استفاده همزمان از آن در خط فرمان ممکن است به رفتار غیرقابل پیشبینی منجر شود.
هشدار: در استفاده از این گزینه محتاط باشید، تعیین گزینههای پالایش نادرست ممکن است به از دست رفتن دادهها منجر شود. اکیداً توصیه میشود ابتدا با -G آزمایش کنید و پالایهها را به دقت تنظیم کنید تا مواردی را که باید حذف شوند نشان دهد. سپس همان دستور را با -P به جای -G اجرا کنید. در هر صورت، پیشاپیش از فایلهای داده نسخه پشتیبان تهیه کنید.
-q, --quiet
-Q, --query
day range به طور پیشفرض روز جاری است و با گزینههای --from و --to/--days تغییر مییابد. بازه --from a --to z شامل هر دو روز a و z است. بازه --from a --days n شامل a به عنوان نخستین روز در صورت مثبت بودن n، یا آخرین روز در صورت منفی بودن n خواهد بود.
بازه روز تنها بر پرسوجوها اثر دارد.
-r[num], --range[=num]
--read-only
هشدار: اگر calcurse را در حالت فقطخواندنی به صورت تعاملی اجرا کنید، تمام تغییرات آن نشست بدون هیچ هشداری از دست خواهند رفت!
-s[date], --startday[=date]
-S regex, --search regex
--status
-t[num], --todo[=num]
--to date
-v, --version
-x[format], --export[=format]
گزینههای پالایش (FILTER OPTIONS)
گزینههای پالایش بر پرسوجوها (-Q و فرمهای کوتاهشده پرسوجو)، grep (-G)، purge (-P) و export (-x) تأثیر دارند، همچنین گزینهها در بخش DESCRIPTION را ببینید.
چندین گزینه پالایش میتوانند مشخص شوند. برای اینکه یک مورد در calcurse بارگذاری شود باید با تمام پالایهها مطابقت داشته باشد. به بیان دیگر، پالایهها به صورت منطقی با یکدیگر «AND» میشوند. گزینه --filter-type دارای مقدار پیشفرضی است که با هر موردی مطابقت میکند. تمام گزینههای پالایش دیگر هیچ مقدار پیشفرضی ندارند و تنها در صورت تعیین صریح اعمال میشوند.
گزینههای پالایش به سه گروه تقسیم میشوند: عمومی، گاهشمار، کارها (todo). پالایههای عمومی بر همه موارد اعمال میشوند، پالایههای گاهشمار به زمانهای آغاز و پایان مربوط هستند و تنها برای قرار ملاقاتها و رویدادها به کار میروند، و پالایههای کارها به اولویت و وضعیت تکمیل مربوط میشوند و تنها بر TODOها اعمال میگردند.
خارج از این سه گروه، پالایه معکوس قرار دارد.
--filter-invert
پالایههای عمومی (General filters)
--filter-type type
--filter-pattern pattern
--filter-hash string
پالایههای گاهشمار (Calendar filters)
برای گزینههای پالایشی که به -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
پالایههای کارها (Todo filters)
--filter-priority priority
--filter-completed
--filter-uncompleted
گزینههای قالببندی (FORMAT OPTIONS)
گزینههای قالببندی بر پرسوجوها (queries)، grep و --dump-imported تأثیر میگذارند.
این گزینهها به ترتیب قالبی را برای قرار ملاقاتها، قرار ملاقاتهای تکرارشونده، رویدادها، رویدادهای تکرارشونده یا موارد فهرست کار مشخص میکنند.
--format-apt format, --format-recur-apt format, --format-event format, --format-recur-event format, --format-todo format
نکته: استفاده از گزینه قالببندی مستلزم قالببندی صریح جداسازی فیلدها و فاصلهگذاری خطوط است.
رشتههای قالببندی پیشفرض (Default format strings)
هر مشخصهکننده با یک % و به دنبال آن نویسهای معرفی میشود که تعیین میکند چه چیزی باید چاپ شود. مشخصهکنندههای موجود به نوع مورد بستگی دارند. زمانها بهصورت ساعت و دقیقه (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)" است.
قرار ملاقاتها (Appointments)
%d
%e
%E
%m
%n
%N
%r
%s
%S
رویدادها (Events)
%m
%n
%N
موارد فهرست کار (Todo items)
%m
%n
%N
%p
مشخصهکنندههای قالببندی گسترشیافته (Extended format specifiers)
مشخصهکنندههای قالببندی گسترشیافته را میتوان برای کنترل چاپ زمان در برخی از مشخصهکنندههای تکحرفی به کار برد. علاوه بر این دو مشخصهکننده وجود دارند که شکل کوتاه متناظری ندارند و برای استفاده در اسکریپتنویسی در نظر گرفته شدهاند.
%(duration[:format])
%(remaining[:format])
format میتواند شامل هر یک از مشخصهکنندههای strftime(3) نظیر %d, %H, %M یا %S با اصلاحات زیر باشد: ۱) روزها محدود به مقادیر "تقویمی" 0-31 نیستند (ساعتها، دقیقهها و ثانیهها مقادیر "ساعتی" هستند، اما به E در ادامه رجوع کنید) ۲) هر عدد بهطور پیشفرض با صفر تا دو رقم اعشار پر میشود، ۳) نویسه % ممکن است با یک یا دو پرچم اختیاری دنبال شود: -، که پر کردن با صفر را لغو میکند، E، که محدودیتهای "ساعتی" را در %H, %M و %S لغو میکند؛ اگر هر دو استفاده شوند، - باید پیش از E بیاید، ۴) هیچ پرچم یا مشخصهکننده پهنای دیگری پشتیبانی نمیشود
%(start[:format])
%(end[:format])
format میتواند هر مشخصهکننده قالب strftime(3) یا یکی از رشتههای epoch یا default باشد؛ اولی معادل مشخصهکنندههای (calcurse) %s و %e (ثانیهها پس از مبدأ زمانی Epoch) است؛ دومی معادل مشخصهکنندههای (calcurse) %S و %E یا رشته قالب (strftime) %H:%M است، به جز اینکه نشانگر ادامه ..:.. در صورتی چاپ میشود که زمان شروع/پایان متعلق به روز دیگری باشد
%(raw)
%(hash)
مثالها (EXAMPLES)
calcurse -d tomorrow
calcurse -d friday
calcurse -d 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"
اگر فایلهای داده calcurse حاوی ورودیهای متعددی باشند که دیگر نیازی به آنها نیست یا خواسته نمیشوند، میتوان آنها را به شکل تعاملی حذف کرد. در صورت زیاد بودن تعداد، این کار میتواند طاقتفرسا باشد و شاید مطابق دو مثال زیر بهتر انجام گیرد.
calcurse --input-datefmt 4 -G --filter-start-before 2015-1-1
پاکسازی (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"
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"
فایلها (FILES)
ساختار زیر بهطور پیشفرض در شاخه خانگی (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 وابستهاند اگرچه همواره سازگاری با گذشته مد نظر است.
فایلهای داده (Data files)
فایل تقویم apts شامل تمام قرارها و رویدادهای کاربر است، و فایل todo فهرست کارهای انجامدادنی را در بر دارد. زیرشاخه notes حاوی یادداشتهایی است که به قرارها، رویدادها یا کارهای انجامدادنی پیوست شدهاند. برای هر یادداشت یک فایل متنی ایجاد میشود که نام آن شناسه خلاصه پیام SHA1 خود یادداشت است.
فایلهای قفل (پنهان) برنامههای calcurse (.calcurse.pid) و دیمن (.daemon.log) هنگام اجرای آنها حضور دارند. اگر فعالیت گزارش وقایع دیمن در منوی پیکربندی اعلانها فعال شده باشد، فایل daemon.log نیز وجود خواهد داشت.
یک فایل تقویم جایگزین را میتوان با گزینه -c مشخص کرد.
فایلهای پیکربندی (Configuration files)
فایل conf حاوی پیکربندی کاربر و فایل keys شامل کلیدهای میانبر تعریفشده توسط کاربر است. شاخه hooks شامل اسکریپتهای ارائهشده توسط کاربر است، بخش قلابها (Hooks) را ببینید.
پیکربندی شاخه (Directory configuration)
یک شاخه جایگزین برای هر دو فایلهای پیکربندی و شاخه داده میتواند با گزینه -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"
قلابها (Hooks)
اسکریپتهای قرار گرفته در <confdir>/calcurse/hooks/ (بخش پیکربندی شاخه را ببینید) در هنگام رویدادهای مشخصی اقداماتی را اجرا میکنند. برای فعالسازی یک قلاب، اسکریپتی با یکی از نامهای زیر به این شاخه بیفزایید. همچنین اطمینان حاصل کنید که اسکریپت قابل اجرا (executable) باشد.
pre-load
post-load
pre-save
post-save
چند نمونه را میتوان در شاخه contrib/hooks/ در درخت سورسکد calcurse یافت.
متغیرهای محیطی (ENVIRONMENT)
چندین متغیر محیطی بر نحوه عملکرد calcurse تأثیر میگذارند.
CALCURSE_EDITOR, VISUAL, EDITOR
CALCURSE_PAGER, PAGER
MERGETOOL
همچنین بخش FILES را ببینید.
اشکالات (BUGS)
اگر باگی پیدا کردید، لطفاً گزارشی به bugs@calcurse.org ارسال کنید، یا اگر کاربر گیتهاب هستید، یک issue در https://github.com/lfos/calcurse ثبت کنید.
همچنین ببینید (SEE ALSO)
مشخصات 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 در دسترس است.
نویسندگان (AUTHORS)
حق نشر (COPYRIGHT)
Copyright (c) 2004-2023 calcurse Development Team. این نرمافزار تحت مجوز BSD منتشر شده است.
| 08/07/2025 |