$OpenBSD: patch-platform_x11_pdfapp_c,v 1.1 2014/10/18 08:36:39 espie Exp $
--- platform/x11/pdfapp.c.orig	Tue Oct 14 11:47:41 2014
+++ platform/x11/pdfapp.c	Tue Oct 14 16:04:36 2014
@@ -39,6 +39,16 @@ static int zoom_in(int oldres)
 	return zoomlist[i];
 }
 
+static int fine_zoom_in(int oldres)
+{
+	return oldres+1;
+}
+
+static int fine_zoom_out(int oldres)
+{
+	return oldres-1;
+}
+
 static int zoom_out(int oldres)
 {
 	int i;
@@ -1579,9 +1589,9 @@ void pdfapp_onmouse(pdfapp_t *app, int x, int y, int b
 			{
 				/* zoom in/out if ctrl is pressed */
 				if (dir > 0)
-					app->resolution = zoom_in(app->resolution);
+					app->resolution = ((modifiers & (1<<0)) ? fine_zoom_in : zoom_in)(app->resolution);
 				else
-					app->resolution = zoom_out(app->resolution);
+					app->resolution = ((modifiers & (1<<0)) ? fine_zoom_out : zoom_out)(app->resolution);
 				if (app->resolution > MAXRES)
 					app->resolution = MAXRES;
 				if (app->resolution < MINRES)
$OpenBSD: patch-platform_x11_pdfapp_c,v 1.1 2014/10/18 08:36:39 espie Exp $
--- platform/x11/pdfapp.c.orig	Mon Oct 13 19:56:28 2014
+++ platform/x11/pdfapp.c	Mon Oct 13 20:01:17 2014
@@ -28,7 +28,7 @@ enum
 static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint, int transition, int searching);
 static void pdfapp_updatepage(pdfapp_t *app);
 
-static const int zoomlist[] = { 18, 24, 36, 54, 72, 96, 120, 144, 180, 216, 288 };
+static const int zoomlist[] = { 18, 21, 24, 30, 36, 44, 54, 62, 72, 83, 96, 107, 120, 131, 144, 160, 180, 197, 216, 250, 288 };
 
 static int zoom_in(int oldres)
 {
