基于 Chrome 的浏览器中的暗黑模式

基于 Chrome 的浏览器中的暗黑模式

我想运行基于 Chrome 的浏览器并开启暗黑模式。

我可以这样做

  1. 前往:chrome://flags
  2. 找到#enable-force-dark 标志
  3. 将其设置为“已启用”

它可以在我的 Linux 系统上的 Chromium 和 Vivaldi 上运行,但当你需要每天在暗/亮模式之间切换时,这是一种麻烦的方法。

那么有没有更简单/更快捷的方法来设置特定标志?最好的选择是为这个操作创建一个快捷按钮,但这可能吗?如何做到呢?

作为替代方案,我想从命令行运行浏览器,并将特定标志设置为“启用”,但它不起作用。我发现这里有一个“强制暗模式”标志,并且根据这一页,我试图跑

chromium --force-dark-mode 

chromium --force-dark-mode=enabled

在 Chromium 中,它对页面内容没有影响,只是改变了窗口框架的颜色。在 Vivaldi 中,它完全没有影响。我也试过了

chromium --enable-force-dark

再次,它在 Chromium 和 Vivaldi 中都没有任何效果。我的方法有什么问题?

答案1

好的。最后,我找到了适合我的答案。这里据说允许以暗黑模式运行浏览器的正确命令是:

chromium --enable-features=WebContentsForceDark

我仍然不知道如何使用按钮来切换它。

编辑:我刚刚找到了源代码Chrome 的 Dark Reader 扩展程序发布日期github。我在本地编译了源代码并使其运行。这消除了我对 Chromium 扩展的隐私和安全的所有疑虑和担忧。

答案2

要为 Chromium UI 使用深色主题,请设置环境变量GTK_THEMEXDG_DATA_DIRS

相反,要强制使用 Chromium UI 的浅色模式,请取消XDG_DATA_DIRS设置环境

注意:这与“选择主题颜色”不同(更好),chrome://settings/manageProfile因为这样,一切都是黑暗的,而铬的“主题颜色”只允许我选择一种颜色,并且用户界面中仍然有白色区域

#! /usr/bin/env bash

# chromium-darkmode.sh

#export GTK_THEME=Adwaita-dark
export GTK_THEME=Breeze-Dark

# note: XDG_DATA_DIRS can be multiple paths separated by ":"
export XDG_DATA_DIRS=/usr/share # debian/arch/...
#export XDG_DATA_DIRS=/run/current-system/sw/share # nixos

gtkrc_path="$XDG_DATA_DIRS/themes/$GTK_THEME/gtk-2.0/gtkrc"

if ! [ -e "$gtkrc_path" ]; then
  echo "error: missing gtkrc file: $gtkrc_path" >&2
  exit 1
fi

echo "ok: using gtkrc file: $gtkrc_path" >&2

exec chromium "$@"

示例 gtkrc 文件:Breeze-Dark/gtk-2.0/gtkrc来源:breeze-gtk

QT_QPA_PLATFORMTHEME替代方案:通过and/or设置 qt 主题QT_STYLE_OVERRIDE,也可能XDG_DATA_DIRS,另请参阅arch wiki:Qt

相关内容