Since the resolution of the Retina display tends to make everything small,
the default apercu preview size (twice the icon size) couldn't be used to
distinguish the window contents without tiring too much my eyes.

Therefore, let's make the apercu size a configurable option. You can set
it through the ApercuSize variable with

$ wdwrite WindowMaker ApercuSize 4

in multiples of the icon size (in this case the apercu size will be four
times the icon size).

The default size remains 2 (twice the icon size).

Signed-off-by: Carlos R. Mafra <[email protected]>
---
 src/WindowMaker.h | 1 +
 src/balloon.c     | 6 +++---
 src/defaults.c    | 2 ++
 src/icon.c        | 4 ++--
 4 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 5553d5b..9689cba 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -426,6 +426,7 @@ extern struct WPreferences {
     char cycle_ignore_minimized;        /* Ignore minimized windows when 
cycling */
     char strict_windoze_cycle;          /* don't close switch panel when shift 
is released */
     char panel_only_open;               /* Only open the switch panel; don't 
switch */
+    char apercu_size;                   /* Size of apercu preview as a 
multiple of icon size */
 
     /* All delays here are in ms. 0 means instant auto-action. */
     int clip_auto_raise_delay;         /* Delay after which the clip will be 
raised when entered */
diff --git a/src/balloon.c b/src/balloon.c
index 1fae947..22b1160 100644
--- a/src/balloon.c
+++ b/src/balloon.c
@@ -423,8 +423,8 @@ static void showApercu(WScreen *scr, int x, int y, int 
height, int width, char *
        }
 
        XCopyArea(dpy, apercu, pixmap, scr->draw_gc,
-                               0, 0, (wPreferences.icon_size - 1 - 
APERCU_BORDER) * 2,
-                               (wPreferences.icon_size - 1 - APERCU_BORDER) * 
2,
+                               0, 0, (wPreferences.icon_size - 1 - 
APERCU_BORDER) * wPreferences.apercu_size,
+                               (wPreferences.icon_size - 1 - APERCU_BORDER) * 
wPreferences.apercu_size,
                                APERCU_BORDER, APERCU_BORDER + titleHeight);
 
 #ifdef SHAPED_BALLOON
@@ -460,7 +460,7 @@ static void showBalloon(WScreen * scr)
 
        if (wPreferences.miniwin_apercu_balloon && scr->balloon->apercu != None)
                /* used to display either the apercu alone or the apercu and 
the title */
-               showApercu(scr, x, y, (wPreferences.icon_size - 1) * 2, 
(wPreferences.icon_size - 1) * 2,
+               showApercu(scr, x, y, (wPreferences.icon_size - 1) * 
wPreferences.apercu_size, (wPreferences.icon_size - 1) * 
wPreferences.apercu_size,
                                        scr->balloon->text, 
scr->balloon->apercu);
        else
                showText(scr, x, y, scr->balloon->h, w, scr->balloon->text);
diff --git a/src/defaults.c b/src/defaults.c
index 155fe6f..5e305c9 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -479,6 +479,8 @@ WDefaultEntry optionList[] = {
            &wPreferences.strict_windoze_cycle, getBool, NULL, NULL, NULL},
        {"SwitchPanelOnlyOpen", "NO",   NULL,
            &wPreferences.panel_only_open, getBool, NULL, NULL, NULL},
+       {"ApercuSize", "2", NULL,
+           &wPreferences.apercu_size, getInt, NULL, NULL, NULL},
 
        /* style options */
 
diff --git a/src/icon.c b/src/icon.c
index e1321fa..d8265b5 100644
--- a/src/icon.c
+++ b/src/icon.c
@@ -593,8 +593,8 @@ void set_icon_apercu(WIcon *icon, RImage *image)
        RImage *scaled_apercu;
        WScreen *scr = icon->core->screen_ptr;
 
-       scaled_apercu = RSmoothScaleImage(image, (wPreferences.icon_size - 1 - 
APERCU_BORDER) * 2,
-                                               (wPreferences.icon_size - 1 - 
APERCU_BORDER) * 2 );
+       scaled_apercu = RSmoothScaleImage(image, (wPreferences.icon_size - 1 - 
APERCU_BORDER) * wPreferences.apercu_size,
+                                               (wPreferences.icon_size - 1 - 
APERCU_BORDER) * wPreferences.apercu_size);
 
        if (RConvertImage(scr->rcontext, scaled_apercu, &tmp)) {
                if (icon->apercu != None)
-- 
1.8.4.5


-- 
To unsubscribe, send mail to [email protected].

Reply via email to