用 Compose Desktop 开发一个 Windows 便笺

938 阅读2分钟

什么!原生的 Windows 便笺居然不支持窗口置顶?那就来做一个更好用的便笺

1. 写在前面

在使用 Windows 操作系统自带的便笺(Sticky Notes)时,用户可能会遇到两个问题:

(1)窗口不能被固定在桌面的最上层

(2)只支持在文本区域的上方插入图片,不能将图片嵌入到文本之间

f1.png

实际上,微软在 2024 年推出的新版 Sticky Notes 已经新增了 窗口置顶 的功能,可以试一试

便笺(Sticky Notes)提供的功能并不复杂,开发一个差不多的桌面小工具好像也不难,于是就有了:

gitee.com/ashinigit/s…

2. 功能预览

app.png

  1. 点击 + 创建新的笔记
  2. 点击 ... 选择笔记的颜色主题(用户界面与交互逻辑参考 Windows 原生便笺)

1.gif

1728471019518.png

  1. 支持窗口置顶
  2. 支持 纯文本模式图文模式
  3. 图文模式 支持用拖拽的方式导入网页中的文本(或图片),也可以从剪贴板一键导入文本

2.gif

  1. 支持简单的块级富文本样式:加粗(Ctrl + B)、斜体(Ctrl + I)、下划线(Ctrl + U)、删除线(Ctrl + T
  2. 支持从剪贴板一键导入图片

3.gif

可以对 字体大小字体粗细字体类型背景透明 、以及 数据的存储路径 进行配置

提示 1:将背景设置成完全透明,便笺就不会遮挡后面的文字

4.gif

提示 2:便笺只适合临时存储的场景,无法替代传统的笔记软件

如果有数据持久化的需求,可以导出 Markdown 文件到桌面

5.gif

3. 技术选型

参考 Compose for Desktop

软件版本
java18
kotlin1.9.22
compose1.6.2

4. 构建过程

将代码克隆到本地:

git clone https://gitee.com/ashinigit/stickynotes.git

在 Windows 操作系统使用 IntelliJ IDEA 打开项目,下载依赖

使用 packageReleaseDistributionForCurrentOS 构建发布版本:

1728470390415.png

build/compose/binaries/main-release/msi 目录可以找到安装文件

5. 未来计划

  • 优化交互体验
  • 降低软件的内存占用
  • 实现窗口的阴影效果
  • 解决图片/图标模糊问题
  • 提供更全面的富文本支持
  • ......