Re: [dev] [st] pictures flickers in w3m-img

From: Christoph Lohmann <>
Date: Sun, 14 Apr 2013 18:56:56 +0200


On Sun, 14 Apr 2013 18:56:56 +0200 Edgaras <> wrote:
> On Tue, Apr 09, 2013 at 08:23:27AM +0200, Thuban wrote:
> > Hello,
> > Even if it's not really a bug, I noticed that pictures flicker when I
> > use w3m-img with st.
> > The picture is visible only when I move the cursor. I suppose it is
> > related to draw , so if someone wants to work on this I report this
> > behaviour here.
> >
> > Have a nice day
> >
> > --
> > ,--. Xavier Cartron
> > : /` ) M2 MEFPC
> > | `-' Debian user
> > \_ jabber :
> Some time ago I was looking into this since I wanted to use st with w3m, what I found out is that this is mostly w3m-imgs settings (unless you managed to patch it), it check for specific terminal, afaik it supports only linux, xterm, and <something>fbterm, nothing else. So for example it does not show images on "fbterm". For a little bit I tried looking ant w3m and w3m-img source, but it seemed a bit scary to me. Also simply setting different TERM var does not seem to make it work, so presumably it is checking some more stuff. But I dont know much about workings of terminals so I can't say anything more.

I’ve looked at this problem. St has a simple double‐buffering strategy,
which creates this behaviour. Here is how w3mimg works: It gets the win‐
dow id and sits on top of X11 events. When some change is received
w3mimg draws into the shown window buffer. Now st’s simple double‐
buffering does first draw to the back buffer and then overwrites every‐
thing – the drawn image of w3mimg too.

W3mimg would need a corner‐case for this to wait a bit and then draw
again. I don’t think st should change its simple double‐buffering design
because of that w3mimg hack.

Anyone interested in the w3mimg compatibility should try to fix this in
w3mimg. It will surely help with the flickering and half‐drawing in
urxvt too.


Christoph Lohmann
Received on Sun Apr 14 2013 - 18:56:56 CEST

This archive was generated by hypermail 2.3.0 : Sun Apr 14 2013 - 19:12:08 CEST