Saltar al contenido

Posicionador

GitHubnpmcrates.io
Referencia de API

Posiciona tus ventanas en ubicaciones bien conocidas.

Este plugin es un port de electron-positioner para Tauri.

Este plugin requiere una versión de Rust de al menos 1.77.2

PlataformaNivelNotas
windows
linux
macos
android
ios

Instala el plugin positioner para comenzar.

Usa el gestor de paquetes de tu proyecto para agregar la dependencia:

npm run tauri add positioner

Se requiere una configuración adicional para que funcionen las posiciones relativas a la bandeja (tray).

  1. Añade la característica tray-icon a tu archivo Cargo.toml:

    src-tauri/Cargo.toml
    [dependencies]
    tauri-plugin-positioner = { version = "2.0.0", features = ["tray-icon"] }
  2. Configura on_tray_event para el plugin positioner:

    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");
    }

Las APIs del plugin están disponibles a través de los bindings guest de 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);

Puedes importar y usar la extensión del trait Window directamente mediante Rust:

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

De forma predeterminada, todos los comandos y alcances (scopes) potencialmente peligrosos del plugin están bloqueados y no se puede acceder a ellos. Debes modificar los permisos en tu configuración de capabilities para habilitarlos.

Consulta la Visión General de Capacidades para obtener más información y la guía paso a paso para usar permisos de plugins.

src-tauri/capabilities/default.json
{
"permissions": [
...,
"positioner:default",
]
}

Permiso Predeterminado

Permite las APIs moveWindow y handleIconState

Este conjunto de permisos predeterminado incluye lo siguiente:

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

Tabla de Permisos

Identificador Descripción

positioner:allow-move-window

Habilita el comando move_window sin ningún scope preconfigurado.

positioner:deny-move-window

Deniega el comando move_window sin ningún scope preconfigurado.

positioner:allow-move-window-constrained

Habilita el comando move_window_constrained sin ningún scope preconfigurado.

positioner:deny-move-window-constrained

Deniega el comando move_window_constrained sin ningún scope preconfigurado.

positioner:allow-set-tray-icon-state

Habilita el comando set_tray_icon_state sin ningún scope preconfigurado.

positioner:deny-set-tray-icon-state

Deniega el comando set_tray_icon_state sin ningún scope preconfigurado.


© 2026 Colaboradores de Tauri. CC-BY / MIT