diff options
| author | Assaf Gordon <assafgordon@gmail.com> | 2012-07-20 11:41:25 -0400 |
|---|---|---|
| committer | Assaf Gordon <assafgordon@gmail.com> | 2012-07-20 11:41:25 -0400 |
| commit | 808fee41c363cf0eab2aaf721bf4e6d7d73bd99a (patch) | |
| tree | adb3f85c1615ad7166ae6914da9ac9a46a32287b /toys | |
| parent | 3c8bc3e68e6ba5eb55a9f4079cf790a9a88c63ff (diff) | |
mug,mug2: add ESC shortcut to focus on query bar.
Diffstat (limited to 'toys')
| -rw-r--r-- | toys/mug/mug.c | 13 | ||||
| -rw-r--r-- | toys/mug2/mug.c | 13 |
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)); |
