Require C++11
Improve naming of extended mouse private mode constants
Implement xterm SGR mouse mode
*** empty log message ***
Move old bg image frontend to background extension.
Add extension autoloading based on resources.
*** empty log message ***
24-bit color cube collision avoidance (patch by Fengguang Wu) When the color cube slot is found to be already occupied by a similar 24-bit color, search through the -1, 0, +1 R/G/B indices trying to find an empty slot, or the oldest used one (which hopefully is no longer in active use). This effectively reduces random collisions, hence make it pretty hard to hit a vim GUI color scheme that cannot be correctly showed in urxvt.
*** empty log message ***
24-bit direct color support (patch by Fengguang Wu) Support directly setting RGB fg/bg colors via ISO-8613-3 24-bit ANSI color escapes: ESC[38;2;<r>;<g>;<b>m Select RGB foreground color ESC[48;2;<r>;<g>;<b>m Select RGB background color The killer applications for me are vim in tmux. It'll not only modernize their look and feeling, but also bring more eye friendly color schemes. Very helpful for long time programmers. To avoid memory overheads and keep the patch non-intrusive, it takes the approach to adapt the nearest color in an hidden 6x6x4 (88-color mode) or 7x7x5 (256-color mode) color cube to the new 24-bit RGB color. The pros/cons are: +) least memory footprint (close to 0) comparing to konsole, gnome-terminal etc. real 24-bit arrays +) exact colors and excellent user feelings comparing to xterm, mlterm, etc. approximating to 256 palette +) usable in both the existing 88/256-color modes Most vim GUI color schemes show up the same as gvim in rxvt-unicode's 88-color mode, not to mention the 256-color mode. Typical applications only use one or two dozens of colors at the same time. -) may not be able to show 2+ close 24-bit colors RGB colors close to each other will likely fall into the same slot in the 6x6x4 or 7x7x5 color cube. If necessary, it could be improved effectively by implementing some collision avoidance logic, trying to find empty/eldest slot in the +1/-1 r/g/b indices (ie. 3-8 neighbors). The CPU overheads of map_rgb24_color() look ignorable: I feel no perceptible slow down when doing vim operations in 24-bit color mode. A micro benchmark running a test script from [1]: % time (for i in {1..100}; do 24-bit-color.sh; done) vanilla rxvt-unicode ==================== 2.42s user 1.88s system 31% cpu 13.555 total 2.59s user 1.74s system 31% cpu 13.615 total 2.46s user 1.85s system 31% cpu 13.631 total THIS PATCH (adapt hidden color cube to 24-bit) ============================================== 2.33s user 1.97s system 31% cpu 13.598 total 2.46s user 1.89s system 31% cpu 13.613 total 2.51s user 1.82s system 31% cpu 13.556 total https://github.com/spudowiar/rxvt-unicode (real 24-bit array) ============================================================= 2.61s user 1.75s system 31% cpu 13.721 total 2.48s user 1.82s system 31% cpu 13.566 total 2.60s user 1.76s system 31% cpu 13.631 total USE_256_COLORS is defined in all the above rxvt-unicode builds. References: [1] True Colour (16 million colours) support in various terminal applications and terminals https://gist.github.com/XVilka/8346728 [2] https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
Implement xterm focus reporting mode. Patch by Daniel Hahler.
Bail out if --disable-resources is given and either frills or perl is enabled.
Fix build with --disable-resources --enable-(perl|frills).
*** empty log message ***
remove apparently useless and outright dangerous code
*** empty log message ***
Add DEC private mode 12.
Fix optimization in refresh for cells containing a space. scr_refresh skips refresh for cells containing a space and whose rendition attributes defining the bg color have not changed. However, the computation of such attributes erroneously assumes that, if reverse video is set, the bg color is given by the fg color, which is not true in the case where bg == fg. This causes cells with a space and bg == fg not being refreshed also when the reverse video attribute has changed, as observed in red hat bug #830236. Fix the bug by amending the attributes test so that the refresh of such a cell is performed if the reverse video attribute has changed.
Shield against libraries calling setenv.
Use XGetKeyboardMapping instead of XKeycodeToKeysym.
Make $term->_keysym_resources return only valid keysym resources.
Add DECSCUSR xterm extension to set the cursor to a vertical bar.
Add -mc option and multiClickTime resource, patch by Joe Peterson.
*** empty log message ***
*** empty log message ***
Fix last change.
Rename parse_keysym to bind_action.
Add tt_write wrapper for user input and use it for 'string:' actions.
*** empty log message ***
*** empty log message ***
Fix regression in 2013-03-27 change that broke continuous scrolling when pressing and holding the scrollbar up or down button, gentoo bug #493992.
Fix build with --disable-transparency --disable-perl.
Simplify.
if it breaks, the pieces will be sharp
Add support for the set cursor style (DECSCUSR) control function.
*** empty log message ***
When rendering the cursor, modify also the rendition of the filler chars that belong to the char in the cursor cell. This fixes a rendering bug that occurs if the character in the cursor cell has width > 1 and both it and the character to the right have the careful bit set and the same rendition. Bug reported by Tiago Resende.
Add shade operator to rxvt_img.
Factor the code to copy a line into a method.
Simplify.
Inline two methods in their callers.
Get rid of BG_IS_VALID flag.
Simplify reset of bg_flags.
Properly manage BG_IS_TRANSPARENT flag in core bg image code.
Make code needed to set the bg pixmap conditional to HAVE_IMG.
Revise preprocessor macros that control the core bg image code. Move definition of BG_IMAGE_FROM_FILE in rxvt.h and add analogous BG_IMAGE_FROM_ROOT macro that is set if the code to manage the root pixmap is needed.
indent
Revert refactoring no longer needed.
Set pointer to 0 after delete.
Do not abort if loading an image with OSC 20 fails.
Simplify.
Switch background.C to rxvtimg api (xrender is now required).
Add a flag to inhibit bg image management in core.
Change bg_render return type to void.
Remove image vector implementation.
*** empty log message ***
*** empty log message ***
*** empty log message ***
some #ifdef => #if changes
Move get_pixmap_property to rxvt_display.
Move detection of render extension in rxvt_display, and check also if the render version is recent enough to provide the multiply operator.
*** empty log message ***
Fix style.
Rename method.
Remove unused flag.
Refactor tint/blur variables and methods into a new image_effects object, so as to be able to apply such effects to multiple images.
Update the size sensitive flag of all images after resources parsing.
add some ecb_hot/ecb_cold
remove references to salloc.h
use one big chunk for all line_t's and rend/text data, get rid fo salloc
Implicitly sort the image vector by using the image id as index in vector.
Revert back to manual deallocation for pixbufs. There is no simple way to use auto_ptr with custom deallocators.
First cut at adding support for multiple images.
Factor the code to parse a boolean resource and to find all the resources matching a given prefix into new methods.
Always render the pixbuf to a pixmap in ARGB32 format when blending.
Simplify.
Simplify.
mikachuopt
*** empty log message ***
Renumber bg enum constants and shrink bg_flags.
Generalize blending in render_image.
Refactor code to manage images from files into a new rxvt_image object, so as to be able to load multiple images.
Remove useless arguments in tint/blur methods.
Simplify.
Simplify.
Fix disabling of cursor blink with the option-popup menu. Based on a patch by Jan Larres.
Simplify.
Simplify.
Remove deprecated libAfterImage image backend.
*** empty log message ***
Include the C standard headers rather than the corresponding C++ version.
Use a temporary pixmap to apply blur with xrender. Using the same pixmap as source and destination drawable is not valid apparently.
Store the size of the vt window into two new members vt_width/height and keep the maximum size in width/height, so that the $term->width/height accessors return the same value as in pre 9.14.
Remove unused member.
Get rid of env_windowid and env_colorfgbg members by dynamically allocating the corresponding strings in the child.
Add a flag to check if the terminal init is completed, rather than abusing env_colorfgbg.
Remove useless free, the memory is allocated in the child process only.
Remove write-only variables.
Revert 2011-12-28 change.
Simplify.
Rename shade_ximage to tint_ximage and change it to a method.
Move parsing of '-e' option in get_options. Fixes options parsing when '-e' occurs as an option argument, such as in 'urxvt -title -e'.
hopefully clearer handling of argv/envv
Rename 'pscale' and 'root' pixmap operations to 'keep-aspect' and 'root-align', respectively.
Cleanup handling of argv/env. Move assignment and zero termination of envv in stringvec init () and add zero termination of argv.
Add on_register_command hook and register_command method.
Fix range check on colour in {b,f}gcolor_of that prevented correct display of bold bright black, reported by Ben Winslow.
Revert 2011-08-21 change. The 'focus' and 'mapped' perl accessors assume that the corresponding variables have type int and it is not worth changing.
Manually inline set_privmode, decreases code size.
Use bool for boolean variables.
Do not tile the bg image when a scale value of 0 is specified. This change makes it possible to disable both scaling and tiling (tiling can still be enabled with the 'tile' tag).
Remove camelcase in some function names.
Use rxvt_temp_buf to allocate the temporary line objects needed in scr_scroll_text rather than allocating more space in row_buf.
Migrate to libecb.
Fix compilation on systems that do not provide a definition for PATH_MAX, such as GNU/Hurd.
Cleanup.
Fix some comments.
Change type of 'parent' from array of Window to Window as all the elements except the first are unused.
*** empty log message ***
*** empty log message ***
Do not allow more than one concurrent selection request and delete the ongoing selection request, if any, on destruction of the terminal, to avoid a use-after-free crash.
Factor the code to request a selection property into a new toolkit-level object.
Remove useless code.
The return type of ev_now is ev_tstamp, not double.
Simplify.
Change 'have_image' boolean to a flag.
Cosmetic, rename background pixmap flags.
Remove bgPixmap_t struct, move background pixmap handling in rxvt_term.
Merge bgPixmap_t::apply in rxvt_term::scr_recolour.
Generalize rxvt_splitcommastring to accept any char as delimiter and optimize it to use a single memory area for the strings.
Remove configure test and fallback definition for XPointer.
Revert part of last change.
Add const qualifier where appropriate.
Simplify.
*** empty log message ***
make set_options non-inline for total win-win-win-lose
superopt
*** empty log message ***
*** empty log message ***
*** empty log message ***
Remove debugging stuff.
Move code to set icon image to a new method.
Init termios structure once at startup and try to inherit user's terminal state.
Fix typos.
Add on_tt_paste perl hook and tt_paste perl binding.
Remove unused function.
Use COMPOUND_TEXT encoding for WM_NAME/WM_ICON_NAME value when it is not fully convertible to STRING, patch by James Cloos.
*** empty log message ***
USE_256_COLORS ? 7 : 127 fonts
some constants
style
Add OSC 19 to change highlightTextColor.
Remove deprecated OSC 18 / 19.
Disable colorRV resource. Make OSC 17 apply to highlightColor. Make highlightColor apply also to selected cells with reverse video. Add highlightTextColor resource to change the foreground colour of highlighted characters.
Add 'highlightTextColor' option.
Remove unused variable.
Fix indent.
Add terminfo entry for rxvt-unicode with support for 256 colors.
*** empty log message ***
*** empty log message ***
d'oh
*** empty log message ***
still broken
*** empty log message ***
*** empty log message ***
256-color support.
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
Fix typos.
*** empty log message ***
Remove unused fallback.
Add support for copying to clipboard (based on patch by Dana Jansens).
Fix wording.
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
minor overlay refactoring, syntax changes
*** empty log message ***
implement scr_kill_char
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
Replace references to nsaved with top_row.
Fix typo.
Lowercase function name.
Move scrollbar GCs and scrollbar_show_* from rxvt_term to scrollBar_t.
Make scrollbar_{resize,mapping,show} methods of scrollBar_t.
Move the resize of the scrollbar window in scrollbar_resize.
Rename PrivMode to set_privmode and switch arguments order.
Make hex_keyval a static function.
Remove unused macros.
Make setup_scrollbar a method of scrollBar_t.
Always compile in plain style scrollbar.
Remove KEEP_SCROLLCOLOR macro.
Disable continual scrolling code when rxvt and next styles are not requested.
implement bracketed paste mode (xterm private mode 2004).
Deprecate OSC 39/49.
Make init_secondary a static function.
Move rxvt_term::init to init.C.
Move leftptr_cursor from rxvt_term to scrollBar_t.
Move last_{bot,top,state} from rxvt_term to scrollBar_t.
Move scrollbar_align from rxvt_xterm to scrollBar_t.
Remove scrollbar_len from rxvt_term and make it a local variable in scrollbar_show.
Move sb_shadow from rxvt_vars to scrollBar_t.
Remove ttymode_t typedef.
Move scrollbar definitions from rxvt.h to its own header.
Make pix_colors_{focused,unfocused} arrays non dynamic.
Merge rxvtlib.h.in in rxvt.h.
Fix comment.
Fix longstanding typos in unicode3 preprocessor conditionals.
Reorder declarations.
Fix coding style.
*** empty log message ***
Move MOD macro to rxvtutil.h.
*** empty log message ***
Group fallback definitions together.
Remove leftover.
Change init return type to void, it always returns true.
Change init_vars return type to void, it always returns true.
Remove traces of unimplemented 1001 mouse mode.
Minor reordering.
*** empty log message ***
*** empty log message ***
*** empty log message ***
Do not compile in the block builtin graphics with --disable-frills.
The removal of rxvt own parsing caused an inconsistency for keysym directives between resources and command line options, because the former are subjected to xlib parsing while the latter are not. Fix it by generating resources from the command line options and merging them later in the resource database.
*** empty log message ***
added new geometry op of :root to implement automove-background functionality internally , since absolute pixmap placement no longer supported
Cosmetics.
first rough cut at libev integration
Fix typo.
Remove trailing whitespace.
Nuke rxvt_strdup.
removed include afterimage.h from rxvt.h as redundand - it is included from background.h
Implement 1002/1003 mouse tracking modes.
Nuke pixel_position.
Declarations reordering.
*** empty log message ***
*** empty log message ***
Revert last change.
Make x_resource a static function.
renamed XPM_BACKGROUND to BG_IMAGE_FROM_FILE
renamed xpm.C to background.C and moved bgPixmap stuff out of rxvt.h
Got rid of want_full_refresh - no longer needed; removed setting want_refresh in bgPixmap.apply() - is done in Expose event handler instead; Fixed clearing background to clear vt as well; added check for pixmap origin in font_xft::draw(); added window_position_sensitive() to bgPixmap for consistency
Remove useless indirection for {backspace,delete}key resources.
Saner function names.
Remove unused function.
Remove unused function.
Remove unused function.
Make some inline functions static.
Make the PrivMode macro a method.
Minor cleanup.
Preliminary implementation of tinting/shading using XRender. TODO add proper detection of XRender to configure, as XFT may be present without XRender
fixed compilation with libAfterImage but without transparency; Got rid of am_transparent stuff; added ability to render semitransparent char backgrounds over background pixmap - experimental; Added parsing of color values in #aarrggbb format
reimplemted delayed rendering of the background pixmap with some logic to use different timeouts for different rendering algorithms
refactored check_parents into bgPixmap.render(), started cleaning up am_transparent stuff
fixed compilation bugs without libAI, added setters to bgPixmap for transparency params and moved server side tinting to make_transparency_pixmap; started refactoring check_our_parents into render_background()
implemented grabbing root background even when there is no root pixmap property set
made target a part of bgPixmap, moved set background calls into a separate function; started writing a function for generating transparency pixmap - that code should come out of check_parents()
debugged and incorporated new image rendering code into existing structure. Alignment and scaling should now work for both transparent and non-transparent backgrounds
fleshed out new render_asim function to be generic enough so it can be used with both transparent blended and non-transparent code
started implementing proper image resizing functionality with align and stuff
implemented hopefully better parsing of the geometry string
Remove --enable-tinting and make --enable-transparency enable also the tinting code.
updated comments explaining pixmap geometry string; added differentiation between HAVE_AFTERIMAGE and XPM_BACKGROUND; began moving background handling functions under bgPixmap_t - work in progress
Preliminary consolidation of pixmap and bgPixmap and rewrite of resize_pixmap(). More work needed.
*** empty log message ***
*** empty log message ***
fixed libAI usage for multi-display - requires new libAfterImage from CVS - version 1.15
*** empty log message ***
Fixed libAfterImage support when multiple displays are used. Added documentation for --enable-afterimage configure flag
*** empty log message ***
TRANSPARENT => ENABLE_TRANSPARENCY rename to avoid symbol conflict on solaris..
initial rough-cut skipscroll
*** empty log message ***
*** empty log message ***
- document some new bugs. - document changes. - improve configure for afterimage. - fix type. - some indenting.
added preliminary support to use libAfterImage for background pixmap loading and rendering of transparency effects including blending of pixmap over background using several methods, and gaussian blurr of the transparency background
remove OPTION macro
*** empty log message ***
*** empty log message ***
rip out sgtty
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
made use of new callback.h syntax
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
logging.C
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
Revert last change.
Include logging.h for rxvt_session.
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.