WISH: just for fun, do shade and tint with XRender.
WISH: support tex fonts
+TODO: urxvt::popup is undocumented
- added sections for DISTRIBUTION MAINTAINERS and about
SETUID/SETGID to the FAQ.
- selection, searchable-scrollback, selection-popup and
side effect, it also gets rid of XGetDefault calls.
- free one of the cursors, fixes a small memory leak.
- built-in (as opposed to terminfos) visual bell was broken/too fast.
+ - applied minor cleanups by Ladislav Michnovic.
+ - applied better configure support for openpty by Emanuele Giaquinta.
6.3 Wed Jan 4 22:37:10 CET 2006
- SECURITY FIX: on systems using openpty, permissions were
/* Define if you have the <libc.h> header file. */
#undef HAVE_LIBC_H
+/* Define if you have the <libutil.h> header file. */
+#undef HAVE_LIBUTIL_H
+
/* Define if you have the <pty.h> header file. */
#undef HAVE_PTY_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define if you have the <util.h> header file. */
+#undef HAVE_UTIL_H
+
/* Define if you have the <utmp.h> header file. */
#undef HAVE_UTMP_H
utmpx.h \
stdint.h \
pty.h \
+ util.h \
+ libutil.h \
wchar.h \
cwchar \
clocale \
+
+
for ac_header in \
assert.h \
fcntl.h \
utmpx.h \
stdint.h \
pty.h \
+ util.h \
+ libutil.h \
wchar.h \
cwchar \
clocale \
+if text x$support_perl = xyes; then
+ support_frills=yes
+fi
+
CFLAGS=${CFLAGS--O}
LDFLAGS=${LDFLAGS--O}
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
+ <li><a href="#prepackaged_extensions">PREPACKAGED EXTENSIONS</a></li>
+ <li><a href="#api_documentation">API DOCUMENTATION</a></li>
<ul>
- <li><a href="#prepackaged_extensions">Prepackaged Extensions</a></li>
<li><a href="#general_api_considerations">General API Considerations</a></li>
<li><a href="#extension_objects">Extension Objects</a></li>
<li><a href="#hooks">Hooks</a></li>
scripts will be shared (but not enabled) for all terminals.</p>
<p>
</p>
-<h2><a name="prepackaged_extensions">Prepackaged Extensions</a></h2>
-<p>This section describes the extensiosn delivered with this version. You can
+<hr />
+<h1><a name="prepackaged_extensions">PREPACKAGED EXTENSIONS</a></h1>
+<p>This section describes the extensions delivered with this release. You can
find them in <em>/opt/rxvt/lib/urxvt/perl/</em>.</p>
<p>You can activate them like this:</p>
<pre>
<dt><strong><a name="item_selection">selection (enabled by default)</a></strong><br />
</dt>
<dd>
-Intelligent selection. This extension tries to be more intelligent when
-the user extends selections (double-click). Right now, it tries to select
-urls and complete shell-quoted arguments, which is very convenient, too,
-if your <em>ls</em> supports <code>--quoting-style=shell</code>.
+(More) intelligent selection. This extension tries to be more intelligent
+when the user extends selections (double-click). Right now, it tries to
+select urls and complete shell-quoted arguments, which is very convenient,
+too, if your <em>ls</em> supports <code>--quoting-style=shell</code>.
</dd>
<dd>
-<p>It also offers the following bindable event:</p>
+<p>It also offers the following bindable keyboard command:</p>
</dd>
<dl>
<dt><strong><a name="item_rot13">rot13</a></strong><br />
</dt>
<dd>
Binds a popup menu to Ctrl-Button3 that lets you convert the selection
-text into various other formats/action.
+text into various other formats/action (such as uri unescaping, perl
+evalution, web-browser starting etc.), depending on content.
</dd>
<p></p>
<dt><strong><a name="item_searchable_2dscrollback_3chotkey_3e__28enabled_by_">searchable-scrollback<hotkey> (enabled by default)</a></strong><br />
<p></p></dl>
<p>
</p>
+<hr />
+<h1><a name="api_documentation">API DOCUMENTATION</a></h1>
+<p>
+</p>
<h2><a name="general_api_considerations">General API Considerations</a></h2>
<p>All objects (such as terminals, time watchers etc.) are typical
reference-to-hash objects. The hash can be used to store anything you
.PP
Each script will only ever be loaded once, even in @@RXVT_NAME@@d, where
scripts will be shared (but not enabled) for all terminals.
-.Sh "Prepackaged Extensions"
-.IX Subsection "Prepackaged Extensions"
-This section describes the extensiosn delivered with this version. You can
+.SH "PREPACKAGED EXTENSIONS"
+.IX Header "PREPACKAGED EXTENSIONS"
+This section describes the extensions delivered with this release. You can
find them in \fI@@RXVT_LIBDIR@@/urxvt/perl/\fR.
.PP
You can activate them like this:
.Ve
.IP "selection (enabled by default)" 4
.IX Item "selection (enabled by default)"
-Intelligent selection. This extension tries to be more intelligent when
-the user extends selections (double\-click). Right now, it tries to select
-urls and complete shell-quoted arguments, which is very convenient, too,
-if your \fIls\fR supports \f(CW\*(C`\-\-quoting\-style=shell\*(C'\fR.
+(More) intelligent selection. This extension tries to be more intelligent
+when the user extends selections (double\-click). Right now, it tries to
+select urls and complete shell-quoted arguments, which is very convenient,
+too, if your \fIls\fR supports \f(CW\*(C`\-\-quoting\-style=shell\*(C'\fR.
.Sp
-It also offers the following bindable event:
+It also offers the following bindable keyboard command:
.RS 4
.IP "rot13" 4
.IX Item "rot13"
.IP "selection-popup (enabled by default)" 4
.IX Item "selection-popup (enabled by default)"
Binds a popup menu to Ctrl\-Button3 that lets you convert the selection
-text into various other formats/action.
+text into various other formats/action (such as uri unescaping, perl
+evalution, web-browser starting etc.), depending on content.
.IP "searchable\-scrollback<hotkey> (enabled by default)" 4
.IX Item "searchable-scrollback<hotkey> (enabled by default)"
Adds regex search functionality to the scrollback buffer, triggered
Displays a very simple digital clock in the upper right corner of the
window. Illustrates overwriting the refresh callbacks to create your own
overlays or changes.
+.SH "API DOCUMENTATION"
+.IX Header "API DOCUMENTATION"
.Sh "General \s-1API\s0 Considerations"
.IX Subsection "General API Considerations"
All objects (such as terminals, time watchers etc.) are typical
Each script will only ever be loaded once, even in rxvtd, where scripts
will be shared (but not enabled) for all terminals.
- Prepackaged Extensions
- This section describes the extensiosn delivered with this version. You
+PREPACKAGED EXTENSIONS
+ This section describes the extensions delivered with this release. You
can find them in /opt/rxvt/lib/urxvt/perl/.
You can activate them like this:
rxvt -pe <extensionname>
selection (enabled by default)
- Intelligent selection. This extension tries to be more intelligent
- when the user extends selections (double-click). Right now, it tries
- to select urls and complete shell-quoted arguments, which is very
- convenient, too, if your ls supports "--quoting-style=shell".
+ (More) intelligent selection. This extension tries to be more
+ intelligent when the user extends selections (double-click). Right
+ now, it tries to select urls and complete shell-quoted arguments,
+ which is very convenient, too, if your ls supports
+ "--quoting-style=shell".
- It also offers the following bindable event:
+ It also offers the following bindable keyboard command:
rot13
Rot-13 the selection when activated. Used via keyboard trigger:
selection-popup (enabled by default)
Binds a popup menu to Ctrl-Button3 that lets you convert the
- selection text into various other formats/action.
+ selection text into various other formats/action (such as uri
+ unescaping, perl evalution, web-browser starting etc.), depending on
+ content.
searchable-scrollback<hotkey> (enabled by default)
Adds regex search functionality to the scrollback buffer, triggered
the window. Illustrates overwriting the refresh callbacks to create
your own overlays or changes.
+API DOCUMENTATION
General API Considerations
All objects (such as terminals, time watchers etc.) are typical
reference-to-hash objects. The hash can be used to store anything you
return true;
}
-bool
+void
rxvt_push_locale (const char *locale)
{
strcpy (savelocale, curlocale);
#include "../config.h" /* NECESSARY */
#include "rxvt.h"
-#ifdef HAVE_STDLIB_H
# include <cstdlib>
-#endif
+# include <cstring>
+
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
-#if defined(HAVE_STRING_H)
-# include <cstring>
-#endif
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
#endif
#ifdef HAVE_ISASTREAM
# include <stropts.h>
#endif
-#ifdef HAVE_PTY_H
+#if defined(HAVE_PTY_H)
# include <pty.h>
-#endif
-
-// better do this via configure, but....
-#if defined(__FreeBSD__)
+#elif defined(HAVE_LIBUTIL_H)
# include <libutil.h>
-#elif defined(__DARWIN__) || (defined (__MACH__) && defined (__APPLE__))
+#elif defined(HAVE_UTIL_H)
# include <util.h>
#endif
#define SET_LOCALE(locale) rxvt_set_locale (locale)
extern bool rxvt_set_locale (const char *locale);
-extern bool rxvt_push_locale (const char *locale);
+extern void rxvt_push_locale (const char *locale);
extern void rxvt_pop_locale ();
/****************************************************************************/