rdebath / putty Goto Github PK
View Code? Open in Web Editor NEWMy patches against Simon's PuTTY
Home Page: https://git.tartarus.org/?p=simon/putty.git
License: Other
My patches against Simon's PuTTY
Home Page: https://git.tartarus.org/?p=simon/putty.git
License: Other
I've been using PuttyTray previously, but wanted to switch to your version for 24-bit color support.
Your version works fine, but why does it not use the normal UI theme (Vista with the default theme, see image below)?
PuttyTray looks like any other window on my desktop, with the proper theme decoration, but your version gets the XP treatment.
Any idea why that happens? I tried to look at the source code, but the CreateWindow() call in window.c
seem identical in both repositories. Is there something else that triggers this UI difference?
I believe setting the CSET_ASCII value outside of the wchar_t range (16-bit) breaks (always returns 0) the DIRECT_CHAR macro when a wchar_t value is passed. This is the case for Windows:
Line 589 in e85a8bd
and here:
Line 3571 in e85a8bd
You're quite correct. However, I think that this means that the conditions are incorrect.
Both of these in effect check to see if unitab_line
contains CSET_ASCII characters. The first on is a direct check of that array. This means that the first one has been upgraded from "Should not happen" to "Cannot happen" and that's fine.
The one in window.c
is translated via the array in do_paint
in terminal.c
switch (tchar & CSET_MASK) {
case CSET_ASCII:
tchar = term->ucsdata->unitab_line[tchar & 0xFF];
break;
case CSET_LINEDRW:
tchar = term->ucsdata->unitab_xterm[tchar & 0xFF];
break;
case CSET_SCOACS:
tchar = term->ucsdata->unitab_scoacs[tchar&0xFF];
break;
}
So the second has gone from a "should not happen" check that I used for debugging in the early days (making sure that they didn't sneak in) to a default translation of ISO8859-1. This is also okay (see "should not happen"), but it might be good to recreate the check directly in the UCS4 to UTF-16 translation in do_paint
#ifdef PLATFORM_IS_UTF16
if (tchar >= 0x10000 && tchar < 0x110000) {
ch[ccount++] = (wchar_t) HIGH_SURROGATE_OF(tchar);
ch[ccount++] = (wchar_t) LOW_SURROGATE_OF(tchar);
} else
#endif /* PLATFORM_IS_UTF16 */
ch[ccount++] = (wchar_t) tchar;
eg: set it to U+FFFD if the character is out of range.
#ifdef PLATFORM_IS_UTF16
if (tchar >= 0x10000 && tchar < 0x110000) {
ch[ccount++] = (wchar_t) HIGH_SURROGATE_OF(tchar);
ch[ccount++] = (wchar_t) LOW_SURROGATE_OF(tchar);
} else if (tchar >= 0x110000)
ch[ccount++] = 0xFFFD;
else
#endif /* PLATFORM_IS_UTF16 */
ch[ccount++] = (wchar_t) tchar;
Would it be possible to publish the binaries within the tag releases on GitHub?
Hi, I am looking around and still have no idea how to build it from sources. Can you help me with this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.