یک Color Picker در Wayland

اگه لازم داشته باشید که کد رنگ بخشی از دسکتاپ رو داشته باشید و در Wayland هم کار کنه، لازم نیست اپلیکیشن ها رو زیر و رو کنید تا یکیشون کار کنه. فقط و فقط کافیه zenity رو نصب کنید و بعد با یک دستور ساده یک دیالوگ کاربردی برای برداشتن کد رنگ دسکتاپ باز میشه. جالب اینجاست که در Wayland هم کار میکنه!

و اما دستور جادویی اینه:

zenity --color-selection --title="Color pick"

همچنین میتونید این رو بعنوان یک لانچر هم داشته باشید:

~/.local/share/applications/color-picker[Desktop Entry]
Version=1.1
Type=Application
Name=Color Picker
Comment=Color Picker by zenity
Icon=colorgrab
Exec=zenity --color-selection --title="Color picker"
Categories=Graphics;

مشکل مانیتورهای HiDPI و یک سری تنظیمات

مانیتورهای با رزولوشن بالا (4k) و اصطلاحا HiDPI کمی زودتر از پیشرفت های نرم افزاری سر و کلشون پیدا شد. و مدتی طول کشید ابتدا سیستم عامل ها و بعد کم کم نرم افزارها خودشون رو بروز کنن تا بتونن از پس این رزولوشن بر بیان.

با اینکه طی چند سال گذشته خیلی از نرم افزارها خودشون رو به این قضیه رسوندن، ولی هنوزم که هنوزه یک سری مشکلاتی برای نمایش توی این مانیتورها وجود داره.

مانیتور لپتاپ من 15.6 اینچی است با رزولوشن 4k. تا همین چند وقت پیش داشتم از رزولوشن پایین تری استفاده میکردم. تا اینکه دیگه تصمیم گرفتم وقتشه 4k رو هم برای استفاده روزانه تجربه کنم. باید بگم که بی نظیره! 

من از دسکتاپ Gnome Shell (در زمان نوشتن، نسخه ۴۴) روی Manjaro و با رابط Wayland استفاده میکنم. رزولوشن 4k برای این اندازه مانیتور زیاده و نرم افزارها بسیار ریز خواهند شد. بنابراین توی تنظیمات گنوم، scaling رو روی ۲۰۰٪ میگذارم تا اندازه منطقی ای داشته باشم.

ولی داستان از اینجا شروع میشه...

البته قبلش بگم که ممکنه در سیستم شما طور دیگه ای باشه. باید خودتون تست کنید، بررسی کنید، و متناسب با سیستم خودتون عمل کنید. کافیه کمی جست و جو و تلاش کنید!

ادامه مطلب

تغییر نور مانیتور و کیبورد

ابزارهای مختلفی برای تغییر نور صفحه مانیتور و همچنین بکلایت کیبوردها بوجود اومدن. این ابزارها به درد شرایطی میخورن که شما از دسکتاپ های ساده ای استفاده میکنید که تنظیماتی برای این کار ندارند. و یا دکمه های کیبوردتون خرابه و... یکی از این ابزارها که امکانات کاملی هم داره brillo است. از ویژگی های brillo میشه به این موارد اشاره کرد:

  • تنظیم بکلایت مانیتور
  • تنظیم بکلایت کیبورد
  • تغییر نور به صورت smooth
  • پشتیبانی از wayland

برای نصب brillo کافیه اون رو با همین نام از AUR آرچ نصب کنید و یا به صفحه گیتهاب این پروژه مراجعه کنید.

پیکربندی

بعد از نصب باید کاربر خودتون رو به گروه video اضافه کنید، وگرنه برای تغییر بکلایت باید از sudo استفاده کنید

$ sudo usermod -a -G video USERNAME

مثالی از افزایش بکلایت مانیتور با ترنزیشن smooth

$ brillo -u 150000 -U 10

مثالی از کاهش بکلایت مانیتور با ترنزیشن smooth

$ brillo -u 150000 -A 10

برای کاهش و افزایش بکلایت کیبورد هم از سوییچ -k استفاده کنید. منتها دیگه -u 150000 که مربوط به ترنزیشن smooth هست لازم نیست. مثلا:

$ brillo -k -U 15

چطور بفهمیم با Wayland هستیم یا Xorg

ممکنه به هر دلیلی بخواید چک کنید الان که به دسکتاپ لاگین کردید با Xorg بوده یا Wayland. کافیه دستور زیر رو در ترمینال وارد کنید:

loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'

یا به راحتی یک alias براش درست کنید

alias wox="loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'"

اجرای برنامه های گرافیکی تحت root در wayland

باز هم wayland! در این سیستم شما نمیتونید برنامه های گرافیکی (مثلا nautilus) رو با دستور sudo یا روش های مشابه اجرا کنید. برای حل این مشکل (که از دید توسعه دهنده ها این یه ویژگی است نه مشکل!) قبل از اجرای دستور مورد نظر، این دستور رو اجرا میکنیم:

xhost si:localuser:root

میتونیم اینو در startup بذاریم تا دیگه نیاز نباشه خودمون دستی اجراش کنیم.

البته گویا با این کار این ویژگی امنیتی wayland رو از کار میندازیم. ولی آخه برادر من... مگه تا حالا چه مشکلی ایجاد کرده بود 😑

خاموش کردن مانیتور بدون دکمه

مانیتور هایی که دکمه ی خاموش و روشن ندارن، مثلا لپ تاپ ها، و نمیدونیم کلید میانبر این کار چیه، در xorg این دستور این کار رو انجام میده:

sleep 1 && xset dpms force off

عدد ۱ یعنی یک ثانیه صبر کن و بعد مانیتورو خاموش کن. بعدش هم با تکون دادن موس یا زدن کلید روی کیبرد، روشن میشه.  میتونید این دستور رو براش یه کلید میانبر shortcut درست کنید و راحت…

اگر دستور بالا کار نکرد این رو امتحان کنید

xset s blank ; sleep 1 ; xset s activate

و اگر در wayland  در Gnome بودید این رو امتحان کنید

busctl --user call org.gnome.Shell /org/gnome/ScreenSaver org.gnome.ScreenSaver SetActive b true




حاصل سر و کله زدن های من با لینوکس