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

Comparing rxvt-unicode/src/command.C (file contents):
Revision 1.22 by pcg, Thu Dec 18 13:33:02 2003 UTC vs.
Revision 1.28 by pcg, Fri Jan 16 22:11:09 2004 UTC

1/*--------------------------------*-C-*---------------------------------* 1/*--------------------------------*-C-*---------------------------------*
2 * File: command.c 2 * File: command.c
3 *----------------------------------------------------------------------* 3 *----------------------------------------------------------------------*
4 * $Id: command.C,v 1.22 2003/12/18 13:33:02 pcg Exp $ 4 * $Id: command.C,v 1.28 2004/01/16 22:11:09 pcg Exp $
5 * 5 *
6 * All portions of code are copyright by their respective author/s. 6 * All portions of code are copyright by their respective author/s.
7 * Copyright (c) 1992 John Bovey, University of Kent at Canterbury <jdb@ukc.ac.uk> 7 * Copyright (c) 1992 John Bovey, University of Kent at Canterbury <jdb@ukc.ac.uk>
8 * - original version 8 * - original version
9 * Copyright (c) 1994 Robert Nation <nation@rocket.sanders.lockheed.com> 9 * Copyright (c) 1994 Robert Nation <nation@rocket.sanders.lockheed.com>
64 KeySym keysym; 64 KeySym keysym;
65#ifdef DEBUG_CMD 65#ifdef DEBUG_CMD
66 static int debug_key = 1; /* accessible by a debugger only */ 66 static int debug_key = 1; /* accessible by a debugger only */
67#endif 67#endif
68 int valid_keysym; 68 int valid_keysym;
69 unsigned char *kbuf = R->kbuf; 69 unsigned char kbuf[KBUFSZ];
70 70
71/* 71/*
72 * use Num_Lock to toggle Keypad on/off. If Num_Lock is off, allow an 72 * use Num_Lock to toggle Keypad on/off. If Num_Lock is off, allow an
73 * escape sequence to toggle the Keypad. 73 * escape sequence to toggle the Keypad.
74 * 74 *
90 if (R->Input_Context) 90 if (R->Input_Context)
91 { 91 {
92 Status status_return; 92 Status status_return;
93 93
94#ifdef X_HAVE_UTF8_STRING 94#ifdef X_HAVE_UTF8_STRING
95 if (R->enc_utf8) 95 if (R->enc_utf8 && 0)
96 len = Xutf8LookupString (R->Input_Context, ev, (char *)kbuf, 96 len = Xutf8LookupString (R->Input_Context, ev, (char *)kbuf,
97 KBUFSZ, &keysym, &status_return); 97 KBUFSZ, &keysym, &status_return);
98 else 98 else
99#endif 99#endif
100 { 100 {
635 for (i = 0, p = kbuf; i < len; i++, p++) 635 for (i = 0, p = kbuf; i < len; i++, p++)
636 fprintf(stderr, (*p >= ' ' && *p < '\177' ? "%c" : "\\%03o"), *p); 636 fprintf(stderr, (*p >= ' ' && *p < '\177' ? "%c" : "\\%03o"), *p);
637 fprintf(stderr, "'\n"); 637 fprintf(stderr, "'\n");
638 } 638 }
639#endif /* DEBUG_CMD */ 639#endif /* DEBUG_CMD */
640 R->tt_write(kbuf, (unsigned int)len); 640 R->tt_write (kbuf, (unsigned int)len);
641} 641}
642/*}}} */ 642/*}}} */
643 643
644#if (MENUBAR_MAX) 644#if (MENUBAR_MAX)
645/*{{{ rxvt_cmd_write(), rxvt_cmd_getc() */ 645/*{{{ rxvt_cmd_write(), rxvt_cmd_getc() */
695 rxvt_IMSendSpot (this); 695 rxvt_IMSendSpot (this);
696#endif 696#endif
697 } 697 }
698 698
699 XFlush (Xdisplay); 699 XFlush (Xdisplay);
700#if 0
701 if (XPending (Xdisplay)) process_x_events ();
702 if (XPending (Xdisplay)) process_x_events ();
703#endif
704} 700}
705 701
706void 702void
707rxvt_term::check_cb (check_watcher &w) 703rxvt_term::check_cb (check_watcher &w)
708{ 704{
756 rxvt_process_x_event (this, &xev); 752 rxvt_process_x_event (this, &xev);
757 } 753 }
758 while (XPending (Xdisplay)); 754 while (XPending (Xdisplay));
759} 755}
760 756
757#ifdef CURSOR_BLINK
761void 758void
762rxvt_term::blink_cb (time_watcher &w) 759rxvt_term::blink_cb (time_watcher &w)
763{ 760{
764 w.at += BLINK_INTERVAL;
765 hidden_cursor = !hidden_cursor; 761 hidden_cursor = !hidden_cursor;
766 want_refresh = 1; 762 want_refresh = 1;
763
764 w.start (w.at + BLINK_INTERVAL);
767} 765}
766#endif
768 767
769void 768void
770rxvt_term::x_cb (io_watcher &w, short revents) 769rxvt_term::x_cb (io_watcher &w, short revents)
771{ 770{
772 SET_R (this); 771 SET_R (this);
1039 1038
1040#ifdef POINTER_BLANK 1039#ifdef POINTER_BLANK
1041void 1040void
1042rxvt_term::pointer_blank () 1041rxvt_term::pointer_blank ()
1043{ 1042{
1044 pointer_ev.stop ();
1045
1046 if (!(Options & Opt_pointerBlank)) 1043 if (!(Options & Opt_pointerBlank))
1047 return; 1044 return;
1048 1045
1049 XDefineCursor (Xdisplay, TermWin.vt, blank_cursor); 1046 XDefineCursor (Xdisplay, TermWin.vt, blank_cursor);
1050 XFlush (Xdisplay); 1047 XFlush (Xdisplay);
1530 1527
1531/* INTPROTO */ 1528/* INTPROTO */
1532void 1529void
1533rxvt_button_press(pR_ XButtonEvent *ev) 1530rxvt_button_press(pR_ XButtonEvent *ev)
1534{ 1531{
1535 int reportmode = 0, clickintime; 1532 int reportmode = 0, clickintime;
1536 1533
1537 R->bypass_keystate = ev->state & (R->ModMetaMask | ShiftMask); 1534 R->bypass_keystate = ev->state & (R->ModMetaMask | ShiftMask);
1538 if (!R->bypass_keystate) 1535 if (!R->bypass_keystate)
1539 reportmode = !!(R->PrivateModes & PrivMode_mouse_report); 1536 reportmode = !!(R->PrivateModes & PrivMode_mouse_report);
1540/* 1537/*
1588 R->MEvent.clicks = 0; 1585 R->MEvent.clicks = 0;
1589 switch (ev->button) 1586 switch (ev->button)
1590 { 1587 {
1591 case Button1: 1588 case Button1:
1592 /* allow shift+left click to extend selection */ 1589 /* allow shift+left click to extend selection */
1593 if (ev->state & ShiftMask) 1590 if (ev->state & ShiftMask && !(R->PrivateModes & PrivMode_mouse_report))
1594 { 1591 {
1595 if (R->MEvent.button == Button1 && clickintime) 1592 if (R->MEvent.button == Button1 && clickintime)
1596 R->selection_rotate (ev->x, ev->y); 1593 R->selection_rotate (ev->x, ev->y);
1597 else 1594 else
1598 R->selection_extend (ev->x, ev->y, 1); 1595 R->selection_extend (ev->x, ev->y, 1);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines