Tuner.Setting
The main binding: connects a widget to a GSettings key. The sync is two-way — changing the widget writes the key, changing the key (e.g. from a terminal) updates the widget.
| Property | Type | Description |
|---|---|---|
schema-id | string | GSettings schema id |
schema-key | string | Key inside the schema |
transform | SettingTransform | Optional value transform |
validator | Validator | Reaction to a missing schema, see below |
blp
Tuner.Switch {
title: _("Over Amplification");
binding: Tuner.Setting {
schema-id: "org.gnome.desktop.sound";
schema-key: "allow-volume-above-100-percent";
};
}A reset button appears next to the row automatically when the key value differs from the schema default.
Missing schemas and validation
If the schema or key does not exist on the user's system, the binding stays silently inactive: the row is shown, but does nothing. Add Tuner.SimpleValidator to handle this case:
blp
binding: Tuner.Setting {
schema-id: "org.gnome.shell.extensions.example";
schema-key: "enabled";
validator: Tuner.SimpleValidator {
method: visibility;
};
};method is one of:
sensitivity— the row is greyed out when the schema is missing (default);visibility— the row is hidden.
This is the recommended way to write plugins that work across distributions where some components may not be installed.