跳转到内容
Tauri

定位器(Positioner)

把窗口放在你熟悉的地方。

这个插件是 electron-positioner 的 Tauri 版本。

支持的平台

  • Windows
  • Linux
  • macOS

设置

这个插件要求 Rust 版本至少是 1.75

请安装定位器插件。

使用项目的包管理器来添加依赖。

npm run tauri add positioner

需要额外的设置才能使托盘相对位置工作。

  1. 在你的 Cargo.toml 文件中添加 tray-icon 功能。

    src-tauri/Cargo.toml
    [dependencies]
    tauri-plugin-positioner = { version = "2.0.0-beta", features = ["tray-icon"] }
  2. 为定位器插件设置 on_tray_event

    src-tauri/src/lib.rs
    fn run() {
    tauri::Builder::default()
    .plugin(tauri_plugin_positioner::init())
    // This is required to get tray-relative positions to work
    .setup(|app| {
    TrayIconBuilder::new()
    .on_tray_icon_event(|app, event| {
    tauri_plugin_positioner::on_tray_event(app.app_handle(), &event);
    })
    .build(app)?;
    Ok(())
    })
    .run(tauri::generate_context!())
    .expect("error while running tauri application");
    }

用法

插件的 API 可以通过 JavaScript Guest 绑定获得。

import { moveWindow, Position } from '@tauri-apps/plugin-positioner';
moveWindow(Position.TopRight);

你可以直接通过 Rust 导入和使用 Window trait 扩展。

use tauri_plugin_positioner::{WindowExt, Position};
let mut win = app.get_webview_window("main").unwrap();
let _ = win.as_ref().window().move_window(Position::TopRight);

权限

默认情况下,所有插件命令都被阻止,无法访问。你必须在你的 capabilities 配置中定义一个权限列表。

更多信息请参见访问控制列表

src-tauri/capabilities/main.json
{
"permissions": [
...,
"positioner:default",
]
}
权限描述
positioner:allow-move-window在没有预先配置的作用域的情况下启用 move_window 命令。
positioner:deny-move-window拒绝没有任何预配置范围的 move_window 命令。
positioner:default允许 move_window 命令。

© 2024 Tauri Contributors. CC-BY / MIT