#tauri-plugin #position #locations #port #place #register

sys tauri-plugin-positioner

将您的窗口定位到已知的地点

30 个版本 (6 个稳定版)

2.0.0-rc.02024年8月2日
2.0.0-beta.102024年7月31日
2.0.0-beta.72024年5月30日
2.0.0-beta.32024年3月21日
0.1.0 2021年11月19日

#118GUI

Download history 517/week @ 2024-04-26 435/week @ 2024-05-03 500/week @ 2024-05-10 740/week @ 2024-05-17 606/week @ 2024-05-24 514/week @ 2024-05-31 593/week @ 2024-06-07 577/week @ 2024-06-14 463/week @ 2024-06-21 536/week @ 2024-06-28 464/week @ 2024-07-05 576/week @ 2024-07-12 465/week @ 2024-07-19 697/week @ 2024-07-26 900/week @ 2024-08-02 637/week @ 2024-08-09

每月2,784 次下载

Apache-2.0 OR MIT

60KB
269

plugin-positioner

将您的窗口定位到已知的地点。

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

安装

此插件需要至少Rust版本1.75

我们推荐三种一般安装方法。

  1. 使用crates.io和npm(最简单,需要您信任我们的发布流程)
  2. 直接从GitHub使用git标签/修订哈希拉取源代码(最安全)
  3. 使用Git子模块在此Tauri项目中安装此仓库,然后使用文件协议导入源代码(最安全,但使用不便)

通过将以下内容添加到您的Cargo.toml文件中安装核心插件

src-tauri/Cargo.toml

[dependencies]
tauri-plugin-positioner = "2.0.0-rc"
# alternatively with Git:
tauri-plugin-positioner = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }

您可以使用您首选的JavaScript包管理器安装JavaScript客户端绑定

注意:由于大多数JavaScript包管理器无法从git单仓库安装包,我们为每个插件提供只读镜像。这使得安装选项2更易于使用。

pnpm add @tauri-apps/plugin-positioner
# or
npm add @tauri-apps/plugin-positioner
# or
yarn add @tauri-apps/plugin-positioner

# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-positioner#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-positioner#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-positioner#v2

用法

首先,您需要将核心插件与Tauri注册

src-tauri/src/main.rs

use tauri::tray::TrayIconBuilder;

fn main() {
    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客户端绑定使用

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_window("main").unwrap();
let _ = win.move_window(Position::TopRight);

贡献

已接受PRs。请在提交pull request之前务必阅读贡献指南。

合作伙伴

CrabNebula

要查看完整的赞助商列表,请访问我们的网站Open Collective

许可

代码:© 2021 - Jonas Kruckenberg。2021 - 至今 - The Commons Conservancy的Tauri项目。

适用于MIT或MIT/Apache 2.0。

依赖

~17–60MB
~882K SLoC