Integrate dconf-editor

This is a more than adequate solution for now.
This commit is contained in:
Přemysl Eric Janouch 2022-08-05 09:57:39 +02:00
parent ca51c9413b
commit 8c6fe0ad32
Signed by: p
GPG Key ID: A0420B94F92B9493
2 changed files with 23 additions and 5 deletions

View File

@ -95,16 +95,16 @@ rm -rf ~/.cache/thumbnails/wide-*
<h2>Configuration</h2> <h2>Configuration</h2>
<p>The few configuration options <i>fiv</i> has can be adjusted using <p>The few configuration options <i>fiv</i> has can be adjusted using
<i>dconf-editor</i> or <i>gsettings</i>. <i>dconf-editor</i>, which can be launched in the appropriate location from
within the application by pressing Ctrl+,. For command line usage, there is
<pre> the <i>gsettings</i> utility:
dconf-editor name.janouch.fiv
</pre>
<pre> <pre>
gsettings list-recursively name.janouch.fiv gsettings list-recursively name.janouch.fiv
</pre> </pre>
<p>To make your changes take effect, restart <i>fiv</i>.
<h3>Theming</h3> <h3>Theming</h3>
<p>The standard means to adjust the looks of the program is through GTK+ 3 CSS. <p>The standard means to adjust the looks of the program is through GTK+ 3 CSS.

18
fiv.c
View File

@ -82,6 +82,7 @@ struct key_section {
static struct key help_keys_general[] = { static struct key help_keys_general[] = {
{"F1", "Show help"}, {"F1", "Show help"},
{"F10", "Open menu"}, {"F10", "Open menu"},
{"<Control>comma", "Preferences"},
{"<Control>question", "Keyboard shortcuts"}, {"<Control>question", "Keyboard shortcuts"},
{"q <Control>q", "Quit"}, {"q <Control>q", "Quit"},
{"<Control>w", "Quit"}, {"<Control>w", "Quit"},
@ -1126,6 +1127,20 @@ show_help_shortcuts(void)
gtk_widget_show(window); 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 static void
toggle_sunlight(void) toggle_sunlight(void)
{ {
@ -1182,6 +1197,9 @@ on_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event,
case GDK_KEY_question: case GDK_KEY_question:
show_help_shortcuts(); show_help_shortcuts();
return TRUE; return TRUE;
case GDK_KEY_comma:
show_preferences();
return TRUE;
} }
break; break;
case GDK_MOD1_MASK: case GDK_MOD1_MASK: