-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: a6cea9df2faeafe5ce13f869430d6553758b3565: path_to: revision_to:
commit a6cea9df2faeafe5ce13f869430d6553758b3565 Author: Marc Lehmann <schmorp@schmorp.de> Date: Sun Jun 15 13:54:16 2008 +0000 *** empty log message *** diff --git a/Changes b/Changes
--- a/Changes +++ b/Changes @@ -22,6 +22,8 @@ TODO: rxvt -font 10x20 -xrm "*.tabbed.font: 10x20" -pe tabbed how does one affect the tab windows themselves? seems not to work anymore. TODO: implement initial chdir for tabs by making it a resource? + - new option --cd/chdir to set the starting working directory. + - tabbed extension now starts in the "correct" working directory. - work around fedore 9 prividing isastream but not the relevant header file for it (report by Tuncer Ayaz). - upgrade to libev-3.31, fixing a bug in the select backend diff --git a/README.FAQ b/README.FAQ
--- a/README.FAQ +++ b/README.FAQ @@ -825,28 +825,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS infocmp -C rxvt-unicode - Or you could use this termcap entry, generated by the command above: - - rxvt-unicode|rxvt-unicode terminal (X Window System):\ - :am:bw:eo:km:mi:ms:xn:xo:\ - :co#80:it#8:li#24:lm#0:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\ - :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ - :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\ - :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ - :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ - :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ - :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h: + Or you could use the termcap entry in doc/etc/rxvt-unicode.termcap, + generated by the command above. Why does "ls" no longer have coloured output? The "ls" in the GNU coreutils unfortunately doesn't use terminfo to @@ -1078,7 +1058,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS wchar_t. This is, of course, completely fine with respect to standards. However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and - "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t. + "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t). "__STDC_ISO_10646__" is the only sane way to support multi-language apps in an OS, as using a locale-dependent (and non-standardized) diff --git a/README.configure b/README.configure
--- a/README.configure +++ b/README.configure @@ -195,9 +195,9 @@ CONFIGURE OPTIONS verbose X error handling --enable-iso14755 (default: on) - Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). - Basic support (section 5.1) is enabled by "--enable-frills", while - support for 5.2, 5.3 and 5.4 is enabled with this switch. + Enable extended ISO 14755 support (see rxvt(1)). Basic support + (section 5.1) is enabled by "--enable-frills", while support for + 5.2, 5.3 and 5.4 is enabled with this switch. --enable-keepscrolling (default: on) Add support for continual scrolling of the display when you hold the @@ -227,14 +227,14 @@ CONFIGURE OPTIONS Add support to have the pointer disappear when typing or inactive. --enable-perl (default: on) - Enable an embedded perl interpreter. See the rxvtperl(3) manpage - (doc/rxvtperl.txt) for more info on this feature, or the files in - src/perl-ext/ for the extensions that are installed by default. The - perl interpreter that is used can be specified via the "PERL" - environment variable when running configure. Even when compiled in, - perl will *not* be initialised when all extensions have been - disabled "-pe "" --perl-ext-common """, so it should be safe to - enable from a resource standpoint. + Enable an embedded perl interpreter. See the rxvtperl(3) manpage for + more info on this feature, or the files in src/perl/ for the + extensions that are installed by default. The perl interpreter that + is used can be specified via the "PERL" environment variable when + running configure. Even when compiled in, perl will *not* be + initialised when all extensions have been disabled "-pe "" + --perl-ext-common """, so it should be safe to enable from a + resource standpoint. --with-afterimage-config=DIR Look for the libAfterImage config script in DIR. diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in
--- a/doc/rxvt.1.man.in +++ b/doc/rxvt.1.man.in @@ -132,7 +132,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2008-01-26" "9.0" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -223,9 +223,9 @@ The following options are available: Print out a message describing available options. .IP "\fB\-display\fR \fIdisplayname\fR" 4 .IX Item "-display displayname" -Attempt to open a window on the named X display (\fB\-d\fR still -respected). In the absence of this option, the display specified by the -\&\fB\s-1DISPLAY\s0\fR environment variable is used. +Attempt to open a window on the named X display (the older form \fB\-d\fR +is still respected. but deprecated). In the absence of this option, the +display specified by the \fB\s-1DISPLAY\s0\fR environment variable is used. .IP "\fB\-depth\fR \fIbitdepth\fR" 4 .IX Item "-depth bitdepth" Compile \fIxft\fR: Attempt to find a visual with the given bit depth; @@ -1099,8 +1099,8 @@ Turn on/off secondary screen (default enabled). .IX Item "secondaryScroll: boolean" Turn on/off secondary screen scroll (default enabled). If this option is enabled, scrolls on the secondary screen will change the -scrollback buffer and switching to/from the secondary screen will -instead scroll the screen up. +scrollback buffer and, when secondaryScreen is off, switching +to/from the secondary screen will instead scroll the screen up. .IP "\fBhold\fR: \fIboolean\fR" 4 .IX Item "hold: boolean" Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ @@ -1537,7 +1537,8 @@ Set to the terminfo directory iff @@RXVT_NAME@@ was configured with .IP "\fB\s-1DISPLAY\s0\fR" 4 .IX Item "DISPLAY" Used by @@RXVT_NAME@@ to connect to the display and set to the correct -display in its child processes. +display in its child processes if \f(CW\*(C`\-display\*(C'\fR isn't used to override. It +defaults to \f(CW\*(C`:0\*(C'\fR if it doesn't exist. .IP "\fB\s-1SHELL\s0\fR" 4 .IX Item "SHELL" The shell to be used for command execution, defaults to \f(CW\*(C`/bin/sh\*(C'\fR. diff --git a/doc/rxvt.1.pod b/doc/rxvt.1.pod
--- a/doc/rxvt.1.pod +++ b/doc/rxvt.1.pod @@ -457,6 +457,12 @@ will not immediately destroy its window when the program executed within it exits. Instead, it will wait till it is being killed or closed by the user; resource B<hold>. +=item B<-cd> I<path> + +Sets the working directory for the shell (or the command specified via +B<-e>). The I<path> must be an absolute path and it must exist for +@@RXVT_NAME@@ to start; resource B<chdir>. + =item B<-xrm> I<string> Works like the X Toolkit option of the same name, by adding the I<string> @@ -1101,6 +1107,13 @@ will not immediately destroy its window when the program executed within it exits. Instead, it will wait till it is being killed or closed by the user. +=item B<chdir>: I<path> + +Sets the working directory for the shell (or the command specified via +B<-e>). The I<path> must be an absolute path and it must exist for +@@RXVT_NAME@@ to start. If it isn't specified then the current working +directory will be used; option B<-cd>. + =item B<keysym.>I<sym>: I<string> Compile I<frills>: Associate I<string> with keysym I<sym>. The diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in
--- a/doc/rxvt.7.man.in +++ b/doc/rxvt.7.man.in @@ -132,7 +132,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 7" -.TH @@RXVT_NAME@@ 7 "2008-01-29" "9.02" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 7 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -1158,30 +1158,8 @@ like this: \& infocmp \-C rxvt\-unicode .Ve .PP -Or you could use this termcap entry, generated by the command above: -.PP -.Vb 10 -\& rxvt\-unicode|rxvt\-unicode terminal (X Window System):\e -\& :am:bw:eo:km:mi:ms:xn:xo:\e -\& :co#80:it#8:li#24:lm#0:\e -\& :AL=\eE[%dL:DC=\eE[%dP:DL=\eE[%dM:DO=\eE[%dB:IC=\eE[%d@:\e -\& :K1=\eEOw:K2=\eEOu:K3=\eEOy:K4=\eEOq:K5=\eEOs:LE=\eE[%dD:\e -\& :RI=\eE[%dC:SF=\eE[%dS:SR=\eE[%dT:UP=\eE[%dA:ae=\eE(B:al=\eE[L:\e -\& :as=\eE(0:bl=^G:cd=\eE[J:ce=\eE[K:cl=\eE[H\eE[2J:\e -\& :cm=\eE[%i%d;%dH:cr=^M:cs=\eE[%i%d;%dr:ct=\eE[3g:dc=\eE[P:\e -\& :dl=\eE[M:do=^J:ec=\eE[%dX:ei=\eE[4l:ho=\eE[H:\e -\& :i1=\eE[?47l\eE=\eE[?1l:ic=\eE[@:im=\eE[4h:\e -\& :is=\eE[r\eE[m\eE[2J\eE[H\eE[?7h\eE[?1;3;4;6l\eE[4l:\e -\& :k1=\eE[11~:k2=\eE[12~:k3=\eE[13~:k4=\eE[14~:k5=\eE[15~:\e -\& :k6=\eE[17~:k7=\eE[18~:k8=\eE[19~:k9=\eE[20~:kD=\eE[3~:\e -\& :kI=\eE[2~:kN=\eE[6~:kP=\eE[5~:kb=\e177:kd=\eEOB:ke=\eE[?1l\eE>:\e -\& :kh=\eE[7~:kl=\eEOD:kr=\eEOC:ks=\eE[?1h\eE=:ku=\eEOA:le=^H:\e -\& :mb=\eE[5m:md=\eE[1m:me=\eE[m\e017:mr=\eE[7m:nd=\eE[C:rc=\eE8:\e -\& :sc=\eE7:se=\eE[27m:sf=^J:so=\eE[7m:sr=\eEM:st=\eEH:ta=^I:\e -\& :te=\eE[r\eE[?1049l:ti=\eE[?1049h:ue=\eE[24m:up=\eE[A:\e -\& :us=\eE[4m:vb=\eE[?5h\eE[?5l:ve=\eE[?25h:vi=\eE[?25l:\e -\& :vs=\eE[?25h: -.Ve +Or you could use the termcap entry in doc/etc/rxvt\-unicode.termcap, +generated by the command above. .PP \fIWhy does \f(CI\*(C`ls\*(C'\fI no longer have coloured output?\fR .IX Subsection "Why does ls no longer have coloured output?" @@ -1461,7 +1439,7 @@ does it support it. Instead, it uses its own internal representation of \&\fBwchar_t\fR. This is, of course, completely fine with respect to standards. .PP However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and -\&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR. +\&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR). .PP \&\f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support multi-language apps in an \s-1OS\s0, as using a locale-dependent (and non-standardized) @@ -1754,6 +1732,8 @@ l l . Ps = 0 Clear to Right (default) Ps = 1 Clear to Left Ps = 2 Clear All +Ps = 3 Like Ps = 0, but is ignored when wrapped + (@@RXVT_NAME@@ extension) .TE .ie n .IP "\fB\fB""ESC [ Ps L""\fB\fR" 4 .el .IP "\fB\f(CBESC [ Ps L\fB\fR" 4 @@ -2321,6 +2301,9 @@ load \fBmona.jpg\fR with a scaling of 100% .IX Item "E]20;;200;?a" rescale the current pixmap to 200% and display the image geometry in the title +.PP + +.IX Xref "Mouse" .SH "Mouse Reporting" .IX Header "Mouse Reporting" .ie n .IP "\fB\fB""ESC [ M <b> <x> <y>""\fB\fR" 4 @@ -2357,6 +2340,9 @@ Col = \fB\f(CB\*(C`<x> \- SPACE\*(C'\fB\fR Row = \fB\f(CB\*(C`<y> \- SPACE\*(C'\fB\fR .SH "Key Codes" .IX Header "Key Codes" + +.IX Xref "KeyCodes" +.PP Note: \fBShift\fR + \fBF1\fR\-\fBF10\fR generates \fBF11\fR\-\fBF20\fR .PP For the keypad, use \fBShift\fR to temporarily override Application-Keypad @@ -2624,10 +2610,9 @@ It also enables some non-essential features otherwise disabled, such as: .Ve .IP "\-\-enable\-iso14755 (default: on)" 4 .IX Item "--enable-iso14755 (default: on)" -Enable extended \s-1ISO\s0 14755 support (see @@RXVT_NAME@@(1), or -\&\fIdoc/rxvt.1.txt\fR). Basic support (section 5.1) is enabled by -\&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, while support for 5.2, 5.3 and 5.4 is enabled with -this switch. +Enable extended \s-1ISO\s0 14755 support (see @@RXVT_NAME@@(1)). +Basic support (section 5.1) is enabled by \f(CW\*(C`\-\-enable\-frills\*(C'\fR, while +support for 5.2, 5.3 and 5.4 is enabled with this switch. .IP "\-\-enable\-keepscrolling (default: on)" 4 .IX Item "--enable-keepscrolling (default: on)" Add support for continual scrolling of the display when you hold @@ -2658,11 +2643,11 @@ Add support to have the pointer disappear when typing or inactive. .IP "\-\-enable\-perl (default: on)" 4 .IX Item "--enable-perl (default: on)" Enable an embedded perl interpreter. See the \fB@@RXVT_NAME@@\f(BIperl\fB\|(3)\fR -manpage (\fIdoc/rxvtperl.txt\fR) for more info on this feature, or the -files in \fIsrc/perl\-ext/\fR for the extensions that are installed by -default. The perl interpreter that is used can be specified via the -\&\f(CW\*(C`PERL\*(C'\fR environment variable when running configure. Even when compiled -in, perl will \fInot\fR be initialised when all extensions have been disabled +manpage for more info on this feature, or the files in \fIsrc/perl/\fR +for the extensions that are installed by default. +The perl interpreter that is used can be specified via the \f(CW\*(C`PERL\*(C'\fR +environment variable when running configure. Even when compiled in, +perl will \fInot\fR be initialised when all extensions have been disabled \&\f(CW\*(C`\-pe "" \-\-perl\-ext\-common ""\*(C'\fR, so it should be safe to enable from a resource standpoint. .IP "\-\-with\-afterimage\-config=DIR" 4 @@ -2689,12 +2674,3 @@ Marc Lehmann <rxvt@schmorp.de> converted this document to pod and reworked it from the original Rxvt documentation, which was done by Geoff Wing <gcw@pobox.com>, who in turn used the XTerm documentation and other sources. -.SH "POD ERRORS" -.IX Header "POD ERRORS" -Hey! \fBThe above document had some coding errors, which are explained below:\fR -.IP "Around line 2681:" 4 -.IX Item "Around line 2681:" -=back doesn't take any parameters, but you said =back X<Mouse> -.IP "Around line 2759:" 4 -.IX Item "Around line 2759:" -=back doesn't take any parameters, but you said =back X<KeyCodes> diff --git a/doc/rxvtd.1.man.in b/doc/rxvtd.1.man.in
--- a/doc/rxvtd.1.man.in +++ b/doc/rxvtd.1.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.35 +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== @@ -25,11 +25,11 @@ .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to -.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' -.\" expand to `' in nroff, nothing in troff, for use with C<>. -.tr \(*W-|\(bv\*(Tr +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -48,22 +48,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +132,11 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2007-12-15" "8.8" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" @@RXVT_NAME@@d \- @@RXVT_NAME@@ terminal daemon .SH "SYNOPSIS" @@ -182,11 +189,11 @@ This is a useful invocation of \fB@@RXVT_NAME@@d\fR in a \fI.xsession\fR\-style script: .PP .Vb 1 -\& @@RXVT_NAME@@d -q -f -o +\& @@RXVT_NAME@@d \-q \-f \-o .Ve .PP This waits till the control socket is available, opens the current display -and forks into the background. When you log\-out, the server is reset and +and forks into the background. When you log-out, the server is reset and \&\fB@@RXVT_NAME@@d\fR is killed. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" @@ -194,9 +201,8 @@ and forks into the background. When you log\-out, the server is reset and .IX Item "RXVT_SOCKET" Both \fB@@RXVT_NAME@@c\fR and \fB@@RXVT_NAME@@d\fR use the environment variable \fI\s-1RXVT_SOCKET\s0\fR to create a listening socket and to contact -the @@RXVT_NAME@@d, respectively. If the variable is missing, -\&\fI$HOME/.rxvt\-unicode\-\fI<nodename>\fI\fR is used. The variable must -specify the absolute path of the socket to create. +the @@RXVT_NAME@@d, respectively. If the variable is missing then +\&\fI\f(CI$HOME\fI/.rxvt\-unicode\-\fI<nodename>\fI\fR is used. .IP "\fB\s-1DISPLAY\s0\fR" 4 .IX Item "DISPLAY" Only used when the \f(CW\*(C`\-\-opendisplay\*(C'\fR option is specified. Must contain a diff --git a/doc/rxvtperl.3.man.in b/doc/rxvtperl.3.man.in
--- a/doc/rxvtperl.3.man.in +++ b/doc/rxvtperl.3.man.in @@ -132,7 +132,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 3" -.TH @@RXVT_NAME@@ 3 "2008-01-25" "8.9" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 3 "2008-06-15" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -1363,10 +1363,9 @@ Used after changing terminal contents to display them. .ie n .IP "$text\fR = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col]])" 4 .el .IP "\f(CW$text\fR = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col\fR]])" 4 .IX Item "$text = $term->ROW_t ($row_number[, $new_text[, $start_col]])" -Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW0\fR -is the topmost terminal line, row \f(CW\*(C`$term\->$ncol\-1\*(C'\fR is the bottommost -terminal line. The scrollback buffer starts at line \f(CW\*(C`\-1\*(C'\fR and extends to -line \f(CW\*(C`\-$term\->nsaved\*(C'\fR. Nothing will be returned if a nonexistent line +Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW\*(C`$term\->top_row\*(C'\fR +is the topmost terminal line, row \f(CW\*(C`$term\->nrow\-1\*(C'\fR is the bottommost +terminal line. Nothing will be returned if a nonexistent line is requested. .Sp If \f(CW$new_text\fR is specified, it will replace characters in the current diff --git a/src/init.C b/src/init.C
--- a/src/init.C +++ b/src/init.C @@ -541,7 +541,7 @@ rxvt_term::init (int argc, const char *const *argv, stringvec *envv) SET_R (this); set_locale (""); - set_environ (envv); // few things in X do not call setlocale :( + set_environ (envv); // a few things in X do not call setlocale :( init_vars (); @@ -553,6 +553,16 @@ rxvt_term::init (int argc, const char *const *argv, stringvec *envv) keyboard->register_done (); #endif + if (const char *path = rs[Rs_chdir]) + if (*path) // ignored if empty + { + if (*path != '/') + rxvt_fatal ("specified shell working directory must start with a slash, aborting.\n"); + + if (chdir (path)) + rxvt_fatal ("unable to change into specified shell working directory, aborting.\n"); + } + if (option (Opt_scrollBar)) scrollBar.state = STATE_IDLE; /* set existence for size calculations */ diff --git a/src/perl/tabbed b/src/perl/tabbed
--- a/src/perl/tabbed +++ b/src/perl/tabbed @@ -57,7 +57,6 @@ sub new_tab { for @{ $self->{resource} || [] }; $term->resource (perl_ext_2 => $term->resource ("perl_ext_2") . ",-tabbed"); - }; push @urxvt::TERM_EXT, urxvt::ext::tabbed::tab::; @@ -209,7 +208,7 @@ sub on_motion_notify { sub on_init { my ($self) = @_; - for (qw(name perl_ext_1 perl_ext_2)) { + for (qw(name chdir perl_ext_1 perl_ext_2)) { my $val = $self->resource ($_); push @{ $self->{resource} }, [$_ => $val] diff --git a/src/rsinc.h b/src/rsinc.h
--- a/src/rsinc.h +++ b/src/rsinc.h @@ -5,6 +5,7 @@ def (iconName) def (geometry) def (reverseVideo) + def (chdir) def (color) reserve (color, TOTAL_COLORS) def (font) diff --git a/src/rxvtc.C b/src/rxvtc.C
--- a/src/rxvtc.C +++ b/src/rxvtc.C @@ -98,7 +98,6 @@ main (int argc, const char *const *argv) } c.send ("NEW"); - c.send ("CWD"), c.send (cwd); for (char **var = environ; *var; var++) c.send ("ENV"), c.send (*var); @@ -107,6 +106,9 @@ main (int argc, const char *const *argv) base = base ? base + 1 : argv[0]; c.send ("ARG"), c.send (strcmp (base, RXVTNAME "c") ? base : RXVTNAME); + c.send ("ARG"), c.send ("-cd"); + c.send ("ARG"), c.send (cwd); + for (int i = 1; i < argc; i++) c.send ("ARG"), c.send (argv[i]); diff --git a/src/rxvtd.C b/src/rxvtd.C
--- a/src/rxvtd.C +++ b/src/rxvtd.C @@ -174,16 +174,6 @@ void server::read_cb (ev::io &w, int revents) break; else if (!strcmp (tok, "ENV") && recv (tok)) envv->push_back (strdup (tok)); - else if (!strcmp (tok, "CWD") && recv (tok)) - { - if (chdir (tok)) - { - delete envv; - delete argv; - return err ("unable to change to working directory to '%s', aborting: %s.\n", - (char *)tok, strerror (errno)); - } - } else if (!strcmp (tok, "ARG") && recv (tok)) argv->push_back (strdup (tok)); else @@ -211,7 +201,7 @@ void server::read_cb (ev::io &w, int revents) term->log_hook = 0; - chdir ("/"); + chdir ("/"); // init might change to different working directory if (!success) term->destroy (); diff --git a/src/urxvt.pm b/src/urxvt.pm
--- a/src/urxvt.pm +++ b/src/urxvt.pm @@ -1264,7 +1264,7 @@ are supported in every build, please see the source file F</src/rsinc.h> to see the actual list: answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont - borderLess color cursorBlink cursorUnderline cutchars delete_key + borderLess chdir color cursorBlink cursorUnderline cutchars delete_key display_name embed ext_bwidth fade font geometry hold iconName imFont imLocale inputMethod insecure int_bwidth intensityStyles italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier diff --git a/src/xdefaults.C b/src/xdefaults.C
--- a/src/xdefaults.C +++ b/src/xdefaults.C @@ -93,6 +93,7 @@ optList[] = { SWCH ("C", Opt_console, 0, "intercept console messages"), SWCH ("iconic", Opt_iconic, 0, "start iconic"), SWCH ("ic", Opt_iconic, 0, NULL), /* short form */ + STRG (Rs_chdir, "chdir", "cd", "string", "start shell in this directory"), BOOL (Rs_reverseVideo, "reverseVideo", "rv", Opt_reverseVideo, 0, "reverse video"), BOOL (Rs_loginShell, "loginShell", "ls", Opt_loginShell, 0, "login shell"), BOOL (Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, 0, "jump scrolling"),
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 11:47:07 2024