美味的 KDE 桌面主题
本月的菜单特色是“桌面上的 Linux”。 您的桌面,就像任何布置精美的餐桌一样,应该反映出您的个性。 您使用镶金边的银制餐具还是不锈钢餐具? 晚餐时烛光是必须的吗? 您的餐巾是亚麻、棉布还是纸质的? 当然,最重要的是尽情享用您的餐点。 精心布置的餐桌,就像精心布置的 Linux 桌面一样,只是 增强 了体验。
好吧,我承认我在延伸这个比喻,但如果不是为了延伸,那比喻还有什么用呢? François! 最好也给我拿一杯。 至于你们,我欢迎的客人,让我向你们展示你们如何也能开发出一个反映你们个性的桌面主题。
在您的 K 桌面(我运行的是 1.1.2)上,您会在“设置/桌面”菜单下找到主题管理器。 使用此工具,您可以轻松导入新主题(请参阅“资源”中的链接)、删除旧主题、创建和修改它们。 尽管主题管理器的开发取得了长足进步,但创建和修改主题仍然主要是一项命令行工作。 主题管理器主要用于管理现有主题,它在这方面做得非常好。
使用主题管理器,我通过单击“创建”为“烹饪”主题创建了骨架。 想象一下,非也! 这在目录 /home/marcel/.kde/share/apps/kthememgr/Work/Cooking 中为我的主题创建了一个默认结构。 正如我所提到的,这主要是一项命令行(或编辑器)工作。 主题管理器允许我保存我的设置并在我制定主题细节时动态应用更改。 但请注意:当您单击“保存”时,您当前的工作目录将被擦除并重建。 在单击“保存”之前,您需要返回上一级目录 (cd ..) 才能继续。 保存并应用主题后,您可以安全地返回 Work/Theme_name 目录。
一个主题中有几个组件。 它们包括图标、颜色和字体、边框等等。 它们中的每一个都在主题的 .themerc 文件中定义。 在我的例子中,我有一个 Cooking.themerc 文件。 主题管理器构建的默认文件仅包含标题和作者信息,位于文件的 [General] 部分。 这是我的主题管理器创建后立即显示的样子
# KDE Config File [General] Author=Marcel Gagné Homepage=http://www.salmar.com Version=0.1 description=Chez Marcel chef Marcel Gagné brings you his Cooking with Linux theme Email=mggagne@salmar.com
这只是模板的开头; 它还需要几个部分,每个部分都有自己的详细信息:显示、颜色、文件管理器和窗口边框,仅举几例。
如果您有兴趣并且有很多酒要喝,您可以手动编写 .themerc 文件的每个部分。 我的方法是将系统 .themerc 模板复制到主题管理器创建的模板中。 您可以在 KDE 共享目录下找到系统模板。 在像我这样的 RPM 系统上,它被称为 /usr/share/apps/kthememgr/Themes/Template.themerc。 我使用 cat 命令用以下单行代码进行复制(忽略换行)
cat /usr/share/apps/kthememgr/Themes/ Template.themerc >> /home/marcel/.kde/share/apps/kthememgr/ Work/Cooking/Cooking.themerc
这给了我一个完整的模板来使用。 使用 vi 编辑文件,我删除了模板的 [General] 部分,并保留了自己的部分。 对于我的 Linux 烹饪 主题,我只使用了显示、窗口边框、窗口标题栏和窗口按钮布局部分。
所以,你想创建一个主题,是吗? 在我们开始之前,让我给您一些快速的技术说明。 我的所有图形都是使用 GIMP 创建或修改的。 您可以使用另一个软件包来完成此操作,但为什么要这样做呢? 除了桌面壁纸(这是一个 .jpg 文件)之外,所有图像都是 .xpm 格式并在保存之前进行索引。
在创建这个食谱时,我从一个我知道必须与食物相关的背景开始。 几年前,在我们家举办的一个非常奇怪的新年派对上,一对朋友主动提出要带一个蔬菜拼盘。 这个蔬菜拼盘真是令人赏心悦目,有煮鸡蛋岛民、胡萝卜棕榈树和蘑菇小屋。 我们印象非常深刻,就给它拍了一张照片。 这就是我的起点。 在 GIMP 中稍作修改后,我添加了 Tux,给他倒了一杯酒,让他坐在芹菜棕榈树下。 以下是 [Display] 部分的具体信息。
CommonDesktop=true Wallpaper0=aveggietray.jpg WallpaperMode0=Centred
接下来,我创建了按钮。 我认为,当您最小化窗口时,您实际上是在给它提供一杯酒并让它休息一下。 还有什么比一杯酒更好的图标呢,非也? 然后是将窗口最大化到桌面——有点像把它“舀”到桌面上,不是吗? Et voilà, 一把勺子! 粘性按钮也很明显。 您用叉子刺穿窗口并固定它,向下指以粘住,向上指以取消粘住(也是默认位置)。 最后,我需要一个关闭按钮,伟大的 最后一击 来处理窗口。 啊,是的! 一把最优质的钢刀。

