跳到内容
Tauri

定位器

将你的窗口定位到常用位置。

此插件是 electron-positioner 的 Tauri 移植版。

此插件需要 Rust 版本至少为 **1.77.2**

平台 级别 备注
Windows
Linux
macOS
Android
iOS

安装 positioner 插件即可开始使用。

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

npm run tauri add positioner

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

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

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

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

该插件的 API 可通过 JavaScript 客户端绑定使用。

import { moveWindow, Position } from '@tauri-apps/plugin-positioner';
// when using `"withGlobalTauri": true`, you may use
// const { moveWindow, Position } = window.__TAURI__.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/default.json
{
"permissions": [
...,
"positioner:default",
]
}

默认权限

允许 moveWindow 和 handleIconState API

此默认权限集包括以下内容

  • 允许移动窗口
  • 允许受约束的窗口移动
  • 允许设置托盘图标状态

权限表

标识符 描述

positioner:allow-move-window

启用 move_window 命令,不带任何预配置范围。

positioner:deny-move-window

禁用 move_window 命令,不带任何预配置范围。

positioner:allow-move-window-constrained

启用 move_window_constrained 命令,不带任何预配置范围。

positioner:deny-move-window-constrained

禁用 move_window_constrained 命令,不带任何预配置范围。

positioner:allow-set-tray-icon-state

启用 set_tray_icon_state 命令,不带任何预配置范围。

positioner:deny-set-tray-icon-state

禁用 set_tray_icon_state 命令,不带任何预配置范围。


© 2025 Tauri 贡献者。CC-BY / MIT