如何刷新 gtk 图形用户界面?

如何刷新 gtk 图形用户界面?

更改Xft.dpi: 96Xft.dpi: 192in后,~/.Xresources我运行xrdb -merge ~/.Xresources以在 4K 显示器上的 Firefox 中享受可读的字体大小。但是,我必须终止并重新启动 Firefox 才能执行此操作。还有其他方法可以重新加载 Firefox GUI吗?

编辑:不过可能是一个错误https://bugzilla.mozilla.org/show_bug.cgi?id=1554850

答案1

无法强制 GTK 应用程序重新加载框架本身内置的 DPI。然而,与您收到的评论相反,许多 GTK 应用程序订阅了GSignal notify::gtk-xft-dpi在他们的GtkSettings实例。

如果您使用 gnome,当您在 gnome-control-center 中并更新 DPI,或者插入监视器时,gnome 会在后台将该信号发送到所有 GtkSettings 实例,如果它们实现了该信号,它们就会更新。

如果您不使用桌面环境,则 usingxrdb将不会发送该信号。你应该看看xsettingsd。您应该输入 DPI 设置,~/.xsettingsd并在更改时~/.Xresources调用。killall -HUP xsettingsd不过要小心,xsettingsdDPI 是Xresources_DPI * 1024.

我在 i3 上,在连接显示器并禁用内置高 DPI 屏幕后刷新/降低 Chrome/终端等的 DPI,我有这个配置...

添加:

exec_always --no-startup-id xsettingsd

更新:

bindsym $mod+Shift+c exec "i3 reload && killall -HUP xsettingsd"

我还在屏幕布局的底部添加了以下内容(根据布局的不同,数字也不同)...

echo "Xft.dpi: 135" | xrdb -merge
echo "Xft/DPI 138240" > ~/.xsettingsd
killall -HUP xsettingsd
i3 restart
sleep 3
nitrogen --restore

相关内容