Add middle-click-to-open-tab plugin
-LoadProgress
-Vimish
-FFNav
-DefaultPage
+Plugin LoadProgress
+Plugin Vimish
+Plugin FFNav
+Plugin MiddleClickOpen
+Plugin DefaultPage
CSFLAGS = -debug
references = -r:../webkit-sharp.dll -pkg:gtk-sharp-2.0
-all: Vimish.dll FFNav.dll DefaultPage.dll LoadProgress.dll
+all: Vimish.dll FFNav.dll DefaultPage.dll LoadProgress.dll MiddleClickOpen.dll
clean:
rm -f *.dll *.mdb *.so
+using System;
+using Gtk;
+using WebKit;
+using bytex64.WebThing;
+
+public class MiddleClickOpen : WebThingPlugin {
+ private string LinkUri = null;
+ private WebThing wt;
+
+ public override void Init(WebThing wt) {
+ this.wt = wt;
+ }
+
+ public override void InitWebView(WebView wv) {
+ wv.HoveringOverLink += delegate(object o, HoveringOverLinkArgs e) {
+ LinkUri = e.Link;
+ };
+
+ wv.ButtonReleaseEvent += WebView_ButtonRelease;
+ }
+
+ private void WebView_ButtonRelease(object o, Gtk.ButtonReleaseEventArgs e) {
+ if (e.Event.Button == 2) {
+ if (LinkUri != null) {
+ wt.OpenUriTab(LinkUri);
+ wt.WebView.StopLoading();
+ e.RetVal = true; // WHY DOESN'T THIS WORK!?
+ }
+ }
+ }
+}