Skip to content

Releases: luolangaga/WinLand

WinIsland 1.1.2 —— 全屏避让与分项缩放

Choose a tag to compare

@github-actions github-actions released this 01 Oct 04:18
724f1fd

这一版管两件事:别挡着你看全屏,大小你说了算。
游戏、视频、演示占满屏幕时,灵动岛可以缩成屏幕边缘的一条小色条(鼠标一靠近就展开),也可以干脆完全隐藏;
灵动岛、空闲小岛、全屏小色条的大小还能分别缩放,50%–200% 随意调。另外修了两个小毛病:重启后缩放不生效、Fluent 材质下岛体周围的那圈浅边。

本版要点

全屏避让(设置 → 通用 → 全屏应用时)

  • 三档可选:
    • 显示小色条(默认):全屏时岛体让位,屏幕边缘留一条细色条 —— 鼠标靠近(色条周围留了一圈更好瞄的余量)岛体即临时现身并展开,移开约 0.7 秒后自动收回
    • 完全隐藏:全屏期间岛体与色条都不出现
    • 正常显示:不避让全屏,岛体照常置顶(1.1.1 的行为)
  • 判定只认真全屏:无边框且盖满岛所在整块屏的窗口,或独占全屏 / 演示模式;带标题栏的最大化窗口不算 —— 任务栏自动隐藏时那种「看起来占满」的窗口不会误触发
  • 色条跟着岛走:贴在岛所在显示器的屏幕边(与「岛位置」的顶部 / 底部一致),横向对齐岛体落点,多显示器下不会跑到别的屏上
  • 色条靠光标位置判定靠近,不依赖指针事件 —— 全屏应用独占输入也不受影响

界面缩放(设置 → 通用 → 界面缩放)

  • 三处独立缩放,各自 50%–200%(步进 5%):
    • 灵动岛:活动、展开队列、消息、投放面板的整体大小
    • 空闲小岛:没有活动时那颗小胶囊
    • 全屏小色条:全屏时贴在屏幕边缘的色条
  • 缩放是整套几何按同一比例算(窗口画布、落点、点击穿透形状、悬停判定都跟着走),不是把画面拉伸 —— 高 DPI 屏放到 200% 也不糊
  • 设置即改即生效,不用重启

新手引导

  • 首次启动的引导新增「全屏与大小」一步(共 7 步),全屏行为与三项缩放可以在引导里一次调好

修复

  • 已保存的「灵动岛」缩放会在启动时就应用:之前要等设置变化后才生效,重启后看起来像没缩放过
  • Fluent + 系统材质下的浅色描边环变淡:材质外扩圈里此前有 2px 未压纱的材质,看起来像一圈浅边;现在 Fluent 带材质时收到 1 物理像素(其它外观仍保持 2px,保住圆角抗锯齿)
  • 切换外观 / 材质时点击穿透形状立即按新圆角重算;缩放后的队列卡片命中区域修正为不再重复叠加缩放

安装

到 Releases 下载对应架构的安装包,双击安装:

安装包 适用
WinIsland-1.1.2-x64-setup.exe 绝大多数 Intel / AMD 机器
WinIsland-1.1.2-arm64-setup.exe 骁龙 X 等 Arm64 设备
  • 系统要求:Windows 10 1809(build 17763)或更高,x64 / Arm64
  • 自包含:.NET 运行时与 Windows App SDK 都在包内,不用另装
  • 安装到 %LocalAppData%\Programs\WinIsland,全程不需要管理员权限
  • 国内网络建议走 GitCode 镜像(客户端的更新检查也优先查这里)
  • 已在用 1.1.1 的话:「设置 → 关于」点「检查更新」即可看到这一版,直接覆盖安装,设置与插件都在

说明

  • 插件与你的程序同权限运行(不是沙箱),装之前请看清来源;市场下载的包在安装前会校验 SHA-256。
  • 日志在 %LocalAppData%\WinIsland\logs\:plugin.host.log 是宿主日志,每个插件另有 plugin.<id>.log。
  • 独占全屏 / 全屏优化的游戏、UAC 安全桌面、锁屏界面在 topmost 波段之外 —— 即便选「正常显示」,灵动岛也不会盖在上面。
  • 安装包的 SHA-256 校验值见 GitCode 镜像的发布说明。

WinIsland 1.1.1 —— 多显示器支持

Choose a tag to compare

@github-actions github-actions released this 29 Sep 06:32

这一版的重点是多显示器:岛可以跟着鼠标走(光标在哪块屏,岛就在哪块屏),也可以钉在指定的某一台上;
「设置 → 通用」还补上了一组常用开关(悬停展开、展开延迟、回弹),插件也真正跟着系统深浅色即时重绘了。

本版要点

多显示器

  • 岛可以指定屏幕:「设置 → 通用 → 显示器」新增一组卡片 —— 自动(跟随鼠标光标所在的那块屏,默认)或固定到某一台;卡片上标着主屏、分辨率与设备名,插拔显示器时列表实时刷新,指定的屏被拔掉时退回「自动」
  • 任务栏嵌入按屏工作:每块显示器都有自己的任务栏条带(主屏 Shell_TrayWnd、副屏 Shell_SecondaryTrayWnd),嵌入位置与空闲段测量都在岛所在的那块屏上做 —— 副屏上的岛不再一律按主屏任务栏的位置摆放
  • 热插拔自动重定位:拔/接外接屏、改分辨率、调显示器排列、切投影模式后,岛会自己搬到该去的地方(分两拍处理:等系统把 DPI 传播完再落最终位置;展开动画期间不移动窗口)
  • 漂移自愈:远程桌面、驱动更新、部分虚拟机会不广播热插拔事件 —— 看门狗按屏幕外框定期核对,发现岛跑偏了就拉回来
  • 「岛在哪块屏」的解析统一收进一处(DisplayResolver),消除散落的「主屏兜底」

更多设置项(设置 → 通用)

  • 悬停展开开关:关掉后改为点击岛体(触控轻点)展开、点岛外收起
  • 悬停展开延迟:0–600 ms 可调 —— 鼠标只是从岛边扫过时不再立刻展开
  • 展开回弹开关:关掉后长大 / 缩小是干脆的缓出,不会越过目标尺寸再弹回来
  • Fluent 外观的岛体与队列卡片上缘加了一道 1px 渐变高光(玻璃反光感);Apple 外观保持哑光纯黑

稳定性与新能力

  • 单实例保护:同一个登录会话里只允许跑一个 WinIsland —— 重复启动会弹提醒,并把你带到已运行实例的设置窗口(不再出现两个岛互相抢置顶、托盘图标成对出现)
  • 插件真正跟随深浅色:内置模块与示例插件的视图都订阅了主题变化,切换系统主题即时重绘(天气图标、剪贴板历史、设备列表……),不再只在启动时取一次主题
  • SDK 2.3.1:IslandLiveContent / IslandDropTarget 改为 record,宿主整体复制、只覆盖回调 —— 修掉「插件声明的文本 / 图片投放目标被静默降级成文件」的漏字段问题(插件无需重新编译)

示例插件

  • 剪贴板岛 1.3.0:历史条目可以右滑删除 —— 右滑拖过删除线松手即删,没拖够弹回原位
  • 天气小岛 1.2.0:小岛与聚光卡的配色、天气图标跟随岛体明暗

安装

到 Releases 下载对应架构的安装包,双击安装:

安装包 适用
WinIsland-1.1.1-x64-setup.exe 绝大多数 Intel / AMD 机器
WinIsland-1.1.1-arm64-setup.exe 骁龙 X 等 Arm64 设备
  • 系统要求:Windows 10 1809(build 17763)或更高,x64 / Arm64
  • 自包含:.NET 运行时与 Windows App SDK 都在包内,不用另装
  • 安装到 %LocalAppData%\Programs\WinIsland,全程不需要管理员权限
  • 国内网络建议走 GitCode 镜像(客户端的更新检查也优先查这里)
  • 已在用 1.1.0 的话:「设置 → 关于」点「检查更新」即可看到这一版,直接覆盖安装,设置与插件都在

说明

  • 插件与你的程序同权限运行(不是沙箱),装之前请看清来源;市场下载的包在安装前会校验 SHA-256。
  • 日志在 %LocalAppData%\WinIsland\logs\:plugin.host.log 是宿主日志,每个插件另有 plugin.<id>.log。
  • 独占全屏 / 全屏优化的游戏、UAC 安全桌面、锁屏界面在 topmost 波段之外 —— 灵动岛不会盖在上面。
  • 安装包的 SHA-256 校验值见 GitCode 镜像的发布说明。

WinIsland 1.1.0 —— 第一个正式版

Choose a tag to compare

@github-actions github-actions released this 24 Sep 10:15

第一个正式版。 从这一版起 WinIsland 可以正常安装、自动检查更新,安装包同时发布在
GitHub 与 GitCode 国内镜像。

给 Windows 的「灵动岛」:一枚常驻桌面的悬浮胶囊,平时安静地待在角落,鼠标移上去就展开成一座岛 ——
上面几张卡片是各个插件正在报的事(媒体、电池、天气、设备……),最下面那张是当前优先级最高的主岛。
所有内容都由可热插拔的插件提供,自带社区插件市场。

本版要点

岛体

  • 展开队列换成多列网格:主岛之外最多 9 张卡片(每列 3 张、最多 3 列),一列放满自动换到右边一列 —— 报事的插件多时不再被砍到 4 张;最先入队的活动永远紧挨着主岛
  • 内容切换带交接动画:旧内容按当前渲染尺寸钉住、快速淡出上移,新内容延后从下方浮现,读起来是「岛换了口气」而不是两张画面叠在一起
  • 临时消息卡改用独立视图:图标芯片 + 标题 + 可选正文,宽度跟随内容(152–340),最多两行;AccentColor 没给时用中性色,不再平白冒出一个蓝点
  • 浅色 / 深色主题适配:Fluent 外观跟随系统主题(浅色下保留 Acrylic 材质感,不压白纱),Apple 外观恒为深色;插件可用 IPluginContext.Theme 取当前主题并订阅切换
  • 文件投放:把文件 / 文件夹 / 文本 / 图片拖到岛上,岛展开成一排投放卡片(拖到两端自动滚动、悬停放大),松手即执行;卡片可由插件注册,宿主内置「打开 / 所在位置 / 复制路径 / 复制文本 / 保存图片」。载荷判定按文件 → 图片 → 文本退化,浏览器拖来的虚拟文件、从聊天窗口拖出的图片都能正确识别;图片「另存为」会弹系统对话框让你自己选位置

内置插件

  • 充电监控:岛体与聚光卡的进度环改用 WinUI 原生 ProgressRing(确定模式),弧长与动画交给控件,不再手算 dash 偏移;补上充放电功率、设计容量、健康度、循环次数、电压、预计时间

示例与 SDK

  • 天气小岛 1.1.0:点一下弹出「超级展开」聚光卡 —— 实况细节、未来 24 小时逐时、7 天预报、日出日落与空气质量
  • 设备插拔岛 1.0.0(新示例):插 U 盘 / 耳机 / 手柄时岛上自动冒出;展开逐台列出,磁盘可「安全弹出」;蓝牙设备显示电量。全部用 Windows 自带能力实现(总线类型 + Core Audio + RawGameController + PnP 属性),零第三方依赖
  • 新增 IIslandTheme / IPluginContext.Theme(min_host_version: 2.3.0),插件视图能跟着系统主题走

完整功能一览

  • 两种形态 —— 紧凑胶囊 ↔ 悬停展开(主岛 + 最多 9 张队列卡片),展开 / 收起带形变动画
  • 两种外观 —— Apple 纯黑胶囊,或带系统材质(Desktop Acrylic / Mica)的 Windows Fluent
  • 两种摆放 —— 贴屏幕顶部悬浮,或真·嵌进任务栏条带(自动测量空闲段落位、跟随自动隐藏、被压住时自愈置顶)
  • 插件系统 v2 —— 可回收 AssemblyContext 依赖隔离、热插拔、初始化超时与异常防护、注册项统一回收
  • 插件市场 —— 整个列表一次请求(图标内嵌 base64)、多镜像回退、安装前强制校验 SHA-256
  • 更新提醒 —— 「设置 → 关于」先问 GitCode 国内镜像、失败回退 GitHub 官方源;只提醒,不静默下载 / 替换自己,看腻的版本可以「跳过此版本」
  • 干净 —— 无边框、真透明、点击穿透(窗口形状级)、每用户安装不需要管理员权限
  • 内置插件 —— 正在播放(系统媒体会话 GSMTC)、充电监控、发送消息(推消息 / 自定义 XAML 控件到岛上)

安装

到 Releases 下载对应架构的安装包,双击安装:

安装包 适用
WinIsland-1.1.0-x64-setup.exe 绝大多数 Intel / AMD 机器
WinIsland-1.1.0-arm64-setup.exe 骁龙 X 等 Arm64 设备
  • 系统要求:Windows 10 1809(build 17763)或更高,x64 / Arm64
  • 自包含:.NET 运行时与 Windows App SDK 都在包内,不用另装
  • 安装到 %LocalAppData%\Programs\WinIsland,全程不需要管理员权限
  • 国内网络建议走 GitCode 镜像(客户端的更新检查也优先查这里)

启动后:胶囊出现在屏幕顶部中央(或嵌进任务栏,见「设置 → 通用 → 位置」);双击托盘图标打开设置,右键托盘图标可以显示 / 隐藏灵动岛、检查更新、退出。

插件

「设置 → 插件市场」一键安装社区插件(当前有:天气小岛、硬件监控 等),也可以用配套的
AI 技能 用中文描述需求、让 AI 从零写一个 ——
参考实现见 samples/(HelloPlugin / XamlPlugin / HardwareMonitor / WeatherIsland / DeviceIsland)。

说明

  • 插件与你的程序同权限运行(不是沙箱),装之前请看清来源;宿主会在插件出错时保护自身不崩溃,但这不等于安全隔离。市场下载的包在安装前会校验 SHA-256。
  • 日志在 %LocalAppData%\WinIsland\logs\:plugin.host.log 是宿主日志,每个插件另有 plugin.<id>.log。
  • 独占全屏 / 全屏优化的游戏、UAC 安全桌面、锁屏界面在 topmost 波段之外 —— 灵动岛不会盖在上面。
  • 安装包的 SHA-256 校验值见 GitCode 镜像的发布说明。