https://github.com/Weidows/wutils

Docs-wutils

分割线

Cmd

install-and-config

# install with golang
go install github.com/Weidows/wutils/cmd/common-starter@master
go install github.com/Weidows/wutils/cmd/gmm@master
go install github.com/Weidows/wutils/cmd/subdir-extracter@master
go install github.com/Weidows/wutils/cmd/wutils@master

# or use scoop
scoop install wutils

# or, just download from release:
https://github.com/Weidows/wutils/releases

默认配置 | default config: https://github.com/Weidows/wutils/tree/master/config
如果是 scoop / release 安装, 配置会在压缩包内


wutils

CPU: <1% at most time.
RAM: <10MB, very tiny.

  • [x] 运行时配置热更新
  • [ ] break change: Rename from ‘keep-runner’ to ‘wutils’
    • then some integrations and transfers will be gradully added.
> ./wutils
NAME:
wutils - Documents(使用指南) at here:
https://blog.weidows.tech/post/lang/golang/wutils

USAGE:
wutils [global options] command [command options]

AUTHOR:
Weidows <[email protected]>

COMMANDS:
config print config file
diff diff - Differential set between two files
文件对比工具, 但不是 Git-diff 那种
是用来求 '行-差集' 的工具
输入为两个特定名称的文件: './inputA.txt', './inputB.txt'
parallel, pl 并行+后台执行任务 (配置取自wutils.yml)
dsg Disk sleep guard
防止硬盘睡眠 (每隔一段自定义的时间, 往指定盘里写一个时间戳)
外接 HDD 频繁启停甚是头疼, 后台让它怠速跑着, 免得起起停停增加损坏率
ol Opacity Listener
后台持续运行, 并每隔指定时间扫一次运行的窗口
把指定窗口设置opacity, 使其透明化 (same as BLend)
help, h Shows a list of commands or help for one command

GLOBAL OPTIONS:
--help, -h show help

parallel

wutils 部分子程序设计为根据 配置文件 持续运行的

所以单独出来一个配置项控制子程序后台一起运行


ol-Opacity_Listener

后台持续运行并控制窗口透明化的程序, 如图:

1702005541764

只在 windows 平台使用和测试过, 其他平台可能会有 bug

可用于类比的软件是 BLend, 那个软件太老了, 总是出一些 bug, 所以自己写了一个

特点-feature
  1. 现在大多数能搜到的工具比较手动, 每个新开的窗口都要再手动设置一次

    wutils 只需要改一次配置, 开多少窗口都能立即起效

  2. 参数可调

    同一程序的透明度统一控制

    不同程序的透明度分开控制

  3. 配置化

    免得每次启动调来调去

  4. 还会继续更新

    哈哈, 毕竟主要是我自己也在用


配置-Config

路径为 config/cmd/wutils.yml

debug: false
parallel:
dsg: true
ol: true

dsg:
disk:
- "E:"
- "D:"
delay: 30

ol:
delay: 2
patterns:
- title: xyplorer
opacity: 210
- title: XYplorer
opacity: 210
- title: "- Microsoft​ Edge$"
opacity: 200
- title: "- Visual Studio Code"
opacity: 180

匹配规则是按标题来的, 所以按着上面改就行, 挺直观的

  • title 是 regex 字符串

    ^ 是从开头匹配, $ 是结尾

    比如我的 Edge 浏览器, 通过 wutils ol list 命令找到它的标题是这么长 Weidows/wutils: Some demos and utils in learning \u0026 developing golang. 和另外 154 个页面 - 个人 - Microsoft​ Edge

    我想让 wutils 匹配以 “Weidows” 开头, 以 “- Microsoft​ Edge” 结尾的窗口, 那应该填 ^Weidows.*- Microsoft​ Edge$

  • opacity 是透明度, (0,255]

    一般设置在 200~240 这个范围比较舒服

教程-tutorial

dsg-Disk_sleep_guard

参上介绍的


diff

自然, 可以通过 Git 和一些类似的工具实现 ‘行-差异’ 的做法, 但是它们并不能输出, 作为差集

test case at here

> ./wutils diff
================== Missing in A ==================
onlyB1
onlyB2

================== Missing in B:==================
onlyA1
onlyA2

分割线

common-starter

格式转换启动, 比如某些程序只能启动 .exe, 通过此程序中转启动其他格式的, 比如 .bat

> common-starter ./test.bat

分割线

subdir-extracter

主要功能为解散一级目录

  • [x] 支持递归文件夹
  • [x] 重复文件进行 hash 校验 (前缀重命名法不会有误删, 删除的是完全一致的文件)
  • [ ] 提取为 Lib 到 utils 可供调用

usage

subdir-extracter 0 ./1

params:

  1. mode
    autoCheck = “0”
    overwrite = “1”
    skip = “2”
  2. path
    input the root-dir-path where you need to extracter subdirs

example

如下为解散前后, 测试文件在 cmd/subdir-extracter/1

D:\DESKTOP\1
2.3.txt

├─2.1
│ │ 3.1.txt
│ │ 3.2.txt
│ │
│ └─3.3
└─2.2
3.1.txt
3.2.txt

└─2.2
D:\DESKTOP\1
2.2-3.2.txt
2.3.txt
3.1.txt
3.2.txt

├─2.2
└─3.3

适用场景很单一: 比如一大批图包/数据集, 嵌套了很多层让人不舒服 (n > 10 时手动挪出来就很头疼了)

也没有对应工具可以用, 所以就写了这个

分割线

gmm

Golang package Mirror Manager

  • [x] 结果排序
  • [x] 协程加速

> gmm test
proxy
125ms huawei
178ms baidu
219ms aliyun
338ms proxy-cn
476ms default
612ms proxy-io
623ms tencent
sumdb
433ms google
451ms default
743ms sumdb-io
╰─ gmm proxy huawei
Proxy use huawei https://repo.huaweicloud.com/repository/goproxy

╰─ gmm sumdb default
Sumdb use default https://sum.golang.org

分割线

Utils

文档刚开搞不是很齐全, 函数多为应对 code 时常用却又棘手的情况

比较偏向 go 的注释即文档做法, utils 里有各种工具库, 可以先装一下, 开发时说不定起手就用到了

现存函数大大大概率不会删/改名, base 大致搭好了, 会有 deprecated / break change

借物表

暂无.