- Subject: Re: [slang-users] slxosd-0.2
- From: "Paul Boekholt" <p.boekholt@xxxxxxxxx>
- Date: Wed, 30 Apr 2008 09:14:18 +0200
Hi,
2008/4/29, Laurent Perez <laurent.perez@xxxxxxxxxx>:
> Hi,
>
> There is a new slxosd release. It fixes a bug reported by Paul Boekholt.
>
> http://laurent.perez2.free.fr/comp/slang/modules/modules.html
Great! However, it still segfaults with this script:
#!/usr/bin/env slsh
require ("xosd");
variable fp, line, osd, n, t, last_lines, persist, update;
variable cmd = "free";
last_lines = 10; % number of lines to print
update = 1; % update delay in seconds
persist = 10; % time to persist on screen (in seconds)
private define create_osd()
{
variable osd = xosd_create (last_lines);
if (-1 == xosd_set_colour (osd, "cornflower blue"))
message (xosd_error);
if (-1 == xosd_set_outline_colour (osd, "blue"))
message (xosd_error);
if (-1 == xosd_set_outline_offset (osd, 1))
message (xosd_error);
% if (-1 == xosd_set_shadow_offset (osd, 1))
% message (xosd_error);
if (-1 == xosd_set_pos (osd, XOSD_top))
message (xosd_error);
if (-1 == xosd_set_timeout (osd, persist))
message (xosd_error);
return osd;
}
n = 0;
t = 0;
forever
{
n = 0;
variable osd;
try
{
fp = popen (cmd, "r");
if (fp == NULL)
throw OpenError;
osd = create_osd();
while (-1 != fgets (&line, fp))
{
if (strlen (line) > 0)
{
if (n > 0)
() = xosd_scroll (osd, 1);
() = xosd_print (osd, last_lines - 1, line);
n += 1;
}
}
() = fclose (fp);
}
catch OpenError:
{
() = xosd_print (osd, last_lines - 1, "Failed to open " + cmd);
}
sleep (update);
}
If I change the
osd = create_osd();
to
osd = NULL;
osd = create_osd();
then it seems to work fine. I guess it's a problem in the xosd library.
[2008 date index]
[2008 thread index]
[Thread Prev] [Thread Next]
[Date Prev] [Date Next]