notcurses-demo(1) General Commands Manual notcurses-demo(1)

notcurses-demo - نمایش برخی از قابلیت‌های Notcurses

notcurses-demo [-h|--help] [-p path] [-d delaymult] [-l loglevel] [-J jsonfile] [-m margins] [-V|--version] [-kc] demospec

notcurses-demo قابلیت‌های کتابخانهٔ Notcurses را به نمایش می‌گذارد. این برنامه در هر شبیه‌ساز ترمینال یا کنسولی با یک پایگاه‌دادهٔ صحیح terminfo(5) قابل اجراست، اما بهترین عملکرد آن در محیط ۲۴ بیتی TrueColor RGB خواهد بود. اگر به نظر می‌رسد که notcurses-demo خروجی‌های نامفهوم و درهم‌ریخته تولید می‌کند، احتمالاً چیزی به گونه‌ای پیکربندی شده که مانع از کارکرد Notcurses در سایر برنامه‌ها نیز خواهد شد.

پیش‌نمایش‌ها شامل موارد زیر هستند (بخش نکات را در ادامه ببینید):

•
(a)nimate—کاوش در چرخه‌های درون Unicode
•
(b)oxes—جعبه‌های تپنده با مرکز شفاف
•
(c)hunli—قوی‌ترین زن جهان
•
(d)ragon—منحنی اژدهای Harter-Heighway
•
(e)agle—در گذشته بخشی از عمر مرا گرفت
•
(f)ission—فروپاشی صفحه نمایش زیر ضربات سهمگین
•
(g)rid—گرادیانی از رنگ‌ها روی یک شبکهٔ بزرگ
•
(h)ighcon—متن با کنتراست بالا روی رنگ‌های گوناگون
•
(i)ntro—تنظیم لحن و فضا
•
(j)ungle—چرخش رنگ با پهنای باند کم، ویرانه‌های باستانی را نمایان می‌سازد
•
(k)eller—معجزهٔ بینایی و نقاشی با خط بریل (Braille)
•
(l)uigi—لوله‌کش شجاع کوه‌های آپنین در دنیایی از آتش
•
(m)ojibake—صید تازهٔ امروز از ایموجی‌ها (به نرخ روز)
•
(n)ormal—یک نگاشت نُرمال (normal map) از یک دوست، همراه با جلوه‌ها
•
(o)utro—پیام امید از سوی نویسندهٔ کتابخانه
•
(q)rcode—کدهای پاسخ سریع یا QR (برگرفته از ISO/IEC 18004:2015)
•
(r)eel—نمایش ویجت سطح‌بالای ncreel
•
(s)liders—پازل قطعهٔ گمشده ساخته‌شده از بلوک‌های رنگارنگ
•
(t)rans—کاوش در سطوح مختلف شفافیت
•
(u)niblocks—مجموعه‌ای از بلوک‌ها با جزئیات صفحات Unicode
•
(v)iew—تصاویر و یک ویدیو که به‌صورت متن رندر می‌شوند
•
(w)hiteout—یک «هیچِ» بزرگ که به آرامی رنگ را از جهان می‌رباید
•
(x)ray—برانگیختن یک لوگو با انرژی
•
(y)ield—بهترین نقشه‌های موش‌ها و آدم‌ها غالباً نقش بر آب می‌شوند
•
(z)oo—مشاهدهٔ ویجت‌های شگفت‌انگیز دنیای Notcurses

در هر زمان می‌توانید با فشردن کلید 'q' از برنامه خارج شوید. بهترین حالت اجرای این پیش‌نمایش در ترمینالی با حداقل ابعاد ۸۰×۴۵ است و در هر ابعادی کوچک‌تر از ۸۰×۲۴ از اجرا خودداری خواهد کرد.

-p path: جست‌وجو در path مشخص‌شده برای فایل‌های داده.

-d delaymult: اعمال یک ضریب گویای غیرمنفی بر تاخیر استاندارد ۱ ثانیه‌ای.

-l loglevel: ثبت گزارش در stderr در بازه‌ای بین همه‌چیز (loglevel 7) و هیچ‌چیز (loglevel 0).

-f renderfile: رندر کردن هر فریم در renderfile علاوه بر صفحه نمایش.

-J jsonfile: درج خلاصهٔ آماری اجرای برنامه با قالب JSON در jsonfile.

-m margins: تعیین حاشیه‌های رندر (به بخش زیر مراجعه کنید).

-k: جلوگیری از استفاده از صفحهٔ متناوب (alternate screen). در صورتی که می‌خواهید پس از خروج برنامه خروجی روی ترمینال شما باقی بماند، این گزینه ضروری است.

-c: از مقداردهی اولیه (seed) برای PRNG خودداری کن. این گزینه هنگام بنچمارک‌گیری مفید است.

