tImplementing fullscreen mode. Thanks Krol, Willem van de! - surf - customized … | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 0dfdb75804315678fb22e9703b3e48f5c2b8e1cd | |
parent 1f30ddf22410c7c01487a84097ef485af4617c86 | |
Author: Christoph Lohmann <[email protected]> | |
Date: Mon, 3 Dec 2012 21:19:16 +0100 | |
Implementing fullscreen mode. Thanks Krol, Willem van de! | |
Diffstat: | |
M TODO.md | 1 - | |
M config.def.h | 1 + | |
M surf.c | 13 ++++++++++++- | |
3 files changed, 13 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/TODO.md b/TODO.md | |
t@@ -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 | |
t@@ -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 | |
t@@ -46,7 +46,7 @@ typedef struct Client { | |
gint progress; | |
gboolean sslfailed; | |
struct Client *next; | |
- gboolean zoomed; | |
+ gboolean zoomed, fullscreen; | |
} Client; | |
typedef struct { | |
t@@ -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); | |
t@@ -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]; |