关于 Linux,我特别喜欢的一点是它在几乎所有方面都提供了惊人且广泛的选择。不喜欢某个应用程序?通常还有其他几个可供选择。不喜欢桌面的工作方式?选择众多其他桌面之一。不喜欢桌面上的窗口装饰?还有许多其他的可以下载和尝试。
如果您不喜欢您选择的窗口装饰中的一个小细节,并且所有其他装饰集甚至都不接近您的喜好怎么办?
开源的优势之一是我可以更改任何我想要的东西。所以我这样做了。
我在我的 Xfce 桌面上使用 Alienware-Bluish 主题。我喜欢它充满未来感的外观,青色和灰色的颜色与我的深色主色调相匹配——有时也与我的心情相匹配。它的角部有漂亮的 3D 浮雕,并且角和边缘足够宽,即使在我的 Hi-DPI 分辨率下也很容易抓取。图 1 显示了原始的 Alienware-Bluish 装饰,以及我喜欢的 gradient-black-324.0 配色方案。

图 1. 使用原始 Alienware-Bluish 装饰的活动窗口(带有焦点)(David Both,CC BY-SA 4.0)
关于这个窗口,有两件事让我困扰。首先,活动窗口标题栏中窗口名称的强度对我来说太暗淡了。非活动窗口的亮白色标题比活动标题的暗淡青色更能吸引我的眼球。
其次,我喜欢深色壁纸,正如您在图 1 中看到的那样。由于窗口的底部边缘没有青色高亮显示,因此很难确定窗口底部的位置,尤其是在打开了很多重叠窗口时。
我知道这些都是很小的烦恼,但它们确实困扰着我。而这就是开源最酷的事情之一:我可以修改任何我想要的东西,即使是出于琐碎的原因。这只需要一点知识,而我正在与您分享这些知识。
装饰文件在哪里?
我需要做的第一件事是找到我正在使用的装饰文件,Alienware-Bluish。我知道这一点是因为我多年来下载了很多装饰。
我下载的所有装饰主题都位于 /usr/share/themes/
目录中,以便所有用户都可以访问它们。每个主题都位于一个子目录中,因此 Alienware-Bluish 主题位于 /usr/share/themes/Alienware-Bluish/xfwm4/
目录中。xfwm 代表 xf window manager version 4(xf 窗口管理器版本 4)。
如果您将主题安装在您的主目录中,它们将位于 ~/.local/share/themes/Alienware-Bluish/xfwm4
目录中。存储在您的主目录中的主题对您计算机上的其他用户不可用。
准备工作
我不喜欢处理任何重要内容(例如主题)的原始文件,所以我使用我自己的非 root 帐户将 /usr/share/themes/Alienware-Bluish
目录及其内容复制到一个新目录 /usr/share/themes/Alienware-Bluish-2
。这为我提供了一个安全的工作场所,而不会意外损坏原始文件到无法修复的地步。它还复制了文件并将复制文件的所有权更改为我自己的帐户,以便我可以复制和编辑文件。
此外,我想保留原始文件,以便我可以继续使用它。
开始
使用 Thunar 或另一个允许您查看图像缩略图的文件管理器查看 /usr/share/themes/Alienware-Bluish-2/xfce
目录中的文件,然后放大以增加图像的大小。展开图像,以便您可以更好地看到它们。每个 *.xpm (X11 Pixmap) 文件都是一个小窗口框架部分的图像,正如您在图 2 中看到的那样。

图 2:构成窗口各个部分的文件(David Both,CC BY-SA 4.0)
请注意,不同的组件都具有活动和非活动版本。就此主题而言,它们基本相同。我现在拥有这些复制的文件,所以我可以复制和编辑它们。
特别注意 bottom-active.xpm
和 bottom-inactive.xpm
文件。这两个文件定义了窗口底部的外观。这两个图像只有一个像素宽,因此它们在图 2 中基本上是不可见的。窗口管理器会根据需要使用尽可能多的实例来创建窗口的底部边缘。
其他桌面的主题可能使用不同的文件格式。
进行更改
首先,我更改了标题颜色。themerc
文件包含文本配置文件数据,该数据定义了标题栏的几个方面。此文件是 ASCII 文本文件。以下是该主题的内容
full_width_title=true
title_alignment=center
button_spacing=2
button_offset=30
button_layout=S|HMC
active_text_color=#699eb4
inactive_text_color=#ffffff
title_vertical_offset_active=5
title_vertical_offset_inactive=5
文本颜色条目中的十六进制数字定义了活动和非活动标题文本的颜色。要更改活动标题文本,我需要确定在此字段中使用什么值。幸运的是,有一个工具可以提供帮助。KcolorChooser 可用于从调色板中选择颜色,或者可以使用拾取屏幕颜色按钮来选择屏幕上已显示的颜色。
我使用此颜色选择器来定位窗口侧面的青色高亮显示,但我发现它对于底部来说有点太亮了。我想要稍微暗一点,所以我使用 KcolorChooser 上的工具来调整颜色和强度以符合我的偏好。您可以在图 3 中看到结果。

