简 述: 之前写过一个版本 lfxSpeeddde-dock 插件,用来实时现实网速插件;现重构为 NetSpeed 项目,修复之前的许多缺陷,和添加功能。

[TOC]


本文初发于 “偕臧的小站“,同步转载于此。



项目简介

NetSpeed 是一款轻量、快速的实时显示系统资源信息的应用程序。NetSpeedlfxSpeed 的重构版本,属于 dde-dock 的网速插件,也是前者的子项目。


碎碎念

Deepin / UOS 下的最佳网速插件推荐 NetSpeed

​ 当我写上这句之初,老脸微微一红;用过其它几款网速插件,发觉都不支持 dde-dock 是垂直模式的状态,不过瑕不掩瑜,也都有各自的精彩之处;在此提供大家多一个选择,适合自己才是最好的。


​ 之前在论坛发帖: 祝贺 DDUC 十周年,献礼一份:Dock 网速插件,收获很多交流于快乐。于是将上次写的网速插件 lfxSpeed ,彻底重构了一下为 NetSpeed ,修复许多缺陷,添加很多新功能;

 本次最重要的就是支持 Dock 在左右两侧的时候,也能够支持显示(实用为主)。imgimgimg ,可算是找到了一个比较好的解决方案。也制作为 deb 安装包格式,可自行双击后下载安装。


支持功能

  • 高分屏显示
  • 用户自定义配置
  • 为系统所有用户安装
  • 显示的前缀内容和颜色
  • 显示的标签内容和颜色
  • 更改显示字体和字体大小
  • 适配 dock 的模式(支持水平和垂直)
  • 自动切换单位(默认智能)
  • 调整网络速率精确度
  • 调整刷新时间间隔
  • 显示额外显示的悬浮信息
  • 左键单击显示的动作(可单击打开 “系统监视器”)
  • 配置数据导出(可系统路径 | 用户路径)
  • CPU、内存、的利用率;流量的使用预警
  • 应用的主题样式(浅色和暗色模式)
  • 更改系统所自带的所有风格选择

,,,,其它更多功能(写漏了那就是小彩蛋)


重构心得

​ 相比于旧版 的简版网速插件,新版插件多了很多功能,且还有功能已经实现,但是未在界面显示出来(或已经实现大半);以为重构是一件很容易的事情,毕竟之前核心部分已经有书写过一遍。

​ 经过这次重构之后,发现很多不足。但是这些不足都是最初我意料之外的一些因素;比如 Linux 下多用安装;重写 CMake 的语法;打包分发; UI 逻辑和数据之间的传递;预期用户交互功能、和开发者自己想要开发的功能;边写边修正,很多功能都想加,越写越大,越来越复杂,似乎遗忘了最初的插件本身功能,小而简洁;缺乏好看的 UI 设计图(缺设计师,捂脸),最后实现效果和我预期的效果,有差异(忽略此);大多数是之前以为的一小部分事情,实际去完成它们后,才发现开发只是整个过程中的一小部分(开发竟然是我自己,打包也是)。

​ 另外没有真正的跨平台,即使有,也都是每一个平台下的逐个去实现;也遇到以为很容易的功能,实际很复杂和难以简单的跨平台;对于 Qt 有了跟进一步的认识,也有其不足。


后期计划

​ 后面空闲计划,将 NetSpeed 写成 Linux 下通用的网速悬浮窗;吸取网速插件的经验,对功能的实现,只保留必须的功能;简洁才是初心,功能的堆砌可能并不怎么棒;记得 “二八原则”,那么就只去实现那 “二” 等的功能。然后 NetSpeed 使用 DTK 来写,且去掉一些可能没人使用的功能。沟通协调 dock 提供一些 API 接口,有些地方本该有 Dock 提供插件,此处自行补丁跳过,按道理不应该如此。先等待一下用户体验和建议之类的反馈

​ 看在使用过过程中,还有哪些细节没有注意到,若是感觉比较好,会在下一个版本中修正优化。


功能 & 效果

  1. 多语言切换,智能单位切换
  2. 自定义网速标签 / 背景标签内容、颜色、精准度、字体、字体大小、位置互换、是否显示
  3. 自带两套浅色 / 暗色两套主题、切换程序风格
  4. 支持水平和垂直两种模式、窗口置顶
  5. 自定义数据导出
  6. 欢迎帮助完善

鸣谢

在重构过程中,也获得很多思路解惑、用户交互的探讨交流,流年匆忙zccrs 、wangpeng,juteman 等也有给了很多建议,在此表示感谢。也有朋友们的其它的协助,都在此谢过


下载

欢迎来 此处 反馈缺陷、提供建议、参与贡献;或者在论坛帖子 https://bbs.deepin.org/zh/post/213210 下盖楼也行 。


你的 starfork 是对我最大的支持。也欢迎学习这个系列的 QT/DTK 学习,附学习由浅入深的目录。