diff options
author | mutantturkey <crazycal00@gmail.com> | 2010-05-29 01:40:36 -0400 |
---|---|---|
committer | mutantturkey <crazycal00@gmail.com> | 2010-05-29 01:40:36 -0400 |
commit | 7044042b23b9ac38f925486ac89ca9075230bde6 (patch) | |
tree | c52d86aa36b38db72d4016b35a69639d80ce620b | |
parent | feff583dbc4eda02fcdab6a4bad87d56512fd861 (diff) |
focus fixups, also added history viewing with CTRL+ O, which spawns dmenus with a list
-rw-r--r-- | sb.c | 29 |
1 files changed, 12 insertions, 17 deletions
@@ -190,20 +190,20 @@ g_signal_connect (G_OBJECT (t->view), "create-web-view", G_CALLBACK (tab_new_req g_object_set_qdata_full(G_OBJECT(gtk_notebook_get_nth_page((GtkNotebook*)w.notebook, index)), term_data_id, t, NULL); -t->settings = webkit_web_settings_new (); -g_object_set (G_OBJECT(t->settings), "enable-java-applet", FALSE, NULL); -g_object_set (G_OBJECT(t->settings), "print-backgrounds", FALSE, NULL); -webkit_web_view_set_settings (WEBKIT_WEB_VIEW(t->view), t->settings); - gtk_widget_show_all(w.win); gtk_widget_hide(w.search); gtk_notebook_set_current_page(GTK_NOTEBOOK(w.notebook), index); -//gtk_widget_grab_focus(w.bar); -//gchar *url; -//g_spawn_command_line_sync("sh -c 'sort /home/calvin/.history | dmenu -l 15'", &url, NULL, NULL, NULL); -//load_uri(url); +gtk_widget_grab_focus(w.bar); +} + +static void history_command() { +gchar *url; +g_spawn_command_line_sync("sh -c 'sort /home/calvin/.history | dmenu -l 15'", &url, NULL, NULL, NULL); +load_uri(url); +g_free(url); } + static void tab_focus(GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer user_data) { struct tab *t = get_tab(NULL, page_num); const char *url = webkit_web_view_get_uri(t->view); @@ -225,12 +225,6 @@ static void config() { term_data_id = g_quark_from_static_string("sb"); -//FILE *history = fopen("/home/calvin/.history", "a+"); - -//fscanf(history, "%s %s\n", a, b); - -//fclose(history); -//printf("%s %s \n", a, b); w.vbox = gtk_vbox_new(FALSE, 0); w.notebook = gtk_notebook_new(); w.bar = gtk_entry_new (); @@ -275,10 +269,11 @@ switch(g) { case GDK_f: show_search(TRUE); return TRUE; break; case GDK_j: go_cb(FALSE); return TRUE; break; case GDK_k: go_cb(TRUE); return TRUE; break; + case GDK_o: history_command(); return TRUE; break; case GDK_h: toggle(); focus_view(); return TRUE; break; case GDK_Page_Up: tab_switch(FALSE); return TRUE; break; case GDK_Page_Down: tab_switch(TRUE); return TRUE; break; - case GDK_t: tab_new(); return TRUE; break; + case GDK_t: tab_new(); gtk_widget_grab_focus(w.bar); return TRUE; break; case GDK_w: tab_close(); focus_view(); return TRUE; break; case GDK_bracketright: tab_zoom(TRUE); return TRUE; break; case GDK_bracketleft: tab_zoom(FALSE); return TRUE; break; @@ -311,7 +306,7 @@ if (g == GDK_Return) { if (gtk_widget_has_focus(w.bar) && g == GDK_Escape) { gtk_widget_grab_focus(GTK_WIDGET(w.notebook)); return TRUE; } if (gtk_widget_has_focus(w.search)) { - if (g == GDK_Escape) { show_search(FALSE); return TRUE; } + if (g == GDK_Escape) { show_search(FALSE); focus_view(); return TRUE; } if ((g == GDK_Return) && (event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK) { search(NULL, FALSE); } } return FALSE; |