Shell 脚本/swayidle:存储值

Shell 脚本/swayidle:存储值

我在用着摇摆闲置时间过长时更改屏幕和键盘的背光亮度级别。然而,当恢复时,我想将级别更改回原来的状态。这是我编写的运行 swayidle 的脚本:

#/bin/sh

screen="50%"
keyboard=1

swayidle -w timeout 295 "screen=$(brightnessctl get) && brightnessctl set 1%" \
    resume "brightnessctl set $screen" \
timeout 300 "swaylock -f && hyprctl dispatch dpms off && keyboard=$(brightnessctl --device='platform::kbd_backlight' get) && brightnessctl --device='platform::kbd_backlight' s 0" \
    resume "hyprctl dispatch dpms on && brightnessctl set $screen && brightnessctl --device='platform::kbd_backlight' s $keyboard" \
timeout 600 'systemctl suspend'

这当然不起作用,因为我无法从 swayidle 调用中访问screenkeyboard变量,因此我的级别仅设置为 50%。有没有什么方法可以实现这一目标,而无需创建临时文件来存储这些值?

相关内容