跳到內容
Tauri

Positioner

將您的視窗定位在眾所周知的位置。

此外掛程式是 electron-positioner 的 Tauri 連接埠。

支援平台

此外掛程式需要至少 1.77.2 的 Rust 版本

平台 層級 備註
windows
linux
macos
android
ios

設定

安裝 positioner 外掛程式以開始使用。

使用專案的套件管理器來新增依賴項

npm run tauri add positioner

需要額外設定才能使 tray 相對位置運作。

  1. tray-icon 功能新增至您的 Cargo.toml 檔案

    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 guest 綁定取得

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

  • allow-move-window
  • allow-move-window-constrained
  • allow-set-tray-icon-state

權限表

識別符 描述

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 Contributors. CC-BY / MIT