用Inkscape制作xfce4窗口管理器xfwm4主题

2023-10-31 05:40

本文主要是介绍用Inkscape制作xfce4窗口管理器xfwm4主题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在阅读本文前,建议先阅读怎样制作xfwm4主题官方教程,了解制作xfwm主题需要哪些文件。
本文简译自此教程,并在其基础上撰写本文,点此下载示例svg源文件

一、用Inkscape 批量制作窗口管理器部件所需图像

1.打开Inkscape建立文件。
点击菜单栏文件>文档属性(或者按快捷键shift+ctrl+D),在页面选项卡>自定义尺寸中设置单位为px(像素),宽高根据需要设定,然后保存为svg格式文件。

2.建立3层图层。
打开图层窗格(按快捷键shift+ctrl+L),
在这里插入图片描述
框架层(frame):在此层制作整个窗口主题需要的各部位图像画出各个部件目标的图形,根据需要定义颜色,大小等;
背景层(background):(可选)一般按等于整个画布大小定义;
命名层(name):(可选)对每个对应部位图像加上名字显示,比如 [left, right, bottom, 1, 2, 3 ,4 5]。

给出的示例中,采用了10像素的窗口边框大小,通过Inkscape的矩形画制。
Bottom Left: [10px * 10px]
Bottom Right: [10px * 10px]
Top Left: [10px * 10px]
Top Right: [10px * 10px]
Bottom: [20px * 10px]
Left: [10px * 20px]
Right: [10px * 20px]
Each [1, 2, 3, 4, 5]: [10px * 10px]
在这里插入图片描述
3.输出图像。
文件>导出png图像(按快捷键shift+ctrl+E),
可以在导出图像窗格看到,我们能选择框架(frame)层中每一个选区单独导出,对每一个选区按对应的命名导出为png图片。
在这里插入图片描述
导出后可以看到生成的文件
在这里插入图片描述

二、完成XFWM4主题制作

除需要png(或xpm)格式图片外(经实践,png会转化为位图显示,如果有圆角的,其边缘细节较差;不支持颜色透明度,但支持颜色为空的纯透明,半透明的会丢失颜色),xfwm主题还需要文本定义文件themerc(此处贴上本人使用的dark主题的themerc文件,示例的配置可以去原文看),

button_offset=3
button_spacing=0
full_width_title=true
title_horizontal_offset=0
title_vertical_offset_active=1
title_vertical_offset_inactive=1
active_text_color=#fffbf9
active_text_shadow_color=#efebe9
inactive_text_color=#b0b0b0
inactive_text_shadow_color=#aaaaaa
shadow_delta_height=2
shadow_delta_width=0
shadow_delta_x=0
shadow_delta_y=-10
shadow_opacity=35
title_shadow_active=false
resize_opacity=100
move_opacity=100
popup_opacity=100
show_frame_shadow=true
show_popup_shadow=true
show_app_icon=true

最后,要应用主题,需要把以上文件复制到文件夹
~/.themes/themename/xfwm4
然后,在窗口管理器样式里选择自己制作的主题样式的名字themename,下图为上面svg定义的窗口实际效果。
在这里插入图片描述
在这里插入图片描述

三、个人补充

根据官网教程,定义xfwm4窗口主题完整的图片需求为60张。本人制作了一个仿OSX窗口按钮的暗色主题(配合使用gtk主题$yay x-arc-darker)
在这里插入图片描述
如上图所示,为方便从制作好的各部位图像批量导出,对每一个制作好部件组合成单一的对象(按快捷键Ctrl+G)后,再打开对象的属性(按快捷键Shift+Ctrl+O),对其ID命名。
然后编写两个文件(批量生成图像的脚本render-assets.sh及需要导出对象的ID列表assets.txt)
render-assets.sh内容如下:

#! /bin/bashINKSCAPE="/usr/bin/inkscape"
OPTIPNG="/usr/bin/optipng"SRC_FILE="Aob-dark-xfwm.svg"
ASSETS_DIR="xfwm4"
INDEX="assets.txt"for i in `cat $INDEX`
do 
if [ -f $ASSETS_DIR/$i.png ]; thenecho $ASSETS_DIR/$i.png exists.
elseechoecho Rendering $ASSETS_DIR/$i.png$INKSCAPE --export-id=$i \--export-id-only \--export-png=$ASSETS_DIR/$i.png $SRC_FILE >/dev/null \&& $OPTIPNG -o7 --quiet $ASSETS_DIR/$i.png 
fi
done
exit 0

assets.txt内容如下:

top-left-active
top-left-inactive
title-1-active
title-1-inactive
title-2-active
title-2-inactive
title-3-active
title-3-inactive
title-4-active
title-4-inactive
title-5-active
title-5-inactive
top-right-active
top-right-inactive
right-active
right-inactive
bottom-right-active
bottom-right-inactive
bottom-active
bottom-inactive
bottom-left-active
bottom-left-inactive
left-active
left-inactive
close-active
close-inactive
close-prelight
close-pressed
maximize-toggled-active
maximize-toggled-inactive
maximize-toggled-prelight
maximize-toggled-pressed
maximize-active
maximize-inactive
maximize-prelight
maximize-pressed
hide-active
hide-inactive
hide-prelight
hide-pressed
stick-toggled-active
stick-toggled-inactive
stick-toggled-prelight
stick-toggled-pressed
stick-active
stick-inactive
stick-prelight
stick-pressed
shade-active
shade-inactive
shade-prelight
shade-pressed
shade-toggled-active
shade-toggled-inactive
shade-toggled-prelight
shade-toggled-pressed
menu-active
menu-inactive
menu-prelight
menu-pressed

将这两个文件与制作好的svg文件放在同一文件夹,并在此建立xfwm4文件夹,打开终端执行脚本render-assets.sh即可在xfwm4文件夹看到批量生成的60张图片,配合上文的themerc文件,即完成xfwm4主题制作。

这篇关于用Inkscape制作xfce4窗口管理器xfwm4主题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/313189

相关文章

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

Python实现剪贴板历史管理器

《Python实现剪贴板历史管理器》在日常工作和编程中,剪贴板是我们使用最频繁的功能之一,本文将介绍如何使用Python和PyQt5开发一个功能强大的剪贴板历史管理器,感兴趣的可以了解下... 目录一、概述:为什么需要剪贴板历史管理二、功能特性全解析2.1 核心功能2.2 增强功能三、效果展示3.1 主界面

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI