adding autozoom for small windows
This commit is contained in:
parent
f277dbd3d2
commit
92afa03d80
1 changed files with 15 additions and 0 deletions
15
surf.c
15
surf.c
|
@ -106,6 +106,7 @@ static void print(Client *c, const Arg *arg);
|
|||
static void progresschange(WebKitWebView *v, gint p, Client *c);
|
||||
static void reloadcookies();
|
||||
static void reload(Client *c, const Arg *arg);
|
||||
static void resize(GtkWidget *w, GtkAllocation *a, Client *c);
|
||||
static void sigchld(int unused);
|
||||
static void setup(void);
|
||||
static void spawn(Client *c, const Arg *arg);
|
||||
|
@ -470,6 +471,7 @@ newclient(void) {
|
|||
gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600);
|
||||
g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c);
|
||||
g_signal_connect(G_OBJECT(c->win), "key-press-event", G_CALLBACK(keypress), c);
|
||||
g_signal_connect(G_OBJECT(c->win), "size-allocate", G_CALLBACK(resize), c);
|
||||
|
||||
if(!(c->items = calloc(1, sizeof(GtkWidget *) * LENGTH(items))))
|
||||
die("Cannot malloc!\n");
|
||||
|
@ -674,6 +676,19 @@ scroll(Client *c, const Arg *arg) {
|
|||
gtk_adjustment_set_value(a, v);
|
||||
}
|
||||
|
||||
void
|
||||
resize(GtkWidget *w, GtkAllocation *a, Client *c) {
|
||||
double zoom;
|
||||
|
||||
zoom = webkit_web_view_get_zoom_level(c->view);
|
||||
if(a->width * a->height < 300 * 300 && zoom != 0.2)
|
||||
webkit_web_view_set_zoom_level(c->view, 0.2);
|
||||
else if(zoom != 1.0)
|
||||
webkit_web_view_set_zoom_level(c->view, 1.0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
sigchld(int unused) {
|
||||
if(signal(SIGCHLD, sigchld) == SIG_ERR)
|
||||
|
|
Loading…
Reference in a new issue