图 1. 图标
所有这些图标构成了 [Window Titlebar] 部分。 它们的高度和宽度最大可达 20 像素。 在这里完成之前,我为标题栏创建了一个像素图,一种 沙拉 外观和感觉。 活动标题栏和非活动标题栏之间的区别在于亮度。 最后,我将文本右对齐。 这是结果部分
[Window Titlebar] CloseButton=knife.xpm MaximizeButton=spoon-up.xpm MaximizeDownButton=spoon-down.xpm MenuButton= MinimizeButton=wine.xpm StickyButton=fork.xpm StickyDownButton=forkdown.xpm TitlebarPixmapActive=saladbar.xpm TitlebarPixmapInactive=inactivesaladbar.xpm PixmapUnderTitleText=yes TitleFrameShaded=no TitleAlignment=right
按钮可以放置在您希望的任何位置。 有六个可能的按钮位置:左侧三个,右侧三个。 由于我倾向于先点击后思考,所以我决定保留默认位置。 但是,如果您感觉冒险,您可以切换“图标化”和“关闭”位置。 啊,生活在边缘的浪漫! 这是有问题的部分
[Window Button Layout] ButtonA=Menu ButtonB= ButtonC= ButtonD=Close ButtonE=Maximize ButtonF=Iconify窗口边框对我来说是一件奇怪的事情——我既 喜欢 又 讨厌 它们。 一方面,它们可以装饰; 另一方面,它们占用了我的笔记本电脑面板显示器上的宝贵桌面空间。 对于我感到狂野和愚蠢的时候,我决定在边框中加入一丝色彩。 对于角图标,我把 Tux 和他的酒杯带回来了。 以下是我的“.themerc”中的结果条目。
[Window Border] shapePixmapTop=horizborder.xpm shapePixmapBottom=horizborder.xpm shapePixmapLeft=vertborder.xpm shapePixmapRight=vertborder.xpm shapePixmapTopLeft=tuxwine.xpm shapePixmapTopRight=tuxwine.xpm shapePixmapBottomLeft=tuxwine.xpm shapePixmapBottomRight=tuxwine.xpm边框部分,就像窗口标题栏一样,不需要太长。 KDE 会自动平铺您的图像以填充任何窗口。 但是,这里有一个陷阱,让我告诉您,我为此痛苦了很长一段时间。 您需要确保边框可以与角对齐。 如果您创建一个 20x20 像素的角图标,请确保将其与 20 像素宽的边框对齐。
您知道,正如 Perl 的座右铭所说,“方法不止一种”。 每次在主题管理器中进行更改时都单击“保存”只是其中一种方法。 如果在一段时间后,不断刷新您的 Work 目录让您感到疲倦,请求助于您的老朋友,命令行,并创建您自己可爱的 tar 包。 当然是 Gzipped。 为了简化这里的图像,我将返回上一级目录,然后从那里备份我的包。 请记住,我在 Work/Cooking 目录中。
cd .. tar -czvf Cooking.tar.gz Cooking
这将创建我的 Cooking.tar.gz 主题包。 如果您以这种方式进行操作,那么需要注意的一点是,您需要将包复制回您的 ~/.kde/share/apps/kthememgr/Themes 目录。
无论如何,当您对您的工作感到满意时,您可以将其上传到您最喜欢的主题站点,供全世界品味。 然后可以使用主题管理器使用 添加 功能进行安装。 为了让您赏心悦目,图 2 是结果主题的图片。 如果您受到如此启发,您可以从Linux Journal 网站或我自己的网站下载副本。 当然,名声和财富离您只有一步之遥,非也?
好吧,我的朋友们,又到了打烊时间了。 请尽快回来。 您永远在 Chez Marcel 受到欢迎。 祝您胃口大开!
