Bug 507115 - Font settings aren't properly exposed through portals
Summary: Font settings aren't properly exposed through portals
Status: CONFIRMED
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.4.3
Platform: Arch Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-16 14:26 UTC by Unknown
Modified: 2025-08-28 17:49 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
kde-gtk-config in systemsettings (83.15 KB, image/png)
2025-07-16 14:26 UTC, Unknown
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Unknown 2025-07-16 14:26:36 UTC
Created attachment 183279 [details]
kde-gtk-config in systemsettings

I have `Inter Display, Medium 11` set as the system font using the KDE System Settings application (see the attached screernshot).

However, when using Flatpak and portals, it seems that only `font-name` is being set and a bunch of other settings, including `document-font-name` and `monospace-font-name`, aren't (these default to Adwaita):

```
~> busctl --user call org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings ReadAll 'as' 0 --json=pretty
{
	"type" : "a{sa{sv}}",
	"data" : [
		{
			"org.gnome.fontconfig" : {
				"serial" : {
					"type" : "i",
					"data" : 0
				}
			},
			"org.gnome.desktop.privacy" : {
				"disable-microphone" : {
					"type" : "b",
					"data" : false
				},
				"disable-camera" : {
					"type" : "b",
					"data" : false
				},
				"old-files-age" : {
					"type" : "u",
					"data" : 30
				},
				"remember-recent-files" : {
					"type" : "b",
					"data" : true
				},
				"disable-sound-output" : {
					"type" : "b",
					"data" : false
				},
				"send-software-usage-stats" : {
					"type" : "b",
					"data" : false
				},
				"report-technical-problems" : {
					"type" : "b",
					"data" : false
				},
				"remove-old-trash-files" : {
					"type" : "b",
					"data" : false
				},
				"remove-old-temp-files" : {
					"type" : "b",
					"data" : false
				},
				"privacy-screen" : {
					"type" : "b",
					"data" : false
				},
				"usb-protection" : {
					"type" : "b",
					"data" : true
				},
				"usb-protection-level" : {
					"type" : "s",
					"data" : "lockscreen"
				},
				"remember-app-usage" : {
					"type" : "b",
					"data" : true
				},
				"show-full-name-in-top-bar" : {
					"type" : "b",
					"data" : true
				},
				"hide-identity" : {
					"type" : "b",
					"data" : false
				},
				"recent-files-max-age" : {
					"type" : "i",
					"data" : -1
				}
			},
			"org.gnome.desktop.a11y.interface" : {
				"show-status-shapes" : {
					"type" : "b",
					"data" : false
				},
				"high-contrast" : {
					"type" : "b",
					"data" : false
				}
			},
			"org.gnome.desktop.a11y" : {
				"always-show-universal-access-status" : {
					"type" : "b",
					"data" : false
				},
				"always-show-text-caret" : {
					"type" : "b",
					"data" : false
				}
			},
			"org.gnome.desktop.interface" : {
				"toolkit-accessibility" : {
					"type" : "b",
					"data" : false
				},
				"gtk-color-palette" : {
					"type" : "s",
					"data" : "black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"
				},
				"can-change-accels" : {
					"type" : "b",
					"data" : false
				},
				"document-font-name" : {
					"type" : "s",
					"data" : "Adwaita Sans 11"
				},
				"enable-animations" : {
					"type" : "b",
					"data" : true
				},
				"cursor-blink" : {
					"type" : "b",
					"data" : true
				},
				"clock-show-weekday" : {
					"type" : "b",
					"data" : false
				},
				"icon-theme" : {
					"type" : "s",
					"data" : "breeze-dark"
				},
				"gtk-im-preedit-style" : {
					"type" : "s",
					"data" : "callback"
				},
				"scaling-factor" : {
					"type" : "u",
					"data" : 1
				},
				"menus-have-tearoff" : {
					"type" : "b",
					"data" : false
				},
				"cursor-size" : {
					"type" : "i",
					"data" : 24
				},
				"clock-show-seconds" : {
					"type" : "b",
					"data" : false
				},
				"gtk-im-module" : {
					"type" : "s",
					"data" : ""
				},
				"gtk-timeout-initial" : {
					"type" : "i",
					"data" : 200
				},
				"accent-color" : {
					"type" : "s",
					"data" : "blue"
				},
				"gtk-theme" : {
					"type" : "s",
					"data" : "Breeze"
				},
				"gtk-color-scheme" : {
					"type" : "s",
					"data" : ""
				},
				"clock-show-date" : {
					"type" : "b",
					"data" : true
				},
				"cursor-blink-time" : {
					"type" : "i",
					"data" : 1000
				},
				"toolbar-icons-size" : {
					"type" : "s",
					"data" : "large"
				},
				"font-antialiasing" : {
					"type" : "s",
					"data" : "grayscale"
				},
				"toolbar-style" : {
					"type" : "s",
					"data" : "text"
				},
				"enable-hot-corners" : {
					"type" : "b",
					"data" : true
				},
				"monospace-font-name" : {
					"type" : "s",
					"data" : "Adwaita Mono 11"
				},
				"gtk-timeout-repeat" : {
					"type" : "i",
					"data" : 20
				},
				"overlay-scrolling" : {
					"type" : "b",
					"data" : true
				},
				"cursor-blink-timeout" : {
					"type" : "i",
					"data" : 10
				},
				"gtk-key-theme" : {
					"type" : "s",
					"data" : "Default"
				},
				"toolbar-detachable" : {
					"type" : "b",
					"data" : false
				},
				"font-rendering" : {
					"type" : "s",
					"data" : "automatic"
				},
				"cursor-theme" : {
					"type" : "s",
					"data" : "Breeze_Light"
				},
				"avatar-directories" : {
					"type" : "as",
					"data" : []
				},
				"gtk-im-status-style" : {
					"type" : "s",
					"data" : "callback"
				},
				"menubar-detachable" : {
					"type" : "b",
					"data" : false
				},
				"text-scaling-factor" : {
					"type" : "d",
					"data" : 1.000000000000000000000e+00
				},
				"show-battery-percentage" : {
					"type" : "b",
					"data" : false
				},
				"clock-format" : {
					"type" : "s",
					"data" : "24h"
				},
				"menubar-accel" : {
					"type" : "s",
					"data" : "F10"
				},
				"gtk-enable-primary-paste" : {
					"type" : "b",
					"data" : true
				},
				"color-scheme" : {
					"type" : "s",
					"data" : "prefer-dark"
				},
				"locate-pointer" : {
					"type" : "b",
					"data" : false
				},
				"font-rgba-order" : {
					"type" : "s",
					"data" : "rgb"
				},
				"font-hinting" : {
					"type" : "s",
					"data" : "slight"
				},
				"font-name" : {
					"type" : "s",
					"data" : "Inter Display, Medium 11"
				}
			},
			"org.gnome.desktop.sound" : {
				"theme-name" : {
					"type" : "s",
					"data" : "ocean"
				},
				"event-sounds" : {
					"type" : "b",
					"data" : false
				},
				"input-feedback-sounds" : {
					"type" : "b",
					"data" : false
				},
				"allow-volume-above-100-percent" : {
					"type" : "b",
					"data" : false
				}
			},
			"org.gnome.desktop.peripherals.mouse" : {
				"left-handed" : {
					"type" : "b",
					"data" : false
				},
				"double-click" : {
					"type" : "i",
					"data" : 400
				},
				"natural-scroll" : {
					"type" : "b",
					"data" : false
				},
				"middle-click-emulation" : {
					"type" : "b",
					"data" : false
				},
				"speed" : {
					"type" : "d",
					"data" : 0.000000000000000000000e+00
				},
				"accel-profile" : {
					"type" : "s",
					"data" : "default"
				},
				"drag-threshold" : {
					"type" : "i",
					"data" : 8
				}
			},
			"org.freedesktop.appearance" : {
				"contrast" : {
					"type" : "u",
					"data" : 0
				},
				"color-scheme" : {
					"type" : "u",
					"data" : 1
				}
			},
			"org.gnome.desktop.input-sources" : {
				"sources" : {
					"type" : "a(ss)",
					"data" : []
				},
				"mru-sources" : {
					"type" : "a(ss)",
					"data" : []
				},
				"show-all-sources" : {
					"type" : "b",
					"data" : false
				},
				"current" : {
					"type" : "u",
					"data" : 0
				},
				"xkb-options" : {
					"type" : "as",
					"data" : []
				},
				"xkb-model" : {
					"type" : "s",
					"data" : "pc105+inet"
				},
				"per-window" : {
					"type" : "b",
					"data" : false
				}
			},
			"org.gnome.desktop.calendar" : {
				"show-weekdate" : {
					"type" : "b",
					"data" : false
				}
			},
			"org.gnome.desktop.wm.preferences" : {
				"theme" : {
					"type" : "s",
					"data" : "Adwaita"
				},
				"focus-new-windows" : {
					"type" : "s",
					"data" : "smart"
				},
				"disable-workarounds" : {
					"type" : "b",
					"data" : false
				},
				"num-workspaces" : {
					"type" : "i",
					"data" : 4
				},
				"titlebar-uses-system-font" : {
					"type" : "b",
					"data" : true
				},
				"raise-on-click" : {
					"type" : "b",
					"data" : true
				},
				"titlebar-font" : {
					"type" : "s",
					"data" : "Adwaita Sans Bold 11"
				},
				"resize-with-right-button" : {
					"type" : "b",
					"data" : false
				},
				"auto-raise" : {
					"type" : "b",
					"data" : false
				},
				"action-right-click-titlebar" : {
					"type" : "s",
					"data" : "menu"
				},
				"mouse-button-modifier" : {
					"type" : "s",
					"data" : "<Super>"
				},
				"action-double-click-titlebar" : {
					"type" : "s",
					"data" : "toggle-maximize"
				},
				"workspace-names" : {
					"type" : "as",
					"data" : []
				},
				"visual-bell-type" : {
					"type" : "s",
					"data" : "fullscreen-flash"
				},
				"action-middle-click-titlebar" : {
					"type" : "s",
					"data" : "none"
				},
				"focus-mode" : {
					"type" : "s",
					"data" : "click"
				},
				"button-layout" : {
					"type" : "s",
					"data" : ":minimize,maximize,close"
				},
				"auto-raise-delay" : {
					"type" : "i",
					"data" : 500
				},
				"audible-bell" : {
					"type" : "b",
					"data" : true
				},
				"visual-bell" : {
					"type" : "b",
					"data" : false
				}
			}
		}
	]
}
```

This seems to be the related code?:

https://invent.kde.org/plasma/kde-gtk-config/-/blob/master/kded/gtkconfig.cpp?ref_type=heads#L99-106

Additionally, I'm not seeing anything regarding sub-pixel rendering, which I think should be changed for GTK as well?