transparent putty window patch
原理很简单,加两行代码就行,数值 220 表示不透明的程度,0 完全透明,255 完全不透明。
======================================
diff --git a/windows/window.c b/windows/window.c
index 69cc3d3..c717bb5 100644
--- a/windows/window.c
+++ b/windows/window.c
@@ -668,6 +668,11 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
CreateCaret(wgs->term_hwnd, wgs->caretbm,
wgs->font_width, wgs->font_height);
+ {
+ SetWindowLongPtr(wgs->term_hwnd, GWL_EXSTYLE, GetWindowLongPtr(wgs->term_hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
+ SetLayeredWindowAttributes(wgs->term_hwnd, 0, 220, LWA_ALPHA);
+ }
+
/*
* Initialise the scroll bar.
*/
======================================
附件中还有一个更完善的补丁:
可以通过参数 -winalpha 设置透明度
可以在配置界面设置透明度 Window -> Transparency alpha(9~255),点 Apply 后即时生效。
选项位于 Control the scrollback in the window 框里面,是因为这里恰巧有空间。
alpha 值下限是9,再小就看不到窗口了。
和其它自带的配置项一样可以存入注册表或从注册表载入。
在 Session 那里选中 Default Settings 再点 Save,就能存入注册表了。
======================================
putty最近改动了代码构架,第三个patch对应了最新的代码。
对应的注册表键值改为了 win_alpha 。
======================================
可用 mingw-w64 和 cmake,加上 msys2 的 tar patch make 来编译。
mingw-w64 和 cmake 可单独下载的加入PATH环境变量,也可用 msys2 的 pacman 安装。
用 git 获取源码
git clone --depth=1
https://git.tartarus.org/simon/putty.git进入目录打上附件中的补丁
patch -Np1 -i transparent_window2.patch
执行如下两个命令即可编译出成品
cmake -G 'MSYS Makefiles' .
make -j4
======================================
另外那个几十 KB 的 webd 网盘更新了
增加了文件夹上传 拖拽上传等功能
详见
https://m.newsmth.net/article/NewSoftware/229709======================================
※ 修改:·uju 于 Sep 26 13:10:13 2023 修改本文·[FROM: 107.189.10.*]
※ 来源:·水木社区
http://m.mysmth.net·[FROM: 194.195.112.*]
修改:uju FROM 107.189.10.*
FROM 194.195.112.*
附件(565B) transparent_window.patch附件(3.8KB) transparent_window2.patch附件(2.9KB) transparent_window3.patch