ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/root-tail/root-tail.c
(Generate patch)

Comparing root-tail/root-tail.c (file contents):
Revision 1.59 by chris_moore, Sat Apr 10 23:11:58 2004 UTC vs.
Revision 1.60 by chris_moore, Sun Apr 11 01:02:05 2004 UTC

131 131
132struct logfile_entry *loglist = NULL, *loglist_tail = NULL; 132struct logfile_entry *loglist = NULL, *loglist_tail = NULL;
133 133
134Display *disp; 134Display *disp;
135Window root; 135Window root;
136#ifdef USE_TOON_GET_ROOT_WINDOW
137Window real_root;
138#endif /* USE_TOON_GET_ROOT_WINDOW */
136GC WinGC; 139GC WinGC;
137 140
138#if HAS_REGEX 141#if HAS_REGEX
139struct re_list 142struct re_list
140{ 143{
151/* prototypes */ 154/* prototypes */
152void list_files (int); 155void list_files (int);
153void force_reopen (int); 156void force_reopen (int);
154void force_refresh (int); 157void force_refresh (int);
155void blank_window (int); 158void blank_window (int);
159#ifdef USE_TOON_GET_ROOT_WINDOW
160Window ToonGetRootWindow(Display *, int, Window *);
161#endif /* USE_TOON_GET_ROOT_WINDOW */
156 162
157void InitWindow (void); 163void InitWindow (void);
158unsigned long GetColor (const char *); 164unsigned long GetColor (const char *);
159void redraw (int); 165void redraw (int);
160void refresh (int, int, int, int); 166void refresh (int, int, int, int);
210GetColor (const char *ColorName) 216GetColor (const char *ColorName)
211{ 217{
212 XColor Color; 218 XColor Color;
213 XWindowAttributes Attributes; 219 XWindowAttributes Attributes;
214 220
221#ifdef USE_TOON_GET_ROOT_WINDOW
222 XGetWindowAttributes (disp, real_root, &Attributes);
223#else /* USE_TOON_GET_ROOT_WINDOW */
215 XGetWindowAttributes (disp, root, &Attributes); 224 XGetWindowAttributes (disp, root, &Attributes);
225#endif /* USE_TOON_GET_ROOT_WINDOW */
216 Color.pixel = 0; 226 Color.pixel = 0;
217 227
218 if (!XParseColor (disp, Attributes.colormap, ColorName, &Color)) 228 if (!XParseColor (disp, Attributes.colormap, ColorName, &Color))
219 fprintf (stderr, "can't parse %s\n", ColorName); 229 fprintf (stderr, "can't parse %s\n", ColorName);
220 else if (!XAllocColor (disp, Attributes.colormap, &Color)) 230 else if (!XAllocColor (disp, Attributes.colormap, &Color))
221 fprintf (stderr, "can't allocate %s\n", ColorName); 231 fprintf (stderr, "can't allocate %s\n", ColorName);
222 232
223 return Color.pixel; 233 return Color.pixel;
224} 234}
225 235
236#ifndef USE_TOON_GET_ROOT_WINDOW
226static Window 237static Window
227root_window (Display * display, int screen_number) 238root_window (Display * display, int screen_number)
228{ 239{
229 Atom SWM_VROOT = XInternAtom (display, "__SWM_VROOT", False); 240 Atom SWM_VROOT = XInternAtom (display, "__SWM_VROOT", False);
230 Window real_root_window = RootWindow (display, screen_number); 241 Window real_root_window = RootWindow (display, screen_number);
283 /* This shouldn't happen. The Xlib documentation is wrong BTW. */ 294 /* This shouldn't happen. The Xlib documentation is wrong BTW. */
284 fprintf (stderr, "Can't intern atom __SWM_VROOT"); 295 fprintf (stderr, "Can't intern atom __SWM_VROOT");
285 296
286 return real_root_window; 297 return real_root_window;
287} 298}
299#endif /* USE_TOON_GET_ROOT_WINDOW */
288 300
289void 301void
290InitWindow (void) 302InitWindow (void)
291{ 303{
292 XGCValues gcv; 304 XGCValues gcv;
302 314
303 screen = DefaultScreen (disp); 315 screen = DefaultScreen (disp);
304 ScreenHeight = DisplayHeight (disp, screen); 316 ScreenHeight = DisplayHeight (disp, screen);
305 ScreenWidth = DisplayWidth (disp, screen); 317 ScreenWidth = DisplayWidth (disp, screen);
306 318
319#ifdef USE_TOON_GET_ROOT_WINDOW
320 real_root = RootWindow(disp, screen);
321 root = ToonGetRootWindow( disp, screen, &real_root );
322#else /* USE_TOON_GET_ROOT_WINDOW */
307 root = root_window (disp, screen); 323 root = root_window (disp, screen);
324#endif /* USE_TOON_GET_ROOT_WINDOW */
308 325
309 gcm = GCBackground; 326 gcm = GCBackground;
310 gcv.graphics_exposures = True; 327 gcv.graphics_exposures = True;
311 WinGC = XCreateGC (disp, root, gcm, &gcv); 328 WinGC = XCreateGC (disp, root, gcm, &gcv);
312 XMapWindow (disp, root); 329 XMapWindow (disp, root);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines