Eu tenho tentado usar o puppet-gnome para criar atalhos de teclado personalizados, sem sorte. Eu tenho o seguinte esquema:
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',
}
}
Isso cria os seguintes arquivos:
$ 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
No entanto, no miniaplicativo "Teclado", não vejo este atalho de teclado. Se eu criar um atalho de teclado manualmente e aplicar o manifesto, ele nem se livrará do atalho existente. Preciso criar as substituições em outro lugar? Eu tentei /usr/share/GConf/gsettings
porque isso parece um lugar mais natural para esses arquivos, mas não vá.
Eu também tentei usar digest
do nome do atalho em vez de custom0
. O esquema compilado com sucesso, mas ainda sem ir:
$ strings /usr/share/glib-2.0/schemas/gschemas.compiled | grep custom-keybindings/
/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/514d8a494f087c0d549b9536c2ef3bd9/