aboutsummaryrefslogtreecommitdiff
path: root/sb.c
diff options
context:
space:
mode:
Diffstat (limited to 'sb.c')
-rw-r--r--sb.c29
1 files changed, 12 insertions, 17 deletions
diff --git a/sb.c b/sb.c
index cf4f50a..ca3e00b 100644
--- a/sb.c
+++ b/sb.c
@@ -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;