Time-based events screwed up in X (not reliable)

Time-based events screwed up in X (not reliable)

Post by Eric Livingsto » Wed, 30 Jun 1999 04:00:00



I'm running RH6.0 w/2.2.10, tested both with and without rtc compiled in.
All on a Thinkpad 755c notebook.

Console-based realtime programs (top, etc) update correctly and reliably,
and seem to work great.

However, in XFree86, programs such as gpppkill and gstripchart run for a
couple of seconds and/or update iterations, then simply stop. If I move the
mouse over their windows and right-click a context menu or something, they
will tend to update their displays once in response to the mouse event, but
then become idle again.

The behaviour is consistent with them no longer receiving timer-based events
(their code has generic event handlers that respond to mouse and timer
events and update via either, so it's understandable that the mouse event
would trigger an update).

I've also had related issues, such as the screen blanking/screensaver
initializing every couple of seconds, only held at bay with continuous mouse
movement (finally had to turn off blanking/saving altogether), and focus
switching windows extremely slowly (like 30 seconds or so) on an unloaded
CPU.

Any ideas? Right now my X windows environment is pretty screwed up without
reliable timer events...

Eric

 
 
 

1. XtAppAddTimeOut and Expose Event - Not Getting event

 Hi there,

 I am using XtAppAddTimeOut to constantly display captured images from a
frame grabber. The problem is that I try to force a expose event in order
to get that going. But it is not working. The only event the expose
callback routine gets is when I increase the size of the window. If I
decrease the size of it, the expose callback routine is not called.

 Here is my code. If someone could point me out what I am doing wrong, I'd
be greatfull.

  //add callback for exposure event
  XtAddCallback(DrawingAreaWidget, XmNexposeCallback, draw_cbk, this);

void TimeOutCallback(XDisplay *data, XtIntervalId *id)
{
  XEvent ev;      

  XtAppAddTimeOut((XtAppContext)data->getAppContext(),
                  100,
                  TimeOutCallback, data);

  ev.type = Expose;
  ev.xexpose.display = data->WidgetDisplay;
  ev.xexpose.window = data->WidgetWin;
  ev.xexpose.x = 2;
  ev.xexpose.y = 2;
  ev.xexpose.width = 220;
  ev.xexpose.height = 220;
  ev.xexpose.count = 0;
  XSendEvent (data->WidgetDisplay, data->WidgetWin, False, ExposureMask,
&ev);

  XFlush(data->WidgetDisplay);

 void draw_cbk()
{
 //Do the drawing

Bye,

Marcio Cabral

2. HELP: SAMSUNG HD

3. Real Time Clock not responding - Am I screwed??

4. First law passed which outlaws firewalls, vpn's!

5. Console Graphics and Timing Events and Real Time programming

6. Multiple SCSI HDDs not accessible by OS

7. Plug-ins not not seen by Gimp

8. VIA82CXXX (onboard sound for Athlon boards)

9. Shape Ups,Men's Shape Ups,Men's Skechers Shape Ups - new styles!

10. How to use command to set Time-based rule on SunScreen ?

11. Time-based Access Control

12. Is pkgchk reliable also is pkgadd reliable ?? 2.3

13. kshEvents - Web Based Events Calendar