gtkグラフィカルユーザーインターフェースを更新するには?

gtkグラフィカルユーザーインターフェースを更新するには?

Xft.dpi: 96フォントサイズを変更しXft.dpi: 192た後、4KモニターでFirefoxで読むことができるフォントサイズを楽しむために~/.Xresources実行しました。xrdb -merge ~/.Xresourcesただし、これを行うには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インスタンスに送信し、シグナルを実装すると更新されます。

デスクトップ環境を使用していない場合は、そのシグナルはxrdb送信されません。あなたは少し見なければなりません。xsettingsd。 DPI設定を入力し、~/.xsettingsd変更時にそれを呼び出す必要があります~/.Xresourceskillall -HUP xsettingsdしかし、注意してください。xsettingsdDPIはXresources_DPI * 1024

私はi3を使用しています。モニタを接続し、内蔵の高DPI画面を無効にしてChrome / Terminalなどの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

関連情報