(原) EaseTools: 做一个自己的工具

原创文章,请后转载,并注明出处。

做一个自己的工具,可惜有些模块只支持Windows,希望有时间可以扩展到Linux下,并替代/减少一些第三方工具。

文章最后更新:2024.11.8

现有功能:

  1. 一些信息显示:比如内外网IP…
  2. 热字符串:类似autohotkey,例如:连续、短时间输入,jsb则启动记事本。
  3. 托盘菜单快捷启动应用程序
  4. 内置功能:延时截屏、关机、开/关网络代理、显示/隐藏指定窗口、锁机、音量调节、屏幕亮度
  5. Web服务:支持通过网络调用内置功能,实现例如网络网机等
  6. 浮动图标:文件拉到图标,Croc公网发送文件(任意内外网Croc密码接收)
  7. 浮动图标:鼠标滚动调节声音大小

计划功能:

  1. 随时记事功能
  2. Linux支持
  3. 热键呼出快捷启动(排错中)
  4. 鼠标手势
  5. 待办
  6. 快速建立快捷启动:拖动可执行文件到图标
  7. 快捷修改/新建博客(整合现有的hugo功能)
  8. 免配置、单文件运行

主要使用模块:

  1. github.com/AllenDang/giu (UI 跨平台)
  2. github.com/energye/systray (托盘菜单 跨平台)
  3. github.com/gin-gonic/gin (Web服务 跨平台)
  4. github.com/robotn/gohook (热键)
  5. github.com/go-vgo/robotgo (控制 跨平台?)
  6. github.com/spf13/viper (配置读取 跨平台)
  7. github.com/Trisia/gosysproxy (网络代理)

设想:

  1. 拖动文件到托盘:发送文件
    似乎Win没有这样的事件,考虑浮一个图标在前端,实现拖动发送(完成)
  2. 滚动调节屏幕亮度
    同上解决

其它:

  1. 主程序<7MB,内存占用170MB左右(感觉偏高,待优化),有CPU占用<2%,居然有GPU占用2%-3%,估计是giu使用了。全局按键和鼠标的捕获应该占用了较多的CPU资源。
  2. 拖动图标存在消失的可能(怪异)
  3. 浮动图标弹出菜单,但不能添加菜单图标
  4. 当前程序含图标<7MB,内存占用<73MB,CPU占用一般小于1%。