HERBSTCLIENT(1)   HERBSTCLIENT(1)

herbstclient - ارسال دستورها به یک نمونه در حال اجرای herbstluftwm از طریق X

herbstclient [OPTIONS] COMMAND [ARGS ...]

herbstclient [OPTIONS] [--wait|--idle] [FILTER ...]

یک COMMAND را با آرگومان‌های (اختیاری) ARGS از طریق Xlib به یک نمونه در حال اجرای herbstluftwm(1) ارسال می‌کند. اگر COMMAND خروجی داشته باشد، توسط herbstclient چاپ می‌شود. چنانچه خروجی به یک خط تازه ختم نشود، برای بهبود خوانایی یک خط تازه افزوده می‌شود.

برای دیدن فهرست COMMANDهای موجود و ARGSهای آن‌ها، به herbstluftwm(1) مراجعه کنید.

اگر --wait یا --idle داده شود، منتظر دریافت قلاب‌ها (hookها) از herbstluftwm می‌ماند. در صورت تطابق با FILTER اختیاری، قلاب چاپ می‌شود. مقادیر FILTER عبارات باقاعده هستند. برای مشاهده فهرست قلاب‌های موجود به herbstluftwm(1) مراجعه کنید.

-n, --no-newline

اگر خروجی به یک خط تازه ختم نشود، خط تازه‌ای چاپ نمی‌کند.

-0, --print0

استفاده از نویسه تهی (null) به عنوان جداکننده میان خروجی قلاب‌ها.

-l, --last-arg

هنگام استفاده از -i یا -w، تنها آخرین آرگومان قلاب را چاپ می‌کند.

-i, --idle

انتظار برای قلاب‌ها به جای اجرای دستورها.

-w, --wait

مشابه --idle اما پس از دریافت اولین --count قلاب خارج می‌شود.

-c, --count COUNT

تنظیم خروج --wait پس از دریافت و چاپ شدن COUNT قلاب. مقدار پیش‌فرض COUNT برابر 1 است.

-q, --quiet

عدم چاپ پیام‌های خطا در صورتی که herbstclient نتواند به نمونه در حال اجرای herbstluftwm متصل شود.

-v, --version

چاپ نسخه herbstclient. برای دریافت نسخه herbstluftwm، از herbstclient version استفاده کنید.

-h, --help

چاپ نحوه استفاده herbstclient به همراه گزینه‌های خط فرمان آن.

--binary-pipe

اجرای چندین دستور از طریق یک رابط دودویی (binary). پروتکل مربوطه در بخش BINARY PIPE در ادامه شرح داده شده است.

هنگامی که --binary-pipe داده می‌شود، یک کانال ارتباطی دودویی با herbstluftwm برقرار می‌گردد به گونه‌ای که می‌توان چندین دستور را از طریق یک نمونه منفرد herbstclient اجرا کرد. هر دو ورودی استاندارد (stdin) و خروجی استاندارد (stdout) در حالت دودویی قرار می‌گیرند، در حالی که کانال خطای استاندارد (stderr) در حالت متنی باقی می‌ماند. این رابط از توکن‌های متنی UTF-8 که با بایت تهی (null-byte) خاتمه می‌یابند تشکیل شده است. توالی توکن‌های زیر روی stdin پشتیبانی می‌شوند، که در آن‌ها 0 نشان‌دهنده یک بایت تهی است:

•ARG 0 T 0 توکن متنی T را به دستور بعدی برای اجرا اضافه می‌کند.
•RUN 0 دستور را اجرا می‌کند (یعنی آن را به herbstluftwm ارسال می‌نماید).
•پس از نوشتن RUN و بایت تهی در ورودی استاندارد (stdin) herbstclient، خالی کردن بافر (flush) را فراموش نکنید!

روی stdout، جفت‌های کلید-مقدار جداشده با بایت تهی چاپ می‌شوند؛ بدین معنا که خروجی همواره توالی‌ای با قالب KEY 0 VALUE 0 خواهد بود. این پروتکل ممکن است در آینده گسترش یابد، اما همواره به قالب کلید-مقدار پایبند خواهد ماند.

•STDOUT 0 TEXT 0 بدین معنی است که stdout دستور اخیراً اجرا شده، برابر با TEXT است.
•STDERR 0 TEXT 0 بدین معنی است که stderr دستور اخیراً اجرا شده، برابر با TEXT است.
•STATUS 0 N 0 بدین معنی است که وضعیت خروج دستور اخیراً اجرا شده، عدد صحیح N است.

هر زمان که herbstluftwm خارج شود یا به انتهای فایل (EOF) در stdin برسد، پایپ دودویی نیز بسته می‌شود و herbstclient خارج می‌گردد.

مثال:

printf 'ARG\0echo\0ARG\0hello world\0RUN\0ARG\0get_attr\0ARG\0tags.count\0RUN\0' \
    | herbstclient --binary-pipe \
    | hexdump -C

DISPLAY

متغیر DISPLAY مورد استفاده را مشخص می‌کند، یعنی جایی که herbstluftwm(1) در آن در حال اجرا است.

وضعیت خروج حاصل از اجرای COMMAND را در کارساز herbstluftwm(1) بازمی‌گرداند.

0

موفقیت.

other

شکست. برای فهرستی از کدهای خطا به herbstluftwm(1) مراجعه کنید.

مسائل گیت‌هاب herbstluftwm را ببینید: https://github.com/herbstluftwm/herbstluftwm/issues

می‌توانید به کانال IRC به نشانی #herbstluftwm در irc.libera.chat بپیوندید.

herbstclient توسط Thorsten Wißmann نوشته شده است. نام همه مشارکت‌کنندگان در فایل AUTHORS توزیع herbstluftwm آمده است.

وبگاه: http://herbstluftwm.org

صفحه گیت‌هاب: http://github.com/herbstluftwm/herbstluftwm

ارسال وصله و گزارش اشکال:

hlwm@lists.herbstluftwm.org

حق تکثیر 2011-2020 متعلق به Thorsten Wißmann است. تمامی حقوق محفوظ است.

این نرم‌افزار تحت «Simplified BSD License» مجوزدهی شده است. برای جزئیات به LICENSE مراجعه کنید.

2026-04-03   herbstluftwm 0.9.6