From fc831a2ef0ae342cc73dee301e051bcfbbbeb82c Mon Sep 17 00:00:00 2001 From: Chip Black Date: Wed, 10 Jun 2009 03:41:22 -0500 Subject: [PATCH 1/1] Add plugin for F11 full-screen toggle --- plugins/Fullscreen.cs | 33 +++++++++++++++++++++++++++++++++ plugins/Makefile | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 plugins/Fullscreen.cs diff --git a/plugins/Fullscreen.cs b/plugins/Fullscreen.cs new file mode 100644 index 0000000..fcb617b --- /dev/null +++ b/plugins/Fullscreen.cs @@ -0,0 +1,33 @@ +using System; +using Gtk; +using Gdk; +using bytex64.WebThing; + +public class Fullscreen : WebThingPlugin { + private bool IsFullscreen = false; + private Gtk.Window Win; + + public override void Init(WebThing wt) { + Win = wt.Window; + Win.KeyPressEvent += Win_KeyPress; + Win.WindowStateEvent += Win_WindowState; + } + + private void Win_KeyPress(object o, KeyPressEventArgs e) { + if (e.Event.State == Gdk.ModifierType.None) { + switch(e.Event.Key) { + case Gdk.Key.F11: + if (IsFullscreen) { + Win.Unfullscreen(); + } else { + Win.Fullscreen(); + } + break; + } + } + } + + private void Win_WindowState(object o, WindowStateEventArgs e) { + IsFullscreen = (e.Event.NewWindowState & WindowState.Fullscreen) != 0; + } +} diff --git a/plugins/Makefile b/plugins/Makefile index 105e807..2f78065 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1,7 +1,7 @@ CSFLAGS = -debug references = -r:../webkit-sharp.dll -pkg:gtk-sharp-2.0 -all: Vimish.dll FFNav.dll DefaultPage.dll LoadProgress.dll MiddleClickOpen.dll QuickSearch.dll Session.dll +all: Vimish.dll FFNav.dll DefaultPage.dll LoadProgress.dll MiddleClickOpen.dll QuickSearch.dll Session.dll Fullscreen.dll clean: rm -f *.dll *.mdb *.so -- 2.25.1