/plugins/Fullscreen.cs
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;
    }
}