--- rxvt-unicode/Changes 2006/01/03 22:28:07 1.484 +++ rxvt-unicode/Changes 2007/05/01 21:30:00 1.755 @@ -1,29 +1,407 @@ rxvt-unicode changelog <= google-friendly title -TODO: harmonize --disable-options into position-dependent options. -TODO: after requesting the selection and getting a timeout, no further requests will be sent. -TODO: "slow" rendering mode for bidi and scripts +TODO: xcopyarea pass broken, fix and improve +TODO: event mechanism that replaces on_keyboard_command with something more scalable. +TODO: slipwheeling needs a keyboard grab to get key release events. +TODO: overlays collide with the way the out-of-focus cursor is being drawn +TODO: "slow" rendering mode for bidi and scripts, pango! TODO: read property sequence is broken with respect to utf-8 etc. -TODO: http://www120.pair.com/mccarthy/nextstep/intro.htmld/Workspace.html is the correct nextstep look. -WISH: OnTheSpot editing, or maybe switch to miiiiiiif -WISH: just for fun, do shade and tint with XRender. -WISH: make builtin character glyphs optional +TODO: slow drag selection on remote display - other things seem fast (rxvt illness, motion hints?) +TODO: investigate -pe tabbed -g 80x25 being 23 not 24 or 25 lines + => when setting the constraints, the wm might (correctly) + resize the outer window, which might result in a smaller window overall. + or something like that. guys, send me a patch. +WISH: skipscroll option +WISH: selection-color-pair instead of reverse video +WISH: load system-wide config file even if we don't have one +WISH: look into XAddConnectionWatch, does anybody need that? +WISH: anyevent mouse notification / manage MotionMask better. +WISH: http://www120.pair.com/mccarthy/nextstep/intro.htmld/Workspace.html is the correct nextstep scrollbar look. +WISH: kick out xpm.C, replace by pixbuf +DUMB: support tex fonts + +TODO: add bell event (or generic event to act on such controls). + - nuke reconf script, serves no purpose anymore. + - do not process focus events caused by grabs + (patch by Mikachu). + - better option handling, support more than 30 options (exg). + +8.2 Sat Feb 17 21:35:28 CET 2007 + - fix make depend in src/, reported by exg. + - fixed typo in urxvt::GET_CUSTOM, causing the result to be wrong. + (patch by Sergey Vlasov). + - unbundled iom perl interface somewhat. + - scrollbar-xterm now uses the selected scrollColor instead of fg + (found by Aiviru). + - disabled linux kernel bug workaround again: disabling it gives + a 50% speed hit on affected machines, while enabling it gives + a similar speed hit to screen, which is likely the more common + case to work around for :/ + - urxvt::rend2mask perl function, and utilization of it by matcher + (patch by Moshe Kamensky). + - use perl:matcher on a keysym to open most recently displayed URL. + - with matcher, when multiple patterns match, last wins, not first. + - fix make and make install with srcdir != builddir. + - updated bundled libptytty to fix a bug where the tty would be kept + open (see the libptytty ChangeLog for details). + - delay setting the IUTF8 flag to after the tty settings have been + set so its value does not get lost (reported and analysed by Andrei + Paskevich). + - rip out support for obsolete sgtty.h interface. + - rip out support for non-POSIX termios variants. + - update libptytty. + - update iom.C, make it call ptytty::sanitise_stdfd on init. + - when !XFT, change rounding of colours to use a less correct formula to + meet user expectancies (#aaa becomes #a000a000a000 not #9f9f9f9f9f9f). + - change the starting offset of the pixmap set with backgroundPixmap + from (50,50) to (0,0). + - fix a typo in button_release, now meta-button2 request the value of + the Clipboard selection as it should (patch by Serge Koksharov). + - fix a bug in drawing a cell with a nonspacing char when using an xft + font with inheritPixmap and tintColor. + +8.1 Thu Dec 7 22:27:25 CET 2006 + - ケリスマスプレゼント - zomg!!1, it's too early!!! + - fix the assumption that chars < 256 are single-width. Now + only assume this for codepoints 32 to 126 (reported by Dai.H.). + - $term->strwidth returned wide chars as width 1, because some jerk + confused min and max. Fixing this also fixes xim-onthespot. + Reported by Takano Akio. + - secondaryScroll is now enabled by default (as per the manpage), + reported by exg. + - correct the description of [percent]color rgba format in the manpage. + - incorporated macosx-clipboard extension by Samuel Ljungkvist. + - ignore (some) useless focus events (reported by mmc). + - updated compose table to unicode 5.0.0. + +8.0 Thu Nov 2 18:35:19 CET 2006 + - combining characters cleared the area instead of creating an overlay, + thus losing the ability to draw combining characters properly in most + circumstances (reported by exg). + - specified fonts were incorrectly morphed to bold/italic according to the + basefont, even if explicitly specified (tracked down by tpope). + - fixed urxvt::strwidth to calculate width in the same way as screen.C. + - fix a crash caused by passing negative widths to overlay functions. + - added 'matcher' extension by tpope, replacing the mark-urls extension. + - improve url regex to match anything www.* (tpope). + - fixed bug with outline cursor color being wrong after xft fonts. + - update to libptytty-1.0. + - give proper diagnostic when RXVT_SOCKET is too long instead of + corrupting the stack (patch by exg). + - display current terminal locale in option menu. + - urxvtd no longer crashes when the client sends an inaccessible + working directory (reported by Roland Baer, possibly fixes gentoo + bug #143985). + - fixed many minor issues reported by Roland Baer. + - Leonid Khramov spotted a minor glitch in rxvtfont.C that + should not have any consequences, but was buggy nonetheless. + - manpage fix by exg. + +7.9 Mon Aug 7 18:16:07 CEST 2006 + - fix the crashing bug people encountered with 7.8 + urxvtd + perl + + transparency. Ought to fix debian bug #380348. + - fix urxvtc.1.pod: it actually claimed -pty-fd would not work. But + it does! :-> + - rxvt_fatal() in case the locale string is too long for our static buffer. + - fixed many, many, typos in the manpages (patch supplied by ves). + +7.8 Mon Jul 17 21:00:46 CEST 2006 + - INCOMPATIBLE CHANGE: this version will always read ~/.Xdefaults, + earlier versions only read it if display-resources (usually from + .Xresources) are not set. This avoids the #1 FAQ ("why isn't my + resource used") and seems to be logical behaviour, too. .Xdefaults + resources have a lower priority than display-specific resources. + - add "kuake" perl extension that does a similar thing to the kuake + terminal emulator (see man urxtvperl). + - use less "correct" color scaling that is compatible with libX11 and + Xft (avoids off-by-one colors resulting in striped backgrounds). + - the "depth" resource is now respected. + - preset the searchable-scrollback pattern with "(?i)" to default search + to case-insensitivity. Will automatically be cleared when typing an + uppercase character. + - add FORCE_UNBUFFERED_XFT define to features.h. + - re-enabled highlightcolor support with --enable-frills, based on + a patch by Martin Stubenschrott. + - double-buffered xft drawing did suffer from pixel offset issues + when pixmap transparency was enabled. + - strategically add # to the url-match regexes, as we really want to + match common URIs not common URLs. Reported by Aaron Griffin. + - moved on_osc_seq to on_osc_seq_perl and added a more + generic osc_seq. + - fix a bug causing double callback invocations when perl hooks + were invoked recursively. + - the automove-background extension now properly works when the + pixmap gets reset with an osc sequence (sqweek). + - selection-pastebin did not work properly with non-latin1-characters. + - apply colorUL only when the text colour is the default fg + (patch by Wu Fengguang). + - removed rxvtlib.h from the tarball, it had no reason to be there + (spotted by Decklin Foster). + - fix compiling with TRANSPARENT but !XPM_BACKGROUND, as reported + by omatunto_. + - slap in a using namespace std, might help on platforms that don't + follow C++ closely enough. + - fix mailto url regex, spotted within milliseconds by Jost Krieger. + - applied fade_color_update_func.patch by WU Fengguang. + - fix a bug where (due to an optimisation in av_delete), hiding the + bottom-most overlay would hide two overlays. + +7.7 Tue Feb 21 12:32:49 CET 2006 + - use double-buffered drawing (xft fonts only). On many driver/hardware + combination this actually increases xft drawing speed, at the expense + of more network bandwidth and slight nausea on the side of the author. + - readline perl extension now requires shift-click instead of a normal + click, and eats the click. + - tabbed perl extension now supports -e. + - disabled graphics-exposures on the main drawing GC, report any + refresh bugs please. + - improve property handling for -pe tabbed: avoid unnecessary property + changes (for kde's benefit) at the expense of extra round-trips, + improve size hint setting. + - modified XIM according to a patch sent by Takano Akio that sets + the preedit rectangle for OverTheSpot, which helps some input methods + to correctly position their preedit window. + - un-optimise the line clearing on newly scrolled-in lines a bit: the + former reasoning was that any fg colour on default bg looks the same + in empty spaces, but thats not true when reversing (e.g. selection), + so also check for matching fg colours. This fixes the problem where + selecting newly scrolled-in lines would exhibit wrong colours. + - fix a bug in the perl interface causing focus in events to generate + focus out perl events, causing bad focus effects with -pe tabbed. + - fix a race resulting in a crash on exiting. + - fix a with --disable-xft that caused xfreecolors to be called on + colors never allocated, resulting in aborts (reported by Paco-Paco). + - resources on non-initial screens weren't refetched correctly + (reported by Paco-Paco). + - fix a bug in xcopyarea pass and _disable_ it, as it seems not to be + working in either rxvt-unicode nor in the original rxvt. + - removed undocumented -exec alias for the -e option. + +7.6 Fri Feb 10 08:52:36 CET 2006 + - changed interpretation of [alpha] colour prefix. + - +option now really sets the option to default, instead of using the + resource value. + - options that require an argument now really _require_ an argument. + - the tabbed extension now forwards focus and keys events to th + relevant tab window. + - tab colours are now configurable and have sensible defaults + (initial patch by hednod). + - option menu is extendable, readline, selection and + selection-autotransform can now be disabled/enabled at runtime. + - forcing a configure event to tabbed subwindows with -pe tabbed, for + the benefit of automove-background. + - the automove-background extension added a wrong constant offset. + - force refresh of XA_RESOURCE_STRING on virtual reconnect. + - return exit status 2 in urxvtc when urxvtd couldn't be contacted. + - the linux yield hack is back, now using usleep, and enabled only on + __linux__. + - further round trip eliminations in the !XFT case by remembering + the colour components. + - plain scrollbar works better with -sr. + - fixed half-shadow scrollbar look. + - more colour rtt optimisations. + - properly(?) free colours on window close. + - reorganised the FAQ into multiple sections. + - add ISO646.1991-IRV to the list of supported codesets. + - minor libptytty update. + +7.5 Tue Jan 31 15:15:43 CET 2006 + - further improvements to the careful mode detection, and font width + detection: + - fully double-wide fonts will now be correctly treated, + - overlap detection was improved. + - detect totally broken fonts (usually synthesized by xft). + - careful mode forced refresh sometimes clashed with blinking, + causing unnecessary screen redraws. + - better handling of XFT combining characters. + - enable antialiasing for some replacement fonts, as they + might get used for other encodings which really need it, later. + - remove spacing=100 from all default fonts, as this creates totally + weird spacing (5 times normal) with xft. + - removed iso10646 fallback, as xorgs iso10646 encoded fonts are mostly + broken. + - removed gnu unifont fallback, all combining characters are broken. + - replace named colours by xorg's rgb.txt equivalents, to + reduce round trip time on startup, and short-cut allocation + of rgb:rr/gg/bb for xft. + - short-cut allocation of rgb values in the xlib case + (patch by Paco-Paco). + - overhauled color management: smaller codesize, alpha support. + - support "rgba:rrrr/gggg/bbbb/aaaa" color specifications and + an "[alpha]" prefix. + - try to work around Xft and Xrender forcing everything to be 100% + transparent. Long Live Xft! + - do not include X11/Intrinsic.h anymore, directly use + Xlib/Xutil/Xresource directly. + - try to find a nearest matching color when color allocation fails + on a pseudocolor screen. + - SYNCCVS: compared to rxvt-cvs 2006-01-28, no relevant changes. + - fix version report (DA) (which was unfortunately broken). + - changed version number report again, now to emulate xterm closer. + - added the OSC sequence 702 to detect the urxvt version number. + - small configure updates. + - further RTT optimisations. + - backported clean-up patches for makefiles and documentation from + the debian package. + - updated doc/rxvt-unicode.spec file. It's still not maintained here, + but much newer than the old one. + +7.4 Sat Jan 28 15:26:27 CET 2006 + - screen background wasn't always erased properly when scrolling, + - re-enabled clearing optimisation disabled in 7.4pre. + - small configure updates for libptytty. + - fixed version options: line output. + - removed stoopid debugging message left in the code. + +7.3 Wed Jan 25 22:47:35 CET 2006 + - don't let iso14755 or mouse reporting get into the way of perl + (could lead to global grabs never being cleared). + - experimental OnTheSpot editing support (-pe xim-onthespot). + - moved Shift-Button2 paste combination to Meta-Button2. + - the cutchars resource will now be respected and used by the + selection extension. + - added the "remote-clipboard" extension which just runs external + commands to fetch and store the selection data. + - added -depth switch that tries to get a different visual depth + than the default (replaces the old PREFER_24_BIT logic). + - removed (unused) arabic presentation form composing sequences. + - be more strict when deciding that a core font glyph is too wide and + needs the careful rendering mode. + - allow more leeway for italic fonts when deciding that a character is + too wide and needs careful mode. + - redraw even more characters around characters using careful mode. + - made selection-pastebin fully asynchronous. + - reduced number of server turnarounds at startup by allocating + atoms only once per display. + - renamed on_keyboard_command to on_user_command. + - changed version sos (ESC [ > c) response to be more compatible with + xterm. + +7.2 Sun Jan 22 21:58:16 CET 2006 + - bugfix: urxvt (not urxvtd) did not correctly handle multiple + environments necessary, which resulted in segfaults within + getenv (reproducable: urxvt -fn 9x15, open a menu once, + ctrl-shift-672c). + - bugfix: the selection speedup in in 7.1 unfortunately caused + non-ascii characters to enlarge/move the selection. + - bugfix: resizing sometimes leaked lines from the secondary to + the primary screen. + - bugfix: reducing window size while large amounts of text were output + could lead to an assertion failure. + - added "tabbed" extension that provides a crude tabbed terminal. + - added "readline" extension that allows cursor positioning + via mouse clicks. + - now it is possible to insert the value of the CLIPBOARD selection + with shift - mouse button 2. + - fixed the automove-background extension to ignore coordinates + in non-synthetic events. + - created a separate libpty for portable and secure + pty/tty/utmp/wtmp/lastlog handling, and include it in rxvt-unicode. + - the non-terminfo visual bell now works asynchronously, so + continuous ASCI BELs in one terminal do no longer monopolise the + whole urxvt[d] process. + - support some *BSD makes (for the time being, gnu make is a safe bet). + - work around bugs in FreeBSD's gcc. + - implemented some *BSD fixes in configure. + - removed support for obsolete offix dnd protocol. + +7.1 Thu Jan 19 20:25:34 CET 2006 + - setuid/setgid operation is now _encouraged_: security has been + improved by moving privileged operations into a separate process + and permanently dropping privileges within the terminal. This + makes it possible to remove security checks from the perl code + and gives a much safer feeling when urxvt needs to run with + special privileges. + - perl taint checking disabled, as urxvt no longer runs setuid/setgid + itself. + - new perl extension automove-background that can be used to get + the same effect as pseudo-transparency with any pixmap. + - new perl extension example: perl/selection-pastebin, can be used to + e.g. upload the selection to a webserver and generate a url, or + similar stuff. + - use the scrollback buffer even when the scroll region doesn't + span the whole screen, as long as it starts at row 0. Helps + for programs displaying a status line at the bottom. + - selection popup now shows selection in dec/hex/oct. + - perl/selection: matching on unicode characters in the selection + code was O(n²), which equals infinity in some degenerate cases + :-> Matching is now done on UTF-8, which makes it almost instant. + - perl/selection, perl/selection-autotransform: regexes are now + being interpreted in the locale urxvt was started. + - implemented override-redirect option and enabled it on menus, + as kwin puts our windows behind the terminal (what a shoddy wm). + - fixed struct utmp check in configure for OpenBSD. + - complete overhaul of the pty/utmp management stuff and configure + (Emanuele Giaquinta). + - add tsl/fsl and related capabilities to the terminfo description, + to set the window title. + - swap the environment in some more cases. This hopefully fixes + some segfaults that might be caused by xft asking for env variables + at the wrong time. + - removed src/strings.C and src/menubar.C. No menubar support + anymore. + - removed all traces of SMOOTH_REFRESH. + - nuked QNX support. + - made some fixes to xpm offset and scaling code. + - perl-overlays and refresh hooks were not applied in correct order. + - changed coordinate-system of view_start/nsaved to be top to bottom. + - iom extended to support listening for child exits. + +7.0 Fri Jan 13 14:02:18 CET 2006 + - added sections for DISTRIBUTION MAINTAINERS and about + SETUID/SETGID to the FAQ. + - selection, searchable-scrollback, selection-popup and + option-popup extensions enabled by default. + - increased xft drawing speed for problematic fonts. The effect + will likely be small as 99% of the xft slowness is server-related. + - perl: much increased functionality, better overlays, popup support + and much much more. + - perl: urxvt::line now can set via ->t and ->r. + - perl: changed interpretation of --perl-ext-common and -pe. + - perl: finally implemented --perl-eval. + - perl: non-blocking anyevent support. + - perl: run tainted and ignore perl-eval/perl-lib if started + setuid/setgid. + - free the resource database: this plugs a massive memory leak. As a + 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 pty handling cleanups and improvements (Emanuele Giaquinta). + - mark-urls launch-on-click by jepler. + - removed "small" resource parsing function, as it wasn't really + compatible, and not really small either. + - removed PATH_ENV and PATH file search support. + - removed support for locale-specific app-defaults file. + - fixed a bug where out-of-bounds colour sequences could lead + to crashes. + - limit colour changing to the standard 88 palette instead of all + colours. + - XTerm_Color01 sequence returned wrong results in query mode. + - iom.C now checks against destructed io_manager when unregistering. +6.3 Wed Jan 4 22:37:10 CET 2006 - SECURITY FIX: on systems using openpty, permissions were not correctly updated on the tty device and were left as world-readable and world-writable (likely in original rxvt, - too), and were not restored properly (same as xterm here). - Affected are only systems using non-unix ptys (such as most - BSDs, not GNU/Linux). + too), and were not restored properly. Affected are only + systems where non-unix ptys were used (such as most BSDs, not + GNU/Linux). (found, patched and debugged by Ryan Beasley). - meta8 support was forcefully enabled in most configurations. restored configurability of this (useless) feature (reported - by Mikachu) + by Mikachu). - optionally embed a perl interpreter, which can be used for more intelligent/customized selection support, visual feedback, menus, tabs etc. See the the urxvtperl manpage, the -pe option, perl*-resources and keysym resources. Not everything is there yet. + - try to be more clever about differing font sizes and their ascent. + Not guarenteed to work, but works better in most cases now. - fix directory permissions on install. - - improved sched_yield support. + - implemented option to disable built-in line drawing characters + and fall back to the font ones (patch by Martin Pohlack). + - disabled sched_yield support: the linux version is just too useless + (it schedules nice'd processes before the own one for extended + periods). Too bad, it could reduce system time by a factor of 5 here. 6.2 Mon Jan 2 16:03:01 CET 2006 - implemented intensityStyles option which enables/disables bold/blink @@ -567,7 +945,7 @@ - fix pixmap offset when tinting (reported by Eduard Bloch). - new -sh option by Mikael Magnusson. - off-focus-fading (--enable-fading) support (patch by - Mikael Magnusson). + Mikael Magnusson, based on aterm code). - cursor now set correctly on --disable-blank (reported by Mikael Magnusson). - better (and non-crashing) slipwheeling (Mikael Magnusson). @@ -699,9 +1077,9 @@ - changed locale-setting esc-sequence from code 9 to code 701. also added 702 that returns the font selected for a specific unicode character. - - no longer set XA_CUT_BUFFER0. this is confusing and clients WILL + - no longer set CUT_BUFFER0. this is confusing and clients WILL get it wrong. - - don't use XTextStyle for XA_TEXT, instead use XStdICCTextStyle. + - don't use XTextStyle for TEXT, instead use XStdICCTextStyle. 2.1 Wed Mar 3 21:48:39 CET 2004 - NOTE: the name of the binary and resources were changed in @@ -762,9 +1140,9 @@ 1.8 Mon Feb 2 20:09:18 CET 2004 - almost total conversion to C++. Except for introducing new bugs, this should not change much. - - fix and re-enable background pixmap and inherit pixmap support. - - re-enabled multiple scrollbar support. - - added plain scrollbar style and restored xterm scrollbar. + - fix and re-enable background pixmap and inherit pixmap support. + - re-enabled multiple scrollbar support. + - added plain scrollbar style and restored xterm scrollbar. - blinking and selections work slightly better now. - fix an error condition when rxvt receives more than one screenful of output. should occur with original rxvt, too, but very rarely.