Hi,

I very rarely use both internal and external monitor simultaneously. I have a
similar problem but with working on the internal (fine) XOR the external
(coarse). It does not only affect st, but also browsers, dmenu, dwm status...

I've tried setting the dpi with `zoom in` [1] when I plug in/out the external 
one
and invoking st with a heuristic as in [2]: fontsize = dpi / 8

It's all dirty and inconvenient and involve manual steps and guessing...
Not sure it gets much better anyway.

The most suckless way is probably what arg suggested: buy a laptop with lower
resolution display :o)

good luck to make it work properly and cover all use cases.

cheers
--s

1: zoom:

        #!/bin/sh

        cur=`xrdb -query Xft.dpi | (read _ dpi; echo $dpi)`

        [ -z "$1" ] && echo "usage: zoom in|out|<dpi>; now: $cur" && exit 0

        case "$1" in
                out)
                        new=$(($cur - 12))
                ;;
                in)
                        new=$(($cur + 12))
                ;;
                *)
                        new=$(($1 * 1))
                ;;
        esac

        echo Xft.dpi: $new | xrdb -merge
        xrdb -query Xft.dpi


2: st invocation
        dpi=`xrdb -query Xft.dpi | (read _ dpi; echo $dpi)`
        [ x$dpi = x ] && dpi=96
        
        fontsize=$(($dpi / 8))
        font="Liberation Mono:pixelsize=$fontsize:antialias=true:autohint=true"
        
        /usr/local/bin/st -f "$font" "$@"



Reply via email to