在 Linux 中设置单个应用程序的 DPI

在 Linux 中设置单个应用程序的 DPI

为了测试我正在开发的 Qt 应用程序,我需要使用各种 DPI 设置来运行它,以查看其外观。我可以通过几种方式全局更改 DPI 设置(外观->字体或在 ~/.Xresources 中输入“Xft.dpi: NNN”),但这很麻烦。

有没有一种简单的方法可以只为特定应用程序更改 DPI 设置而不是全局更改(影响整个桌面)?

答案1

DPI 是在 X 内设置的(基于每个显示器),并且我认为不能基于应用程序进行设置。所以,不行。

答案2

参加聚会有点晚了,但是的,你可以用一个技巧来做到这一点。

#!/usr/bin/bash                                                 
OLDDPI=$(xrdb -query | awk '/Xft.dpi/ {print $2}')
xrdb -merge <(echo "Xft.dpi: 108")
$* & disown
sleep 3
xrdb -merge <(echo "Xft.dpi: $OLDDPI")

您可以将其保存为脚本,每当您需要更改应用程序的 DPI 时

答案3

有几种解决方案:

  1. 修改通常位于的.desktop 文件并在 Exec 命令行中/usr/share/applications/添加选项。--force-device-scale-factor=1.5
  2. 某些应用程序(例如 Zoom)在 ~/.config 中创建一个 .conf 文件,您可以在其中指定比例参数:ScaleFactor

如果这还不够的话,您可能会在这里找到解决方案:

https://wiki.archlinux.org/title/HiDPI(本 wiki 中列出的大多数解决方案并不特定于 Arch,并且适用于各种桌面环境)

https://superuser.com/a/1500746/1016302

相关内容