aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--examples/configs/sampleconfig1
-rw-r--r--examples/configs/sampleconfig-dev1
-rw-r--r--uzbl.c17
3 files changed, 17 insertions, 2 deletions
diff --git a/examples/configs/sampleconfig b/examples/configs/sampleconfig
index b5d598a..230ef30 100644
--- a/examples/configs/sampleconfig
+++ b/examples/configs/sampleconfig
@@ -34,6 +34,7 @@ w = follow_link_new_window
- = zoom_out
t = toggle_status
k = exit
+i = insert_mode
B = spawn /bin/bash /usr/share/uzbl/examples/scripts/insert_bookmark.sh
u = spawn /bin/bash /usr/share/uzbl/examples/scripts/load_url_from_history.sh
U = spawn /bin/bash /usr/share/uzbl/examples/scripts/load_url_from_bookmarks.sh
diff --git a/examples/configs/sampleconfig-dev b/examples/configs/sampleconfig-dev
index 3953d79..35e7746 100644
--- a/examples/configs/sampleconfig-dev
+++ b/examples/configs/sampleconfig-dev
@@ -34,6 +34,7 @@ w = follow_link_new_window
- = zoom_out
t = toggle_status
k = exit
+i = insert_mode
B = spawn /bin/bash ./examples/scripts/insert_bookmark.sh
u = spawn /bin/bash ./examples/scripts/load_url_from_history.sh
U = spawn /bin/bash ./examples/scripts/load_url_from_bookmarks.sh
diff --git a/uzbl.c b/uzbl.c
index ec16590..f3c6588 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -131,6 +131,9 @@ free_action(gpointer action);
static Action*
new_action(const gchar *name, const gchar *param);
+static void
+set_insert_mode(WebKitWebView *page, const gchar *param);
+
/* --- CALLBACKS --- */
@@ -278,6 +281,7 @@ static struct {char *name; Command command;} cmdlist[] =
{ "toggle_status", toggle_status_cb },
{ "spawn", spawn },
{ "exit", close_uzbl },
+ { "insert_mode", set_insert_mode }
};
static void
@@ -324,6 +328,15 @@ file_exists (const char * filename) {
return false;
}
+void
+set_insert_mode(WebKitWebView *page, const gchar *param) {
+ (void)page;
+ (void)param;
+
+ insert_mode = TRUE;
+ update_title (GTK_WINDOW (main_window));
+}
+
static void
load_uri (WebKitWebView * web_view, const gchar *param) {
if (param) {
@@ -566,8 +579,8 @@ key_press_cb (WebKitWebView* page, GdkEventKey* event)
|| event->keyval == GDK_Up || event->keyval == GDK_Down || event->keyval == GDK_Left || event->keyval == GDK_Right)
return FALSE;
- //TURN OFF/ON INSERT MODE
- if ((insert_mode && (event->keyval == GDK_Escape)) || (!insert_mode && (event->string[0] == 'i') && !keycmd->len)) {
+ /* turn of insert mode */
+ if (insert_mode && (event->keyval == GDK_Escape)) {
insert_mode = !insert_mode || always_insert_mode;
update_title (GTK_WINDOW (main_window));
return TRUE;