我正在运行 Linux,并且使用 Firefox 扩展支持版本 52.6.0,因为我依赖于 Firefox Quantum 中不起作用的某些可访问性/可用性扩展。
我的笔记本电脑屏幕较小,但分辨率较高,因此我无法读取默认的 Firefox UI 字体。
我发现我可以通过以下~/.Xdefaults
设置来更改大多数应用程序的 UI 字体大小:
Xft.dpi: 192
这对于 Gedit 和 i3 之类的东西有效,但由于某种原因,Firefox 会忽略它。
我尝试了在 support.mozilla.org 上找到的另一种解决方法,layout.css.devPixelsPerPx
在 about:config 中更改为 1.25。在我的 Firefox 版本上,这会更改几乎所有内容的大小,但 UI 文本字体除外。
support.mozilla.org 的另一个建议是使用名为“主题和字体大小更改器”的扩展。但是,自 Firefox Quantum 发布以来,此扩展似乎已被修改,不再支持更改字体大小(它只允许我更改颜色!)。
我尝试将屏幕分辨率减半xrandr
(至 640x400),但是这会导致很多问题,例如各种对话框(如打印对话框)不再适合屏幕。
有没有更好的解决办法?
答案1
layout.css.devPixelsPerPx
关于在 Linux 上控制 UI 字体大小的建议是拒绝。
同一个 bugzilla 页面建议使用GDK_DPI_SCALE
和GDK_SCALE
环境变量来控制 UI 字体大小。
例如,如果您通过启动器快捷方式启动 Firefox,则可以将其命令从更改firefox %u
为env GDK_DPI_SCALE=1.25 firefox %u
答案2
在尝试解决这个问题时,我了解到了userChrome.css
。它是一个配置文件,允许用户使用以下方式更改 Firefox UI 的属性:层叠样式表语言。它适用于 Firefox 52。
该文件默认不存在;我创建了它并添加了以下文本:
$ cat ~/.mozilla/firefox/*.Default\ User/chrome/userChrome.css
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
* {
font-size: 16pt !important
}
不要忘记@namespace
行后的分号。
令人惊奇的是,有一个完整的网站,用户chrome.org,专门介绍您可以放入此文件中的内容。但是,上面的简单代码片段就是我所需要的。我没有从 userchrome.org 获取它,而是从在 mozillazine.org 上发帖在我的系统上,这个font-size
技巧也可以在userChrome-example.css
同一个chrome/
目录中的文件中找到。
现在我可以在屏幕全分辨率下阅读菜单栏文本和选项卡名称等。
答案3
文件:fix-firefox-urlfont.sh
#!/bin/bash
if [ "$1" == "" ] || [ ! -d "$1" ] ; then
echo "fix-firefox-font.sh <profileDir> [<fontSize>]"
echo "Default font-size is 16pt"
exit
fi
# Variables
PROFILE="$1"
FONT="16pt"
CHROME="chrome"
CSS="userChrome.css"
STYLE="toolkit.legacyUserProfileCustomizations.stylesheets"
PREFS="prefs.js"
# Font added
if [ "$2" != "" ] ; then
FONT="$2"
fi
# Begin
pushd "$1"
# Remove the old setting
if [ `grep "$STYLE" "$PREFS" 2>/dev/null | wc -l 2>/dev/null` -ne 0 ] ; then
sed -i "/^.*$STYLE.*$/d" "$PREFS"
fi
# Add the new setting
cat << EOF >> "$PREFS"
user_pref("$STYLE", true);
EOF
# Create the directory
if [ ! -d "$CHROME" ] ; then
mkdir $CHROME
fi
# Add the custom CSS
cat << EOF > $CHROME/$CSS
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
* {
font-size: $FONT !important
}
EOF
# Done
popd