$OpenBSD: patch-platform_x11_pdfapp_c,v 1.2 2015/04/25 23:04:54 sthen Exp $
--- platform/x11/pdfapp.c.orig	Thu Apr 16 09:57:45 2015
+++ platform/x11/pdfapp.c	Sat Apr 25 23:35:23 2015
@@ -28,8 +28,18 @@ 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 fine_zoom_in(int oldres)
+{
+	return oldres+1;
+}
+
+static int fine_zoom_out(int oldres)
+{
+	return oldres-1;
+}
+
 static int zoom_in(int oldres)
 {
 	int i;
@@ -1502,9 +1512,9 @@ static void handlescroll(pdfapp_t *app, int modifiers,
 	{
 		/* 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)
