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하고 변경 시 이를 호출해야 합니다 ~/.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

관련 정보