urxvt-clickthrough(1) RXVT-UNICODE urxvt-clickthrough(1)

clickthrough - شفاف‌سازی پنجره نسبت به رویدادهای ورودی

# create a transparent non-interactable overlay
urxvt -override-redirect -depth 32 -bg "[0]black" -clickthrough on -e top

این افزونه می‌تواند پنجرهٔ ترمینال را میان وضعیت‌های «عادی» (normal) و «کلیک‌ردشو» (clickthrough) تغییر وضعیت دهد. در حالت دوم، رویدادهای ورودی مانند کلیک‌ها، گویی که پنجره اصلاً وجود ندارد، از پنجره «عبور» می‌کنند. از این قابلیت می‌توان برای قرار دادن یک پنجره (ترجیحاً تا حدی شفاف) در جلوی سایر پنجره‌ها و هدایت کلیک‌ها و سایر رویدادها به پنجرهٔ زیرین استفاده کرد.

برای دیدن یک مثال، https://shallowsky.com/blog/2017/Apr/06 را مشاهده کنید.

این افزونه به‌طور خودکار با مشخص کردن آرگومان خط فرمان "-clickthrough mode"; بارگذاری می‌شود و در یکی از سه حالت زیر عمل می‌کند:

"disable" (پیش‌فرض)
در این حالت، همه‌چیز به‌صورت عادی کار می‌کند و توالی OSC فعال نیست.
"on"
در این حالت، رویدادها از پنجره عبور می‌کنند، و این وضعیت را می‌توان از طریق یک توالی OSC تغییر داد.
"off"
در این حالت، رویدادها به‌صورت عادی عمل می‌کنند، اما این وضعیت را می‌توان از طریق یک توالی OSC تغییر داد.

در صورت فعال بودن، توالی OSC با فرمت "777;clickthroughmode" می‌تواند برای تغییر حالت clickthrough به کار رود. برای مثال، روشن کردن و سپس خاموش کردن مجدد آن:

printf '\033]777;clickthrough:on\007'
printf '\033]777;clickthrough:off\007'

برای این که این قابلیت طبق انتظار کار کند، مدیر پنجرهٔ شما باید به‌طور کامل از پنجره‌های شکل‌دار (shaped windows) پشتیبانی کند، اما اکثر آن‌ها فقط پشتیبانی جزئی دارند. تنها مدیر پنجره‌ای که به درستی این مورد را مدیریت می‌کند openbox 3.7 است.

یک راهکار جایگزین، استفادهٔ هم‌زمان از "-override-redirect" است.

علاوه بر این، به نظر می‌رسد اشکال ورودی (input shapes) در Xorg به‌خوبی پشتیبانی نمی‌شوند، که گاهی اوقات باعث می‌شود رویدادهای لازم برای مدیران پنجره تولید نشوند. در حال حاضر در این افزونه با تنظیم مجدد شکل ورودی پس از هر رویداد map، این مشکل برطرف شده است.

2025-10-24 9.31