From a6982bcc3bf7dce09be61eb09fba946ef5c92b30 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?=
Date: Thu, 16 Sep 2021 19:43:36 +0200
Subject: [PATCH] Make and quit, update README
---
README.adoc | 3 +++
fastiv.c | 8 ++++++++
2 files changed, 11 insertions(+)
diff --git a/README.adoc b/README.adoc
index ed5f29f..111380d 100644
--- a/README.adoc
+++ b/README.adoc
@@ -29,6 +29,9 @@ Low priority:
- display 16-bit pictures smoothly, using the 30-bit depth under X.org
- make RAW as fast as it can possibly be
- load everything that resembles a picture, potentially even play video
+ - port to something less hostile than the current GNOME stack, such as SDL,
+ although it may involve a lot of reimplemented code,
+ or result in reduced functionality
Non-goals:
diff --git a/fastiv.c b/fastiv.c
index 82d518b..98bdf91 100644
--- a/fastiv.c
+++ b/fastiv.c
@@ -84,6 +84,14 @@ main(int argc, char *argv[])
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_container_add(GTK_CONTAINER(window), view);
+ // The references to closures are initially floating and sunk on connect.
+ GtkAccelGroup *accel_group = gtk_accel_group_new();
+ gtk_accel_group_connect(accel_group, GDK_KEY_Escape, 0, 0,
+ g_cclosure_new(G_CALLBACK(gtk_main_quit), NULL, NULL));
+ gtk_accel_group_connect(accel_group, GDK_KEY_q, 0, 0,
+ g_cclosure_new(G_CALLBACK(gtk_main_quit), NULL, NULL));
+ gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
+
// TODO(p): Load directory entries, store in `g`.
// - Only when there's just one filename.
// - stat() it if it's a dictionary or a filename;