.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "KHAL" "1" "Aug 21, 2026" "0.14.1" "khal" .SH "نام (NAME)" khal \- برنامه تقویم متنی و خط فرمانی مبتنی بر استاندارد CalDAV/vCalendar .sp برنامه khal یک نرم‌افزار تقویم برای محیط خط فرمان و ترمینال جهت مشاهده، افزودن و ویرایش رویدادها و تقویم‌ها است. khal بر پایه استانداردهای iCalendar و vdir (با امکان استفاده از \fBvdirsyncer(1)\fP برای سازگاری با CalDAV) ساخته شده است. .SH "نحوه استفاده (USAGE)" .sp برنامه khal مجموعه‌ای از دستورات را ارائه می‌دهد که مهم‌ترین آن‌ها عبارتند از: \fBlist\fP، \fBcalendar\fP، \fBinteractive\fP، \fBnew\fP، \fBprintcalendars\fP، \fBprintformats\fP و \fBsearch\fP\&. برای توضیحات عملکرد هر دستور به بخش‌های زیر مراجعه کنید. در حال حاضر \fBkhal\fP از هیچ دستور پیش‌فرضی پشتیبانی نمی‌کند (یعنی در صورت مشخص نشدن دستور، دستوری اجرا نمی‌شود). این رفتار عمدی است. .SS "گزینه‌ها (OPTIONS)" .sp برنامه \fBkhal\fP (بدون هیچ زیردستوری) گزینه‌هایی برای نمایش اطلاعاتی درباره \fBkhal\fP دارد: .INDENT 0.0 .TP .B \-\-version نسخه khal را چاپ کرده و خارج می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-h, \-\-help خلاصه‌ای از گزینه‌ها و دستورات khal را نمایش داده و سپس خارج می‌شود. .UNINDENT .sp چندین گزینه میان تقریباً تمام دستورات \fBkhal\fP مشترک هستند (موارد استثنا در ادامه توضیح داده شده‌اند): .INDENT 0.0 .TP .B \-v, \-\-verbosity LVL میزان پرگویی و جزئیات گزارش‌ها را تنظیم می‌کند (مثلاً چاپ اطلاعات اشکال‌زدایی)، \fILVL\fP باید یکی از مقادیر CRITICAL، ERROR، WARNING، INFO یا DEBUG باشد. .UNINDENT .INDENT 0.0 .TP .B \-l, \-\-logfile LOFILE از فایل لاگ \fILOGFILE\fP برای ثبت گزارش‌ها استفاده می‌کند؛ حالت پیش‌فرض ارسال گزارش به خروجی استاندارد (stdout) است. .UNINDENT .INDENT 0.0 .TP .B \-c CONFIGFILE از یک فایل پیکربندی جایگزین استفاده می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-a CALENDAR تقویم مورد استفاده را مشخص می‌کند (که باید در فایل پیکربندی تعریف شده باشد)؛ می‌تواند چندین بار استفاده شود. تقویم‌هایی که مشخص نشده باشند در این اجرا نادیده گرفته می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-d CALENDAR تقویمی را مشخص می‌کند که در این اجرا نادیده گرفته می‌شود؛ می‌تواند چندین بار استفاده شود. .UNINDENT .INDENT 0.0 .TP .B \-\-color/\-\-no\-color برنامه \fBkhal\fP تشخیص می‌دهد که آیا خروجی استاندارد یک tty نیست (برای نمونه هنگامی که خروجی khal را به یک فایل هدایت می‌کنید) و در این صورت تمام رنگ‌آمیزی‌ها و برجسته‌سازی‌ها را از خروجی حذف می‌کند. اگر می‌خواهید رنگ‌آمیزی را اجباری کنید از \fB\-\-color\fP و اگر می‌خواهید رنگ‌ها همیشه حذف شوند از \fB\-\-no\-color\fP استفاده کنید. .UNINDENT .INDENT 0.0 .TP .B \-\-format FORMAT برای تمام دستورات khal که رویدادها را چاپ می‌کنند، قالب‌بندی نمایش رویداد را می‌توان با این گزینه مشخص کرد. \fBFORMAT\fP یک رشته الگویی است که در آن شناسه‌های محصور میان آکولاد (\fI{}\fP) به ویژگی‌های رویداد گسترش می‌یابند. \fBFORMAT\fP از تمام قابلیت‌های قالب‌بندی ارائه‌شده توسط str.format() پایتون \% پشتیبانی می‌کند (زیرا در ساختار داخلی آن استفاده می‌شود). گزینه‌های الگوی موجود عبارتند از: .INDENT 7.0 .TP .B title عنوان رویداد. .TP .B description توضیحات رویداد. .TP .B description\-separator جداکننده: \(dq :: \(dq که هنگام وجود توضیحات نمایش داده می‌شود. .TP .B uid شناسه یکتای (UID) رویداد. .TP .B start تاریخ و زمان شروع در قالب datetimeformat. .TP .B start\-long تاریخ و زمان شروع در قالب longdatetimeformat. .TP .B start\-date تاریخ شروع در قالب dateformat. .TP .B start\-date\-long تاریخ شروع در قالب longdateformat. .TP .B start\-time زمان شروع در قالب timeformat. .TP .B end تاریخ و زمان پایان در قالب datetimeformat. .TP .B end\-long تاریخ و زمان پایان در قالب longdatetimeformat. .TP .B end\-date تاریخ پایان در قالب dateformat. .TP .B end\-date\-long تاریخ پایان در قالب longdateformat. .TP .B end\-time زمان پایان در قالب timeformat. .TP .B repeat\-symbol نماد تکرار (فلش حلقه) در صورتی که رویداد تکرارشونده باشد. .TP .B alarm\-symbol نماد هشدار (ساعت زنگ‌دار) در صورتی که رویداد حداقل یک هشدار داشته باشد. .TP .B alarms\-list فهرستی جداشده با کاما از هشدارهای رویداد (مثلاً \fIalarm1@\-15m, getready@\-1h\fP). .TP .B location مکان رویداد. .TP .B calendar نام تقویم. .TP .B calendar\-color رنگ خروجی را به رنگ تقویم تغییر می‌دهد. .TP .B start\-style زمان شروع در قالب timeformat یا یک نماد مناسب. .TP .B to\-style یک خط تیره \(dq\-\(dq یا هیچ چیز، به گونه‌ای که به شکل مناسب میان start\-style و end\-style قرار گیرد. .TP .B end\-style زمان پایان در قالب timeformat یا یک نماد مناسب. .TP .B start\-end\-time\-style ترکیبی متصل از start\-style، to\-style و end\-style یا یک نماد مناسب. .TP .B end\-necessary برای رویداد تمام‌روز یک رشته خالی است مگر اینکه تاریخ شروع و پایان متفاوت باشند. برای رویداد غیر تمام‌روز، در صورت متفاوت بودن تاریخ شروع و پایان، زمان یا تاریخ‌وزمان را نشان می‌دهد. .TP .B end\-necessary\-long همانند end\-necessary ولی از datelong و datetimelong استفاده می‌کند. .TP .B status .INDENT 7.0 .INDENT 3.5 وضعیت رویداد (اگر این رویداد وضعیتی داشته باشد)، مقداری مانند \fICONFIRMED\fP یا \fICANCELLED\fP\&. .UNINDENT .UNINDENT .INDENT 7.0 .TP .B status\-symbol وضعیت رویداد به عنوان یک نماد، \fI✓\fP یا \fI✗\fP یا \fI?\fP\&. .TP .B partstat\-symbol وضعیت مشارکت در رویداد به عنوان یک نماد، \fI✓\fP یا \fI✗\fP یا \fI?\fP\&. .UNINDENT .TP .B cancelled رشته \fICANCELLED\fP (به همراه یک فاصله) در صورتی که وضعیت رویداد لغو شده باشد، در غیر این صورت خالی. .TP .B organizer برگزارکننده رویداد. اگر قالب دارای CN باشد، مقدار \(dqCN (email)\(dq بازگردانده می‌شود؛ اگر CN وجود نداشته باشد تنها رشته ایمیل بازگردانده می‌شود. مثال: ORGANIZER;CN=Name Surname:mailto:name@mail.com مقدار Name Surname (name@mail.com) را بازمی‌گرداند و اگر صفت CN نداشته باشد آخرین عنصر پس از دونقطه را بازمی‌گرداند: ORGANIZER;SENT\-BY=\(dqmailto:toemail@mail.com\(dq:mailto:name@mail.com مقدار name@mail.com را بازمی‌گرداند. .TP .B url نشانی اینترنتی (URL) جاسازی‌شده در رویداد، در غیر این صورت خالی. .TP .B url\-separator جداکننده: \(dq :: \(dq که هنگام وجود URL نمایش داده می‌شود. .TP .B duration مدت زمان رویداد بر حسب روز، ساعت، دقیقه و ثانیه (به ترتیب با حروف اختصاری \fId\fP، \fIh\fP، \fIm\fP و \fIs\fP). .TP .B repeat\-pattern قاعده خام تکرار iCal در صورتی که رویداد تکرارشونده باشد. .TP .B all\-day یک مقدار بولی که نشان می‌دهد رویداد تمام‌روز است یا خیر. .TP .B categories دسته‌بندی‌های رویداد. .UNINDENT .sp به طور پیش‌فرض، رویدادهای تمام‌روز فاقد زمان هستند. برای مشاهده زمان شروع و پایان در هر حال، کافی است \fI\-full\fP را به انتهای هر الگوی دارای start/end یا duration اضافه کنید؛ برای نمونه \fIstart\-time\fP تبدیل به \fIstart\-time\-full\fP شده و همیشه زمان شروع و پایان را نشان می‌دهد (به جای اینکه برای رویدادهای تمام‌روز خالی باشد). .sp علاوه بر این، رنگ‌ها وجود دارند: \fIblack\fP، \fIred\fP، \fIgreen\fP، \fIyellow\fP، \fIblue\fP، \fImagenta\fP، \fIcyan\fP، \fIwhite\fP (و نسخه‌های پررنگ آن‌ها: \fIred\-bold\fP و غیره). همچنین \fIreset\fP وجود دارد که استایل را پاک می‌کند و \fIbold\fP که بولد معمولی است. .sp چند کد کنترلی نیز ارائه شده است. می‌توانید به خط جدید (\fInl\fP)، \(aqtab\(aq و \(aqbell\(aq دسترسی داشته باشید. کدهای کنترلی مانند \fInl\fP بهترین کاربرد را با حالت \fI\-\-list\fP دارند. .sp در زیر نمونه‌ای از دستوری آورده شده است که عنوان و توضیحات تمام رویدادهای امروز را چاپ می‌کند. .INDENT 7.0 .INDENT 3.5 .sp .EX khal list \-\-format \(dq{title} {description}\(dq .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-json FIELD ... مشابه \fB\-\-format\fP عمل می‌کند، اما به جای تعریف یک رشته قالب‌بندی، یک شیء JSON برای هر فیلد مشخص‌شده ایجاد می‌شود. رویدادهای منطبق در یک آرایه JSON جمع‌آوری می‌شوند. این گزینه زیرمجموعه زیر از گزینه‌های الگوی \fB\-\-format\fP را می‌پذیرد: .INDENT 7.0 .INDENT 3.5 .sp .EX title, description, uid, start, start\-long, start\-date, start\-date\-long, start\-time, end, end\-long, end\-date, end\-date\-long, end\-time, start\-full, start\-long\-full, start\-date\-full, start\-date\-long\-full, start\-time\-full, end\-full, end\-long\-full, end\-date\-full, end\-date\-long\-full, end\-time\-full, repeat\-symbol, alarms\-list, location, calendar, calendar\-color, start\-style, to\-style, end\-style, start\-end\-time\-style, end\-necessary, end\-necessary\-long, status, cancelled, organizer, url, duration, duration\-full, repeat\-pattern, all\-day, categories .EE .UNINDENT .UNINDENT .sp توجه داشته باشید که \fIcalendar\-color\fP نام واقعی رنگ خواهد بود نه کد رنگ ANSI، و فاصله‌های خالی ابتدا و انتهای مقادیر \fIrepeat\-symbol\fP، \fIstatus\fP و \fIcancelled\fP حذف خواهند شد. علاوه بر این، اگر فقط مقدار ویژه \fIall\fP مشخص شود، تمام فیلدها فعال خواهند شد. .sp در زیر یک دستور نمونه آورده شده است که فهرستی از اشیاء JSON حاوی عنوان و توضیحات تمام رویدادهای امروز را چاپ می‌کند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .INDENT 3.5 .sp .EX khal list \-\-json title \-\-json description .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-day\-format DAYFORMAT مشابه \fB\-\-format\fP عمل می‌کند، اما برای سرصفحه روزها است. این گزینه تنها چند انتخاب دارد (علاوه بر تمامی گزینه‌های رنگ): .INDENT 7.0 .TP .B date تاریخ در قالب dateformat. .TP .B date\-long تاریخ در قالب longdateformat. .TP .B name نام روز (\fIMonday\fP، \fITuesday\fP، …) یا \fItoday\fP یا \fItomorrow\fP\&. .UNINDENT .sp اگر به \fI\-\-day\-format\fP یک رشته خالی داده شود، سرصفحه روزها را چاپ نخواهد کرد (برای یک خط خالی، یک کاراکتر فاصله ارسال کنید). .UNINDENT .SS "تاریخ‌ها (DATES)" .sp تقریباً در هر جایی که khal تاریخ‌ها را می‌پذیرد، باید نام‌های نسبی تاریخ مانند \fItoday\fP، \fItomorrow\fP و نام روزهای هفته (همچنین به صورت مخفف سه حرفی) را تشخیص دهد. نام روزهای هفته به عنوان تاریخ وقوع بعدی آن روز تفسیر می‌شوند. نام روز جاری به عنوان آن تاریخ در هفته \fIبعدی\fP (یعنی هفت روز بعد از امروز) تفسیر می‌شود. .sp اگر از قالب کوتاهِ تاریخ‌وزمان استفاده شود (سالی ذکر نشود)، khal تاریخ را در آینده تفسیر خواهد کرد. در صورتی که تاریخ داده‌شده در سال جاری گذشته باشد، احتمالاً به عنوان سال بعد در نظر گرفته می‌شود. .SS "دستورات (COMMANDS)" .SS "list" .sp تمام رویدادهای زمان‌بندی‌شده برای یک محدوده تاریخ (یا تاریخ‌وزمان) مشخص را با قالب‌بندی سفارشی نمایش می‌دهد: .INDENT 0.0 .INDENT 3.5 .sp .EX khal list [\-a CALENDAR ... | \-d CALENDAR ...] [\-\-format FORMAT] [\-\-json FIELD ...] [\-\-day\-format DAYFORMAT] [\-\-once] [\-\-notstarted] [START [END | DELTA] ] .EE .UNINDENT .UNINDENT .sp مقادیر START و END هر دو می‌توانند به صورت تاریخ، تاریخ‌وزمان یا زمان (در صورت ارائه فقط زمان، فرض می‌شود امروز مد نظر است) در قالب‌های پیکربندی‌شده در فایل پیکربندی داده شوند. اگر END داده نشود، نیمه‌شب تاریخ شروع فرض می‌شود. اگر START به صراحت مشخص نشود، امروز در نظر گرفته می‌شود. اگر DELTA، یعنی یک محدوده (تاریخ و) زمان در قالب \fII{m,h,d}\fP (که در آن \fII\fP یک عدد صحیح است و \fIm\fP به معنای دقیقه، \fIh\fP به معنای ساعت و \fId\fP به معنای روز است) داده شود، END به صورت START + DELTA در نظر گرفته می‌شود. مقدار \fIeod\fP نیز به عنوان DELTA پذیرفته می‌شود و به معنای پایان روز تاریخ شروع است. علاوه بر این، مقدار DELTA برابر با \fIweek\fP را می‌توان برای مشخص کردن این که محدوده تاریخ باید هفته شامل START باشد به کار برد. .sp گزینه \fI\-\-once\fP باعث می‌شود رویدادها حتی در صورت قرار داشتن در چند روز، فقط یک بار نمایش داده شوند. با گزینه \fI\-\-notstarted\fP فقط رویدادهایی نمایش داده می‌شوند که پس از \fISTART\fP شروع می‌شوند. .sp \fBچندین مثال\fP .sp شامل کردن یا استثنا کردن تقویم‌های مشخص: .INDENT 0.0 .IP \(bu 2 دستور \fIkhal list \-d soccer\fP رویدادها را به صورت فهرست از تمام تقویم‌ها به جز \(dqsoccer.\(dq نمایش می‌دهد. .IP \(bu 2 دستور \fIkhal list \-a soccer\fP رویدادها را به صورت فهرست تنها از تقویم \(dqsoccer\(dq نمایش می‌دهد. .UNINDENT .sp کار با محدوده‌های تاریخی: .INDENT 0.0 .IP \(bu 2 دستور \fIkhal list \-a soccer today 30d\fP تمام رویدادهای ۳۰ روز آینده را (از تقویم \(dqsoccer\(dq) نمایش می‌دهد. .IP \(bu 2 دستور \fIkhal list 2019\-12\-01 31d\fP تمام رویدادهای مربوط به ۳۱ روز پس از ۱ دسامبر ۲۰۱۹ را نمایش می‌دهد. .UNINDENT .SS "at" .sp تمام رویدادهای زمان‌بندی‌شده برای یک تاریخ‌وزمان مشخص را نمایش می‌دهد. به \fBkhal at\fP باید یک تاریخ و زمان، فقط یک زمان (که در این صورت تاریخ امروز فرض می‌شود) یا رشته \fInow\fP داده شود. مقدار پیش‌فرض \fBat\fP برابر \fInow\fP است. دستور \fBat\fP دقیقاً مانند دستور \fBlist\fP عمل می‌کند، با این تفاوت که زمان پایان ضمنی آن صفر دقیقه پس از شروع است. .INDENT 0.0 .INDENT 3.5 .sp .EX khal at [\-a CALENDAR ... | \-d CALENDAR ...] [\-\-format FORMAT] [\-\-json FIELD ...] [\-\-notstarted] [[START DATE] TIME | now] .EE .UNINDENT .UNINDENT .SS "calendar" .sp یک تقویم (مشابه \fBcal(1)\fP) و یک فهرست را نمایش می‌دهد. دستور \fBkhal calendar\fP سینتکس زیر را می‌پذیرد: .INDENT 0.0 .INDENT 3.5 .sp .EX khal calendar [\-a CALENDAR ... | \-d CALENDAR ...] [START DATETIME] [END DATETIME] .EE .UNINDENT .UNINDENT .sp انتخاب تاریخ دقیقاً مانند \fBkhal list\fP عمل می‌کند. تقویم نمایش‌داده‌شده شامل سه ماه متوالی است که در آن ماه نخست همان ماهِ شامل اولین تاریخ مشخص‌شده است. اگر امروز در این بازه باشد، برجسته می‌شود. برای توضیحات گزینه‌ها به \fBkhal list\fP مراجعه کنید. .SS "configure" .sp به کاربران در ایجاد یک فایل پیکربندی اولیه کمک می‌کند. اگر از قبل یک فایل پیکربندی وجود داشته باشد، \fBconfigure\fP از اجرا خودداری می‌کند. .SS "import" .sp به کاربر امکان می‌دهد فایل‌های \fB\&.ics\fP را با ساختار زیر وارد کند: .INDENT 0.0 .INDENT 3.5 .sp .EX khal import [\-a CALENDAR] [\-\-batch] [\-\-random\-uid|\-r] ICSFILE .EE .UNINDENT .UNINDENT .sp اگر رویدادی با همان UID از قبل در تقویم انتخاب‌شده (ضمنی) وجود داشته باشد، \fBkhal import\fP پیش از به‌روزرسانی (یعنی بازنویسی) آن رویداد قدیمی با رویداد واردشده سوال می‌پرسد، مگر اینکه \-\-batch داده شده باشد که در این صورت همیشه به‌روزرسانی می‌کند. اگر این رفتار مورد نظر نیست، از فلگ \fI\-\-random\-uid\fP برای تولید یک UID جدید و تصادفی استفاده کنید. اگر تقویمی مشخص نشده باشد (و \fI\-\-batch\fP نباشد)، از شما خواسته می‌شود یک تقویم انتخاب کنید. می‌توانید شماره چاپ‌شده در کنار نام هر تقویم یا هر پیشوند یکتا از نام تقویم را وارد کنید. .SS "interactive" .sp نسخه تعاملی khal را فراخوانی می‌کند؛ همچنین با اجرای \fBikhal\fP نیز قابل فراخوانی است. گرچه ikhal را می‌توان کاملاً با صفحه‌کلید استفاده کرد، برخی عناصر در صورت کلیک با ماوس واکنش نشان می‌دهند (عمدتاً با انتخاب شدن). .sp هنگامی که تقویم سمت چپ در فوکوس است، می‌توانید: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 در تقویم پیمایش کنید (کلیدهای میانبر پیش‌فرض کلیدهای جهت‌نما، \fBspace\fP و \fBbackspace\fP هستند؛ این کلیدهای میانبر در فایل پیکربندی قابل تنظیم می‌باشند) .IP \(bu 2 با فشردن \fBtab\fP یا \fBenter\fP روی ستون سمت راست فوکوس کنید .IP \(bu 2 فوکوس را به تاریخ جاری برگردانید؛ کلید میانبر پیش‌فرض \fBt\fP مانند today .IP \(bu 2 یک محدوده تاریخی را نشانه‌گذاری کنید؛ کلید میانبر پیش‌فرض \fBv\fP مانند visual (مشابه حالت دیداری در Vim)؛ فشردن \fBesc\fP از این حالت دیداری خارج می‌شود .IP \(bu 2 اگر در حالت دیداری هستید، می‌توانید سر دیگر محدوده نشانه‌گذاری‌شده را انتخاب کنید؛ کلید میانبر پیش‌فرض \fBo\fP مانند other (باز هم مشابه Vim) .IP \(bu 2 یک رویداد جدید در روز فوکوس‌شده فعلی (یا محدوده تاریخ در صورت انتخاب یک محدوده) ایجاد کنید؛ کلید میانبر پیش‌فرض \fBn\fP مانند new .IP \(bu 2 رویدادها را جستجو کنید؛ کلید میانبر پیش‌فرض \fB/\fP؛ یک پنجره بازشو عبارت جستجوی شما را درخواست می‌کند .UNINDENT .UNINDENT .UNINDENT .sp هنگامی که فهرست رویدادها در فوکوس است، می‌توانید: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 جزئیات یک رویداد را با فشردن \fBenter\fP (یا \fBtab\fP) مشاهده کرده و با فشردن دوباره \fBenter\fP (یا \fBtab\fP) آن را ویرایش کنید (اگر گزینه \fB[default] event_view_always_visible\fP روی True تنظیم شده باشد، رویداد دارای فوکوس همیشه با جزئیات نمایش داده می‌شود) .IP \(bu 2 وضعیت حذف رویداد را تغییر دهید؛ کلید میانبر پیش‌فرض \fBd\fP مانند delete؛ رویدادهای نشانه‌گذاری‌شده برای حذف با یک حرف \fBD\fP در ابتدا نمایش داده می‌شوند و هنگام خروج از khal حذف خواهند شد. .IP \(bu 2 رویداد انتخاب‌شده را تکثیر کنید؛ کلید میانبر پیش‌فرض \fBp\fP مانند duplicate (حرف d قبلاً استفاده شده بود) .IP \(bu 2 رویداد انتخاب‌شده را صادر کنید؛ کلید میانبر پیش‌فرض \fBe\fP .UNINDENT .UNINDENT .UNINDENT .sp در ویرایشگر رویداد، می‌توانید: .INDENT 0.0 .IP \(bu 2 با فشردن \fBtab\fP (\fBshift\fP+\fBtab\fP) به عنصر قابل‌انتخاب بعدی (قبلی) بروید .IP \(bu 2 ذخیره سریع؛ کلید میانبر پیش‌فرض \fBmeta\fP+\fBenter\fP (\fBmeta\fP احتمالاً همان \fBalt\fP خواهد بود) .IP \(bu 2 از برخی میانبرهای متداول ویرایش در اکثر فیلدهای متنی استفاده کنید (\fBctrl\fP+\fBw\fP کلمه قبل از مکان‌نما را حذف می‌کند، \fBctrl\fP+\fBu\fP (\fBctrl\fP+\fBk\fP) تا ابتدای (انتهای) خط را حذف می‌کند، \fBctrl\fP+\fBa\fP (\fBctrl\fP+\fBe\fP) به ابتدای (انتهای) خط می‌پرد) .IP \(bu 2 در فیلدهای تاریخ و زمان می‌توانید عدد زیر مکان‌نما را با \fBctrl\fP+\fBa\fP و \fBctrl\fP+\fBx\fP افزایش یا کاهش دهید (زمان در گام‌های ۱۵ دقیقه‌ای) .IP \(bu 2 در فیلدهای تاریخ می‌توانید با فشردن \fIenter\fP به یک تقویم مینیاتوری دسترسی پیدا کنید .IP \(bu 2 با فشردن \fBenter\fP روی متن محصور در علامت‌های کوچکتر/بزرگتر، عملیات‌ها را فعال کنید، مانند <\ Save\ > (گاهی اوقات ممکن است یک پنجره بازشو باز شود) .UNINDENT .sp فشردن \fBesc\fP عملیات جاری را لغو می‌کند و/یا شما را به قاب نمایش داده‌شده قبلی برمی‌گرداند (یعنی آنچه هنگام باز کردن ikhal می‌بینید)؛ اگر در قاب اولیه باشید، با فشردن مجدد \fBesc\fP برنامه ikhal بسته می‌شود. .SS "new" .sp امکان افزودن رویدادهای جدید را فراهم می‌کند. دستور \fBkhal new\fP ساختار زیر را می‌پذیرد: .INDENT 0.0 .INDENT 3.5 .sp .EX khal new [\-a CALENDAR] [OPTIONS] [START [END | DELTA] [TIMEZONE] SUMMARY [:: DESCRIPTION]] .EE .UNINDENT .UNINDENT .sp که در آن start\- و enddatetime می‌توانند تاریخ‌وزمان، زمان یا کلمات کلیدی و زمان در قالب‌های تعریف‌شده در فایل پیکربندی باشند. اگر هیچ تقویمی از طریق \fB\-a\fP مشخص نشود، از تقویم پیش‌فرض استفاده می‌شود. دستور \fBnew\fP از \fB\-d\fP پشتیبانی نمی‌کند و همچنین \fB\-a\fP فقط یک بار می‌تواند استفاده شود. .sp دستور \fBnew\fP این ترکیب‌ها را برای زمان‌های شروع و پایان می‌پذیرد (مشخص کردن پایان همیشه اختیاری است): .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fIdatetime [datetime|time] [timezone]\fP .IP \(bu 2 \fItime [time] [timezone]\fP .IP \(bu 2 \fIdate [date]\fP .UNINDENT .UNINDENT .UNINDENT .sp که قالب‌های datetime و time در آن به صورت زیر است: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fIdatetime = (longdatetimeformat|datetimeformat|keyword\-date timeformat)\fP .IP \(bu 2 \fItime = timeformat\fP .IP \(bu 2 \fIdate = (longdateformat|dateformat)\fP .UNINDENT .UNINDENT .UNINDENT .sp و \fItimezone\fP که منطقه زمانی محل شروع و پایان رویداد را مشخص می‌کند، باید یک شناسه معتبر پایگاه‌داده اولسون (مانند \fIEurope/Berlin\fP یا \fIAmerica/New_York\fP) باشد. اگر هیچ منطقه زمانی داده نشود، به جای آن از \fIdefaulttimezone\fP تعریف‌شده در فایل پیکربندی استفاده می‌شود. .sp قالب دقیق longdatetimeformat، datetimeformat، timeformat، longdateformat و dateformat در فایل پیکربندی قابل تنظیم است. کلمات کلیدی معتبر برای تاریخ‌ها عبارتند از \fItoday\fP، \fItomorrow\fP، نام انگلیسی هر هفت روز هفته و مخفف سه حرفی آن‌ها (وقوع بعدی آن‌ها استفاده می‌شود). .sp اگر پایانی مشخص نشود، طول پیش‌فرض یک ساعت یا یک روز (برای رویدادهای تمام‌روز) استفاده می‌شود. اگر فقط زمان شروع مشخص شده باشد، فرض می‌شود رویداد جدید امروز شروع می‌شود. اگر فقط یک زمان برای پایان رویداد داده شود، رویداد در همان روز شروع پایان می‌یابد، مگر اینکه باعث شود رویداد قبل از شروع پایان یابد که در این صورت روز بعد به عنوان تاریخ پایان استفاده می‌شود. .sp اگر زمان 24:00 پیکربندی شده باشد (timeformat = %H:%M)، زمان پایان \fI24:00\fP به عنوان پایان تاریخ داده‌شده پذیرفته می‌شود. .sp اگر \fBsummary\fP شامل رشته \fI::\fP باشد، هر آنچه بعد از \fI::\fP قرار دارد به عنوان \fBdescription\fP رویداد جدید، یعنی «بدنه» رویداد در نظر گرفته می‌شود (و \fI::\fP حذف خواهد شد). .sp ارسال گزینه \fB\-\-interactive\fP (\fB\-i\fP \%) تمام آرگومان‌ها را اختیاری می‌کند و فیلدهای لازم را به صورت تعاملی درخواست می‌نماید؛ سپس می‌توان رویداد را همانند دستور \fIedit\fP ویرایش کرد. .SS "گزینه‌ها (OPTIONS)" .INDENT 0.0 .IP \(bu 2 \fB\-l, \-\-location=LOCATION\fP محل برگزاری این رویداد را مشخص می‌کند. .IP \(bu 2 \fB\-g, \-\-categories=CATEGORIES\fP مشخص می‌کند این رویداد متعلق به کدام دسته‌بندی‌ها است. فهرست دسته‌بندی‌ها جداشده با کاما. توجه: برخی سرورها (مانند SOGo) از چند دسته‌بندی پشتیبانی نمی‌کنند. .IP \(bu 2 \fB\-r, \-\-repeat=RRULE\fP مشخص می‌کند آیا این رویداد تکرارشونده باشد و چگونه تکرار شود. مقادیر معتبر برای \fIRRULE\fP عبارتند از \fIdaily\fP، \fIweekly\fP، \fImonthly\fP و \fIyearly\fP .IP \(bu 2 \fB\-u, \-\-until=UNTIL\fP مشخص می‌کند یک رویداد تکرارشونده تا چه زمانی باید ادامه یابد. .IP \(bu 2 \fB\-\-url\fP عنصر نشانی اینترنتی (URL) رویداد را مشخص می‌کند. .IP \(bu 2 \fB\-\-alarms DURATION,...\fP زمان‌های هشدار را به صورت مقادیر DELTA جداشده با کاما برای این رویداد اضافه می‌کند؛ \fIDURATION\fP باید شکلی مانند \fI1day 10minutes\fP یا \fI1d3H10m\fP داشته باشد؛ مقادیر منفی \fIDURATION\fP هشدار را بعد از شروع رویداد تنظیم می‌کنند. .UNINDENT .SS "مثال‌ها (EXAMPLES)" .sp این مثال‌ها ممکن است نیاز به تطبیق با پیکربندی و/یا محلی‌سازی (locale) شما داشته باشند (START و END باید با قالب پیکربندی‌شده مطابقت داشته باشند). به \fBprintformats\fP مراجعه کنید. .INDENT 0.0 .INDENT 3.5 .sp .EX khal new 18:00 Awesome Event .EE .UNINDENT .UNINDENT .sp یک رویداد جدید از امروز ساعت 18:00 با عنوان \(aqawesome event\(aq (به مدت زمان پیش‌فرض یک ساعت) به تقویم پیش‌فرض اضافه می‌کند. .INDENT 0.0 .INDENT 3.5 .sp .EX khal new tomorrow 16:30 Coffee Break .EE .UNINDENT .UNINDENT .sp یک رویداد جدید فردا ساعت 16:30 اضافه می‌کند. .INDENT 0.0 .INDENT 3.5 .sp .EX khal new 25.10. 18:00 24:00 Another Event :: with Alice and Bob .EE .UNINDENT .UNINDENT .sp یک رویداد جدید در ۲۵ اکتبر از ساعت 18:00 تا 24:00 به همراه توضیحات اضافی اضافه می‌کند. .INDENT 0.0 .INDENT 3.5 .sp .EX khal new \-a work 26.07. Great Event \-g meeting \-r weekly .EE .UNINDENT .UNINDENT .sp یک رویداد تمام‌روز جدید در ۲۶ ژوئیه در تقویم \fIwork\fP و در دسته‌بندی \fImeeting\fP اضافه می‌کند که هر هفته تکرار می‌شود. .SS "edit" .sp یک دستور تعاملی برای ویرایش و حذف رویدادها با استفاده از یک رشته جستجو است. .INDENT 0.0 .INDENT 3.5 .sp .EX khal edit [\-\-show\-past] event_search_string .EE .UNINDENT .UNINDENT .sp این دستور تمام رویدادهای منطبق با رشته جستجو را پیمایش کرده و برای حذف یا تغییر ویژگی‌ها از کاربر تایید می‌گیرد. .SS "printcalendars" .sp فهرستی از تمام تقویم‌های پیکربندی‌شده را چاپ می‌کند. .SS "printformats" .sp یک تاریخ ثابت (\fI2013\-12\-21 21:45\fP) را در تمام قالب‌های تاریخ (و زمان) پیکربندی‌شده چاپ می‌کند. این قابلیت برای کمک به بررسی صحت پیکربندی قالب‌ها در نظر گرفته شده است. .SS "search" .sp رویدادهای منطبق با یک رشته جستجو را جستجو کرده و چاپ می‌کند. در حال حاضر، جستجو برای هر رویداد متفاوت در یک مجموعه تکرار یک خط چاپ می‌کند؛ یعنی یک خط برای رویداد اصلی و یک خط برای هر رویداد بازنویسی‌شده متفاوت. در حال حاضر هیچ ویژگی جستجوی پیشرفته‌ای پشتیبانی نمی‌شود. .sp دستور .INDENT 0.0 .INDENT 3.5 .sp .EX khal search party .EE .UNINDENT .UNINDENT .sp تمام رویدادهای منطبق با \fIparty\fP را چاپ می‌کند. .SH "پیکربندی (CONFIGURATION)" .sp دستور \fBkhal\fP فایل‌های پیکربندی را با نحو \fIini\fP می‌خواند، بدین معنا که کلیدها با علامت \fB=\fP از مقادیر جدا می‌شوند، در حالی که نام بخش‌ها و زیربخش‌ها درون براکت‌های مربع تکی یا دوتایی قرار می‌گیرند (مانند \fB[sectionname]\fP و \fB[[subsectionname]]\fP). هر خطی که با \fB#\fP شروع شود به عنوان کامنت در نظر گرفته خواهد شد. .SS "راهنمایی برای پیکربندی اولیه" .sp اگر هنوز فایل پیکربندی ندارید، اجرای \fBkhal configure\fP یک ابزار تعاملی کوچک را راه‌اندازی می‌کند که به شما در پیکربندی اولیه \fBkhal\fP کمک خواهد کرد. .SS "محل قرارگیری فایل پیکربندی" .sp دستور \fBkhal\fP در مکان‌ها و به ترتیب زیر به دنبال فایل‌های پیکربندی می‌گردد: \fB$XDG_CONFIG_HOME/khal/config\fP (در اکثر سیستم‌ها \fB~/.config/khal/config\fP است)، \fB~/.khal/khal.conf\fP (منسوخ‌شده) و فایلی به نام \fBkhal.conf\fP در دایرکتوری جاری (منسوخ‌شده). همچنین می‌توانید در زمان اجرا با \fB\-c path/to/config\fP مشخص کنید که از کدام فایل پیکربندی استفاده شود. .SS "بخش [calendars]" .sp بخش \fI[calendars]\fP الزامی است و باید حداقل شامل یک زیربخش باشد. هر زیربخش باید یک نام یکتا داشته باشد (که درون دو براکت مربع قرار می‌گیرد). هر زیربخش دقیقاً به یک تنظیم \fIpath\fP نیاز دارد و بقیه موارد اختیاری هستند. در اینجا یک مثال کوچک آورده شده است: .INDENT 0.0 .INDENT 3.5 .sp .EX [calendars] [[home]] path = ~/.calendars/home/ color = dark green priority = 20 [[work]] path = ~/.calendars/work/ readonly = True addresses = user@example.com .EE .UNINDENT .UNINDENT .INDENT 0.0 .TP .B addresses تمام نشانی‌های ایمیل مرتبط با این حساب کاربری، جدا شده با کاما. در حال حاضر این مورد فقط برای بررسی اینکه چه وضعیت مشارکتی (\(dqPARTSTAT\(dq) به کاربر تعلق دارد استفاده می‌شود. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B color دستور khal از این رنگ برای رنگ‌آمیزی رویدادهای این تقویم استفاده خواهد کرد. نام‌های رنگ زیر پشتیبانی می‌شوند: \fIblack\fP، \fIwhite\fP، \fIbrown\fP، \fIyellow\fP، \fIdark gray\fP، \fIdark green\fP، \fIdark blue\fP، \fIlight gray\fP، \fIlight green\fP، \fIlight blue\fP، \fIdark magenta\fP، \fIdark cyan\fP، \fIdark red\fP، \fIlight magenta\fP، \fIlight cyan\fP، \fIlight red\fP\&. بسته به تنظیمات شبیه‌ساز ترمینال شما، ممکن است ظاهر آن‌ها با نامشان متفاوت باشد. علاوه بر ۱۶ رنگ نام‌گذاری‌شده، در صورت پشتیبانی ترمینال شما، می‌توان از شاخص پالت ۲۵۶ رنگی یا کد رنگ ۲۴ بیتی استفاده کرد. شاخص پالت ۲۵۶ رنگی صرفاً عددی بین 0 تا 255 است. رنگ ۲۴ بیتی باید به صورت #RRGGBB مشخص شود که در آن RR، GG و BB به ترتیب مقدار هگزادسیمال مؤلفه‌های قرمز، سبز و آبی هستند. هنگام استفاده از رنگ ۲۴ بیتی، حتماً مقدار رنگ را در \(aq یا \(dq قرار دهید! اگر \fIcolor\fP روی \fIauto\fP (پیش‌فرض) تنظیم شده باشد، khal به دنبال مقدار رنگ در فایل \fIcolor\fP درون vdir این تقویم می‌گردد. اگر فایل \fIcolor\fP وجود نداشته باشد، از default_color (به زیر مراجعه کنید) استفاده می‌شود. اگر color روی \(aq\(aq تنظیم شده باشد، همیشه از default_color استفاده می‌شود. توجه داشته باشید که می‌توانید از \fIvdirsyncer metasync\fP برای همگام‌سازی رنگ‌ها با سرور caldav خود استفاده کنید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type color .TP .B default auto .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B path مسیر دایرکتوری موجود که این تقویم به عنوان یک \fIvdir\fP در آن ذخیره شده است. این دایرکتوری برای رویدادها یا روزهای تولد جستجو می‌شود (گزینه \fBtype\fP را ببینید). اگر نوع روی discover تنظیم شده باشد، مسیر از بسط الگو (glob) با استفاده از \fI*\fP یا \fI?\fP نیز پشتیبانی می‌کند. \fI**\fP به معنای عمق دلخواه از دایرکتوری‌ها است. این امکان مسیرهایی مانند \fI~/accounts/*/calendars/*\fP را فراهم می‌کند، جایی که دایرکتوری calendars شامل دایرکتوری‌های vdir است. علاوه بر این، اگر یک vdir در دایرکتوری \fIdefault\fP وجود داشته باشد، مسیرهای \fI~/calendars/*\fP و \fI~/calendars/default\fP معتبر هستند. (رفتار قبلی جستجوی بازگشتی در دایرکتوری‌ها با تطبیق الگو (globbing) جایگزین شده است). .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default None .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B priority هنگام رنگ‌آمیزی روزها، رنگ بر اساس تقویم با بالاترین اولویت تعیین می‌شود. اگر اولویت‌ها برابر باشند، از رنگ \(dqmultiple\(dq استفاده خواهد شد. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type integer .TP .B default 10 .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B readonly تنظیم این مقدار روی \fITrue\fP، مانع از اعمال هرگونه تغییر توسط khal روی این تقویم می‌شود .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B type تنظیم نوع این مجموعه (پیش‌فرض \fBcalendar\fP). .sp اگر روی \fBcalendar\fP (پیش‌فرض) تنظیم شود، این مجموعه به عنوان یک تقویم استاندارد استفاده خواهد شد، یعنی فقط فایل‌های با پسوند \fB\&.ics\fP در نظر گرفته می‌شوند و سایر فایل‌ها نادیده گرفته می‌شوند (به جز یک فایل احتمالی \fIcolor\fP). .sp اگر روی \fBbirthdays\fP تنظیم شود، khal انتظار یک مجموعه VCARD را دارد و روزهای تولد را از آن VCARDها استخراج می‌کند، یعنی فقط فایل‌های با پسوند \fB\&.vcf\fP در نظر گرفته خواهند شد و سایر فایل‌ها نادیده گرفته می‌شوند. مقدار \fBbirthdays\fP همچنین به معنای \fBreadonly=True\fP است. .sp اگر روی \fBdiscover\fP تنظیم شود، khal از تطبیق الگو (globbing) \% برای بسط \fIpath\fP این تقویم به (احتمالاً) چندین مسیر استفاده کرده و از آن‌ها به عنوان تقویم‌های جداگانه استفاده می‌کند (این مورد را نمی‌توان همراه با مجموعه‌های \fIbirthday\fP به کار برد). برای مشاهده مثال، به بخش نمونه استفاده از discover مراجعه کنید. .sp اگر vdir یک تقویم منفرد دارای فایل \fIcolor\fP باشد، رنگ تقویم روی مقدار مشخص‌شده در فایل \fIcolor\fP تنظیم می‌شود، در غیر این صورت از رنگ زیربخش \fIcalendars\fP استفاده خواهد شد. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type option, allowed values are \fIcalendar\fP, \fIbirthdays\fP and \fIdiscover\fP .TP .B default calendar .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "بخش [default]" .sp برخی مقادیر و رفتارهای پیش‌فرض در اینجا تنظیم می‌شوند. .INDENT 0.0 .TP .B default_calendar تقویمی که در صورت مشخص نشدن تقویم برای یک عملیات (مثلاً هنگام افزودن یک رویداد جدید) استفاده می‌شود. اگر این مقدار تنظیم نشود، چنین عملیاتی نیاز به یک مقدار صریح دارند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default None .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B default_dayevent_alarm تعریف هشدار پیش‌فرض برای رویدادهای تمام‌روز جدید، مثلاً \(aq12h\(aq .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timedelta .TP .B default .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B default_dayevent_duration تعریف مدت‌زمان پیش‌فرض برای یک رویداد یک‌روزه (فقط در \(aqkhal new\(aq) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timedelta .TP .B default 1d .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B default_event_alarm تعریف هشدار پیش‌فرض برای رویدادهای جدید، مثلاً \(aq15m\(aq .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timedelta .TP .B default .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B default_event_duration تعریف مدت‌زمان پیش‌فرض برای یک رویداد (فقط در \(aqkhal new\(aq) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timedelta .TP .B default 1h .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B enable_mouse فعال بودن یا نبودن ماوس در حالت تعاملی (فقط در \(aqkhal interactive\(aq و \(aqikhal\(aq) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default True .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B highlight_event_days در صورت تنظیم روی true، دستور khal روزهای دارای رویداد را متمایز (برجسته) می‌کند. گزینه‌های مربوط به برجسته‌سازی در بخش [highlight_days] قرار دارند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B print_new پس از افزودن یک رویداد جدید، چه چیزی باید در خروجی استاندارد چاپ شود؟ کل رویداد در قالب متنی، مسیر ذخیره‌سازی فعلی رویداد یا هیچ چیز؟ .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type option, allowed values are \fIevent\fP, \fIpath\fP and \fIFalse\fP .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B show_all_days به‌طور پیش‌فرض، khal فقط تاریخ‌های دارای رویداد را در نمای \fIlist\fP یا \fIcalendar\fP نمایش می‌دهد. تنظیم این گزینه روی \fITrue\fP همه روزها را نشان خواهد داد، حتی زمانی که هیچ رویدادی برای آن روز زمان‌بندی نشده باشد. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B timedelta کنترل می‌کند که به‌طور پیش‌فرض رویدادها تا چند روز در آینده (مثلاً در \fIkhal list\fP) نمایش داده شوند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timedelta .TP .B default 2d .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "بخش [highlight_days]" .sp هنگامی که highlight_event_days فعال باشد، این بخش نحوه برجسته‌سازی/رنگ‌آمیزی روزها را مشخص می‌کند. .INDENT 0.0 .TP .B color رنگ مورد استفاده برای برجسته‌سازی \-\- رنگ صریح، یا استفاده از رنگ تقویم در صورت تنظیم روی \(aq\(aq .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type color .TP .B default .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B default_color رنگ پیش‌فرض برای تقویم‌های بدون رنگ \-\- هنگام تنظیم روی \(aq\(aq، برجسته‌سازی را برای رویدادهایی که باید از رنگ پیش‌فرض استفاده کنند غیرفعال می‌کند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type color .TP .B default .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B method روش برجسته‌سازی مورد استفاده \-\- پیش‌زمینه یا پس‌زمینه .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type option, allowed values are \fIforeground\fP, \fIfg\fP, \fIbackground\fP and \fIbg\fP .TP .B default fg .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B multiple نحوه رنگ‌آمیزی روزهای دارای رویداد از چندین تقویم \-\- رنگ صریح یا استفاده از رنگ‌های تقویم‌ها هنگام تنظیم روی \(aq\(aq .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type color .TP .B default .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B multiple_on_overflow هنگامی که \fImultiple\fP روی رنگ خاصی تنظیم شده باشد، تنظیم این مقدار روی \fITrue\fP باعث می‌شود khal از آن رنگ فقط برای روزهای دارای رویداد از ۳ تقویم یا بیشتر استفاده کند (در نتیجه تمایز دو رنگی برای روزهایی که می‌توان همه رنگ‌های تقویم را نمایش داد حفظ می‌شود) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "بخش [keybindings]" .sp کلیدهای میانبر برای \fBikhal\fP در اینجا تنظیم می‌شوند. می‌توانید با ارائه یک فهرست از کلیدها که با کاما جدا شده‌اند، بیش از یک کلید (ترکیب) را به یک دستور اختصاص دهید. برای اتصال کلیدهای ترکیبی، آن‌ها را با فاصله به هم متصل کنید، مثلاً \fBctrl n\fP\&. .INDENT 0.0 .TP .B delete حذف رویداد انتخاب‌شده فعلی .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default d .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B down انتقال مکان‌نما به پایین (در مرورگر تقویم) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default down, j .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B duplicate تکثیر رویداد انتخاب‌شده فعلی .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default p .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B export برون‌بری رویداد به عنوان فایل .ics .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default e .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B external_edit ویرایش فایل خام .ics مربوط به رویدادهای انتخاب‌شده فعلی با $EDITOR فقط در صورتی از این گزینه استفاده کنید که می‌دانید چه کاری انجام می‌دهید؛ کتابخانه icalendar مورد استفاده اعتبارسنجی زیادی انجام نمی‌دهد و بیشتر داده‌های نامعتبر را بی‌صدا نادیده می‌گیرد. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default meta E .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B left انتقال مکان‌نما به چپ (در مرورگر تقویم) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default left, h, backspace .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B log نمایش پیام‌های ثبت‌شده .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default L .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B mark رفتن به حالت برجسته‌سازی (بصری) برای انتخاب یک بازه زمانی .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default v .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B new ایجاد یک رویداد جدید در تاریخ انتخاب‌شده .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default n .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B other در حالت برجسته‌سازی، رفتن به انتهای دیگر بازه تاریخی برجسته‌شده .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default o .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B quit خروج .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default q, Q .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B right انتقال مکان‌نما به راست (در مرورگر تقویم) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default right, l, space .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B save ذخیره رویداد در حال ویرایش و خروج از ویرایشگر رویداد .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default meta enter .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B search باز کردن یک فیلد متنی برای شروع جستجوی رویدادها .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default / .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B today تمرکز مرورگر تقویم بر روی امروز .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default t .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B up انتقال مکان‌نما به بالا (در مرورگر تقویم) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default up, k .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B view نمایش جزئیات یا ویرایش (اگر جزئیات از قبل نمایش داده شده باشند) رویداد انتخاب‌شده فعلی .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type list .TP .B default enter .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "بخش [locale]" .sp تنظیم گزینه‌های (long)date\-، time\- و datetimeformat اجباری است؛ تمامی گزینه‌های دیگر در بخش \fB[locale]\fP اختیاری بوده و مقادیر پیش‌فرض (معقول) دارند. .INDENT 0.0 .TP .B dateformat khal تمام تاریخ‌ها را در این قالب نمایش داده و پردازش می‌کند؛ برای ساختار قالب به timeformat مراجعه کنید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default %x .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B datetimeformat khal تمام تاریخ-زمان‌ها را در این قالب نمایش داده و پردازش می‌کند؛ برای ساختار قالب به timeformat مراجعه کنید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default %c .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B default_timezone این منطقه زمانی برای رویدادهای جدید (زمانی که هیچ منطقه‌ای مشخص نشده باشد) و همچنین زمانی که khal منطقه زمانی مشخص‌شده در فایل icalendar را تشخیص ندهد، استفاده خواهد شد. اگر هیچ منطقه زمانی تنظیم نشده باشد، از منطقه زمانی تنظیم‌شده روی رایانه شما استفاده می‌شود. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timezone .TP .B default None .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B firstweekday نخستین روز هفته، که در آن دوشنبه 0 و یکشنبه 6 است. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type integer, مقادیر مجاز بین 0 و 6 است .TP .B default 0 .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B local_timezone khal تمام زمان‌ها را در این منطقه زمانی نمایش خواهد داد. اگر هیچ منطقه زمانی تنظیم نشده باشد، از منطقه زمانی تنظیم‌شده روی رایانه شما استفاده می‌شود. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type timezone .TP .B default None .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B longdateformat khal تمام تاریخ‌ها را در این قالب نمایش داده و پردازش می‌کند؛ این قالب باید شامل سال (مانند \fI%Y\fP) باشد؛ برای ساختار قالب به timeformat مراجعه کنید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default %x .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B longdatetimeformat khal تمام تاریخ-زمان‌ها را در این قالب نمایش داده و پردازش می‌کند؛ این قالب باید شامل سال (مانند \fI%Y\fP) باشد؛ برای ساختار قالب به timeformat مراجعه کنید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default %c .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B timeformat khal تمام زمان‌ها را در این قالب نمایش داده و پردازش می‌کند. .sp رشته قالب‌بندی مطابق با تعریف strftime در پایتون \% تفسیر می‌شود که مشابه با قالب مشخص‌شده در \fBman strftime\fP است. .sp در فایل پیکربندی ممکن است لازم باشد قالب را درون علامت نقل‌قول قرار دهید تا بارگذاری آن به صورت رشته اجباری شود. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default %X .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B unicode_symbols به‌طور پیش‌فرض khal از برخی نمادهای یونیکد (غیر اسکی) به عنوان نشانگر مواردی مانند رویدادهای تکرارشونده استفاده می‌کند؛ اگر قلم، کدگذاری و... شما از این نمادها پشتیبانی نمی‌کند، این مقدار را روی \fIFalse\fP قرار دهید (این کار جایگزین‌های مبتنی بر اسکی را فعال می‌کند). .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default True .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B weeknumbers فعال‌سازی شماره هفته‌ها در حالت‌های \fIcalendar\fP و \fIinteractive\fP (ikhal) با مشخص کردن اینکه آیا باید در سمت راست (\(aqright\(aq) یا چپ (\(aqleft\(aq) نمایش داده شوند. این شماره‌ها مطابق با استاندارد ISO هستند، بنابراین تنها در صورتی به‌درستی کار می‌کنند که \fIfirstweekday\fP روی 0 تنظیم شده باشد. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type weeknumbers .TP .B default off .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "بخش [palette]" .sp بازنویسی تم رنگی ikhal با یک پالت سفارشی. این گزینه برای استایل‌دهی مجزا به برخی عناصر خاص ikhal مفید است. درایه‌های پالت به شکل \fIkey = foreground, background, mono, foreground_high, background_high\fP تعریف می‌شوند که در آن foreground و background در «حالت رنگ اندک (low color mode)»، foreground_high و background_high در «حالت رنگ بالا (high color mode)» و mono در صورتی که فقط حالت تک‌رنگ پشتیبانی شود استفاده می‌شوند. اگر نمی‌خواهید مقداری برای یک رنگ خاص تعیین کنید، از یک رشته خالی (\fI\(aq\(aq\fP) استفاده کنید. درایه‌های معتبر برای حالت رنگ اندک در وب‌سایت urwid \% فهرست شده‌اند. برای حالت رنگ بالا می‌توانید از هر مقدار رنگ معتبر ۲۴ بیتی، مانند \fI\(aq#ff0000\(aq\fP استفاده کنید. .sp \fBنکته:\fP .INDENT 0.0 .INDENT 3.5 رنگ‌های ۲۴ بیتی باید درون نقل‌قول تکی (single quotes) قرار گیرند تا به‌درستی تجزیه شوند، در غیر این صورت علامت \fI#\fP به عنوان کامنت تفسیر خواهد شد. .UNINDENT .UNINDENT .sp اکثر ترمینال‌های مدرن باید از حالت رنگ بالا پشتیبانی کنند. .sp نمونه درایه (به‌ویژه نازیبا): .INDENT 0.0 .INDENT 3.5 .sp .EX [palette] header = light red, default, default, \(aq#ff0000\(aq, default edit = \(aq\(aq, \(aq\(aq, \(aqbold\(aq, \(aq#FF00FF\(aq, \(aq#12FF14\(aq footer = \(aq\(aq, \(aq\(aq, \(aq\(aq, \(aq#121233\(aq, \(aq#656599\(aq .EE .UNINDENT .UNINDENT .sp برای مشاهده تمام کلیدهای موجود، پالت‌های پیش‌فرض را در \fIkhal/ui/colors.py\fP بررسی کنید. اگر نمی‌توانید عنصری را در ikhal تم‌بندی کنید، لطفاً یک گزارش در گیت‌هاب \% باز کنید. .SS "بخش [sqlite]" .INDENT 0.0 .TP .B path khal پایگاه‌داده حافظه پنهان (کش) داخلی خود را در اینجا ذخیره می‌کند؛ به‌طور پیش‌فرض این مسیر در \fI$XDG_CACHE_HOME/khal/khal.db\fP خواهد بود (که به احتمال زیاد \fI~/.cache/khal/khal.db\fP است). .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default None .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "بخش [view]" .sp بخش view شامل گزینه‌های پیکربندی است که بر ظاهر بصری هنگام استفاده از khal و ikhal اثر می‌گذارند. .INDENT 0.0 .TP .B agenda_day_format نحوه قالب‌بندی \fIسربرگ هر روز (day header)\fP را مشخص می‌کند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default {bold}{name}, {date\-long}{reset} .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B agenda_event_format قالب‌بندی پیش‌فرض رویدادها که هنگام درخواست کاربر برای تمام رویدادها در یک محدوده زمانی مشخص استفاده می‌شود؛ برای \fBlist\fP، \fBcalendar\fP و در \fBinteractive\fP (ikhal) کاربرد دارد. لطفاً توجه داشته باشید که هرگونه استایل‌دهی رنگی در \fIikhal\fP نادیده گرفته می‌شود، زیرا رویدادها همیشه با رنگ تقویمی که به آن تعلق دارند نمایش داده خواهند شد. دستور زبان آن همانند \fB\-\-format\fP \%<#\:cmdoption-format> است. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default {calendar\-color}{cancelled}{start\-end\-time\-style} {title}{repeat\-symbol}{alarm\-symbol}{description\-separator}{description}{reset} .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B blank_line_before_day افزودن یک خط خالی پیش از نام روز (فقط در khal) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B bold_for_light_color استفاده یا عدم استفاده از متن بولد (توپر) برای رنگ‌های روشن. رنگ‌های روشن غیر بولد ممکن است در همه ترمینال‌ها کار نکنند اما امکان استفاده از رنگ‌های پس‌زمینه روشن را فراهم می‌کنند. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default True .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B dynamic_days رفتار ستون سمت راست ikhal را تعیین می‌کند. اگر روی \fITrue\fP تنظیم شود، ستون سمت راست رویدادها را برای هر تعداد روزی که جا شود نمایش می‌دهد و جابجایی مکان‌نما در فهرست، روز مربوطه را در ستون تقویم سمت چپ نیز انتخاب می‌کند. اگر روی \fIFalse\fP باشد، تنها رویدادهای تعداد ثابتی از روزها (فاصله زمانی [پیش‌فرض]) نمایش داده می‌شوند و جابجایی میان رویدادها، فوکوس ستون سمت چپ را تغییر نخواهد داد. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default True .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B event_format قالب‌بندی پیش‌فرض رویدادها در مواردی که تاریخ شروع و پایان بر اساس زمینه مشخص نیستند، مثلاً برای \fBsearch\fP؛ تقریباً در همه‌جا به جز \fBlist\fP و \fBcalendar\fP استفاده می‌شود. بنابراین گنجاندن تاریخ شروع و پایان در آن انتخابی معقول است. دستور زبان آن همانند \fB\-\-format\fP \%<#\:cmdoption-format> است. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default {calendar\-color}{cancelled}{start}\-{end} {title}{repeat\-symbol}{alarm\-symbol}{description\-separator}{description}{reset} .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B event_view_always_visible برای نمایش همیشگی پنجره نمای رویداد هنگام مشاهده فهرست رویدادها، این گزینه را روی true قرار دهید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type boolean .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B event_view_weighting وزن و اولویتی که به پنجره نمای رویداد اعمال می‌شود .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type integer .TP .B default 1 .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B frame نمایش یا عدم نمایش کادری قابل مشاهده (با نویسه‌های \fIرسم کادر / box drawing\fP) پیرامون برخی از عناصر (یا گروه‌هایی از آن‌ها). در حال حاضر چندین گزینه مختلف برای کادر در دسترس است که باید از نظر بصری وضعیت فوکوس داشتن یا نداشتن یک عنصر را متمایز کنند. احتمالاً برخی از آن‌ها در نسخه‌های آینده khal حذف خواهند شد، بنابراین لطفاً آن‌ها را آزمایش کرده و درباره سبک مورد علاقه خود بازخورد دهید (رنگ تمام انواع آن در تم‌های رنگی قابل تعریف است). .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type option, مقادیر مجاز عبارتند از \fIFalse\fP، \fIwidth\fP، \fIcolor\fP و \fItop\fP .TP .B default False .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B min_calendar_display حداقل تعداد ماه‌های نمایش داده شده توسط دستور calendar پیش‌فرض ۳ ماه است .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type integer .TP .B default 3 .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B monthdisplay نمایش نام ماه در سطری که هفته شامل نخستین روز ماه است (\(aqfirstday\(aq) یا زمانی که نخستین روز هفته در آن ماه قرار دارد (\(aqfirstfullweek\(aq) .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type monthdisplay .TP .B default firstday .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B theme انتخاب تم رنگی برای khal. .sp برنامه khal همراه با دو تم رنگی \fIdark\fP و \fIlight\fP عرضه می‌شود. علاوه بر این، افزونه‌ها نیز ممکن است طرح‌های رنگی متفاوتی ارائه دهند. شما همچنین می‌توانید تم رنگی اختصاصی خود را در بخش [palette] تعریف کنید. .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B type string .TP .B default dark .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp یک نمونه پیکربندی کمینه می‌تواند به این شکل باشد: .SS "مثال (Example)" .INDENT 0.0 .INDENT 3.5 .sp .EX [calendars] [[home]] path = ~/.calendars/home/ [[work]] path = ~/.calendars/work/ [locale] local_timezone= Europe/Berlin default_timezone= Europe/Berlin timeformat= %H:%M dateformat= %d.%m. longdateformat= %d.%m.%Y datetimeformat= %d.%m. %H:%M longdatetimeformat= %d.%m.%Y %H:%M .EE .UNINDENT .UNINDENT .SS "نمونه استفاده از discover" .sp اگر ساختار دایرکتوری زیر را داشته باشید: .INDENT 0.0 .INDENT 3.5 .sp .EX ~/calendars ├\- work/ ├\- home/ └─ family/ .EE .UNINDENT .UNINDENT .sp که در آن \fIwork\fP، \fIhome\fP و \fIfamily\fP همگی vdirهای متفاوتی هستند که هر کدام شامل یک تقویم است، بخش تقویم متناظر می‌تواند به این شکل باشد: .INDENT 0.0 .INDENT 3.5 .sp .EX [[calendars]] path = ~/calendars/* type = discover color = dark green .EE .UNINDENT .UNINDENT .SS "همگام‌سازی (Syncing)" .sp برای راه‌اندازی و استفاده از \fBkhal\fP همراه با CalDAV، ابتدا باید vdirsyncer \% را راه‌اندازی و تنظیم کنید. پس از هر بار اجرا، \fBkhal\fP به‌طور خودکار تغییرات را بررسی کرده و پایگاه‌داده حافظه پنهان خود را به‌روزرسانی می‌کند (این کار پس از نخستین همگام‌سازی، به‌ویژه برای مجموعه‌های بزرگ تقویم، ممکن است کمی زمان ببرد). بنابراین، ممکن است بخواهید پس از همگام‌سازی با \fBvdirsyncer\fP، برنامه \fBkhal\fP را به‌طور خودکار (مثلاً از طریق \fBcron\fP) اجرا کنید. .SH "استانداردها (STANDARDS)" .sp برنامه \fIkhal\fP تلاش می‌کند تا جای ممکن از استانداردها و RFCها (مهم‌تر از همه \fBRFC 5545\fP \% \fIiCalendar\fP) پیروی کند. انحراف‌های شناخته‌شده عمدی و غیرعمدی در زیر فهرست شده‌اند. .SS RDATE;VALUE=PERIOD .sp مقادیر \fIRDATE\fP دارای مقادیر \fIPERIOD\fP در حال حاضر پشتیبانی نمی‌شوند، زیرا icalendar \% هنوز از آن پشتیبانی نمی‌کند. لطفاً در صورت مواجهه با هر نمونه واقعی از رویدادهای دارای \fIRDATE;VALUE=PERIOD\fP آن را ارسال کنید (در صورت وجود چنین مواردی در تقویم‌های شما، khal هشدارهایی را چاپ خواهد کرد). .SS RANGE=THISANDPRIOR .sp رویدادهای تکرارشونده با \fIRANGE=THISANDPRIOR\fP توسط khal پشتیبانی نمی‌شوند و نخواهند شد [1]، زیرا برنامه‌هایی که از جدیدترین استاندارد \% پشتیبانی می‌کنند نباید (MUST NOT) آن‌ها را ایجاد کنند. در صورت مواجهه با رویدادی حاوی \fIRANGE=THISANDPRIOR\fP\& برنامه khal یک هشدار چاپ خواهد کرد. .IP [1] 5 مگر اینکه کاربران زیادی این قابلیت را درخواست کنند .SS "رویدادهای بدون END و DURATION" .sp در حالی که RFC بیان می‌کند: .INDENT 0.0 .INDENT 3.5 .sp .EX یک مدخل تقویم با مشخصه \(dqDTSTART\(dq اما بدون مشخصه \(dqDTEND\(dq هیچ زمانی را اشغال نمی‌کند. این مدخل برای نشان دادن رویدادی در نظر گرفته شده که با تاریخ و ساعت مشخصی از روز مرتبط است، مانند سالگرد. از آنجا که این رویداد هیچ زمانی را اشغال نمی‌کند، صرف‌نظر از مقدار مشخصه \(dqTRANSP\(dq، نباید (MUST NOT) برای ثبت زمان مشغول بودن (busy time) استفاده شود. .EE .UNINDENT .UNINDENT .sp برنامه khal این رویدادها را به رویدادهای تمام‌روز با مدت یک روز (تاریخ شروع) تبدیل می‌کند. تا زمانی که این رویدادها ویرایش نشوند، این تغییرات در vdir (و متعاقباً در سرور CalDAV) نوشته نخواهند شد. هرگونه اطلاعات منطقه زمانی مرتبط با تاریخ شروع نادیده گرفته می‌شود. .sp \fBنکته:\fP .INDENT 0.0 .INDENT 3.5 اگرچه دلیل اصلی این رفتار کم‌حوصلگی از سوی نویسنده اصلی khal بوده است، سایر نرم‌افزارهای تقویم نیز رفتار مشابهی نشان می‌دهند (مانند تقویم گوگل و Evolution). .UNINDENT .UNINDENT .SS "مناطق زمانی (Timezones)" .sp به نظر می‌رسد تنظیم درست زمان محلی، دشوارترین بخش کار با تقویم باشد (و خراب کردن آن منجر به از دست دادن یک جلسه مهم در طول هفته می‌شود). بنابراین در اینجا به طور خلاصه شرح داده می‌شود که khal چگونه با اطلاعات منطقه زمانی برخورد می‌کند، چه اطلاعاتی را می‌تواند پردازش کند و از عهده چه مواردی برنمی‌آید. .sp به طور کلی دو نوع رویداد مختلف وجود دارد: \fIرویدادهای محلی‌شده (Localized events)\fP (با تاریخ و ساعت شروع و پایان \fIمحلی‌شده\fP) که اطلاعات منطقه زمانی به تاریخ و ساعت شروع و پایان آن‌ها پیوست شده است، و \fIرویدادهای شناور (Floating events)\fP (با تاریخ و ساعت شروع و پایان \fIشناور\fP) که هیچ اطلاعات منطقه زمانی به آن‌ها پیوست نشده است (رویدادهای تمام‌روز و رویدادهایی که چند روز کامل طول می‌کشند نیز شناور هستند). رویدادهای محلی‌شده همواره در زمان UTC یکسانی \% دیده می‌شوند (صرف‌نظر از اینکه مشاهده‌کننده در چه منطقه زمانی قرار دارد)، اما ساعت‌های محلی متفاوتی دارند. از سوی دیگر، رویدادهای شناور همواره در همان ساعت محلی مشاهده می‌شوند، که ممکن است در UTC متفاوت باشد. .sp در khal تمام تاریخ و ساعت‌های محلی‌شده به عنوان UTC در پایگاه داده محلی ذخیره می‌شوند. تاریخ و ساعت‌هایی که از قبل UTC هستند، مانند \fB19980119T070000Z\fP، به همان صورت ذخیره می‌شوند و سایر موارد به UTC تبدیل می‌شوند (اما نگران نباشید، اطلاعات منطقه زمانی از بین نمی‌رود). رویدادهای شناور به صورت زمان شناور و مستقل از رویدادهای محلی‌شده ذخیره می‌شوند. .sp اگر بخواهید بررسی کنید چه رویدادهایی در یک تاریخ و ساعت مشخص رخ می‌دهند، khal همواره انتظار دارد که شما می‌خواهید بدانید چه رویدادهایی در آن تاریخ و ساعت \fIمحلی\fP اتفاق می‌افتند. بنابراین، تاریخ و ساعت (محلی) درخواستی شما به UTC تبدیل شده، رویدادهای \fIمحلی‌شده\fP مناسب انتخاب می‌شوند و تاریخ و ساعت شروع و پایان آن‌ها پس از \fIتبدیل شدن\fP به \fIتاریخ و ساعت محلی شما\fP نمایش داده می‌شوند\&. برای رویدادهای شناور نیازی به هیچ تبدیل نیست. .sp برنامه Khal (به طور دقیق‌تر icalendar \%) می‌تواند تمام شناسه‌های منطقه زمانی استفاده‌شده در پایگاه داده Olson \% و تعاریف سفارشی منطقه زمانی را درک کند، به شرطی که آن مؤلفه‌های VTIMEZONE پیش از VEVENTهایی قرار گیرند که از آن‌ها استفاده می‌کنند (همان‌طور که به نظر می‌رسد اکثر برنامه‌های تقویم این کار را انجام می‌دهند). در صورتی که یک منطقه زمانی ناشناخته (یا پشتیبانی‌نشده) پیدا شود، khal فرض می‌کند که می‌خواهید آن رویداد در \fIمنطقه زمانی پیش‌فرض\fP قرار گیرد (که در فایل پیکربندی نیز قابل تنظیم است). .sp برنامه khal انتظار دارد شما \fIهمواره\fP بخواهید \fIتمام\fP تاریخ و ساعت‌های شروع و پایان در \fIزمان محلی\fP نمایش داده شوند (که در فایل پیکربندی نیز قابل تنظیم است، در غیر این صورت از منطقه زمانی رایانه شما استفاده می‌شود). .SH "پرسش‌های متداول (FAQ)" .sp پرسش‌های پرتکرار: .INDENT 0.0 .IP \(bu 2 .INDENT 2.0 .TP \fBنصب با خطا متوقف می‌شود: source/str_util.c:25:20: fatal error: Python.h: No such file or directory\fP هدرهای توسعه پایتون روی سیستم شما نصب نیست. در توزیع‌های مبتنی بر دبیان می‌توانید آن‌ها را از طریق \fIaptitude install python\-dev\fP نصب کنید\&. .UNINDENT .IP \(bu 2 .INDENT 2.0 .TP \fBکلید ناشناخته \(dqdefault_command\(dq\fP این کلید در کامیت f8d9135 منسوخ شد. برای آگاهی از دلیل حذف آن، \% را ببینید. .UNINDENT .UNINDENT .SH "مجوز (LICENSE)" .sp برنامه khal تحت مجوز Expat/MIT منتشر شده است: .INDENT 0.0 .INDENT 3.5 .sp .EX Copyright (c) 2013\-2022 khal contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \(dqSoftware\(dq), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \(dqAS IS\(dq, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .EE .UNINDENT .UNINDENT .SH "نویسنده (AUTHOR)" Christan Geier و دیگران. .SH "حق نشر (COPYRIGHT)" Copyright (c) 2013-2022 khal contributors .\" End of generated man page.