Skip to content

v0.2.3 — 拖拽功能与 Linux 自绘窗口

Latest

Choose a tag to compare

@luoxueyousheng luoxueyousheng released this 13 Jul 18:54
· 4 commits to main since this release

JadeViewGo v0.2.3

基于上游 JadeView v2.3.0-beta.10。本版聚焦示例程序:新增拖拽能力演示,并为 Linux 端带来完整的自绘窗口方案。

新增

拖拽(示例新增「拖拽」页)

  • 窗口拖动区:标题栏改用 v2.3 新增的 jade-region-drag HTML 属性(替代 -webkit-app-region: drag),拖动/贴边/双击最大化不变,右键不再弹出系统标题栏菜单;演示块含 jade-region-no-drag 挖洞用法
  • 文件拖放:订阅 drag-drop 事件(v2.2 替代 file-drop),enter/over/drop/leave 全生命周期经 IPC 转发回页面展示,drop 回报完整文件路径
  • 同步拦截演示:开启「拒绝拖入」后,Go 回调在 enter 中同步返回非空值(v2.3 拦截),文件无法拖入窗口

Linux 自绘窗口

  • 窗口改为 no-titlebar + 透明,由前端自绘:圆角、多层柔和阴影(失焦自动收敛)、右上角最小化/最大化/关闭按钮,全部随明暗主题换色
  • 最大化时自动贴边(去圆角与阴影),还原按钮图标同步切换;新增 maximize / close IPC 通道,window-state-changed 事件转发至前端
  • 背景:上游 set_titlebar_overlay_style 的运行时定制目前仅 Windows 生效,Linux 覆盖层固定深灰图标、深色主题下不可见,故改为整体自绘
  • Windows 端保持 title-overlay + Mica 不变

下载(示例成品)

单文件绿色版,前端资源已内嵌,无需安装、下载即用:

文件 适用 说明
example_x64.exe Windows x64 需 WebView2 运行时(Win10/11 一般自带),DLL 已内嵌
example_x86.exe Windows 32 位 同上
example_arm64.exe Windows on ARM 同上(骁龙本等)
example_linux_amd64 Linux x86_64 静态链接 JadeView,需系统装有 GTK3 / WebKit2GTK 4.1 / libxdo 运行库
example_linux_arm64 Linux ARM64 同上(树莓派、Rockchip 板、ARM 云主机等)

Linux 运行前:

sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libxdo3   # Debian/Ubuntu 系
chmod +x example_linux_amd64 && ./example_linux_amd64

也可从源码自行编译(需 cgo):

sudo apt install build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev libxdo-dev
git clone https://github.com/luoxueyousheng/JadeViewGo && cd JadeViewGo
go build -o example_linux_amd64 ./example

库的使用

go get github.com/luoxueyousheng/JadeViewGo@v0.2.3

文档见仓库 README 与 jade.run 的 Golang SDK 文档