-h|--help: چاپ پیام راهنمای نحوهٔ استفاده و خروج موفقیت‌آمیز.

-V|--version: چاپ نام و نسخهٔ برنامه و خروج موفقیت‌آمیز.

demospec: انتخاب پیش‌نمایش‌هایی که باید اجرا شوند و مشخص کردن ترتیب اجرای آن‌ها. مقدار پیش‌فرض ixetunchdmbkywjgarvlsfqzo است. فهرست پیش‌نمایش‌ها را در بخش بالا ببینید.

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

نمایش صحیح نیازمند موارد زیر است:

•
ترمینالی که قابلیت rgb در terminfo(5) را اعلان کند، یا اینکه متغیر محیطی COLORTERM روی 24bit مقداردهی شده باشد (و ترمینال از دنباله‌های گریز RGB پشتیبانی کند)،
•
یک قلم تک‌فاصله (monospaced)، و
•
پشتیبانی مناسب از Unicode در libc، قلم و شبیه‌ساز ترمینال شما.

نسخهٔ دبیان notcurses-demo برخی از چندرسانه‌ای‌ها را که طبق دستورالعمل‌های نرم‌افزار آزاد دبیان (DFSG) غیرآزاد محسوب می‌شوند، حذف می‌کند. در نتیجه، پیش‌نمایش‌های chunli، eagle، jungle، keller، luigi و view در بستهٔ دبیان در دسترس نیستند. این موضوع در مورد هر توزیعی که از فایل تاربال مبدا DFSG استفاده می‌کند، از جمله اوبونتو و فدورا، صدق می‌کند.

اگر Notcurses بدون پشتیبانی چندرسانه‌ای ساخته شود، پیش‌نمایش‌های chunli، eagle، keller، outro، view، xray و yield به طور جزئی یا کامل در دسترس نخواهند بود. اگر Notcurses بدون libqrcodegen ساخته شود، پیش‌نمایش qrcode در دسترس نخواهد بود.

اگر notcurses-demo در ترمینالی اجرا شود که فاقد قابلیت terminfo مربوط به can_change است، پیش‌نمایش jungle نادیده گرفته خواهد شد.

کلیدهای فشرده‌شدهٔ زیر شناسایی می‌شوند (و از طریق منو نیز در دسترس هستند):

•
Ctrl-U: تغییر وضعیت نمایش صفحهٔ راهنما.
•
H: تغییر وضعیت نمایش HUD. نمایشگر HUD زمان اجرای پیش‌نمایش‌های اخیر و فعلی و همچنین تعداد فریم‌های رندرشده را نشان می‌دهد. می‌توان آن را با ماوس گرفت و جابه‌جا کرد.
•
P: تغییر وضعیت نمایش نمودار FPS.
•
Ctrl-R: راه‌اندازی مجدد پیش‌نمایش.
•
Ctrl-L: بازطراحی و ترسیم مجدد صفحه نمایش.
•
Alt-d: تغییر وضعیت نمایش پنجره‌ای با اطلاعات اشکال‌زدایی.
•
q: خروج.

بنچمارک‌گیری باید با استفاده از -c انجام شود تا یک مقدار اولیهٔ (seed) مشخص برای PRNG به دست آید. خروجی JSON از طریق -J احتمالاً مفید خواهد بود.

برخی از پیش‌نمایش‌ها (به‌ویژه mojibake و uniblocks) پشتهٔ رندر قلم را به‌شدت به کار می‌گیرند. اگر قلم یا موتور رندر شما گلیف‌ها را با عرضی متفاوت از آنچه توسط wcwidth(3) در کتابخانهٔ استاندارد گزارش شده رسم کند، Notcurses تصور نادرستی از مکان مکان‌نما خواهد داشت که منجر به رفتارهای نامطلوب می‌شود.

•
حق نشر تمام کدها و طراحی متعلق است به Nick Black nickblack@linux.com.
•
حق نشر تصاویر بازی‌های Street Fighter II و Mega Man 2 متعلق به Capcom of America است.
•
حق نشر تصاویر بازی Super Mario Bros. متعلق به Nintendo of America است.
•
حق نشر تصاویر بازی Ninja Gaiden متعلق به Koei Tecmo America است.
•
حق نشر تصاویر بازی Final Fantasy متعلق به Square Enix Co Ltd است.
•
حق نشر تصاویر فیلم Back to the Future متعلق به Universal Studios و U-Drive Joint Venture است.
•
حق نشر «Jungle with Rain» متعلق به Mark Ferrari/Living Worlds است.

notcurses(3), ncurses(3NCURSES), wcwidth(3), terminfo(5)

nick black nickblack@linux.com.

v3.0.17