*** empty log message ***
[dana/urxvt.git] / Changes
diff --git a/Changes b/Changes
index 524ded4..ee6ffab 100644 (file)
--- a/Changes
+++ b/Changes
-Lines marked with "xterm:" indicate either xterm features ported to rxvt
-or changed rxvt behaviour to make it more compatible to xterm (usually
-xfree86's xterm).
+TODO: underline cursor, simply using underline
+TODO: better default settings for hangul: ex. 냻
+22:32 <zrajm> I *really* like the pointerBlank feature -- though I'd like it to *only* 
+              hide the pointer when I hit a key, never on a timeout -- I kinda 
+              expected that it would work this way if I set pointerBlankDelay to 0 but 
+              that more or less turns the pointer completely off inside the urxvt 
+              window.. not the behaviour I expected.
+22:43 <zrajm> E.g. xterm has a couple of settings for when you select using 
+              tripple-clicking (entire lines). I've become quite used to 
+              "xterm*cutToBeginningOfLine: off" (which causes the first line to be 
+              selected only from the beginning of the word under the cursor) and 
+              "xterm*cutNewline: off" (which causes xterm not to include the newline 
+              character of the last line selected) -- these are especially swell when 
+              I select urls (which usually occur on a line by the
+TODO: custom keymap must not "overwrite" default keymap
+TODO: do font request caching, might help rxvtd on some machines
+TODO: safer command: keymap processing.
+TODO: "slow" rendering mode for bidi and scripts
+TODO: read property sequence is broken with respect to utf-8 etc.
+WISH: keyboard modification via esc-sequences.
+WISH: line-rewrapping on resize
+WISH: searchable backlog
+WISH: meta-tagging of data by regex (my dream project)
+WISH: double-click: more intelligent (urls etc.)
+WISH: OnTheSpot editing, or maybe switch to miiiiiiif
+WISH: tabbed windows (hey, just use screen...)
+WISH: just for fun, do shade and tint with XRender.
 
-TODO: implement xterm keymap option, for full TERM=xterm compliance.
-TODO: multibyte support for setwmname et al.
-TODO: there are other todo items, but they are not in this file.
-TODO: tabbed windows
+5.5  Sat Apr 23 22:31:36 CEST 2005
+       - re-enabled modifer state matching as in 5.3, but implement
+          a new builtin: keysym style that simply reverts to the built-in
+          meaning of the given key.
+        - use scrollcolor for next scrollbar instead of hardcoded antiquewhite
+          (patch by Martin Edlman).
+
+5.4  Mon Apr 18 00:33:31 CEST 2005
+       - match modifier state exactly in custom keyboard code.
+          this is necessary because it has no knowledge about
+          built-in mappings and so will overwrite them. the priority-code
+          will be re-enabled when this has changed, so watch out.
+       - cursor blinking now depends on frills.
+        - underline cursor mode (frills, -uc).
+       - implement special value (*g*) for pointerBlankDelay
+          to disble it.
+
+5.3  Sun Mar 13 00:20:44 CET 2005
+       - fix a bug that allowed to overflow a buffer via a long
+          escape sequence, which is probably exploitable (fix by
+          Rob Holland / Yoann Vandoorselaere / Gentoo Audit Team).
+        - Custom key mappings no longer confuse mouse buttons
+          with modifiers.
+       - use XmbSetWMProperties instead of XSetWMProperties.
+       - properly update WM_LOCALE.
+        - implement _NET_WM_PING protocol.
+        - implemented escape sequences to move the scrollback buffer view
+          and clear the scrollback buffer.
+
+5.2  Sun Feb 20 01:48:59 CET 2005
+       - new option -pty-fd that makes the terminal a slave
+          that uses an existing pty for I/O instead of starting
+          a command.
+        - implement enough of XEMBED to allow for correct focus.
+        - added doc/embed-tk, an embedding example in Perl/Tk,
+          and doc/rxvt-tabbed, a primitive tabbed shell implemented
+          in Perl/Gtk2.
+        - fix assertion failure ("crash") on mousewheel-scrolling
+          when the terminal height is small, by removing the assert.
+          (reported by Mikael Magnusson).
+        - SYNCCVS. backported bugfixes done to rxvt
+          (sourceforge bugs #1028739, #1028732), except for
+          pts/%s fix as it seems to collide with freebsd,
+          and sourceforge bug #954654, which is not neccessary.
+        - change terminfo file to not clobber G1 when using
+          line-drawing characters, as this seems to mess
+          with EUC-JP (it will clobber G0, but G0 practically
+          needs to be US-ASCII all the time).
+        - toggle default application keypad/cursor mode to help
+          some apps who fail to set the correct mode.
+        - check for WM_PROTOCOLS type in ClientMessage as to
+          not destroy the window for other types of messages.
+       - remove shared library (or any library) support - it is
+          of no use currently (and -embed is a better way to embed
+          rxvt-unicode).
+        - get rid of the intpro files.
+
+5.1  Tue Feb 15 17:13:27 CET 2005
+       - fix a bug when parsing fontnames and another one
+          for empty keymaps which could result in crashes
+          (Kuang-che Wu).
+        - new option: -embed (frills). somebody could write a simple
+          tk script to make a tab'able terminal now...
+        - only warn on X errors and _try_ to continue (frills).
+        - add COPYING back, which got lost somehow.
+        - after deciding that LSM is dead, remove all traces of it,
+          along with other, similar, cleanups.
+        - _try_ to react sensibly to some non-monotonic time changes.
+        - don't crash in urxvtc when getcwd fails (reported by Paco-Paco).
+        - tweak font searching algorithm a bit to be faster and more
+          compatible with older rxvt-unicode versions when multiple fonts
+          match (reported by Paco-Paco).
+        - urxvtd tries to stay in "/" whenever possible.
+
+5.0  Fri Feb 11 18:31:48 CET 2005
+       - document a race-free hack to start urxvtd.
+        - document all(?) environment variables used and set by rxvt.
+        - bring xgetdefault-style resource file ordering more in line with
+          Xt, and document it in rxvt(1).
+        - correctly use screen-dependent resources when --enable-xgetdefault,
+          and also fix some memory bugs (thanks to Thierry Reding for
+          his patience and time in tracking this down).
+        - bring own resource parsing more in line with X resource parsing,
+          most notably, don't remove double quotes.
+       - compile fix for freebsd (no ut_id) (Thierry Thomas).
+        - clean up utmp and pty on X I/O errors and signals (idea
+          by Joël Riou).
+        - "un"document -xrm, it never really worked, was only
+          available with --enable-xgetdefault, is not necessary
+          and is surprisingly hard to implement.
+        - shaved off some code segment size.
+        - various code cleanups.
+        - more keysym-mapping fixes.
+
+4.9  Thu Feb  3 09:52:03 CET 2005
+        - nuke out utmp entries completely. Should be fixed in
+          original rxvt, too. (reported by James Michael Fultz).
+        - resizes wil now correctly refresh the displayed text when
+          -pixmap is active.
+        - new option/resource imFont.
+        - document --tripleclickwords/-tcw.
+        - select logical instead of physical lines when doing a triple-click.
+        - reordered help listing to group similar options together.
+        - handle SIGINT the same way as SIGTERM (reported by Joël Riou).
+        - fix a bug introduced while applying the keyboard patch
+          (WU Fengguang).
+        - document all window-op sequences (rxvt.7.) and more keysym
+          examples (rxvt.1).
+        - removed src/test completely.
+        - renamed keysym 'proto:'-prefix to 'command:'.
+
+4.8  Tue Jan 18 02:23:57 CET 2005
+        - added a patch by WU Fengguang that makes the keyboard
+          highly configurable (e.g. locale changes, custom escape
+          sequences, and more). See keysym resource in rxvt(1).
+        - remove default key sequence for unknown keys again, as this
+          can be achieved by customizing the keyboard now.
+        - fix some freeing problems when destroying the rxvt_display,
+          resulting in segfaults.
+        - don't crash when the saved cursor position doesn't fit on the
+          screen (wrong assert in original rxvt, reported by ikaro).
+        - fix signed/unsigned bugs on wc<->mb conversions.
+        - reset slipwheel scrolling speed when reaching the top or bottom
+          (Mikael Magnusson).
+        - for core fonts, use ascent + descent when a font is loaded,
+          and PIXEL_SIZE when not. when loading a font, iterate until a
+          font has been found that _really_ fits the height (reported and
+          tested by Olivier Wittenberg).
+        - set IUTF8 input flag, when defined (linux-2.6.5+).
+        - only define _XOPEN_SOURCE on solaris.
+        - autogenerate src/* dependency list.
+        - fixed linespace option, which ought to work now (and is dependent
+          on frills, not on it's own configure option).
+        - include pty.h, if available (cygwin).
+        - removed W11 directory from dist, it wasn't used anyway.
+        - initialize the locale much earlier.
+        - fixed two tiny per-instance memory leaks.
+
+4.7  Wed Dec 29 20:54:24 CET 2004
+        - fix a bug in the event logic that could cause the temrinal to be
+          black on initial startup.
+        - do NOT call XCloseIM, ever. This causes way to many crashes due to
+          races in the protocol and within Xlib.
+       - map iso-left-tab to the same sequence as shift-tab.
+        - generate a unique escape sequence for many unknown keys, such as
+          additional multimedia keys.
+        - mask out high (non-unicode) bits on wide characters, to cope with
+          implementations that store tag info in the high bits.
+
+4.6  Thu Dec 16 07:54:23 CET 2004
+       - try very hard not to exhaust the kernel tty buffers, even
+          if it slows down large pastes and is only cosmetic.
+        - streamline atom and xft color allocation to reduce startup
+          time (12.8s -> 7.8s on my dsl). Still, doing it with only 2-3
+          turnarounds would be much faster, but impossible to implement(?).
+        - implement underlineColor resource when ENABLE_FRILLS.
+        - iom left it's signal pipe handle open in the child
+          process. Fortunately not security-relevant as the pipe data gets
+          ignored.
+        - do not use XSETROOTPMAP_ID anymore, support ESETROOT_PMAP_ID
+          instead.
+        - fix a crash in rxvtd when the last window was being closed
+          (reported by hednod).
+        - fix an unlikely memory leak.
+        - fix atom name enumeration.
+
+4.5  Mon Dec 13 07:47:16 CET 2004
+       - fix an extremely nasty bug in utf8-conversion. upgrade is advised.
+        - completely re-wrote selection pasting. This should fix garbled
+          incomplete characters at 32k boundaries and too-short INCR
+          selections, and more. Increases memory requirements considerably
+          for large selections, but that seems unavoidable.
+
+4.4  Sun Dec 12 22:10:06 CET 2004
+       - rewrote handling of default-char width.
+        - implement _NET_WM_NAME et al., and also use UTF8_STRING
+          for the xterm property esc. sequence. Allows i18n window
+          titles etc.
+        - SMART_WINDOW_TITLE removed, pls. complain if you need this.
+        - added GBK encoding (formidable patch by WU Fengguang).
+        - fixed a bug in the transparency code.
+        - upgraded iom.[Ch].
+        - force slower (but more responsive) transparency update.
+        - fix off-by-one bug with wide characters at the end of a line,
+          which got partially overwritten by spaces.
+        - as xlib is completely broken with respect to utf-8 handling
+          and nobody is going to fix it, that part has been re-implemented.
+          should fix most paste problems between apps that use UTF8 encoding
+          and rxvt running in a lesser-supported locale (thanks to Robin Redeker
+          for writing utf8towcs). Only enabled with ENABLE_FRILLS.
+        - darwin compile fix by Ethan Blanton.
+        - fix the colour of the underline, which was rather random before.
+
+4.3  Sat Dec  4 04:58:37 CET 2004
+        - unapply the "emulated graphical chars. respect wcwidth" patch.
+          obviously in locales not having these characters they should
+          still have a width. Solve it correctly by not relying on wcwidth.
+          Note to self: do not ever apply patches without checking them
+          thoroughly.
+       - updated .spec file, it's included in the release tarball
+          now, too.
+
+4.2  Wed Dec  1 03:30:22 CET 2004
+       - make emulated graphical characters respect wcwidth (Kuang-che Wu).
+        - remove debugging code that caused major slowdowns
+          on high-latency networks.
+        - wide characters shift the correct number of characters
+          in insert mode now. Reported by Gunnar Ritter.
+        - doc/rxvt-unicode.spec file contributed by Ville Herva.
+        - make storage of tab movements as characters optional
+          on the -ptab option and pastableTabs: resource. On request
+          by Gunnar Ritter.
+        - fix a bug where :size= argument for xft fonts was ignored
+          or used incorrectly. Reported by Ville Herva.
+
+4.1  Sun Nov 21 21:10:19 CET 2004
+       - save and restore cursor position in secondary screen regardless of
+          -ssc/-ssr settings.
+       - fix some 64-bit bugs that lead to crashes with certain other
+          programs like vncviewer (original rxvt also affected).
+       - added doc/podtbl to the dist tarball.
+        - add compile fix for darwin.
+        - configure fix for transparency without tinting.
+        - changed CN to ZH _really_ everywhere.
+        - upgraded iom.[Ch].
+
+4.0  Mon Sep 13 01:10:26 CEST 2004
+       - turn off autohinting for some badly-hinted fallback fonts.
+        - mnaapge tpyo crorcetoins by Bastian Kleineidam.
+        - implemented rectangular selections (button+meta), experimental.
+        - implement race-free signal handling in iom.C.
+        - use iom.C signal handling to avoid races in signal handling.
+        - use default action on SIGINT and SIGQUIT, instead of terminating.
+        - "the return of the 100 times per second refresh bug".
+          ... terminated by a fix.
+        - new supported preeeditType "None".
+        - added FAQ about possible compose key problems.
+        - changed CN to ZH everywhere (sorry for the confusion).
+        - move XFilterEvent up, as some input method seem to want events
+          for windows not requesting XIM. Please report if this change
+          causes any harm (specially with pointerblanking)
+          (patch by Kuang-che Wu).
+        - send the input method spot position on every refresh, not just
+          when rxvt thinks it should (which was not often enough...).
+        - fix double-wide combining characters (it might look a bit ugly,
+          though, but common cases are handled by normalization anyways).
+        - moved FAQ to rxvt(7), also made a copy into README.FAQ.
+        - fix a bug(?) in the XIM destroy callback.
+        - be more conservative when trying to register new input methods,
+          as Xlib races might make rxvt crash. When two or more
+          input methods are active, killing one probably still crashes rxvt
+          due to that bug :( Thanks a lot to Kuang-che Wu for immense help
+          in tracking this down.
+        - manpages (but not .txt and .html versions) will be patched (during
+          make install) with the correct program name and other info.
+
+3.9  Wed Aug 25 19:24:04 CEST 2004
+       - the change to unsigned int from unsigned short broke
+          many signed comparisons, resulting in failed assertions.
+
+3.8  Wed Aug 25 05:46:56 CEST 2004
+        - WARNING: TERM=rxvt-unicode is now *default* unless compiled
+          differently. A terminfo entry will automatically be compiled and
+          installed if tic is available.
+        - fixed some --disable switches that didn't work.
+        - tweaked src/features.h a bit.
+        - removed README.unicode.
+        - support select&paste of tab characters.
+        - fixed a segfault when trying to load nonexistant fonts (reported
+          by Eduard Bloch and Mikael Magnusson).
+        - fixed a long-standing rxvt bug in which rxvt failed to save
+          and restore the correct cursor position on the secondary screen.
+        - reworked rxvt-unicode terminfo to allow more efficient and less flickering
+          screen updates with curses.
+        - wide characters that are being halfway overwritten are now replaced
+          by spaces.
+        - urxvtc now transmits urxvt as default name, not urxvtc anymore
+          (likewise for other names chosen at configure time).
+        - disabled the automatic font lookup for unknown characters. xft
+          is just too slow for this to work.
+        - changed realbold code, implemented _real_ bold and italic support,
+          where _real_ means the symbiosis of what I want with what I can
+          implement. use --enable-styles.
+        - removed 256 color mode, but enable 88 colours in all modes
+          (88 to be compatible with 88 colour xterm which is widely
+          supported, and most programs assume a non-iso colourtable
+          for terminals with "odd" number of colours).
+        - added doc/etc/rxvt-unicode.terminfo which is a big overhaul
+          compared to the old rxvt terminfo.
+       - sped up xft rendering by 30% *iff* the font allows it (i.e. is
+          monospaced "enough") *and* matches the base font in width.
+        - implement positive and negative character-font caching, which
+          speeds up output immensely in case a character cannot be found
+          (only for non-bold right now).
+        - fix segfault in fading code on certain escape sequences.
+        - better default font size and style.
+        - rxvt-unicode is now much more picky about fonts not fitting
+          into the base font, but to offset this it will check each
+          single character against the base font extents and will only
+          use the characters fitting into the bounding box (+ some fudge).
+        - characters not fitting into the base boundary box will now often
+          be used anyways, but the following characters will be redrawn
+          more often to avoid pixel-droppings. This is like the original
+          rxvt pixel-dropping pass but it's much faster.
+        - scrollColor now affects plain scrollbar (Mikael Magnusson).
+        - fixed segfault in overlay code when height was larger than the
+          screen height.
+        - cursor no longer shines "through" the overlay.
+        - 7-bit ST marker detection was broken.
+        - scrollbar didn't come back sometimes when switching it
+          off/on using escape sequences (Mikael Magnusson).
+        - fix lots of colour problems with focus fading.
+        - $COLORFGBG was not set as documented.
+        - fix iso 14755 5.1 support when --enable-frills but --disable-iso14755.
+        - removed OSC 702.
+        - disabled MOUSE_REPORT_DOUBLECLICK by default, as programs seem to be
+          confused by it rather than using it.
 
 3.7  Tue Aug 17 04:22:25 CEST 2004
        - new configure option --enable-iso14755.
@@ -173,16 +510,16 @@ TODO: tabbed windows
           for the keymappings.
         - don't leave the X or rxvtd sockets open in child processes.
           (inherited fd's stay open - different to rxvt).
-       - xterm: implemented OSC3, set/get window property. get is an
-          extension and is slightly ugly.
+        - xterm-compat: implemented OSC3, set/get window property. get is
+          an extension and is slightly ugly.
        - removed --disable-swapscreen and SCROLL_ON_NO_SECONDARY and
           replaced them by runtime-configurable options secondaryScreen and
           secondaryScroll (-ssr and -ssc) (see debian bug #237673).
        - close down terminal window when child exits. (debian bug #241267).
-        - xterm: enable seperate mouse bg colour setting.
+        - xterm-compat: enable seperate mouse bg colour setting.
         - re-enable mouse cursor colours again, fixing colours when fg/bg are
           overwritten (as is common).
-        - xterm: correctly implement privmodes 1047, 1048, 1049.
+        - xterm-compat: correctly implement privmodes 1047, 1048, 1049.
         - ported to solaris by elmar@math.uni-bremen.de.
 
 2.6  Fri Apr  2 03:24:10 CEST 2004
@@ -190,8 +527,8 @@ TODO: tabbed windows
         - WARNING: changed menu sequence from ESC ] 10 to ESC ] 703 to
           avoid clashes with xterm.
         - changed OSC701/OSC702 sequence to return standard escaped reports.
-        - xterm: make set window colour and other requests report window
-          colour when arg is "?".
+        - xterm-compat: make set window colour and other requests report
+          window colour when arg is "?".
         - enable colour tinting of "transparent" backgrounds.
         - stop ST sequences earlier, as we now react on 0x90 and thus
           cause conditions more often that look like locks but are, in