diff options
author | Mason Larobina <mason.larobina@gmail.com> | 2009-11-11 18:54:11 +0800 |
---|---|---|
committer | Mason Larobina <mason.larobina@gmail.com> | 2009-11-11 18:54:11 +0800 |
commit | 8fc228378306fd809305b95bf5a7eea29211aa77 (patch) | |
tree | b352fb66f524816d496b8d073109170a0416346e | |
parent | f21741d8a9cf0297e07a94883bb776bbde1c9da9 (diff) | |
parent | 8d35b85b0bc2ed1fb429d08d6a77ca1a1a038f7a (diff) |
Resolve uzbl-browser conflicts.
-rw-r--r-- | Makefile | 18 | ||||
-rw-r--r-- | callbacks.c | 49 | ||||
-rw-r--r-- | examples/config/uzbl/config | 8 | ||||
-rwxr-xr-x | examples/data/uzbl/scripts/uzbl-cookie-daemon (renamed from examples/data/uzbl/scripts/cookie_daemon.py) | 0 | ||||
-rwxr-xr-x | examples/data/uzbl/scripts/uzbl-event-manager (renamed from examples/data/uzbl/scripts/event_manager.py) | 0 | ||||
-rwxr-xr-x | examples/data/uzbl/scripts/uzbl-tabbed (renamed from examples/data/uzbl/scripts/uzbl_tabbed.py) | 0 | ||||
-rwxr-xr-x | uzbl-browser | 4 | ||||
-rw-r--r-- | uzbl-core.c | 1 |
8 files changed, 56 insertions, 24 deletions
@@ -62,11 +62,11 @@ test-dev: uzbl-core XDG_DATA_HOME=./examples/data XDG_CONFIG_HOME=./examples/config ./uzbl-core --uri http://www.uzbl.org --verbose test-dev-browser: uzbl-browser - XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/cookie_daemon.py start -nv & - XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/event_manager.py start -nv & + XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/uzbl-cookie-daemon start -nv & + XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/uzbl-event-manager start -nv & XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:`pwd`/examples/data/uzbl/scripts/:$$PATH" ./uzbl-browser --uri http://www.uzbl.org --verbose - XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/cookie_daemon.py stop -v - XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/event_manager.py stop -v + XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/uzbl-cookie-daemon stop -v + XDG_DATA_HOME=./examples/data XDG_CACHE_HOME=./examples/cache XDG_CONFIG_HOME=./examples/config PATH="`pwd`:$$PATH" ./examples/data/uzbl/scripts/uzbl-event-manager stop -v test-share: uzbl-core XDG_DATA_HOME=${INSTALLDIR}/share/uzbl/examples/data XDG_CONFIG_HOME=${INSTALLDIR}/share/uzbl/examples/config ./uzbl-core --uri http://www.uzbl.org --verbose @@ -98,17 +98,15 @@ install-uzbl-core: all install-uzbl-browser: all install -d $(INSTALLDIR)/bin install -m755 uzbl-browser $(INSTALLDIR)/bin/uzbl-browser - install -m755 examples/data/uzbl/scripts/cookie_daemon.py $(INSTALLDIR)/bin/cookie_daemon.py - install -m755 examples/data/uzbl/scripts/event_manager.py $(INSTALLDIR)/bin/event_manager.py + install -m755 examples/data/uzbl/scripts/uzbl-cookie-daemon $(INSTALLDIR)/bin/uzbl-cookie-daemon + install -m755 examples/data/uzbl/scripts/uzbl-event-manager $(INSTALLDIR)/bin/uzbl-event-manager sed -i 's#^PREFIX=.*#PREFIX=$(PREFIX)#' $(INSTALLDIR)/bin/uzbl-browser - sed -i "s#^PREFIX = None#PREFIX = '$(PREFIX)'#" $(INSTALLDIR)/bin/event_manager.py + sed -i "s#^PREFIX = None#PREFIX = '$(PREFIX)'#" $(INSTALLDIR)/bin/uzbl-event-manager install-uzbl-tabbed: all install -d $(INSTALLDIR)/bin - install -m755 examples/data/uzbl/scripts/uzbl_tabbed.py $(INSTALLDIR)/bin/uzbl-tabbed + install -m755 examples/data/uzbl/scripts/uzbl-tabbed $(INSTALLDIR)/bin/uzbl-tabbed uninstall: rm -rf $(INSTALLDIR)/bin/uzbl-* - rm -rf $(INSTALLDIR)/bin/cookie_daemon.py - rm -rf $(INSTALLDIR)/bin/event_manager.py rm -rf $(INSTALLDIR)/share/uzbl diff --git a/callbacks.c b/callbacks.c index db738f7..18ea2e0 100644 --- a/callbacks.c +++ b/callbacks.c @@ -475,41 +475,68 @@ button_press_cb (GtkWidget* window, GdkEventButton* event) { (void) window; gint context; gchar *details; + gboolean propagate = FALSE, + sendev = FALSE; if(event->type == GDK_BUTTON_PRESS) { if(uzbl.state.last_button) gdk_event_free((GdkEvent *)uzbl.state.last_button); uzbl.state.last_button = (GdkEventButton *)gdk_event_copy((GdkEvent *)event); + context = get_click_context(NULL); /* left click */ if(event->button == 1) { - context = get_click_context(); - if((context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)) send_event(FORM_ACTIVE, "button1", NULL); else if((context & WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT)) send_event(ROOT_ACTIVE, "button1", NULL); } - details = g_strdup_printf("Button%d", event->button); - send_event(KEY_PRESS, details, NULL); - g_free(details); + else if(event->button == 2 && !(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)) { + sendev = TRUE; + propagate = TRUE; + } + else if(event->button > 3) { + sendev = TRUE; + propagate = TRUE; + } + + if(sendev) { + details = g_strdup_printf("Button%d", event->button); + send_event(KEY_PRESS, details, NULL); + g_free(details); + } } - return FALSE; + return propagate; } gboolean button_release_cb (GtkWidget* window, GdkEventButton* event) { (void) window; + gint context; gchar *details; + gboolean propagate = FALSE, + sendev = FALSE; + context = get_click_context(NULL); if(event->type == GDK_BUTTON_RELEASE) { - details = g_strdup_printf("Button%d", event->button); - send_event(KEY_RELEASE, details, NULL); - g_free(details); + if(event->button == 2 && !(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)) { + sendev = TRUE; + propagate = TRUE; + } + else if(event->button > 3) { + sendev = TRUE; + propagate = TRUE; + } + + if(sendev) { + details = g_strdup_printf("Button%d", event->button); + send_event(KEY_RELEASE, details, NULL); + g_free(details); + } } - return FALSE; + return propagate; } gboolean @@ -645,7 +672,7 @@ populate_popup_cb(WebKitWebView *v, GtkMenu *m, void *c) { return; /* check context */ - if((context = get_click_context()) == -1) + if((context = get_click_context(NULL)) == -1) return; diff --git a/examples/config/uzbl/config b/examples/config/uzbl/config index 32bb13c..090ebd2 100644 --- a/examples/config/uzbl/config +++ b/examples/config/uzbl/config @@ -108,11 +108,17 @@ set socket_dir = /tmp @modmap space Space -# === Keyboard bindings ====================================================== +# === Keyboard & Mouse bindings ====================================================== # With this command you can enter in any command at runtime when prefixed with # a colon. @bind :_ = chain '%s' + +# Middle click +# if clicked on a link open the link in a new uzbl window +# otherwise open the selection in the current window +@bind <Button2> = sh 'if [ "\@SELECTED_URI" ]; then uzbl-browser -u \@SELECTED_URI; else echo "uri $(xclip -o)" > $4; fi' + @bind j = scroll vertical 20 @bind <Page_Down> = scroll vertical 100% @bind k = scroll vertical -20 diff --git a/examples/data/uzbl/scripts/cookie_daemon.py b/examples/data/uzbl/scripts/uzbl-cookie-daemon index 87a2e87..87a2e87 100755 --- a/examples/data/uzbl/scripts/cookie_daemon.py +++ b/examples/data/uzbl/scripts/uzbl-cookie-daemon diff --git a/examples/data/uzbl/scripts/event_manager.py b/examples/data/uzbl/scripts/uzbl-event-manager index dee42c5..dee42c5 100755 --- a/examples/data/uzbl/scripts/event_manager.py +++ b/examples/data/uzbl/scripts/uzbl-event-manager diff --git a/examples/data/uzbl/scripts/uzbl_tabbed.py b/examples/data/uzbl/scripts/uzbl-tabbed index bb9b9a2..bb9b9a2 100755 --- a/examples/data/uzbl/scripts/uzbl_tabbed.py +++ b/examples/data/uzbl/scripts/uzbl-tabbed diff --git a/uzbl-browser b/uzbl-browser index 2fc14d5..eebf9e3 100755 --- a/uzbl-browser +++ b/uzbl-browser @@ -52,7 +52,7 @@ fi #if [ ! -S $XDG_CACHE_HOME/uzbl/cookie_daemon_socket ] #then # if you want to customize it, copy to your $XDG_DATA_HOME/uzbl/scripts/ and update $PATH - cookie_daemon.py -v + uzbl-cookie-daemon -v start #fi DAEMON_SOCKET=$XDG_CACHE_HOME/uzbl/event_daemon @@ -60,7 +60,7 @@ DAEMON_PID=${DAEMON_SOCKET}.pid #if [ -f "$DAEMON_PID" ] #then - event_manager.py -va start + uzbl-event-manager -va start #fi uzbl-core "$@" --connect-socket $DAEMON_SOCKET | grep -v ^EVENT diff --git a/uzbl-core.c b/uzbl-core.c index 5f4e136..146642c 100644 --- a/uzbl-core.c +++ b/uzbl-core.c @@ -507,6 +507,7 @@ void catch_sigterm(int s) { (void) s; clean_up(); + exit(EXIT_SUCCESS); } void |