/*
- * $Id: command.h,v 1.10 2004-07-26 18:01:19 root Exp $
+ * $Id: command.h,v 1.13 2004-08-10 20:39:19 root Exp $
*/
#ifndef COMMAND_H_
#ifdef SCROLL_ON_SHIFT
# define SCROLL_SHIFTKEY (shft)
+# define NOSCROLL_SHIFTKEY 0
#else
# define SCROLL_SHIFTKEY 0
+# define NOSCROLL_SHIFTKEY (shft)
#endif
#ifdef SCROLL_ON_CTRL
# define SCROLL_CTRLKEY (ctrl)
+# define NOSCROLL_CTRLKEY 0
#else
# define SCROLL_CTRLKEY 0
+# define NOSCROLL_CTRLKEY (ctrl)
#endif
#ifdef SCROLL_ON_META
# define SCROLL_METAKEY (meta)
+# define NOSCROLL_METAKEY 0
#else
# define SCROLL_METAKEY 0
+# define NOSCROLL_METAKEY (meta)
#endif
-#define IS_SCROLL_MOD (SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY)
+#define IS_SCROLL_MOD ((SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY) \
+ && (!NOSCROLL_SHIFTKEY && !NOSCROLL_CTRLKEY && !NOSCROLL_METAKEY))
+
/*
* ESC-Z processing:
#endif
/*
- * Modifier/s to use to allow up/down arrows and Priot/Next keys
+ * Modifier/s to use to allow up/down arrows and Prior/Next keys
* to scroll single or page-fulls
*/
#define SCROLL_ON_SHIFT
* Default separating chars for multiple-click selection
* Space and tab are separate separating characters and are not settable
*/
-#define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}~"
+#define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}"
/*
* Add run-time support for changing the cutchars for double click selection
rxvt_fatal ("can't open slave tty %s", ttydev);
}
}
+
#ifndef NO_BACKSPACE_KEY
if (key_backspace[0] && !key_backspace[1])
er = key_backspace[0];
er = '\177'; /* the initial state anyway */
else
#endif
-
er = -1;
- rxvt_get_ttymode (& (tio), er);
+ rxvt_get_ttymode (&tio, er);
#ifndef __QNX__
/* spin off the command interpreter */
fd = open (CONSOLE, O_WRONLY, 0);
if (fd >= 0)
- {
- if (ioctl (fd, SRIOCSREDIR, NULL) < 0)
- close (fd);
- }
+ if (ioctl (fd, SRIOCSREDIR, NULL) < 0)
+ close (fd);
#endif /* SRIOCSREDIR */
}
{
// should never get called
// reached end-of-time, or tstamp has a bogus definition,
- // or compiler initilization order broken, or somethine else :)
+ // or compiler initialisation order broken, or something else :)
abort ();
}
{
selection_clear ();
+#ifdef USE_XIM
+ im_destroy ();
+#endif
#ifdef MENUBAR
if (menubarGC) XFreeGC (display->display, menubarGC);
#endif
void
rxvt_term::destroy ()
{
+ if (destroy_ev.active)
+ return;
+
if (display)
{
- rootwin_ev.stop (display);
- termwin_ev.stop (display);
- vt_ev.stop (display);
#ifdef USE_XIM
- im_destroy ();
im_ev.stop (display);
#endif
#ifdef HAVE_SCROLLBARS
#ifdef MENUBAR
menubar_ev.stop (display);
#endif
+ rootwin_ev.stop (display);
+ termwin_ev.stop (display);
+ vt_ev.stop (display);
}
check_ev.stop ();