ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/main.C
(Generate patch)

Comparing rxvt-unicode/src/main.C (file contents):
Revision 1.334 by sf-exg, Fri Oct 22 16:49:26 2010 UTC vs.
Revision 1.341 by sf-exg, Sun Dec 12 23:13:29 2010 UTC

11 * Copyright (c) 1997 mj olesen <olesen@me.QueensU.CA> 11 * Copyright (c) 1997 mj olesen <olesen@me.QueensU.CA>
12 * - extensive modifications 12 * - extensive modifications
13 * Copyright (c) 1997,1998 Oezguer Kesim <kesim@math.fu-berlin.de> 13 * Copyright (c) 1997,1998 Oezguer Kesim <kesim@math.fu-berlin.de>
14 * Copyright (c) 1998-2001 Geoff Wing <gcw@pobox.com> 14 * Copyright (c) 1998-2001 Geoff Wing <gcw@pobox.com>
15 * - extensive modifications 15 * - extensive modifications
16 * Copyright (c) 2003-2008 Marc Lehmann <pcg@goof.com> 16 * Copyright (c) 2003-2010 Marc Lehmann <pcg@goof.com>
17 * 17 *
18 * This program is free software; you can redistribute it and/or modify 18 * This program is free software; you can redistribute it and/or modify
19 * it under the terms of the GNU General Public License as published by 19 * it under the terms of the GNU General Public License as published by
20 * the Free Software Foundation; either version 2 of the License, or 20 * the Free Software Foundation; either version 2 of the License, or
21 * (at your option) any later version. 21 * (at your option) any later version.
359rxvt_term::destroy_cb (ev::idle &w, int revents) 359rxvt_term::destroy_cb (ev::idle &w, int revents)
360{ 360{
361 make_current (); 361 make_current ();
362 362
363 delete this; 363 delete this;
364}
365
366void
367rxvt_term::set_option (uint8_t opt, bool set)
368{
369 if (!opt)
370 return;
371
372 uint8_t mask = 1 << (opt & 7);
373 uint8_t &val = options [opt >> 3];
374
375 val = val & ~mask | (set ? mask : 0);
364} 376}
365 377
366/*----------------------------------------------------------------------*/ 378/*----------------------------------------------------------------------*/
367/* 379/*
368 * Exit gracefully, clearing the utmp entry and restoring tty attributes 380 * Exit gracefully, clearing the utmp entry and restoring tty attributes
511 tio->c_cc[VWERSE] = CWERASE; 523 tio->c_cc[VWERSE] = CWERASE;
512# endif 524# endif
513# ifdef VLNEXT 525# ifdef VLNEXT
514 tio->c_cc[VLNEXT] = CLNEXT; 526 tio->c_cc[VLNEXT] = CLNEXT;
515# endif 527# endif
528# ifdef VSTATUS
529 tio->c_cc[VSTATUS] = CSTATUS;
530# endif
516 531
517# if VMIN != VEOF 532# if VMIN != VEOF
518 tio->c_cc[VMIN] = 1; 533 tio->c_cc[VMIN] = 1;
519# endif 534# endif
520# if VTIME != VEOL 535# if VTIME != VEOL
553 rxvt_get_ttymode (&rxvt_term::def_tio); 568 rxvt_get_ttymode (&rxvt_term::def_tio);
554 569
555 // get rid of stdin/stdout as we don't need them, to free resources 570 // get rid of stdin/stdout as we don't need them, to free resources
556 dup2 (STDERR_FILENO, STDIN_FILENO); 571 dup2 (STDERR_FILENO, STDIN_FILENO);
557 dup2 (STDERR_FILENO, STDOUT_FILENO); 572 dup2 (STDERR_FILENO, STDOUT_FILENO);
558
559 ptytty::init ();
560 573
561 if (!ev_default_loop ()) 574 if (!ev_default_loop ())
562 rxvt_fatal ("cannot initialise libev (bad value for LIBEV_METHODS?)\n"); 575 rxvt_fatal ("cannot initialise libev (bad value for LIBEV_METHODS?)\n");
563 576
564 rxvt_environ = environ; 577 rxvt_environ = environ;
1631} 1644}
1632 1645
1633Pixmap 1646Pixmap
1634rxvt_term::get_pixmap_property (int prop_id) 1647rxvt_term::get_pixmap_property (int prop_id)
1635{ 1648{
1649 Pixmap pixmap = None;
1650
1636 if (prop_id > 0 && prop_id < NUM_XA) 1651 if (prop_id > 0 && prop_id < NUM_XA)
1637 if (xa[prop_id]) 1652 if (xa[prop_id])
1638 { 1653 {
1639 int aformat; 1654 int aformat;
1640 unsigned long nitems, bytes_after; 1655 unsigned long nitems, bytes_after;
1641 Atom atype; 1656 Atom atype;
1642 unsigned char *prop = NULL; 1657 unsigned char *prop;
1643 int result = XGetWindowProperty (dpy, display->root, xa[prop_id], 1658 int result = XGetWindowProperty (dpy, display->root, xa[prop_id],
1644 0L, 1L, False, XA_PIXMAP, &atype, &aformat, 1659 0L, 1L, False, XA_PIXMAP, &atype, &aformat,
1645 &nitems, &bytes_after, &prop); 1660 &nitems, &bytes_after, &prop);
1646 if (result == Success && prop && atype == XA_PIXMAP) 1661 if (result == Success)
1662 {
1663 if (atype == XA_PIXMAP)
1647 return *(Pixmap *)prop; 1664 pixmap = *(Pixmap *)prop;
1665 XFree (prop);
1666 }
1648 } 1667 }
1649 1668
1650 return None; 1669 return pixmap;
1651} 1670}
1652 1671
1653#ifdef HAVE_BG_PIXMAP 1672#ifdef HAVE_BG_PIXMAP
1654 1673
1655void 1674void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines