GNU / LINUXKDEسایر مطالب

چگونه ظاهر برنامه‌هایی که با Wine اجرا میشوند را بهبود ببخشیم؟

همونطور که میدونید با Wine میشه برنامه‌های ویندوزی در سیستم‌ عامل‌های لینوکسی اجرا کرد. شخصا ازین کار خوشم نمیاد و ترجیح میدم از جایگزین‌های لینوکسی و آزاد استفاده کنم. ولی گاهی چاره‌ای نیست. مثلا در طراحی یک مدار الکتریکی نیاز به شبیه ساز داشتم. KiCad گزینه آزاد خوبی هست و از ngspice برای شبیه‌سازی استفاده می‌کنه. ولی متاسفانه در شبیه سازی Opamp مدل NE5534 خیلی اذیتم کرد. سراغ LTSpice رفتم. برنامه LTSpice رایگانه ولی آزاد نیست. نسخه مک و ویندوز داره ولی نسخه لینوکسی نداره. نسخه ویندوزش رو دانلود کردم و برای اجرای اون بعد از سالها دست به دامن Wine شدم. خوشبختانه آخرین نسخه LTSpice رو بسیار روان و خوب اجرا کرد و کارم راه افتاد. ولی یک مسئله کمی اذیت می‌کرد. ظاهر برنامه‌هایی که با wine اجرا میشن دلچسب نیست. شروع به جستجو کردم و نتایج خوبی بدست آوردم و میخوام با شما به اشتراک بگذارم. البته ذکر این نکته رو لازم میدونم که در این نوشتار قصد آموزش نصب Wine رو ندارم. برای پیدا کردن شیوه نصب در توزیعتون از موتور جستجو کمک بگیرید 🙂

 

بعد از نصب و راه اندازی Wine همه برنامه‌هایی که از Wine استفاده می‌کنند رو ببنیدید! نباید Wine در حال اجرا باشه. این اسکریپت رو در زیرشاخه کاربری خودتون در Home (مثلا برای من /home/alireza هست)در یک فایل با اسم wine_font.sh ذخیره کنید:

 

#!/bin/bash
# Quick and dirty script for configuring wine font smoothing
#
# Author: Igor Tarasov <tarasov.igor@gmail.com>

WINE=${WINE:-wine}
WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
DIALOG=whiptail

if [ ! -x "`which "$WINE"`" ]
then
    echo "Wine was not found. Is it really installed? ($WINE)"
    exit 1
fi

if [ ! -x "`which "$DIALOG"`" ]
then
    DIALOG=dialog
fi

TMPFILE=`mktemp` || exit 1

$DIALOG --menu \
    "Please select font smoothing mode for wine programs:" 13 51\
    ۴\
        ۱ "Smoothing disabled"\
        ۲ "Grayscale smoothing"\
        ۳ "Subpixel smoothing (ClearType) RGB"\
        ۴ "Subpixel smoothing (ClearType) BGR" 2> $TMPFILE

STATUS=$?
ANSWER=`cat $TMPFILE`

if [ $STATUS != 0 ]
then 
    rm -f $TMPFILE
    exit 1
fi

MODE=0 # 0 = disabled; 2 = enabled
TYPE=0 # 1 = regular;  2 = subpixel
ORIENTATION=1 # 0 = BGR; 1 = RGB

case $ANSWER in
    ۱) # disable
        ;;
    ۲) # enable
        MODE=2
        TYPE=1
        ;;
    ۳) # enable cleartype rgb
        MODE=2
        TYPE=2
        ;;
    ۴) # enable cleartype bgr
        MODE=2
        TYPE=2
        ORIENTATION=0
        ;;
    *)
        rm -f $TMPFILE
        echo Unexpected option: $ANSWER
        exit 1
        ;;
esac

echo "REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
\"FontSmoothing\"=\"$MODE\"
\"FontSmoothingOrientation\"=dword:0000000$ORIENTATION
\"FontSmoothingType\"=dword:0000000$TYPE
\"FontSmoothingGamma\"=dword:00000578" > $TMPFILE

echo -n "Updating configuration... "

$WINE regedit $TMPFILE 2> /dev/null

rm -f $TMPFILE

echo ok

برای  اجرای اسکریپت این کد رو در ترمینال اجرا کنید:

bash ./wine_font.sh

 

بعد از اجرا اگر همه چیز بدون مشکل پیش بره، این پنجره به نمایش در میاد:

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

 

در مرحله بعد برنامه winecfg رو از  طریق ترمینال یا … اجر کنید:

winecfg

