.TH task-color 5 2016-02-24 "task 3.5.0" "User Manuals" .SH "نام (NAME)" task-color \- راهنمای رنگ‌آمیزی برای مدیر وظایف خط فرمانی Taskwarrior .SH "تک‌رنگ خودکار (AUTOMATIC MONOCHROME)" باید اشاره کرد که Taskwarrior از این موضوع آگاه است که خروجی آن به یک ترمینال ارسال می‌شود، یا به یک فایل، یا از طریق یک پایپ (لوله). هنگامی که خروجی Taskwarrior به ترمینال می‌رود، نمایش رنگی مطلوب است، اما دستور زیر را در نظر بگیرید: .nf $ task list > file.txt .fi آیا واقعاً می‌خواهیم تمام آن کدهای کنترلی رنگ در فایل ذخیره شوند؟ Taskwarrior فرض می‌کند که شما چنین چیزی نمی‌خواهید و هنگام تولید خروجی، به طور موقت رنگ را روی 'off' (خاموش) تنظیم می‌کند. این امر خروجی دستور زیر را توضیح می‌دهد: .nf $ task show | grep '^color ' color off .fi صرف‌نظر از اینکه مقدار تنظیمات چه باشد، همواره 'off' برمی‌گرداند، چرا که خروجی به یک پایپ ارسال شده است. اگر آن کدهای رنگی را می‌خواهید، می‌توانید با تنظیم متغیر _forcecolor روی on، این رفتار را بازنویسی (override) کنید، مانند زیر: .nf $ task config _forcecolor on $ task config | grep '^color ' color on .fi یا با بازنویسی موقت آن به این صورت: .nf $ task rc._forcecolor=on config | grep '^color ' color on .fi .SH "رنگ‌های دردسترس (AVAILABLE COLORS)" برنامه Taskwarrior فرمانی به نام 'color' دارد که تمام رنگ‌هایی را که قادر به نمایش آن‌هاست نشان می‌دهد. این دستور را امتحان کنید: .nf $ task color .fi خروجی این دستور را نمی‌توان در صفحه راهنمای man بازتولید کرد، اما شما باید مجموعه‌ای از نمونه‌های رنگی را مشاهده کنید. تعداد رنگ‌هایی که می‌بینید به توانایی برنامه ترمینال شما در رندر کردن آن‌ها بستگی دارد. شما باید دست‌کم رنگ‌های پایه (Basic) و جلوه‌ها (Effects) را ببینید - اگر چنین است، از پشتیبانی ۱۶ رنگ برخوردار هستید. اگر ترمینال شما از ۲۵۶ رنگ پشتیبانی کند، متوجه آن خواهید شد! .SH "پشتیبانی از ۱۶ رنگ (16-COLOR SUPPORT)" پشتیبانی پایه از رنگ‌ها از طریق رنگ‌های نام‌گذاری‌شده فراهم می‌شود: .nf black, red, blue, green, magenta, cyan, yellow, white .fi رنگ پیش‌زمینه (برای متن) به سادگی به عنوان یکی از رنگ‌های بالا مشخص می‌شود، یا اینکه اصلاً مشخص نمی‌شود تا از رنگ پیش‌فرض متن ترمینال استفاده شود. رنگ پس‌زمینه با استفاده از کلمه 'on' و یکی از رنگ‌های بالا تعیین می‌شود. چند نمونه: .nf green # متن سبز، رنگ پس‌زمینه پیش‌فرض green on yellow # متن سبز، پس‌زمینه زرد on yellow # رنگ متن پیش‌فرض، پس‌زمینه زرد .fi این رنگ‌ها می‌توانند با پررنگ کردن (bold) پیش‌زمینه یا روشن‌تر کردن (bright) پس‌زمینه بیشتر تغییر داده شوند. چند نمونه: .nf bold green bold white on bright red on bright cyan .fi ترتیب کلمات اهمیتی ندارد، بنابراین موارد زیر معادل یکدیگر هستند: .nf bold green green bold .fi اما کلمه 'on' مهم است - رنگ‌های قبل از 'on' مربوط به پیش‌زمینه، و رنگ‌های پس از 'on' مربوط به پس‌زمینه هستند. ویژگی دیگری به نام 'underline' (زیرخط) نیز وجود دارد که می‌توان از آن استفاده کرد: .nf underline bold red on black .fi و همچنین یک ویژگی به نام 'inverse' (وارون): .nf inverse red .fi برنامه Taskwarrior فرمانی دارد که به شما در تجسم این ترکیب‌های رنگی کمک می‌کند. این دستور را امتحان کنید: .nf $ task color underline bold red on black .fi می‌توانید از این دستور برای مشاهده نحوه کارکرد ترکیب‌های مختلف رنگ استفاده کنید. همچنین علاوه بر نمونه درخواستی، نمونه‌هایی از رنگ‌های نمایش داده‌شده مانند موارد بالا را نیز مشاهده خواهید کرد. برخی ترکیب‌ها بسیار زیبا و برخی بسیار ناخوشایند به نظر می‌رسند. برای نمونه، برنامه‌های مختلف ترمینال نسخه‌های اندکی متفاوت از 'red' (قرمز) را پیاده‌سازی می‌کنند، بنابراین ممکن است بین سیستم‌های مختلف تفاوت‌های غیرمنتظره‌ای مشاهده کنید. روشنایی صفحه‌نمایش شما نیز یک عامل مؤثر است. .SH "پشتیبانی از ۲۵۶ رنگ (256-COLOR SUPPORT)" استفاده از ۲۵۶ رنگ از همان الگو پیروی می‌کند، اما نام‌ها متفاوت هستند و برخی رنگ‌ها را می‌توان به روش‌های گوناگونی مشخص کرد. نخستین روش، استفاده از شماره ترتیبی رنگ (color ordinal) است، که به این صورت است: .nf color0 color1 color2 ... color255 .fi این کار به شما امکان دسترسی به همه ۲۵۶ رنگ را می‌دهد، اما کمک چندانی به انتخاب رنگ نمی‌کند. این محدوده ترکیبی از ۸ رنگ پایه (color0 تا color7)، سپس ۸ نسخه روشن‌تر (color8 تا color15)، بعد یک بلوک ۲۱۶ تایی از رنگ‌ها (color16 تا color231)، و در نهایت یک بلوک ۲۴ تایی از رنگ‌های خاکستری (color232 تا color255) است. بلوک بزرگ ۲۱۶ رنگی (۶×۶×۶ = ۲۱۶) یک مکعب رنگ را نشان می‌دهد که می‌توان از طریق مقادیر RGB از ۰ تا ۵ برای هر جزء رنگی به آن دسترسی داشت. مقدار ۰ یعنی عدم وجود آن مؤلفه رنگی و مقدار ۵ یعنی بیشترین شدت آن مؤلفه رنگی. برای نمونه، قرمز روشن به این صورت مشخص می‌شود: .nf rgb500 .fi و قرمز تیره‌تر به صورت زیر خواهد بود: .nf rgb300 .fi توجه داشته باشید که این سه رقم نشان‌دهنده مقادیر سه مؤلفه هستند، بنابراین در این مثال، ۵، ۰ و ۰ نشان‌دهنده red=5، green=0 و blue=0 هستند. ترکیب قرمز پررنگ با سبز صفر و آبی صفر، رنگ قرمز را تولید می‌کند. به همین ترتیب، آبی و سبز عبارتند از: .nf rgb005 rgb050 .fi نمونه دیگر - زرد روشن - ترکیبی از قرمز روشن و سبز روشن است بدون مؤلفه آبی، بنابراین زرد روشن به این شکل آدرس‌دهی می‌شود: .nf rgb550 .fi یک صورتی ملایم به صورت زیر آدرس‌دهی می‌شود: .nf rgb515 .fi با اجرای دستور زیر بررسی کنید که آیا با این نام‌گذاری موافقید: .nf $ task color black on rgb515 .fi شاید متوجه شوید که بلوک بزرگ رنگی در قالب ۶ مربع نمایش داده می‌شود. تمام رنگ‌های مربع اول مقدار قرمز ۰ دارند. تمام رنگ‌های مربع ششم مقدار قرمز ۵ دارند. در هر مربع، آبی از ۰ تا ۵ از چپ به راست، و سبز از ۰ تا ۵ از بالا به پایین تغییر می‌کند. عادت کردن به این الگو به کمی زمان نیاز دارد. همچنین می‌توان به بلوک ۲۴ تایی رنگ‌های خاکستری به صورت gray0 تا gray23، در یک طیف پیوسته از سیاه تا سفید دسترسی داشت. .SH "ترکیب ۱۶ رنگ و ۲۵۶ رنگ (MIXING 16- AND 256-COLORS)" اگر از ۱۶ رنگ استفاده کنید و آن را در یک ترمینال ۲۵۶ رنگ مشاهده کنید، مشکلی پیش نمی‌آید. اگر عکس این عمل را انجام دهید، یعنی رنگ‌های ۲۵۶ تایی تعیین کنید و در یک ترمینال ۱۶ رنگ نمایش دهید، ناامید و شاید حتی شوکه شوید. نوعی نگاشت محدود رنگ وجود دارد - برای نمونه، اگر این ترکیب را تعیین کنید: .nf red on gray3 .fi شما در حال ترکیب مشخصات ۱۶ رنگ و ۲۵۶ رنگ هستید. Taskwarrior رنگ red را به color1 نگاشت کرده و ادامه می‌دهد. توجه داشته باشید که red و color1 دقیقاً یک تن رنگی یکسان نیستند. همچنین توجه کنید که هنگام کار با ۲۵۶ رنگ، ویژگی‌های bold یا bright وجود ندارند، اما همچنان ویژگی underline در دسترس است. .SH "راهنمای رنگ‌ها (LEGEND)" اگر این دستور را اجرا کنید، Taskwarrior نمونه‌هایی از تمام رنگ‌های تعریف‌شده مورد استفاده در فایل taskrc. یا تم شما را نمایش خواهد داد: .nf $ task color legend .fi این دستور نمونه‌ای از هر یک از رنگ‌ها را ارائه می‌دهد تا بتوانید جلوه آن‌ها را بدون نیاز به ایجاد مجموعه‌ای از وظایف که معیارهای هر قانون را برآورده می‌کنند، مشاهده نمایید. .SH "قوانین (RULES)" برنامه Taskwarrior از قوانین رنگ‌آمیزی پشتیبانی می‌کند. این‌ها مقادیر پیکربندی هستند که یک رنگ و شرایط استفاده از آن رنگ را تعیین می‌کنند. به عنوان مثال، بیایید چند وظیفه اضافه کنیم: .nf $ task add project:Home priority:H pay the bills (1) $ task add project:Home clean the rug (2) $ task add project:Garden clean out the garage (3) .fi می‌توانیم یک قانون رنگ اضافه کنیم که برای تمام وظایف موجود در پروژه Home از پس‌زمینه آبی استفاده کند: .nf $ task config color.project.Home 'on blue' .fi ما از علامت نقل‌قول در اطراف 'on blue' استفاده می‌کنیم زیرا از دو کلمه تشکیل شده است، اما نمایانگر یک مقدار در فایل taskrc. است. حال فرض کنید می‌خواهیم برای تمام کارهای مربوط به نظافت، از رنگ متن زرد پررنگ (bold yellow) استفاده کنیم: .nf $ task config color.keyword.clean 'bold yellow' .fi اکنون چه اتفاقی برای وظیفه ۲ می‌افتد که هم متعلق به پروژه Home است (پس‌زمینه آبی) و هم یک وظیفه نظافتی است (پیش‌زمینه زرد پررنگ)؟ رنگ‌ها با یکدیگر ترکیب می‌شوند و وظیفه به صورت "bold yellow on blue" نمایش داده می‌شود. همان‌طور که نشان داده شد، قوانین رنگ را می‌توان بر اساس پروژه و کلمات کلیدی توضیحات، و همچنین بر اساس اولویت (یا عدم وجود اولویت)، وضعیت فعال بودن، موعد سررسید یا سررسید گذشته (overdue)، داشتن برچسب یا داشتن یک برچسب خاص (که شاید کاربردی‌ترین قانون باشد) یا تکرارشونده بودن وظیفه اعمال کرد. امکان ایجاد ترکیبی بسیار رنگارنگ از قوانین وجود دارد. با پشتیبانی از ۲۵۶ رنگ، می‌توان آن رنگ‌ها را ملایم و مکمل یکدیگر ساخت، اما بدون دقت کافی، ممکن است آشفتگی بصری ایجاد شود. مراقب باشید! در چنین مواردی، استفاده از گزینه 'rule.color.merge=no' را برای غیرفعال کردن ترکیب رنگ‌ها در نظر بگیرید. تقدم و اولویت قوانین رنگ توسط متغیر پیکربندی 'rule.precedence.color' تعیین می‌شود، که به طور پیش‌فرض شامل موارد زیر است: .nf deleted,completed,active,keyword.,tag.,project.,overdue,scheduled,due.today,due,blocked,blocking,recurring,tagged,uda. .fi این‌ها صرفاً همان قوانین رنگ هستند که پیشوند '.color' از آن‌ها حذف شده است. قانون 'color.deleted' بالاترین تقدم و 'color.uda.' کمترین تقدم را دارد. قانون کلیدواژه که در اینجا به صورت '.keyword' نشان داده شده با یک الگوی عام (wildcard) مطابقت دارد، به این معنی که معادل '*color.keyword.' یا به عبارت دیگر تمام قوانین کلمات کلیدی است. همچنین 'color.project.none'، 'color.tag.none' و 'color.uda.priority.none' به طور خاص برای نمایش داده‌های ناموجود وجود دارند. .SH "تم‌ها (THEMES)" برنامه Taskwarrior از تم‌ها (Themes) پشتیبانی می‌کند. مفهوم واقعی این ویژگی آن است که به دلیل امکان گنجاندن فایل‌های دیگر در فایل taskrc.، می‌توان مجموعه‌های متفاوتی از قوانین رنگ را فراخوانی کرد. برای درک بهتر اینکه یک تم رنگی چگونه به نظر می‌رسد، سعی کنید این ورودی را به فایل taskrc. خود اضافه نمایید: .nf include dark-256.theme .fi می‌توانید از هر یک از تم‌های استاندارد Taskwarrior استفاده کنید: .nf dark-16.theme dark-256.theme dark-blue-256.theme dark-gray-256.theme dark-green-256.theme dark-red-256.theme dark-violets-256.theme dark-yellow-green.theme light-16.theme light-256.theme solarized-dark-256.theme solarized-light-256.theme dark-default-16.theme dark-gray-blue-256.theme no-color.theme .fi به یاد داشته باشید اگر از ترمینالی با پس‌زمینه تیره استفاده می‌کنید، با استفاده از یک تم تیره (dark theme) نتایج بهتری مشاهده خواهید کرد. همچنین می‌توانید با اجرای دستور زیر ببینید که تم چگونه وظایف مختلف را رنگ‌آمیزی می‌کند: .nf $ task color legend .fi حتی بهتر است تم اختصاصی خود را بسازید و به اشتراک بگذارید. ما با کمال میل فایل‌های تم را در نشانی میزبانی خواهیم کرد. .SH "اعتبار و حق نشر (CREDITS & COPYRIGHTS)" حق نشر (C) 2006 \- 2021 متعلق به T. Babej, P. Beckingham, F. Hernandez. برنامه Taskwarrior تحت شرایط مجوز MIT توزیع می‌شود. برای اطلاعات بیشتر https://www.opensource.org/licenses/mit-license.php را ببینید. .SH "همچنین ببینید (SEE ALSO)" .BR task(1), .BR taskrc(5), .BR task-sync(5) برای اطلاعات بیشتر درباره Taskwarrior به منابع زیر مراجعه فرمایید: .TP وب‌سایت رسمی در .TP مخزن رسمی کد منبع در .TP تماس با پروژه از طریق رایانامه .SH "گزارش باگ‌ها (REPORTING BUGS)" .TP باگ‌های Taskwarrior را می‌توانید به بخش ردیابی مشکلات در نشانی زیر گزارش کنید: