| notionflux(1) | General Commands Manual | notionflux(1) |
نام (NAME)
notionflux —
کنترل از
راه دور
مبتنی بر Lua
برای notion
خلاصه دستور (SYNOPSIS)
notionflux [-R |
-e lua-code |
file]
توضیحات (DESCRIPTION)
notionflux
ابزاری
برای ارسال
اسکریپتها
به موتور
اسکریپتنویسی
Lua درون مدیر
پنجرهی
notion(1)
است. بدین
ترتیب
اسکریپت
میتواند
به API داخلی Lua
در notion دسترسی
پیدا کند.
دو حالت
کاری وجود
دارد:
تعاملی و
دستهای (batch).
حالت
تعاملی با
اجرای notionflux
در حالتی که
ورودی
استاندارد
آن به یک
ترمینال
متصل باشد و
بدون ارسال
هیچ پرچمی
در خط فرمان
فعال
میشود.
در غیر این صورت، حالت دستهای فعال میگردد:
-R- اجبار به حالت دستهای، حتی اگر stdin به یک ترمینال متصل باشد. کد Lua از stdin تا رسیدن به انتهای فایل (end-of-file) خوانده شده، برای پردازش به notion ارسال میشود و نتیجه خوانده شده و نمایش داده میشود.
-ecode- تقریباً همانند مورد بالا، به جز اینکه به جای خواندن از stdin، پارامتر خط فرمان code برای پردازش ارسال میگردد.
- file
- محتوای فایل ارزیابی میشود.
حالت تعاملی (INTERACTIVE MODE)
این حالت مشابه اجرای یک پوسته تعاملی lua(1) است. قابلیت تکمیل خودکار با کلید Tab برای API زبان Lua در notion و همچنین ویرایش خط در دسترس است.
کد وارد شده به محض اینکه به یک عبارت کامل Lua تبدیل شود، توسط notion ارزیابی میگردد. نتیجه نمایش داده میشود و پس از آن میتوان عبارت بعدی را وارد کرد.
محیط (ENVIRONMENT)
DISPLAY- متغیر
محیطی
DISPLAYباید روی یک X server که notion را اجرا میکند تنظیم شده باشد تاnotionfluxبتواند مسیر سوکت را به دست آورد.
امنیت (SECURITY)
notionflux از
طریق یک Unix domain socket
به notion(1)
متصل
میشود. این
سوکت تنها
با مجوزهای
خواندن/نوشتن
برای
کاربری که notion
را اجرا
کرده است
ایجاد
میشود.
مسیر سوکت
را میتوان
با دستور
زیر جویا
شد:
$ xprop -root _NOTION_MOD_NOTIONFLUX_SOCKET _NOTION_MOD_NOTIONFLUX_SOCKET(STRING) = "/tmp/fileuj6onu"
مثالها (EXAMPLES)
دستور
$ notionflux -e "return notioncore.current():name()" "emacs: notionflux.1"
عنوان پنجرهای که در حال حاضر دارای فوکوس است را نمایش میدهد، در حالی که
$ notionflux -e "print(notioncore.current():name())" "emacs: notionflux.1" nil
پیامها
را
جمعآوری
کرده و پیش
از بازگشت
چاپ میکند.
به منظور
نوشتن در
خروجی
استاندارد
notion (معمولاً
~/.xsession-errors) ،
همانطور
که print در
نگارشهای
پیشین notionflux
انجام
میداد،
لطفاً از
دستور زیر
استفاده
کنید:
$ notionflux -e 'io.stdout:write("hello .xsession-errors!\n")'
nil
با استفاده از تغییر مسیر ورودی:
$ echo "return notioncore.current()" | notionflux WClientWin: 0x9bb6b8
با استفاده از حالت تعاملی:
$ notionflux lua> notioncore.current():rootwin_of() WRootWin: 0x8c9688 lua> do ...> local x = 42 -- Lua defaults to global scope, don't litter ...> return x ...> end 42 lua> ^D
در هر
پاسخ از طرف
mod_notionflux،
رشتهها به
گونهای در
علامت
نقلقول
قرار
میگیرند
که بتوان
آنها را
مستقیماً
مجدداً در
یک مفسر Lua
قرار داد تا
همان رشته
بازتولید
شود، در
حالی که
سایر
نوعها با
استفاده از
tostring()
به نمایش
رشتهای
خود تبدیل
میشوند. به
همین دلیل
است که در
مثال اول در
اطراف پاسخ
علامتهای
نقلقول
وجود دارد
اما nil (که
مقدار
بازگشتی
بلاکی بدون
عبارت return است)
فاقد
آنهاست.
همچنین ببینید (SEE ALSO)
پیکربندی و توسعه Notion با Lua
/usr/share/doc/notion/
تاریخچه (HISTORY)
دستور ionflux حدود سال ۲۰۰۴ در ion3 معرفی شد. این دستور هنگامی که notion در سال ۲۰۱۰ از ion3 منشعب گردید، توسط تیم توسعه notion با آن تطبیق داده شد.
نویسندگان (AUTHORS)
notionflux در
سال ۲۰۱۹
توسط The Notion development
team تحت مجوز GNU
GPL با هدف
افزودن
حالت
تعاملی
بازنویسی
شد.
گزارش باگها (BUGS)
در حال حاضر، اسکریپت باید ۴۰۹۵ بایت یا کمتر باشد. اگر به مقدار بیشتری نیاز دارید، ارسال یک نام فایل را مد نظر قرار دهید، که برای ارزیابی به notion منتقل میشود و در نتیجه این محدودیت را دور میزند.
| June 20, 2019 | notion |