مدتی از توسعه libadwaita
میگذره که دست اندرکاران Gnome از اون برای تم دسکتاپ و اپلیکیشن هاشون استفاده میکنند. اگه اخیرا تم جدیدی رو دانلود کرده باشید و یا سیستم رو آپدیت کرده باشید حتما متوجه شدید که بعضی اپلیکیشن ها مثل files
یا همون nautilus
از تمی استفاده میکنن که پیشفرض سیستمه. این تم پیشفرض همون libadwaita است که غیر قابل تغییره. چون به صورت یک library نصب میشه و سیستم خاص خودش رو برای قالب بندی اپلیکیشن ها داره.
این درحالیه که سایر اپلیکیشن ها مثلا Gnome-terminal
یا هر اپلیکیشن مبتنی بر GTK که دارید از تمی که خودتون در Gnome Tweaks
مشخص کردید استفاده میکنه.
برای اینکه به یک راه حل جمع بندی شده در این مورد برسیم، ضمن نثار پیامهایی به روح توسعه دهندگان Gnome ادامه مطلب رو ببینید
با وجود سنگ اندازی های libadwaita ما میتونیم یک تم یکدست برای اپلیکیشنهامون داشته باشیم. برای اینکار تم رو که دانلود کردید در پوشه ~/.themes
یا ~/.local/share/themes
نصب کنید. سپس بسته به جایی که نصب کردید از دستور زیر استفاده کنید و به جای اسم و مسیر تم، تم خودتون رو قرار بدید:
$ rm -r ~/.config/gtk-4.0/
$ ln -sf ~/.themes/Colloid-Light/gtk-4.0/{assets,gtk.css,gtk-dark.css} ~/.config/gtk-4.0/
و بعد از طریق Gnome Tweaks (که حتما نصب شده) تم مورد نظرتون رو برای legacy Applications انتخاب کنید و یا از دستورهای زیر استفاده کنید:
$ gsettings set org.gnome.desktop.wm.preferences theme "Colloid-Light"
$ gsettings set org.gnome.desktop.interface gtk-theme "Colloid-Light"
حالا اگر یکبار logout/in کنید میبینید که تم اپلیکیشن ها یکدست شده.
منتها اینجا یک مشکلی داریم. و اون سوییچ بین دارک مود هست که دو دستگی پیش میاد. یعنی اپلیکیشن های libadwaita از دستور این سوییچ اطاعت نمیکنن (چون بهشون گفتیم که از کانفیگ ما استفاده کنن و نه libadwaita) و اپلیکیشن های دیگه تبعیت میکنند. یک راه بیشتر نداریم، یا از اول تم دارک رو در دستور بالا قرار بدیم یا تم لایت. باید بیخیال تغییر دارکمود بشیم.
راه اصولیش اینه که تم های مخصوص Flatpak رو از مخازن flatpak نصب کنید. برای اینکه ببینید چه تم هایی در مخازن وجود دارند از این دستور استفاده کنید:
$ flatpak search gtk3theme
و بعد با دستور زیر تم مورد نظرتون رو نصب کنید. (به جای adw-gtk3 اسم تم رو بگذارید)
$ flatpak install flathub org.gtk.Gtk3theme.adw-gtk3
ولی اگر بخواید تمی رو انتخاب کنید که در لیست بالا نیست، اول باید به flatpak دسترسی به پوشه تمها بدیم:
$ sudo flatpak override --filesystem=$HOME/.themes
متاسفانه نمیشه به پوشه /usr/share/themes
دسترسی بدیم و مجبوریم که تم رو در پوشه home کاربر خودمون نصب کنیم.
در مرحله بعد با دستور زیر مشخص میکنیم که اپلیکیشن های flatpak از چه تمی استفاده کنن:
$ sudo flatpak override --env=GTK_THEME=adw-gtk3
پیشنهاد من: استفاده از همین تم پیشفرض یعنی libadwaita و نصب تم adw-gtk3 برای legacy Applications و Flatpak تا سیستمی کاملا یکدست داشته باشیم که با سوییچ دارکمود هم مشکلی نداشته باشه.
در این لینک و این لینک اطلاعت بیشتری راجع به این موضوع هست که میتونید بررسی کنید.
حاصل سر و کله زدن های من با لینوکس