Ich habe versucht,Puppenzwergum benutzerdefinierte Tastaturkürzel zu erstellen, ohne Erfolg. Ich habe das folgende Schema:
class keyboard_shortcuts {
$schema_root = 'org.gnome.settings-daemon.plugins.media-keys'
$custom_keybinding_schema = "${schema_root}.custom-keybinding"
$first_key = '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/'
$first_schema = "${custom_keybinding_schema}:${first_key}"
gnome::gsettings { $schema_root:
schema => $schema_root,
key => 'custom-keybindings',
value => [
"'${first_key}'"
],
}
gnome::gsettings { "${custom_keybinding_schema}_name":
schema => $first_schema,
key => 'name',
value => 'Terminal',
}
gnome::gsettings { "${custom_keybinding_schema}_command":
schema => $first_schema,
key => 'command',
value => '/usr/bin/terminator',
}
gnome::gsettings { "${custom_keybinding_schema}_binding":
schema => $first_schema,
key => 'binding',
value => '<Ctrl><Alt>T',
}
}
Dabei werden folgende Dateien erstellt:
$ ls /usr/share/glib-2.0/schemas/25_*
/usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.custom-keybinding_binding.gschema.override /usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.gschema.override
/usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.custom-keybinding_command.gschema.override '/usr/share/glib-2.0/schemas/25_Raise window on click.gschema.override'
/usr/share/glib-2.0/schemas/25_org.gnome.settings-daemon.plugins.media-keys.custom-keybinding_name.gschema.override
$ sudo cat /usr/share/glib-2.0/schemas/25_*
[org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/]
binding = <Ctrl><Alt>T
[org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/]
command = /usr/bin/terminator
[org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/]
name = Terminal
[org.gnome.settings-daemon.plugins.media-keys]
custom-keybindings = ['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
[org.gnome.desktop.wm.preferences]
raise-on-click = true
Im Applet „Tastatur“ wird mir diese Tastenkombination jedoch nicht angezeigt. Wenn ich eine Tastenkombination manuell erstelle und das Manifest anwende, wird die vorhandene Tastenkombination nicht einmal gelöscht. Muss ich die Überschreibungen woanders erstellen? Ich habe es versucht, /usr/share/GConf/gsettings
weil mir das für solche Dateien als natürlicherer Ort erscheint, aber es geht nicht.
Ich habe auch versucht, digest
anstelle von den Kurznamen zu verwenden custom0
. Das Schema wurde erfolgreich kompiliert, aber es geht trotzdem nicht:
$ strings /usr/share/glib-2.0/schemas/gschemas.compiled | grep custom-keybindings/
/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/514d8a494f087c0d549b9536c2ef3bd9/
Antwort1
Sieht so aus, als ob Sie verwenden sollten gsettings
. Schauen Sie sich andiese Antwortfür Details.