图 3. 使用 KcolorChooser 选择特定颜色(David Both,CC BY-SA 4.0)
如果您尚未安装 KcolorChooser,可以安装它。在 Fedora 和其他基于 Red Hat 的发行版上,您可以使用以下命令
dnf -y install kcolorchooser
如果您尚未安装 KDE 桌面或其任何工具,则此命令将安装大量 KDE 库和其他依赖项。它已经安装在我的工作站上,因为我安装了 KDE Plasma 桌面。
在决定我想要的颜色之后,我从 HTML 文本框中获得了该颜色的十六进制数字。然后我将它们输入到 themerc
文件中,以便 active_text_color
行看起来像这样
active_text_color=#00f1f1
下一个部分,更改 bottom-active.xpm
图像文件,稍微复杂一些。我使用 GIMP 修改了 bottom-active.xpm
文件,但您可以使用任何您熟悉的图形编辑器。一个问题:图像太小,需要放大很多倍才能成为合理的编辑尺寸。我发现 8,000% 在我的显示器上效果很好。您可以在图 4 中看到这一点。此图像高 6 像素,宽 1 像素,颜色为黑色和深灰色阴影。

图 4. 在 GIMP 中以 8,000% 放大倍数显示的 bottom-active.xpm 文件(David Both,CC BY-SA 4.0)
我使用 KcolorChooser 找到了一种比窗口侧面和顶部边缘颜色稍暗的青色阴影。在进行了一些尝试后,我最终选择了阴影 #10b0ae,然后将其复制到 GIMP 颜色对话框的文本字段中。我必须通过选择菜单栏工具 > 可停靠对话框 > 颜色将此对话框添加到 GIMP 窗口右上角的停靠区域。或者,我可以使用颜色选择器,即 GIMP 颜色对话框中的滴管图标,从 KcolorChooser 的示例显示区域中简单地拾取颜色。
无论如何,我现在在 GIMP 颜色对话框中获得了我喜欢的颜色。我使用矩形选择工具选择图 5 中突出显示的 3 个像素,并使用桶填充工具用新颜色填充选定区域。图 5 显示了最终颜色。

图 5. 修改后的 bottom-active.xpm 文件,添加了青色(David Both,CC BY-SA 4.0)
导出修改后的文件
GIMP 将 .xpm 文件转换为它可以使用的数据格式,但它无法将数据直接保存到 .xpm 文件中。相反,我使用了导出功能来保存文件。这不是什么大问题,但第一次有点出乎意料。
在导出期间,我看到了一个对话框,要求输入 Alpha 阈值。我对 GIMP 或操作图形文件了解不够,不知道那是什么,所以我没有理会它,而是单击了导出按钮。
测试
我对这个主题所做的更改很容易测试。我只需使用窗口管理器选择 Alienware-Bluish-2 主题。这将立即加载新主题,因此我可以立即看到结果。
如果我不喜欢结果,我可以进行其他更改并再次测试。但是,此时,我必须切换回原始的 Alienware-Bluish 主题(或任何其他主题),然后再切换回 Alienware-Bluish-2 主题以验证更改。只有在重新读取主题后,才会加载修改后的文件。
图 6 显示了修改后的主题,在窗口底部边缘使用了青色高亮显示。我认为它看起来好多了。

图 6. 显示更改后的底部边缘的窗口(David Both,CC BY-SA 4.0)
最后的想法
在开始这个小项目之前,我不知道如何修复窗口装饰中的小问题和烦恼。弄清楚如何做到这一点确实花了一些时间和研究。我了解到有一种 xpm 图形格式,并且我对在 GIMP 中工作有了更多的了解,包括如何导出为该文件格式。我还发现这是一个相当容易进行的更改。
我仍然不认为我拥有设计全新的窗口装饰主题的技能或创造性愿景。但是现在我可以轻松地对其他人创建的主题进行细微的更改。
1 条评论