fixes for far2l

This commit is contained in:
mihmig
2022-01-05 09:34:27 +00:00
parent 3facce0ca3
commit 5bd07a4cdc
5 changed files with 44 additions and 27 deletions
+8 -8
View File
@@ -3273,7 +3273,7 @@ static void do_osc(Terminal *term)
// it's possibly too large clipboard
#ifdef _WINDOWS
MessageBox(hwnd, "Too large clipboard :(", "Error", MB_OK);
MessageBox(wgs.term_hwnd, "Too large clipboard :(", "Error", MB_OK);
#endif
// correct request id is lost forever
@@ -3342,14 +3342,14 @@ static void do_osc(Terminal *term)
// todo: do this on window focus also
pnid.cbSize = sizeof(pnid);
pnid.hWnd = hwnd;
pnid.hWnd = wgs.term_hwnd;
pnid.hIcon = LoadIcon(0, IDI_APPLICATION);
pnid.uID = 200;
Shell_NotifyIconW(NIM_DELETE, &pnid);
// todo: use putty icon
pnid.cbSize = sizeof(pnid);
pnid.hWnd = hwnd;
pnid.hWnd = wgs.term_hwnd;
pnid.hIcon = LoadIcon(0, IDI_APPLICATION);
pnid.uID = 200;
pnid.uFlags = NIF_ICON | NIF_INFO | NIF_MESSAGE;
@@ -3423,7 +3423,7 @@ static void do_osc(Terminal *term)
#ifdef _WINDOWS
char ec_status = 0;
if (term->clip_allowed == 1) {
OpenClipboard(hwnd);
OpenClipboard(wgs.term_hwnd);
ec_status = EmptyClipboard() ? 1 : 0;
CloseClipboard();
}
@@ -3473,7 +3473,7 @@ static void do_osc(Terminal *term)
#ifdef _WINDOWS
if (term->clip_allowed == -1) {
int status = MessageBox(hwnd,
int status = MessageBox(wgs.term_hwnd,
"Allow far2l clipboard sync?", "PyTTY", MB_OKCANCEL);
if (status == IDOK) {
term->clip_allowed = 1;
@@ -3557,7 +3557,7 @@ static void do_osc(Terminal *term)
memcpy(GData,buffer,BufferSize);
GlobalUnlock(hData);
if (OpenClipboard(hwnd)) {
if (OpenClipboard(wgs.term_hwnd)) {
if (!SetClipboardData(fmt, (HANDLE)hData)) {
GlobalFree(hData);
@@ -3616,7 +3616,7 @@ static void do_osc(Terminal *term)
int32_t ClipTextSize = 0;
if ((gfmt == CF_TEXT || gfmt == CF_UNICODETEXT || gfmt >= 0xC000) &&
OpenClipboard(hwnd))
OpenClipboard(wgs.term_hwnd))
{
HANDLE hClipData = GetClipboardData((gfmt == CF_TEXT) ? CF_UNICODETEXT : gfmt);
@@ -4730,7 +4730,7 @@ static void term_out(Terminal *term)
break;
case '_': /* far2l: processing APC is almost the same as processing OSC */
term->is_apc = 1;
break;
//break;
//case SEEN_APC:
/* todo */
// if (!WriteStr2TC(fdout, enable ? "\x1b_far2l1\x1b\\\x1b[5n" : "\x1b_far2l0\x07\x1b[5n"))
+3
View File
@@ -6,6 +6,9 @@
* but for the moment, this will do.
*/
#include <windows/winseat.h>
extern WinGuiSeat wgs;
#ifndef PUTTY_TERMINAL_H
#define PUTTY_TERMINAL_H
+29 -18
View File
@@ -67,11 +67,6 @@
# Disables PuTTY's use of SecureZeroMemory(), which is missing
# from some environments' header files.
#
# - XFLAGS=-DTELNET_DEFAULT
# Causes PuTTY to default to the Telnet protocol (in the absence
# of Default Settings and so on to the contrary). Normally PuTTY
# will default to SSH.
#
# - XFLAGS=-DDEBUG
# Causes PuTTY to enable internal debugging.
#
@@ -423,8 +418,8 @@ putty.exe: agentf.o aqsync.o be_all_s.o be_misc.o callback.o cmdline.o \
winnps.o winpgntc.o winprint.o winproxy.o winsecur.o \
winselgui.o winser.o winshare.o winstore.o wintime.o \
winucs.o winutils.o winx11.o x11fwd.o \
cencode.o cdecode.o \
adb.o \
cencode.o cdecode.o \
kitty.o kitty_commun.o kitty_crypt.o kitty_image.o kitty_proxy.o kitty_registry.o kitty_ssh.o \
kitty_store.o kitty_tools.o kitty_win.o \
urlhack.o pageant_integrated.o winpgnt_integrated.o winpgen_integrated.o winpzmodem.o \
@@ -451,18 +446,34 @@ putty.exe: agentf.o aqsync.o be_all_s.o be_misc.o callback.o cmdline.o \
windlg.o window.o wingss.o winhandl.o winhelp.o winhsock.o \
winjump.o winmisc.o winmiscs.o winnet.o winnoise.o winnpc.o \
winnps.o winpgntc.o winprint.o winproxy.o winsecur.o \
winser.o winshare.o winstore.o wintime.o winucs.o winutils.o \
winx11.o cencode.o cdecode.o x11fwd.o -ladvapi32 -lcomdlg32 -lgdi32 -limm32 \
-lole32 -lshell32 -luser32
puttygen.exe: conf.o ecc.o import.o marshal.o memory.o misc.o mpint.o \
notiming.o puttygen.res.o sshaes.o sshauxcrypt.o sshbcrypt.o \
sshblowf.o sshdes.o sshdss.o sshdssg.o sshecc.o sshecdsag.o \
sshhmac.o sshmd5.o sshprime.o sshprng.o sshpubk.o sshrand.o \
sshrsa.o sshrsag.o sshsh256.o sshsh512.o sshsha.o \
stripctrl.o tree234.o utils.o version.o wcwidth.o winctrls.o \
winhelp.o winmisc.o winmiscs.o winnoise.o winnojmp.o \
winpgen.o winsecur.o winstore.o wintime.o winutils.o
winselgui.o winser.o winshare.o winstore.o wintime.o \
winucs.o winutils.o winx11.o x11fwd.o \
cencode.o cdecode.o \
adb.o \
kitty.o kitty_commun.o kitty_crypt.o kitty_image.o kitty_proxy.o kitty_registry.o kitty_ssh.o \
kitty_store.o kitty_tools.o kitty_win.o \
urlhack.o pageant_integrated.o winpgnt_integrated.o winpgen_integrated.o winpzmodem.o \
import.o sshrsag.o sshdssg.o sshprime.o sshecdsag.o sshbcrypt.o pockle.o primecandidate.o millerrabin.o mpunsafe.o \
void.o $(UTF8MOUSE_OBJS) \
../../base64/base64.a ../../bcrypt/bcrypt.a ../../blocnote/notepad.a ../../jpeg/libjpeg.a \
../../md5/MD5check.a ../../mini/mini.a ../../regex/libregex.a \
-ladvapi32 -lcomdlg32 -lgdi32 -limm32 -lpsapi -lole32 -lshell32 \
-luser32 -lwsock32 -lwtsapi32 \
#-lcrypt32 \
#/c/Windows/system32/crypt32.dll /c/windows/system32/ncrypt.dll \
# -lcomctl32 -lwinmm -lwinspool -lole32
puttygen.exe: conf.o ecc.o import.o marshal.o memory.o millerrabin.o misc.o \
mpint.o mpunsafe.o notiming.o pockle.o primecandidate.o \
puttygen.res.o smallprimes.o sshaes.o sshargon2.o \
sshauxcrypt.o sshbcrypt.o sshblake2.o sshblowf.o sshdes.o \
sshdss.o sshdssg.o sshecc.o sshecdsag.o sshhmac.o sshmd5.o \
sshprime.o sshprng.o sshpubk.o sshrand.o sshrsa.o sshrsag.o \
sshsh256.o sshsh512.o sshsha.o sshsha3.o stripctrl.o \
tree234.o utils.o version.o wcwidth.o winctrls.o winhelp.o \
winmisc.o winmiscs.o winnoise.o winnojmp.o winpgen.o \
winsecur.o winstore.o wintime.o winutils.o \
kitty_commun.o kitty_crypt.o kitty_registry.o kitty_keygen.o kitty_store.o kitty_tools.o
$(CC) -mwindows $(LDFLAGS) -o $@ -Wl,-Map,puttygen.map conf.o ecc.o \
import.o marshal.o memory.o millerrabin.o misc.o mpint.o \
mpunsafe.o notiming.o pockle.o primecandidate.o \
+2 -1
View File
@@ -615,7 +615,8 @@ static const SeatVtable win_seat_vt = {
.interactive = nullseat_interactive_yes,
.get_cursor_position = win_seat_get_cursor_position,
};
static WinGuiSeat wgs = { .seat.vt = &win_seat_vt,
//static
WinGuiSeat wgs = { .seat.vt = &win_seat_vt,
.logpolicy.vt = &win_gui_logpolicy_vt };
#ifdef MOD_PERSO
+2
View File
@@ -3,6 +3,8 @@
* and windlg.c.
*/
#pragma once
typedef struct WinGuiSeat WinGuiSeat;
struct WinGuiSeat {