منبع اصلی نوشتار زیر در این لینک قرار دارد

نحوه‌ی آماده کردن یک GTK3 Theme برای GNOME 3.10

یکی از قابلیت‌های ویژه‌ در Gnome 3.10 وجود Decorationها در سمت برنامه‌هاست که پیش‌تر در مطلب معرفی پوسته‌های گنوم ۳.۱۰ به آن‌ پرداخته بودیم. این ویژگی ظاهری جمع و جور‌تر همچون مرورگر کروم به برنامه‌ها خواهد بخشید. اما این قابلیت در برخی از تم‌ها خصوصا پوسته‌های قدیمی فعال نبوده و پشتیبانی نمی‌شود. بعلاوه در صورت فعال نبودن این ویژگی، قابلیت جابجایی و کوچک و بزرگ کردن پنجره‌ها از طریق کشیدن موس به گوشه‌ها نیز عمل نخواهد کرد. در صورتی که پوسته‌ی خاصی مد نظر شماست که مایل به استفاده از آن هستید ولی همچنان برای پشتیبانی از نسخه ۳.۱۰ آماده نشده؛ می‌توانید بر طبق روش زیر به اصلاح آن بپردازید.

برای نمونه به پوسته Radiance نگاه کنید.

radiance1

هیچ خبری از گوشه‌های گرد، سایه‌ها و یکنواختی مورد انتظار نیست؛ همچنین امکان تغییر سایز پنجره نیز فقط از طریق منوی پنجره امکان‌پذیر است.

برای سازگاری این پوسته‌ها نیاز داریم تا کمی تغییرات در فایل CSS آن‌ها ایجاد کنیم. مقادیر زیر را به فایل CSS تم اضافه کنید. برای مثال ما در تم Radiance که در اوبونتو استفاده می‌شود فایل CSS پوسته را باز کرده و مقادیر زیر را به آن اضافه می‌کنیم.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.window-frame {
border-color: darker(@bg_color);
border-radius: 7px 7px 0 0;
border-width: 1px;
border-style: solid;
box-shadow: 0 2px 8px 3px alpha(black, 0.5);
margin: 10px;
}
.window-frame:backdrop {
box-shadow: 0 2px 5px 1px alpha(black, 0.5);
}
.window-frame.tiled {
border-radius: 0;
background-color: @bg_color;
}

در اینجا به کمی توضیحات نیاز است. window-frame کلاسی است که GTK+ برای تنظیم نحوه نمایش قاب پنجره‌ها مورد استفاده قرار می‌دهد. box-shadow به پنجره سایه ای قابل روئیت می‌دهد و margin نیز بُردر نامرئی لازم را دور پنجره می‌کشد که آن را قابل کشیدن با موس می‌کند. برای پنجره‌هایی که تمرکز بر روی آن‌ها قرار ندارد (backdrop) استایلی متعادل‌تر ساخته و در نهایت استایلی بدون سایه و بُردر نامرئی برای پنجره‌های نیم-صفحه ایجاد می‌کنیم. شاید با خود بگویید پس تکلیف پنجره‌های تمام صفحه چیست؟ +GTK بصورت خودکار برای پنجره‌های تمام صفحه بُردر قرار نخواهد داد و پوسته لازم نیست تنظیمات خاصی ارائه دهد.

radiance2

 

radiance3

اما هنوز پنجره‌ها دارای انحنای لازم نمی‌باشند؛ برای افزودن این جلوه، کد زیر را نیز به CSS بیفزایید.

1
2
3
4
5
6
7
8
9
10
11
.titlebar {
border-radius: 7px 7px 0px 0px;
}

.tiled .titlebar {
border-radius: 0;
}

.maximized .titlebar {
border-radius: 0;
}

radiance4

بخاطر ماهیت گنوم در استفاده از CSS برای ظواهر، تغییرات زیادی می‌توان ایجاد کرد که از حوصله این مطلب خارج است. در صورت تمایل به یادگیری بیشتر در این مورد می‌توانید به این لینک در پروزه گنوم مراجعه نمایید.

 

برگرفته از +

2 دیدگاه برای این نوشته:

  1. shahram:
    ۱۷ آذر ۱۳۹۲ با سلامواقعا خوشحالم که لینوکس ریویو دوباره داره به اوج گرفتن فکر می کنه و بروز عمل می کنه
    چند وقتی بود که کمتر ازش خبر داشتیم اما خوشبختانه دوباره روپا شدهما و دوستانی که کمتر از تخصص برخورداریم امیدواریم تا شما دوستان کمی در پیشرفت ما کمکون کنید.
    ازتون سپاسگذارم
    پیروز باشید
  2. مجتبی:
    ۱۷ آذر ۱۳۹۲ خیلی خوبه که تم‌های gtk با css سفارشی می‌شن.
    کاش تم‌های Qt هم با css ویرایش می‌شدن

ارسال نظر سریع



برچسب ها : , , ,