همون طور که میدونید آفیسسوییت های متعددی وجود دارند که اکثرا سعی کرده اند از آفیس مایکروسافت تقلید کنند و شکل و شمایل اون رو در نرم افزار خودشون پیاده سازی کنند. بعضی از این آفیسسوییت ها برای دسکتاپ لینوکس هم توسعه داده میشن و موفق هم هستند. از معروف ترین اونها WPS Office, Collabora Office, OnlyOffice هستند که ظاهری بسیار شبیه به آفیس مایکروسافت دارند.
در این بین، آفیس قدیمی LibreOffice که در اکثر توزیع های لینوکسی نصب میشه، حداقل در ظاهر پیشرفت بسیار آهسته ای داره و هیچ وقت هم تلاش نکرده خودش رو شبیه به مایکروسافت بکنه. اما چند وقت پیش بود که بالاخره یک تغییر ظاهر اساسی در خودش ایجاد کرد و کمی به روز شد.
در این پست میخوام یک تم GTK رو معرفی بکنم که رنگ و استایل آفیس مایکروسافت رو داره و ما میتونیم از اون برای LibreOffice استفاده کنیم تا ظاهری "از نظر من" دلنشین تری داشته باشیم.
این تم ها توسط سازنده در این صفحه قرار داده شدن. آموزش نصبشون هم هست.به طور خلاصه:
~/.local/share/themes
کاربر خودتون یا در ~/.themes
از حالت فشرده خارج کنید.gtk-3.0
فایل colorful رو به این مسیر منتقل کنید .config/gtk-3.0
و اسمش رو به gtk.css
تغییر بدید. اگر از قبل چنین فایلی داشتید میتونید محتویات فایل جدید رو به انتهای فایل قبلی اضافه کنید.$ GTK_THEME=adw-writer libreoffice --writer -env:UserInstallation=file://$HOME/.config/libreoffice-writer --nologo
برای impress
و calc
هم به جای writer
اونها رو قرار بدید. در نهایت هم فایل اجرایی اونها رو ویرایش کنید تا این تغییرات همیشگی باشن. برای اینکار فایل .desktop
مورد نظر رو پیدا کنید و در خط مربوط به فرمان بدین شکل عمل کنید. و یا اینکه اینجا رو ببینید. یا اینکه مطابق آموزش سازنده، فایلها رو کپی کنید در محل مربوطه.
Exec=env GTK_THEME=adw-writer libreoffice --writer -env:UserInstallation=file://$HOME/.config/libreoffice-writer --nologo %U
اما ایراد این روش اونجا معلوم میشه که شما وقتی یک بار libreoffice رو مثلا با writer اجرا میکنید، اگر همون موقع impress رو هم اجرا کنید دیگه impress تم قرمز به خودش نمیگیره و همون تم آبی رو به خودش میگیره. یعنی هر کدوم رو که اول اجرا کردید بعدی هم با همون تم باز میشه. کاریش هم نمیشه کرد...
این ایراد با یک ترفند که توسط سازنده تمها گفته شد، حل شد. در واقع قسمت -env:UserInstallation=file://$HOME/.config/libreoffice-writer
راه حل ماجرا است. ما با این روش هر کدوم از برنامه ها رو به صورت جدا با کانفیگ های جدا و با پروسس های جدا اجرا میکنیم. اما حالا تنظیماتی که در قسمت options مثلا در writer انجام دادید دیگه به طور سراسری اعمال نمیشه و برای هر کدوم از برنامه ها باید جدا انجام بدید. مثلا حالت منوها، فونتهای پیشفرض، تبدیل اینچ به سانتی متر و ...
اگر LibreOffice رو از Flatpak نصب کردید هم بایستی عبارت GTK_THEME=adw-writer
یا یکی دیگه از تم ها رو بعنوان یک متغیر برای برنامه آفیس تعیین کنید:
$ flatpak override --env=GTK_THEME=adw-writer --user org.libreoffice.LibreOffice
من راهی پیدا نکردم که برای Flatpak برای هر کدوم از برنامه ها به صورت جدا env تعریف کنم. چون فقط یک libreoffice وجود داره که Flatpak میشناستش. یعنی باید برای همه برنامه های آفیس یک رنگ رو انتخاب کنید. (روش کانفیگ های جدا رو تست نکردم)
توجه کنید برای اینکه Flatpak تم شما رو بشناسه فایل تم ها حتما باید در مسیر ~/.themes
باشن. و نه در جای دیگه.
شما میتونید رنگ های آبی و نارنجی و سبز رو در تمها به دلخواه خودتون تغییر بدید. برای این کار در فایل gtk.css هر کدوم از تم ها عبارت @define-color accent_bg_color
رو پیدا کنید و متغیر مربوط به رنگش رو به رنگ دلخواه خودتون تغییر بدید. مثلا به نظر من اینها قشنگتر هستن:
writer: #446995
, impress: #B7472B
, calc: #217346
در مورد draw و math هم اگر احیانا خواستید تم های جدا داشته باشید کافیه برای هر کدوم یک نسخه از این تمها رو کپی کنید و اسم تمها رو عوض کنید (در فایل Index و در نام فولدر) و به همین ترتیبی که انجام دادید پیش برید. من این رنگ ها رو پیشنهاد میکنم:
math: #DA477D
, draw: #F3AE16
حاصل سر و کله زدن های من با لینوکس