aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl.c
diff options
context:
space:
mode:
authorGravatar Dieter Plaetinck <dieter@plaetinck.be>2009-05-03 11:13:11 +0200
committerGravatar Dieter Plaetinck <dieter@plaetinck.be>2009-05-03 11:13:11 +0200
commitc03a12dbda40090e77ff8bee952a500997870dc1 (patch)
tree937e8ae6350991b906722776c90b9b963ecf9830 /uzbl.c
parent0536ddbc7d0b2b749664ec148d6a1d3be5973390 (diff)
parentbf2026cfd20fc2f0a8ea67f6a81816734f625473 (diff)
Merge branch 'dus/master' into experimental
Diffstat (limited to 'uzbl.c')
-rw-r--r--uzbl.c48
1 files changed, 32 insertions, 16 deletions
diff --git a/uzbl.c b/uzbl.c
index c28b18c..4793dd3 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -307,20 +307,20 @@ VIEWFUNC(go_forward)
static struct {char *name; Command command;} cmdlist[] =
{
- { "back", view_go_back },
- { "forward", view_go_forward },
- { "scroll_vert", scroll_vert },
- { "scroll_horz", scroll_horz },
- { "reload", view_reload, }, //Buggy
- { "refresh", view_reload, }, /* for convenience, will change */
- { "stop", view_stop_loading, },
- { "zoom_in", view_zoom_in, }, //Can crash (when max zoom reached?).
- { "zoom_out", view_zoom_out, },
- { "uri", load_uri },
- { "toggle_status", toggle_status_cb },
- { "spawn", spawn },
- { "exit", close_uzbl },
- { "insert_mode", set_insert_mode }
+ { "back", view_go_back },
+ { "forward", view_go_forward },
+ { "scroll_vert", scroll_vert },
+ { "scroll_horz", scroll_horz },
+ { "reload", view_reload, }, //Buggy
+ { "refresh", view_reload, }, /* for convenience, will change */
+ { "stop", view_stop_loading, },
+ { "zoom_in", view_zoom_in, }, //Can crash (when max zoom reached?).
+ { "zoom_out", view_zoom_out, },
+ { "uri", load_uri },
+ { "toggle_status", toggle_status_cb },
+ { "spawn", spawn },
+ { "exit", close_uzbl },
+ { "insert_mode", set_insert_mode }
};
static void
@@ -668,7 +668,7 @@ update_title (void) {
g_free (title_long);
g_free (title_short);
}
-
+
static gboolean
key_press_cb (WebKitWebView* page, GdkEventKey* event)
{
@@ -688,7 +688,7 @@ key_press_cb (WebKitWebView* page, GdkEventKey* event)
return TRUE;
}
- if (insert_mode && event->state != modmask)
+ if (insert_mode && (event->state & modmask))
return FALSE;
if (event->keyval == GDK_Escape) {
@@ -697,6 +697,22 @@ key_press_cb (WebKitWebView* page, GdkEventKey* event)
return TRUE;
}
+ //Insert without shift - insert from clipboard; Insert with shift - insert from primary
+ if (event->keyval == GDK_Insert) {
+ gchar * str;
+ if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) {
+ str = gtk_clipboard_wait_for_text (gtk_clipboard_get (GDK_SELECTION_PRIMARY));
+ } else {
+ str = gtk_clipboard_wait_for_text (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD));
+ }
+ if (str) {
+ g_string_append_printf (keycmd, "%s", str);
+ update_title ();
+ free (str);
+ }
+ return TRUE;
+ }
+
if ((event->keyval == GDK_BackSpace) && (keycmd->len > 0)) {
g_string_truncate(keycmd, keycmd->len - 1);
update_title();