今天安装好的系统遇到了 Emacs 图标在大图标的 Task Switcher 中模糊的问题,如图 imgur.com/a/wzOxN 所示。
经过一番研究我找到了解决方案,解决后如图 imgur.com/a/05uxA 所示。
过程:
- 使用 strace -f -e trace=file -o emacs-debug.txt /usr/bin/emacs-gtk 命令来监听 emacs 进程的所有 syscall,找到它所使用的图标文件
- 发现它用的图标文件是
28702 stat("/usr/share/emacs/25.1/etc/images/icons/hicolor/scalable/apps/emacs.svg", {st_mode=S_IFREG|0644, st_size=13358, …}) = 0
该 svg 文件大小为 48x48,而 KDE 的 Large Icons 使用的是 128x128 大小的图标,scale 之后当然就模糊了。
- 使用 rsvg-convert 工具将图标扩大,
rsvg-convert emacs.svg -w 128 -h 128 -f svg -o emacs2.svg
之后覆盖掉原来的图标文件,问题就解决了。
但是问题是估计每次升级 emacs 之后我修改过的文件又会被覆盖,不知道各位有什么好办法?