~kklimonda/ubuntu/lucid/rxvt-unicode/lp-514821

« back to all changes in this revision

Viewing changes to src/rxvttoolkit.C

  • Committer: Bazaar Package Importer
  • Author(s): Decklin Foster
  • Date: 2006-09-01 14:44:58 UTC
  • mfrom: (1.1.8 upstream) (3.1.1 etch)
  • Revision ID: james.westby@ubuntu.com-20060901144458-98hrz8zg01w8a3vy
Tags: 7.9-2
* Edit the comments in the app-defaults file, and disable all settings by
  default. If font autoselection fails, I would prefer to open a new bug
  specifically for that. (Closes: #385481)
* Reorganize and edit README.Debian, pushing as much as possible into FAQ
  format (with resource setting issues first).

Show diffs side-by-side

added added

removed removed

Lines of Context:
264
264
}
265
265
 
266
266
void
267
 
rxvt_screen::set (rxvt_display *disp, int bitdepth)
 
267
rxvt_screen::select_visual (int bitdepth)
268
268
{
269
 
  set (disp);
270
 
 
271
269
#if XFT
272
270
  XVisualInfo vinfo;
273
271
 
275
273
    {
276
274
      depth  = bitdepth;
277
275
      visual = vinfo.visual;
278
 
      cmap   = XCreateColormap (dpy, disp->root, visual, AllocNone);
 
276
      cmap   = XCreateColormap (dpy, display->root, visual, AllocNone);
279
277
    }
280
278
#endif
281
279
}
317
315
  XrmDatabase rdb1, database = 0;
318
316
 
319
317
  // for ordering, see for example http://www.faqs.org/faqs/Xt-FAQ/ Subject: 20
 
318
  // as opposed to "standard practise", we always read in ~/.Xdefaults
320
319
 
321
320
  // 6. System wide per application default file.
322
321
 
333
332
  // none
334
333
 
335
334
  // 4. User's defaults file.
 
335
  if (homedir)
 
336
    {
 
337
      snprintf (fname, sizeof (fname), "%s/.Xdefaults", homedir);
 
338
 
 
339
      if ((rdb1 = XrmGetFileDatabase (fname)))
 
340
        XrmMergeDatabases (rdb1, &database);
 
341
    }
 
342
 
336
343
  /* Get any Xserver defaults */
337
344
  if (refresh)
338
345
    {
358
365
       else
359
366
         {
360
367
           displayResource = 0;
 
368
 
361
369
           if (val)
362
370
             XFree(val);
363
371
         }
374
382
      if ((rdb1 = XrmGetStringDatabase (displayResource)))
375
383
        XrmMergeDatabases (rdb1, &database);
376
384
    }
377
 
  else if (homedir)
378
 
    {
379
 
      snprintf (fname, sizeof (fname), "%s/.Xdefaults", homedir);
380
 
 
381
 
      if ((rdb1 = XrmGetFileDatabase (fname)))
382
 
        XrmMergeDatabases (rdb1, &database);
383
 
    }
384
385
 
385
386
#if !XLIB_ILLEGAL_ACCESS
386
387
  if (refresh && displayResource)
580
581
 
581
582
void rxvt_display::reg (xevent_watcher *w)
582
583
{
583
 
  xw.push_back (w);
584
 
  w->active = xw.size ();
 
584
  if (!w->active)
 
585
    {
 
586
      xw.push_back (w);
 
587
      w->active = xw.size ();
 
588
    }
585
589
}
586
590
 
587
591
void rxvt_display::unreg (xevent_watcher *w)
588
592
{
589
593
  if (w->active)
590
 
    xw[w->active - 1] = 0;
 
594
    {
 
595
      xw[w->active - 1] = 0;
 
596
      w->active = 0;
 
597
    }
591
598
}
592
599
 
593
600
void rxvt_display::set_selection_owner (rxvt_term *owner)
651
658
refcache<rxvt_display> displays;
652
659
 
653
660
/////////////////////////////////////////////////////////////////////////////
 
661
//
 
662
 
 
663
static unsigned int
 
664
insert_component (unsigned int value, unsigned int mask, unsigned int shift)
 
665
{
 
666
  return (value * (mask + 1) >> 16) << shift;
 
667
}
654
668
 
655
669
bool
656
670
rxvt_color::alloc (rxvt_screen *screen, const rgba &color)
670
684
      c.color.blue  = color.b;
671
685
      c.color.alpha = color.a;
672
686
 
673
 
      c.pixel = ((color.r * format->direct.redMask   / rgba::MAX_CC) << format->direct.red  )
674
 
              | ((color.g * format->direct.greenMask / rgba::MAX_CC) << format->direct.green)
675
 
              | ((color.b * format->direct.blueMask  / rgba::MAX_CC) << format->direct.blue )
676
 
              | ((color.a * format->direct.alphaMask / rgba::MAX_CC) << format->direct.alpha);
 
687
      c.pixel = insert_component (color.r, format->direct.redMask  , format->direct.red  )
 
688
              | insert_component (color.g, format->direct.greenMask, format->direct.green)
 
689
              | insert_component (color.b, format->direct.blueMask , format->direct.blue )
 
690
              | insert_component (color.a, format->direct.alphaMask, format->direct.alpha);
677
691
 
678
692
      return true;
679
693
    }