文章目录

  • 前言:
  • 文案设计:
  • 修改圆角窗口思路:
    • 修改 dtkgui 代码:
    • 修改 dde-control-center 代码:
    • 修改 dde-dock 代码:
    • 后期优化:
  • 自定义设置圆角大小:
    • 方式一:
    • 方式二:
  • 最终效果:
  • 碎碎念总结~:
  • 一起参与贡献:
  • 更新: 2020-11-16
  • 总结:
    • 系列地址:

简 述: 社区版本 Deepin大圆角 官方版本的 “小杯”、“中杯”、“超大杯” 来了。所有窗口有和任务栏有了 直角、小圆角、大圆角 (0px、8px、 18px)。附上详细修改教程步骤,和如何修改任意角度的圆角。

视频演示效果:https://www.bilibili.com/video/BV1jv411C7oW/

翻译的英文版本: Deepin Custom Modify Window Corner Rounding Size

前言:

对于 DDE 一直以来的大圆角 18px,社区有着不同审美,有人希望坚持大圆角、有人希望调整小圆角、和直角;个人经历和生活环境不同,柑橘也不一样,所以有着各自不同角度的看待想法,能够互相欣赏即可

DDE 的圆角修改范围为: **所有主窗口的圆角 + Dock 圆角 + Menu 圆角 ** 。

本次修改只涉及社区 Deepin 拥有此功能(属于社区定制功能,也是某文和社区心心恋恋的~ )。

UOS 版本默认不开启,当然,你想体验的话,也可通过命令来修改圆角大小 (此类功能,暂时都属于规定的计划之外。 也害怕被 UOS 的产品经理、开发们锤、然后被测试小姐姐报 bug 单)。

DeepinUOS 实际是一个产品的两种不同形态。

文案设计:

  • 中文文案: 窗口圆角, , ,
  • English 文案 : Rounded Corner, small, medium, large

大圆角(系统原本样式):窗口 = 18px; 中圆角:窗口 = 8px; 小圆角:窗口 = 0px; 对于 内部(按钮、item背景等)的圆角大小, 不做修改。

嗯嗯 ,,也是来自设计部的小姐姐(人也美)给的设计图,由于篇幅,就不上图了(我说的是设计图), 确实很棒,,,

修改圆角窗口思路:

  1. fork 官网仓库到自己的仓库;
  2. 编译项目的依赖, 执行 sudo apt build-dep dtkgui ,或者去项目根目录下, 执行 dpkg-checkbuilddeps ;
  3. 修改代码, 按照格式提交(很重要)
  4. 测试达到预期后后、提交代码,等待合并

如何实现,修改地方一共要设计三个项目:

  • dtkgui :修改基础的圆角数值、添加接口
  • dde-control-center :添加控件修改软件的圆角数值,国际化翻译
  • dde-dock :同时修改任务栏 dock 的在“时尚模式”下的圆角大小数值

修改 dtkgui 代码:

先添加对应的接口;要确 winID 被创建后(不然会被创建一个默认的窗口),再修改 属性的数值, 否则 dock 会变灰,右键菜单等都会变成不透明的严重 bug。 本次修改提交,代码如下。

修改代码提交:

  1. commit a3b9836b // 添加修改圆角接口
  2. commit de1f742e // 修复默显示为直角角
  3. commit 6ae8f77d // 修复 ToolTip 的圆角为 18px 的不美观的意外 bug
  4. commit ea60f6b0 // 优化代码

运行之后,将新的头文件和生成的二进制,替换进系统,查看效果

☁  dtkgui [master] ⚡ sudo rm -rf /usr/lib/x86_64-linux-gnu/libdtkgui.so.5.2.2
☁  dtkgui [master] ⚡ sudo cp ~/project/build-dtkgui-unknown-Debug/src/libdtkgui.so.5.2.2 /usr/lib/x86_64-linux-gnu/
☁  dtkgui [master] ⚡  sudo cp src/dplatformtheme.h /usr/include/libdtk-5.2.2/DGui

修改 dde-control-center 代码:

修改代码提交:

  1. commit a37aae15 // 添加控件修改大圆角度的数值
  2. commit b9926d97 // 添加对的应国际化翻译
  3. commit a6ea6be6 // 修复布局错误导致其他控件的被压缩显示

直接运行,查看是否有实时效果。

修改 dde-dock 代码:

修改代码提交:

  1. commit 89cf36ab // Dock 任务栏修改大圆角
  2. commit 63953ef5 // 修复 注销重启后,dock 默认显示为直角

运行编译下想要看下效果,需要先下载 dconf-editor 软件, 搜寻 看门狗 watchdog, 然后关闭 dde-dock 的按钮,这样就可以运行代码生成的 dock 而非一直显示系统本身的任务栏 dock。

后期优化:

突然,被楼上测试小姐姐报告了一个缺陷,

由于只在前端做了此值的设置, 所以每次 “注销 、重启、关闭特效后再开启”, 都会导致此值 "DTK/windowRadius" QVariant(int, 8) 的丢失,从而导致都会显示为大圆角。

下一阶段,会在后端一块给此添加赋值,修复此缺陷。

自定义设置圆角大小:

方式一:

通过界面调整 “控制中心 - 个性化- 圆角窗口“ 的修改(仅对 Deepin 有效)。只有 直角(0px)、小圆角(8px) 、和 大圆角(18px) 三档可调。

方式二:

通过命令终端调整,执行命令:其中具体的参数 8 可以替换为任意数字的角度,且对 DeepinUOS 都生效。

# 终端手动调整数值 "DTK/windowRadius" QVariant(int, 8)
/usr/lib/x86_64-linux-gnu/libdtk-5.2.2/DGui/bin/deepin-gui-settings --set "DTK/WindowRadius" -i 8  // 设定圆角数值/usr/lib/x86_64-linux-gnu/libdtk-5.2.2/DGui/bin/deepin-gui-settings    // 查看圆角数值

PS: 若是此路径下没有此运行程序,则需要执行: sudo apt install libdtkgui5-bin

最终效果:

没图,没图说个

Deepin 自定义修改窗口圆角大小相关推荐

  1. oracle修改窗口字体大小,jQuery之字体大小的设置方法

    先获取字体大小,进行处理. 再将修改的值保存. slice() 方法可从已有的数组中返回选定的元素. arrayObject.slice(start,end). start 必需.规定从何处开始选取. ...

  2. Qt中根据pc屏幕分辨率按比例修改窗口的大小

    #ifndef FITWINDOW_H #define FITWINDOW_H #include <QObject> #include <QWidget>/// /// \br ...

  3. win7中能对窗口的排列方法是_win7系统窗口排列方式怎么修改?修改窗口排列方式方法...

    一般情况下,win7系统自动排列窗口的排列方式可分为层叠.纵向堆叠和并排,我们也可以自定义修改窗口排列方式,让窗口按照设置的进行排列.那么win7系统窗口排列方式怎么修改?其实修改方法很简单,接下去教 ...

  4. 如何在opencv 和 vs 2019 调整运行窗口的大小

    由于官方默认   nameWindow("winname",flag)  中 flag 默认为1,则不可修改(如图二).有两种方法: 方法一:将flag 设置为0(如图三)或者设置 ...

  5. 【最终版】PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口

    [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口 文章目录 [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大 ...

  6. PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化

    PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化 文章目录 PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变 ...

  7. android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...

    最近根据项目需求自定义了一个TextView控件,主要用来做状态的标识,比如一个订单状态有各种,当然了这种设置在Android中可以直接用xml文件来处理,但是对于xml文件太过于麻烦,针对不同的颜色 ...

  8. C语言修改dos窗口的大小

    Windows 在Window32下:system("mode con cols=30 lines=20"); 里面的数字可以改: char stCmd[128]; sprintf ...

  9. 怎样更改图片尺寸?如何自定义修改图片大小?

    平时我们经常需要修改图片尺寸,怎样快速给图片改大小呢?今天分享一款使用的图片尺寸修改器,可以根据自己的需求自定义更改图片尺寸大小,具体操作如下. 1.上传图片. 2.选择尺寸或自定义宽高,压缩等级输入 ...

  10. 注册表第二部份、修改窗口滚动条的大小,锁定任务栏的大小和位置

    注册表第二部份.修改窗口滚动条的大小,锁定任务栏的大小和位置 2010-01-26 12:15:38|  分类: 若寒注册表学习|字号 订阅 转载于:https://www.cnblogs.com/b ...

最新文章

  1. 【NOIP2013模拟9.29】Mixing Chemicals
  2. 崩坏3服务器维护多久,崩坏35月28日停服维护多久?4.0版本更新内容汇总[图]
  3. 【KubeVela 官方文档翻译】,欢迎大家踊跃参与
  4. Sublime Text 3 快捷键汇总
  5. Java基本sql_常用sql
  6. python 多线程读写文件错误_python多线程老是报错。大神帮忙看看哈?
  7. 文件用户如何将一个有界面的正常app和一个或多个越狱插件.deb同时安装到手机上...
  8. 用javascript读取xml,并进行修改xml数据,解决保存没有权限问题
  9. spring bean
  10. Lisp的本质(The Nature of Lisp)
  11. .ssh文件夹在哪里_【TOOLS】本地利用ssh远程连接服务器并启用远程服务器的jupyter lab并配置好anaconda的环境...
  12. 【专题报道】Google I/O开发者大会
  13. mysql的一些查询优化,count优化,limit优化
  14. linux端口映射转发工具- rinetd安装使用
  15. CoolFire系列讲座 第3讲:如何连接ISP并且对其解码
  16. 常用经典SQL语句大全完整版--详解+实例
  17. Electron常见问题 30 - 深度填坑之阴影问题
  18. 第三方支付和聚合支付
  19. linux生成xorg,生成xorg.conf文件
  20. 8086指令系统(8086基本知识点)

热门文章

  1. Slices in Python
  2. 工程数学 傅里叶变换 狄拉克函数
  3. Ubuntu20.04以及Ubuntu18.04修改键盘布局(法语键盘)
  4. linux中的__setup的作用
  5. es提示 MaxNewSize (1048576k) is equal to or greater than the entire heap (1048576k). A new max genera
  6. 2021朝阳启声学校高考成绩查询,梦在前方 路在脚下 ———潮阳启声学校2019届高考80天誓师大会...
  7. 使用百度云AI C++SDK在windows上进行在线语音识别
  8. 深度摄像头linux环境下,嵌入式Linux环境下USB摄像头应用程序设计.pdf
  9. 命令行 - 很好的工具,很强大
  10. 申请微信公众账号测试号