我是Linux的用户。我经常希望我在Linux中拥有的一个特性是能够根据一天中的时间在光和暗模式之间切换,就像在macOS和移动设备中一样。
我已经为从光模式到黑暗模式的转换设置了以下脚本:
#!/bin/bash
notify-send "Switching to dark mode"
gsettings set org.cinnamon.desktop.wm.preferences theme Mint-Y-Dark
gsettings set org.cinnamon.desktop.interface gtk-theme Mint-Y-Dark
gsettings set org.cinnamon.theme name Mint-Y-Dark
我还有另一个相反的方向
#!/bin/bash
gsettings set org.cinnamon.desktop.wm.preferences theme Mint-Y
gsettings set org.cinnamon.desktop.interface gtk-theme Mint-Y
gsettings set org.cinnamon.theme name Mint-Y
目前,当我想在这两个主题之间切换时,我会手动运行这些。
大多数程序都尊重整个操作系统的主题,这意味着这种方法运行得非常好!然而,我想用这种方法解决三个问题:
cron
和anacron
,但它们在这方面效果不佳。当我的电脑关机一段时间后,我希望它意识到切换的时间已经过去,并执行模式切换(如在macOS和各种移动设备中);即使只是(1)工作也会很好!
发布于 2020-11-19 16:05:12
最好有一个脚本与您的所有命令,以强制光或黑暗模式。下面是一个示例:
#!/bin/bash
function set_light_mode () {
echo "setting light mode"
}
function set_dark_mode () {
echo "setting dark mode"
}
case "$1" in
light)
set_light_mode
;;
dark)
set_dark_mode
;;
*)
light_time="0800"
dark_time="1700"
d="$(date +"%H%M")"
if [ "$d" -ge "$light_time" ] && [ "$d" -lt "$dark_time" ]; then
set_light_mode
else
set_dark_mode
fi
;;
esac
现在你可以:
dark
或light
来设置您的X,而不考虑时间。或者不提供任何论据,目前的时间将决定。注意:我们不检查X是否运行在上面,我想您的命令不需要这个(除了我认为在sush的情况下可能会失败的send-notify
)。
您可以在上面的函数中找到并添加更多的命令,以切换DE或某些程序的主题、模式等,通过控制台可以完成的任何操作都有详细的文档记录。
https://unix.stackexchange.com/questions/620351
复制相似问题