[hackers] [surf] Implementing fullscreen mode. Thanks Krol, Willem van de! || Christoph Lohmann

From: <git_AT_suckless.org>
Date: Mon, 03 Dec 2012 21:21:38 +0100

commit 0dfdb75804315678fb22e9703b3e48f5c2b8e1cd
Author: Christoph Lohmann <20h_AT_r-36.net>
Date: Mon Dec 3 21:19:16 2012 +0100

    Implementing fullscreen mode. Thanks Krol, Willem van de!

diff --git a/TODO.md b/TODO.md
index 99312e1..6bb66c9 100644
--- a/TODO.md
+++ b/TODO.md
_AT_@ -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
index 4fd1292..789ada4 100644
--- a/config.def.h
+++ b/config.def.h
_AT_@ -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
index a15ed00..b69c615 100644
--- a/surf.c
+++ b/surf.c
_AT_@ -46,7 +46,7 @@ typedef struct Client {
         gint progress;
         gboolean sslfailed;
         struct Client *next;
- gboolean zoomed;
+ gboolean zoomed, fullscreen;
 } Client;
 
 typedef struct {
_AT_@ -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);
_AT_@ -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];
Received on Mon Dec 03 2012 - 21:21:38 CET

This archive was generated by hypermail 2.3.0 : Mon Dec 03 2012 - 21:24:07 CET