summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/gdm-runtime-config.c (renamed from utils/gdm-disable-wayland.c)28
-rw-r--r--utils/meson.build10
2 files changed, 30 insertions, 8 deletions
diff --git a/utils/gdm-disable-wayland.c b/utils/gdm-runtime-config.c
index be61c4d8..8034a2e5 100644
--- a/utils/gdm-disable-wayland.c
+++ b/utils/gdm-runtime-config.c
@@ -31,21 +31,43 @@ main (int argc, char *argv[])
{
g_autoptr(GKeyFile) key_file = NULL;
g_autoptr(GError) error = NULL;
+ gchar *group, *key, *value;
gboolean saved_okay;
+ if (argc < 5 || g_strcmp0(argv[1], "set") != 0) {
+ g_printerr("gdm-runtime-config: command format should be " \
+ "'gdm-runtime-config set <group> <key> <value>'\n" \
+ "For example, 'gdm-runtime-config set daemon WaylandEnable true'");
+ return EX_USAGE;
+ }
+
+ group = argv[2];
+ key = argv[3];
+ value = argv[4];
+
setlocale (LC_ALL, "");
key_file = g_key_file_new ();
- g_key_file_set_boolean (key_file, "daemon", "WaylandEnable", FALSE);
+ /* Just load the runtime conf file and ignore the error. A new file
+ * will be created later if it is file not found.
+ * So that more than one config item can be set.
+ */
+ g_key_file_load_from_file (key_file,
+ GDM_RUNTIME_CONF,
+ G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS,
+ &error);
+ g_clear_error (&error);
+
+ g_key_file_set_value (key_file, group, key, value);
g_mkdir_with_parents (GDM_RUN_DIR, 0711);
saved_okay = g_key_file_save_to_file (key_file, GDM_RUNTIME_CONF, &error);
if (!saved_okay) {
- g_printerr ("gdm-disable-wayland: unable to disable wayland: %s",
- error->message);
+ g_printerr ("gdm-runtime-config: unable to set '%s' in '%s' group to '%s': %s",
+ key, group, value, error->message);
return EX_CANTCREAT;
}
diff --git a/utils/meson.build b/utils/meson.build
index f719c49d..d59f167b 100644
--- a/utils/meson.build
+++ b/utils/meson.build
@@ -26,14 +26,14 @@ gdm_screenshot = executable('gdm-screenshot',
install: true,
)
-# gdm-disable-wayland
-gdm_disable_wayland_deps = [
+# gdm-runtime-config
+gdm_runtime_config_deps = [
glib_dep,
]
-gdm_disable_wayland = executable('gdm-disable-wayland',
- 'gdm-disable-wayland.c',
- dependencies: gdm_disable_wayland_deps,
+gdm_runtime_config = executable('gdm-runtime-config',
+ 'gdm-runtime-config.c',
+ dependencies: gdm_runtime_config_deps,
include_directories: config_h_dir,
install: true,
install_dir: get_option('libexecdir'),