8个版本
0.3.2 | 2023年10月6日 |
---|---|
0.3.1 | 2023年5月14日 |
0.3.0 | 2022年9月12日 |
0.2.3 | 2022年8月24日 |
0.1.0 | 2022年1月26日 |
#230 in 图像
每月34次下载
31KB
458 行
wl-gammarelay-rs
类似于 wl-gammarelay
,但用Rust编写,单线程运行,SLOC减少了三分之一,并使用DBus
(为了简单起见)。
DBus接口
$ busctl --user introspect rs.wl-gammarelay / rs.wl.gammarelay
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.ToggleInverted method - - -
.UpdateBrightness method d - -
.UpdateGamma method d - -
.UpdateTemperature method n - -
.Brightness property d 1 emits-change writable
.Gamma property d 1 emits-change writable
.Inverted property b false emits-change writable
.Temperature property q 6500 emits-change writable
安装
从源代码安装
cargo install wl-gammarelay-rs --locked
状态栏集成
i3status-rust
i3status-rust的hueshift块自0.21.6版本起内置了对该后端的支持。
Waybar
"custom/wl-gammarelay-temperature": {
"format": "{} ",
"exec": "wl-gammarelay-rs watch {t}",
"on-scroll-up": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n +100",
"on-scroll-down": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n -100"
},
"custom/wl-gammarelay-brightness": {
"format": "{}% ",
"exec": "wl-gammarelay-rs watch {bp}",
"on-scroll-up": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d +0.02",
"on-scroll-down": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d -0.02"
}
"custom/wl-gammarelay-gamma": {
"format": "{}% γ",
"exec": "wl-gammarelay-rs watch {g}",
"on-scroll-up": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateGamma d +0.02",
"on-scroll-down": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateGamma d -0.02"
}
监视变化
您可以使用 wl-gammarelay-rs watch <格式>
来监视变化。每次某些属性更改时,都会根据字符串打印新行。 {t}
展开为温度,{b}
展开为亮度(0到1),而 {bp}
展开为百分比亮度(0到100)。
例如,如果您想监视温度和亮度(百分比),您可以运行
$ wl-gammarelay-rs watch "{t}K {bp}%"
4000K 90%
4500K 90%
5000K 90%
5000K 100%
5000K 80%
5000K 100%
...
脚本中的示例用法
# Set the temperature to `5000`
busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Temperature q 5000
# Increase the temperature by `100`:
busctl --user call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n 100
# Decrease the temperature by `100`:
busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n -100
# Invert colors
busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Inverted b true
# Toggle inverted colors
busctl --user call rs.wl-gammarelay / rs.wl.gammarelay ToggleInverted
# Set the brightness to `100%`:
busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Brightness d 1
# Increase the brightness by `10%`:
busctl --user call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d 0.1
# Decrease the brightness by `10%`:
busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d -0.1
# Set display gamma to `1.0`:
busctl --user set-property rs.wl-gammarelay / rs.wl.gammarelay Gamma d 1
# Increase gamma by `0.1`:
busctl --user call rs.wl-gammarelay / rs.wl.gammarelay UpdateGamma d 0.1
# Decrease gamma by `0.1`:
busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateGamma d -0.1
依赖项
~14–27MB
~402K SLoC