X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=b69c615b4f377c054420e6f78e3ba0243fdbb7d5;hb=96e3ae41dd7038461f465d804ba95c3b13dbf0ff;hp=78698b83d56bb17a58bdb77452d333064d24934b;hpb=6cd54e4a3119bd201d95f5d67ffb4bfe28aac653;p=surf.git diff --git a/surf.c b/surf.c index 78698b8..b69c615 100644 --- 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]; @@ -986,11 +997,14 @@ windowobjectcleared(GtkWidget *w, WebKitWebFrame *frame, JSContextRef js, JSObje void zoom(Client *c, const Arg *arg) { c->zoomed = TRUE; - if(arg->i < 0) /* zoom out */ + if(arg->i < 0) { + /* zoom out */ webkit_web_view_zoom_out(c->view); - else if(arg->i > 0) /* zoom in */ + } else if(arg->i > 0) { + /* zoom in */ webkit_web_view_zoom_in(c->view); - else { /* reset */ + } else { + /* reset */ c->zoomed = FALSE; webkit_web_view_set_zoom_level(c->view, 1.0); }