Fedora(GNOME)下Emacs不跟随系统深色主题及顶部栏主题不一致的解决求助
Fedora(GNOME)下Emacs不跟随系统深色主题及顶部栏主题不一致的解决求助
最近在Fedora的GNOME桌面用Emacs时碰到个闹心的小问题:明明系统已经开了深色主题,可Emacs却完全不“跟风”,界面还是浅色的,连顶部栏都和系统主题格格不入,看着特别别扭。先给大家看看我的Emacs窗口现状:

折腾了好一会儿,终于找到几个好用的解决办法,分享给同样遇到这个问题的朋友:
让Emacs自动跟随系统主题切换
想要Emacs像其他GNOME原生应用一样,自动适配系统的深色/浅色模式切换?可以在Emacs的配置文件(通常是~/.emacs或者~/.emacs.d/init.el)里添加这段代码:(add-hook 'after-init-hook (lambda () (let ((theme (frame-parameter nil 'background-mode))) (if (eq theme 'dark) (load-theme 'modus-vivendi t) (load-theme 'modus-operandi t)))))Modus系列是Emacs自带的官方主题,风格简洁清爽,能完美对接系统主题的切换逻辑。保存配置后重启Emacs就生效啦。
设置和GNOME风格统一的深色主题
如果你想让Emacs的视觉风格和GNOME系统更贴合,可以先安装gnome-themes-extra包,打开终端输入:sudo dnf install gnome-themes-extra之后在Emacs配置文件里添加启用Adwaita深色主题的代码:
(load-theme 'adwaita-dark t)Adwaita是GNOME的原生主题,启用后Emacs的顶部栏和界面风格会和系统完美统一。
用GNOME Tweaks一键强制适配
嫌改配置麻烦?那试试GNOME Tweaks工具吧。先安装它:sudo dnf install gnome-tweaks打开Tweaks后,找到「外观」选项卡,把「应用程序」的主题改成你正在使用的深色主题(比如Adwaita-dark),Emacs就能自动同步系统主题了。
如果以上方法都不管用,建议检查下Emacs的版本,部分旧版本对GNOME系统主题的支持不够完善,升级到最新版应该能解决问题~
备注:内容来源于stack exchange,提问作者GlydeR




