summaryrefslogtreecommitdiff
path: root/toys
diff options
context:
space:
mode:
authorAssaf Gordon <assafgordon@gmail.com>2012-07-20 11:41:25 -0400
committerAssaf Gordon <assafgordon@gmail.com>2012-07-20 11:41:25 -0400
commit808fee41c363cf0eab2aaf721bf4e6d7d73bd99a (patch)
treeadb3f85c1615ad7166ae6914da9ac9a46a32287b /toys
parent3c8bc3e68e6ba5eb55a9f4079cf790a9a88c63ff (diff)
mug,mug2: add ESC shortcut to focus on query bar.
Diffstat (limited to 'toys')
-rw-r--r--toys/mug/mug.c13
-rw-r--r--toys/mug2/mug.c13
2 files changed, 26 insertions, 0 deletions
diff --git a/toys/mug/mug.c b/toys/mug/mug.c
index 846c9c3..a7c32e8 100644
--- a/toys/mug/mug.c
+++ b/toys/mug/mug.c
@@ -22,6 +22,7 @@
#endif /*HAVE_CONFIG*/
#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
#include <string.h> /* for memset */
#include "mu-util.h"
@@ -362,6 +363,16 @@ mug_shell (MugData * mugdata)
return mugdata->win;
}
+static gint
+on_focus_query_bar (GtkWidget* ignored, GdkEventKey *event, MugData* mugdata)
+{
+ if (event->type==GDK_KEY_RELEASE && event->keyval==GDK_KEY_Escape) {
+ mug_query_bar_grab_focus (MUG_QUERY_BAR (mugdata->querybar));
+ return 1;
+ }
+ return 0;
+}
+
int
main (int argc, char *argv[])
{
@@ -390,6 +401,8 @@ main (int argc, char *argv[])
mugshell = mug_shell (&mugdata);
g_signal_connect (G_OBJECT (mugshell), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (G_OBJECT (mugshell), "key_release_event",
+ G_CALLBACK ( on_focus_query_bar ), (gpointer)&mugdata );
gtk_widget_show (mugshell);
mug_query_bar_grab_focus (MUG_QUERY_BAR (mugdata.querybar));
diff --git a/toys/mug2/mug.c b/toys/mug2/mug.c
index 74c11ad..b2a42de 100644
--- a/toys/mug2/mug.c
+++ b/toys/mug2/mug.c
@@ -22,6 +22,7 @@
#endif /*HAVE_CONFIG*/
#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
#include <string.h> /* for memset */
#include <mu-util.h>
@@ -366,6 +367,16 @@ mug_shell (MugData * mugdata)
return mugdata->win;
}
+static gint
+on_focus_query_bar (GtkWidget* ignored, GdkEventKey *event, MugData* mugdata)
+{
+ if (event->type==GDK_KEY_RELEASE && event->keyval==GDK_KEY_Escape) {
+ mug_query_bar_grab_focus (MUG_QUERY_BAR (mugdata->querybar));
+ return 1;
+ }
+ return 0;
+}
+
int
main (int argc, char *argv[])
{
@@ -396,6 +407,8 @@ main (int argc, char *argv[])
mugshell = mug_shell (&mugdata);
g_signal_connect (G_OBJECT (mugshell), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (G_OBJECT (mugshell), "key_release_event",
+ G_CALLBACK ( on_focus_query_bar ), (gpointer)&mugdata );
gtk_widget_show (mugshell);
mug_query_bar_grab_focus (MUG_QUERY_BAR (mugdata.querybar));