LCDproc development and user support list

Text archives Help

[Lcdproc] ICON_BLOCK_FILLED overlaps the heartbeat in the title widget in current CVS

Chronological Thread 
  • From: lucianm AT (Lucian Muresan)
  • Subject: [Lcdproc] ICON_BLOCK_FILLED overlaps the heartbeat in the title widget in current CVS
  • Date: Thu Mar 17 19:42:01 2005

Hi Joris,

thanks for your feedback.

Joris Robijn wrote:
> On 16 Mar 2005 at 17:38, Lucian Muresan wrote:
>> Hi people,
>> the server always overwrites the heartbeat icons (or '#' and '-'
>> characters if I comment out my own implementations) with the filled bl=
>> (icon, or character, which in that case is '#').=20
> You mean the char definition ? Well I do not know why your driver place=
> the block at the same char# as the heart...

No, I mean the character position in the upper right corner of the=20
display when no client or when lcdproc is connected with heartbeat=20
enabled, I can see the heartbeat only if I define the block character=20
not filled for example, they are drawn at the same place. Of course,=20
when I define the block character filled like it shoud be, the=20
heartbeat is no longer visible, even if it's there, as it is covered by=20
every screen refresh by the filled block, just as below, where I=20
manipulated what I pasted from the curses output:
=80=E2=94=80=E2=94=80=E2=94=90 =E2=94=8C=E2=94=80=E2=94=80=E2=94=
=E2=94=8200 LCDproc Serv 00=E2=94=82 =E2=94=8200 LCDproc Serv =
=E2=94=82Clients: 0 =E2=94=82 instead of =E2=94=82Clients: 0 =
=E2=94=82Screens: 0 =E2=94=82 =E2=94=82Screens: 0 =
=E2=94=82 =E2=94=82 =E2=94=82 =
=80=E2=94=80=E2=94=80=E2=94=98 =E2=94=94=E2=94=80=E2=94=80=E2=94=
>> size, it works correctly. But I couldn't find out what is done
>> differently. Any idea, are there currently known problems in that area=
>> Want to see code?
> The heartbeat symbol should simply be placed after the title bar has be=
> placed. Then it can't go wrong. And custom character definitions should=
> of course be correct.

Well, they are, I'm using the defines from the LCDproc package as IDs,=20
mapped to actual array indices.

However, I found something strange, only I've no clue where it really=20
comes from. If I modify the loop boundary in render.c where the right=20
side array of filled blocks is rendered in the title widget up to the=20
place where the heartbeat should show up (see diff below), then it=20
works, I can see the heartbeat. The strange fact is, that with the=20
curses driver (same display size), it works well in both cases, there is=20
no difference, but with my driver, it's only as it should be, with=20
'x<vis_width' instead of 'x<=3Dvis_width'.

I can't test against another native lcdproc driver, if it behaves=20
identically with the curses driver or has this problem, too.
Any idea? I mean, if every other driver works well, then either the=20
curses drivers does some nasty trick, or my driver has a nasty bug...


--- lcdproc/server/render_orig.c 2005-03-17 20:10:41.388315640 +0100
+++ lcdproc/server/render.c 2005-03-17 19:45:07.000000000 +0100
@@ -318,7 +318,7 @@

drivers_string (w->x + 3 + left, w->y +=20
top, str);

- for (; x<=3Dvis_width; x++) {
+ for (; x<vis_width; x++) {
drivers_icon (w->x + x - 1 +=20
left, w->y + top, ICON_BLOCK_FILLED);

Archive powered by MHonArc 2.6.18.

Top of page