از زبانه Graphics کمی resolution رو افزایش بدید.

مرحله بعد تصحیح رنگ‌بندی هست. معمولا رنگ بندی پیش فرض مثل مرحوم ویندوز ۹۸ هست. من دو رنگ‌بندی مناسب میزکار KDE Plasma پیدا کردم که یکی روشن هست و یکی تیره.

رنگ بندی روشن:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Colors]
"ActiveBorder"="239 240 241"
"ActiveTitle"="71 80 87"
"AppWorkSpace"="239 240 241"
"Background"="26 26 26"
"ButtonAlternateFace"="179 180 181"
"ButtonDkShadow"="248 249 249"
"ButtonFace"="239 240 241"
"ButtonHilight"="248 249 249"
"ButtonLight"="179 180 181"
"ButtonShadow"="179 180 181"
"ButtonText"="0 0 0"
"GradientActiveTitle"="71 80 87"
"GradientInactiveTitle"="239 240 241"
"GrayText"="100 101 102"
"Hilight"="61 174 233"
"HilightText"="255 255 255"
"HotTrackingColor"="61 174 233"
"InactiveBorder"="239 240 241"
"InactiveTitle"="239 240 241"
"InactiveTitleText"="189 195 195"
"InfoText"="0 0 0"
"InfoWindow"="255 255 225"
"Menu"="248 249 249"
"MenuBar"="239 240 241"
"MenuHilight"="61 174 233"
"MenuText"="0 0 0"
"Scrollbar"="239 240 241"
"TitleText"="255 255 255"
"Window"="255 255 255"
"WindowFrame"="179 180 181"
"WindowText"="0 0 0"

 

رنگ‌بندی تیره:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Colors]
"ActiveBorder"="49 54 58"
"ActiveTitle"="49 54 58"
"AppWorkSpace"="60 64 72"
"Background"="49 54 58"
"ButtonAlternativeFace"="200 0 0"
"ButtonDkShadow"="154 154 154"
"ButtonFace"="49 54 58"
"ButtonHilight"="119 126 140"
"ButtonLight"="60 64 72"
"ButtonShadow"="60 64 72"
"ButtonText"="219 220 222"
"GradientActiveTitle"="49 54 58"
"GradientInactiveTitle"="49 54 58"
"GrayText"="155 155 155"
"Hilight"="119 126 140"
"HilightText"="255 255 255"
"InactiveBorder"="49 54 58"
"InactiveTitle"="49 54 58"
"InactiveTitleText"="219 220 222"
"InfoText"="159 167 180"
"InfoWindow"="49 54 58"
"Menu"="49 54 58"
"MenuBar"="49 54 58"
"MenuHilight"="119 126 140"
"MenuText"="219 220 222"
"Scrollbar"="73 78 88"
"TitleText"="219 220 222"
"Window"="35 38 41"
"WindowFrame"="49 54 58"
"WindowText"="219 220 222"

 

یکی رو انتخاب کنید و محتوای اون رو در یک فایل با پسنود reg ذخیره کنید. مثلا color.reg . حالا موقع اجراست 🙂 ترمینال رو باز کنید و این کد رو اجرا کنید(اسم فایل رو دقت کنید. من color.reg گذاشتم):

wine start regedit.exe ./color.reg

 

حالا یه برنامه روبا Wine اجرا کنید و نتیجه رو ببینید 🙂

 

عکس بالا نتیجه تم روشنی هست که گفتم. ایده‌آل نیست ولی خیلی بهتر از ظاهر اولیه هست 🙂

دقت کنید محتوای فایل reg یک سری کد رنگ هست. اگر حوصله دارید، کد رنگ‌ها رو تغییر بدید تا شبیه به تم میزکارتون بشه. در ضمن تم تاریک در بعضی برنامه‌ها مثل LTSpice خوب در نمیاد. چون آیکون‌های این برنامه برای رنگ‌بندی روشن طراحی شده.

امیدوارم این نوشتار کمکتون کنه 🙂

 

منابع:

لینک اول

لینک دوم

لینک سوم

Subscribe
Notify of
guest
4 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
محمد
محمد
اکتبر 2, 2020 2:28 ق.ظ

سلام استاد
باور کنید الان فهمیدم شما رشته تون برق بوده علاقه ام به رشته ام بیشتر شد‌ 🙂
ظاهر برنامه های واین باعث شد دوال بوت پیشه کنم
دست مریزاد

کمیل پارسه
سپتامبر 3, 2020 6:36 ب.ظ

سلام مهندس خیلی وقت بود نبودید نگران شده بودم که اومدید