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.27 by pcg, Tue Dec 30 01:35:58 2003 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.27 2003/12/30 01:35:58 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; 761 w.at += BLINK_INTERVAL;
765 hidden_cursor = !hidden_cursor; 762 hidden_cursor = !hidden_cursor;
766 want_refresh = 1; 763 want_refresh = 1;
767} 764}
765#endif
768 766
769void 767void
770rxvt_term::x_cb (io_watcher &w, short revents) 768rxvt_term::x_cb (io_watcher &w, short revents)
771{ 769{
772 SET_R (this); 770 SET_R (this);
1530 1528
1531/* INTPROTO */ 1529/* INTPROTO */
1532void 1530void
1533rxvt_button_press(pR_ XButtonEvent *ev) 1531rxvt_button_press(pR_ XButtonEvent *ev)
1534{ 1532{
1535 int reportmode = 0, clickintime; 1533 int reportmode = 0, clickintime;
1536 1534
1537 R->bypass_keystate = ev->state & (R->ModMetaMask | ShiftMask); 1535 R->bypass_keystate = ev->state & (R->ModMetaMask | ShiftMask);
1538 if (!R->bypass_keystate) 1536 if (!R->bypass_keystate)
1539 reportmode = !!(R->PrivateModes & PrivMode_mouse_report); 1537 reportmode = !!(R->PrivateModes & PrivMode_mouse_report);
1540/* 1538/*
1588 R->MEvent.clicks = 0; 1586 R->MEvent.clicks = 0;
1589 switch (ev->button) 1587 switch (ev->button)
1590 { 1588 {
1591 case Button1: 1589 case Button1:
1592 /* allow shift+left click to extend selection */ 1590 /* allow shift+left click to extend selection */
1593 if (ev->state & ShiftMask) 1591 if (ev->state & ShiftMask && !(R->PrivateModes & PrivMode_mouse_report))
1594 { 1592 {
1595 if (R->MEvent.button == Button1 && clickintime) 1593 if (R->MEvent.button == Button1 && clickintime)
1596 R->selection_rotate (ev->x, ev->y); 1594 R->selection_rotate (ev->x, ev->y);
1597 else 1595 else
1598 R->selection_extend (ev->x, ev->y, 1); 1596 R->selection_extend (ev->x, ev->y, 1);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines