求问如何在点击右上角关闭按钮关闭obsidian时,自动显示弹窗。弹窗中可以自定义文本。
win10
v1.8.10版本
AI提供的解决方案是使用插件绑定快捷键,使用快捷键执行脚本,弹窗并关闭obsidian。不符合日常点右上角×号关闭的操作习惯。
求问如何在点击右上角关闭按钮关闭obsidian时,自动显示弹窗。弹窗中可以自定义文本。
win10
v1.8.10版本
AI提供的解决方案是使用插件绑定快捷键,使用快捷键执行脚本,弹窗并关闭obsidian。不符合日常点右上角×号关闭的操作习惯。
或许可以加个按钮覆盖到右上角的位置
参考这个帖子脚本分享:定制悬浮命令按钮
非常感谢。我也分享一种使用windows系统自带【任务计划程序】的思路,当任务计划程序监测到obsidian程序关闭时将自动启动写好的弹窗脚本,但偶尔会出现错误弹窗的情况。
可以参考此XML(exe文件的路径按自己的安装位置设置):
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[(Level=4 or Level=0) and (band(Keywords,9007199254740992)) and (EventID=4689) and TimeCreated[timediff(@SystemTime) <= 3600000]]] and *[EventData[Data[@Name='ProcessName'] and (Data='C:\Program Files\Zotero\zotero.exe')]] and *[EventData[Data[@Name='Status'] and (Data='0x0')]]</Select>
</Query>
</QueryList>
或者写个obsidian插件,监听obsidian关闭事件
感谢回复,不过我不懂这方面所以不太适合我
obsidian 支持监听客户端关闭事件,可以以这个核心写一个简单的插件
import { Plugin } from 'obsidian';
export default class AppCloseListenerPlugin extends Plugin {
async onload() {
console.log('插件已加载');
// 注册应用程序关闭事件监听器
this.registerDomEvent(window, 'beforeunload', (evt) => {
console.log('Obsidian 即将关闭');
// 在这里执行应用关闭前需要完成的操作
// 如果需要提示用户确认关闭,可以使用以下代码
// evt.preventDefault();
// evt.returnValue = '确定要关闭 Obsidian 吗?';
});
// 另一种方法是使用 Obsidian 的应用程序事件
this.registerEvent(
this.app.workspace.on('quit', () => {
console.log('Obsidian 正在退出');
// 执行关闭前的清理工作
})
);
}
onunload() {
console.log('插件已卸载');
}
}