Skip to content

tauri_plugin_window_state使用時に任意のステータスを除外する方法

Published:

tauri_plugin_window_state使用時に、一部のステータスを手動で実装するためにPlugin管理から除外する方法がドキュメントに記載されていなかったので、その方法を記録する。

Table of contents

Open Table of contents

はじめに

開発中のデスクトップアプリにtauri_plugin_window_stateを使用しているが、一部のステータスを除外しフロントエンド側で実装したいケースがあった。

tauri_plugin_window_stateの設定

tauri_plugin_window_stateがデフォルトで管理しているステータスは以下の通り。

  "settings": {
    "width": 400,
    "height": 450,
    "x": 1266,
    "y": 389,
    "prev_x": 1238,
    "prev_y": 388,
    "maximized": false,
    "visible": true,
    "decorated": true,
    "fullscreen": false
  },

ここから、visibleステータスを除外する方法を記載する。

実装方法

main.rsを以下のように修正する。

fn main() {
    let state_flags = StateFlags::all() - StateFlags::VISIBLE;

    tauri::Builder::default()
        .plugin(
            tauri_plugin_window_state::Builder::default()
                .with_state_flags(state_flags)
                .build(),
        )
        .invoke_handler(tauri::generate_handler![greet])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

おわりに

tauriはプラグインのドキュメントが整備されると嬉しい。

最近話題の技術書

LangChainとLangGraphによるRAG・AIエージェント[実践]入門

LangChainとLangGraphによるRAG・AIエージェント[実践]入門