commit 0dfdb75804315678fb22e9703b3e48f5c2b8e1cd
parent 1f30ddf22410c7c01487a84097ef485af4617c86
Author: Christoph Lohmann <20h@r-36.net>
Date: Mon, 3 Dec 2012 21:19:16 +0100
Implementing fullscreen mode. Thanks Krol, Willem van de!
Diffstat:
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/TODO.md b/TODO.md
@@ -3,6 +3,5 @@
* suckless adblocking
* integrate the WebKitWebInspector API
* make scrollbars a switch and allow them to be disabled
-* implement fullscreen mode (F11)
* replace webkit with something sane
diff --git a/config.def.h b/config.def.h
@@ -66,6 +66,7 @@ static Key keys[] = {
{ MODKEY, GDK_i, scroll_h, { .i = +1 } },
{ MODKEY, GDK_u, scroll_h, { .i = -1 } },
+ { 0, GDK_F11, fullscreen, { 0 } },
{ 0, GDK_Escape, stop, { 0 } },
{ MODKEY, GDK_o, source, { 0 } },
diff --git a/surf.c b/surf.c
@@ -46,7 +46,7 @@ typedef struct Client {
gint progress;
gboolean sslfailed;
struct Client *next;
- gboolean zoomed;
+ gboolean zoomed, fullscreen;
} Client;
typedef struct {
@@ -101,6 +101,7 @@ static void die(char *str);
static void drawindicator(Client *c);
static gboolean exposeindicator(GtkWidget *w, GdkEventExpose *e, Client *c);
static void find(Client *c, const Arg *arg);
+static void fullscreen(Client *c, const Arg *arg);
static const char *getatom(Client *c, int a);
static char *geturi(Client *c);
static gboolean initdownload(WebKitWebView *v, WebKitDownload *o, Client *c);
@@ -399,6 +400,16 @@ find(Client *c, const Arg *arg) {
webkit_web_view_search_text(c->view, s, FALSE, forward, TRUE);
}
+void
+fullscreen(Client *c, const Arg *arg) {
+ if(c->fullscreen) {
+ gtk_window_unfullscreen(GTK_WINDOW(c->win));
+ } else {
+ gtk_window_fullscreen(GTK_WINDOW(c->win));
+ }
+ c->fullscreen = !c->fullscreen;
+}
+
const char *
getatom(Client *c, int a) {
static char buf[BUFSIZ];