有浏览器中的一种方式查询用户是否喜欢深色或浅色主题,以便网站开发人员可以根据用户偏好调整网站的颜色。
还有一种方法可以在命令行上检测到这一点吗?是否有一个命令输出light
or dark
(或一些等效的布尔值输出指示亮或暗?)
答案1
我使用以下命令来检测当前的配色方案,因为我使用 Gnome 的配色方案切换扩展:
#!/bin/sh
# org.freedesktop.appearance color-scheme
#
# Indicates the system's preferred color scheme.
# Supported values are:
#
# 0: No preference
# 1: Prefer dark appearance
# 2: Prefer light appearance
#
# Unknown values should be treated as 0 (no preference).
scheme=$(
gdbus call --session --timeout=1000 \
--dest=org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop \
--method org.freedesktop.portal.Settings.Read org.freedesktop.appearance color-scheme
)
case $scheme in
( '(<<uint32 1>>,)' ) exit 1;;
( '(<<uint32 2>>,)' ) exit 2;;
( * ) exit 0;;
esac
这适用于 Fedora 37 和 Ubuntu 22.04(通过 distrobox 在 Fedora 中运行,所以 YMMV)。
答案2
你可以尝试这个命令(在gnome桌面环境,ubuntu 22.04上测试):
gsettings get org.gnome.desktop.interface color-scheme
它输出:
'prefer-dark'
或者
'prefer-light'