| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
When using X security extensions to run urxvt as trusted X client and
requesting a selection from an untrusted client, then no X event will be
received, but the selection request will timeout instead. This patch
cancels any running request before creating a new one, so that the user
doesn't have to wait 10 seconds for the timeout before being able to
initiate a new one.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
A rxvt_img object contains a pointer to the associated rxvt_screen,
which in practice corresponds to the terminal object that created the
image. This causes a use-after-free when there are two or more terminal
objects sharing a rxvt_img and the one that created it is destroyed.
This patch fixes the issue by replacing the rxvt_screen pointer with a
pointer to the associated rxvt_display.
|
|
|
|
| |
Patch by Daniel Hahler.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
bound to 'matcher:select'.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
selection-{autotransform,popup}.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
ptytty::create now uses the helper regardless of the pid of the running
process.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
PATH_MAX, such as GNU/Hurd.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|