aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Mason Larobina <mason.larobina@gmail.com>2009-11-11 18:54:11 +0800
committerGravatar Mason Larobina <mason.larobina@gmail.com>2009-11-11 18:54:11 +0800
commit8fc228378306fd809305b95bf5a7eea29211aa77 (patch)
treeb352fb66f524816d496b8d073109170a0416346e
parentf21741d8a9cf0297e07a94883bb776bbde1c9da9 (diff)
parent8d35b85b0bc2ed1fb429d08d6a77ca1a1a038f7a (diff)
Resolve uzbl-browser conflicts.
-rw-r--r--Makefile18
-rw-r--r--callbacks.c49
-rw-r--r--examples/config/uzbl/config8
-rwxr-xr-xexamples/data/uzbl/scripts/uzbl-cookie-daemon (renamed from examples/data/uzbl/scripts/cookie_daemon.py)0
-rwxr-xr-xexamples/data/uzbl/scripts/uzbl-event-manager (renamed from examples/data/uzbl/scripts/event_manager.py)0
-rwxr-xr-xexamples/data/uzbl/scripts/uzbl-tabbed (renamed from examples/data/uzbl/scripts/uzbl_tabbed.py)0
-rwxr-xr-xuzbl-browser4
-rw-r--r--uzbl-core.c1
8 files changed, 56 insertions, 24 deletions
diff --git a/Makefile b/Makefile
index 93e70e8..b0cb868 100644
--- a/Makefile
+++ b/Makefile
@@ -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