From 8c6fe0ad321a263ee56a3d6439d7b99630a1755c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?=
Date: Fri, 5 Aug 2022 09:57:39 +0200
Subject: Integrate dconf-editor
This is a more than adequate solution for now.
---
fiv.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
(limited to 'fiv.c')
diff --git a/fiv.c b/fiv.c
index 723780e..57fee50 100644
--- a/fiv.c
+++ b/fiv.c
@@ -82,6 +82,7 @@ struct key_section {
static struct key help_keys_general[] = {
{"F1", "Show help"},
{"F10", "Open menu"},
+ {"comma", "Preferences"},
{"question", "Keyboard shortcuts"},
{"q q", "Quit"},
{"w", "Quit"},
@@ -1126,6 +1127,20 @@ show_help_shortcuts(void)
gtk_widget_show(window);
}
+static void
+show_preferences(void)
+{
+ char *argv[] = {"dconf-editor", PROJECT_NS PROJECT_NAME, NULL};
+ GError *error = NULL;
+ if (!g_spawn_async(
+ NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &error)) {
+ if (g_error_matches(error, G_SPAWN_ERROR, G_SPAWN_ERROR_NOENT))
+ g_prefix_error_literal(&error,
+ "Please install dconf-editor, or use the gsettings utility.\n");
+ show_error_dialog(error);
+ }
+}
+
static void
toggle_sunlight(void)
{
@@ -1182,6 +1197,9 @@ on_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event,
case GDK_KEY_question:
show_help_shortcuts();
return TRUE;
+ case GDK_KEY_comma:
+ show_preferences();
+ return TRUE;
}
break;
case GDK_MOD1_MASK:
--
cgit v1.2.3