diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/prose.yaml b/.github/workflows/prose.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
new file mode 100644
index 0000000..9fb38d1
--- /dev/null
+++ b/.github/workflows/publish.yaml
@@ -0,0 +1 @@
+- name: Publish index and document updates to Prod Search Server
diff --git a/.github/workflows/rs-api.yaml b/.github/workflows/rs-api.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/sitemap.yaml b/.github/workflows/sitemap.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/ts-api.yaml b/.github/workflows/ts-api.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/package.json b/package.json
index 90bc139..e487b28 100644
--- a/package.json
+++ b/package.json
@@ -10,9 +10,11 @@
"cli:push-caches": "pnpm -C ./packages/tauri-search run push-caches",
"cli:clear-caches": "pnpm -C ./packages/tauri-search run clear-caches",
"clean": "pnpm run --filter ./packages run clean",
- "start": "pnpm -r install && pnpm run start:tauri-search && pnpm run start:docs && pnpm run up",
+ "start": "pnpm -r install && run-s up start:tauri-search start:docs full-update",
"start:tauri-search": "pnpm -C ./packages/tauri-search run watch",
"start:docs": "pnpm -C ./packages/docs run watch",
+ "full-update": "pnpm -C ./packages/tauri-search run full-update",
+ "delta-update": "pnpm -C ./packages/tauri-search run delta-update",
"build": "run-p build:*",
"build:cli": "pnpm -C ./packages/tauri-search run build:cli",
"build:npm": "pnpm -C ./packages/tauri-search run build:npm",
diff --git a/packages/docs/package.json b/packages/docs/package.json
index c63bea9..d018d5a 100644
--- a/packages/docs/package.json
+++ b/packages/docs/package.json
@@ -45,6 +45,7 @@
"@vue/test-utils": "^2.0.0-rc.18",
"critters": "^0.0.16",
"cross-env": "^7.0.3",
+ "dotenv": "^14.3.2",
"eslint": "^8.8.0",
"eslint-plugin-cypress": "^2.12.1",
"https-localhost": "^4.7.0",
diff --git a/packages/docs/src/constants.ts b/packages/docs/src/constants.ts
index 5fd4eb5..863dda2 100644
--- a/packages/docs/src/constants.ts
+++ b/packages/docs/src/constants.ts
@@ -1,16 +1,18 @@
export const SERVERS = [
{
- default: true,
name: "local",
url: "http://localhost:7700",
},
{
name: "prod",
url: "https://search.tauri.studio",
- indexes: [""],
+ token: "",
+ indexes: ["unknown"],
},
{
- name: "pre-prod",
+ name: "staging",
url: "https://search2.tauri.studio",
+ token: "XZEH8BS90ee09c45215a8421c06857bcbde5c1a6797bdf4859a57a3ac1228a2b81df0994",
+ indexes: ["consolidated"],
},
];
\ No newline at end of file
diff --git a/packages/docs/src/pages/index.md b/packages/docs/src/pages/index.md
index 4f3c936..b7deeb4 100644
--- a/packages/docs/src/pages/index.md
+++ b/packages/docs/src/pages/index.md
@@ -37,29 +37,49 @@ pnpm run watch
```
>>>
-## Secrets and ENV variables
+## Secrets, ENV variables, and Environments
>>> DotENV
- We use the popular DotEnv **npm** package to allow users to set ENV variables but **not** have them checked into the repository.
- Simply add a `.env` file to add variables you want to use locally; this can be both secret and non-secret variables
-- In the local _dockerized_ MeiliSearch you will not really need any secrets but if you're rebuilding the document caches then you'll be using the Github API enough (and in parallel) such that providing a Github "personal access token" will be a good idea.
- - Use the `GH_TOKEN` and `GH_USER` env variables to have the Github API's use your personal access token (versus being an anonymous user)
-- There are also some non-secret ENV variables you may want to adjust:
- - the `REPO` variable is used to determine which Github respository hosts Markdown/Prose documents
- - This will default to `tauri` for now if no ENV is detected; this will likely change in the future to `tauri-docs`.
- - the `BRANCH` variable is used to specify which branch to use; it will use `dev` if not found
>>>
->>> The Meilisearch Master Key
-- the dockerized container has no master key set (though you can set it); allowing all operations to be done via the API
-- a _production_ container should always be setup with a Master Key immediately
-- having the master key allows you to access all API endpoints but must be included in the Header as a bearer token
++++ ENV Variables
+- >>> `GH_TOKEN` and `GH_USER`
+ - Use the `GH_TOKEN` and `GH_USER` env variables to have the Github API's use your personal access token (versus being an anonymous user)
+ - If you're using the API anonymously it will quickly use the quota up but once authorized the calls are effectively nothing compared to an authorized API quota
+- >>> `REPO`, `BRANCH`, and `DOCS_PATH`
+ - the `REPO` variable is used to determine which **Github** repo hosts the Markdown/Prose documents
+ - the `BRANCH` variable is used to specify which branch to use
+ - the `DOC_PATH` variable indicates where in the repo's directory structure should be
+- >>> `FORCE`
+ - by default CLI commands will attempt to leverage file caches as much as is possible but if you set the FORCE property to `true` then no caches will be used
+- >>> `MASTER_KEY`, `ADMIN_KEY`, and `SEARCH_KEY`
+ - >>> the `MASTER_KEY` should be setup immediately on all production environments as a one time task
+ - There is only a single Master Key and unlike other keys, it is not setup via the API but rather using Meilisearch's setup script.
+ - While the Master Key can be passed into the API as bearer token for any endpoint in the API, it probably should only be used to setup other keys
+ - +++Production keys:
+ - >>> the `ADMIN_KEY` allows for most operations (outside of key management)
+ - you'll need to have this set to push documents or manage indexes on both `staging` and `production` environments
+ - when using the CLI commands to create changes on Meilisearch you'll need to ensure that not only `ADMIN_KEY` is set but that `NODE_ENV` is set to "staging" or "production"
+ - >>> the `SEARCH_KEY` only gives access to searching
+ - it gives rights to search but nothing else and while it may block some nefarious traffic it is not considered a "secret"
+ - setting this ENV variable isn't really very useful in this repo as the local Meilisearch doesn't require any keys and you'll need more power to push new documents to a production environment
+ - note the variables below as a more useful alternative
+
+ > **Note:** the interactive playground provides a view into searches but also some ability to modify the local server instance via the API. Regardless of what the `NODE_ENV` is set to it will keep it's focus on the local environment, however, if you set the `VITE_SEARCH_STAGING` or `VITE_SEARCH_PRODUCTION` variables to a search key for those environments then it will allow switching searches to this different environment.
++++
+
+>>> Server Environments
+- **LOCAL** - the default environment which both CLI commands and Playground operate on are the dockerized local server running on `http://localhost:7700`.
+- **STAGING** - when `NODE_ENV` is set to "staging" the CLI will interact with this env but the Playground will still default to the local environment. Assuming you've provided an `ADMIN_KEY`, however, the Playground will offer some interaction with this env
+- **PRODUCTION** - this is the server which has all official search docs/indexes and services the Tauri website. Behaviorly it acts the same as STAGING.
>>>
## Models
Central to using this library to build and refresh your search indexes is understanding the concept of `Model`.
- A Model has a `1:1` relationship with search indexes (or at least _potential_ indexes)
-- A Model is intended to represent:
+- >>> A Model is intended to represent:
- the **document structure** that will be used for docs in the index
- allows for **configuring the index** itself (e.g., stop words, synonyms, etc.)
- allows you to embed data mappers which map from one document structure to another
@@ -114,11 +134,11 @@ Central to using this library to build and refresh your search indexes is unders
## External Resources
-- General Documentation
+- >>> Documentation
- GET - [MeiliSearch Website Docs](https://docs.meilisearch.com/learn/what_is_meilisearch/)
-- API Docs
- GET - [Open API for MeiliSearch](https://bump.sh/doc/meilisearch)
- GET - [API Docs from MeiliSearch Website](https://docs.meilisearch.com/reference/api/)
- GET - [Postman Collection of MeiliSearch API](https://docs.meilisearch.com/postman/meilisearch-collection.json)
- Interactive
- - GET - [MeiliSearch Dashboard](http://localhost:7700/)
\ No newline at end of file
+ - GET - [MeiliSearch Dashboard](http://localhost:7700/)
+
diff --git a/packages/tauri-search/package.json b/packages/tauri-search/package.json
index 5a45333..f33f4ef 100644
--- a/packages/tauri-search/package.json
+++ b/packages/tauri-search/package.json
@@ -20,6 +20,8 @@
"current-indexes": "node bin/current-indexes.js",
"lint": "eslint src --ext ts,js,tsx,jsx --fix --no-error-on-unmatched-pattern",
"prune": "docker system prune",
+ "delta-update": "run-s rebuild-caches ",
+ "full-update": "run-s drop-indexes clear-caches rebuild-caches create-indexes push-consolidated push-prose push-repos push-typescript",
"push-caches": "node bin/push-cache.js",
"push-consolidated": "node bin/push-consolidated.js",
"push-prose": "node bin/push-prose.js",
diff --git a/packages/tauri-search/src/ast/parseTypescriptAst.ts b/packages/tauri-search/src/ast/parseTypescriptAst.ts
index 15c853b..9fac6bc 100644
--- a/packages/tauri-search/src/ast/parseTypescriptAst.ts
+++ b/packages/tauri-search/src/ast/parseTypescriptAst.ts
@@ -3,7 +3,7 @@ import { getContent } from "~/utils/getContent";
import { TsDocProject, TypescriptBlock, TypescriptSymbol } from "~/types";
import { TypescriptKind } from "~/enums";
-const fetchContent = getContent({ file: "test/fixtures/tsdoc.json" });
+const fixtureContent = getContent({ file: "test/fixtures/tsdoc.json" });
function parseModule(mod: TypescriptBlock) {
const modDefn: TypescriptSymbol = {
@@ -53,9 +53,8 @@ function parseModule(mod: TypescriptBlock) {
* @param source if not specified will use historically factual fixture data, if a URL it will load over network, if a file then will load over file system
*/
export async function parseTypescriptAst(
- source?: Parameters[0]
+ content: TypescriptBlock
): Promise {
- const content = JSON.parse(await fetchContent(source)) as TypescriptBlock;
/**
* The top level "project" isn't probably worth putting into the index,
* but instead we'll start at the modules level.
diff --git a/packages/tauri-search/src/cli/push-consolidated.ts b/packages/tauri-search/src/cli/push-consolidated.ts
index 68ce483..53ffe05 100644
--- a/packages/tauri-search/src/cli/push-consolidated.ts
+++ b/packages/tauri-search/src/cli/push-consolidated.ts
@@ -1,34 +1,12 @@
/* eslint-disable no-console */
-import { existsSync } from "node:fs";
-import { REPO_DOCS_CACHE, TS_DOCS_CACHE } from "~/constants";
-import {
- proseDocsCacheFile,
- refreshProse,
- refreshRepos,
- refreshTypescript,
-} from "~/pipelines";
import { pushConsolidatedDocs } from "~/pipelines/pushConsolidatedDocs";
import { communicateTaskStatus } from "~/utils/communicateTaskStatus";
-import { getEnv } from "~/utils/getEnv";
import { ConsolidatedModel } from "~/models";
(async () => {
- console.log(`- pushing all models into consolidated index`);
- const { repo, branch } = getEnv();
+ console.log(`- pushing all individual models into a consolidated index`);
- if (!existsSync(TS_DOCS_CACHE)) {
- console.log(`- The Typescript documents cache wasn't found; creating first`);
- await refreshTypescript(repo, branch);
- }
- if (!existsSync(REPO_DOCS_CACHE)) {
- console.log("- No cache for Repo documents found, so refreshing cache first");
- await refreshRepos();
- }
- if (!existsSync(proseDocsCacheFile(repo, branch))) {
- await refreshProse(repo, branch);
- }
-
- const { tasks } = await pushConsolidatedDocs(repo, branch);
+ const { tasks } = await pushConsolidatedDocs();
console.log();
console.log(
`- all consolidated documents [${tasks.length}] have been pushed to MeiliSearch queue`
diff --git a/packages/tauri-search/src/cli/push-prose.ts b/packages/tauri-search/src/cli/push-prose.ts
index 9ef9445..709e5fa 100644
--- a/packages/tauri-search/src/cli/push-prose.ts
+++ b/packages/tauri-search/src/cli/push-prose.ts
@@ -1,21 +1,14 @@
/* eslint-disable no-console */
-import { existsSync } from "fs";
import { pushProseDocs } from "~/pipelines/pushProseDocs";
-import { proseDocsCacheFile, refreshProse } from "~/pipelines/refreshProse";
import { communicateTaskStatus } from "~/utils/communicateTaskStatus";
-import { getEnv } from "~/utils/getEnv";
import { ProseModel } from "..";
(async () => {
- const { repo, branch } = getEnv();
- if (!existsSync(proseDocsCacheFile(repo, branch))) {
- await refreshProse(repo, branch);
- }
console.log(`- Pushing "prose" documents to MeiliSearch`);
- const tasks = await pushProseDocs(repo, branch);
+ const tasks = await pushProseDocs();
console.log(
`- all ${tasks.length} documents were pushed via API; monitoring task status ...`
);
- await communicateTaskStatus(ProseModel, tasks, { timeout: 45000 });
+ await communicateTaskStatus(ProseModel, tasks, { timeout: 75000 });
})();
diff --git a/packages/tauri-search/src/cli/push-repos.ts b/packages/tauri-search/src/cli/push-repos.ts
index 44e669c..55e9163 100644
--- a/packages/tauri-search/src/cli/push-repos.ts
+++ b/packages/tauri-search/src/cli/push-repos.ts
@@ -1,17 +1,11 @@
/* eslint-disable no-console */
-import { existsSync } from "fs";
-import { REPO_DOCS_CACHE } from "~/constants";
-import { pushRepoDocs, refreshRepos } from "~/pipelines";
+import { pushRepoDocs } from "~/pipelines";
import { communicateTaskStatus } from "~/utils/communicateTaskStatus";
import { RepoModel } from "..";
(async () => {
console.log(`- Pushing Repo document cache into MeiliSearch`);
- if (!existsSync(REPO_DOCS_CACHE)) {
- console.log("- No cache for Repo documents found, so refreshing cache first");
- await refreshRepos();
- }
const { docs, errors, tasks } = await pushRepoDocs();
console.log();
if (errors.length > 0) {
diff --git a/packages/tauri-search/src/cli/push-typescript.ts b/packages/tauri-search/src/cli/push-typescript.ts
index b9f8b66..b52c923 100644
--- a/packages/tauri-search/src/cli/push-typescript.ts
+++ b/packages/tauri-search/src/cli/push-typescript.ts
@@ -1,21 +1,11 @@
/* eslint-disable no-console */
-import { existsSync } from "node:fs";
-import { TS_DOCS_CACHE } from "~/constants";
+import { ApiModel } from "~/models";
import { pushTypescriptDocs } from "~/pipelines/pushTypescriptDocs";
-import { refreshTypescript } from "~/pipelines/refreshTypescript";
import { communicateTaskStatus } from "~/utils/communicateTaskStatus";
-import { getEnv } from "~/utils/getEnv";
-import { ApiModel } from "..";
(async () => {
- const { repo, branch } = getEnv();
- if (!existsSync(TS_DOCS_CACHE)) {
- console.log(`- The Typescript documents cache wasn't found; creating first`);
- await refreshTypescript(repo, branch);
- }
-
- console.log(`- Starting update process for Typescript API documents`);
- const { errors, tasks } = await pushTypescriptDocs();
+ console.log(`- pushing Typescript API documents to Meilisearch`);
+ const { errors, tasks } = await pushTypescriptDocs({ branch: "feat/generate-js-ast" });
console.log();
if (errors.length > 0) {
@@ -31,6 +21,6 @@ import { ApiModel } from "..";
console.log(
`- Completed pushing all Typescript docs [${tasks.length}] to MeiliSearch. Now monitoring task progress ...`
);
- communicateTaskStatus(ApiModel, tasks, { timeout: 45000 });
+ communicateTaskStatus(ApiModel, tasks, { timeout: 65000 });
}
})();
diff --git a/packages/tauri-search/src/cli/rebuild-caches.ts b/packages/tauri-search/src/cli/rebuild-caches.ts
index 7c75dd8..f94bc5c 100644
--- a/packages/tauri-search/src/cli/rebuild-caches.ts
+++ b/packages/tauri-search/src/cli/rebuild-caches.ts
@@ -3,5 +3,14 @@ import { rebuildCaches } from "~/pipelines/rebuildCaches";
(async () => {
console.log(`- Rebuilding all caches files`);
- await rebuildCaches();
+ const results = await rebuildCaches();
+ console.log(
+ `- there were ${results.prose[1]} prose docs; saved to ${results.prose[0]}`
+ );
+ console.log(
+ `- there were ${results.typescript[1]} typescript API docs; saved to ${results.typescript[0]}`
+ );
+ console.log(
+ `- there were ${results.repos[1]} repos docs; saved to ${results.repos[0]}`
+ );
})();
diff --git a/packages/tauri-search/src/cli/refresh-prose.ts b/packages/tauri-search/src/cli/refresh-prose.ts
index aa87bd0..c0bc601 100644
--- a/packages/tauri-search/src/cli/refresh-prose.ts
+++ b/packages/tauri-search/src/cli/refresh-prose.ts
@@ -3,9 +3,10 @@ import { refreshProse } from "~/pipelines/refreshProse";
import { getEnv } from "~/utils/getEnv";
(async () => {
- const { repo, branch, force } = getEnv();
+ const { repo, branch } = getEnv();
console.log(`- refreshing all prose from ${repo}@${branch}`);
-
- await refreshProse(repo, branch, { force });
- console.log(`- completed updates of prose [${repo}@${branch}] `);
+
+ const { docs, cacheFile } = await refreshProse();
+
+ console.log(`- prose documents [${docs?.length}] saved to cache file: ${cacheFile}`);
})();
diff --git a/packages/tauri-search/src/cli/refresh-repos.ts b/packages/tauri-search/src/cli/refresh-repos.ts
index f7b25b3..f8dadca 100644
--- a/packages/tauri-search/src/cli/refresh-repos.ts
+++ b/packages/tauri-search/src/cli/refresh-repos.ts
@@ -2,7 +2,7 @@
import { refreshRepos } from "~/pipelines/refreshRepos";
(async () => {
- console.log(`- writing Repo docs to cache`);
- const repos = await refreshRepos();
- console.log(`- all ${repos.length} repos have been updated`);
+ console.log(`- refresh Repo document cache`);
+ const { docs, cacheFile } = await refreshRepos();
+ console.log(`- all ${docs.length} repos have been updated and saved to: ${cacheFile}`);
})();
diff --git a/packages/tauri-search/src/cli/refresh-sitemap.ts b/packages/tauri-search/src/cli/refresh-sitemap.ts
index a582169..63ebb99 100644
--- a/packages/tauri-search/src/cli/refresh-sitemap.ts
+++ b/packages/tauri-search/src/cli/refresh-sitemap.ts
@@ -1,65 +1,44 @@
/* eslint-disable no-console */
-
-
import { refreshSitemap } from "~/pipelines/refreshSitemap";
-import { flattenSitemap, sitemapDictionary } from "~/utils/convertSitemap";
-import { CacheKind, getCache } from "~/utils/getCache";
import { getEnv } from "~/utils/getEnv";
-import { writeGeneratedFile } from "~/utils/writeGeneratedFile";
(async () => {
- const { repo, branch} = getEnv();
- const filename = `src/generated/sitemap-${repo}-${branch}.json`;
- const existingSitemap = sitemapDictionary(await getCache(CacheKind.sitemap));
- const existingFlatmap = flattenSitemap(await getCache(CacheKind.sitemap));
+ console.log(`- refreshing sitemap for prose content`);
- console.log(`- refreshing prose sitemap for ${repo}@${branch}${existingSitemap ? `; using existing sitemap for deltas [${existingFlatmap?.length} docs]` : ""}`);
+ const o = getEnv();
+ const r = await refreshSitemap(o);
- const sitemap = await refreshSitemap({ ref: branch, repo });
- const contents = flattenSitemap( sitemap);
- const changed: string[] = [];
- const added: string[] = [];
- const removed: string[] = [];
-
- if(existingSitemap) {
- for (const doc of contents) {
-
- if(existingSitemap[doc.filepath as any].sha && existingSitemap[doc.filepath as any].sha !== doc.sha) {
- changed.push(doc.filepath);
- } else if (!existingSitemap[doc.filepath as any]?.filepath && doc.sha !== existingSitemap[doc.filepath as any]?.sha ) {
- added.push(doc.filepath);
- }
+ console.log(`- updated sitemap has ${r.count} documents`);
+ if (r.hasDeltaInfo) {
+ if (r.changes?.added?.length > 0) {
+ console.log(
+ `- ${
+ r.changes.added.length
+ } files r.changes.added since last check: ${r.changes.added.join(", ")}`
+ );
}
- }
- if(existingFlatmap) {
- for (const doc of existingFlatmap) {
- if(!contents[doc.filepath as any]) {
- removed.push(doc.filepath);
- }
+ if (r.changes.changed.length > 0) {
+ console.log(
+ `- ${
+ r.changes.changed.length
+ } files changed since last check: ${r.changes.changed.join(", ")}`
+ );
}
- }
-
- console.log(`- updated sitemap has ${contents.length} documents`);
- if(existingSitemap) {
- if(added.length > 0) {
- console.log(`- ${added.length} files added since last check: `);
+ if (r.changes.removed.length > 0) {
+ console.log(
+ `- ${
+ r.changes.removed.length
+ } files removed since last check: ${r.changes.removed.join(", ")}`
+ );
}
- if(changed.length > 0) {
- console.log(`- ${changed.length} files changed since last check: ${changed.join(", ")}`);
- }
- if(removed.length > 0) {
- console.log(`- ${removed.length} files added since last check: ${removed.join(", ")}`);
- }
- if([added, changed,removed].every(i => i.length === 0)) {
+ if (
+ [r.changes.added, r.changes.changed, r.changes.removed].every((i) => i.length === 0)
+ ) {
console.log(`- no files changed since the last check`);
}
+ } else {
+ console.log(`- no prior cache info so no delta analysis was done`);
}
-
- await writeGeneratedFile(
- filename,
- JSON.stringify(sitemap)
- );
- console.log(`- files saved to: ${filename}`);
-
+ console.log(`- cache file now resides at: ${r.cacheFile}`);
})();
diff --git a/packages/tauri-search/src/cli/refresh-typescript.ts b/packages/tauri-search/src/cli/refresh-typescript.ts
index 766e05b..75250bf 100644
--- a/packages/tauri-search/src/cli/refresh-typescript.ts
+++ b/packages/tauri-search/src/cli/refresh-typescript.ts
@@ -1,14 +1,13 @@
/* eslint-disable no-console */
-import { TS_AST_CACHE, TS_DOCS_CACHE } from "~/constants";
+
import { refreshTypescript } from "~/pipelines/refreshTypescript";
-import { getEnv } from "~/utils/getEnv";
(async () => {
- const { repo, branch } = getEnv();
console.log(`- refreshing Typescript ASTs and Docs cache`);
- const docs = await refreshTypescript(repo, branch);
- console.log(`- completed caching of ${docs.length} TS API documents:`);
- console.log(` - AST Cache: ${TS_AST_CACHE}`);
- console.log(` - Doc Cache: ${TS_DOCS_CACHE}`);
+ const { docs, cacheFile, repo } = await refreshTypescript({
+ branch: "feat/generate-js-ast",
+ });
+ console.log(`- completed caching of ${docs.length} TS API documents from ${repo}:`);
+ console.log(` - Doc Cache: ${cacheFile}`);
console.log();
})();
diff --git a/packages/tauri-search/src/generated/api/tauri-docs_feat/generate-js-ast/ts-documents.json b/packages/tauri-search/src/generated/api/tauri-docs_feat/generate-js-ast/ts-documents.json
new file mode 100644
index 0000000..1fb1574
--- /dev/null
+++ b/packages/tauri-search/src/generated/api/tauri-docs_feat/generate-js-ast/ts-documents.json
@@ -0,0 +1 @@
+[{"id":"ts_app_Namespace_app","name":"app","kind":"Namespace","module":"app","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.app` when `tauri.conf.json > build > withGlobalTauri` is set to true.","declaration":"Module app","url":"https://tauri.studio/docs/api/js/modules/app#app"},{"id":"ts_app_Function_getName","name":"getName","kind":"Function","module":"app","language":"typescript","declaration":"function getName(getName: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/app#getName"},{"id":"ts_app_Function_getTauriVersion","name":"getTauriVersion","kind":"Function","module":"app","language":"typescript","declaration":"function getTauriVersion(getTauriVersion: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/app#getTauriVersion"},{"id":"ts_app_Function_getVersion","name":"getVersion","kind":"Function","module":"app","language":"typescript","declaration":"function getVersion(getVersion: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/app#getVersion"},{"id":"ts_cli_Namespace_cli","name":"cli","kind":"Namespace","module":"cli","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.cli` when `tauri.conf.json > build > withGlobalTauri` is set to true.","declaration":"Module cli","url":"https://tauri.studio/docs/api/js/modules/cli#cli"},{"id":"ts_cli_Interface_ArgMatch","name":"ArgMatch","kind":"Interface","module":"cli","language":"typescript","declaration":"interface ArgMatch {\n\toccurrences,\n\tvalue\n}","url":"https://tauri.studio/docs/api/js/modules/cli#ArgMatch"},{"id":"ts_cli_Interface_CliMatches","name":"CliMatches","kind":"Interface","module":"cli","language":"typescript","declaration":"interface CliMatches {\n\targs,\n\tsubcommand\n}","url":"https://tauri.studio/docs/api/js/modules/cli#CliMatches"},{"id":"ts_cli_Interface_SubcommandMatch","name":"SubcommandMatch","kind":"Interface","module":"cli","language":"typescript","declaration":"interface SubcommandMatch {\n\tmatches,\n\tname\n}","url":"https://tauri.studio/docs/api/js/modules/cli#SubcommandMatch"},{"id":"ts_cli_Function_getMatches","name":"getMatches","kind":"Function","module":"cli","language":"typescript","declaration":"function getMatches(getMatches: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/cli#getMatches"},{"id":"ts_clipboard_Namespace_clipboard","name":"clipboard","kind":"Namespace","module":"clipboard","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.clipboard` when `tauri.conf.json > build > withGlobalTauri` is set to true.","declaration":"Module clipboard","url":"https://tauri.studio/docs/api/js/modules/clipboard#clipboard"},{"id":"ts_clipboard_Function_readText","name":"readText","kind":"Function","module":"clipboard","language":"typescript","declaration":"function readText(readText: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/clipboard#readText"},{"id":"ts_clipboard_Function_writeText","name":"writeText","kind":"Function","module":"clipboard","language":"typescript","declaration":"function writeText(writeText: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/clipboard#writeText"},{"id":"ts_dialog_Namespace_dialog","name":"dialog","kind":"Namespace","module":"dialog","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.dialog` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"dialog\": {\n \"all\": true, // enable all dialog APIs\n \"open\": true, // enable file open API\n \"save\": true // enable file save API\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.","declaration":"Module dialog","url":"https://tauri.studio/docs/api/js/modules/dialog#dialog"},{"id":"ts_dialog_Interface_DialogFilter","name":"DialogFilter","kind":"Interface","module":"dialog","language":"typescript","declaration":"interface DialogFilter {\n\textensions,\n\tname\n}","url":"https://tauri.studio/docs/api/js/modules/dialog#DialogFilter"},{"id":"ts_dialog_Interface_OpenDialogOptions","name":"OpenDialogOptions","kind":"Interface","module":"dialog","language":"typescript","declaration":"interface OpenDialogOptions {\n\tdefaultPath,\n\tdirectory,\n\tfilters,\n\tmultiple\n}","url":"https://tauri.studio/docs/api/js/modules/dialog#OpenDialogOptions"},{"id":"ts_dialog_Interface_SaveDialogOptions","name":"SaveDialogOptions","kind":"Interface","module":"dialog","language":"typescript","declaration":"interface SaveDialogOptions {\n\tdefaultPath,\n\tfilters\n}","url":"https://tauri.studio/docs/api/js/modules/dialog#SaveDialogOptions"},{"id":"ts_dialog_Function_open","name":"open","kind":"Function","module":"dialog","language":"typescript","declaration":"function open(open: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/dialog#open"},{"id":"ts_dialog_Function_save","name":"save","kind":"Function","module":"dialog","language":"typescript","declaration":"function save(save: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/dialog#save"},{"id":"ts_event_Namespace_event","name":"event","kind":"Namespace","module":"event","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.event` when `tauri.conf.json > build > withGlobalTauri` is set to true.","declaration":"Module event","url":"https://tauri.studio/docs/api/js/modules/event#event"},{"id":"ts_event_Interface_Event","name":"Event","kind":"Interface","module":"event","language":"typescript","declaration":"interface Event {\n\tevent,\n\tid,\n\tpayload\n}","url":"https://tauri.studio/docs/api/js/modules/event#Event"},{"id":"ts_event_Type_alias_EventCallback","name":"EventCallback","kind":"Type alias","module":"event","language":"typescript","type":{"type":"reflection","declaration":{"id":55,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"sources":[{"fileName":"event.ts","line":45,"character":24}],"signatures":[{"id":56,"name":"__type","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":57,"name":"event","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":48,"typeArguments":[{"type":"reference","id":58,"name":"T"}],"name":"Event"}}],"type":{"type":"intrinsic","name":"void"}}]}},"declaration":"Type alias EventCallback","url":"https://tauri.studio/docs/api/js/modules/event#EventCallback"},{"id":"ts_event_Type_alias_EventName","name":"EventName","kind":"Type alias","module":"event","language":"typescript","type":{"type":"reference","typeArguments":[{"type":"union","types":[{"type":"literal","value":"tauri://update"},{"type":"literal","value":"tauri://update-available"},{"type":"literal","value":"tauri://update-install"},{"type":"literal","value":"tauri://update-status"},{"type":"literal","value":"tauri://resize"},{"type":"literal","value":"tauri://move"},{"type":"literal","value":"tauri://close-requested"},{"type":"literal","value":"tauri://destroyed"},{"type":"literal","value":"tauri://focus"},{"type":"literal","value":"tauri://blur"},{"type":"literal","value":"tauri://scale-change"},{"type":"literal","value":"tauri://menu"},{"type":"literal","value":"tauri://file-drop"},{"type":"literal","value":"tauri://file-drop-hover"},{"type":"literal","value":"tauri://file-drop-cancelled"}]},{"type":"intrinsic","name":"string"}],"qualifiedName":"LiteralUnion","package":"type-fest","name":"LiteralUnion"},"declaration":"Type alias EventName","url":"https://tauri.studio/docs/api/js/modules/event#EventName"},{"id":"ts_event_Type_alias_UnlistenFn","name":"UnlistenFn","kind":"Type alias","module":"event","language":"typescript","type":{"type":"reflection","declaration":{"id":60,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"sources":[{"fileName":"event.ts","line":47,"character":18}],"signatures":[{"id":61,"name":"__type","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]}},"declaration":"Type alias UnlistenFn","url":"https://tauri.studio/docs/api/js/modules/event#UnlistenFn"},{"id":"ts_event_Function_emit","name":"emit","kind":"Function","module":"event","language":"typescript","declaration":"function emit(emit: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/event#emit"},{"id":"ts_event_Function_listen","name":"listen","kind":"Function","module":"event","language":"typescript","declaration":"function listen(listen: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/event#listen"},{"id":"ts_event_Function_once","name":"once","kind":"Function","module":"event","language":"typescript","declaration":"function once(once: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/event#once"},{"id":"ts_fs_Namespace_fs","name":"fs","kind":"Namespace","module":"fs","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.fs` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"fs\": {\n \"all\": true, // enable all FS APIs\n \"readTextFile\": true,\n \"readBinaryFile\": true,\n \"writeFile\": true,\n \"writeBinaryFile\": true,\n \"readDir\": true,\n \"copyFile\": true,\n \"createDir\": true,\n \"removeDir\": true,\n \"removeFile\": true,\n \"renameFile\": true\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.","declaration":"Module fs","url":"https://tauri.studio/docs/api/js/modules/fs#fs"},{"id":"ts_fs_Reference_Dir","name":"Dir","kind":"Reference","module":"fs","language":"typescript","declaration":"type Dir = {\n\tundefined\n}","url":"https://tauri.studio/docs/api/js/modules/fs#Dir"},{"id":"ts_fs_Enumeration_BaseDirectory","name":"BaseDirectory","kind":"Enumeration","module":"fs","language":"typescript","declaration":"enum BaseDirectory {\n\tApp,\n\tAudio,\n\tCache,\n\tConfig,\n\tCurrent,\n\tData,\n\tDesktop,\n\tDocument,\n\tDownload,\n\tExecutable,\n\tFont,\n\tHome,\n\tLocalData,\n\tPicture,\n\tPublic,\n\tResource,\n\tRuntime,\n\tTemplate,\n\tVideo\n}","url":"https://tauri.studio/docs/api/js/modules/fs#BaseDirectory"},{"id":"ts_fs_Interface_FileEntry","name":"FileEntry","kind":"Interface","module":"fs","language":"typescript","declaration":"interface FileEntry {\n\tchildren,\n\tname,\n\tpath\n}","url":"https://tauri.studio/docs/api/js/modules/fs#FileEntry"},{"id":"ts_fs_Interface_FsBinaryFileOption","name":"FsBinaryFileOption","kind":"Interface","module":"fs","language":"typescript","declaration":"interface FsBinaryFileOption {\n\tcontents,\n\tpath\n}","url":"https://tauri.studio/docs/api/js/modules/fs#FsBinaryFileOption"},{"id":"ts_fs_Interface_FsDirOptions","name":"FsDirOptions","kind":"Interface","module":"fs","language":"typescript","declaration":"interface FsDirOptions {\n\tdir,\n\trecursive\n}","url":"https://tauri.studio/docs/api/js/modules/fs#FsDirOptions"},{"id":"ts_fs_Interface_FsOptions","name":"FsOptions","kind":"Interface","module":"fs","language":"typescript","declaration":"interface FsOptions {\n\tdir\n}","url":"https://tauri.studio/docs/api/js/modules/fs#FsOptions"},{"id":"ts_fs_Interface_FsTextFileOption","name":"FsTextFileOption","kind":"Interface","module":"fs","language":"typescript","declaration":"interface FsTextFileOption {\n\tcontents,\n\tpath\n}","url":"https://tauri.studio/docs/api/js/modules/fs#FsTextFileOption"},{"id":"ts_fs_Function_copyFile","name":"copyFile","kind":"Function","module":"fs","language":"typescript","declaration":"function copyFile(copyFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#copyFile"},{"id":"ts_fs_Function_createDir","name":"createDir","kind":"Function","module":"fs","language":"typescript","declaration":"function createDir(createDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#createDir"},{"id":"ts_fs_Function_readBinaryFile","name":"readBinaryFile","kind":"Function","module":"fs","language":"typescript","declaration":"function readBinaryFile(readBinaryFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#readBinaryFile"},{"id":"ts_fs_Function_readDir","name":"readDir","kind":"Function","module":"fs","language":"typescript","declaration":"function readDir(readDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#readDir"},{"id":"ts_fs_Function_readTextFile","name":"readTextFile","kind":"Function","module":"fs","language":"typescript","declaration":"function readTextFile(readTextFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#readTextFile"},{"id":"ts_fs_Function_removeDir","name":"removeDir","kind":"Function","module":"fs","language":"typescript","declaration":"function removeDir(removeDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#removeDir"},{"id":"ts_fs_Function_removeFile","name":"removeFile","kind":"Function","module":"fs","language":"typescript","declaration":"function removeFile(removeFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#removeFile"},{"id":"ts_fs_Function_renameFile","name":"renameFile","kind":"Function","module":"fs","language":"typescript","declaration":"function renameFile(renameFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#renameFile"},{"id":"ts_fs_Function_writeBinaryFile","name":"writeBinaryFile","kind":"Function","module":"fs","language":"typescript","declaration":"function writeBinaryFile(writeBinaryFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#writeBinaryFile"},{"id":"ts_fs_Function_writeFile","name":"writeFile","kind":"Function","module":"fs","language":"typescript","declaration":"function writeFile(writeFile: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/fs#writeFile"},{"id":"ts_globalShortcut_Namespace_globalShortcut","name":"globalShortcut","kind":"Namespace","module":"globalShortcut","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.globalShortcut` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"globalShortcut\": {\n \"all\": true // enable all global shortcut APIs\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.","declaration":"Module globalShortcut","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#globalShortcut"},{"id":"ts_globalShortcut_Type_alias_ShortcutHandler","name":"ShortcutHandler","kind":"Type alias","module":"globalShortcut","language":"typescript","type":{"type":"reflection","declaration":{"id":157,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"sources":[{"fileName":"globalShortcut.ts","line":29,"character":30}],"signatures":[{"id":158,"name":"__type","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":159,"name":"shortcut","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]}},"declaration":"Type alias ShortcutHandler","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#ShortcutHandler"},{"id":"ts_globalShortcut_Function_isRegistered","name":"isRegistered","kind":"Function","module":"globalShortcut","language":"typescript","declaration":"function isRegistered(isRegistered: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#isRegistered"},{"id":"ts_globalShortcut_Function_register","name":"register","kind":"Function","module":"globalShortcut","language":"typescript","declaration":"function register(register: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#register"},{"id":"ts_globalShortcut_Function_registerAll","name":"registerAll","kind":"Function","module":"globalShortcut","language":"typescript","declaration":"function registerAll(registerAll: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#registerAll"},{"id":"ts_globalShortcut_Function_unregister","name":"unregister","kind":"Function","module":"globalShortcut","language":"typescript","declaration":"function unregister(unregister: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#unregister"},{"id":"ts_globalShortcut_Function_unregisterAll","name":"unregisterAll","kind":"Function","module":"globalShortcut","language":"typescript","declaration":"function unregisterAll(unregisterAll: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/globalShortcut#unregisterAll"},{"id":"ts_http_Namespace_http","name":"http","kind":"Namespace","module":"http","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.http` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"http\": {\n \"all\": true, // enable all http APIs\n \"request\": true // enable HTTP request API\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.","declaration":"Module http","url":"https://tauri.studio/docs/api/js/modules/http#http"},{"id":"ts_http_Enumeration_ResponseType","name":"ResponseType","kind":"Enumeration","module":"http","language":"typescript","declaration":"enum ResponseType {\n\tBinary,\n\tJSON,\n\tText\n}","url":"https://tauri.studio/docs/api/js/modules/http#ResponseType"},{"id":"ts_http_Class_Body","name":"Body","kind":"Class","module":"http","language":"typescript","declaration":"Class Body {\n\tpayload,\n\ttype,\n\tbytes,\n\tform,\n\tjson,\n\ttext\n}","url":"https://tauri.studio/docs/api/js/classes/http.Body"},{"id":"ts_http_Class_Client","name":"Client","kind":"Class","module":"http","language":"typescript","declaration":"Class Client {\n\tid,\n\tdelete,\n\tdrop,\n\tget,\n\tpatch,\n\tpost,\n\tput,\n\trequest\n}","url":"https://tauri.studio/docs/api/js/classes/http.Client"},{"id":"ts_http_Class_Response","name":"Response","kind":"Class","module":"http","language":"typescript","declaration":"Class Response {\n\tdata,\n\theaders,\n\tok,\n\tstatus,\n\turl\n}","url":"https://tauri.studio/docs/api/js/classes/http.Response"},{"id":"ts_http_Interface_ClientOptions","name":"ClientOptions","kind":"Interface","module":"http","language":"typescript","declaration":"interface ClientOptions {\n\tconnectTimeout,\n\tmaxRedirections\n}","url":"https://tauri.studio/docs/api/js/modules/http#ClientOptions"},{"id":"ts_http_Interface_HttpOptions","name":"HttpOptions","kind":"Interface","module":"http","language":"typescript","declaration":"interface HttpOptions {\n\tbody,\n\theaders,\n\tmethod,\n\tquery,\n\tresponseType,\n\ttimeout,\n\turl\n}","url":"https://tauri.studio/docs/api/js/modules/http#HttpOptions"},{"id":"ts_http_Type_alias_FetchOptions","name":"FetchOptions","kind":"Type alias","module":"http","language":"typescript","type":{"type":"reference","typeArguments":[{"type":"reference","id":182,"name":"HttpOptions"},{"type":"literal","value":"url"}],"qualifiedName":"Omit","package":"typescript","name":"Omit"},"declaration":"Type alias FetchOptions","url":"https://tauri.studio/docs/api/js/modules/http#FetchOptions"},{"id":"ts_http_Type_alias_HttpVerb","name":"HttpVerb","kind":"Type alias","module":"http","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":"GET"},{"type":"literal","value":"POST"},{"type":"literal","value":"PUT"},{"type":"literal","value":"DELETE"},{"type":"literal","value":"PATCH"},{"type":"literal","value":"HEAD"},{"type":"literal","value":"OPTIONS"},{"type":"literal","value":"CONNECT"},{"type":"literal","value":"TRACE"}]},"declaration":"Type alias HttpVerb","url":"https://tauri.studio/docs/api/js/modules/http#HttpVerb"},{"id":"ts_http_Type_alias_Part","name":"Part","kind":"Type alias","module":"http","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":"string"},{"type":"array","elementType":{"type":"intrinsic","name":"number"}}]},"declaration":"Type alias Part","url":"https://tauri.studio/docs/api/js/modules/http#Part"},{"id":"ts_http_Type_alias_RequestOptions","name":"RequestOptions","kind":"Type alias","module":"http","language":"typescript","type":{"type":"reference","typeArguments":[{"type":"reference","id":182,"name":"HttpOptions"},{"type":"union","types":[{"type":"literal","value":"method"},{"type":"literal","value":"url"}]}],"qualifiedName":"Omit","package":"typescript","name":"Omit"},"declaration":"Type alias RequestOptions","url":"https://tauri.studio/docs/api/js/modules/http#RequestOptions"},{"id":"ts_http_Function_fetch","name":"fetch","kind":"Function","module":"http","language":"typescript","declaration":"function fetch(fetch: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/http#fetch"},{"id":"ts_http_Function_getClient","name":"getClient","kind":"Function","module":"http","language":"typescript","declaration":"function getClient(getClient: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/http#getClient"},{"id":"ts_notification_Namespace_notification","name":"notification","kind":"Namespace","module":"notification","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.notification` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"notification\": {\n \"all\": true // enable all notification APIs\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.","declaration":"Module notification","url":"https://tauri.studio/docs/api/js/modules/notification#notification"},{"id":"ts_notification_Interface_Options","name":"Options","kind":"Interface","module":"notification","language":"typescript","declaration":"interface Options {\n\tbody,\n\ticon,\n\ttitle\n}","url":"https://tauri.studio/docs/api/js/modules/notification#Options"},{"id":"ts_notification_Type_alias_Permission","name":"Permission","kind":"Type alias","module":"notification","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":"granted"},{"type":"literal","value":"denied"},{"type":"literal","value":"default"}]},"declaration":"Type alias Permission","url":"https://tauri.studio/docs/api/js/modules/notification#Permission"},{"id":"ts_notification_Function_isPermissionGranted","name":"isPermissionGranted","kind":"Function","module":"notification","language":"typescript","declaration":"function isPermissionGranted(isPermissionGranted: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/notification#isPermissionGranted"},{"id":"ts_notification_Function_requestPermission","name":"requestPermission","kind":"Function","module":"notification","language":"typescript","declaration":"function requestPermission(requestPermission: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/notification#requestPermission"},{"id":"ts_notification_Function_sendNotification","name":"sendNotification","kind":"Function","module":"notification","language":"typescript","declaration":"function sendNotification(sendNotification: void) { ... }","url":"https://tauri.studio/docs/api/js/modules/notification#sendNotification"},{"id":"ts_os_Namespace_os","name":"os","kind":"Namespace","module":"os","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.fs` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"os\": {\n \"all\": true, // enable all Os APIs\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.","declaration":"Module os","url":"https://tauri.studio/docs/api/js/modules/os#os"},{"id":"ts_os_Variable_EOL","name":"EOL","kind":"Variable","module":"os","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":"\r\n"},{"type":"literal","value":"\n"}]},"declaration":"Variable EOL","url":"https://tauri.studio/docs/api/js/modules/os#EOL"},{"id":"ts_os_Function_arch","name":"arch","kind":"Function","module":"os","language":"typescript","declaration":"function arch(arch: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/os#arch"},{"id":"ts_os_Function_platform","name":"platform","kind":"Function","module":"os","language":"typescript","declaration":"function platform(platform: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/os#platform"},{"id":"ts_os_Function_tempdir","name":"tempdir","kind":"Function","module":"os","language":"typescript","declaration":"function tempdir(tempdir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/os#tempdir"},{"id":"ts_os_Function_type","name":"type","kind":"Function","module":"os","language":"typescript","declaration":"function type(type: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/os#type"},{"id":"ts_os_Function_version","name":"version","kind":"Function","module":"os","language":"typescript","declaration":"function version(version: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/os#version"},{"id":"ts_path_Namespace_path","name":"path","kind":"Namespace","module":"path","language":"typescript","declaration":"Module path","url":"https://tauri.studio/docs/api/js/modules/path#path"},{"id":"ts_path_Reference_BaseDirectory","name":"BaseDirectory","kind":"Reference","module":"path","language":"typescript","declaration":"type BaseDirectory = {\n\tundefined\n}","url":"https://tauri.studio/docs/api/js/modules/path#BaseDirectory"},{"id":"ts_path_Variable_delimiter","name":"delimiter","kind":"Variable","module":"path","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":";"},{"type":"literal","value":":"}]},"declaration":"Variable delimiter","url":"https://tauri.studio/docs/api/js/modules/path#delimiter"},{"id":"ts_path_Variable_sep","name":"sep","kind":"Variable","module":"path","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":"\\"},{"type":"literal","value":"/"}]},"declaration":"Variable sep","url":"https://tauri.studio/docs/api/js/modules/path#sep"},{"id":"ts_path_Function_appDir","name":"appDir","kind":"Function","module":"path","language":"typescript","declaration":"function appDir(appDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#appDir"},{"id":"ts_path_Function_audioDir","name":"audioDir","kind":"Function","module":"path","language":"typescript","declaration":"function audioDir(audioDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#audioDir"},{"id":"ts_path_Function_basename","name":"basename","kind":"Function","module":"path","language":"typescript","declaration":"function basename(basename: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#basename"},{"id":"ts_path_Function_cacheDir","name":"cacheDir","kind":"Function","module":"path","language":"typescript","declaration":"function cacheDir(cacheDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#cacheDir"},{"id":"ts_path_Function_configDir","name":"configDir","kind":"Function","module":"path","language":"typescript","declaration":"function configDir(configDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#configDir"},{"id":"ts_path_Function_currentDir","name":"currentDir","kind":"Function","module":"path","language":"typescript","declaration":"function currentDir(currentDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#currentDir"},{"id":"ts_path_Function_dataDir","name":"dataDir","kind":"Function","module":"path","language":"typescript","declaration":"function dataDir(dataDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#dataDir"},{"id":"ts_path_Function_desktopDir","name":"desktopDir","kind":"Function","module":"path","language":"typescript","declaration":"function desktopDir(desktopDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#desktopDir"},{"id":"ts_path_Function_dirname","name":"dirname","kind":"Function","module":"path","language":"typescript","declaration":"function dirname(dirname: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#dirname"},{"id":"ts_path_Function_documentDir","name":"documentDir","kind":"Function","module":"path","language":"typescript","declaration":"function documentDir(documentDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#documentDir"},{"id":"ts_path_Function_downloadDir","name":"downloadDir","kind":"Function","module":"path","language":"typescript","declaration":"function downloadDir(downloadDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#downloadDir"},{"id":"ts_path_Function_executableDir","name":"executableDir","kind":"Function","module":"path","language":"typescript","declaration":"function executableDir(executableDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#executableDir"},{"id":"ts_path_Function_extname","name":"extname","kind":"Function","module":"path","language":"typescript","declaration":"function extname(extname: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#extname"},{"id":"ts_path_Function_fontDir","name":"fontDir","kind":"Function","module":"path","language":"typescript","declaration":"function fontDir(fontDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#fontDir"},{"id":"ts_path_Function_homeDir","name":"homeDir","kind":"Function","module":"path","language":"typescript","declaration":"function homeDir(homeDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#homeDir"},{"id":"ts_path_Function_isAbsolute","name":"isAbsolute","kind":"Function","module":"path","language":"typescript","declaration":"function isAbsolute(isAbsolute: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#isAbsolute"},{"id":"ts_path_Function_join","name":"join","kind":"Function","module":"path","language":"typescript","declaration":"function join(join: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#join"},{"id":"ts_path_Function_localDataDir","name":"localDataDir","kind":"Function","module":"path","language":"typescript","declaration":"function localDataDir(localDataDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#localDataDir"},{"id":"ts_path_Function_normalize","name":"normalize","kind":"Function","module":"path","language":"typescript","declaration":"function normalize(normalize: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#normalize"},{"id":"ts_path_Function_pictureDir","name":"pictureDir","kind":"Function","module":"path","language":"typescript","declaration":"function pictureDir(pictureDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#pictureDir"},{"id":"ts_path_Function_publicDir","name":"publicDir","kind":"Function","module":"path","language":"typescript","declaration":"function publicDir(publicDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#publicDir"},{"id":"ts_path_Function_resolve","name":"resolve","kind":"Function","module":"path","language":"typescript","declaration":"function resolve(resolve: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#resolve"},{"id":"ts_path_Function_resourceDir","name":"resourceDir","kind":"Function","module":"path","language":"typescript","declaration":"function resourceDir(resourceDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#resourceDir"},{"id":"ts_path_Function_runtimeDir","name":"runtimeDir","kind":"Function","module":"path","language":"typescript","declaration":"function runtimeDir(runtimeDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#runtimeDir"},{"id":"ts_path_Function_templateDir","name":"templateDir","kind":"Function","module":"path","language":"typescript","declaration":"function templateDir(templateDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#templateDir"},{"id":"ts_path_Function_videoDir","name":"videoDir","kind":"Function","module":"path","language":"typescript","declaration":"function videoDir(videoDir: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/path#videoDir"},{"id":"ts_process_Namespace_process","name":"process","kind":"Namespace","module":"process","language":"typescript","declaration":"Module process","url":"https://tauri.studio/docs/api/js/modules/process#process"},{"id":"ts_process_Function_exit","name":"exit","kind":"Function","module":"process","language":"typescript","declaration":"function exit(exit: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/process#exit"},{"id":"ts_process_Function_relaunch","name":"relaunch","kind":"Function","module":"process","language":"typescript","declaration":"function relaunch(relaunch: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/process#relaunch"},{"id":"ts_shell_Namespace_shell","name":"shell","kind":"Namespace","module":"shell","language":"typescript","declaration":"Module shell","url":"https://tauri.studio/docs/api/js/modules/shell#shell"},{"id":"ts_shell_Class_Child","name":"Child","kind":"Class","module":"shell","language":"typescript","declaration":"Class Child {\n\tconstructor,\n\tpid,\n\tkill,\n\twrite\n}","url":"https://tauri.studio/docs/api/js/classes/shell.Child"},{"id":"ts_shell_Class_Command","name":"Command","kind":"Class","module":"shell","language":"typescript","commentTags":[{"tag":"example","text":"\n```typescript\nconst command = new Command('node')\ncommand.on('close', data => {\n console.log(`command finished with code ${data.code} and signal ${data.signal}`)\n})\ncommand.on('error', error => console.error(`command error: \"${error}\"`))\ncommand.stdout.on('data', line => console.log(`command stdout: \"${line}\"`))\ncommand.stderr.on('data', line => console.log(`command stderr: \"${line}\"`))\n\nconst child = await command.spawn()\nconsole.log('pid:', child.pid)\n```\n"}],"declaration":"Class Command {\n\tconstructor,\n\tstderr,\n\tstdout,\n\texecute,\n\ton,\n\tspawn,\n\tsidecar\n}","url":"https://tauri.studio/docs/api/js/classes/shell.Command"},{"id":"ts_shell_Interface_ChildProcess","name":"ChildProcess","kind":"Interface","module":"shell","language":"typescript","declaration":"interface ChildProcess {\n\tcode,\n\tsignal,\n\tstderr,\n\tstdout\n}","url":"https://tauri.studio/docs/api/js/modules/shell#ChildProcess"},{"id":"ts_shell_Interface_SpawnOptions","name":"SpawnOptions","kind":"Interface","module":"shell","language":"typescript","declaration":"interface SpawnOptions {\n\tcwd,\n\tenv\n}","url":"https://tauri.studio/docs/api/js/modules/shell#SpawnOptions"},{"id":"ts_shell_Function_open","name":"open","kind":"Function","module":"shell","language":"typescript","declaration":"function open(open: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/shell#open"},{"id":"ts_tauri_Namespace_tauri","name":"tauri","kind":"Namespace","module":"tauri","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.tauri` when `tauri.conf.json > build > withGlobalTauri` is set to true.","declaration":"Module tauri","url":"https://tauri.studio/docs/api/js/modules/tauri#tauri"},{"id":"ts_tauri_Interface_InvokeArgs","name":"InvokeArgs","kind":"Interface","module":"tauri","language":"typescript","declaration":"interface InvokeArgs {\n\tundefined\n}","url":"https://tauri.studio/docs/api/js/modules/tauri#InvokeArgs"},{"id":"ts_tauri_Function_convertFileSrc","name":"convertFileSrc","kind":"Function","module":"tauri","language":"typescript","declaration":"function convertFileSrc(convertFileSrc: string) { ... }","url":"https://tauri.studio/docs/api/js/modules/tauri#convertFileSrc"},{"id":"ts_tauri_Function_invoke","name":"invoke","kind":"Function","module":"tauri","language":"typescript","declaration":"function invoke(invoke: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/tauri#invoke"},{"id":"ts_tauri_Function_transformCallback","name":"transformCallback","kind":"Function","module":"tauri","language":"typescript","declaration":"function transformCallback(transformCallback: string) { ... }","url":"https://tauri.studio/docs/api/js/modules/tauri#transformCallback"},{"id":"ts_updater_Namespace_updater","name":"updater","kind":"Namespace","module":"updater","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.updater` when `tauri.conf.json > build > withGlobalTauri` is set to true.","declaration":"Module updater","url":"https://tauri.studio/docs/api/js/modules/updater#updater"},{"id":"ts_updater_Interface_UpdateManifest","name":"UpdateManifest","kind":"Interface","module":"updater","language":"typescript","declaration":"interface UpdateManifest {\n\tbody,\n\tdate,\n\tversion\n}","url":"https://tauri.studio/docs/api/js/modules/updater#UpdateManifest"},{"id":"ts_updater_Interface_UpdateResult","name":"UpdateResult","kind":"Interface","module":"updater","language":"typescript","declaration":"interface UpdateResult {\n\tmanifest,\n\tshouldUpdate\n}","url":"https://tauri.studio/docs/api/js/modules/updater#UpdateResult"},{"id":"ts_updater_Interface_UpdateStatusResult","name":"UpdateStatusResult","kind":"Interface","module":"updater","language":"typescript","declaration":"interface UpdateStatusResult {\n\terror,\n\tstatus\n}","url":"https://tauri.studio/docs/api/js/modules/updater#UpdateStatusResult"},{"id":"ts_updater_Type_alias_UpdateStatus","name":"UpdateStatus","kind":"Type alias","module":"updater","language":"typescript","type":{"type":"union","types":[{"type":"literal","value":"PENDING"},{"type":"literal","value":"ERROR"},{"type":"literal","value":"DONE"},{"type":"literal","value":"UPTODATE"}]},"declaration":"Type alias UpdateStatus","url":"https://tauri.studio/docs/api/js/modules/updater#UpdateStatus"},{"id":"ts_updater_Function_checkUpdate","name":"checkUpdate","kind":"Function","module":"updater","language":"typescript","declaration":"function checkUpdate(checkUpdate: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/updater#checkUpdate"},{"id":"ts_updater_Function_installUpdate","name":"installUpdate","kind":"Function","module":"updater","language":"typescript","declaration":"function installUpdate(installUpdate: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/updater#installUpdate"},{"id":"ts_window_Namespace_window","name":"window","kind":"Namespace","module":"window","language":"typescript","comment":"This package is also accessible with `window.__TAURI__.window` when `tauri.conf.json > build > withGlobalTauri` is set to true.\n\nThe APIs must be allowlisted on `tauri.conf.json`:\n```json\n{\n \"tauri\": {\n \"allowlist\": {\n \"window\": {\n \"all\": true, // enable all window APIs\n \"create\": true // enable window creation\n }\n }\n }\n}\n```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and security.\n\n# Window events\n\nEvents can be listened using `appWindow.listen`:\n```typescript\nimport { appWindow } from '@tauri-apps/api/window'\nappWindow.listen('tauri://move', ({ event, payload }) => {\n const { x, y } = payload // payload here is a `PhysicalPosition`\n})\n```\n\nWindow-specific events emitted by the backend:\n\n#### 'tauri://resize'\nEmitted when the size of the window has changed.\n*EventPayload*:\n```typescript\ntype ResizePayload = PhysicalSize\n```\n\n#### 'tauri://move'\nEmitted when the position of the window has changed.\n*EventPayload*:\n```typescript\ntype MovePayload = PhysicalPosition\n```\n\n#### 'tauri://close-requested'\nEmitted when the user requests the window to be closed.\n\n#### 'tauri://destroyed'\nEmitted after the window is closed.\n\n#### 'tauri://focus'\nEmitted when the window gains focus.\n\n#### 'tauri://blur'\nEmitted when the window loses focus.\n\n#### 'tauri://scale-change'\nEmitted when the window's scale factor has changed.\nThe following user actions can cause DPI changes:\n- Changing the display's resolution.\n- Changing the display's scale factor (e.g. in Control Panel on Windows).\n- Moving the window to a display with a different scale factor.\n*Event payload*:\n```typescript\ninterface ScaleFactorChanged {\n scaleFactor: number\n size: PhysicalSize\n}\n```\n\n#### 'tauri://menu'\nEmitted when a menu item is clicked.\n*EventPayload*:\n```typescript\ntype MenuClicked = string\n```\n","declaration":"Module window","url":"https://tauri.studio/docs/api/js/modules/window#window"},{"id":"ts_window_Enumeration_UserAttentionType","name":"UserAttentionType","kind":"Enumeration","module":"window","language":"typescript","declaration":"enum UserAttentionType {\n\tCritical,\n\tInformational\n}","url":"https://tauri.studio/docs/api/js/modules/window#UserAttentionType"},{"id":"ts_window_Class_LogicalPosition","name":"LogicalPosition","kind":"Class","module":"window","language":"typescript","declaration":"Class LogicalPosition {\n\tconstructor,\n\ttype,\n\tx,\n\ty\n}","url":"https://tauri.studio/docs/api/js/classes/window.LogicalPosition"},{"id":"ts_window_Class_LogicalSize","name":"LogicalSize","kind":"Class","module":"window","language":"typescript","declaration":"Class LogicalSize {\n\tconstructor,\n\theight,\n\ttype,\n\twidth\n}","url":"https://tauri.studio/docs/api/js/classes/window.LogicalSize"},{"id":"ts_window_Class_PhysicalPosition","name":"PhysicalPosition","kind":"Class","module":"window","language":"typescript","declaration":"Class PhysicalPosition {\n\tconstructor,\n\ttype,\n\tx,\n\ty,\n\ttoLogical\n}","url":"https://tauri.studio/docs/api/js/classes/window.PhysicalPosition"},{"id":"ts_window_Class_PhysicalSize","name":"PhysicalSize","kind":"Class","module":"window","language":"typescript","declaration":"Class PhysicalSize {\n\tconstructor,\n\theight,\n\ttype,\n\twidth,\n\ttoLogical\n}","url":"https://tauri.studio/docs/api/js/classes/window.PhysicalSize"},{"id":"ts_window_Class_WebviewWindow","name":"WebviewWindow","kind":"Class","module":"window","language":"typescript","commentTags":[{"tag":"example","text":"\n```typescript\n// loading embedded asset:\nconst webview = new WebviewWindow('theUniqueLabel', {\n url: 'path/to/page.html'\n})\n// alternatively, load a remote URL:\nconst webview = new WebviewWindow('theUniqueLabel', {\n url: 'https://github.com/tauri-apps/tauri'\n})\n\nwebview.once('tauri://created', function () {\n // webview window successfully created\n})\nwebview.once('tauri://error', function (e) {\n // an error happened creating the webview window\n})\n\n// emit an event to the backend\nawait webview.emit(\"some event\", \"data\")\n// listen to an event from the backend\nconst unlisten = await webview.listen(\"event name\", e => {})\nunlisten()\n```\n"}],"declaration":"Class WebviewWindow {\n\tconstructor,\n\tlabel,\n\tlisteners,\n\t_handleTauriEvent,\n\tcenter,\n\tclose,\n\temit,\n\thide,\n\tinnerPosition,\n\tinnerSize,\n\tisDecorated,\n\tisFullscreen,\n\tisMaximized,\n\tisResizable,\n\tisVisible,\n\tlisten,\n\tmaximize,\n\tminimize,\n\tonce,\n\touterPosition,\n\touterSize,\n\trequestUserAttention,\n\tscaleFactor,\n\tsetAlwaysOnTop,\n\tsetDecorations,\n\tsetFocus,\n\tsetFullscreen,\n\tsetIcon,\n\tsetMaxSize,\n\tsetMinSize,\n\tsetPosition,\n\tsetResizable,\n\tsetSize,\n\tsetSkipTaskbar,\n\tsetTitle,\n\tshow,\n\tstartDragging,\n\ttoggleMaximize,\n\tunmaximize,\n\tunminimize,\n\tgetByLabel\n}","url":"https://tauri.studio/docs/api/js/classes/window.WebviewWindow"},{"id":"ts_window_Class_WebviewWindowHandle","name":"WebviewWindowHandle","kind":"Class","module":"window","language":"typescript","declaration":"Class WebviewWindowHandle {\n\tconstructor,\n\tlabel,\n\tlisteners,\n\t_handleTauriEvent,\n\temit,\n\tlisten,\n\tonce\n}","url":"https://tauri.studio/docs/api/js/classes/window.WebviewWindowHandle"},{"id":"ts_window_Class_WindowManager","name":"WindowManager","kind":"Class","module":"window","language":"typescript","declaration":"Class WindowManager {\n\tconstructor,\n\tlabel,\n\tlisteners,\n\t_handleTauriEvent,\n\tcenter,\n\tclose,\n\temit,\n\thide,\n\tinnerPosition,\n\tinnerSize,\n\tisDecorated,\n\tisFullscreen,\n\tisMaximized,\n\tisResizable,\n\tisVisible,\n\tlisten,\n\tmaximize,\n\tminimize,\n\tonce,\n\touterPosition,\n\touterSize,\n\trequestUserAttention,\n\tscaleFactor,\n\tsetAlwaysOnTop,\n\tsetDecorations,\n\tsetFocus,\n\tsetFullscreen,\n\tsetIcon,\n\tsetMaxSize,\n\tsetMinSize,\n\tsetPosition,\n\tsetResizable,\n\tsetSize,\n\tsetSkipTaskbar,\n\tsetTitle,\n\tshow,\n\tstartDragging,\n\ttoggleMaximize,\n\tunmaximize,\n\tunminimize\n}","url":"https://tauri.studio/docs/api/js/classes/window.WindowManager"},{"id":"ts_window_Interface_Monitor","name":"Monitor","kind":"Interface","module":"window","language":"typescript","declaration":"interface Monitor {\n\tname,\n\tposition,\n\tscaleFactor,\n\tsize\n}","url":"https://tauri.studio/docs/api/js/modules/window#Monitor"},{"id":"ts_window_Interface_WindowOptions","name":"WindowOptions","kind":"Interface","module":"window","language":"typescript","declaration":"interface WindowOptions {\n\talwaysOnTop,\n\tcenter,\n\tdecorations,\n\tfocus,\n\tfullscreen,\n\theight,\n\tmaxHeight,\n\tmaxWidth,\n\tmaximized,\n\tminHeight,\n\tminWidth,\n\tresizable,\n\tskipTaskbar,\n\ttitle,\n\ttransparent,\n\turl,\n\tvisible,\n\twidth,\n\tx,\n\ty\n}","url":"https://tauri.studio/docs/api/js/modules/window#WindowOptions"},{"id":"ts_window_Variable_appWindow","name":"appWindow","kind":"Variable","module":"window","language":"typescript","type":{"type":"reference","id":449,"name":"WebviewWindow"},"declaration":"Variable appWindow","url":"https://tauri.studio/docs/api/js/modules/window#appWindow"},{"id":"ts_window_Function_availableMonitors","name":"availableMonitors","kind":"Function","module":"window","language":"typescript","declaration":"function availableMonitors(availableMonitors: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/window#availableMonitors"},{"id":"ts_window_Function_currentMonitor","name":"currentMonitor","kind":"Function","module":"window","language":"typescript","declaration":"function currentMonitor(currentMonitor: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/window#currentMonitor"},{"id":"ts_window_Function_getAll","name":"getAll","kind":"Function","module":"window","language":"typescript","declaration":"function getAll(getAll: undefined) { ... }","url":"https://tauri.studio/docs/api/js/modules/window#getAll"},{"id":"ts_window_Function_getCurrent","name":"getCurrent","kind":"Function","module":"window","language":"typescript","declaration":"function getCurrent(getCurrent: WebviewWindow) { ... }","url":"https://tauri.studio/docs/api/js/modules/window#getCurrent"},{"id":"ts_window_Function_primaryMonitor","name":"primaryMonitor","kind":"Function","module":"window","language":"typescript","declaration":"function primaryMonitor(primaryMonitor: Promise) { ... }","url":"https://tauri.studio/docs/api/js/modules/window#primaryMonitor"}]
\ No newline at end of file
diff --git a/packages/tauri-search/src/generated/ast/prose/tauri-docs_dev/documents.json b/packages/tauri-search/src/generated/ast/prose/tauri-docs_dev/documents.json
deleted file mode 100644
index 0637a08..0000000
--- a/packages/tauri-search/src/generated/ast/prose/tauri-docs_dev/documents.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/packages/tauri-search/src/generated/prose/tauri-docs_dev/documents.json b/packages/tauri-search/src/generated/prose/tauri-docs_dev/documents.json
new file mode 100644
index 0000000..548bbd4
--- /dev/null
+++ b/packages/tauri-search/src/generated/prose/tauri-docs_dev/documents.json
@@ -0,0 +1 @@
+[{"id":"prose_docs_architecture_md","title":{"content":"The Tauri Architecture","type":"text"},"sections":["What does the Release flow look like"],"subSections":[],"code":[null],"text":"# The Tauri Architecture ## Introduction Tauri is a polyglot and generic toolkit\nthat is very composable and allows engineers to make a wide variety of\napplications. It is used for building applications for Desktop Computers using a\ncombination of Rust tools and HTML rendered in a Webview. Apps built with Tauri\ncan ship with any number of pieces of an optional JS API / Rust API so that\nwebviews can control the system via message passing. In fact, developers can\nextend the default API with their own functionality and bridge the Webview and\nRust-based backend easily. Tauri apps can have custom menus and have tray-type\ninterfaces. They can be updated, and are managed by the user's operating system\nas expected. They are very small, because they use the OS's webview. They do not\nship a runtime, since the final binary is compiled from Rust. This makes the\nreversing of Tauri apps not a trivial task. ## What Tauri is NOT - Tauri is not\na lightweight kernel wrapper...instead it directly uses [WRY](#wry) and\n[TAO](#tao) to do the heavy-lifting in making system calls to the OS. - Tauri is\nnot a VM or virtualized environment...instead it is an application toolkit that\nallows making Webview OS applications. ## Major Components The following section\nbriefly describes the roles of the various parts of Tauri. ### Tauri Core\n[STABLE RUST] ####\n[tauri](https://github.com/tauri-apps/tauri/tree/dev/core/tauri) This is the\nmajor crate that holds everything together. It brings the runtimes, macros,\nutilities and API into one final product. It reads the `tauri.conf.json` file at\ncompile time in order to bring in features and undertake actual configuration of\nthe app (and even the `Cargo.toml` file in the project's folder). It handles\nscript injection (for polyfills / prototype revision) at runtime, hosts the API\nfor systems interaction, and even manages updating. ####\n[tauri-build](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-build)\nApply the macros at build-time in order to rig some special features needed by\n`cargo`. ####\n[tauri-codegen](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-codegen)\n- Embed, hash, and compress assets, including icons for the app as well as the\nsystem-tray. - Parse `tauri.conf.json` at compile time and generate the Config\nstruct. ####\n[tauri-macros](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-macros)\nCreate macros for the context, handler, and commands by leveraging the\n`tauri-codegen` crate. ####\n[tauri-runtime](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime)\nThis is the glue layer between tauri itself and lower level webview libraries.\n####\n[tauri-runtime-wry](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime-wry)\nThis crate opens up direct systems-level interactions specifically for WRY, such\nas printing, monitor detection, and other windowing related tasks.\n`tauri-runtime` implementation for WRY. ####\n[tauri-utils](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-utils)\nThis is common code that is reused in many places and offers useful utilities\nlike parsing configuration files, detecting platform triples, injecting the CSP,\nand managing assets. ### Tauri Tooling ####\n[api](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) [TS -> JS] A\ntypescript library that creates `cjs` and `esm` Javascript endpoints for you to\nimport into your Frontend framework so that the Webview can call and listen to\nbackend activity. We also ship the pure typescript, because for some frameworks\nthis is more optimal. It uses the message passing of webviews to their hosts.\n#### [bundler](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler)\n[RUST / SHELL] The bundler is a library that builds a Tauri App for the platform\ntriple it detects / is told. At the moment it currently supports macOS, Windows\nand Linux - but in the near future will support mobile platforms as well. May be\nused outside of Tauri projects. ####\n[cli.js](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli.js) [JS]\nWritten in Typescript and packaged such that it can be used with `npm`, `pnpm`,\nand `yarn`, this library provides a node.js runner for common tasks when using\nTauri, like `yarn tauri dev`. For the most part it is a wrapper around\n[cli.rs](https://github.com/tauri-apps/tauri/blob/dev/tooling/cli.rs). ####\n[cli.rs](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli.rs) [RUST]\nThis rust executable provides the full interface to all of the required\nactivities for which the CLI is required. It will run on macOS, Windows, and\nLinux. ####\n[create-tauri-app](https://github.com/tauri-apps/tauri/tree/dev/tooling/create-tauri-app)\n[JS] This is a toolkit that will enable engineering teams to rapidly scaffold\nout a new tauri-apps project using the frontend framework of their choice (as\nlong as it has been configured). # External Crates The Tauri-Apps organisation\nmaintains two \"upstream\" crates from Tauri, namely TAO for creating and managing\napplication windows, and WRY for interfacing with the Webview that lives within\nthe window. ## [TAO](https://github.com/tauri-apps/tao) Cross-platform\napplication window creation library in Rust that supports all major platforms\nlike Windows, macOS, Linux, iOS and Android. Written in Rust, it is a fork of\n[winit](https://github.com/rust-windowing/winit) that we have extended for our\nown needs like menu bar and system tray. ##\n[WRY](https://github.com/tauri-apps/wry) WRY is a cross-platform WebView\nrendering library in Rust that supports all major desktop platforms like\nWindows, macOS, and Linux. Tauri uses WRY as the abstract layer responsible to\ndetermine which webview is used (and how interactions are made). ##\n[tauri-hotkey-rs](https://github.com/tauri-apps/tauri-hotkey-rs) We needed to\nfix hotkey to work on all platforms, because upstream was not being responsive.\n# Additional tooling ##\n[binary-releases](https://github.com/tauri-apps/binary-releases) This is the\ndelivery mechanism for tauri prebuilt binaries: currently the cli.rs (used by\ncli.js) and rustup binaries (used by the deps install command of cli.js). These\nartifacts are automatically created on release. ##\n[tauri-action](https://github.com/tauri-apps/tauri-action) This is a github\nworkflow that builds tauri binaries for all platforms. It is not the fastest out\nthere, but it gets the job done and is highly configurable. Even allowing you to\ncreate a (very basic) tauri app even if tauri is not setup. ##\n[create-pull-request](https://github.com/tauri-apps/create-pull-request) Because\nthis is a very risky (potentially destructive) github action, we forked it in\norder to have strong guarantees that the code we think is running is actually\nthe code that is running. ##\n[vue-cli-plugin-tauri](https://github.com/tauri-apps/vue-cli-plugin-tauri) This\nplugin allows you to very quickly install tauri in a vue-cli project. ##\n[tauri-vscode](https://github.com/tauri-apps/tauri-vscode) This project enhances\nthe VS Code interface with several nice-to-have features. # Tauri Plugins\n[documentation](https://tauri.studio/en/docs/guides/plugin) Generally speaking,\nplugins are authored by third parties (even though there may be official,\nsupported plugins). A plugin generally does 3 things: 1. It provides rust code\nto do \"something\". 2. It provides interface glue to make it easy to integrate\ninto an app. 3. It provides a JS API for interfacing with the rust code. Here\nare several examples of Tauri Plugins: -\nhttps://github.com/tauri-apps/tauri-plugin-sql -\nhttps://github.com/tauri-apps/tauri-plugin-stronghold -\nhttps://github.com/tauri-apps/tauri-plugin-authenticator # Workflows ## What\ndoes the Development flow look like? A developer must first install the\nprerequisite toolchains for creating a Tauri app. At the very least this will\nentail installing rust & cargo, and most likely also a modern version of node.js\nand potentially another package manager. Some platforms may also require other\ntooling and libraries, but this has been documented carefully in the respective\nplatform docs. Because of the many ways to build front-ends, we will stick with\na common node.js based approach for development. (Note: Tauri does not by\ndefault ship a node.js runtime.) The easiest way to do this is to run the\nfollowing: ``` npx create-tauri-app ``` Which will ask you a bunch of questions\nabout the framework you want to install and then create everything you need in a\nsingle folder - some via the placement of template files and some through normal\ninstallation procedures of your framework. > If you don't use this process, you\nwill have to manually install the tauri cli, initialise tauri and manually\nconfigure the `tauri.conf.json` file. Once everything is installed, you can run:\n``` yarn tauri dev -or- npm run tauri dev ``` This will do several things: 1.\nstart the JS Framework devserver 2. begin the long process of downloading and\ncompiling the rust libraries 3. open an application window with devtools enabled\n4. keep a long-lived console alive If you change your HTML/CSS/TS/JS, your\nframework devserver should give you its best shot at instant hot module\nreloading and you will see the changes instantly. If you modify your rust code\nor anything in the Cargo.toml, the window will close while rust recompiles. When\nfinished it will reload. If you need to get deeper insight into your current\nproject, or triage requires investigation of installed components, just run: ```\nyarn tauri info ``` ## What does the Release flow look like? The release flow\nbegins with proper configuration in the `tauri.conf.json` file. In this file,\nthe developer can configure not only the basic behaviour of the application\n(like window size and decoration), they can also provide settings for signing\nand updating. Depending upon the operating system that the developer (or CI) is\nbuilding the application on, there will be an app built for them for that\nsystem. (Cross compilation is not currently available, however there is an\nofficial [GitHub Action](https://github.com/tauri-apps/tauri-action) that can be\nused to build for all platforms.) To kick off this process, just: ``` yarn tauri\nbuild ``` After some time, the process will end and you can see the results in\nthe `./src-tauri/target/release` folder. ## What does the End-User flow look\nlike? End users will be provided with binaries in ways that are appropriate for\ntheir systems. Whether macOS, Linux, or Windows, direct download or store\ninstallations - they will be able to follow procedures for installing and\nremoving that they are used to. ## What does the Updating flow look like? When a\nnew version is ready, the developer publishes the new signed artifacts to a\nserver (that they have configured within `tauri.conf.json`). The application can\npoll this server to see if there is a new release. When there is a new release,\nthe user is prompted to update. The application update is downloaded, verified\n(checksum & signature), updated, closed, and restarted. ## License Tauri itself\nis licensed under MIT or Apache-2.0. If you repackage it and modify any source\ncode, it is your responsibility to verify that you are complying with all\nupstream licenses. Tauri is provided AS-IS with no explicit claim for\nsuitability for any purpose. Here you may peruse our [Software Bill of\nMaterials](https://app.fossa.com/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri).","url":"https://tauri.studio/docs/architecture"},{"id":"prose_docs_faq_md","title":"Frequently Asked Questions","sections":[],"subSections":[],"code":[null],"text":"# error: could not find native static libraryWebView2LoaderStatic, perhaps an -L\nflag is missing? The WebView2 crate build pipeline requires `NuGet` to have a\n`PackageSource` to install the `Microsoft.Web.WebView2` package. If you never\nused `NuGet` before, you might need to create a file named `NuGet.Config` on\n`%APPDATA%/NuGet` folder, with the following contents: ``` ``` This\nconfiguration enables the default `NuGet` registry.","url":"https://tauri.studio/docs/faq"},{"id":"prose_docs__templates_cli_md","title":"CLI","sections":["info","init","dev","deps","build","icon","version","CLI usage"],"subSections":[],"code":[null],"text":"import Command from '@theme/Command' import Alert from '@theme/Alert' The\n`cli.js` command line interface is composed in TypeScript and published as a\nJavaScript NPM. It offers the `deps` and the `icon` commands, and propagates\nother commands to `cli.rs`. ## `info` {info} It shows a concise list of\ninformation about the environment, Rust, Node.js and their versions as well as\nsome relevant configurations. This command is pretty helpful when you need to\nhave a quick overview of your application. When requesting some help, it can be\nuseful that you share this report with us. ## `init` {init} ## `dev` {dev} This\ncommand will open the WebView in development mode. It makes use of the\n`build.devPath` property from your `src-tauri/tauri.conf.json` file. If you have\nentered a command to the `build.beforeDevCommand` property, this one will be\nexecuted before the `dev` command. See more about the configuration.\n[/docs/api/config#build]\n\nIf you're not using `build.beforeDevCommand`, make sure your `build.devPath` is\ncorrect and, if using a development server, that it's started before using this\ncommand. ## `deps` {deps} ## `build` {build} This command will bundle your\napplication, either in production mode or debug mode if you used the `--debug`\nflag. It makes use of the `build.distDir` property from your\n`src-tauri/tauri.conf.json` file. If you have entered a command to the\n`build.beforeBuildCommand` property, this one will be executed before the\n`build` command. See more about the configuration. [/docs/api/config#build] ##\n`icon` ``` Description Create all the icons you need for your Tauri app. Usage $\ntauri icon /path/to/icon.png Options --help, -h Displays this message --log, -l\nLogging [boolean] --target, -t Target folder (default: 'src-tauri/icons')\n--compression, -c Compression type [optipng|zopfli] --ci Runs the script in CI\nmode ``` This command will generate a set of icons, based on the source icon\nyou've entered. Note that the source icon must be 1240x1240 with transparency.\n## `version` ``` Description Returns the current version of tauri ``` This\ncommand will show the current version of Tauri. ## CLI usage See more about the\nusage through this [complete guide](/docs/development/integration).","url":"https://tauri.studio/docs/.templates/cli"},{"id":"prose_docs__templates_config_md","title":"Configuration","sections":[],"subSections":[],"code":[],"text":"import Properties from '@theme/Properties' import Array from '@theme/Array'\nimport Alert from '@theme/Alert' The `tauri.conf.json` is a file generated by\nthe `tauri init` command (see here [/docs/api/cli#tauri-init]) that lives in\nyour Tauri application source directory (src-tauri). Once generated, you may\nmodify it at will to customize your Tauri application. # Platform-specific\nconfiguration In addition to the JSON defined on the `tauri.conf.json` file,\nTauri reads a platform-specific configuration on `tauri.linux.conf.json`,\n`tauri.windows.conf.json` and `tauri.macos.conf.json` and merges it with the\nmain `tauri.conf.json` configuration. # Configuration structure\n`tauri.conf.json` is composed of the following properties: {properties}\n\nInstead of launching the app directly, we configure the bundled app to run a\nscript that tries to expose the environment variables to the app; without that\nyou'll have trouble using system CLI apps like Node.js. ```js title=Example\n\"tauri\": { \"cli\": { \"description\": \"Tauri communication example\",\n\"longDescription\": null, \"beforeHelp\": null, \"afterHelp\": null, \"args\": [{\n\"short\": \"c\", \"name\": \"config\", \"takesValue\": true, \"description\": \"Config path\"\n}, { \"short\": \"t\", \"name\": \"theme\", \"takesValue\": true, \"description\": \"App\ntheme\", \"possibleValues\": [\"light\", \"dark\", \"system\"] }, { \"short\": \"v\", \"name\":\n\"verbose\", \"multipleOccurrences\": true, \"description\": \"Verbosity level\" }],\n\"subcommands\": { \"update\": { \"description\": \"Updates the app\",\n\"longDescription\": null, \"beforeHelp\": null, \"afterHelp\": null, \"args\": [{\n\"short\": \"b\", \"name\": \"background\", \"description\": \"Update in background\" }],\n\"subcommands\": null } } }, \"bundle\": { \"active\": true, \"targets\": [\"deb\"],\n\"identifier\": \"com.tauri.dev\", \"icon\": [\"icons/32x32.png\", \"icons/128x128.png\",\n\"icons/128x128@2x.png\", \"icons/icon.icns\", \"icons/icon.ico\"], \"resources\": [],\n\"externalBin\": [], \"copyright\": \"\", \"category\": \"DeveloperTool\",\n\"shortDescription\": \"\", \"longDescription\": \"\", \"deb\": { \"depends\": [] },\n\"macOS\": { \"frameworks\": [], \"minimumSystemVersion\": \"\", \"exceptionDomain\": \"\" }\n}, \"allowlist\": { \"all\": true }, \"windows\": [{ \"title\": \"Tauri App\", \"width\":\n800, \"height\": 600, \"resizable\": true, \"fullscreen\": false }], \"security\": {\n\"csp\": \"default-src blob: data: filesystem: ws: wss: http: https: tauri:\n'unsafe-eval' 'unsafe-inline' 'self'\" } } ```","url":"https://tauri.studio/docs/.templates/config"},{"id":"prose_docs_about_book_md","title":"Get the book","sections":["Outline","Errata"],"subSections":["tl","Introduction","About the Topic","What you will learn","Stuff you","Chapter 1 ","Chapter 2 ","Chapter 3 ","Chapter 4 ","Chapter 5 "],"code":[null],"text":"import useBaseUrl from '@docusaurus/useBaseUrl'\nTauri - From Theory to Practice [{useBaseUrl('img/bookCover.png')}]\nTauri: From Theory to Practice\nArchitecting Next-Gen Native-Apps for all Platforms [v1:Rust Edition]\nAuthors: [Daniel Thompson-Yvetot, Lucas Fernandes Gonçalves Nogueira]\nPublisher: TBD\nRelease: late 2020\n### tl;dr; Visit https://opencollective.com/tauri and preorder your copy of the\nbook today. Your donation will support the ongoing development of Tauri, and you\nwill receive advance digital PDF's for your review as chapters are completed.\nThe final book will ship concurrently with the release of 1.0.0 stable. If you\ndonate 10 USD / month to Tauri, you will get the advance PDF versions as soon as\nthey are released. If you just want to donate once: 15 USD for PDF and e-book,\n30 USD for print version and PDF, 40 USD for all three. All tutorial\nsubscription tiers receive the rolling PDF free of additional charge. ###\nIntroduction In 2020, the manufacture of native-apps has become easier and more\naccessible than ever before. All the same, beginners and seasoned developers\nalike are confronted with tough choices in a rapidly changing landscape of\nsecurity and privacy. This is especially true in the semi-trusted environment of\nuser devices. Tauri takes the guesswork out of the equation, as it was designed\nfrom the ground up to embrace new paradigms of secure development and creative\nflexibility that leverage the language features of Rust and lets you build an\napp using any frontend framework you like. Find out how you can design, build,\naudit and deploy tiny, fast, robust, and secure native applications for the\nmajor Desktop and Mobile platforms, all from the exact same codebase and in\nrecord time - without even needing to know the Rust programming language.\nAuthors Daniel and Lucas, the architects behind Tauri take you on a journey from\ntheory to execution, during which you will learn why Tauri was built and how it\nworks under the hood. Together with guest personalities that specialize in Open\nSource, DevOps, Security and Enterprise Architecture, this book also presents\ndiscourse-formatted philosophical discussions and open-source sustainability\nviewpoints from which your next-gen apps will profit - and your users will\nbenefit. In this book you will follow the authors in the iterative evolution of\na real project from conception to distribution - all with commentary, complete\ncode resources, built, and packaged Native Apps for reference and staged Capture\nthe Flag (CTF) challenges that progress in difficulty as your comprehension of\nthe system grows. ### About the Topic Tauri is a brand new way to make\ncross-platform native-apps for web, desktop and mobile. At this very moment, the\npre-alpha version of this MIT licensed community-based software is being\nprepared for public release: https://github.com/tauri-apps/tauri Tauri\nintroduces novel methods for WebView integration and innovative patterns for\nrobust threat evasion. The 1.0 release will ship with a multipurpose white-box\nanalyzer and decompiler for any kind of binary and an integrated CLI for\ningesting any type of HTML; which, when combined, provides developers and\nsecurity teams with a holistic platform that has never existed as a single unit\nbefore. Tauri bridges communities and opens up new opportunities for everyone\nfrom the front end developer all the way to the low-level security and network\nadministrators. Due to this level of complexity and robustness, it is important\nto publish a reference guide that will necessarily be updated as major versions\nare released. ### What you will learn By the end of this book you will\nunderstand: - The method and reasoning behind the design of Tauri - The options\nyou have when building with Tauri - That having a moral compass is possible in\nsoftware development - Why the Rust language makes the most sense as a binding\nand application layer - Why Electron, Cordova, React Native, Capacitor and\nothers are no longer the best choice - Why a binary review is important And you\nwill be able to: - Transform a simple website project into a Tauri Native-App -\nMake a variety of Tauri Application Types based on the main Patterns - Decompile\nand analyze your App for Security Issues - Publish your App to a variety of App\nStores - Read and write Rust code ### Stuff you'll get if you preorder - Access\nto a real demo App built for all platforms available at respective stores (that\nincludes CTF Flags). - Exclusive One-Pager cheat sheets made available for each\nsection of the book, including the Appendices. - Early access to videos /\nwebcasts. - Discounted participation in the “Capture the Flag” event hosted at\nthe launch of the book. ## Outline This is an early outline of the contents that\nwe expect to publish. Contents subject to change. ### Chapter 1 - Theory (ca. 50\npages - mostly conversational / technical, graphics) ``` 1. Security Starts with\nYou 2. Privacy Ends with ${you} 3. Languages, Dialects and Patterns 4.\nToolchains and Syntactic Sugar 5. Production Methodologies 6. Enterprise\nReadiness 7. Message Queueing 8. Embracing Chaos 9. Distribution Techniques 10.\nLicensing Strategies ``` ### Chapter 2 - Practice (ca. 130 pages w/ charts,\nscreenshots, code samples) ``` 1. Environment Prerequisites - Node, Npm, Yarn,\nRustc, Rustup, Buildtools 2. Development Platform Details - macOS - Windows -\nLinux - Docker - Virtual Machines - CI / CD 3. Tauri Introduction 4. Tauri\nAnatomy 5. Tauri Configuration - Files & Folders - Icons - Splash Screens -\nWindow - `src-tauri/tauri.conf.json` 6. Preparing your code - Transpile dynamic\nimports - Remove webpack chunking - Monolithic Files - Minification strategies\n7. Tauri API - Design Considerations - API Usage Patterns - Custom API Functions\n- Endpoints - All - Answer - Bridge - Event - Execute - List Files - Open - Read\nBinary File - Read Text File - Set Title - Window - Write File 8. Web APIs 9.\nTauri App Extensions - Anatomy - Flow - Registration - Publication - API 10.\nTaskbar Integration (Desktop Only) - Anatomy - Integrations - macOS - Windows -\nLinux 11. Security Features - Baseline Rust Features - Functional Address Space\nLayout Randomization (fASLR) - Ahead of Time (AoT) Compilation - Content\nSecurity Policy (CSP) - One Time Pads (OTP) - Embedded Server: False - API\nTree-Shaking - Matryoschkasumming (with Tauri-Frida) 12. Bridges and Brokers -\nBridge Patterns - Message hashing with OTP - Plugin Pattern - Kamikaze Function\nInjection (KFI) Closures 13. Testing - Unit Testing - Rust - JS - Integration\nTesting - e2e Testing 14. Building - Debugging - Packaging - Minification -\nDistribution Platform Details - macOS (.app / .dmg) - Win (.exe / .msi) - Linux\nArm64 (.appImage / .deb) - Linux x64 (.appImage / .deb) - iOS (.ipa) - Android\n(.apk) - PWA Website (with wasm) - Code Signing - Keystores - Certs -\nFingerprints - Providing License for End Users - Providers - Keys Files -\nSelf-Updater - Anatomy - Service Provisioning - Github - AWS - Homegrown -\nCross-Platform Bundler 15. Tauri-Frida Harness - Introduction to Reverse\nEngineering - Toolchain - Usage - Binary Hooking at Runtime - Pointer Evaluation\n- Spraying, Fuzzing, Spoofing - Report Generation - Recompilation - Post-Binary\nAnalysis 16. Distribution - Git - Mac Store - iOS Store - Play store - Windows\nStore - Snap Store - PureOS Store - .deb channels - .tar.gz - homebrew - Fdroid\n- Cydia - ChromeOS - WASM ``` ### Chapter 3 - Philosophical Discourses (ca. 40\npages of essays, some graphics) ``` 1. Rights and Responsibilities (with Robin\nvan Boven (SFOSC)) - Who You are Responsible To - Being a Vendor Comes with\nDuties - Ubiquitous Resources are Still Precious - Use Policy to Address\nResponsibilities - Take a Hippocratic Development Oath 2. Take a More Secure\nStance (with Liran Tal (SNYK)) - Security Benefits of Frameworks - Encrypt All\nthe Things, All the Time - Constantly Audit Project Dependencies - Harden\nYourself, Your Organization and Your Ecosystem - “Do What You Can Until You Run\nOut of Time.” - [ROBERT C. SEACORD] 3. Production Strategies for Sustainability\n(with Rhys Parry (Independent)) - Develop in the “Perfect” Environment - Minimal\nImpact for Existing Enterprise Architectures - Use Low-Barrier Tools for\nEnsuring Wholestack Security - Test the Right Things Intelligently - Post-Binary\nAnalysis and Redistribution - The Last Mile ``` ### Chapter 4 - Execution (ca.\n100 pages w/ code examples, screenshots, graphics) ``` 1. Base Pattern Evolution\n- Hermit - Bridge - Cloudish - Cloudbridge - Lockdown - Multiwin - GLUI 2.\nAdvanced Patterns - Cryptographic Enclave - Identity Management - Combine an App\nwith a Daemon - IPC / RPC - Integrate with DENO 3. UI Source Complilation -\nReact - Vue - Angular - Svelte - Gatsby 4. Building a Real App - Multiparty\nPassword Manager - Design - Prototyping - Testing - Debugging - Packaging -\nChecksumming 5. Tauri-Frida - White Box Reversing - Analyzing with Frida - Chaos\nExperiments - Interface Jacking - Disk Change - Latency - Process Kill - CPU\nThrottle - Static Analysis Reporting - Binary Repackaging - Inject License Keys\n- Clear Dead Codepoints - Recalculate Integrated Checksum 6. Publishing the App\n- Git - Mac Store - iOS Store - Play store - Windows Store - Snap Store - PureOS\nStore - .deb channels - .tar.gz - homebrew - Fdroid - Cydia - ChromeOS - WASM 7.\nPublishing an Update ``` ### Chapter 5 - Appendices (ca. 120 pages) ``` 1.\nConfiguration Options 2. Files and Repositories 3. Tauri CLI references 4. Tauri\nAPI references 5. ES6 References 6. Rust References 7. App Pattern Charts 8.\nTauri-Frida Reference 9. Glossary 10. Index ``` ## Errata Got something that you\nthink should be in the book? Want to be our publisher? Reach out to us and let\nus know!","url":"https://tauri.studio/docs/about/book"},{"id":"prose_docs_about_governance_md","title":"Governance","sections":["Sustainability"],"subSections":["Organizational Structure","Code of Conduct","Social Contract","Licensing","Trademark"],"code":[],"text":"## Sustainability One of the main goals of the organizational structure of Tauri\nis to guarantee the sustainability of Tauri and the health and well-being of its\ncontributors. The world of Open Source is fraught with peril and discord, and we\nhave taken measures to ensure the longevity of Tauri. This document explains how\nwe go about doing so. ### Organizational Structure Tauri apps is governed by the\ncommunity and work is done in the context of public working groups. Each working\ngroup has a dedicated channel on the Discord server as well as a Team on GitHub.\nOther than that, each WG is free to use whatever type of organizational model it\nchooses. The current working groups are: - WG Governance & Guidance - WG Tech -\nWG Education - WG Media - WG Security - WG Devops With the exception of the\nsecurity working group, which is by invite only and convenes privately, all\nother working groups are public and open to any and all participants. Please\nvisit [this repository](https://github.com/tauri-apps/governance-and-guidance)\nto get more information. ### Code of Conduct Everyone participating in the Tauri\ncommunity is expected to follow a code of conduct that you can at the\n[Governance and Guidance:Code of\nConduct](https://github.com/tauri-apps/governance-and-guidance/blob/master/CODE_OF_CONDUCT.md).\n### Social Contract We have a Social Contract that informs our decision making\nand organization. You can read about it here: [Governance and Guidance:Social\nContract](https://github.com/tauri-apps/governance-and-guidance/blob/master/SOCIAL_CONTRACT.md).\n### Licensing We, the contributors to Tauri Apps, use the MIT and Apache\nlicenses for all code content. Images and bodies of text, unless otherwise noted\nare CC-BY-ND-NC. ### Trademark It is a permissible use of the name \"Tauri App\"\nor the Tauri logo to show that a project uses Tauri. \"Tauri Studio\" is reserved\nfor use by the organization. Any language that gives the impression that the\nTauri organization approves, authorizes or otherwise supports a project, person\nor company is not permissible without written authorization from the Guidance\nand Governance Working Group.","url":"https://tauri.studio/docs/about/governance"},{"id":"prose_docs_about_intro_md","title":"What is Tauri?","sections":["Security First","Polyglots","Honest Open Source","The Future"],"subSections":[],"code":[],"text":"Tauri is a toolkit that helps developers make applications for the major desktop\nplatforms - using virtually any frontend framework in existence. The core is\nbuilt with Rust and the CLI leverages Node.js making Tauri a genuinely polyglot\napproach to creating and maintaining great apps. If you want to know more about\nthe technical details, then please visit the\n[Introduction](/docs/get-started/intro). If you want to know more about this\nproject's philosophy - then keep reading.\n\n## Security First In today's world, every honest threat model assumes that the\nuser's device has already been compromised. This puts app developers in a\ncomplicated situation, because if the device is already at risk, how can the\nsoftware be trusted? Defense in depth is the approach we've taken. We want you\nto be able to take every precaution possible to minimise the surface area you\npresent to attackers. Tauri lets you choose which API endpoints to ship, whether\nor not you want a localhost server built into your app, and it even randomizes\nfunctional handles at runtime. These and other techniques form a secure baseline\nthat empowers you and your users. Slowing down attackers by making static\nattacks crushingly difficult and isolating systems from one another is the name\nof the game. And if you are coming from the Electron ecosystem - rest assured -\nby default Tauri only ships binaries, not ASAR files. By choosing to build Tauri\nwith security as a guiding force, we give you every opportunity to take a\nproactive security posture. ## Polyglots, not Silos Most contemporary frameworks\nuse a single language paradigm and are therefore trapped in a bubble of\nknowledge and idiom. This can work well for certain niche applications, but it\nalso fosters a kind of tribalism. This can be seen in the way that the React,\nAngular and Vue development communities huddle on their stacks, ultimately\nbreeding very little cross-pollination. This same situation can be seen in the\nRust vs Node vs C++ battlefields, where hardliners take their stances and refuse\nto collaborate across communities. Today, Tauri uses Rust for the backend - but\nin the not too distant future, other backends like Go, Nim, Python, Csharp etc.\nwill be possible. This is because we are maintaining the official Rust bindings\nto the [webview](https://github.com/webview) organisation and plan to let you\nswitch out the backend for your needs. Since our API can be implemented in any\nlanguage with C interop, full compliance is only a PR away. ## Honest Open\nSource None of this would make any sense without a community. Today software\ncommunities are amazing places where people help each other and make awesome\nthings - open source is a very big part of that. Open source means different\nthings to different people, but most will agree that it serves to support\nfreedom. When software doesn't respect your rights, then it can seem unfair and\npotentially compromise your freedoms by operating in unethical ways. This is why\nwe are proud that FLOSS advocates can build applications with Tauri that are\n\"certifiably\" open source and can be included in FSF endorsed GNU/Linux\ndistributions. ## The Future Tauri's future depends on your involvement and\ncontributions. Try it out, file issues, join a working group or make a donation\n- every contribution is important. Please, at any rate, do get in touch!!!","url":"https://tauri.studio/docs/about/intro"},{"id":"prose_docs_about_security_md","title":"Security","sections":["No Server Required","Language Features of Rust","Dynamic Ahead of Time Compilation ","Function Hardening","System Features","Ecosystem","Future Work"],"subSections":["Security Researchers","Functional ASLR","Kamikaze Function Injection","Bridge","One Time Pad Tokenization and Hashing","Allowing API","Content Security Policy Management","Decompilation is Difficult","Build Pipelines and Artifact Authenticity","Resilient PR and Approval Processes","Signed Binaries","Post","Post","Audits"],"code":[],"text":"This guide seeks to explain the high level concepts and Security Features at the\ncore of Tauri's design that make you, your apps and your users safer by default.\nPlease note:\nWhile we take every opportunity to help you harden your application - there are\nalways underlying threats like BIOS attacks, memory rowhammering and other\noperating system vulnerabilities that are constantly being discovered and (in\nthe best cases) responsibly disclosed.\nFurthermore, there are many ways that development teams can cut corners and\neither leak sensitive information or leave doors wide open to any of a range of\nattacks. Security is a never-ending quest, and your users count on you to keep\nthem safe.\nTherefore, we highly recommend that you take some time to consider the security\nramifications of everything that your application does, especially in the\ncontext of running on the semi-hostile platform of end-user devices.\nIf you need help or want a review, you are welcome to contact the Tauri team for\nsecurity consultation.\n### Security Researchers If you feel that there is a security concern or issue\nwith anything in Tauri, please do not publicly comment on your findings.\nInstead, reach out directly to our security team: > security@tauri.studio\nAlthough we do not currently have a budget for Security Bounties, in some cases\nwe will consider rewarding responsible disclosure with our limited resources. ##\nNo Server Required Tauri enables you to construct an application that uses\nweb-technology for the user interface without requiring you to use a server to\ncommunicate with the backend. Even if you used advanced techniques of dynamic\nimports and offload work to the backend, no traffic can be sniffed on TCP ports\nor external processes - because they just aren't there. This reduces not only\nthe physical and virtual footprint of your final binary by a good deal, it also\nreduces the surface area of potential attack vectors by removing them from the\nequation. ## Language Features of Rust By turning to the programming language\nrenowned for its memory-safety and speed, Tauri simply erases whole classes of\nconventional attacks. `Use after free` just isn't something that can happen with\nTauri. ## Dynamic Ahead of Time Compilation (AOT) This process of compilation\nhappens several times during the bootstrapping phase of a Tauri app. By using\nour default dynamic Ahead of Time compiler, you can generate code references\nthat are unique for every session and are still technically static code units.\n## Function Hardening ### Functional ASLR Functional address Space Layout\nRandomization techniques randomize function names at runtime and can implement\nOTP hashing so no two sessions are ever the same. We propose a novel type of\nfunction naming at boot time and optionally after every execution. Using a UID\nfor each function pointer prevents static attacks. ### Kamikaze Function\nInjection This advanced type of fASLR using the `EVENT` API endpoint, is a\npromise wrapped in a closure (with randomized handle) that Rust inserts at\nruntime into the WebView, where its interface is locked within the promise\nresolution handler and is nulled after execution. ### Bridge, don't serve\nInstead of passing potentially unsafe functions, an event bridge can be used to\npass messages and commands to named brokers at each respective side of the\napplication. ### One Time Pad Tokenization and Hashing Hashing important\nmessages with a OTP salt, you are able to encrypt messages between the user\ninterface and the Rust backend. We are currently investigating the use of\nadditional sources of entropy such as the amazing [Infinite Noise\nTRNG](https://13-37.org/en/shop/infinite-noise-trng/). ## System Features ###\nAllowing API You have the ability to pick and choose which API functions are\navailable to the UI and to Rust. If they are not enabled, the code will not be\nshipped with your app, which reduces binary size and attack surface. They are\nopt-in, so you have to consciously choose to progressively enhance your\napplication. ### Content Security Policy Management Preventing unauthorized code\nexecution for websites has long since been \"resolved\" by using CSPs. Tauri can\ninject CSPs into the index.html of the user interface, and when using a\nlocalhost server it will also send these headers to the UI or any other clients\nthat connect with it. ### Decompilation is Difficult This means that your apps\ncannot be easily decompiled as is the case with Electron ASAR files, which makes\nthe process of reverse engineering your project much more time intensive and\nrequires specialist training. ## Ecosystem ### Build Pipelines and Artifact\nAuthenticity The process of releasing our source-code artifacts is highly\nautomated, yet mandates kickoff and review from real humans. Our current release\nstrategy uses a combination of Github Actions and IOTA Tangle publication ###\nResilient PR and Approval Processes Our WG-TECH reviews code changes, tags PRs\nwith scope and make sure that everything stays up to date. And when its time to\npublish a new version, one of the maintainers tags a new release on master,\nwhich: - validates core - runs smoke tests - audits security for crates and npm\n- generates changelogs - creates artifacts - publishes checksums to IOTA -\ncreates a draft release Then the maintainer reviews the release notes, edits if\nnecessary - and a new release is forged. ## Future Work ### Signed Binaries\nBecause the entire project is shipped within a monolithic binary, code can be\nsigned for all distributables. (Currently using external tooling, but we are\nactively working on making the bundler a one-stop-shop.) This makes it virtually\nimpossible for hackers to change an installed Application without the operating\nsystem noticing. [Reference](https://github.com/electron/asar/issues/123) ###\nPost-Binary Analysis Use industrial-grade pentester-tooling (via our forthcoming\nTauri-Frida GUI) to discover and fix security weaknesses in your final binaries.\n### Post-Binary Enhancement After the build is before the delivery, and Tauri\nwill provide you with tools never seen before. Stay tuned! ### Audits We are\ncurrently in the process of our first external audit. When complete, we will\npublish the results here.","url":"https://tauri.studio/docs/about/security"},{"id":"prose_docs_api_cli_md","title":"CLI","sections":["info","init","dev","deps","build","icon","version","CLI usage"],"subSections":[],"code":[null,"sh"],"text":"import Command from '@theme/Command' import Alert from '@theme/Alert' The\ntauri.js cli is composed in TypeScript and published as JavaScript. ## `info`\n``` Description Returns the known state of tauri dependencies and configuration\n``` It shows a concise list of information about the environment, Rust, Node.js\nand their versions as well as some relevant configurations. This command is\npretty helpful when you need to have a quick overview of your application. When\nrequesting some help, it can be useful that you share this report with us. ##\n`init` ``` Initializes a Tauri project USAGE: cargo tauri init [FLAGS] [OPTIONS]\n[SUBCOMMAND] FLAGS: --ci Skip prompting for values -f, --force Force init to\noverwrite the src-tauri folder -h, --help Print help information -l, --log\nEnables logging -V, --version Print version information OPTIONS: -A, --app-name\nName of your Tauri application -d, --directory Set target directory for init -D,\n--dist-dir Web assets location, relative to /src-tauri -P, --dev-path Url of\nyour dev server -t, --tauri-path Path of the Tauri project to use (relative to\nthe cwd) -W, --window-title Window title of your Tauri application SUBCOMMANDS:\nhelp Print this message or the help of the given subcommand(s) ``` ## `dev` ```\nTauri dev. USAGE: cargo tauri dev [FLAGS] [OPTIONS] [--] [args]... ARGS: ...\nArgs passed to the binary FLAGS: -e, --exit-on-panic Exit on panic -h, --help\nPrint help information --release Run the code in release mode -V, --version\nPrint version information OPTIONS: -c, --config config JSON to merge with\ntauri.conf.json -f, --features ... list of cargo features to activate -r,\n--runner binary to use to run the application -t, --target ... target triple to\nbuild against ``` This command will open the WebView in development mode. It\nmakes use of the `build.devPath` property from your `src-tauri/tauri.conf.json`\nfile. If you have entered a command to the `build.beforeDevCommand` property,\nthis one will be executed before the `dev` command. See more about the\nconfiguration. [/docs/api/config#build]\n\nIf you're not using `build.beforeDevCommand`, make sure your `build.devPath` is\ncorrect and, if using a development server, that it's started before using this\ncommand. ## `deps` ```sh Description Tauri dependency management script Usage $\ntauri deps [install|update] ``` ## `build` ``` Tauri build. USAGE: cargo tauri\nbuild [FLAGS] [OPTIONS] FLAGS: -d, --debug Builds with the debug flag -h, --help\nPrint help information -v, --verbose Enables verbose logging -V, --version Print\nversion information OPTIONS: -b, --bundle ... list of bundles to package -c,\n--config config JSON to merge with tauri.conf.json -f, --features ... list of\ncargo features to activate -r, --runner binary to use to build the application\n-t, --target ... target triple to build against ``` This command will bundle\nyour application, either in production mode or debug mode if you used the\n`--debug` flag. It makes use of the `build.distDir` property from your\n`src-tauri/tauri.conf.json` file. If you have entered a command to the\n`build.beforeBuildCommand` property, this one will be executed before the\n`build` command. See more about the configuration. [/docs/api/config#build] ##\n`icon` ``` Description Create all the icons you need for your Tauri app. Usage $\ntauri icon /path/to/icon.png Options --help, -h Displays this message --log, -l\nLogging [boolean] --target, -t Target folder (default: 'src-tauri/icons')\n--compression, -c Compression type [optipng|zopfli] --ci Runs the script in CI\nmode ``` This command will generate a set of icons, based on the source icon\nyou've entered. Note that the source icon must be 1240x1240 with transparency.\n## `version` ``` Description Returns the current version of tauri ``` This\ncommand will show the current version of Tauri. ## CLI usage See more about the\nusage through this [complete guide](/docs/development/integration).","url":"https://tauri.studio/docs/api/cli"},{"id":"prose_docs_api_config_md","title":"Configuration","sections":["build","package","tauri"],"subSections":[],"code":[],"text":"import Properties from '@theme/Properties' import Array from '@theme/Array'\nimport Alert from '@theme/Alert' The `tauri.conf.json` is a file generated by\nthe `tauri init` command (see here [/docs/api/cli#tauri-init]) that lives in\nyour Tauri application source directory (src-tauri). Once generated, you may\nmodify it at will to customize your Tauri application. # Platform-specific\nconfiguration In addition to the JSON defined on the `tauri.conf.json` file,\nTauri reads a platform-specific configuration on `tauri.linux.conf.json`,\n`tauri.windows.conf.json` and `tauri.macos.conf.json` and merges it with the\nmain `tauri.conf.json` configuration. # Configuration structure\n`tauri.conf.json` is composed of the following properties: ## `build` The target\ndirectory must contain an index.html file. `}, {property: \"devPath\", type:\n\"string\", description: `Can be a path to a folder (either absolute or relative\nto tauri.conf.json) or a URL (like a live reload server).`}, {property:\n\"beforeDevCommand\", optional: true, type: \"string\", description: `A command to\nrun before starting Tauri in dev mode.`}, {property: \"beforeBuildCommand\",\noptional: true, type: \"string\", description: `A command to run before starting\nTauri in build mode.`}, {property: \"withGlobalTauri\", optional: true, type:\n\"boolean\", description: \"Enables the API injection to the window.__TAURI__\nobject. Useful if you're using Vanilla JS instead of importing the API using\nRollup or Webpack. Reduces the command security since any external code can\naccess it, so be careful with XSS attacks.\"} ]}/> ```js title=Example \"build\": {\n\"distDir\": \"../dist\", \"devPath\": \"http://localhost:4000\", \"beforeDevCommand\":\n\"npm run dev\", \"beforeBuildCommand\": \"npm run build\", \"withGlobalTauri\": false }\n``` ## `package` ## `tauri` Any leading hyphen will be stripped, and only the\nfirst non hyphen character will be used as the short version. ` }, { property:\n\"name\", type: \"string\", description: `The unique argument name.` }, { property:\n\"description\", optional: true, type: \"string\", description: `The argument\ndescription which will be shown on the help information. Typically, this is a\nshort (one line) description of the arg.` }, { property: \"longDescription\",\noptional: true, type: \"string\", description: `The argument long description\nwhich will be shown on the help information. Typically, this a more detailed\n(multi-line) message that describes the argument` }, { property: \"takesValue\",\noptional: true, type: \"boolean\", description: `Specifies that the argument takes\na value at runtime.\nValues for arguments may be specified in any of the following methods:\n * Using a space such as -o value or --option value\n * Using an equals and no space such as -o=value or --option=value\n * Use a short and no space such as -ovalue\n\n` }, { property: \"index\", type: \"number\", optional: true, description: `The\npositional argument index, starting at 1.\nThe index refers to position according to other positional argument. It does not\ndefine position in the argument list as a whole. When utilized with\nmultiple=true, only the last positional argument may be defined as multiple\n(i.e. the one with the highest index).\n` }, { property: \"multiple\", optional: true, type: \"boolean\", description:\n`Specifies that the argument may appear more than once. For flags, this results\nin the number of occurrences of the flag being recorded. For example -ddd or -d\n-d -d would count as three occurrences. For options, there is a distinct\ndifference in multiple occurrences vs multiple values. For example, --opt val1\nval2 is one occurrence, but two values. Whereas --opt val1 --opt val2 is two\noccurrences.` }, { property: \"possibleValues\", optional: true, type: \"string[]\",\ndescription: `Specifies a list of possible values for this argument. At runtime,\nthe CLI verifies that only one of the specified values was used, or fails with\nan error message.` }, { property: \"minValues\", optional: true, type: \"number\",\ndescription: `Specifies the minimum number of values for this argument. For\nexample, if you had a -f argument where you wanted at least 2 \"files\" you\nwould set minValues: 2, and this argument would be satisfied if the user\nprovided, 2 or more values.` }, { property: \"maxValues\", optional: true, type:\n\"number\", description: `Specifies the maximum number of values for this\nargument. For example, if you had a -f argument where you wanted up to 3\n\"files\" you would set max_values: 3, and this argument would be satisfied if the\nuser provided, 1, 2, or 3 values.` }, { property: \"required\", optional: true,\ntype: \"boolean\", description: `Sets whether or not the argument is required by\ndefault. \"required by default\" means it is required, when no other conflicting\nrules have been evaluated conflicting rules take precedence over being\nrequired.` }, { property: \"requiredUnless\", optional: true, type: \"string\",\ndescription: `Sets an arg that overrides this arg's required setting.\ni.e. this arg will be required unless this other argument is present.` }, {\nproperty: \"requiredUnlessAll\", optional: true, type: \"string[]\", description:\n`Sets args that override this arg's required setting.\ni.e. this arg will be required unless all these other arguments are present.` },\n{ property: \"requiredUnlessOne\", optional: true, type: \"string[]\", description:\n`Sets args that override this arg's required setting.\ni.e. this arg will be required unless at least one of these other arguments are\npresent.` }, { property: \"conflictsWith\", optional: true, type: \"string\",\ndescription: `Sets a conflicting argument by name i.e. when using this argument,\nthe following argument can't be present and vice versa.` }, { property:\n\"conflictsWithAll\", optional: true, type: \"string\", description: `The same as\n\"conflictsWith\" but allows specifying multiple two-way conflicts per argument.`\n}, { property: \"requires\", optional: true, type: \"string\", description: `Sets an\nargument by name that is required when this one is present.\ni.e. when using this argument, the following argument must be present.` }, {\nproperty: \"requiresAll\", optional: true, type: \"string[]\", description: `Sets\nmultiple arguments by names that are required when this one is present.\ni.e. when using this argument, the following arguments must be present.` }, {\nproperty: \"requiresIf\", optional: true, type: \"[string, string]\", description:\n`Allows a conditional requirement with the signature [arg: string, value:\nstring].\nThe requirement will only become valid if \"arg\"'s value equals \\${value}.\n` }, { property: \"requiredIf\", optional: true, type: \"[string, string]\",\ndescription: `Allows specifying that an argument is required conditionally with\nthe signature [arg: string, value: string].\nThe requirement will only become valid if the \"arg\"'s value equals \\${value}.\n` }, { property: \"requireEquals\", optional: true, type: \"boolean\", description:\n`Requires that options use the --option=val syntax.\ni.e. an equals between the option and associated value.` }, ]} /> }, { property:\n\"description\", optional: true, type: \"string\", description: `Command description\nwhich will be shown on the help information.` }, { property: \"longDescription\",\noptional: true, type: \"string\", description: `Command long description which\nwill be shown on the help information.` }, { property: \"beforeHelp\", optional:\ntrue, type: \"string\", description: `Adds additional help information to be\ndisplayed in addition to auto-generated help.\nThis information is displayed before the auto-generated help information.\nThis is often used for header information.` }, { property: \"afterHelp\",\noptional: true, type: \"string\", description: `Adds additional help information\nto be displayed in addition to auto-generated help.\nThis information is displayed after the auto-generated help information.\nThis is often used to describe how to use the arguments, or caveats to be\nnoted.` }, { property: \"subcommands\", optional: true, type: \"{ [name: string]:\nCliConfig }\", description: `List of subcommands of this command.\nSubcommands are effectively sub-apps, because they can contain their own\narguments, subcommands, usage, etc.\nThey also function just like the app command, in that they get their own auto\ngenerated help and usage.` }, ]} /> }, { property: \"bundle\", type: \"object\",\nchild: cargo build.` }, { property: \"targets\", optional: true, type: \"string |\nstring[]\", description: `An array of the bundles you want to generate; e.g.\n[\"deb\", \"app\", \"msi\", \"appimage\", \"dmg\"] or the string 'all' to make every\nsupported bundle. By default we bundle everything your target supports (app/dmg\non mac, deb/appimage on linux, msi on windows).` }, { property: \"identifier\",\ntype: \"string\", description: `A string that uniquely identifies your\napplication, in reverse-DNS form (for example, \"com.example.appname\" or\n\"io.github.username.project\"). For OS X and iOS, this is used as the bundle's\nCFBundleIdentifier value; for Windows, this is hashed to create an application\nGUID.` }, { property: \"icon\", optional: true, type: \"string[]\", description: `A\nlist of (relative to src-tauri) icon paths to use for your application bundle.`\n}, { property: \"resources\", optional: true, type: \"string[]\", description: `A\nlist of files or directories which will be copied to the resources section of\nthe bundle. Globs are supported.` }, { property: \"externalBin\", optional: true,\ntype: \"string[]\", description: `A list of—either absolute or relative—paths to\nbinaries to embed with your application.\nNote that Tauri will look for system-specific binaries following the pattern\n\"binary-name{-target-triple}{.system-extension}\".\nE.g. you typed \"my-binary\":\n * \"my-binary-x86_64-pc-windows-msvc.exe\" for Windows\n * \"my-binary-x86_64-apple-darwin\" for macOS\n * \"my-binary-x86_64-unknown-linux-gnu\" for Linux\n\nso don't forget to provide binaries for all targeted platforms.\n` }, { property: \"copyright\", optional: true, type: \"string\", description: `A\ncopyright string associated with your application.` }, { property: \"category\",\noptional: true, type: \"string\", description: `What kind of application this is.\nShould be one among the following list:\nBusiness, DeveloperTool, Education, Entertainment, Finance, Game, ActionGame,\nAdventureGame, ArcadeGame, BoardGame, CardGame, CasinoGame, DiceGame,\nEducationalGame, FamilyGame, KidsGame, MusicGame, PuzzleGame, RacingGame,\nRolePlayingGame, SimulationGame, SportsGame, StrategyGame, TriviaGame, WordGame,\nGraphicsAndDesign, HealthcareAndFitness, Lifestyle, Medical, Music, News,\nPhotography, Productivity, Reference, SocialNetworking, Sports, Travel, Utility,\nVideo, Weather. ` }, { property: \"shortDescription\", optional: true, type:\n\"string\", description: `A short description of your application.` }, { property:\n\"longDescription\", optional: true, type: \"string\", description: `A longer,\nmulti-line description of the application.` }, { property: \"deb\", optional:\ntrue, type: \"object\", child: boostrapper script.` }, { property: \"files\",\noptional: true, type: \"{ [path: string]: string }\", description: `The files to\ninclude on the package. See the debian guide\n[/en/docs/guides/bundler/debian#custom-files].` }]} /> }, { property: \"windows\",\noptional: true, type: \"object\", child: } ]} /> }, { property: \"macOS\", optional:\ntrue, type: \"object\", child: boostrapper script.` }, { property:\n\"exceptionDomain\", optional: true, type: \"string\", description: `Allows your\napplication to communicate with the outside world.\nIt should be a lowercase, without port and protocol domain name.\n` }, { property: \"signingIdentity\", optional: true, type: \"string\", description:\n`Identity to use for code signing.` }, { property: \"entitlements\", optional:\ntrue, type: \"string\", description: `Path to the entitlements file.` }, ]} /> },\n]} /> }, { property: \"allowlist\", type: \"object\", child: }, { property:\n\"window\", optional: true, type: \"object\", child: }, { property: \"shell\",\noptional: true, type: \"object\", child: }, { property: \"dialog\", optional: true,\ntype: \"object\", child: }, { property: \"http\", optional: true, type: \"object\",\nchild: }, { property: \"notification\", optional: true, type: \"object\", child: },\n{ property: \"globalShortcut\", optional: true, type: \"object\", child: }, {\nproperty: \"os\", optional: true, type: \"object\", child: }, { property: \"path\",\noptional: true, type: \"object\", child: }, ]} /> }, { property: \"windows\", type:\n\"WindowConfig[]\", child: }, { property: \"security\", type: \"object\", child: This\nis a really important part of the configuration since it helps you ensure your\nWebView is secured. See more on Mozilla\n[https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP]. ` }, ]} /> }, ]} />\n\nInstead of launching the app directly, we configure the bundled app to run a\nscript that tries to expose the environment variables to the app; without that\nyou'll have trouble using system CLI apps like Node.js. ```js title=Example\n\"tauri\": { \"cli\": { \"description\": \"Tauri communication example\",\n\"longDescription\": null, \"beforeHelp\": null, \"afterHelp\": null, \"args\": [{\n\"short\": \"c\", \"name\": \"config\", \"takesValue\": true, \"description\": \"Config path\"\n}, { \"short\": \"t\", \"name\": \"theme\", \"takesValue\": true, \"description\": \"App\ntheme\", \"possibleValues\": [\"light\", \"dark\", \"system\"] }, { \"short\": \"v\", \"name\":\n\"verbose\", \"multipleOccurrences\": true, \"description\": \"Verbosity level\" }],\n\"subcommands\": { \"update\": { \"description\": \"Updates the app\",\n\"longDescription\": null, \"beforeHelp\": null, \"afterHelp\": null, \"args\": [{\n\"short\": \"b\", \"name\": \"background\", \"description\": \"Update in background\" }],\n\"subcommands\": null } } }, \"bundle\": { \"active\": true, \"targets\": [\"deb\"],\n\"identifier\": \"com.tauri.dev\", \"icon\": [\"icons/32x32.png\", \"icons/128x128.png\",\n\"icons/128x128@2x.png\", \"icons/icon.icns\", \"icons/icon.ico\"], \"resources\": [],\n\"externalBin\": [], \"copyright\": \"\", \"category\": \"DeveloperTool\",\n\"shortDescription\": \"\", \"longDescription\": \"\", \"deb\": { \"depends\": [] },\n\"macOS\": { \"frameworks\": [], \"minimumSystemVersion\": \"\", \"exceptionDomain\": \"\" }\n}, \"allowlist\": { \"all\": true }, \"windows\": [{ \"title\": \"Tauri App\", \"width\":\n800, \"height\": 600, \"resizable\": true, \"fullscreen\": false }], \"security\": {\n\"csp\": \"default-src blob: data: filesystem: ws: wss: http: https: tauri:\n'unsafe-eval' 'unsafe-inline' 'self'\" } } ```","url":"https://tauri.studio/docs/api/config"},{"id":"prose_docs_api_js_index_md","title":{"content":"@tauri","type":"text"},"sections":["Modules"],"subSections":[],"code":[],"text":"@tauri-apps/api # @tauri-apps/api ## Modules - [app](modules/app.md) -\n[cli](modules/cli.md) - [clipboard](modules/clipboard.md) -\n[dialog](modules/dialog.md) - [event](modules/event.md) - [fs](modules/fs.md) -\n[globalShortcut](modules/globalShortcut.md) -\n[helpers/event](modules/helpers_event.md) -\n[helpers/os-check](modules/helpers_os_check.md) -\n[helpers/tauri](modules/helpers_tauri.md) - [http](modules/http.md) -\n[index](modules/index.md) - [notification](modules/notification.md) -\n[os](modules/os.md) - [path](modules/path.md) - [process](modules/process.md) -\n[shell](modules/shell.md) - [tauri](modules/tauri.md) -\n[updater](modules/updater.md) - [window](modules/window.md)","url":"https://tauri.studio/docs/api/js/index"},{"id":"prose_docs_api_js_classes_http_Body_md","title":{"content":"Class","type":"text"},"sections":["Properties","Methods"],"subSections":["payload","type","bytes","form","json","text"],"code":[],"text":"[@tauri-apps/api](../index.md) / [http](../modules/http.md) / Body # Class: Body\n[http](../modules/http.md).Body The body object to be used on POST and PUT\nrequests. ## Properties ### payload • **payload**: `unknown` #### Defined in\n[http.ts:45](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L45)\n___ ### type • **type**: `string` #### Defined in\n[http.ts:44](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L44)\n## Methods ### bytes ▸ `Static` **bytes**(`bytes`): [`Body`](http.Body.md)\nCreates a new byte array body. #### Parameters | Name | Type | | :------ |\n:------ | | `bytes` | `number`[] | #### Returns [`Body`](http.Body.md) The body\nobject ready to be used on the POST and PUT requests. #### Defined in\n[http.ts:93](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L93)\n___ ### form ▸ `Static` **form**(`data`): [`Body`](http.Body.md) Creates a new\nform data body. #### Parameters | Name | Type | Description | | :------ |\n:------ | :------ | | `data` | `Record`<`string`,\n[`Part`](../modules/http.md#part)\\> | The body data. | #### Returns\n[`Body`](http.Body.md) The body object ready to be used on the POST and PUT\nrequests. #### Defined in\n[http.ts:60](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L60)\n___ ### json ▸ `Static` **json**(`data`): [`Body`](http.Body.md) Creates a new\nJSON body. #### Parameters | Name | Type | Description | | :------ | :------ |\n:------ | | `data` | `Record`<`any`, `any`\\> | The body JSON object. | ####\nReturns [`Body`](http.Body.md) The body object ready to be used on the POST and\nPUT requests. #### Defined in\n[http.ts:71](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L71)\n___ ### text ▸ `Static` **text**(`value`): [`Body`](http.Body.md) Creates a new\nUTF-8 string body. #### Parameters | Name | Type | | :------ | :------ | |\n`value` | `string` | #### Returns [`Body`](http.Body.md) The body object ready\nto be used on the POST and PUT requests. #### Defined in\n[http.ts:82](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L82)","url":"https://tauri.studio/docs/api/js/classes/http.Body"},{"id":"prose_docs_api_js_classes_http_Client_md","title":{"content":"Class","type":"text"},"sections":["Properties","Methods"],"subSections":["id","delete","drop","get","patch","post","put","request"],"code":[],"text":"[@tauri-apps/api](../index.md) / [http](../modules/http.md) / Client # Class:\nClient [http](../modules/http.md).Client ## Properties ### id • **id**: `number`\n#### Defined in\n[http.ts:158](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L158)\n## Methods ### delete ▸ **delete**<`T`\\>(`url`, `options?`):\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> Makes a DELETE request. ####\nType parameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `url` | `string` | The request\nURL. | | `options?` | [`RequestOptions`](../modules/http.md#requestoptions) |\nThe request options. | #### Returns\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> A promise resolving to the\nresponse. #### Defined in\n[http.ts:299](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L299)\n___ ### drop ▸ **drop**(): `Promise`<`void`\\> Drops the client instance. ####\nReturns `Promise`<`void`\\> #### Defined in\n[http.ts:169](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L169)\n___ ### get ▸ **get**<`T`\\>(`url`, `options?`):\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> Makes a GET request. #### Type\nparameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `url` | `string` | The request\nURL. | | `options?` | [`RequestOptions`](../modules/http.md#requestoptions) |\nThe request options. | #### Returns\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> A promise resolving to the\nresponse. #### Defined in\n[http.ts:227](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L227)\n___ ### patch ▸ **patch**<`T`\\>(`url`, `options?`):\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> Makes a PATCH request. ####\nType parameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `url` | `string` | The request\nURL. | | `options?` | [`RequestOptions`](../modules/http.md#requestoptions) |\nThe request options. | #### Returns\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> A promise resolving to the\nresponse. #### Defined in\n[http.ts:284](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L284)\n___ ### post ▸ **post**<`T`\\>(`url`, `body?`, `options?`):\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> Makes a POST request. #### Type\nparameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `url` | `string` | The request\nURL. | | `body?` | [`Body`](http.Body.md) | The body of the request. | |\n`options?` | [`RequestOptions`](../modules/http.md#requestoptions) | The request\noptions. | #### Returns `Promise`<[`Response`](http.Response.md)<`T`\\>\\> A\npromise resolving to the response. #### Defined in\n[http.ts:243](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L243)\n___ ### put ▸ **put**<`T`\\>(`url`, `body?`, `options?`):\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> Makes a PUT request. #### Type\nparameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `url` | `string` | The request\nURL. | | `body?` | [`Body`](http.Body.md) | The body of the request. | |\n`options?` | [`RequestOptions`](../modules/http.md#requestoptions) | Request\noptions. | #### Returns `Promise`<[`Response`](http.Response.md)<`T`\\>\\> A\npromise resolving to the response. #### Defined in\n[http.ts:264](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L264)\n___ ### request ▸ **request**<`T`\\>(`options`):\n`Promise`<[`Response`](http.Response.md)<`T`\\>\\> Makes an HTTP request. ####\nType parameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `options` |\n[`HttpOptions`](../interfaces/http.HttpOptions.md) | The request options. | ####\nReturns `Promise`<[`Response`](http.Response.md)<`T`\\>\\> A promise resolving to\nthe response. #### Defined in\n[http.ts:185](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L185)","url":"https://tauri.studio/docs/api/js/classes/http.Client"},{"id":"prose_docs_api_js_classes_http_Response_md","title":{"content":"Class","type":"text"},"sections":["Type parameters","Properties"],"subSections":["data","headers","ok","status","url"],"code":[],"text":"[@tauri-apps/api](../index.md) / [http](../modules/http.md) / Response # Class:\nResponse [http](../modules/http.md).Response Response object. ## Type parameters\n| Name | | :------ | | `T` | ## Properties ### data • **data**: `T` The response\ndata. #### Defined in\n[http.ts:145](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L145)\n___ ### headers • **headers**: `Record`<`string`, `string`\\> The response\nheaders. #### Defined in\n[http.ts:143](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L143)\n___ ### ok • **ok**: `boolean` A boolean indicating whether the response was\nsuccessful (status in the range 200–299) or not. #### Defined in\n[http.ts:141](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L141)\n___ ### status • **status**: `number` The response status code. #### Defined in\n[http.ts:139](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L139)\n___ ### url • **url**: `string` The request URL. #### Defined in\n[http.ts:137](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L137)","url":"https://tauri.studio/docs/api/js/classes/http.Response"},{"id":"prose_docs_api_js_classes_shell_Child_md","title":{"content":"Class","type":"text"},"sections":["Constructors","Properties","Methods"],"subSections":["constructor","pid","kill","write"],"code":[],"text":"[@tauri-apps/api](../index.md) / [shell](../modules/shell.md) / Child # Class:\nChild [shell](../modules/shell.md).Child ## Constructors ### constructor • **new\nChild**(`pid`) #### Parameters | Name | Type | | :------ | :------ | | `pid` |\n`number` | #### Defined in\n[shell.ts:135](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L135)\n## Properties ### pid • **pid**: `number` The child process `pid`. #### Defined\nin\n[shell.ts:133](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L133)\n## Methods ### kill ▸ **kill**(): `Promise`<`void`\\> Kills the child process.\n#### Returns `Promise`<`void`\\> A promise indicating the success or failure of\nthe operation. #### Defined in\n[shell.ts:169](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L169)\n___ ### write ▸ **write**(`data`): `Promise`<`void`\\> Writes `data` to the\n`stdin`. **`example`** ```typescript const command = new Command('node') const\nchild = await command.spawn() await child.write('message') await child.write([0,\n1, 2, 3, 4, 5]) ``` #### Parameters | Name | Type | Description | | :------ |\n:------ | :------ | | `data` | `string` \\| `number`[] | The message to write,\neither a string or a byte array. | #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Defined in\n[shell.ts:153](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L153)","url":"https://tauri.studio/docs/api/js/classes/shell.Child"},{"id":"prose_docs_api_js_classes_shell_Command_md","title":{"content":"Class","type":"text"},"sections":["Hierarchy","Constructors","Properties","Methods"],"subSections":["constructor","stderr","stdout","execute","on","spawn","sidecar"],"code":[],"text":"[@tauri-apps/api](../index.md) / [shell](../modules/shell.md) / Command # Class:\nCommand [shell](../modules/shell.md).Command The entry point for spawning child\nprocesses. It emits the `close` and `error` events. **`example`** ```typescript\nconst command = new Command('node') command.on('close', data => {\nconsole.log(`command finished with code ${data.code} and signal ${data.signal}`)\n}) command.on('error', error => console.error(`command error: \"${error}\"`))\ncommand.stdout.on('data', line => console.log(`command stdout: \"${line}\"`))\ncommand.stderr.on('data', line => console.log(`command stderr: \"${line}\"`))\nconst child = await command.spawn() console.log('pid:', child.pid) ``` ##\nHierarchy - `EventEmitter`<``\"close\"`` \\| ``\"error\"``\\> ↳ **`Command`** ##\nConstructors ### constructor • **new Command**(`program`, `args?`, `options?`)\nCreates a new `Command` instance. #### Parameters | Name | Type | Default value\n| Description | | :------ | :------ | :------ | :------ | | `program` | `string`\n| `undefined` | The program to execute. | | `args` | `string` \\| `string`[] |\n`[]` | Program arguments. | | `options?` |\n[`SpawnOptions`](../interfaces/shell.SpawnOptions.md) | `undefined` | Spawn\noptions. | #### Overrides EventEmitter<'close' \\| 'error'\\>.constructor ####\nDefined in\n[shell.ts:216](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L216)\n## Properties ### stderr • `Readonly` **stderr**: `EventEmitter`<``\"data\"``\\>\nEvent emitter for the `stderr`. Emits the `data` event. #### Defined in\n[shell.ts:207](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L207)\n___ ### stdout • `Readonly` **stdout**: `EventEmitter`<``\"data\"``\\> Event\nemitter for the `stdout`. Emits the `data` event. #### Defined in\n[shell.ts:205](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L205)\n## Methods ### execute ▸ **execute**():\n`Promise`<[`ChildProcess`](../interfaces/shell.ChildProcess.md)\\> Executes the\ncommand as a child process, waiting for it to finish and collecting all of its\noutput. **`example`** ```typescript const output = await new Command('echo',\n'message').execute() assert(output.code === 0) assert(output.signal === null)\nassert(output.stdout === 'message') assert(output.stderr === '') ``` ####\nReturns `Promise`<[`ChildProcess`](../interfaces/shell.ChildProcess.md)\\> A\npromise resolving to the child process output. #### Defined in\n[shell.ts:292](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L292)\n___ ### on ▸ **on**(`event`, `handler`): `EventEmitter`<``\"close\"`` \\|\n``\"error\"``\\> Listen to an event from the child process. #### Parameters | Name\n| Type | Description | | :------ | :------ | :------ | | `event` | ``\"close\"``\n\\| ``\"error\"`` | The event name. | | `handler` | (`arg`: `any`) => `void` | The\nevent handler. | #### Returns `EventEmitter`<``\"close\"`` \\| ``\"error\"``\\> The\n`this` instance for chained calls. #### Inherited from EventEmitter.on ####\nDefined in\n[shell.ts:125](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L125)\n___ ### spawn ▸ **spawn**(): `Promise`<[`Child`](shell.Child.md)\\> Executes the\ncommand as a child process, returning a handle to it. #### Returns\n`Promise`<[`Child`](shell.Child.md)\\> A promise resolving to the child process\nhandle. #### Defined in\n[shell.ts:255](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L255)\n___ ### sidecar ▸ `Static` **sidecar**(`program`, `args?`, `options?`):\n[`Command`](shell.Command.md) Creates a command to execute the given sidecar\nprogram. **`example`** ```typescript const command =\nCommand.sidecar('my-sidecar') const output = await command.execute() ``` ####\nParameters | Name | Type | Default value | Description | | :------ | :------ |\n:------ | :------ | | `program` | `string` | `undefined` | The program to\nexecute. | | `args` | `string` \\| `string`[] | `[]` | Program arguments. | |\n`options?` | [`SpawnOptions`](../interfaces/shell.SpawnOptions.md) | `undefined`\n| Spawn options. | #### Returns [`Command`](shell.Command.md) #### Defined in\n[shell.ts:240](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L240)","url":"https://tauri.studio/docs/api/js/classes/shell.Command"},{"id":"prose_docs_api_js_classes_window_LogicalPosition_md","title":{"content":"Class","type":"text"},"sections":["Constructors","Properties"],"subSections":["constructor","type","x","y"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) /\nLogicalPosition # Class: LogicalPosition\n[window](../modules/window.md).LogicalPosition A position represented in logical\npixels. ## Constructors ### constructor • **new LogicalPosition**(`x`, `y`) ####\nParameters | Name | Type | | :------ | :------ | | `x` | `number` | | `y` |\n`number` | #### Defined in\n[window.ts:138](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L138)\n## Properties ### type • **type**: `string` = `'Logical'` #### Defined in\n[window.ts:134](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L134)\n___ ### x • **x**: `number` #### Defined in\n[window.ts:135](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L135)\n___ ### y • **y**: `number` #### Defined in\n[window.ts:136](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L136)","url":"https://tauri.studio/docs/api/js/classes/window.LogicalPosition"},{"id":"prose_docs_api_js_classes_window_LogicalSize_md","title":{"content":"Class","type":"text"},"sections":["Constructors","Properties"],"subSections":["constructor","height","type","width"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) / LogicalSize #\nClass: LogicalSize [window](../modules/window.md).LogicalSize A size represented\nin logical pixels. ## Constructors ### constructor • **new\nLogicalSize**(`width`, `height`) #### Parameters | Name | Type | | :------ |\n:------ | | `width` | `number` | | `height` | `number` | #### Defined in\n[window.ts:109](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L109)\n## Properties ### height • **height**: `number` #### Defined in\n[window.ts:107](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L107)\n___ ### type • **type**: `string` = `'Logical'` #### Defined in\n[window.ts:105](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L105)\n___ ### width • **width**: `number` #### Defined in\n[window.ts:106](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L106)","url":"https://tauri.studio/docs/api/js/classes/window.LogicalSize"},{"id":"prose_docs_api_js_classes_window_PhysicalPosition_md","title":{"content":"Class","type":"text"},"sections":["Constructors","Properties","Methods"],"subSections":["constructor","type","x","y","toLogical"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) /\nPhysicalPosition # Class: PhysicalPosition\n[window](../modules/window.md).PhysicalPosition A position represented in\nphysical pixels. ## Constructors ### constructor • **new PhysicalPosition**(`x`,\n`y`) #### Parameters | Name | Type | | :------ | :------ | | `x` | `number` | |\n`y` | `number` | #### Defined in\n[window.ts:150](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L150)\n## Properties ### type • **type**: `string` = `'Physical'` #### Defined in\n[window.ts:146](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L146)\n___ ### x • **x**: `number` #### Defined in\n[window.ts:147](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L147)\n___ ### y • **y**: `number` #### Defined in\n[window.ts:148](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L148)\n## Methods ### toLogical ▸ **toLogical**(`scaleFactor`):\n[`LogicalPosition`](window.LogicalPosition.md) Converts the physical position to\na logical one. #### Parameters | Name | Type | | :------ | :------ | |\n`scaleFactor` | `number` | #### Returns\n[`LogicalPosition`](window.LogicalPosition.md) #### Defined in\n[window.ts:156](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L156)","url":"https://tauri.studio/docs/api/js/classes/window.PhysicalPosition"},{"id":"prose_docs_api_js_classes_window_PhysicalSize_md","title":{"content":"Class","type":"text"},"sections":["Constructors","Properties","Methods"],"subSections":["constructor","height","type","width","toLogical"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) / PhysicalSize #\nClass: PhysicalSize [window](../modules/window.md).PhysicalSize A size\nrepresented in physical pixels. ## Constructors ### constructor • **new\nPhysicalSize**(`width`, `height`) #### Parameters | Name | Type | | :------ |\n:------ | | `width` | `number` | | `height` | `number` | #### Defined in\n[window.ts:121](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L121)\n## Properties ### height • **height**: `number` #### Defined in\n[window.ts:119](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L119)\n___ ### type • **type**: `string` = `'Physical'` #### Defined in\n[window.ts:117](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L117)\n___ ### width • **width**: `number` #### Defined in\n[window.ts:118](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L118)\n## Methods ### toLogical ▸ **toLogical**(`scaleFactor`):\n[`LogicalSize`](window.LogicalSize.md) Converts the physical size to a logical\none. #### Parameters | Name | Type | | :------ | :------ | | `scaleFactor` |\n`number` | #### Returns [`LogicalSize`](window.LogicalSize.md) #### Defined in\n[window.ts:127](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L127)","url":"https://tauri.studio/docs/api/js/classes/window.PhysicalSize"},{"id":"prose_docs_api_js_classes_window_WebviewWindow_md","title":{"content":"Class","type":"text"},"sections":["Hierarchy","Constructors","Properties","Methods","Platform"],"subSections":["constructor","label","listeners","_","center","close","emit","hide","innerPosition","innerSize","isDecorated","isFullscreen","isMaximized","isResizable","isVisible","listen","maximize","minimize","once","outerPosition","outerSize","requestUserAttention","scaleFactor","setAlwaysOnTop","setDecorations","setFocus","setFullscreen","setIcon","setMaxSize","setMinSize","setPosition","setResizable","setSize","setSkipTaskbar","setTitle","show","startDragging","toggleMaximize","unmaximize","unminimize","getByLabel"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) / WebviewWindow\n# Class: WebviewWindow [window](../modules/window.md).WebviewWindow Create new\nwebview windows and get a handle to existing ones. **`example`** ```typescript\n// loading embedded asset: const webview = new WebviewWindow('theUniqueLabel', {\nurl: 'path/to/page.html' }) // alternatively, load a remote URL: const webview =\nnew WebviewWindow('theUniqueLabel', { url: 'https://github.com/tauri-apps/tauri'\n}) webview.once('tauri://created', function () { // webview window successfully\ncreated }) webview.once('tauri://error', function (e) { // an error happened\ncreating the webview window }) // emit an event to the backend await\nwebview.emit(\"some event\", \"data\") // listen to an event from the backend const\nunlisten = await webview.listen(\"event name\", e => {}) unlisten() ``` ##\nHierarchy - [`WindowManager`](window.WindowManager.md) ↳ **`WebviewWindow`** ##\nConstructors ### constructor • **new WebviewWindow**(`label`, `options?`) ####\nParameters | Name | Type | | :------ | :------ | | `label` | `WindowLabel` | |\n`options` | [`WindowOptions`](../interfaces/window.WindowOptions.md) | ####\nOverrides\n[WindowManager](window.WindowManager.md).[constructor](window.WindowManager.md#constructor)\n#### Defined in\n[window.ts:1095](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1095)\n## Properties ### label • **label**: `WindowLabel` Window label. #### Inherited\nfrom\n[WindowManager](window.WindowManager.md).[label](window.WindowManager.md#label)\n#### Defined in\n[window.ts:229](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L229)\n___ ### listeners • **listeners**: `Object` Local event listeners. #### Index\nsignature ▪ [key: `string`]:\n[`EventCallback`](../modules/event.md#eventcallback)<`any`\\>[] #### Inherited\nfrom\n[WindowManager](window.WindowManager.md).[listeners](window.WindowManager.md#listeners)\n#### Defined in\n[window.ts:231](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L231)\n## Methods ### \\_handleTauriEvent ▸ **_handleTauriEvent**<`T`\\>(`event`,\n`handler`): `boolean` #### Type parameters | Name | | :------ | | `T` | ####\nParameters | Name | Type | | :------ | :------ | | `event` | `string` | |\n`handler` | [`EventCallback`](../modules/event.md#eventcallback)<`T`\\> | ####\nReturns `boolean` #### Inherited from\n[WindowManager](window.WindowManager.md).[_handleTauriEvent](window.WindowManager.md#_handletaurievent)\n#### Defined in\n[window.ts:295](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L295)\n___ ### center ▸ **center**(): `Promise`<`void`\\> Centers the window. ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[center](window.WindowManager.md#center)\n#### Defined in\n[window.ts:489](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L489)\n___ ### close ▸ **close**(): `Promise`<`void`\\> Closes the window. #### Returns\n`Promise`<`void`\\> A promise indicating the success or failure of the operation.\n#### Inherited from\n[WindowManager](window.WindowManager.md).[close](window.WindowManager.md#close)\n#### Defined in\n[window.ts:734](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L734)\n___ ### emit ▸ **emit**(`event`, `payload?`): `Promise`<`void`\\> Emits an event\nto the backend, tied to the webview window. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `event` | `string` | Event name.\n| | `payload?` | `string` | Event payload. | #### Returns `Promise`<`void`\\>\n#### Inherited from\n[WindowManager](window.WindowManager.md).[emit](window.WindowManager.md#emit)\n#### Defined in\n[window.ts:284](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L284)\n___ ### hide ▸ **hide**(): `Promise`<`void`\\> Sets the window visibility to\nfalse. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[hide](window.WindowManager.md#hide)\n#### Defined in\n[window.ts:714](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L714)\n___ ### innerPosition ▸ **innerPosition**():\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> The position of the\ntop-left hand corner of the window's client area relative to the top-left hand\ncorner of the desktop. #### Returns\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[innerPosition](window.WindowManager.md#innerposition)\n#### Defined in\n[window.ts:332](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L332)\n___ ### innerSize ▸ **innerSize**():\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> The physical size of the\nwindow's client area. The client area is the content of the window, excluding\nthe title bar and borders. #### Returns\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[innerSize](window.WindowManager.md#innersize)\n#### Defined in\n[window.ts:367](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L367)\n___ ### isDecorated ▸ **isDecorated**(): `Promise`<`boolean`\\> Gets the window's\ncurrent decorated state. #### Returns `Promise`<`boolean`\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[isDecorated](window.WindowManager.md#isdecorated)\n#### Defined in\n[window.ts:434](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L434)\n___ ### isFullscreen ▸ **isFullscreen**(): `Promise`<`boolean`\\> Gets the\nwindow's current fullscreen state. #### Returns `Promise`<`boolean`\\> ####\nInherited from\n[WindowManager](window.WindowManager.md).[isFullscreen](window.WindowManager.md#isfullscreen)\n#### Defined in\n[window.ts:402](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L402)\n___ ### isMaximized ▸ **isMaximized**(): `Promise`<`boolean`\\> Gets the window's\ncurrent maximized state. #### Returns `Promise`<`boolean`\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[isMaximized](window.WindowManager.md#ismaximized)\n#### Defined in\n[window.ts:418](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L418)\n___ ### isResizable ▸ **isResizable**(): `Promise`<`boolean`\\> Gets the window's\ncurrent resizable state. #### Returns `Promise`<`boolean`\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[isResizable](window.WindowManager.md#isresizable)\n#### Defined in\n[window.ts:450](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L450)\n___ ### isVisible ▸ **isVisible**(): `Promise`<`boolean`\\> Gets the window's\ncurrent visible state. #### Returns `Promise`<`boolean`\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[isVisible](window.WindowManager.md#isvisible)\n#### Defined in\n[window.ts:466](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L466)\n___ ### listen ▸ **listen**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> Listen to an event\nemitted by the backend that is tied to the webview window. #### Type parameters\n| Name | | :------ | | `T` | #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `event` |\n[`EventName`](../modules/event.md#eventname) | Event name. | | `handler` |\n[`EventCallback`](../modules/event.md#eventcallback)<`T`\\> | Event handler. |\n#### Returns `Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> A\npromise resolving to a function to unlisten to the event. #### Inherited from\n[WindowManager](window.WindowManager.md).[listen](window.WindowManager.md#listen)\n#### Defined in\n[window.ts:246](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L246)\n___ ### maximize ▸ **maximize**(): `Promise`<`void`\\> Maximizes the window. ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[maximize](window.WindowManager.md#maximize)\n#### Defined in\n[window.ts:594](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L594)\n___ ### minimize ▸ **minimize**(): `Promise`<`void`\\> Minimizes the window. ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[minimize](window.WindowManager.md#minimize)\n#### Defined in\n[window.ts:654](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L654)\n___ ### once ▸ **once**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> Listen to an one-off\nevent emitted by the backend that is tied to the webview window. #### Type\nparameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `event` | `string` | Event name.\n| | `handler` | [`EventCallback`](../modules/event.md#eventcallback)<`T`\\> |\nEvent handler. | #### Returns\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> A promise resolving\nto a function to unlisten to the event. #### Inherited from\n[WindowManager](window.WindowManager.md).[once](window.WindowManager.md#once)\n#### Defined in\n[window.ts:267](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L267)\n___ ### outerPosition ▸ **outerPosition**():\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> The position of the\ntop-left hand corner of the window relative to the top-left hand corner of the\ndesktop. #### Returns\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[outerPosition](window.WindowManager.md#outerposition)\n#### Defined in\n[window.ts:348](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L348)\n___ ### outerSize ▸ **outerSize**():\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> The physical size of the\nentire window. These dimensions include the title bar and borders. If you don't\nwant that (and you usually don't), use inner_size instead. #### Returns\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[outerSize](window.WindowManager.md#outersize)\n#### Defined in\n[window.ts:386](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L386)\n___ ### requestUserAttention ▸ **requestUserAttention**(`requestType`):\n`Promise`<`void`\\> Requests user attention to the window, this has no effect if\nthe application is already focused. How requesting for user attention manifests\nis platform dependent, see `UserAttentionType` for details. Providing `null`\nwill unset the request for user attention. Unsetting the request for user\nattention might not be done automatically by the WM when the window receives\ninput. ## Platform-specific - **macOS:** `null` has no effect. #### Parameters |\nName | Type | | :------ | :------ | | `requestType` | ``null`` \\|\n[`UserAttentionType`](../enums/window.UserAttentionType.md) | #### Returns\n`Promise`<`void`\\> A promise indicating the success or failure of the operation.\n#### Inherited from\n[WindowManager](window.WindowManager.md).[requestUserAttention](window.WindowManager.md#requestuserattention)\n#### Defined in\n[window.ts:519](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L519)\n___ ### scaleFactor ▸ **scaleFactor**(): `Promise`<`number`\\> The scale factor\nthat can be used to map physical pixels to logical pixels. #### Returns\n`Promise`<`number`\\> #### Inherited from\n[WindowManager](window.WindowManager.md).[scaleFactor](window.WindowManager.md#scalefactor)\n#### Defined in\n[window.ts:316](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L316)\n___ ### setAlwaysOnTop ▸ **setAlwaysOnTop**(`alwaysOnTop`): `Promise`<`void`\\>\nWhether the window should always be on top of other windows. #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `alwaysOnTop` |\n`boolean` | Whether the window should always be on top of other windows or not.\n| #### Returns `Promise`<`void`\\> A promise indicating the success or failure of\nthe operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setAlwaysOnTop](window.WindowManager.md#setalwaysontop)\n#### Defined in\n[window.ts:777](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L777)\n___ ### setDecorations ▸ **setDecorations**(`decorations`): `Promise`<`void`\\>\nWhether the window should have borders and bars. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `decorations` | `boolean` |\nWhether the window should have borders and bars. | #### Returns\n`Promise`<`void`\\> A promise indicating the success or failure of the operation.\n#### Inherited from\n[WindowManager](window.WindowManager.md).[setDecorations](window.WindowManager.md#setdecorations)\n#### Defined in\n[window.ts:755](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L755)\n___ ### setFocus ▸ **setFocus**(): `Promise`<`void`\\> Bring the window to front\nand focus. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setFocus](window.WindowManager.md#setfocus)\n#### Defined in\n[window.ts:985](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L985)\n___ ### setFullscreen ▸ **setFullscreen**(`fullscreen`): `Promise`<`void`\\> Sets\nthe window fullscreen state. #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `fullscreen` | `boolean` | Whether the window\nshould go to fullscreen or not. | #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setFullscreen](window.WindowManager.md#setfullscreen)\n#### Defined in\n[window.ts:964](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L964)\n___ ### setIcon ▸ **setIcon**(`icon`): `Promise`<`void`\\> Sets the window icon.\n#### Parameters | Name | Type | Description | | :------ | :------ | :------ | |\n`icon` | `string` \\| `number`[] | Icon bytes or path to the icon file. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setIcon](window.WindowManager.md#seticon)\n#### Defined in\n[window.ts:1006](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1006)\n___ ### setMaxSize ▸ **setMaxSize**(`size`): `Promise`<`void`\\> Sets the window\nmax size. If the `size` argument is undefined, the max size is unset.\n**`example`** ```typescript import { appWindow, LogicalSize } from\n'@tauri-apps/api/window' await appWindow.setMaxSize(new LogicalSize(600, 500))\n``` #### Parameters | Name | Type | Description | | :------ | :------ | :------\n| | `size` | `undefined` \\| [`PhysicalSize`](window.PhysicalSize.md) \\|\n[`LogicalSize`](window.LogicalSize.md) | The logical or physical size. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setMaxSize](window.WindowManager.md#setmaxsize)\n#### Defined in\n[window.ts:884](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L884)\n___ ### setMinSize ▸ **setMinSize**(`size`): `Promise`<`void`\\> Sets the window\nmin size. If the `size` argument is not provided, the min size is unset.\n**`example`** ```typescript import { appWindow, PhysicalSize } from\n'@tauri-apps/api/window' await appWindow.setMinSize(new PhysicalSize(600, 500))\n``` #### Parameters | Name | Type | Description | | :------ | :------ | :------\n| | `size` | `undefined` \\| [`PhysicalSize`](window.PhysicalSize.md) \\|\n[`LogicalSize`](window.LogicalSize.md) | The logical or physical size. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setMinSize](window.WindowManager.md#setminsize)\n#### Defined in\n[window.ts:842](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L842)\n___ ### setPosition ▸ **setPosition**(`position`): `Promise`<`void`\\> Sets the\nwindow position. **`example`** ```typescript import { appWindow, LogicalPosition\n} from '@tauri-apps/api/window' await appWindow.setPosition(new\nLogicalPosition(600, 500)) ``` #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `position` |\n[`PhysicalPosition`](window.PhysicalPosition.md) \\|\n[`LogicalPosition`](window.LogicalPosition.md) | The new position, in logical or\nphysical pixels. | #### Returns `Promise`<`void`\\> A promise indicating the\nsuccess or failure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setPosition](window.WindowManager.md#setposition)\n#### Defined in\n[window.ts:926](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L926)\n___ ### setResizable ▸ **setResizable**(`resizable`): `Promise`<`void`\\> Updates\nthe window resizable flag. #### Parameters | Name | Type | | :------ | :------ |\n| `resizable` | `boolean` | #### Returns `Promise`<`void`\\> A promise indicating\nthe success or failure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setResizable](window.WindowManager.md#setresizable)\n#### Defined in\n[window.ts:551](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L551)\n___ ### setSize ▸ **setSize**(`size`): `Promise`<`void`\\> Resizes the window.\n**`example`** ```typescript import { appWindow, LogicalSize } from\n'@tauri-apps/api/window' await appWindow.setSize(new LogicalSize(600, 500)) ```\n#### Parameters | Name | Type | Description | | :------ | :------ | :------ | |\n`size` | [`PhysicalSize`](window.PhysicalSize.md) \\|\n[`LogicalSize`](window.LogicalSize.md) | The logical or physical size. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setSize](window.WindowManager.md#setsize)\n#### Defined in\n[window.ts:804](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L804)\n___ ### setSkipTaskbar ▸ **setSkipTaskbar**(`skip`): `Promise`<`void`\\> Whether\nto show the window icon in the task bar or not. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `skip` | `boolean` | true to\nhide window icon, false to show it. | #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[setSkipTaskbar](window.WindowManager.md#setskiptaskbar)\n#### Defined in\n[window.ts:1030](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1030)\n___ ### setTitle ▸ **setTitle**(`title`): `Promise`<`void`\\> Sets the window\ntitle. #### Parameters | Name | Type | Description | | :------ | :------ |\n:------ | | `title` | `string` | The new title | #### Returns `Promise`<`void`\\>\nA promise indicating the success or failure of the operation. #### Inherited\nfrom\n[WindowManager](window.WindowManager.md).[setTitle](window.WindowManager.md#settitle)\n#### Defined in\n[window.ts:573](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L573)\n___ ### show ▸ **show**(): `Promise`<`void`\\> Sets the window visibility to\ntrue. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[show](window.WindowManager.md#show)\n#### Defined in\n[window.ts:694](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L694)\n___ ### startDragging ▸ **startDragging**(): `Promise`<`void`\\> Starts dragging\nthe window. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[startDragging](window.WindowManager.md#startdragging)\n#### Defined in\n[window.ts:1051](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1051)\n___ ### toggleMaximize ▸ **toggleMaximize**(): `Promise`<`void`\\> Toggles the\nwindow maximized state. #### Returns `Promise`<`void`\\> A promise indicating the\nsuccess or failure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[toggleMaximize](window.WindowManager.md#togglemaximize)\n#### Defined in\n[window.ts:634](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L634)\n___ ### unmaximize ▸ **unmaximize**(): `Promise`<`void`\\> Unmaximizes the\nwindow. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[unmaximize](window.WindowManager.md#unmaximize)\n#### Defined in\n[window.ts:614](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L614)\n___ ### unminimize ▸ **unminimize**(): `Promise`<`void`\\> Unminimizes the\nwindow. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Inherited from\n[WindowManager](window.WindowManager.md).[unminimize](window.WindowManager.md#unminimize)\n#### Defined in\n[window.ts:674](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L674)\n___ ### getByLabel ▸ `Static` **getByLabel**(`label`): ``null`` \\|\n[`WebviewWindow`](window.WebviewWindow.md) Gets the WebviewWindow for the\nwebview associated with the given label. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `label` | `string` | The webview\nwindow label. | #### Returns ``null`` \\|\n[`WebviewWindow`](window.WebviewWindow.md) The WebviewWindow instance to\ncommunicate with the webview or null if the webview doesn't exist. #### Defined\nin\n[window.ts:1122](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1122)","url":"https://tauri.studio/docs/api/js/classes/window.WebviewWindow"},{"id":"prose_docs_api_js_classes_window_WebviewWindowHandle_md","title":{"content":"Class","type":"text"},"sections":["Hierarchy","Constructors","Properties","Methods"],"subSections":["constructor","label","listeners","_","emit","listen","once"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) /\nWebviewWindowHandle # Class: WebviewWindowHandle\n[window](../modules/window.md).WebviewWindowHandle A webview window handle\nallows emitting and listening to events from the backend that are tied to the\nwindow. ## Hierarchy - **`WebviewWindowHandle`** ↳\n[`WindowManager`](window.WindowManager.md) ## Constructors ### constructor •\n**new WebviewWindowHandle**(`label`) #### Parameters | Name | Type | | :------ |\n:------ | | `label` | `WindowLabel` | #### Defined in\n[window.ts:233](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L233)\n## Properties ### label • **label**: `WindowLabel` Window label. #### Defined in\n[window.ts:229](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L229)\n___ ### listeners • **listeners**: `Object` Local event listeners. #### Index\nsignature ▪ [key: `string`]:\n[`EventCallback`](../modules/event.md#eventcallback)<`any`\\>[] #### Defined in\n[window.ts:231](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L231)\n## Methods ### \\_handleTauriEvent ▸ **_handleTauriEvent**<`T`\\>(`event`,\n`handler`): `boolean` #### Type parameters | Name | | :------ | | `T` | ####\nParameters | Name | Type | | :------ | :------ | | `event` | `string` | |\n`handler` | [`EventCallback`](../modules/event.md#eventcallback)<`T`\\> | ####\nReturns `boolean` #### Defined in\n[window.ts:295](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L295)\n___ ### emit ▸ **emit**(`event`, `payload?`): `Promise`<`void`\\> Emits an event\nto the backend, tied to the webview window. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `event` | `string` | Event name.\n| | `payload?` | `string` | Event payload. | #### Returns `Promise`<`void`\\>\n#### Defined in\n[window.ts:284](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L284)\n___ ### listen ▸ **listen**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> Listen to an event\nemitted by the backend that is tied to the webview window. #### Type parameters\n| Name | | :------ | | `T` | #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `event` |\n[`EventName`](../modules/event.md#eventname) | Event name. | | `handler` |\n[`EventCallback`](../modules/event.md#eventcallback)<`T`\\> | Event handler. |\n#### Returns `Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> A\npromise resolving to a function to unlisten to the event. #### Defined in\n[window.ts:246](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L246)\n___ ### once ▸ **once**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> Listen to an one-off\nevent emitted by the backend that is tied to the webview window. #### Type\nparameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `event` | `string` | Event name.\n| | `handler` | [`EventCallback`](../modules/event.md#eventcallback)<`T`\\> |\nEvent handler. | #### Returns\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> A promise resolving\nto a function to unlisten to the event. #### Defined in\n[window.ts:267](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L267)","url":"https://tauri.studio/docs/api/js/classes/window.WebviewWindowHandle"},{"id":"prose_docs_api_js_classes_window_WindowManager_md","title":{"content":"Class","type":"text"},"sections":["Hierarchy","Constructors","Properties","Methods","Platform"],"subSections":["constructor","label","listeners","_","center","close","emit","hide","innerPosition","innerSize","isDecorated","isFullscreen","isMaximized","isResizable","isVisible","listen","maximize","minimize","once","outerPosition","outerSize","requestUserAttention","scaleFactor","setAlwaysOnTop","setDecorations","setFocus","setFullscreen","setIcon","setMaxSize","setMinSize","setPosition","setResizable","setSize","setSkipTaskbar","setTitle","show","startDragging","toggleMaximize","unmaximize","unminimize"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) / WindowManager\n# Class: WindowManager [window](../modules/window.md).WindowManager Manage the\ncurrent window object. ## Hierarchy -\n[`WebviewWindowHandle`](window.WebviewWindowHandle.md) ↳ **`WindowManager`** ↳↳\n[`WebviewWindow`](window.WebviewWindow.md) ## Constructors ### constructor •\n**new WindowManager**(`label`) #### Parameters | Name | Type | | :------ |\n:------ | | `label` | `WindowLabel` | #### Inherited from\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[constructor](window.WebviewWindowHandle.md#constructor)\n#### Defined in\n[window.ts:233](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L233)\n## Properties ### label • **label**: `WindowLabel` Window label. #### Inherited\nfrom\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[label](window.WebviewWindowHandle.md#label)\n#### Defined in\n[window.ts:229](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L229)\n___ ### listeners • **listeners**: `Object` Local event listeners. #### Index\nsignature ▪ [key: `string`]:\n[`EventCallback`](../modules/event.md#eventcallback)<`any`\\>[] #### Inherited\nfrom\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[listeners](window.WebviewWindowHandle.md#listeners)\n#### Defined in\n[window.ts:231](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L231)\n## Methods ### \\_handleTauriEvent ▸ **_handleTauriEvent**<`T`\\>(`event`,\n`handler`): `boolean` #### Type parameters | Name | | :------ | | `T` | ####\nParameters | Name | Type | | :------ | :------ | | `event` | `string` | |\n`handler` | [`EventCallback`](../modules/event.md#eventcallback)<`T`\\> | ####\nReturns `boolean` #### Inherited from\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[_handleTauriEvent](window.WebviewWindowHandle.md#_handletaurievent)\n#### Defined in\n[window.ts:295](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L295)\n___ ### center ▸ **center**(): `Promise`<`void`\\> Centers the window. ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:489](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L489)\n___ ### close ▸ **close**(): `Promise`<`void`\\> Closes the window. #### Returns\n`Promise`<`void`\\> A promise indicating the success or failure of the operation.\n#### Defined in\n[window.ts:734](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L734)\n___ ### emit ▸ **emit**(`event`, `payload?`): `Promise`<`void`\\> Emits an event\nto the backend, tied to the webview window. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `event` | `string` | Event name.\n| | `payload?` | `string` | Event payload. | #### Returns `Promise`<`void`\\>\n#### Inherited from\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[emit](window.WebviewWindowHandle.md#emit)\n#### Defined in\n[window.ts:284](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L284)\n___ ### hide ▸ **hide**(): `Promise`<`void`\\> Sets the window visibility to\nfalse. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Defined in\n[window.ts:714](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L714)\n___ ### innerPosition ▸ **innerPosition**():\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> The position of the\ntop-left hand corner of the window's client area relative to the top-left hand\ncorner of the desktop. #### Returns\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> #### Defined in\n[window.ts:332](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L332)\n___ ### innerSize ▸ **innerSize**():\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> The physical size of the\nwindow's client area. The client area is the content of the window, excluding\nthe title bar and borders. #### Returns\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> #### Defined in\n[window.ts:367](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L367)\n___ ### isDecorated ▸ **isDecorated**(): `Promise`<`boolean`\\> Gets the window's\ncurrent decorated state. #### Returns `Promise`<`boolean`\\> #### Defined in\n[window.ts:434](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L434)\n___ ### isFullscreen ▸ **isFullscreen**(): `Promise`<`boolean`\\> Gets the\nwindow's current fullscreen state. #### Returns `Promise`<`boolean`\\> ####\nDefined in\n[window.ts:402](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L402)\n___ ### isMaximized ▸ **isMaximized**(): `Promise`<`boolean`\\> Gets the window's\ncurrent maximized state. #### Returns `Promise`<`boolean`\\> #### Defined in\n[window.ts:418](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L418)\n___ ### isResizable ▸ **isResizable**(): `Promise`<`boolean`\\> Gets the window's\ncurrent resizable state. #### Returns `Promise`<`boolean`\\> #### Defined in\n[window.ts:450](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L450)\n___ ### isVisible ▸ **isVisible**(): `Promise`<`boolean`\\> Gets the window's\ncurrent visible state. #### Returns `Promise`<`boolean`\\> #### Defined in\n[window.ts:466](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L466)\n___ ### listen ▸ **listen**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> Listen to an event\nemitted by the backend that is tied to the webview window. #### Type parameters\n| Name | | :------ | | `T` | #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `event` |\n[`EventName`](../modules/event.md#eventname) | Event name. | | `handler` |\n[`EventCallback`](../modules/event.md#eventcallback)<`T`\\> | Event handler. |\n#### Returns `Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> A\npromise resolving to a function to unlisten to the event. #### Inherited from\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[listen](window.WebviewWindowHandle.md#listen)\n#### Defined in\n[window.ts:246](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L246)\n___ ### maximize ▸ **maximize**(): `Promise`<`void`\\> Maximizes the window. ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:594](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L594)\n___ ### minimize ▸ **minimize**(): `Promise`<`void`\\> Minimizes the window. ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:654](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L654)\n___ ### once ▸ **once**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> Listen to an one-off\nevent emitted by the backend that is tied to the webview window. #### Type\nparameters | Name | | :------ | | `T` | #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `event` | `string` | Event name.\n| | `handler` | [`EventCallback`](../modules/event.md#eventcallback)<`T`\\> |\nEvent handler. | #### Returns\n`Promise`<[`UnlistenFn`](../modules/event.md#unlistenfn)\\> A promise resolving\nto a function to unlisten to the event. #### Inherited from\n[WebviewWindowHandle](window.WebviewWindowHandle.md).[once](window.WebviewWindowHandle.md#once)\n#### Defined in\n[window.ts:267](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L267)\n___ ### outerPosition ▸ **outerPosition**():\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> The position of the\ntop-left hand corner of the window relative to the top-left hand corner of the\ndesktop. #### Returns\n`Promise`<[`PhysicalPosition`](window.PhysicalPosition.md)\\> #### Defined in\n[window.ts:348](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L348)\n___ ### outerSize ▸ **outerSize**():\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> The physical size of the\nentire window. These dimensions include the title bar and borders. If you don't\nwant that (and you usually don't), use inner_size instead. #### Returns\n`Promise`<[`PhysicalSize`](window.PhysicalSize.md)\\> #### Defined in\n[window.ts:386](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L386)\n___ ### requestUserAttention ▸ **requestUserAttention**(`requestType`):\n`Promise`<`void`\\> Requests user attention to the window, this has no effect if\nthe application is already focused. How requesting for user attention manifests\nis platform dependent, see `UserAttentionType` for details. Providing `null`\nwill unset the request for user attention. Unsetting the request for user\nattention might not be done automatically by the WM when the window receives\ninput. ## Platform-specific - **macOS:** `null` has no effect. #### Parameters |\nName | Type | | :------ | :------ | | `requestType` | ``null`` \\|\n[`UserAttentionType`](../enums/window.UserAttentionType.md) | #### Returns\n`Promise`<`void`\\> A promise indicating the success or failure of the operation.\n#### Defined in\n[window.ts:519](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L519)\n___ ### scaleFactor ▸ **scaleFactor**(): `Promise`<`number`\\> The scale factor\nthat can be used to map physical pixels to logical pixels. #### Returns\n`Promise`<`number`\\> #### Defined in\n[window.ts:316](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L316)\n___ ### setAlwaysOnTop ▸ **setAlwaysOnTop**(`alwaysOnTop`): `Promise`<`void`\\>\nWhether the window should always be on top of other windows. #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `alwaysOnTop` |\n`boolean` | Whether the window should always be on top of other windows or not.\n| #### Returns `Promise`<`void`\\> A promise indicating the success or failure of\nthe operation. #### Defined in\n[window.ts:777](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L777)\n___ ### setDecorations ▸ **setDecorations**(`decorations`): `Promise`<`void`\\>\nWhether the window should have borders and bars. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `decorations` | `boolean` |\nWhether the window should have borders and bars. | #### Returns\n`Promise`<`void`\\> A promise indicating the success or failure of the operation.\n#### Defined in\n[window.ts:755](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L755)\n___ ### setFocus ▸ **setFocus**(): `Promise`<`void`\\> Bring the window to front\nand focus. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Defined in\n[window.ts:985](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L985)\n___ ### setFullscreen ▸ **setFullscreen**(`fullscreen`): `Promise`<`void`\\> Sets\nthe window fullscreen state. #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `fullscreen` | `boolean` | Whether the window\nshould go to fullscreen or not. | #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Defined in\n[window.ts:964](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L964)\n___ ### setIcon ▸ **setIcon**(`icon`): `Promise`<`void`\\> Sets the window icon.\n#### Parameters | Name | Type | Description | | :------ | :------ | :------ | |\n`icon` | `string` \\| `number`[] | Icon bytes or path to the icon file. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:1006](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1006)\n___ ### setMaxSize ▸ **setMaxSize**(`size`): `Promise`<`void`\\> Sets the window\nmax size. If the `size` argument is undefined, the max size is unset.\n**`example`** ```typescript import { appWindow, LogicalSize } from\n'@tauri-apps/api/window' await appWindow.setMaxSize(new LogicalSize(600, 500))\n``` #### Parameters | Name | Type | Description | | :------ | :------ | :------\n| | `size` | `undefined` \\| [`PhysicalSize`](window.PhysicalSize.md) \\|\n[`LogicalSize`](window.LogicalSize.md) | The logical or physical size. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:884](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L884)\n___ ### setMinSize ▸ **setMinSize**(`size`): `Promise`<`void`\\> Sets the window\nmin size. If the `size` argument is not provided, the min size is unset.\n**`example`** ```typescript import { appWindow, PhysicalSize } from\n'@tauri-apps/api/window' await appWindow.setMinSize(new PhysicalSize(600, 500))\n``` #### Parameters | Name | Type | Description | | :------ | :------ | :------\n| | `size` | `undefined` \\| [`PhysicalSize`](window.PhysicalSize.md) \\|\n[`LogicalSize`](window.LogicalSize.md) | The logical or physical size. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:842](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L842)\n___ ### setPosition ▸ **setPosition**(`position`): `Promise`<`void`\\> Sets the\nwindow position. **`example`** ```typescript import { appWindow, LogicalPosition\n} from '@tauri-apps/api/window' await appWindow.setPosition(new\nLogicalPosition(600, 500)) ``` #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `position` |\n[`PhysicalPosition`](window.PhysicalPosition.md) \\|\n[`LogicalPosition`](window.LogicalPosition.md) | The new position, in logical or\nphysical pixels. | #### Returns `Promise`<`void`\\> A promise indicating the\nsuccess or failure of the operation. #### Defined in\n[window.ts:926](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L926)\n___ ### setResizable ▸ **setResizable**(`resizable`): `Promise`<`void`\\> Updates\nthe window resizable flag. #### Parameters | Name | Type | | :------ | :------ |\n| `resizable` | `boolean` | #### Returns `Promise`<`void`\\> A promise indicating\nthe success or failure of the operation. #### Defined in\n[window.ts:551](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L551)\n___ ### setSize ▸ **setSize**(`size`): `Promise`<`void`\\> Resizes the window.\n**`example`** ```typescript import { appWindow, LogicalSize } from\n'@tauri-apps/api/window' await appWindow.setSize(new LogicalSize(600, 500)) ```\n#### Parameters | Name | Type | Description | | :------ | :------ | :------ | |\n`size` | [`PhysicalSize`](window.PhysicalSize.md) \\|\n[`LogicalSize`](window.LogicalSize.md) | The logical or physical size. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[window.ts:804](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L804)\n___ ### setSkipTaskbar ▸ **setSkipTaskbar**(`skip`): `Promise`<`void`\\> Whether\nto show the window icon in the task bar or not. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `skip` | `boolean` | true to\nhide window icon, false to show it. | #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Defined in\n[window.ts:1030](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1030)\n___ ### setTitle ▸ **setTitle**(`title`): `Promise`<`void`\\> Sets the window\ntitle. #### Parameters | Name | Type | Description | | :------ | :------ |\n:------ | | `title` | `string` | The new title | #### Returns `Promise`<`void`\\>\nA promise indicating the success or failure of the operation. #### Defined in\n[window.ts:573](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L573)\n___ ### show ▸ **show**(): `Promise`<`void`\\> Sets the window visibility to\ntrue. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Defined in\n[window.ts:694](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L694)\n___ ### startDragging ▸ **startDragging**(): `Promise`<`void`\\> Starts dragging\nthe window. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Defined in\n[window.ts:1051](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1051)\n___ ### toggleMaximize ▸ **toggleMaximize**(): `Promise`<`void`\\> Toggles the\nwindow maximized state. #### Returns `Promise`<`void`\\> A promise indicating the\nsuccess or failure of the operation. #### Defined in\n[window.ts:634](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L634)\n___ ### unmaximize ▸ **unmaximize**(): `Promise`<`void`\\> Unmaximizes the\nwindow. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Defined in\n[window.ts:614](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L614)\n___ ### unminimize ▸ **unminimize**(): `Promise`<`void`\\> Unminimizes the\nwindow. #### Returns `Promise`<`void`\\> A promise indicating the success or\nfailure of the operation. #### Defined in\n[window.ts:674](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L674)","url":"https://tauri.studio/docs/api/js/classes/window.WindowManager"},{"id":"prose_docs_api_js_enums_fs_BaseDirectory_md","title":{"content":"Enumeration","type":"text"},"sections":["Enumeration members"],"subSections":["App","Audio","Cache","Config","Current","Data","Desktop","Document","Download","Executable","Font","Home","LocalData","Picture","Public","Resource","Runtime","Template","Video"],"code":[],"text":"[@tauri-apps/api](../index.md) / [fs](../modules/fs.md) / BaseDirectory #\nEnumeration: BaseDirectory [fs](../modules/fs.md).BaseDirectory ## Enumeration\nmembers ### App • **App** = `18` #### Defined in\n[fs.ts:56](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L56)\n___ ### Audio • **Audio** = `1` #### Defined in\n[fs.ts:39](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L39)\n___ ### Cache • **Cache** = `2` #### Defined in\n[fs.ts:40](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L40)\n___ ### Config • **Config** = `3` #### Defined in\n[fs.ts:41](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L41)\n___ ### Current • **Current** = `19` #### Defined in\n[fs.ts:57](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L57)\n___ ### Data • **Data** = `4` #### Defined in\n[fs.ts:42](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L42)\n___ ### Desktop • **Desktop** = `6` #### Defined in\n[fs.ts:44](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L44)\n___ ### Document • **Document** = `7` #### Defined in\n[fs.ts:45](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L45)\n___ ### Download • **Download** = `8` #### Defined in\n[fs.ts:46](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L46)\n___ ### Executable • **Executable** = `9` #### Defined in\n[fs.ts:47](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L47)\n___ ### Font • **Font** = `10` #### Defined in\n[fs.ts:48](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L48)\n___ ### Home • **Home** = `11` #### Defined in\n[fs.ts:49](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L49)\n___ ### LocalData • **LocalData** = `5` #### Defined in\n[fs.ts:43](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L43)\n___ ### Picture • **Picture** = `12` #### Defined in\n[fs.ts:50](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L50)\n___ ### Public • **Public** = `13` #### Defined in\n[fs.ts:51](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L51)\n___ ### Resource • **Resource** = `17` #### Defined in\n[fs.ts:55](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L55)\n___ ### Runtime • **Runtime** = `14` #### Defined in\n[fs.ts:52](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L52)\n___ ### Template • **Template** = `15` #### Defined in\n[fs.ts:53](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L53)\n___ ### Video • **Video** = `16` #### Defined in\n[fs.ts:54](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L54)","url":"https://tauri.studio/docs/api/js/enums/fs.BaseDirectory"},{"id":"prose_docs_api_js_enums_http_ResponseType_md","title":{"content":"Enumeration","type":"text"},"sections":["Enumeration members"],"subSections":["Binary","JSON","Text"],"code":[],"text":"[@tauri-apps/api](../index.md) / [http](../modules/http.md) / ResponseType #\nEnumeration: ResponseType [http](../modules/http.md).ResponseType ## Enumeration\nmembers ### Binary • **Binary** = `3` #### Defined in\n[http.ts:37](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L37)\n___ ### JSON • **JSON** = `1` #### Defined in\n[http.ts:35](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L35)\n___ ### Text • **Text** = `2` #### Defined in\n[http.ts:36](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L36)","url":"https://tauri.studio/docs/api/js/enums/http.ResponseType"},{"id":"prose_docs_api_js_enums_window_UserAttentionType_md","title":{"content":"Enumeration","type":"text"},"sections":["Enumeration members"],"subSections":["Critical","Informational"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) /\nUserAttentionType # Enumeration: UserAttentionType\n[window](../modules/window.md).UserAttentionType Attention type to request on a\nwindow. ## Enumeration members ### Critical • **Critical** = `1` ##\nPlatform-specific - **macOS:** Bounces the dock icon until the application is in\nfocus. - **Windows:** Flashes both the window and the taskbar button until the\napplication is in focus. #### Defined in\n[window.ts:183](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L183)\n___ ### Informational • **Informational** = `2` ## Platform-specific -\n**macOS:** Bounces the dock icon once. - **Windows:** Flashes the taskbar button\nuntil the application is in focus. #### Defined in\n[window.ts:189](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L189)","url":"https://tauri.studio/docs/api/js/enums/window.UserAttentionType"},{"id":"prose_docs_api_js_interfaces_cli_ArgMatch_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["occurrences","value"],"code":[],"text":"[@tauri-apps/api](../index.md) / [cli](../modules/cli.md) / ArgMatch #\nInterface: ArgMatch [cli](../modules/cli.md).ArgMatch ## Properties ###\noccurrences • **occurrences**: `number` Number of occurrences #### Defined in\n[cli.ts:24](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L24)\n___ ### value • **value**: ``null`` \\| `string` \\| `boolean` \\| `string`[]\nstring if takes value boolean if flag string[] or null if takes multiple values\n#### Defined in\n[cli.ts:20](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L20)","url":"https://tauri.studio/docs/api/js/interfaces/cli.ArgMatch"},{"id":"prose_docs_api_js_interfaces_cli_CliMatches_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["args","subcommand"],"code":[],"text":"[@tauri-apps/api](../index.md) / [cli](../modules/cli.md) / CliMatches #\nInterface: CliMatches [cli](../modules/cli.md).CliMatches ## Properties ### args\n• **args**: `Object` #### Index signature ▪ [name: `string`]:\n[`ArgMatch`](cli.ArgMatch.md) #### Defined in\n[cli.ts:33](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L33)\n___ ### subcommand • **subcommand**: ``null`` \\|\n[`SubcommandMatch`](cli.SubcommandMatch.md) #### Defined in\n[cli.ts:34](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L34)","url":"https://tauri.studio/docs/api/js/interfaces/cli.CliMatches"},{"id":"prose_docs_api_js_interfaces_cli_SubcommandMatch_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["matches","name"],"code":[],"text":"[@tauri-apps/api](../index.md) / [cli](../modules/cli.md) / SubcommandMatch #\nInterface: SubcommandMatch [cli](../modules/cli.md).SubcommandMatch ##\nProperties ### matches • **matches**: [`CliMatches`](cli.CliMatches.md) ####\nDefined in\n[cli.ts:29](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L29)\n___ ### name • **name**: `string` #### Defined in\n[cli.ts:28](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L28)","url":"https://tauri.studio/docs/api/js/interfaces/cli.SubcommandMatch"},{"id":"prose_docs_api_js_interfaces_dialog_DialogFilter_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["extensions","name"],"code":[],"text":"[@tauri-apps/api](../index.md) / [dialog](../modules/dialog.md) / DialogFilter #\nInterface: DialogFilter [dialog](../modules/dialog.md).DialogFilter Extension\nfilters for the file dialog. ## Properties ### extensions • **extensions**:\n`string`[] Extensions to filter, without a `.` prefix. **`example`**\n```typescript extensions: ['svg', 'png'] ``` #### Defined in\n[dialog.ts:41](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L41)\n___ ### name • **name**: `string` Filter name. #### Defined in\n[dialog.ts:33](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L33)","url":"https://tauri.studio/docs/api/js/interfaces/dialog.DialogFilter"},{"id":"prose_docs_api_js_interfaces_dialog_OpenDialogOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["defaultPath","directory","filters","multiple"],"code":[],"text":"[@tauri-apps/api](../index.md) / [dialog](../modules/dialog.md) /\nOpenDialogOptions # Interface: OpenDialogOptions\n[dialog](../modules/dialog.md).OpenDialogOptions Options for the open dialog. ##\nProperties ### defaultPath • `Optional` **defaultPath**: `string` Initial\ndirectory or file path. It must exist. #### Defined in\n[dialog.ts:49](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L49)\n___ ### directory • `Optional` **directory**: `boolean` Whether the dialog is a\ndirectory selection or not. #### Defined in\n[dialog.ts:53](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L53)\n___ ### filters • `Optional` **filters**:\n[`DialogFilter`](dialog.DialogFilter.md)[] The filters of the dialog. ####\nDefined in\n[dialog.ts:47](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L47)\n___ ### multiple • `Optional` **multiple**: `boolean` Whether the dialog allows\nmultiple selection or not. #### Defined in\n[dialog.ts:51](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L51)","url":"https://tauri.studio/docs/api/js/interfaces/dialog.OpenDialogOptions"},{"id":"prose_docs_api_js_interfaces_dialog_SaveDialogOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["defaultPath","filters"],"code":[],"text":"[@tauri-apps/api](../index.md) / [dialog](../modules/dialog.md) /\nSaveDialogOptions # Interface: SaveDialogOptions\n[dialog](../modules/dialog.md).SaveDialogOptions Options for the save dialog. ##\nProperties ### defaultPath • `Optional` **defaultPath**: `string` Initial\ndirectory or file path. If it's a directory path, the dialog interface will\nchange to that folder. If it's not an existing directory, the file name will be\nset to the dialog's file name input and the dialog will be set to the parent\nfolder. #### Defined in\n[dialog.ts:65](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L65)\n___ ### filters • `Optional` **filters**:\n[`DialogFilter`](dialog.DialogFilter.md)[] The filters of the dialog. ####\nDefined in\n[dialog.ts:59](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L59)","url":"https://tauri.studio/docs/api/js/interfaces/dialog.SaveDialogOptions"},{"id":"prose_docs_api_js_interfaces_event_Event_md","title":{"content":"Interface","type":"text"},"sections":["Type parameters","Properties"],"subSections":["event","id","payload"],"code":[],"text":"[@tauri-apps/api](../index.md) / [event](../modules/event.md) / Event #\nInterface: Event [event](../modules/event.md).Event ## Type parameters | Name |\n| :------ | | `T` | ## Properties ### event • **event**: `string` Event name\n#### Defined in\n[event.ts:19](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L19)\n___ ### id • **id**: `number` Event identifier used to unlisten #### Defined in\n[event.ts:21](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L21)\n___ ### payload • **payload**: `T` Event payload #### Defined in\n[event.ts:23](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L23)","url":"https://tauri.studio/docs/api/js/interfaces/event.Event"},{"id":"prose_docs_api_js_interfaces_fs_FileEntry_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["children","name","path"],"code":[],"text":"[@tauri-apps/api](../index.md) / [fs](../modules/fs.md) / FileEntry # Interface:\nFileEntry [fs](../modules/fs.md).FileEntry ## Properties ### children •\n`Optional` **children**: [`FileEntry`](fs.FileEntry.md)[] Children of this entry\nif it's a directory; null otherwise #### Defined in\n[fs.ts:87](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L87)\n___ ### name • `Optional` **name**: `string` Name of the directory/file can be\nnull if the path terminates with `..` #### Defined in\n[fs.ts:85](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L85)\n___ ### path • **path**: `string` #### Defined in\n[fs.ts:80](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L80)","url":"https://tauri.studio/docs/api/js/interfaces/fs.FileEntry"},{"id":"prose_docs_api_js_interfaces_fs_FsBinaryFileOption_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["contents","path"],"code":[],"text":"[@tauri-apps/api](../index.md) / [fs](../modules/fs.md) / FsBinaryFileOption #\nInterface: FsBinaryFileOption [fs](../modules/fs.md).FsBinaryFileOption ##\nProperties ### contents • **contents**: `ArrayBuffer` #### Defined in\n[fs.ts:76](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L76)\n___ ### path • **path**: `string` #### Defined in\n[fs.ts:75](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L75)","url":"https://tauri.studio/docs/api/js/interfaces/fs.FsBinaryFileOption"},{"id":"prose_docs_api_js_interfaces_fs_FsDirOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["dir","recursive"],"code":[],"text":"[@tauri-apps/api](../index.md) / [fs](../modules/fs.md) / FsDirOptions #\nInterface: FsDirOptions [fs](../modules/fs.md).FsDirOptions ## Properties ###\ndir • `Optional` **dir**: [`BaseDirectory`](../enums/fs.BaseDirectory.md) ####\nDefined in\n[fs.ts:65](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L65)\n___ ### recursive • `Optional` **recursive**: `boolean` #### Defined in\n[fs.ts:66](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L66)","url":"https://tauri.studio/docs/api/js/interfaces/fs.FsDirOptions"},{"id":"prose_docs_api_js_interfaces_fs_FsOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["dir"],"code":[],"text":"[@tauri-apps/api](../index.md) / [fs](../modules/fs.md) / FsOptions # Interface:\nFsOptions [fs](../modules/fs.md).FsOptions ## Properties ### dir • `Optional`\n**dir**: [`BaseDirectory`](../enums/fs.BaseDirectory.md) #### Defined in\n[fs.ts:61](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L61)","url":"https://tauri.studio/docs/api/js/interfaces/fs.FsOptions"},{"id":"prose_docs_api_js_interfaces_fs_FsTextFileOption_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["contents","path"],"code":[],"text":"[@tauri-apps/api](../index.md) / [fs](../modules/fs.md) / FsTextFileOption #\nInterface: FsTextFileOption [fs](../modules/fs.md).FsTextFileOption ##\nProperties ### contents • **contents**: `string` #### Defined in\n[fs.ts:71](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L71)\n___ ### path • **path**: `string` #### Defined in\n[fs.ts:70](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L70)","url":"https://tauri.studio/docs/api/js/interfaces/fs.FsTextFileOption"},{"id":"prose_docs_api_js_interfaces_helpers_tauri_TauriCommand_md","title":{"content":"Interface","type":"text"},"sections":["Indexable","Properties"],"subSections":["_"],"code":[],"text":"[@tauri-apps/api](../index.md) / [helpers/tauri](../modules/helpers_tauri.md) /\nTauriCommand # Interface: TauriCommand\n[helpers/tauri](../modules/helpers_tauri.md).TauriCommand ## Indexable ▪ [key:\n`string`]: `unknown` ## Properties ### \\_\\_tauriModule • **\\_\\_tauriModule**:\n[`TauriModule`](../modules/helpers_tauri.md#taurimodule) #### Defined in\n[helpers/tauri.ts:27](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/helpers/tauri.ts#L27)","url":"https://tauri.studio/docs/api/js/interfaces/helpers_tauri.TauriCommand"},{"id":"prose_docs_api_js_interfaces_http_ClientOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["connectTimeout","maxRedirections"],"code":[],"text":"[@tauri-apps/api](../index.md) / [http](../modules/http.md) / ClientOptions #\nInterface: ClientOptions [http](../modules/http.md).ClientOptions ## Properties\n### connectTimeout • **connectTimeout**: `number` #### Defined in\n[http.ts:31](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L31)\n___ ### maxRedirections • **maxRedirections**: `number` #### Defined in\n[http.ts:30](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L30)","url":"https://tauri.studio/docs/api/js/interfaces/http.ClientOptions"},{"id":"prose_docs_api_js_interfaces_http_HttpOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["body","headers","method","query","responseType","timeout","url"],"code":[],"text":"[@tauri-apps/api](../index.md) / [http](../modules/http.md) / HttpOptions #\nInterface: HttpOptions [http](../modules/http.md).HttpOptions Options object\nsent to the backend. ## Properties ### body • `Optional` **body**:\n[`Body`](../classes/http.Body.md) #### Defined in\n[http.ts:116](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L116)\n___ ### headers • `Optional` **headers**: `Record`<`string`, `any`\\> ####\nDefined in\n[http.ts:114](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L114)\n___ ### method • **method**: [`HttpVerb`](../modules/http.md#httpverb) ####\nDefined in\n[http.ts:112](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L112)\n___ ### query • `Optional` **query**: `Record`<`string`, `any`\\> #### Defined in\n[http.ts:115](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L115)\n___ ### responseType • `Optional` **responseType**:\n[`ResponseType`](../enums/http.ResponseType.md) #### Defined in\n[http.ts:118](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L118)\n___ ### timeout • `Optional` **timeout**: `number` #### Defined in\n[http.ts:117](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L117)\n___ ### url • **url**: `string` #### Defined in\n[http.ts:113](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L113)","url":"https://tauri.studio/docs/api/js/interfaces/http.HttpOptions"},{"id":"prose_docs_api_js_interfaces_notification_Options_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["body","icon","title"],"code":[],"text":"[@tauri-apps/api](../index.md) / [notification](../modules/notification.md) /\nOptions # Interface: Options [notification](../modules/notification.md).Options\nOptions to send a notification. ## Properties ### body • `Optional` **body**:\n`string` Optional notification body. #### Defined in\n[notification.ts:36](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L36)\n___ ### icon • `Optional` **icon**: `string` Optional notification icon. ####\nDefined in\n[notification.ts:38](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L38)\n___ ### title • **title**: `string` Notification title. #### Defined in\n[notification.ts:34](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L34)","url":"https://tauri.studio/docs/api/js/interfaces/notification.Options"},{"id":"prose_docs_api_js_interfaces_shell_ChildProcess_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["code","signal","stderr","stdout"],"code":[],"text":"[@tauri-apps/api](../index.md) / [shell](../modules/shell.md) / ChildProcess #\nInterface: ChildProcess [shell](../modules/shell.md).ChildProcess ## Properties\n### code • **code**: ``null`` \\| `number` Exit code of the process. `null` if\nthe process was terminated by a signal on Unix. #### Defined in\n[shell.ts:46](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L46)\n___ ### signal • **signal**: ``null`` \\| `number` If the process was terminated\nby a signal, represents that signal. #### Defined in\n[shell.ts:48](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L48)\n___ ### stderr • **stderr**: `string` The data that the process wrote to\n`stderr`. #### Defined in\n[shell.ts:52](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L52)\n___ ### stdout • **stdout**: `string` The data that the process wrote to\n`stdout`. #### Defined in\n[shell.ts:50](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L50)","url":"https://tauri.studio/docs/api/js/interfaces/shell.ChildProcess"},{"id":"prose_docs_api_js_interfaces_shell_SpawnOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["cwd","env"],"code":[],"text":"[@tauri-apps/api](../index.md) / [shell](../modules/shell.md) / SpawnOptions #\nInterface: SpawnOptions [shell](../modules/shell.md).SpawnOptions ## Properties\n### cwd • `Optional` **cwd**: `string` Current working directory. #### Defined\nin\n[shell.ts:34](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L34)\n___ ### env • `Optional` **env**: `Object` Environment variables. set to `null`\nto clear the process env. #### Index signature ▪ [name: `string`]: `string` ####\nDefined in\n[shell.ts:36](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L36)","url":"https://tauri.studio/docs/api/js/interfaces/shell.SpawnOptions"},{"id":"prose_docs_api_js_interfaces_tauri_InvokeArgs_md","title":{"content":"Interface","type":"text"},"sections":["Indexable"],"subSections":[],"code":[],"text":"[@tauri-apps/api](../index.md) / [tauri](../modules/tauri.md) / InvokeArgs #\nInterface: InvokeArgs [tauri](../modules/tauri.md).InvokeArgs Command arguments.\n## Indexable ▪ [key: `string`]: `unknown`","url":"https://tauri.studio/docs/api/js/interfaces/tauri.InvokeArgs"},{"id":"prose_docs_api_js_interfaces_updater_UpdateManifest_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["body","date","version"],"code":[],"text":"[@tauri-apps/api](../index.md) / [updater](../modules/updater.md) /\nUpdateManifest # Interface: UpdateManifest\n[updater](../modules/updater.md).UpdateManifest ## Properties ### body •\n**body**: `string` #### Defined in\n[updater.ts:24](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L24)\n___ ### date • **date**: `string` #### Defined in\n[updater.ts:23](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L23)\n___ ### version • **version**: `string` #### Defined in\n[updater.ts:22](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L22)","url":"https://tauri.studio/docs/api/js/interfaces/updater.UpdateManifest"},{"id":"prose_docs_api_js_interfaces_updater_UpdateResult_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["manifest","shouldUpdate"],"code":[],"text":"[@tauri-apps/api](../index.md) / [updater](../modules/updater.md) / UpdateResult\n# Interface: UpdateResult [updater](../modules/updater.md).UpdateResult ##\nProperties ### manifest • `Optional` **manifest**:\n[`UpdateManifest`](updater.UpdateManifest.md) #### Defined in\n[updater.ts:28](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L28)\n___ ### shouldUpdate • **shouldUpdate**: `boolean` #### Defined in\n[updater.ts:29](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L29)","url":"https://tauri.studio/docs/api/js/interfaces/updater.UpdateResult"},{"id":"prose_docs_api_js_interfaces_updater_UpdateStatusResult_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["error","status"],"code":[],"text":"[@tauri-apps/api](../index.md) / [updater](../modules/updater.md) /\nUpdateStatusResult # Interface: UpdateStatusResult\n[updater](../modules/updater.md).UpdateStatusResult ## Properties ### error •\n`Optional` **error**: `string` #### Defined in\n[updater.ts:17](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L17)\n___ ### status • **status**:\n[`UpdateStatus`](../modules/updater.md#updatestatus) #### Defined in\n[updater.ts:18](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L18)","url":"https://tauri.studio/docs/api/js/interfaces/updater.UpdateStatusResult"},{"id":"prose_docs_api_js_interfaces_window_Monitor_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["name","position","scaleFactor","size"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) / Monitor #\nInterface: Monitor [window](../modules/window.md).Monitor Allows you to retrieve\ninformation about a given monitor. ## Properties ### name • **name**: ``null``\n\\| `string` Human-readable name of the monitor #### Defined in\n[window.ts:94](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L94)\n___ ### position • **position**:\n[`PhysicalPosition`](../classes/window.PhysicalPosition.md) the Top-left corner\nposition of the monitor relative to the larger full screen area. #### Defined in\n[window.ts:98](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L98)\n___ ### scaleFactor • **scaleFactor**: `number` The scale factor that can be\nused to map physical pixels to logical pixels. #### Defined in\n[window.ts:100](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L100)\n___ ### size • **size**: [`PhysicalSize`](../classes/window.PhysicalSize.md) The\nmonitor's resolution. #### Defined in\n[window.ts:96](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L96)","url":"https://tauri.studio/docs/api/js/interfaces/window.Monitor"},{"id":"prose_docs_api_js_interfaces_window_WindowOptions_md","title":{"content":"Interface","type":"text"},"sections":["Properties"],"subSections":["alwaysOnTop","center","decorations","focus","fullscreen","height","maxHeight","maxWidth","maximized","minHeight","minWidth","resizable","skipTaskbar","title","transparent","url","visible","width","x","y"],"code":[],"text":"[@tauri-apps/api](../index.md) / [window](../modules/window.md) / WindowOptions\n# Interface: WindowOptions [window](../modules/window.md).WindowOptions\nConfiguration for the window to create. ## Properties ### alwaysOnTop •\n`Optional` **alwaysOnTop**: `boolean` Whether the window should always be on top\nof other windows or not. #### Defined in\n[window.ts:1178](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1178)\n___ ### center • `Optional` **center**: `boolean` Show window in the center of\nthe screen.. #### Defined in\n[window.ts:1144](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1144)\n___ ### decorations • `Optional` **decorations**: `boolean` Whether the window\nshould have borders and bars or not. #### Defined in\n[window.ts:1176](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1176)\n___ ### focus • `Optional` **focus**: `boolean` Whether the window will be\ninitially hidden or focused. #### Defined in\n[window.ts:1168](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1168)\n___ ### fullscreen • `Optional` **fullscreen**: `boolean` Whether the window is\nin fullscreen mode or not. #### Defined in\n[window.ts:1166](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1166)\n___ ### height • `Optional` **height**: `number` The initial height. ####\nDefined in\n[window.ts:1152](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1152)\n___ ### maxHeight • `Optional` **maxHeight**: `number` The maximum height. Only\napplies if `maxWidth` is also set. #### Defined in\n[window.ts:1160](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1160)\n___ ### maxWidth • `Optional` **maxWidth**: `number` The maximum width. Only\napplies if `maxHeight` is also set. #### Defined in\n[window.ts:1158](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1158)\n___ ### maximized • `Optional` **maximized**: `boolean` Whether the window\nshould be maximized upon creation or not. #### Defined in\n[window.ts:1172](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1172)\n___ ### minHeight • `Optional` **minHeight**: `number` The minimum height. Only\napplies if `minWidth` is also set. #### Defined in\n[window.ts:1156](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1156)\n___ ### minWidth • `Optional` **minWidth**: `number` The minimum width. Only\napplies if `minHeight` is also set. #### Defined in\n[window.ts:1154](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1154)\n___ ### resizable • `Optional` **resizable**: `boolean` Whether the window is\nresizable or not. #### Defined in\n[window.ts:1162](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1162)\n___ ### skipTaskbar • `Optional` **skipTaskbar**: `boolean` Whether or not the\nwindow icon should be added to the taskbar. #### Defined in\n[window.ts:1180](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1180)\n___ ### title • `Optional` **title**: `string` Window title. #### Defined in\n[window.ts:1164](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1164)\n___ ### transparent • `Optional` **transparent**: `boolean` Whether the window\nis transparent or not. #### Defined in\n[window.ts:1170](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1170)\n___ ### url • `Optional` **url**: `string` Remote URL or local file path to\nopen, e.g. `https://github.com/tauri-apps` or `path/to/page.html`. #### Defined\nin\n[window.ts:1142](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1142)\n___ ### visible • `Optional` **visible**: `boolean` Whether the window should be\nimmediately visible upon creation or not. #### Defined in\n[window.ts:1174](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1174)\n___ ### width • `Optional` **width**: `number` The initial width. #### Defined\nin\n[window.ts:1150](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1150)\n___ ### x • `Optional` **x**: `number` The initial vertical position. Only\napplies if `y` is also set. #### Defined in\n[window.ts:1146](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1146)\n___ ### y • `Optional` **y**: `number` The initial horizontal position. Only\napplies if `x` is also set. #### Defined in\n[window.ts:1148](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1148)","url":"https://tauri.studio/docs/api/js/interfaces/window.WindowOptions"},{"id":"prose_docs_api_js_modules_app_md","title":{"content":"Module","type":"text"},"sections":["Functions"],"subSections":["getName","getTauriVersion","getVersion"],"code":[],"text":"[@tauri-apps/api](../index.md) / app # Module: app Get application metadata.\nThis package is also accessible with `window.__TAURI__.app` when\n`tauri.conf.json > build > withGlobalTauri` is set to true. ## Functions ###\ngetName ▸ **getName**(): `Promise`<`string`\\> Gets the application name. ####\nReturns `Promise`<`string`\\> A promise resolving to application name. ####\nDefined in\n[app.ts:33](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/app.ts#L33)\n___ ### getTauriVersion ▸ **getTauriVersion**(): `Promise`<`string`\\> Gets the\ntauri version. #### Returns `Promise`<`string`\\> A promise resolving to tauri\nversion. #### Defined in\n[app.ts:47](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/app.ts#L47)\n___ ### getVersion ▸ **getVersion**(): `Promise`<`string`\\> Gets the application\nversion. #### Returns `Promise`<`string`\\> A promise resolving to the\napplication version. #### Defined in\n[app.ts:19](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/app.ts#L19)","url":"https://tauri.studio/docs/api/js/modules/app"},{"id":"prose_docs_api_js_modules_cli_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Functions"],"subSections":["getMatches"],"code":[],"text":"[@tauri-apps/api](../index.md) / cli # Module: cli Parse arguments from your\nCommand Line Interface. This package is also accessible with\n`window.__TAURI__.cli` when `tauri.conf.json > build > withGlobalTauri` is set\nto true. ## Interfaces - [ArgMatch](../interfaces/cli.ArgMatch.md) -\n[CliMatches](../interfaces/cli.CliMatches.md) -\n[SubcommandMatch](../interfaces/cli.SubcommandMatch.md) ## Functions ###\ngetMatches ▸ **getMatches**():\n`Promise`<[`CliMatches`](../interfaces/cli.CliMatches.md)\\> Parse the arguments\nprovided to the current process and get the matches using the configuration\ndefined `tauri.conf.json > tauri > cli`. #### Returns\n`Promise`<[`CliMatches`](../interfaces/cli.CliMatches.md)\\> A promise resolving\nto the parsed arguments. #### Defined in\n[cli.ts:42](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/cli.ts#L42)","url":"https://tauri.studio/docs/api/js/modules/cli"},{"id":"prose_docs_api_js_modules_clipboard_md","title":{"content":"Module","type":"text"},"sections":["Functions"],"subSections":["readText","writeText"],"code":[],"text":"[@tauri-apps/api](../index.md) / clipboard # Module: clipboard Read and write to\nthe system clipboard. This package is also accessible with\n`window.__TAURI__.clipboard` when `tauri.conf.json > build > withGlobalTauri` is\nset to true. ## Functions ### readText ▸ **readText**(): `Promise`<`string` \\|\n``null``\\> Gets the clipboard content as plain text. #### Returns\n`Promise`<`string` \\| ``null``\\> A promise resolving to the clipboard content as\nplain text. #### Defined in\n[clipboard.ts:34](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/clipboard.ts#L34)\n___ ### writeText ▸ **writeText**(`text`): `Promise`<`void`\\> Writes a plain\ntext to the clipboard. #### Parameters | Name | Type | | :------ | :------ | |\n`text` | `string` | #### Returns `Promise`<`void`\\> A promise indicating the\nsuccess or failure of the operation. #### Defined in\n[clipboard.ts:19](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/clipboard.ts#L19)","url":"https://tauri.studio/docs/api/js/modules/clipboard"},{"id":"prose_docs_api_js_modules_dialog_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Functions"],"subSections":["open","save"],"code":[],"text":"[@tauri-apps/api](../index.md) / dialog # Module: dialog Native system dialogs\nfor opening and saving files. This package is also accessible with\n`window.__TAURI__.dialog` when `tauri.conf.json > build > withGlobalTauri` is\nset to true. The APIs must be allowlisted on `tauri.conf.json`: ```json {\n\"tauri\": { \"allowlist\": { \"dialog\": { \"all\": true, // enable all dialog APIs\n\"open\": true, // enable file open API \"save\": true // enable file save API } } }\n} ``` It is recommended to allowlist only the APIs you use for optimal bundle\nsize and security. ## Interfaces -\n[DialogFilter](../interfaces/dialog.DialogFilter.md) -\n[OpenDialogOptions](../interfaces/dialog.OpenDialogOptions.md) -\n[SaveDialogOptions](../interfaces/dialog.SaveDialogOptions.md) ## Functions ###\nopen ▸ **open**(`options?`): `Promise`<`string` \\| `string`[]\\> Open a\nfile/directory selection dialog #### Parameters | Name | Type | | :------ |\n:------ | | `options` |\n[`OpenDialogOptions`](../interfaces/dialog.OpenDialogOptions.md) | #### Returns\n`Promise`<`string` \\| `string`[]\\> A promise resolving to the selected path(s)\n#### Defined in\n[dialog.ts:73](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L73)\n___ ### save ▸ **save**(`options?`): `Promise`<`string`\\> Open a file/directory\nsave dialog. #### Parameters | Name | Type | | :------ | :------ | | `options` |\n[`SaveDialogOptions`](../interfaces/dialog.SaveDialogOptions.md) | #### Returns\n`Promise`<`string`\\> A promise resolving to the selected path. #### Defined in\n[dialog.ts:94](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/dialog.ts#L94)","url":"https://tauri.studio/docs/api/js/modules/dialog"},{"id":"prose_docs_api_js_modules_event_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Type aliases","Functions"],"subSections":["EventCallback","EventName","UnlistenFn","emit","listen","once"],"code":[],"text":"[@tauri-apps/api](../index.md) / event # Module: event The event system allows\nyou to emit events to the backend and listen to events from it. This package is\nalso accessible with `window.__TAURI__.event` when `tauri.conf.json > build >\nwithGlobalTauri` is set to true. ## Interfaces -\n[Event](../interfaces/event.Event.md) ## Type aliases ### EventCallback Ƭ\n**EventCallback**<`T`\\>: (`event`:\n[`Event`](../interfaces/event.Event.md)<`T`\\>) => `void` #### Type parameters |\nName | | :------ | | `T` | #### Type declaration ▸ (`event`): `void` #####\nParameters | Name | Type | | :------ | :------ | | `event` |\n[`Event`](../interfaces/event.Event.md)<`T`\\> | ##### Returns `void` ####\nDefined in\n[event.ts:45](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L45)\n___ ### EventName Ƭ **EventName**: `LiteralUnion`<``\"tauri://update\"`` \\|\n``\"tauri://update-available\"`` \\| ``\"tauri://update-install\"`` \\|\n``\"tauri://update-status\"`` \\| ``\"tauri://resize\"`` \\| ``\"tauri://move\"`` \\|\n``\"tauri://close-requested\"`` \\| ``\"tauri://destroyed\"`` \\| ``\"tauri://focus\"``\n\\| ``\"tauri://blur\"`` \\| ``\"tauri://scale-change\"`` \\| ``\"tauri://menu\"`` \\|\n``\"tauri://file-drop\"`` \\| ``\"tauri://file-drop-hover\"`` \\|\n``\"tauri://file-drop-cancelled\"``, `string`\\> #### Defined in\n[event.ts:26](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L26)\n___ ### UnlistenFn Ƭ **UnlistenFn**: () => `void` #### Type declaration ▸ ():\n`void` ##### Returns `void` #### Defined in\n[event.ts:47](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L47)\n## Functions ### emit ▸ **emit**(`event`, `payload?`): `Promise`<`void`\\> Emits\nan event to the backend. #### Parameters | Name | Type | Description | | :------\n| :------ | :------ | | `event` | `string` | Event name | | `payload?` |\n`string` | - | #### Returns `Promise`<`void`\\> #### Defined in\n[event.ts:113](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L113)\n___ ### listen ▸ **listen**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](event.md#unlistenfn)\\> Listen to an event from the\nbackend. #### Type parameters | Name | | :------ | | `T` | #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `event` |\n[`EventName`](event.md#eventname) | Event name | | `handler` |\n[`EventCallback`](event.md#eventcallback)<`T`\\> | Event handler callback | ####\nReturns `Promise`<[`UnlistenFn`](event.md#unlistenfn)\\> A promise resolving to a\nfunction to unlisten to the event. #### Defined in\n[event.ts:73](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L73)\n___ ### once ▸ **once**<`T`\\>(`event`, `handler`):\n`Promise`<[`UnlistenFn`](event.md#unlistenfn)\\> Listen to an one-off event from\nthe backend. #### Type parameters | Name | | :------ | | `T` | #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `event` |\n[`EventName`](event.md#eventname) | Event name | | `handler` |\n[`EventCallback`](event.md#eventcallback)<`T`\\> | Event handler callback | ####\nReturns `Promise`<[`UnlistenFn`](event.md#unlistenfn)\\> A promise resolving to a\nfunction to unlisten to the event. #### Defined in\n[event.ts:96](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/event.ts#L96)","url":"https://tauri.studio/docs/api/js/modules/event"},{"id":"prose_docs_api_js_modules_fs_md","title":{"content":"Module","type":"text"},"sections":["Enumerations","Interfaces","References","Functions"],"subSections":["Dir","copyFile","createDir","readBinaryFile","readDir","readTextFile","removeDir","removeFile","renameFile","writeBinaryFile","writeFile"],"code":[],"text":"[@tauri-apps/api](../index.md) / fs # Module: fs Access the file system. This\npackage is also accessible with `window.__TAURI__.fs` when `tauri.conf.json >\nbuild > withGlobalTauri` is set to true. The APIs must be allowlisted on\n`tauri.conf.json`: ```json { \"tauri\": { \"allowlist\": { \"fs\": { \"all\": true, //\nenable all FS APIs \"readTextFile\": true, \"readBinaryFile\": true, \"writeFile\":\ntrue, \"writeBinaryFile\": true, \"readDir\": true, \"copyFile\": true, \"createDir\":\ntrue, \"removeDir\": true, \"removeFile\": true, \"renameFile\": true } } } } ``` It\nis recommended to allowlist only the APIs you use for optimal bundle size and\nsecurity. ## Enumerations - [BaseDirectory](../enums/fs.BaseDirectory.md) ##\nInterfaces - [FileEntry](../interfaces/fs.FileEntry.md) -\n[FsBinaryFileOption](../interfaces/fs.FsBinaryFileOption.md) -\n[FsDirOptions](../interfaces/fs.FsDirOptions.md) -\n[FsOptions](../interfaces/fs.FsOptions.md) -\n[FsTextFileOption](../interfaces/fs.FsTextFileOption.md) ## References ### Dir\nRenames and exports: [BaseDirectory](../enums/fs.BaseDirectory.md) ## Functions\n### copyFile ▸ **copyFile**(`source`, `destination`, `options?`):\n`Promise`<`void`\\> Copys a file to a destination. #### Parameters | Name | Type\n| Description | | :------ | :------ | :------ | | `source` | `string` | A path\nof the file to copy. | | `destination` | `string` | A path for the destination\nfile. | | `options` | [`FsOptions`](../interfaces/fs.FsOptions.md) |\nConfiguration object. | #### Returns `Promise`<`void`\\> A promise indicating the\nsuccess or failure of the operation. #### Defined in\n[fs.ts:300](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L300)\n___ ### createDir ▸ **createDir**(`dir`, `options?`): `Promise`<`void`\\> Creates\na directory. If one of the path's parent components doesn't exist and the\n`recursive` option isn't set to true, the promise will be rejected. ####\nParameters | Name | Type | Description | | :------ | :------ | :------ | | `dir`\n| `string` | Path to the directory to create. | | `options` |\n[`FsDirOptions`](../interfaces/fs.FsDirOptions.md) | Configuration object. |\n#### Returns `Promise`<`void`\\> A promise indicating the success or failure of\nthe operation. #### Defined in\n[fs.ts:256](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L256)\n___ ### readBinaryFile ▸ **readBinaryFile**(`filePath`, `options?`):\n`Promise`<`number`[]\\> Reads a file as byte array. #### Parameters | Name | Type\n| Description | | :------ | :------ | :------ | | `filePath` | `string` | Path\nto the file. | | `options` | [`FsOptions`](../interfaces/fs.FsOptions.md) |\nConfiguration object. | #### Returns `Promise`<`number`[]\\> A promise resolving\nto the file bytes array. #### Defined in\n[fs.ts:118](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L118)\n___ ### readDir ▸ **readDir**(`dir`, `options?`):\n`Promise`<[`FileEntry`](../interfaces/fs.FileEntry.md)[]\\> List directory files.\n#### Parameters | Name | Type | Description | | :------ | :------ | :------ | |\n`dir` | `string` | Path to the directory to read. | | `options` |\n[`FsDirOptions`](../interfaces/fs.FsDirOptions.md) | Configuration object. |\n#### Returns `Promise`<[`FileEntry`](../interfaces/fs.FileEntry.md)[]\\> A\npromise resolving to the directory entries. #### Defined in\n[fs.ts:233](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L233)\n___ ### readTextFile ▸ **readTextFile**(`filePath`, `options?`):\n`Promise`<`string`\\> Reads a file as UTF-8 encoded string. #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `filePath` |\n`string` | Path to the file. | | `options` |\n[`FsOptions`](../interfaces/fs.FsOptions.md) | Configuration object. | ####\nReturns `Promise`<`string`\\> A promise resolving to the file content as a UTF-8\nencoded string. #### Defined in\n[fs.ts:97](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L97)\n___ ### removeDir ▸ **removeDir**(`dir`, `options?`): `Promise`<`void`\\> Removes\na directory. If the directory is not empty and the `recursive` option isn't set\nto true, the promise will be rejected. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `dir` | `string` | Path to the\ndirectory to remove. | | `options` |\n[`FsDirOptions`](../interfaces/fs.FsDirOptions.md) | Configuration object. |\n#### Returns `Promise`<`void`\\> A promise indicating the success or failure of\nthe operation. #### Defined in\n[fs.ts:278](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L278)\n___ ### removeFile ▸ **removeFile**(`file`, `options?`): `Promise`<`void`\\>\nRemoves a file. #### Parameters | Name | Type | Description | | :------ |\n:------ | :------ | | `file` | `string` | Path to the file to remove. | |\n`options` | [`FsOptions`](../interfaces/fs.FsOptions.md) | Configuration object.\n| #### Returns `Promise`<`void`\\> A promise indicating the success or failure of\nthe operation. #### Defined in\n[fs.ts:323](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L323)\n___ ### renameFile ▸ **renameFile**(`oldPath`, `newPath`, `options?`):\n`Promise`<`void`\\> Renames a file. #### Parameters | Name | Type | Description |\n| :------ | :------ | :------ | | `oldPath` | `string` | A path of the file to\nrename. | | `newPath` | `string` | A path of the new file name. | | `options` |\n[`FsOptions`](../interfaces/fs.FsOptions.md) | Configuration object. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[fs.ts:345](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L345)\n___ ### writeBinaryFile ▸ **writeBinaryFile**(`file`, `options?`):\n`Promise`<`void`\\> Writes a binary file. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `file` |\n[`FsBinaryFileOption`](../interfaces/fs.FsBinaryFileOption.md) | Write\nconfiguration object. | | `options` |\n[`FsOptions`](../interfaces/fs.FsOptions.md) | Configuration object. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[fs.ts:204](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L204)\n___ ### writeFile ▸ **writeFile**(`file`, `options?`): `Promise`<`void`\\> Writes\na text file. #### Parameters | Name | Type | Description | | :------ | :------ |\n:------ | | `file` | [`FsTextFileOption`](../interfaces/fs.FsTextFileOption.md)\n| File configuration object. | | `options` |\n[`FsOptions`](../interfaces/fs.FsOptions.md) | Configuration object. | ####\nReturns `Promise`<`void`\\> A promise indicating the success or failure of the\noperation. #### Defined in\n[fs.ts:139](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/fs.ts#L139)","url":"https://tauri.studio/docs/api/js/modules/fs"},{"id":"prose_docs_api_js_modules_globalShortcut_md","title":{"content":"Module","type":"text"},"sections":["Type aliases","Functions"],"subSections":["ShortcutHandler","isRegistered","register","registerAll","unregister","unregisterAll"],"code":[],"text":"[@tauri-apps/api](../index.md) / globalShortcut # Module: globalShortcut\nRegister global shortcuts. This package is also accessible with\n`window.__TAURI__.globalShortcut` when `tauri.conf.json > build >\nwithGlobalTauri` is set to true. The APIs must be allowlisted on\n`tauri.conf.json`: ```json { \"tauri\": { \"allowlist\": { \"globalShortcut\": {\n\"all\": true // enable all global shortcut APIs } } } } ``` It is recommended to\nallowlist only the APIs you use for optimal bundle size and security. ## Type\naliases ### ShortcutHandler Ƭ **ShortcutHandler**: (`shortcut`: `string`) =>\n`void` #### Type declaration ▸ (`shortcut`): `void` ##### Parameters | Name |\nType | | :------ | :------ | | `shortcut` | `string` | ##### Returns `void` ####\nDefined in\n[globalShortcut.ts:29](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/globalShortcut.ts#L29)\n## Functions ### isRegistered ▸ **isRegistered**(`shortcut`):\n`Promise`<`boolean`\\> Determines whether the given shortcut is registered by\nthis application or not. #### Parameters | Name | Type | Description | | :------\n| :------ | :------ | | `shortcut` | `string` | Array of shortcut definitions,\nmodifiers and key separated by \"+\" e.g. CmdOrControl+Q | #### Returns\n`Promise`<`boolean`\\> A promise resolving to the state. #### Defined in\n[globalShortcut.ts:79](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/globalShortcut.ts#L79)\n___ ### register ▸ **register**(`shortcut`, `handler`): `Promise`<`void`\\>\nRegister a global shortcut. #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `shortcut` | `string` | Shortcut definition,\nmodifiers and key separated by \"+\" e.g. CmdOrControl+Q | | `handler` |\n[`ShortcutHandler`](globalShortcut.md#shortcuthandler) | Shortcut handler\ncallback - takes the triggered shortcut as argument | #### Returns\n`Promise`<`void`\\> #### Defined in\n[globalShortcut.ts:38](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/globalShortcut.ts#L38)\n___ ### registerAll ▸ **registerAll**(`shortcuts`, `handler`):\n`Promise`<`void`\\> Register a collection of global shortcuts. #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `shortcuts` |\n`string`[] | Array of shortcut definitions, modifiers and key separated by \"+\"\ne.g. CmdOrControl+Q | | `handler` |\n[`ShortcutHandler`](globalShortcut.md#shortcuthandler) | Shortcut handler\ncallback - takes the triggered shortcut as argument | #### Returns\n`Promise`<`void`\\> #### Defined in\n[globalShortcut.ts:59](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/globalShortcut.ts#L59)\n___ ### unregister ▸ **unregister**(`shortcut`): `Promise`<`void`\\> Unregister a\nglobal shortcut. #### Parameters | Name | Type | Description | | :------ |\n:------ | :------ | | `shortcut` | `string` | shortcut definition, modifiers and\nkey separated by \"+\" e.g. CmdOrControl+Q | #### Returns `Promise`<`void`\\> ####\nDefined in\n[globalShortcut.ts:95](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/globalShortcut.ts#L95)\n___ ### unregisterAll ▸ **unregisterAll**(): `Promise`<`void`\\> Unregisters all\nshortcuts registered by the application. #### Returns `Promise`<`void`\\> ####\nDefined in\n[globalShortcut.ts:110](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/globalShortcut.ts#L110)","url":"https://tauri.studio/docs/api/js/modules/globalShortcut"},{"id":"prose_docs_api_js_modules_helpers_event_md","title":{"content":"Module","type":"text"},"sections":["Functions"],"subSections":["emit"],"code":[],"text":"[@tauri-apps/api](../index.md) / helpers/event # Module: helpers/event ##\nFunctions ### emit ▸ **emit**(`event`, `windowLabel`, `payload?`):\n`Promise`<`void`\\> Emits an event to the backend. #### Parameters | Name | Type\n| Description | | :------ | :------ | :------ | | `event` | `string` | Event\nname | | `windowLabel` | `WindowLabel` | - | | `payload?` | `string` | - | ####\nReturns `Promise`<`void`\\> #### Defined in\n[helpers/event.ts:18](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/helpers/event.ts#L18)","url":"https://tauri.studio/docs/api/js/modules/helpers_event"},{"id":"prose_docs_api_js_modules_helpers_os_check_md","title":{"content":"Module","type":"text"},"sections":["Functions"],"subSections":["isMacOS","isWindows"],"code":[],"text":"[@tauri-apps/api](../index.md) / helpers/os-check # Module: helpers/os-check ##\nFunctions ### isMacOS ▸ **isMacOS**(): `boolean` #### Returns `boolean` ####\nDefined in\n[helpers/os-check.ts:15](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/helpers/os-check.ts#L15)\n___ ### isWindows ▸ **isWindows**(): `boolean` #### Returns `boolean` ####\nDefined in\n[helpers/os-check.ts:11](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/helpers/os-check.ts#L11)","url":"https://tauri.studio/docs/api/js/modules/helpers_os_check"},{"id":"prose_docs_api_js_modules_helpers_tauri_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Type aliases","Functions"],"subSections":["TauriModule","invokeTauriCommand"],"code":[],"text":"[@tauri-apps/api](../index.md) / helpers/tauri # Module: helpers/tauri ##\nInterfaces - [TauriCommand](../interfaces/helpers_tauri.TauriCommand.md) ## Type\naliases ### TauriModule Ƭ **TauriModule**: ``\"App\"`` \\| ``\"Fs\"`` \\| ``\"Path\"``\n\\| ``\"Os\"`` \\| ``\"Window\"`` \\| ``\"Shell\"`` \\| ``\"Event\"`` \\| ``\"Internal\"`` \\|\n``\"Dialog\"`` \\| ``\"Cli\"`` \\| ``\"Notification\"`` \\| ``\"Http\"`` \\|\n``\"GlobalShortcut\"`` \\| ``\"Process\"`` \\| ``\"Clipboard\"`` #### Defined in\n[helpers/tauri.ts:9](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/helpers/tauri.ts#L9)\n## Functions ### invokeTauriCommand ▸ **invokeTauriCommand**<`T`\\>(`command`):\n`Promise`<`T`\\> #### Type parameters | Name | | :------ | | `T` | ####\nParameters | Name | Type | | :------ | :------ | | `command` |\n[`TauriCommand`](../interfaces/helpers_tauri.TauriCommand.md) | #### Returns\n`Promise`<`T`\\> #### Defined in\n[helpers/tauri.ts:31](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/helpers/tauri.ts#L31)","url":"https://tauri.studio/docs/api/js/modules/helpers_tauri"},{"id":"prose_docs_api_js_modules_http_md","title":{"content":"Module","type":"text"},"sections":["Enumerations","Classes","Interfaces","Type aliases","Functions"],"subSections":["FetchOptions","HttpVerb","Part","RequestOptions","fetch","getClient"],"code":[],"text":"[@tauri-apps/api](../index.md) / http # Module: http Access the HTTP client\nwritten in Rust. This package is also accessible with `window.__TAURI__.http`\nwhen `tauri.conf.json > build > withGlobalTauri` is set to true. The APIs must\nbe allowlisted on `tauri.conf.json`: ```json { \"tauri\": { \"allowlist\": { \"http\":\n{ \"all\": true, // enable all http APIs \"request\": true // enable HTTP request\nAPI } } } } ``` It is recommended to allowlist only the APIs you use for optimal\nbundle size and security. ## Enumerations -\n[ResponseType](../enums/http.ResponseType.md) ## Classes -\n[Body](../classes/http.Body.md) - [Client](../classes/http.Client.md) -\n[Response](../classes/http.Response.md) ## Interfaces -\n[ClientOptions](../interfaces/http.ClientOptions.md) -\n[HttpOptions](../interfaces/http.HttpOptions.md) ## Type aliases ###\nFetchOptions Ƭ **FetchOptions**:\n`Omit`<[`HttpOptions`](../interfaces/http.HttpOptions.md), ``\"url\"``\\> Options\nfor the `fetch` API. #### Defined in\n[http.ts:124](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L124)\n___ ### HttpVerb Ƭ **HttpVerb**: ``\"GET\"`` \\| ``\"POST\"`` \\| ``\"PUT\"`` \\|\n``\"DELETE\"`` \\| ``\"PATCH\"`` \\| ``\"HEAD\"`` \\| ``\"OPTIONS\"`` \\| ``\"CONNECT\"`` \\|\n``\"TRACE\"`` The request HTTP verb. #### Defined in\n[http.ts:99](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L99)\n___ ### Part Ƭ **Part**: ``\"string\"`` \\| `number`[] #### Defined in\n[http.ts:40](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L40)\n___ ### RequestOptions Ƭ **RequestOptions**:\n`Omit`<[`HttpOptions`](../interfaces/http.HttpOptions.md), ``\"method\"`` \\|\n``\"url\"``\\> Request options. #### Defined in\n[http.ts:122](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L122)\n## Functions ### fetch ▸ **fetch**<`T`\\>(`url`, `options?`):\n`Promise`<[`Response`](../classes/http.Response.md)<`T`\\>\\> Perform an HTTP\nrequest using the default client. #### Type parameters | Name | | :------ | |\n`T` | #### Parameters | Name | Type | Description | | :------ | :------ |\n:------ | | `url` | `string` | The request URL. | | `options?` |\n[`FetchOptions`](http.md#fetchoptions) | The fetch options. | #### Returns\n`Promise`<[`Response`](../classes/http.Response.md)<`T`\\>\\> The response object.\n#### Defined in\n[http.ts:335](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L335)\n___ ### getClient ▸ **getClient**(`options?`):\n`Promise`<[`Client`](../classes/http.Client.md)\\> Creates a new client using the\nspecified options. #### Parameters | Name | Type | Description | | :------ |\n:------ | :------ | | `options?` |\n[`ClientOptions`](../interfaces/http.ClientOptions.md) | Client configuration. |\n#### Returns `Promise`<[`Client`](../classes/http.Client.md)\\> A promise\nresolving to the client instance. #### Defined in\n[http.ts:315](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/http.ts#L315)","url":"https://tauri.studio/docs/api/js/modules/http"},{"id":"prose_docs_api_js_modules_index_md","title":{"content":"Module","type":"text"},"sections":["References"],"subSections":["app","clipboard","event","globalShortcut","notification","process","tauri","window"],"code":[],"text":"[@tauri-apps/api](../index.md) / index # Module: index The Tauri API allows you\nto interface with the backend layer. This module exposes all other modules as an\nobject where the key is the module name, and the value is the module exports.\n**`example`** ```typescript import { app, dialog, event, fs, globalShortcut }\nfrom '@tauri-apps/api' ``` ## References ### app Re-exports: [app](app.md) ___\n### clipboard Re-exports: [clipboard](clipboard.md) ___ ### event Re-exports:\n[event](event.md) ___ ### globalShortcut Re-exports:\n[globalShortcut](globalShortcut.md) ___ ### notification Re-exports:\n[notification](notification.md) ___ ### process Re-exports:\n[process](process.md) ___ ### tauri Re-exports: [tauri](tauri.md) ___ ### window\nRe-exports: [window](window.md)","url":"https://tauri.studio/docs/api/js/modules/index"},{"id":"prose_docs_api_js_modules_notification_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Type aliases","Functions"],"subSections":["Permission","isPermissionGranted","requestPermission","sendNotification"],"code":[],"text":"[@tauri-apps/api](../index.md) / notification # Module: notification Send toast\nnotifications (brief auto-expiring OS window element) to your user. Can also be\nused with the Notification Web API. This package is also accessible with\n`window.__TAURI__.notification` when `tauri.conf.json > build > withGlobalTauri`\nis set to true. The APIs must be allowlisted on `tauri.conf.json`: ```json {\n\"tauri\": { \"allowlist\": { \"notification\": { \"all\": true // enable all\nnotification APIs } } } } ``` It is recommended to allowlist only the APIs you\nuse for optimal bundle size and security. ## Interfaces -\n[Options](../interfaces/notification.Options.md) ## Type aliases ### Permission\nƬ **Permission**: ``\"granted\"`` \\| ``\"denied\"`` \\| ``\"default\"`` Possible\npermission values. #### Defined in\n[notification.ts:42](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L42)\n## Functions ### isPermissionGranted ▸ **isPermissionGranted**():\n`Promise`<`boolean` \\| ``null``\\> Checks if the permission to send notifications\nis granted. #### Returns `Promise`<`boolean` \\| ``null``\\> #### Defined in\n[notification.ts:49](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L49)\n___ ### requestPermission ▸ **requestPermission**():\n`Promise`<[`Permission`](notification.md#permission)\\> Requests the permission\nto send notifications. #### Returns\n`Promise`<[`Permission`](notification.md#permission)\\> A promise resolving to\nwhether the user granted the permission or not. #### Defined in\n[notification.ts:66](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L66)\n___ ### sendNotification ▸ **sendNotification**(`options`): `void` Sends a\nnotification to the user. #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `options` |\n[`Options`](../interfaces/notification.Options.md) \\| `string` | Notification\noptions. | #### Returns `void` #### Defined in\n[notification.ts:75](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/notification.ts#L75)","url":"https://tauri.studio/docs/api/js/modules/notification"},{"id":"prose_docs_api_js_modules_os_md","title":{"content":"Module","type":"text"},"sections":["Variables","Functions"],"subSections":["EOL","arch","platform","tempdir","type","version"],"code":[],"text":"[@tauri-apps/api](../index.md) / os # Module: os Provides operating\nsystem-related utility methods and properties. This package is also accessible\nwith `window.__TAURI__.os` when `tauri.conf.json > build > withGlobalTauri` is\nset to true. The APIs must be allowlisted on `tauri.conf.json`: ```json {\n\"tauri\": { \"allowlist\": { \"os\": { \"all\": true, // enable all Os APIs } } } } ```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and\nsecurity. ## Variables ### EOL • `Const` **EOL**: ``\"\\r\\n\"`` \\| ``\"\\n\"`` The\noperating system-specific end-of-line marker. - `\\n` on POSIX - `\\r\\n` on\nWindows #### Defined in\n[os.ts:34](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/os.ts#L34)\n## Functions ### arch ▸ **arch**(): `Promise`<`string`\\> Returns the operating\nsystem CPU architecture for which the tauri app was compiled. Possible values\nare `'x86'`, `'x86_64'`, `'arm'`, `'aarch64'`, `'mips'`, `'mips64'`,\n`'powerpc'`, `'powerpc64'`, `'riscv64'`, `'s390x'`, `'sparc64'` #### Returns\n`Promise`<`string`\\> #### Defined in\n[os.ts:76](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/os.ts#L76)\n___ ### platform ▸ **platform**(): `Promise`<`string`\\> Returns a string\nidentifying the operating system platform. The value is set at compile time.\nPossible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`,\n`'sunos'`, and `'win32'`. #### Returns `Promise`<`string`\\> #### Defined in\n[os.ts:40](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/os.ts#L40)\n___ ### tempdir ▸ **tempdir**(): `Promise`<`string`\\> Returns the operating\nsystem's default directory for temporary files as a string. #### Returns\n`Promise`<`string`\\> #### Defined in\n[os.ts:88](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/os.ts#L88)\n___ ### type ▸ **type**(): `Promise`<`string`\\> Returns `'Linux'` on Linux,\n`'Darwin'` on macOS, and `'Windows_NT'` on Windows. #### Returns\n`Promise`<`string`\\> #### Defined in\n[os.ts:64](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/os.ts#L64)\n___ ### version ▸ **version**(): `Promise`<`string`\\> Returns a string\nidentifying the kernel version. #### Returns `Promise`<`string`\\> #### Defined\nin\n[os.ts:52](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/os.ts#L52)","url":"https://tauri.studio/docs/api/js/modules/os"},{"id":"prose_docs_api_js_modules_path_md","title":{"content":"Module","type":"text"},"sections":["References","Variables","Functions","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform","Platform"],"subSections":["BaseDirectory","delimiter","sep","appDir","audioDir","basename","cacheDir","configDir","currentDir","dataDir","desktopDir","dirname","documentDir","downloadDir","executableDir","extname","fontDir","homeDir","isAbsolute","join","localDataDir","normalize","pictureDir","publicDir","resolve","resourceDir","runtimeDir","templateDir","videoDir"],"code":[],"text":"[@tauri-apps/api](../index.md) / path # Module: path ## References ###\nBaseDirectory Re-exports: [BaseDirectory](../enums/fs.BaseDirectory.md) ##\nVariables ### delimiter • `Const` **delimiter**: ``\";\"`` \\| ``\":\"`` Provides the\nplatform-specific path segment delimiter: - `;` on Windows - `:` on POSIX ####\nDefined in\n[path.ts:443](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L443)\n___ ### sep • `Const` **sep**: ``\"\\\\\"`` \\| ``\"/\"`` Provides the\nplatform-specific path segment separator: - `\\` on Windows - `/` on POSIX ####\nDefined in\n[path.ts:436](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L436)\n## Functions ### appDir ▸ **appDir**(): `Promise`<`string`\\> Returns the path to\nthe suggested directory for your app config files. Resolves to\n`${configDir}/${bundleIdentifier}`, where `bundleIdentifier` is the value\nconfigured on `tauri.conf.json > tauri > bundle > identifier`. #### Returns\n`Promise`<`string`\\> #### Defined in\n[path.ts:36](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L36)\n___ ### audioDir ▸ **audioDir**(): `Promise`<`string`\\> Returns the path to the\nuser's audio directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_MUSIC_DIR`. - **macOS:** Resolves to `$HOME/Music`. - **Windows:**\nResolves to `{FOLDERID_Music}`. #### Returns `Promise`<`string`\\> #### Defined\nin\n[path.ts:58](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L58)\n___ ### basename ▸ **basename**(`path`, `ext?`): `Promise`<`string`\\> Returns\nthe last portion of a `path`. Trailing directory separators are ignored. ####\nParameters | Name | Type | Description | | :------ | :------ | :------ | |\n`path` | `string` | - | | `ext?` | `string` | An optional file extension to be\nremoved from the returned path. | #### Returns `Promise`<`string`\\> #### Defined\nin\n[path.ts:519](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L519)\n___ ### cacheDir ▸ **cacheDir**(): `Promise`<`string`\\> Returns the path to the\nuser's cache directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_CACHE_HOME` or `$HOME/.cache`. - **macOS:** Resolves to\n`$HOME/Library/Caches`. - **Windows:** Resolves to `{FOLDERID_LocalAppData}`.\n#### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:80](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L80)\n___ ### configDir ▸ **configDir**(): `Promise`<`string`\\> Returns the path to\nthe user's config directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_CONFIG_HOME` or `$HOME/.config`. - **macOS:** Resolves to\n`$HOME/Library/Application Support`. - **Windows:** Resolves to\n`{FOLDERID_LocalAppData}`. #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:102](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L102)\n___ ### currentDir ▸ **currentDir**(): `Promise`<`string`\\> Returns the path to\nthe current working directory. #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:420](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L420)\n___ ### dataDir ▸ **dataDir**(): `Promise`<`string`\\> Returns the path to the\nuser's data directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_DATA_HOME` or `$HOME/.local/share`. - **macOS:** Resolves to\n`$HOME/Library/Application Support`. - **Windows:** Resolves to\n`{FOLDERID_RoamingAppData}`. #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:124](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L124)\n___ ### desktopDir ▸ **desktopDir**(): `Promise`<`string`\\> Returns the path to\nthe user's desktop directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_DESKTOP_DIR`. - **macOS:** Resolves to `$HOME/Library/Desktop`. -\n**Windows:** Resolves to `{FOLDERID_Desktop}`. #### Returns `Promise`<`string`\\>\n#### Defined in\n[path.ts:146](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L146)\n___ ### dirname ▸ **dirname**(`path`): `Promise`<`string`\\> Returns the\ndirectory name of a `path`. Trailing directory separators are ignored. ####\nParameters | Name | Type | | :------ | :------ | | `path` | `string` | ####\nReturns `Promise`<`string`\\> #### Defined in\n[path.ts:491](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L491)\n___ ### documentDir ▸ **documentDir**(): `Promise`<`string`\\> Returns the path\nto the user's document directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_DOCUMENTS_DIR`. - **macOS:** Resolves to `$HOME/Documents`. - **Windows:**\nResolves to `{FOLDERID_Documents}`. #### Returns `Promise`<`string`\\> ####\nDefined in\n[path.ts:168](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L168)\n___ ### downloadDir ▸ **downloadDir**(): `Promise`<`string`\\> Returns the path\nto the user's download directory. ## Platform-specific - **Linux**: Resolves to\n`$XDG_DOWNLOAD_DIR`. - **macOS**: Resolves to `$HOME/Downloads`. - **Windows**:\nResolves to `{FOLDERID_Downloads}`. #### Returns `Promise`<`string`\\> ####\nDefined in\n[path.ts:190](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L190)\n___ ### executableDir ▸ **executableDir**(): `Promise`<`string`\\> Returns the\npath to the user's executable directory. ## Platform-specific - **Linux:**\nResolves to `$XDG_BIN_HOME/../bin` or `$XDG_DATA_HOME/../bin` or\n`$HOME/.local/bin`. - **macOS:** Not supported. - **Windows:** Not supported.\n#### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:212](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L212)\n___ ### extname ▸ **extname**(`path`): `Promise`<`string`\\> Returns the\nextension of the `path`. #### Parameters | Name | Type | | :------ | :------ | |\n`path` | `string` | #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:504](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L504)\n___ ### fontDir ▸ **fontDir**(): `Promise`<`string`\\> Returns the path to the\nuser's font directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_DATA_HOME/fonts` or `$HOME/.local/share/fonts`. - **macOS:** Resolves to\n`$HOME/Library/Fonts`. - **Windows:** Not supported. #### Returns\n`Promise`<`string`\\> #### Defined in\n[path.ts:234](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L234)\n___ ### homeDir ▸ **homeDir**(): `Promise`<`string`\\> Returns the path to the\nuser's home directory. ## Platform-specific - **Linux:** Resolves to `$HOME`. -\n**macOS:** Resolves to `$HOME`. - **Windows:** Resolves to `{FOLDERID_Profile}`.\n#### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:256](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L256)\n___ ### isAbsolute ▸ **isAbsolute**(`path`): `Promise`<`boolean`\\> ####\nParameters | Name | Type | | :------ | :------ | | `path` | `string` | ####\nReturns `Promise`<`boolean`\\> #### Defined in\n[path.ts:530](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L530)\n___ ### join ▸ **join**(...`paths`): `Promise`<`string`\\> Joins all given `path`\nsegments together using the platform-specific separator as a delimiter, then\nnormalizes the resulting path. #### Parameters | Name | Type | Description | |\n:------ | :------ | :------ | | `...paths` | `string`[] | A sequence of path\nsegments. | #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:478](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L478)\n___ ### localDataDir ▸ **localDataDir**(): `Promise`<`string`\\> Returns the path\nto the user's local data directory. ## Platform-specific - **Linux:** Resolves\nto `$XDG_DATA_HOME` or `$HOME/.local/share`. - **macOS:** Resolves to\n`$HOME/Library/Application Support`. - **Windows:** Resolves to\n`{FOLDERID_LocalAppData}`. #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:278](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L278)\n___ ### normalize ▸ **normalize**(`path`): `Promise`<`string`\\> Normalizes the\ngiven `path`, resolving `'..'` and `'.'` segments and resolve symolic links.\n#### Parameters | Name | Type | | :------ | :------ | | `path` | `string` | ####\nReturns `Promise`<`string`\\> #### Defined in\n[path.ts:463](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L463)\n___ ### pictureDir ▸ **pictureDir**(): `Promise`<`string`\\> Returns the path to\nthe user's picture directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_PICTURES_DIR`. - **macOS:** Resolves to `$HOME/Pictures`. - **Windows:**\nResolves to `{FOLDERID_Pictures}`. #### Returns `Promise`<`string`\\> ####\nDefined in\n[path.ts:300](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L300)\n___ ### publicDir ▸ **publicDir**(): `Promise`<`string`\\> Returns the path to\nthe user's public directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_PUBLICSHARE_DIR`. - **macOS:** Resolves to `$HOME/Public`. - **Windows:**\nResolves to `{FOLDERID_Public}`. #### Returns `Promise`<`string`\\> #### Defined\nin\n[path.ts:322](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L322)\n___ ### resolve ▸ **resolve**(...`paths`): `Promise`<`string`\\> Resolves a\nsequence of `paths` or `path` segments into an absolute path. #### Parameters |\nName | Type | Description | | :------ | :------ | :------ | | `...paths` |\n`string`[] | A sequence of paths or path segments. | #### Returns\n`Promise`<`string`\\> #### Defined in\n[path.ts:450](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L450)\n___ ### resourceDir ▸ **resourceDir**(): `Promise`<`string`\\> Returns the path\nto the user's resource directory. #### Returns `Promise`<`string`\\> #### Defined\nin\n[path.ts:338](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L338)\n___ ### runtimeDir ▸ **runtimeDir**(): `Promise`<`string`\\> Returns the path to\nthe user's runtime directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_RUNTIME_DIR`. - **macOS:** Not supported. - **Windows:** Not supported.\n#### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:360](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L360)\n___ ### templateDir ▸ **templateDir**(): `Promise`<`string`\\> Returns the path\nto the user's template directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_TEMPLATES_DIR`. - **macOS:** Not supported. - **Windows:** Resolves to\n`{FOLDERID_Templates}`. #### Returns `Promise`<`string`\\> #### Defined in\n[path.ts:382](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L382)\n___ ### videoDir ▸ **videoDir**(): `Promise`<`string`\\> Returns the path to the\nuser's video directory. ## Platform-specific - **Linux:** Resolves to\n`$XDG_VIDEOS_DIR`. - **macOS:** Resolves to `$HOME/Movies`. - **Windows:**\nResolves to `{FOLDERID_Videos}`. #### Returns `Promise`<`string`\\> #### Defined\nin\n[path.ts:404](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/path.ts#L404)","url":"https://tauri.studio/docs/api/js/modules/path"},{"id":"prose_docs_api_js_modules_process_md","title":{"content":"Module","type":"text"},"sections":["Functions"],"subSections":["exit","relaunch"],"code":[],"text":"[@tauri-apps/api](../index.md) / process # Module: process ## Functions ### exit\n▸ **exit**(`exitCode?`): `Promise`<`void`\\> Exits immediately with the given\n`exitCode`. #### Parameters | Name | Type | Default value | Description | |\n:------ | :------ | :------ | :------ | | `exitCode` | `number` | `0` | The exit\ncode to use. | #### Returns `Promise`<`void`\\> A promise indicating the success\nor failure of the operation. #### Defined in\n[process.ts:20](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/process.ts#L20)\n___ ### relaunch ▸ **relaunch**(): `Promise`<`void`\\> Exits the current instance\nof the app then relaunches it. #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Defined in\n[process.ts:35](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/process.ts#L35)","url":"https://tauri.studio/docs/api/js/modules/process"},{"id":"prose_docs_api_js_modules_shell_md","title":{"content":"Module","type":"text"},"sections":["Classes","Interfaces","Functions"],"subSections":["open"],"code":[],"text":"[@tauri-apps/api](../index.md) / shell # Module: shell ## Classes -\n[Child](../classes/shell.Child.md) - [Command](../classes/shell.Command.md) ##\nInterfaces - [ChildProcess](../interfaces/shell.ChildProcess.md) -\n[SpawnOptions](../interfaces/shell.SpawnOptions.md) ## Functions ### open ▸\n**open**(`path`, `openWith?`): `Promise`<`void`\\> Opens a path or URL with the\nsystem's default app, or the one specified with `openWith`. **`example`**\n```typescript // opens the given URL on the default browser: await\nopen('https://github.com/tauri-apps/tauri') // opens the given URL using\n`firefox`: await open('https://github.com/tauri-apps/tauri', 'firefox') // opens\na file using the default program: await open('/path/to/file') ``` ####\nParameters | Name | Type | Description | | :------ | :------ | :------ | |\n`path` | `string` | The path or URL to open. | | `openWith?` | `string` | The\napp to open the file or URL with. Defaults to the system default application for\nthe specified path type. | #### Returns `Promise`<`void`\\> #### Defined in\n[shell.ts:358](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/shell.ts#L358)","url":"https://tauri.studio/docs/api/js/modules/shell"},{"id":"prose_docs_api_js_modules_tauri_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Functions"],"subSections":["convertFileSrc","invoke","transformCallback"],"code":[],"text":"[@tauri-apps/api](../index.md) / tauri # Module: tauri Invoke your custom\ncommands. This package is also accessible with `window.__TAURI__.tauri` when\n`tauri.conf.json > build > withGlobalTauri` is set to true. ## Interfaces -\n[InvokeArgs](../interfaces/tauri.InvokeArgs.md) ## Functions ### convertFileSrc\n▸ **convertFileSrc**(`filePath`): `string` Convert a device file path to an URL\nthat can be loaded by the webview. Note that `asset:` must be allowed on the\n`csp` value configured on `tauri.conf.json`. #### Parameters | Name | Type |\nDescription | | :------ | :------ | :------ | | `filePath` | `string` | the file\npath. On Windows, the drive name must be omitted, i.e. using\n`/Users/user/file.png` instead of `C:/Users/user/file.png`. | #### Returns\n`string` the URL that can be used as source on the webview #### Defined in\n[tauri.ts:102](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/tauri.ts#L102)\n___ ### invoke ▸ **invoke**<`T`\\>(`cmd`, `args?`): `Promise`<`T`\\> Sends a\nmessage to the backend. #### Type parameters | Name | | :------ | | `T` | ####\nParameters | Name | Type | Description | | :------ | :------ | :------ | | `cmd`\n| `string` | The command name. | | `args` |\n[`InvokeArgs`](../interfaces/tauri.InvokeArgs.md) | The optional arguments to\npass to the command. | #### Returns `Promise`<`T`\\> A promise resolving or\nrejecting to the backend response. #### Defined in\n[tauri.ts:74](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/tauri.ts#L74)\n___ ### transformCallback ▸ **transformCallback**(`callback?`, `once?`):\n`string` Transforms a callback function to a string identifier that can be\npassed to the backend. The backend uses the identifier to `eval()` the callback.\n#### Parameters | Name | Type | Default value | | :------ | :------ | :------ |\n| `callback?` | (`response`: `any`) => `void` | `undefined` | | `once` |\n`boolean` | `false` | #### Returns `string` A unique identifier associated with\nthe callback function. #### Defined in\n[tauri.ts:41](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/tauri.ts#L41)","url":"https://tauri.studio/docs/api/js/modules/tauri"},{"id":"prose_docs_api_js_modules_updater_md","title":{"content":"Module","type":"text"},"sections":["Interfaces","Type aliases","Functions"],"subSections":["UpdateStatus","checkUpdate","installUpdate"],"code":[],"text":"[@tauri-apps/api](../index.md) / updater # Module: updater Customize the auto\nupdater flow. This package is also accessible with `window.__TAURI__.updater`\nwhen `tauri.conf.json > build > withGlobalTauri` is set to true. ## Interfaces -\n[UpdateManifest](../interfaces/updater.UpdateManifest.md) -\n[UpdateResult](../interfaces/updater.UpdateResult.md) -\n[UpdateStatusResult](../interfaces/updater.UpdateStatusResult.md) ## Type\naliases ### UpdateStatus Ƭ **UpdateStatus**: ``\"PENDING\"`` \\| ``\"ERROR\"`` \\|\n``\"DONE\"`` \\| ``\"UPTODATE\"`` #### Defined in\n[updater.ts:14](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L14)\n## Functions ### checkUpdate ▸ **checkUpdate**():\n`Promise`<[`UpdateResult`](../interfaces/updater.UpdateResult.md)\\> Checks if an\nupdate is available. #### Returns\n`Promise`<[`UpdateResult`](../interfaces/updater.UpdateResult.md)\\> Promise\nresolving to the update status. #### Defined in\n[updater.ts:89](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L89)\n___ ### installUpdate ▸ **installUpdate**(): `Promise`<`void`\\> Install the\nupdate if there's one available. #### Returns `Promise`<`void`\\> A promise\nindicating the success or failure of the operation. #### Defined in\n[updater.ts:37](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/updater.ts#L37)","url":"https://tauri.studio/docs/api/js/modules/updater"},{"id":"prose_docs_api_js_modules_window_md","title":{"content":"Module","type":"text"},"sections":["Enumerations","Classes","Interfaces","Variables","Functions"],"subSections":["appWindow","availableMonitors","currentMonitor","getAll","getCurrent","primaryMonitor"],"code":[],"text":"[@tauri-apps/api](../index.md) / window # Module: window Provides APIs to create\nwindows, communicate with other windows and manipulate the current window. This\npackage is also accessible with `window.__TAURI__.window` when `tauri.conf.json\n> build > withGlobalTauri` is set to true. The APIs must be allowlisted on\n`tauri.conf.json`: ```json { \"tauri\": { \"allowlist\": { \"window\": { \"all\": true,\n// enable all window APIs \"create\": true // enable window creation } } } } ```\nIt is recommended to allowlist only the APIs you use for optimal bundle size and\nsecurity. # Window events Events can be listened using `appWindow.listen`:\n```typescript import { appWindow } from '@tauri-apps/api/window'\nappWindow.listen('tauri://move', ({ event, payload }) => { const { x, y } =\npayload // payload here is a `PhysicalPosition` }) ``` Window-specific events\nemitted by the backend: #### 'tauri://resize' Emitted when the size of the\nwindow has changed. *EventPayload*: ```typescript type ResizePayload =\nPhysicalSize ``` #### 'tauri://move' Emitted when the position of the window has\nchanged. *EventPayload*: ```typescript type MovePayload = PhysicalPosition ```\n#### 'tauri://close-requested' Emitted when the user requests the window to be\nclosed. #### 'tauri://destroyed' Emitted after the window is closed. ####\n'tauri://focus' Emitted when the window gains focus. #### 'tauri://blur' Emitted\nwhen the window loses focus. #### 'tauri://scale-change' Emitted when the\nwindow's scale factor has changed. The following user actions can cause DPI\nchanges: - Changing the display's resolution. - Changing the display's scale\nfactor (e.g. in Control Panel on Windows). - Moving the window to a display with\na different scale factor. *Event payload*: ```typescript interface\nScaleFactorChanged { scaleFactor: number size: PhysicalSize } ``` ####\n'tauri://menu' Emitted when a menu item is clicked. *EventPayload*:\n```typescript type MenuClicked = string ``` ## Enumerations -\n[UserAttentionType](../enums/window.UserAttentionType.md) ## Classes -\n[LogicalPosition](../classes/window.LogicalPosition.md) -\n[LogicalSize](../classes/window.LogicalSize.md) -\n[PhysicalPosition](../classes/window.PhysicalPosition.md) -\n[PhysicalSize](../classes/window.PhysicalSize.md) -\n[WebviewWindow](../classes/window.WebviewWindow.md) -\n[WebviewWindowHandle](../classes/window.WebviewWindowHandle.md) -\n[WindowManager](../classes/window.WindowManager.md) ## Interfaces -\n[Monitor](../interfaces/window.Monitor.md) -\n[WindowOptions](../interfaces/window.WindowOptions.md) ## Variables ###\nappWindow • `Const` **appWindow**:\n[`WebviewWindow`](../classes/window.WebviewWindow.md) The WebviewWindow for the\ncurrent window. #### Defined in\n[window.ts:1132](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1132)\n## Functions ### availableMonitors ▸ **availableMonitors**():\n`Promise`<[`Monitor`](../interfaces/window.Monitor.md)[]\\> Returns the list of\nall the monitors available on the system. #### Returns\n`Promise`<[`Monitor`](../interfaces/window.Monitor.md)[]\\> #### Defined in\n[window.ts:1220](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1220)\n___ ### currentMonitor ▸ **currentMonitor**():\n`Promise`<[`Monitor`](../interfaces/window.Monitor.md) \\| ``null``\\> Returns the\nmonitor on which the window currently resides. Returns `null` if current monitor\ncan't be detected. #### Returns\n`Promise`<[`Monitor`](../interfaces/window.Monitor.md) \\| ``null``\\> ####\nDefined in\n[window.ts:1187](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1187)\n___ ### getAll ▸ **getAll**():\n[`WebviewWindow`](../classes/window.WebviewWindow.md)[] Gets an instance of\n`WebviewWindow` for all available webview windows. #### Returns\n[`WebviewWindow`](../classes/window.WebviewWindow.md)[] The list of\nWebviewWindow. #### Defined in\n[window.ts:209](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L209)\n___ ### getCurrent ▸ **getCurrent**():\n[`WebviewWindow`](../classes/window.WebviewWindow.md) Get an instance of\n`WebviewWindow` for the current webview window. #### Returns\n[`WebviewWindow`](../classes/window.WebviewWindow.md) The current WebviewWindow.\n#### Defined in\n[window.ts:197](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L197)\n___ ### primaryMonitor ▸ **primaryMonitor**():\n`Promise`<[`Monitor`](../interfaces/window.Monitor.md) \\| ``null``\\> Returns the\nprimary monitor of the system. Returns `null` if it can't identify any monitor\nas a primary one. #### Returns\n`Promise`<[`Monitor`](../interfaces/window.Monitor.md) \\| ``null``\\> ####\nDefined in\n[window.ts:1205](https://github.com/tauri-apps/tauri/blob/52723ee8/tooling/api/src/window.ts#L1205)","url":"https://tauri.studio/docs/api/js/modules/window"},{"id":"prose_docs_api_rust_tauri_attr_command_md","title":"Attr tauri::command","sections":["Stability"],"subSections":[],"code":["rs"],"text":"# Attribute Macro tauri::command, ```rs #[command] ``` Expand description Mark a\nfunction as a command handler. It creates a wrapper function with the necessary\nglue code. ## Stability The output of this macro is managed internally by Tauri,\nand should not be accessed directly on normal applications. It may have breaking\nchanges in the future.","url":"https://tauri.studio/docs/api/rust/tauri/attr.command"},{"id":"prose_docs_api_rust_tauri_enum_Error_md","title":"Enum tauri::Error","sections":["Variants ","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::Error, ```rs #[non_exhaustive] pub enum Error { Show variants\nRuntime(Error), CreateWebview(Box), CreateWindow,\nWindowLabelAlreadyExists(String), WebviewNotFound, FailedToSendMessage,\nAssetNotFound(String), Json(Error), UnknownApi(Option),\nFailedToExecuteApi(Error), Io(Error), InvalidIcon(Box),\nHttpClientNotInitialized, ApiNotEnabled(String), ApiNotAllowlisted(String),\nInvalidArgs(&'static str, Error), Setup(Box),\nPluginInitialization(String, String), DialogDefaultPathNotExists(PathBuf),\nSystemTray(Box), InvalidUrl(ParseError), JoinError(Box), } ``` Expand\ndescription Runtime errors that can happen inside a Tauri application. ##\nVariants (Non-exhaustive) This enum is marked as non-exhaustive Non-exhaustive\nenums could have additional variants added in future. Therefore, when matching\nagainst variants of non-exhaustive enums, an extra wildcard arm must be added to\naccount for any future variants. `Runtime(Error)` Runtime error.\n`CreateWebview(Box)` Failed to create webview. `CreateWindow` Failed to create\nwindow. `WindowLabelAlreadyExists(String)` Window label must be unique.\n`WebviewNotFound` Can’t access webview dispatcher because the webview was closed\nor not found. `FailedToSendMessage` Failed to send message to webview.\n`AssetNotFound(String)` Embedded asset not found. `Json(Error)` Failed to\nserialize/deserialize. `UnknownApi(Option)` Unknown API type.\n`FailedToExecuteApi(Error)` Failed to execute tauri API. `Io(Error)` IO error.\n`InvalidIcon(Box)` Failed to load window icon. `HttpClientNotInitialized` Client\nwith specified ID not found. `ApiNotEnabled(String)` API not enabled by Tauri.\n`ApiNotAllowlisted(String)` API not whitelisted on tauri.conf.json\n`InvalidArgs(&'static str, Error)` Invalid args when running a command.\n`Setup(Box)` Encountered an error in the setup hook,\n`PluginInitialization(String, String)` Error initializing plugin.\n`DialogDefaultPathNotExists(PathBuf)` `default_path` provided to dialog API\ndoesn’t exist. `SystemTray(Box)` Encountered an error creating the app system\ntray, `InvalidUrl(ParseError)` A part of the URL is malformed or invalid. This\nmay occur when parsing and combining user-provided URLs and paths.\n`JoinError(Box)` Task join error. ## Trait Implementations ### impl\n[Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html \"trait\ncore::fmt::Debug\") for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") #### fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/fmt/type.Result.html \"type\ncore::fmt::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n### impl [Display](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Display.html\n\"trait core::fmt::Display\") for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") #### fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Display.html#tymethod.fmt)(&self,\n\\_\\_formatter: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/fmt/type.Result.html \"type\ncore::fmt::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Display.html#tymethod.fmt)\n### impl [Error](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html\n\"trait std::error::Error\") for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") #### fn\n[source](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.source)(&self)\n-> [Option](https://doc.rust-lang.org/1.54.0/core/option/enum.Option.html \"enum\ncore::option::Option\")<&(dyn\n[Error](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html \"trait\nstd::error::Error\") +\n'static)>[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto source\ncode\") The lower-level source of this error, if any. [Read\nmore](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.source)\n#### fn\n[backtrace](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.backtrace)(&self)\n-> [Option](https://doc.rust-lang.org/1.54.0/core/option/enum.Option.html \"enum\ncore::option::Option\")<&[Backtrace](https://doc.rust-lang.org/1.54.0/std/backtrace/struct.Backtrace.html\n\"struct\nstd::backtrace::Backtrace\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/std/error.rs.html#134\n\"goto source code\") 🔬 This is a nightly-only experimental API. (`backtrace`)\nReturns a stack backtrace, if available, of where this error occurred. [Read\nmore](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.backtrace)\n#### fn\n[description](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.description)(&self)\n->\n&[str](https://doc.rust-lang.org/1.54.0/std/primitive.str.html)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/std/error.rs.html#146\n\"goto source code\") 👎 Deprecated since 1.42.0: use the Display impl or\nto_string() [Read\nmore](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.description)\n#### fn\n[cause](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html#method.cause)(&self)\n-> [Option](https://doc.rust-lang.org/1.54.0/core/option/enum.Option.html \"enum\ncore::option::Option\")<&dyn\n[Error](https://doc.rust-lang.org/1.54.0/std/error/trait.Error.html \"trait\nstd::error::Error\")>1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/std/error.rs.html#156\n\"goto source code\") 👎 Deprecated since 1.33.0: replaced by Error::source, which\ncan support downcasting ### impl\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\") for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(source:\nError) -> Self[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") Performs the conversion. ### impl\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\")<[Error](/docs/api/rust/tauri/api/enum.Error \"enum\ntauri::api::Error\")> for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(source:\n[Error](/docs/api/rust/tauri/api/enum.Error \"enum tauri::api::Error\")) ->\nSelf[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto source code\")\nPerforms the conversion. ### impl\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\")<[Error](https://doc.rust-lang.org/1.54.0/std/io/error/struct.Error.html\n\"struct std::io::error::Error\")> for [Error](/docs/api/rust/tauri/enum.Error\n\"enum tauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto\nsource code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(source:\n[Error](https://doc.rust-lang.org/1.54.0/std/io/error/struct.Error.html \"struct\nstd::io::error::Error\")) ->\nSelf[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#8 \"goto source code\")\nPerforms the conversion. ### impl\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\")<[Error](https://docs.rs/serde_json/1.0.66/serde_json/error/struct.Error.html\n\"struct serde_json::error::Error\")> for [Error](/docs/api/rust/tauri/enum.Error\n\"enum tauri::Error\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#89-97\n\"goto source code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(error:\n[Error](https://docs.rs/serde_json/1.0.66/serde_json/error/struct.Error.html\n\"struct serde_json::error::Error\")) ->\nSelf[\\[src\\]](/docs/api/rust/tauri/../src/tauri/error.rs#90-96 \"goto source\ncode\") Performs the conversion. ### impl\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\")<[Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\")> for [InvokeError](/docs/api/rust/tauri/struct.InvokeError\n\"struct\ntauri::InvokeError\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#72-77\n\"goto source code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(error:\n[Error](/docs/api/rust/tauri/enum.Error \"enum tauri::Error\")) ->\nSelf[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#74-76 \"goto source\ncode\") Performs the conversion. ## Auto Trait Implementations ### impl\n\\ for [Error](/docs/api/rust/tauri/enum.Error\n\"enum tauri::Error\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\") ### impl\n\\ for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [Error](/docs/api/rust/tauri/enum.Error \"enum\ntauri::Error\") ### impl\n\\ for [Error](/docs/api/rust/tauri/enum.Error\n\"enum tauri::Error\") ## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToString](https://doc.rust-lang.org/1.54.0/alloc/string/trait.ToString.html\n\"trait alloc::string::ToString\") for T where T:\n[Display](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Display.html \"trait\ncore::fmt::Display\") +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/string.rs.html#2372-2386\n\"goto source code\") #### pub default fn\n[to_string](https://doc.rust-lang.org/1.54.0/alloc/string/trait.ToString.html#tymethod.to_string)(&self)\n-> [String](https://doc.rust-lang.org/1.54.0/alloc/string/struct.String.html\n\"struct\nalloc::string::String\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/string.rs.html#2378\n\"goto source code\") Converts the given value to a `String`. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/string/trait.ToString.html#tymethod.to_string)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V","url":"https://tauri.studio/docs/api/rust/tauri/enum.Error"},{"id":"prose_docs_api_rust_tauri_enum_Event_md","title":"Enum tauri::Event","sections":["Variants ","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["Fields of ","Fields of ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::Event, ```rs #[non_exhaustive] pub enum Event { Exit,\nExitRequested { window_label: String, api: ExitRequestApi, }, CloseRequested {\nlabel: String, api: CloseRequestApi, }, WindowClosed(String), Ready, Resumed,\nMainEventsCleared, } ``` Expand description An application event, triggered from\nthe event loop. ## Variants (Non-exhaustive) This enum is marked as\nnon-exhaustive Non-exhaustive enums could have additional variants added in\nfuture. Therefore, when matching against variants of non-exhaustive enums, an\nextra wildcard arm must be added to account for any future variants. `Exit`\nEvent loop is exiting. `ExitRequested` The app is about to exit This variant is\nmarked as non-exhaustive Non-exhaustive enum variants could have additional\nfields added in future. Therefore, non-exhaustive enum variants cannot be\nconstructed in external crates and cannot be matched against. Show fields ###\nFields of **ExitRequested** `window_label: String` The label of the window that\nrequested the exit. It is the last window managed by tauri. `api:\nExitRequestApi` Event API `CloseRequested` Window close was requested by the\nuser. This variant is marked as non-exhaustive Non-exhaustive enum variants\ncould have additional fields added in future. Therefore, non-exhaustive enum\nvariants cannot be constructed in external crates and cannot be matched against.\nShow fields ### Fields of **CloseRequested** `label: String` The window label.\n`api: CloseRequestApi` Event API. `WindowClosed(String)` Window closed. `Ready`\nApplication ready. `Resumed` Sent if the event loop is being resumed.\n`MainEventsCleared` Emitted when all of the event loop’s input events have been\nprocessed and redraw processing is about to begin. This event is useful as a\nplace to put your code that should be run after all state-changing events have\nbeen handled and you want to do stuff (updating state, performing calculations,\netc) that happens as the “main body” of your event loop. ## Trait\nImplementations ### impl\n[Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html \"trait\ncore::fmt::Debug\") for [Event](/docs/api/rust/tauri/enum.Event \"enum\ntauri::Event\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#75 \"goto source\ncode\") #### fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/fmt/type.Result.html \"type\ncore::fmt::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#75 \"goto\nsource code\") Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n## Auto Trait Implementations ### impl\n\\ for [Event](/docs/api/rust/tauri/enum.Event\n\"enum tauri::Event\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [Event](/docs/api/rust/tauri/enum.Event \"enum\ntauri::Event\") ### impl\n\\ for [Event](/docs/api/rust/tauri/enum.Event \"enum\ntauri::Event\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [Event](/docs/api/rust/tauri/enum.Event \"enum\ntauri::Event\") ### impl\n\\ for [Event](/docs/api/rust/tauri/enum.Event\n\"enum tauri::Event\") ## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V","url":"https://tauri.studio/docs/api/rust/tauri/enum.Event"},{"id":"prose_docs_api_rust_tauri_enum_Icon_md","title":"Enum tauri::Icon","sections":["Variants ","Implementations","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::Icon, ```rs #[non_exhaustive] pub enum Icon { File(PathBuf),\nRaw(Vec), } ``` Expand description A icon definition. ## Variants\n(Non-exhaustive) This enum is marked as non-exhaustive Non-exhaustive enums\ncould have additional variants added in future. Therefore, when matching against\nvariants of non-exhaustive enums, an extra wildcard arm must be added to account\nfor any future variants. `File(PathBuf)` Icon from file path. `Raw(Vec)` Icon\nfrom raw bytes. ## Implementations ### impl\n[Icon](/docs/api/rust/tauri/enum.Icon \"enum tauri::Icon\") #### pub fn\n[into_tray_icon](/docs/api/rust/tauri/about:blank#method.into_tray_icon)(self)\n-> [PathBuf](https://doc.rust-lang.org/1.54.0/std/path/struct.PathBuf.html\n\"struct std::path::PathBuf\") Converts the icon to a the expected system tray\nformat. We expect the code that passes the Icon enum to have already checked the\nplatform. ## Trait Implementations ### impl\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\") for [Icon](/docs/api/rust/tauri/enum.Icon \"enum\ntauri::Icon\") #### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [Icon](/docs/api/rust/tauri/enum.Icon \"enum tauri::Icon\") Returns a copy of\nthe value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for [Icon](/docs/api/rust/tauri/enum.Icon \"enum\ntauri::Icon\") #### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n## Auto Trait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for [Icon](/docs/api/rust/tauri/enum.Icon\n\"enum tauri::Icon\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [Icon](/docs/api/rust/tauri/enum.Icon \"enum\ntauri::Icon\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for [Icon](/docs/api/rust/tauri/enum.Icon \"enum\ntauri::Icon\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [Icon](/docs/api/rust/tauri/enum.Icon \"enum\ntauri::Icon\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for [Icon](/docs/api/rust/tauri/enum.Icon \"enum\ntauri::Icon\") ## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V","url":"https://tauri.studio/docs/api/rust/tauri/enum.Icon"},{"id":"prose_docs_api_rust_tauri_enum_InvokeResponse_md","title":"Enum tauri::InvokeResponse","sections":["Variants","Implementations","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl ","impl","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::InvokeResponse, ```rs pub enum InvokeResponse { Ok(JsonValue),\nErr(InvokeError), } ``` Expand description Response from a\n[`InvokeMessage`](/docs/api/rust/tauri/struct.InvokeMessage \"InvokeMessage\")\npassed to the [`InvokeResolver`](/docs/api/rust/tauri/struct.InvokeResolver\n\"InvokeResolver\"). ## Variants `Ok(JsonValue)` Resolve the promise.\n`Err(InvokeError)` Reject the promise. ## Implementations ### impl\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#88-97\n\"goto source code\") #### pub fn\n[into_result](/docs/api/rust/tauri/about:blank#method.into_result)(self) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[JsonValue](https://docs.rs/serde_json/1.0.66/serde_json/value/enum.Value.html\n\"enum serde_json::value::Value\"),\n[JsonValue](https://docs.rs/serde_json/1.0.66/serde_json/value/enum.Value.html\n\"enum\nserde_json::value::Value\")>[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#91-96\n\"goto source code\") Turn a\n[`InvokeResponse`](/docs/api/rust/tauri/enum.InvokeResponse \"InvokeResponse\")\nback into a serializable result. ## Trait Implementations ### impl\n[Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html \"trait\ncore::fmt::Debug\") for [InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse\n\"enum\ntauri::InvokeResponse\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#80\n\"goto source code\") #### fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/fmt/type.Result.html \"type\ncore::fmt::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#80 \"goto\nsource code\") Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait\ncore::convert::From\")<[InvokeError](/docs/api/rust/tauri/struct.InvokeError\n\"struct tauri::InvokeError\")> for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#112-116\n\"goto source code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(error:\n[InvokeError](/docs/api/rust/tauri/struct.InvokeError \"struct\ntauri::InvokeError\")) ->\nSelf[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#113-115 \"goto source\ncode\") Performs the conversion. ### impl\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\")<[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")> for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#99-110\n\"goto source code\") #### fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(result:\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")) ->\nSelf[\\[src\\]](/docs/api/rust/tauri/../src/tauri/hooks.rs#101-109 \"goto source\ncode\") Performs the conversion. ## Auto Trait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse \"enum\ntauri::InvokeResponse\") ## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V","url":"https://tauri.studio/docs/api/rust/tauri/enum.InvokeResponse"},{"id":"prose_docs_api_rust_tauri_enum_MenuItem_md","title":"Enum tauri::MenuItem","sections":["Variants ",[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],"Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::MenuItem, ```rs #[non_exhaustive] pub enum MenuItem { Show\nvariants About(String), Hide, Services, HideOthers, ShowAll, CloseWindow, Quit,\nCopy, Cut, Undo, Redo, SelectAll, Paste, EnterFullScreen, Minimize, Zoom,\nSeparator, } ``` Expand description A menu item, bound to a pre-defined action\nor `Custom` emit an event. Note that status bar only supports `Custom` menu item\nvariants. And on the menu bar, some platforms might not support some of the\nvariants. Unsupported variant will be no-op on such platform. ## Variants\n(Non-exhaustive) This enum is marked as non-exhaustive Non-exhaustive enums\ncould have additional variants added in future. Therefore, when matching against\nvariants of non-exhaustive enums, an extra wildcard arm must be added to account\nfor any future variants. `About(String)` Shows a standard “About” item ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific) -\n**Windows / Android / iOS:** Unsupported `Hide` A standard “hide the app” menu\nitem. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-1) -\n**Windows / Android / iOS:** Unsupported `Services` A standard “Services” menu\nitem. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-2) -\n**Windows / Linux / Android / iOS:** Unsupported `HideOthers` A “hide all other\nwindows” menu item. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-3) -\n**Windows / Linux / Android / iOS:** Unsupported `ShowAll` A menu item to show\nall the windows for this app. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-4) -\n**Windows / Linux / Android / iOS:** Unsupported `CloseWindow` Close the current\nwindow. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-5) -\n**Windows / Android / iOS:** Unsupported `Quit` A “quit this app” menu icon. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-6) -\n**Windows / Android / iOS:** Unsupported `Copy` A menu item for enabling copying\n(often text) from responders. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-7) -\n**Windows / Android / iOS:** Unsupported `Cut` A menu item for enabling cutting\n(often text) from responders. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-8) -\n**Windows / Android / iOS:** Unsupported `Undo` An “undo” menu item;\nparticularly useful for supporting the cut/copy/paste/undo lifecycle of events.\n## [Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-9) -\n**Windows / Linux / Android / iOS:** Unsupported `Redo` An “redo” menu item;\nparticularly useful for supporting the cut/copy/paste/undo lifecycle of events.\n## [Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-10) -\n**Windows / Linux / Android / iOS:** Unsupported `SelectAll` A menu item for\nselecting all (often text) from responders. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-11) -\n**Windows / Android / iOS:** Unsupported `Paste` A menu item for pasting (often\ntext) into responders. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-12) -\n**Windows / Android / iOS:** Unsupported `EnterFullScreen` A standard “enter\nfull screen” item. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-13) -\n**Windows / Linux / Android / iOS:** Unsupported `Minimize` An item for\nminimizing the window with the standard system controls. ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-14) -\n**Windows / Android / iOS:** Unsupported `Zoom` An item for instructing the app\nto zoom ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-15) -\n**Windows / Linux / Android / iOS:** Unsupported `Separator` Represents a\nSeparator ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-16) -\n**Windows / Android / iOS:** Unsupported ## Trait Implementations ### impl\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\") for [MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum\ntauri::MenuItem\") #### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum tauri::MenuItem\") Returns\na copy of the value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for [MenuItem](/docs/api/rust/tauri/enum.MenuItem\n\"enum tauri::MenuItem\") #### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n## Auto Trait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for\n[MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum tauri::MenuItem\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum\ntauri::MenuItem\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for [MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum\ntauri::MenuItem\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum\ntauri::MenuItem\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for\n[MenuItem](/docs/api/rust/tauri/enum.MenuItem \"enum tauri::MenuItem\") ## Blanket\nImplementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V","url":"https://tauri.studio/docs/api/rust/tauri/enum.MenuItem"},{"id":"prose_docs_api_rust_tauri_enum_Position_md","title":"Enum tauri::Position","sections":["Variants","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::Position, ```rs pub enum Position { Physical(PhysicalPosition),\nLogical(LogicalPosition), } ``` Expand description A position that’s either\nphysical or logical. ## Variants `Physical(PhysicalPosition)` Physical position.\n`Logical(LogicalPosition)` Logical position. ## Trait Implementations ### impl\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\") for [Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\") #### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\") Returns\na copy of the value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for [Position](/docs/api/rust/tauri/enum.Position\n\"enum tauri::Position\") #### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n### impl<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de> for\n[Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\") #### pub\nfn\n[deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)<\\_\\_D>(\n\\_\\_deserializer: \\_\\_D ) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\"), <\\_\\_D as\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait\nserde::de::Deserializer\")<'de>>::[Error](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html#associatedtype.Error\n\"type serde::de::Deserializer::Error\")> where \\_\\_D:\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait serde::de::Deserializer\")<'de>, Deserialize this value from the given\nSerde deserializer. [Read\nmore](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)\n### impl\n[PartialEq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html\n\"trait core::cmp::PartialEq\")<[Position](/docs/api/rust/tauri/enum.Position\n\"enum tauri::Position\")> for [Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\") #### pub fn\n[eq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)(&self,\nother: &[Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\"))\n-> [bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `self` and `other` values to be equal, and is used by `==`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)\n#### pub fn\n[ne](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#method.ne)(&self,\nother: &[Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\"))\n-> [bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `!=`. ### impl\n[Serialize](https://docs.rs/serde/1.0.129/serde/ser/trait.Serialize.html \"trait\nserde::ser::Serialize\") for [Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\") #### pub fn\n[serialize](https://docs.rs/serde/1.0.129/serde/ser/trait.Serialize.html#tymethod.serialize)<\\_\\_S>(\n&self, \\_\\_serializer: \\_\\_S ) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<<\\_\\_S as\n[Serializer](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html\n\"trait\nserde::ser::Serializer\")>::[Ok](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html#associatedtype.Ok\n\"type serde::ser::Serializer::Ok\"), <\\_\\_S as\n[Serializer](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html\n\"trait\nserde::ser::Serializer\")>::[Error](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html#associatedtype.Error\n\"type serde::ser::Serializer::Error\")> where \\_\\_S:\n[Serializer](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html\n\"trait serde::ser::Serializer\"), Serialize this value into the given Serde\nserializer. [Read\nmore](https://docs.rs/serde/1.0.129/serde/ser/trait.Serialize.html#tymethod.serialize)\n### impl [Copy](https://doc.rust-lang.org/1.54.0/core/marker/trait.Copy.html\n\"trait core::marker::Copy\") for [Position](/docs/api/rust/tauri/enum.Position\n\"enum tauri::Position\") ### impl\n[StructuralPartialEq](https://doc.rust-lang.org/1.54.0/core/marker/trait.StructuralPartialEq.html\n\"trait core::marker::StructuralPartialEq\") for\n[Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\") ## Auto\nTrait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for\n[Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for [Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [Position](/docs/api/rust/tauri/enum.Position \"enum\ntauri::Position\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for\n[Position](/docs/api/rust/tauri/enum.Position \"enum tauri::Position\") ## Blanket\nImplementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl<'de, D, R> [CommandArg](/docs/api/rust/tauri/command/trait.CommandArg\n\"trait tauri::command::CommandArg\")<'de, R> for D where R:\n[Runtime](/docs/api/rust/tauri/trait.Runtime \"trait tauri::Runtime\"), D:\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait\nserde::de::Deserialize\")<'de>,[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#51-56\n\"goto source code\") #### pub fn\n[from_command](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)([CommandItem](/docs/api/rust/tauri/command/struct.CommandItem\n\"struct tauri::command::CommandItem\")<'de, R>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#52-55\n\"goto source code\") Derives an instance of `Self` from the\n[`CommandItem`](/docs/api/rust/tauri/command/struct.CommandItem \"CommandItem\").\n[Read more](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V ### impl\n[DeserializeOwned](https://docs.rs/serde/1.0.129/serde/de/trait.DeserializeOwned.html\n\"trait serde::de::DeserializeOwned\") for T where T: for<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de>,\n[\\[src\\]](https://docs.rs/serde/1.0.129/src/serde/de/mod.rs.html#603 \"goto\nsource code\")","url":"https://tauri.studio/docs/api/rust/tauri/enum.Position"},{"id":"prose_docs_api_rust_tauri_enum_Size_md","title":"Enum tauri::Size","sections":["Variants","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::Size, ```rs pub enum Size { Physical(PhysicalSize),\nLogical(LogicalSize), } ``` Expand description A size that’s either physical or\nlogical. ## Variants `Physical(PhysicalSize)` Physical size.\n`Logical(LogicalSize)` Logical size. ## Trait Implementations ### impl\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") #### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [Size](/docs/api/rust/tauri/enum.Size \"enum tauri::Size\") Returns a copy of\nthe value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") #### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n### impl<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de> for [Size](/docs/api/rust/tauri/enum.Size\n\"enum tauri::Size\") #### pub fn\n[deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)<\\_\\_D>(\n\\_\\_deserializer: \\_\\_D ) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\"), <\\_\\_D as\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait\nserde::de::Deserializer\")<'de>>::[Error](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html#associatedtype.Error\n\"type serde::de::Deserializer::Error\")> where \\_\\_D:\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait serde::de::Deserializer\")<'de>, Deserialize this value from the given\nSerde deserializer. [Read\nmore](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)\n### impl\n[PartialEq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html\n\"trait core::cmp::PartialEq\")<[Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\")> for [Size](/docs/api/rust/tauri/enum.Size \"enum tauri::Size\")\n#### pub fn\n[eq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)(&self,\nother: &[Size](/docs/api/rust/tauri/enum.Size \"enum tauri::Size\")) ->\n[bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `self` and `other` values to be equal, and is used by `==`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)\n#### pub fn\n[ne](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#method.ne)(&self,\nother: &[Size](/docs/api/rust/tauri/enum.Size \"enum tauri::Size\")) ->\n[bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `!=`. ### impl\n[Serialize](https://docs.rs/serde/1.0.129/serde/ser/trait.Serialize.html \"trait\nserde::ser::Serialize\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") #### pub fn\n[serialize](https://docs.rs/serde/1.0.129/serde/ser/trait.Serialize.html#tymethod.serialize)<\\_\\_S>(\n&self, \\_\\_serializer: \\_\\_S ) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<<\\_\\_S as\n[Serializer](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html\n\"trait\nserde::ser::Serializer\")>::[Ok](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html#associatedtype.Ok\n\"type serde::ser::Serializer::Ok\"), <\\_\\_S as\n[Serializer](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html\n\"trait\nserde::ser::Serializer\")>::[Error](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html#associatedtype.Error\n\"type serde::ser::Serializer::Error\")> where \\_\\_S:\n[Serializer](https://docs.rs/serde/1.0.129/serde/ser/trait.Serializer.html\n\"trait serde::ser::Serializer\"), Serialize this value into the given Serde\nserializer. [Read\nmore](https://docs.rs/serde/1.0.129/serde/ser/trait.Serialize.html#tymethod.serialize)\n### impl [Copy](https://doc.rust-lang.org/1.54.0/core/marker/trait.Copy.html\n\"trait core::marker::Copy\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") ### impl\n[StructuralPartialEq](https://doc.rust-lang.org/1.54.0/core/marker/trait.StructuralPartialEq.html\n\"trait core::marker::StructuralPartialEq\") for\n[Size](/docs/api/rust/tauri/enum.Size \"enum tauri::Size\") ## Auto Trait\nImplementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for [Size](/docs/api/rust/tauri/enum.Size\n\"enum tauri::Size\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for [Size](/docs/api/rust/tauri/enum.Size \"enum\ntauri::Size\") ## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl<'de, D, R> [CommandArg](/docs/api/rust/tauri/command/trait.CommandArg\n\"trait tauri::command::CommandArg\")<'de, R> for D where R:\n[Runtime](/docs/api/rust/tauri/trait.Runtime \"trait tauri::Runtime\"), D:\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait\nserde::de::Deserialize\")<'de>,[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#51-56\n\"goto source code\") #### pub fn\n[from_command](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)([CommandItem](/docs/api/rust/tauri/command/struct.CommandItem\n\"struct tauri::command::CommandItem\")<'de, R>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#52-55\n\"goto source code\") Derives an instance of `Self` from the\n[`CommandItem`](/docs/api/rust/tauri/command/struct.CommandItem \"CommandItem\").\n[Read more](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V ### impl\n[DeserializeOwned](https://docs.rs/serde/1.0.129/serde/de/trait.DeserializeOwned.html\n\"trait serde::de::DeserializeOwned\") for T where T: for<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de>,\n[\\[src\\]](https://docs.rs/serde/1.0.129/src/serde/de/mod.rs.html#603 \"goto\nsource code\")","url":"https://tauri.studio/docs/api/rust/tauri/enum.Size"},{"id":"prose_docs_api_rust_tauri_enum_UserAttentionType_md","title":"Enum tauri::UserAttentionType","sections":["Variants",[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],[{"content":"Platform","type":"text"},{"content":"-specific","type":"text"}],"Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::UserAttentionType, ```rs pub enum UserAttentionType { Critical,\nInformational, } ``` Expand description Type of user attention requested on a\nwindow. ## Variants `Critical` ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific) -\n**macOS:** Bounces the dock icon until the application is in focus. -\n**Windows:** Flashes both the window and the taskbar button until the\napplication is in focus. `Informational` ##\n[Platform-specific](/docs/api/rust/tauri/about:blank#platform-specific-1) -\n**macOS:** Bounces the dock icon once. - **Windows:** Flashes the taskbar button\nuntil the application is in focus. ## Trait Implementations ### impl\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") #### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") Returns a copy of the value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") #### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n### impl<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de> for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") #### pub fn\n[deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)<\\_\\_D>(\n\\_\\_deserializer: \\_\\_D ) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType\n\"enum tauri::UserAttentionType\"), <\\_\\_D as\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait\nserde::de::Deserializer\")<'de>>::[Error](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html#associatedtype.Error\n\"type serde::de::Deserializer::Error\")> where \\_\\_D:\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait serde::de::Deserializer\")<'de>, Deserialize this value from the given\nSerde deserializer. [Read\nmore](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)\n### impl\n[PartialEq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html\n\"trait\ncore::cmp::PartialEq\")<[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType\n\"enum tauri::UserAttentionType\")> for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") #### pub fn\n[eq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)(&self,\nother: &[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\")) ->\n[bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `self` and `other` values to be equal, and is used by `==`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)\n#### \\#\\[must_use]fn\n[ne](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#method.ne)(&self,\nother: [&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Rhs) ->\n[bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/cmp.rs.html#213\n\"goto source code\") This method tests for `!=`. ### impl\n[Copy](https://doc.rust-lang.org/1.54.0/core/marker/trait.Copy.html \"trait\ncore::marker::Copy\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ### impl\n[StructuralPartialEq](https://doc.rust-lang.org/1.54.0/core/marker/trait.StructuralPartialEq.html\n\"trait core::marker::StructuralPartialEq\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ## Auto Trait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ### impl\n[Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType \"enum\ntauri::UserAttentionType\") ## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl<'de, D, R> [CommandArg](/docs/api/rust/tauri/command/trait.CommandArg\n\"trait tauri::command::CommandArg\")<'de, R> for D where R:\n[Runtime](/docs/api/rust/tauri/trait.Runtime \"trait tauri::Runtime\"), D:\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait\nserde::de::Deserialize\")<'de>,[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#51-56\n\"goto source code\") #### pub fn\n[from_command](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)([CommandItem](/docs/api/rust/tauri/command/struct.CommandItem\n\"struct tauri::command::CommandItem\")<'de, R>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#52-55\n\"goto source code\") Derives an instance of `Self` from the\n[`CommandItem`](/docs/api/rust/tauri/command/struct.CommandItem \"CommandItem\").\n[Read more](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V ### impl\n[DeserializeOwned](https://docs.rs/serde/1.0.129/serde/de/trait.DeserializeOwned.html\n\"trait serde::de::DeserializeOwned\") for T where T: for<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de>,\n[\\[src\\]](https://docs.rs/serde/1.0.129/src/serde/de/mod.rs.html#603 \"goto\nsource code\")","url":"https://tauri.studio/docs/api/rust/tauri/enum.UserAttentionType"},{"id":"prose_docs_api_rust_tauri_enum_WindowEvent_md","title":"Enum tauri::WindowEvent","sections":["Variants ","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["Fields of ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::WindowEvent, ```rs #[non_exhaustive] pub enum WindowEvent {\nResized(PhysicalSize), Moved(PhysicalPosition), CloseRequested, Destroyed,\nFocused(bool), ScaleFactorChanged { scale_factor: f64, new_inner_size:\nPhysicalSize, }, } ``` Expand description An event from a window. ## Variants\n(Non-exhaustive) This enum is marked as non-exhaustive Non-exhaustive enums\ncould have additional variants added in future. Therefore, when matching against\nvariants of non-exhaustive enums, an extra wildcard arm must be added to account\nfor any future variants. `Resized(PhysicalSize)` The size of the window has\nchanged. Contains the client area’s new dimensions. `Moved(PhysicalPosition)`\nThe position of the window has changed. Contains the window’s new position.\n`CloseRequested` The window has been requested to close. `Destroyed` The window\nhas been destroyed. `Focused(bool)` The window gained or lost focus. The\nparameter is true if the window has gained focus, and false if it has lost\nfocus. `ScaleFactorChanged` The window’s scale factor has changed. The following\nuser actions can cause DPI changes: - Changing the display’s resolution. -\nChanging the display’s scale factor (e.g. in Control Panel on Windows). - Moving\nthe window to a display with a different scale factor. Show fields ### Fields of\n**ScaleFactorChanged** `scale_factor: f64` The new scale factor.\n`new_inner_size: PhysicalSize` The window inner size. ## Trait Implementations\n### impl [Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html\n\"trait core::clone::Clone\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n#### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum\ntauri::WindowEvent\") Returns a copy of the value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n#### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n## Auto Trait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n### impl [Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html\n\"trait core::marker::Send\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n### impl [Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html\n\"trait core::marker::Sync\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n### impl [Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html\n\"trait core::marker::Unpin\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent \"enum tauri::WindowEvent\")\n## Blanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V","url":"https://tauri.studio/docs/api/rust/tauri/enum.WindowEvent"},{"id":"prose_docs_api_rust_tauri_enum_WindowUrl_md","title":"Enum tauri::WindowUrl","sections":["Variants ","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl ","impl ","impl ","impl","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl ","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Enum tauri::WindowUrl, ```rs #[non_exhaustive] pub enum WindowUrl {\nExternal(Url), App(PathBuf), } ``` Expand description The window webview URL\noptions. ## Variants (Non-exhaustive) This enum is marked as non-exhaustive\nNon-exhaustive enums could have additional variants added in future. Therefore,\nwhen matching against variants of non-exhaustive enums, an extra wildcard arm\nmust be added to account for any future variants. `External(Url)` An external\nURL. `App(PathBuf)` An app URL. ## Trait Implementations ### impl\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\") for [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\") #### pub fn\n[clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)(&self)\n-> [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\")\nReturns a copy of the value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#tymethod.clone)\n#### fn\n[clone_from](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)(&mut\nself, source:\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)Self)1.0.0[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/clone.rs.html#130\n\"goto source code\") Performs copy-assignment from `source`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html#method.clone_from)\n### impl [Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html\n\"trait core::fmt::Debug\") for [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl\n\"enum tauri::WindowUrl\") #### pub fn\n[fmt](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)(&self,\nf: &mut\n[Formatter](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Formatter.html\n\"struct core::fmt::Formatter\")<'\\_>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html),\n[Error](https://doc.rust-lang.org/1.54.0/core/fmt/struct.Error.html \"struct\ncore::fmt::Error\")> Formats the value using the given formatter. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html#tymethod.fmt)\n### impl\n[Default](https://doc.rust-lang.org/1.54.0/core/default/trait.Default.html\n\"trait core::default::Default\") for\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\") ####\npub fn\n[default](https://doc.rust-lang.org/1.54.0/core/default/trait.Default.html#tymethod.default)()\n-> [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\")\nReturns the “default value” for a type. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/default/trait.Default.html#tymethod.default)\n### impl<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de> for\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\") ####\npub fn\n[deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)<\\_\\_D>(\n\\_\\_deserializer: \\_\\_D ) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")<[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\"), <\\_\\_D as\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait\nserde::de::Deserializer\")<'de>>::[Error](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html#associatedtype.Error\n\"type serde::de::Deserializer::Error\")> where \\_\\_D:\n[Deserializer](https://docs.rs/serde/1.0.129/serde/de/trait.Deserializer.html\n\"trait serde::de::Deserializer\")<'de>, Deserialize this value from the given\nSerde deserializer. [Read\nmore](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html#tymethod.deserialize)\n### impl\n[PartialEq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html\n\"trait core::cmp::PartialEq\")<[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl\n\"enum tauri::WindowUrl\")> for [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl\n\"enum tauri::WindowUrl\") #### pub fn\n[eq](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)(&self,\nother: &[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\")) ->\n[bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `self` and `other` values to be equal, and is used by `==`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#tymethod.eq)\n#### pub fn\n[ne](https://doc.rust-lang.org/1.54.0/core/cmp/trait.PartialEq.html#method.ne)(&self,\nother: &[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\")) ->\n[bool](https://doc.rust-lang.org/1.54.0/std/primitive.bool.html) This method\ntests for `!=`. ### impl\n[ToTokens](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html\n\"trait quote::to_tokens::ToTokens\") for\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\") ####\npub fn\n[to_tokens](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens)(&self,\ntokens: &mut\n[TokenStream](https://docs.rs/proc-macro2/1.0.28/proc_macro2/struct.TokenStream.html\n\"struct proc_macro2::TokenStream\")) Write `self` to the given `TokenStream`.\n[Read\nmore](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens)\n#### fn\n[to_token_stream](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html#method.to_token_stream)(&self)\n->\n[TokenStream](https://docs.rs/proc-macro2/1.0.28/proc_macro2/struct.TokenStream.html\n\"struct\nproc_macro2::TokenStream\")[\\[src\\]](https://docs.rs/quote/1.0.9/src/quote/to_tokens.rs.html#61\n\"goto source code\") Convert `self` directly into a `TokenStream` object. [Read\nmore](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html#method.to_token_stream)\n#### fn\n[into_token_stream](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html#method.into_token_stream)(self)\n->\n[TokenStream](https://docs.rs/proc-macro2/1.0.28/proc_macro2/struct.TokenStream.html\n\"struct\nproc_macro2::TokenStream\")[\\[src\\]](https://docs.rs/quote/1.0.9/src/quote/to_tokens.rs.html#71-73\n\"goto source code\") Convert `self` directly into a `TokenStream` object. [Read\nmore](https://docs.rs/quote/1.0.9/quote/to_tokens/trait.ToTokens.html#method.into_token_stream)\n### impl\n[StructuralPartialEq](https://doc.rust-lang.org/1.54.0/core/marker/trait.StructuralPartialEq.html\n\"trait core::marker::StructuralPartialEq\") for\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\") ## Auto\nTrait Implementations ### impl\n[RefUnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.RefUnwindSafe.html\n\"trait std::panic::RefUnwindSafe\") for\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\") ###\nimpl [Send](https://doc.rust-lang.org/1.54.0/core/marker/trait.Send.html \"trait\ncore::marker::Send\") for [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\") ### impl\n[Sync](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sync.html \"trait\ncore::marker::Sync\") for [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\") ### impl\n[Unpin](https://doc.rust-lang.org/1.54.0/core/marker/trait.Unpin.html \"trait\ncore::marker::Unpin\") for [WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum\ntauri::WindowUrl\") ### impl\n[UnwindSafe](https://doc.rust-lang.org/1.54.0/std/panic/trait.UnwindSafe.html\n\"trait std::panic::UnwindSafe\") for\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\") ##\nBlanket Implementations ### impl\n[Any](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html \"trait\ncore::any::Any\") for T where T: 'static +\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#131-135\n\"goto source code\") #### pub fn\n[type_id](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)(&self)\n-> [TypeId](https://doc.rust-lang.org/1.54.0/core/any/struct.TypeId.html \"struct\ncore::any::TypeId\")[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/any.rs.html#132\n\"goto source code\") Gets the `TypeId` of `self`. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/any/trait.Any.html#tymethod.type_id)\n### impl\n[Borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html \"trait\ncore::borrow::Borrow\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#208-213\n\"goto source code\") #### pub fn\n[borrow](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)(&self)\n->\n[&](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#210\n\"goto source code\") Immutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.Borrow.html#tymethod.borrow)\n### impl\n[BorrowMut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html\n\"trait core::borrow::BorrowMut\") for T where T:\n?[Sized](https://doc.rust-lang.org/1.54.0/core/marker/trait.Sized.html \"trait\ncore::marker::Sized\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#216-220\n\"goto source code\") #### pub fn\n[borrow_mut](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)(&mut\nself) ->\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/borrow.rs.html#217\n\"goto source code\") Mutably borrows from an owned value. [Read\nmore](https://doc.rust-lang.org/1.54.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut)\n### impl<'de, D, R> [CommandArg](/docs/api/rust/tauri/command/trait.CommandArg\n\"trait tauri::command::CommandArg\")<'de, R> for D where R:\n[Runtime](/docs/api/rust/tauri/trait.Runtime \"trait tauri::Runtime\"), D:\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait\nserde::de::Deserialize\")<'de>,[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#51-56\n\"goto source code\") #### pub fn\n[from_command](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)([CommandItem](/docs/api/rust/tauri/command/struct.CommandItem\n\"struct tauri::command::CommandItem\")<'de, R>) ->\n[Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/command.rs#52-55\n\"goto source code\") Derives an instance of `Self` from the\n[`CommandItem`](/docs/api/rust/tauri/command/struct.CommandItem \"CommandItem\").\n[Read more](/docs/api/rust/tauri/command/trait.CommandArg#tymethod.from_command)\n### impl [From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html\n\"trait core::convert::From\") for\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#544-548\n\"goto source code\") #### pub fn\n[from](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html#tymethod.from)(t:\nT) ->\nT[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#545\n\"goto source code\") Performs the conversion. ### impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\") for T where U:\n[From](https://doc.rust-lang.org/1.54.0/core/convert/trait.From.html \"trait\ncore::convert::From\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#533-540\n\"goto source code\") #### pub fn\n[into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html#tymethod.into)(self)\n-> U[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#537\n\"goto source code\") Performs the conversion. ### impl\n[ToOwned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html\n\"trait alloc::borrow::ToOwned\") for T where T:\n[Clone](https://doc.rust-lang.org/1.54.0/core/clone/trait.Clone.html \"trait\ncore::clone::Clone\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#84-96\n\"goto source code\") #### type\n[Owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned)\n= T The resulting type after obtaining ownership. #### pub fn\n[to_owned](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)(&self)\n-> T[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#89 \"goto\nsource code\") Creates owned data from borrowed data, usually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned)\n#### pub fn\n[clone_into](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)(&self,\ntarget:\n[&mut](https://doc.rust-lang.org/1.54.0/std/primitive.reference.html)T)[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/alloc/borrow.rs.html#93\n\"goto source code\") 🔬 This is a nightly-only experimental API.\n(`toowned_clone_into`) recently added Uses borrowed data to replace owned data,\nusually by cloning. [Read\nmore](https://doc.rust-lang.org/1.54.0/alloc/borrow/trait.ToOwned.html#method.clone_into)\n### impl\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait core::convert::TryFrom\") for T where U:\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#581-590\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error)\n=\n[Infallible](https://doc.rust-lang.org/1.54.0/core/convert/enum.Infallible.html\n\"enum core::convert::Infallible\") The type returned in the event of a conversion\nerror. #### pub fn\n[try_from](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#tymethod.try_from)(value:\nU) -> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html\n\"enum core::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#587\n\"goto source code\") Performs the conversion. ### impl\n[TryInto](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html\n\"trait core::convert::TryInto\") for T where U:\n[TryFrom](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html\n\"trait\ncore::convert::TryFrom\"),[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#567-576\n\"goto source code\") #### type\n[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#associatedtype.Error)\n= >::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type core::convert::TryFrom::Error\") The type returned in the event of a\nconversion error. #### pub fn\n[try_into](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryInto.html#tymethod.try_into)(self)\n-> [Result](https://doc.rust-lang.org/1.54.0/core/result/enum.Result.html \"enum\ncore::result::Result\")>::[Error](https://doc.rust-lang.org/1.54.0/core/convert/trait.TryFrom.html#associatedtype.Error\n\"type\ncore::convert::TryFrom::Error\")>[\\[src\\]](https://doc.rust-lang.org/1.54.0/src/core/convert/mod.rs.html#573\n\"goto source code\") Performs the conversion. ### impl VZip for T where\nV: MultiLane, #### pub fn\n[vzip](/docs/api/rust/tauri/about:blank#tymethod.vzip)(self) -> V ### impl\n[DeserializeOwned](https://docs.rs/serde/1.0.129/serde/de/trait.DeserializeOwned.html\n\"trait serde::de::DeserializeOwned\") for T where T: for<'de>\n[Deserialize](https://docs.rs/serde/1.0.129/serde/de/trait.Deserialize.html\n\"trait serde::de::Deserialize\")<'de>,\n[\\[src\\]](https://docs.rs/serde/1.0.129/src/serde/de/mod.rs.html#603 \"goto\nsource code\")","url":"https://tauri.studio/docs/api/rust/tauri/enum.WindowUrl"},{"id":"prose_docs_api_rust_tauri_index_md","title":"Table of contents","sections":[],"subSections":["Structs","Enums","Traits","Macros","Attribute Macros","Functions","Typedefs","Constants"],"code":[],"text":"# List of all items, ### Structs - [App](/docs/api/rust/tauri/struct.App) -\n[AppHandle](/docs/api/rust/tauri/struct.AppHandle) -\n[Builder](/docs/api/rust/tauri/struct.Builder) -\n[CloseRequestApi](/docs/api/rust/tauri/struct.CloseRequestApi) -\n[Config](/docs/api/rust/tauri/struct.Config) -\n[Context](/docs/api/rust/tauri/struct.Context) -\n[CustomMenuItem](/docs/api/rust/tauri/struct.CustomMenuItem) -\n[GlobalWindowEvent](/docs/api/rust/tauri/struct.GlobalWindowEvent) -\n[Invoke](/docs/api/rust/tauri/struct.Invoke) -\n[InvokeError](/docs/api/rust/tauri/struct.InvokeError) -\n[InvokeMessage](/docs/api/rust/tauri/struct.InvokeMessage) -\n[InvokeResolver](/docs/api/rust/tauri/struct.InvokeResolver) -\n[LogicalPosition](/docs/api/rust/tauri/struct.LogicalPosition) -\n[LogicalSize](/docs/api/rust/tauri/struct.LogicalSize) -\n[Menu](/docs/api/rust/tauri/struct.Menu) -\n[MenuEvent](/docs/api/rust/tauri/struct.MenuEvent) -\n[PackageInfo](/docs/api/rust/tauri/struct.PackageInfo) -\n[PageLoadPayload](/docs/api/rust/tauri/struct.PageLoadPayload) -\n[PathResolver](/docs/api/rust/tauri/struct.PathResolver) -\n[PhysicalPosition](/docs/api/rust/tauri/struct.PhysicalPosition) -\n[PhysicalSize](/docs/api/rust/tauri/struct.PhysicalSize) -\n[RunIteration](/docs/api/rust/tauri/struct.RunIteration) -\n[State](/docs/api/rust/tauri/struct.State) -\n[StateManager](/docs/api/rust/tauri/struct.StateManager) -\n[Submenu](/docs/api/rust/tauri/struct.Submenu) -\n[WebviewAttributes](/docs/api/rust/tauri/struct.WebviewAttributes) -\n[WindowMenuEvent](/docs/api/rust/tauri/struct.WindowMenuEvent) -\n[Wry](/docs/api/rust/tauri/struct.Wry) -\n[api::dir::DiskEntry](/docs/api/rust/tauri/api/dir/struct.DiskEntry) -\n[api::file::Extract](/docs/api/rust/tauri/api/file/struct.Extract) -\n[api::file::Move](/docs/api/rust/tauri/api/file/struct.Move) -\n[api::http::Client](/docs/api/rust/tauri/api/http/struct.Client) -\n[api::http::ClientBuilder](/docs/api/rust/tauri/api/http/struct.ClientBuilder) -\n[api::http::FormBody](/docs/api/rust/tauri/api/http/struct.FormBody) -\n[api::http::HttpRequestBuilder](/docs/api/rust/tauri/api/http/struct.HttpRequestBuilder)\n- [api::http::RawResponse](/docs/api/rust/tauri/api/http/struct.RawResponse) -\n[api::http::Response](/docs/api/rust/tauri/api/http/struct.Response) -\n[api::http::ResponseData](/docs/api/rust/tauri/api/http/struct.ResponseData) -\n[async_runtime::Handle](/docs/api/rust/tauri/async_runtime/struct.Handle) -\n[async_runtime::JoinHandle](/docs/api/rust/tauri/async_runtime/struct.JoinHandle)\n- [async_runtime::Mutex](/docs/api/rust/tauri/async_runtime/struct.Mutex) -\n[async_runtime::Receiver](/docs/api/rust/tauri/async_runtime/struct.Receiver) -\n[async_runtime::RwLock](/docs/api/rust/tauri/async_runtime/struct.RwLock) -\n[async_runtime::Sender](/docs/api/rust/tauri/async_runtime/struct.Sender) -\n[async_runtime::TokioJoinHandle](/docs/api/rust/tauri/async_runtime/struct.TokioJoinHandle)\n- [command::CommandItem](/docs/api/rust/tauri/command/struct.CommandItem) -\n[http::HttpRange](http/struct.HttpRange.html) -\n[http::InvalidUri](http/struct.InvalidUri.html) -\n[http::Request](http/struct.Request.html) -\n[http::RequestParts](http/struct.RequestParts.html) -\n[http::Response](http/struct.Response.html) -\n[http::ResponseBuilder](http/struct.ResponseBuilder.html) -\n[http::ResponseParts](http/struct.ResponseParts.html) -\n[http::Uri](http/struct.Uri.html) -\n[http::header::Drain](http/header/struct.Drain.html) -\n[http::header::GetAll](http/header/struct.GetAll.html) -\n[http::header::HeaderMap](http/header/struct.HeaderMap.html) -\n[http::header::HeaderName](http/header/struct.HeaderName.html) -\n[http::header::HeaderValue](http/header/struct.HeaderValue.html) -\n[http::header::IntoIter](http/header/struct.IntoIter.html) -\n[http::header::InvalidHeaderName](http/header/struct.InvalidHeaderName.html) -\n[http::header::InvalidHeaderValue](http/header/struct.InvalidHeaderValue.html) -\n[http::header::Iter](http/header/struct.Iter.html) -\n[http::header::IterMut](http/header/struct.IterMut.html) -\n[http::header::Keys](http/header/struct.Keys.html) -\n[http::header::OccupiedEntry](http/header/struct.OccupiedEntry.html) -\n[http::header::ToStrError](http/header/struct.ToStrError.html) -\n[http::header::VacantEntry](http/header/struct.VacantEntry.html) -\n[http::header::ValueDrain](http/header/struct.ValueDrain.html) -\n[http::header::ValueIter](http/header/struct.ValueIter.html) -\n[http::header::ValueIterMut](http/header/struct.ValueIterMut.html) -\n[http::header::Values](http/header/struct.Values.html) -\n[http::header::ValuesMut](http/header/struct.ValuesMut.html) -\n[http::method::InvalidMethod](http/method/struct.InvalidMethod.html) -\n[http::method::Method](http/method/struct.Method.html) -\n[http::status::InvalidStatusCode](http/status/struct.InvalidStatusCode.html) -\n[http::status::StatusCode](http/status/struct.StatusCode.html) -\n[http::version::Version](http/version/struct.Version.html) -\n[settings::Settings](/docs/api/rust/tauri/settings/struct.Settings) -\n[window::MenuEvent](/docs/api/rust/tauri/window/struct.MenuEvent) -\n[window::MenuHandle](/docs/api/rust/tauri/window/struct.MenuHandle) -\n[window::Monitor](/docs/api/rust/tauri/window/struct.Monitor) -\n[window::Window](/docs/api/rust/tauri/window/struct.Window) ### Enums -\n[Error](/docs/api/rust/tauri/enum.Error) -\n[Event](/docs/api/rust/tauri/enum.Event) -\n[Icon](/docs/api/rust/tauri/enum.Icon) -\n[InvokeResponse](/docs/api/rust/tauri/enum.InvokeResponse) -\n[MenuItem](/docs/api/rust/tauri/enum.MenuItem) -\n[Position](/docs/api/rust/tauri/enum.Position) -\n[Size](/docs/api/rust/tauri/enum.Size) -\n[UserAttentionType](/docs/api/rust/tauri/enum.UserAttentionType) -\n[WindowEvent](/docs/api/rust/tauri/enum.WindowEvent) -\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl) -\n[api::Error](/docs/api/rust/tauri/api/enum.Error) -\n[api::file::ArchiveFormat](/docs/api/rust/tauri/api/file/enum.ArchiveFormat) -\n[api::file::Compression](/docs/api/rust/tauri/api/file/enum.Compression) -\n[api::http::Body](/docs/api/rust/tauri/api/http/enum.Body) -\n[api::http::FormPart](/docs/api/rust/tauri/api/http/enum.FormPart) -\n[api::http::ResponseType](/docs/api/rust/tauri/api/http/enum.ResponseType) -\n[api::path::BaseDirectory](/docs/api/rust/tauri/api/path/enum.BaseDirectory) -\n[http::MimeType](http/enum.MimeType.html) -\n[http::header::Entry](http/header/enum.Entry.html) ### Traits -\n[Assets](/docs/api/rust/tauri/trait.Assets) -\n[ClipboardManager](/docs/api/rust/tauri/trait.ClipboardManager) -\n[GlobalShortcutManager](/docs/api/rust/tauri/trait.GlobalShortcutManager) -\n[Manager](/docs/api/rust/tauri/trait.Manager) -\n[Pixel](/docs/api/rust/tauri/trait.Pixel) -\n[Runtime](/docs/api/rust/tauri/trait.Runtime) -\n[WindowBuilder](/docs/api/rust/tauri/trait.WindowBuilder) -\n[async_runtime::RuntimeHandle](/docs/api/rust/tauri/async_runtime/trait.RuntimeHandle)\n- [command::CommandArg](/docs/api/rust/tauri/command/trait.CommandArg) -\n[http::header::AsHeaderName](http/header/trait.AsHeaderName.html) -\n[http::header::IntoHeaderName](http/header/trait.IntoHeaderName.html) -\n[plugin::Plugin](/docs/api/rust/tauri/plugin/trait.Plugin) ### Macros -\n[generate_context](/docs/api/rust/tauri/macro.generate_context) -\n[generate_handler](/docs/api/rust/tauri/macro.generate_handler) -\n[tauri_build_context](/docs/api/rust/tauri/macro.tauri_build_context) ###\nAttribute Macros - [command](/docs/api/rust/tauri/attr.command) ### Functions -\n[api::dialog::ask](/docs/api/rust/tauri/api/dialog/fn.ask) -\n[api::dialog::message](/docs/api/rust/tauri/api/dialog/fn.message) -\n[api::dir::is_dir](/docs/api/rust/tauri/api/dir/fn.is_dir) -\n[api::dir::read_dir](/docs/api/rust/tauri/api/dir/fn.read_dir) -\n[api::dir::with_temp_dir](/docs/api/rust/tauri/api/dir/fn.with_temp_dir) -\n[api::file::read_binary](/docs/api/rust/tauri/api/file/fn.read_binary) -\n[api::file::read_string](/docs/api/rust/tauri/api/file/fn.read_string) -\n[api::path::app_dir](/docs/api/rust/tauri/api/path/fn.app_dir) -\n[api::path::audio_dir](/docs/api/rust/tauri/api/path/fn.audio_dir) -\n[api::path::cache_dir](/docs/api/rust/tauri/api/path/fn.cache_dir) -\n[api::path::config_dir](/docs/api/rust/tauri/api/path/fn.config_dir) -\n[api::path::data_dir](/docs/api/rust/tauri/api/path/fn.data_dir) -\n[api::path::desktop_dir](/docs/api/rust/tauri/api/path/fn.desktop_dir) -\n[api::path::document_dir](/docs/api/rust/tauri/api/path/fn.document_dir) -\n[api::path::download_dir](/docs/api/rust/tauri/api/path/fn.download_dir) -\n[api::path::executable_dir](/docs/api/rust/tauri/api/path/fn.executable_dir) -\n[api::path::font_dir](/docs/api/rust/tauri/api/path/fn.font_dir) -\n[api::path::home_dir](/docs/api/rust/tauri/api/path/fn.home_dir) -\n[api::path::local_data_dir](/docs/api/rust/tauri/api/path/fn.local_data_dir) -\n[api::path::picture_dir](/docs/api/rust/tauri/api/path/fn.picture_dir) -\n[api::path::public_dir](/docs/api/rust/tauri/api/path/fn.public_dir) -\n[api::path::resolve_path](/docs/api/rust/tauri/api/path/fn.resolve_path) -\n[api::path::resource_dir](/docs/api/rust/tauri/api/path/fn.resource_dir) -\n[api::path::runtime_dir](/docs/api/rust/tauri/api/path/fn.runtime_dir) -\n[api::path::template_dir](/docs/api/rust/tauri/api/path/fn.template_dir) -\n[api::path::video_dir](/docs/api/rust/tauri/api/path/fn.video_dir) -\n[api::process::current_binary](/docs/api/rust/tauri/api/process/fn.current_binary)\n- [api::process::restart](/docs/api/rust/tauri/api/process/fn.restart) -\n[api::rpc::format_callback](/docs/api/rust/tauri/api/rpc/fn.format_callback) -\n[api::rpc::format_callback_result](/docs/api/rust/tauri/api/rpc/fn.format_callback_result)\n- [api::version::compare](/docs/api/rust/tauri/api/version/fn.compare) -\n[api::version::is_compatible](/docs/api/rust/tauri/api/version/fn.is_compatible)\n- [api::version::is_greater](/docs/api/rust/tauri/api/version/fn.is_greater) -\n[api::version::is_major](/docs/api/rust/tauri/api/version/fn.is_major) -\n[api::version::is_minor](/docs/api/rust/tauri/api/version/fn.is_minor) -\n[api::version::is_patch](/docs/api/rust/tauri/api/version/fn.is_patch) -\n[async_runtime::block_on](/docs/api/rust/tauri/async_runtime/fn.block_on) -\n[async_runtime::channel](/docs/api/rust/tauri/async_runtime/fn.channel) -\n[async_runtime::handle](/docs/api/rust/tauri/async_runtime/fn.handle) -\n[async_runtime::spawn](/docs/api/rust/tauri/async_runtime/fn.spawn) -\n[settings::read_settings](/docs/api/rust/tauri/settings/fn.read_settings) ###\nTypedefs - [InvokeHandler](/docs/api/rust/tauri/type.InvokeHandler) -\n[OnPageLoad](/docs/api/rust/tauri/type.OnPageLoad) -\n[Result](/docs/api/rust/tauri/type.Result) -\n[SetupHook](/docs/api/rust/tauri/type.SetupHook) -\n[SyncTask](/docs/api/rust/tauri/type.SyncTask) -\n[api::Result](/docs/api/rust/tauri/api/type.Result) -\n[plugin::Result](/docs/api/rust/tauri/plugin/type.Result) ### Constants -\n[http::header::ACCEPT](http/header/constant.ACCEPT.html) -\n[http::header::ACCEPT_CHARSET](http/header/constant.ACCEPT_CHARSET.html) -\n[http::header::ACCEPT_ENCODING](http/header/constant.ACCEPT_ENCODING.html) -\n[http::header::ACCEPT_LANGUAGE](http/header/constant.ACCEPT_LANGUAGE.html) -\n[http::header::ACCEPT_RANGES](http/header/constant.ACCEPT_RANGES.html) -\n[http::header::ACCESS_CONTROL_ALLOW_CREDENTIALS](http/header/constant.ACCESS_CONTROL_ALLOW_CREDENTIALS.html)\n-\n[http::header::ACCESS_CONTROL_ALLOW_HEADERS](http/header/constant.ACCESS_CONTROL_ALLOW_HEADERS.html)\n-\n[http::header::ACCESS_CONTROL_ALLOW_METHODS](http/header/constant.ACCESS_CONTROL_ALLOW_METHODS.html)\n-\n[http::header::ACCESS_CONTROL_ALLOW_ORIGIN](http/header/constant.ACCESS_CONTROL_ALLOW_ORIGIN.html)\n-\n[http::header::ACCESS_CONTROL_EXPOSE_HEADERS](http/header/constant.ACCESS_CONTROL_EXPOSE_HEADERS.html)\n-\n[http::header::ACCESS_CONTROL_MAX_AGE](http/header/constant.ACCESS_CONTROL_MAX_AGE.html)\n-\n[http::header::ACCESS_CONTROL_REQUEST_HEADERS](http/header/constant.ACCESS_CONTROL_REQUEST_HEADERS.html)\n-\n[http::header::ACCESS_CONTROL_REQUEST_METHOD](http/header/constant.ACCESS_CONTROL_REQUEST_METHOD.html)\n- [http::header::AGE](http/header/constant.AGE.html) -\n[http::header::ALLOW](http/header/constant.ALLOW.html) -\n[http::header::ALT_SVC](http/header/constant.ALT_SVC.html) -\n[http::header::AUTHORIZATION](http/header/constant.AUTHORIZATION.html) -\n[http::header::CACHE_CONTROL](http/header/constant.CACHE_CONTROL.html) -\n[http::header::CONNECTION](http/header/constant.CONNECTION.html) -\n[http::header::CONTENT_DISPOSITION](http/header/constant.CONTENT_DISPOSITION.html)\n- [http::header::CONTENT_ENCODING](http/header/constant.CONTENT_ENCODING.html) -\n[http::header::CONTENT_LANGUAGE](http/header/constant.CONTENT_LANGUAGE.html) -\n[http::header::CONTENT_LENGTH](http/header/constant.CONTENT_LENGTH.html) -\n[http::header::CONTENT_LOCATION](http/header/constant.CONTENT_LOCATION.html) -\n[http::header::CONTENT_RANGE](http/header/constant.CONTENT_RANGE.html) -\n[http::header::CONTENT_SECURITY_POLICY](http/header/constant.CONTENT_SECURITY_POLICY.html)\n-\n[http::header::CONTENT_SECURITY_POLICY_REPORT_ONLY](http/header/constant.CONTENT_SECURITY_POLICY_REPORT_ONLY.html)\n- [http::header::CONTENT_TYPE](http/header/constant.CONTENT_TYPE.html) -\n[http::header::COOKIE](http/header/constant.COOKIE.html) -\n[http::header::DATE](http/header/constant.DATE.html) -\n[http::header::DNT](http/header/constant.DNT.html) -\n[http::header::ETAG](http/header/constant.ETAG.html) -\n[http::header::EXPECT](http/header/constant.EXPECT.html) -\n[http::header::EXPIRES](http/header/constant.EXPIRES.html) -\n[http::header::FORWARDED](http/header/constant.FORWARDED.html) -\n[http::header::FROM](http/header/constant.FROM.html) -\n[http::header::HOST](http/header/constant.HOST.html) -\n[http::header::IF_MATCH](http/header/constant.IF_MATCH.html) -\n[http::header::IF_MODIFIED_SINCE](http/header/constant.IF_MODIFIED_SINCE.html) -\n[http::header::IF_NONE_MATCH](http/header/constant.IF_NONE_MATCH.html) -\n[http::header::IF_RANGE](http/header/constant.IF_RANGE.html) -\n[http::header::IF_UNMODIFIED_SINCE](http/header/constant.IF_UNMODIFIED_SINCE.html)\n- [http::header::LAST_MODIFIED](http/header/constant.LAST_MODIFIED.html) -\n[http::header::LINK](http/header/constant.LINK.html) -\n[http::header::LOCATION](http/header/constant.LOCATION.html) -\n[http::header::MAX_FORWARDS](http/header/constant.MAX_FORWARDS.html) -\n[http::header::ORIGIN](http/header/constant.ORIGIN.html) -\n[http::header::PRAGMA](http/header/constant.PRAGMA.html) -\n[http::header::PROXY_AUTHENTICATE](http/header/constant.PROXY_AUTHENTICATE.html)\n-\n[http::header::PROXY_AUTHORIZATION](http/header/constant.PROXY_AUTHORIZATION.html)\n- [http::header::PUBLIC_KEY_PINS](http/header/constant.PUBLIC_KEY_PINS.html) -\n[http::header::PUBLIC_KEY_PINS_REPORT_ONLY](http/header/constant.PUBLIC_KEY_PINS_REPORT_ONLY.html)\n- [http::header::RANGE](http/header/constant.RANGE.html) -\n[http::header::REFERER](http/header/constant.REFERER.html) -\n[http::header::REFERRER_POLICY](http/header/constant.REFERRER_POLICY.html) -\n[http::header::REFRESH](http/header/constant.REFRESH.html) -\n[http::header::RETRY_AFTER](http/header/constant.RETRY_AFTER.html) -\n[http::header::SEC_WEBSOCKET_ACCEPT](http/header/constant.SEC_WEBSOCKET_ACCEPT.html)\n-\n[http::header::SEC_WEBSOCKET_EXTENSIONS](http/header/constant.SEC_WEBSOCKET_EXTENSIONS.html)\n- [http::header::SEC_WEBSOCKET_KEY](http/header/constant.SEC_WEBSOCKET_KEY.html)\n-\n[http::header::SEC_WEBSOCKET_PROTOCOL](http/header/constant.SEC_WEBSOCKET_PROTOCOL.html)\n-\n[http::header::SEC_WEBSOCKET_VERSION](http/header/constant.SEC_WEBSOCKET_VERSION.html)\n- [http::header::SERVER](http/header/constant.SERVER.html) -\n[http::header::SET_COOKIE](http/header/constant.SET_COOKIE.html) -\n[http::header::STRICT_TRANSPORT_SECURITY](http/header/constant.STRICT_TRANSPORT_SECURITY.html)\n- [http::header::TE](http/header/constant.TE.html) -\n[http::header::TRAILER](http/header/constant.TRAILER.html) -\n[http::header::TRANSFER_ENCODING](http/header/constant.TRANSFER_ENCODING.html) -\n[http::header::UPGRADE](http/header/constant.UPGRADE.html) -\n[http::header::UPGRADE_INSECURE_REQUESTS](http/header/constant.UPGRADE_INSECURE_REQUESTS.html)\n- [http::header::USER_AGENT](http/header/constant.USER_AGENT.html) -\n[http::header::VARY](http/header/constant.VARY.html) -\n[http::header::VIA](http/header/constant.VIA.html) -\n[http::header::WARNING](http/header/constant.WARNING.html) -\n[http::header::WWW_AUTHENTICATE](http/header/constant.WWW_AUTHENTICATE.html) -\n[http::header::X_CONTENT_TYPE_OPTIONS](http/header/constant.X_CONTENT_TYPE_OPTIONS.html)\n-\n[http::header::X_DNS_PREFETCH_CONTROL](http/header/constant.X_DNS_PREFETCH_CONTROL.html)\n- [http::header::X_FRAME_OPTIONS](http/header/constant.X_FRAME_OPTIONS.html) -\n[http::header::X_XSS_PROTECTION](http/header/constant.X_XSS_PROTECTION.html)","url":"https://tauri.studio/docs/api/rust/tauri/index"},{"id":"prose_docs_api_rust_tauri_macro_generate_context_md","title":"Macro tauri::generate_context","sections":["Custom Config Path","Note","Stability"],"subSections":[],"code":["rs"],"text":"# Macro tauri::generate_context, ```rs generate_context!() { /* proc-macro */ }\n``` Expand description Reads the config file at compile time and generates a\n[`Context`](/docs/api/rust/tauri/struct.Context \"Context\") based on its content.\nThe default config file path is a `tauri.conf.json` file inside the Cargo\nmanifest directory of the crate being built. ## Custom Config Path You may pass\na string literal to this macro to specify a custom path for the Tauri config\nfile. If the path is relative, it will be search for relative to the Cargo\nmanifest of the compiling crate. ## Note This macro should not be called if you\nare using [`tauri-build`](https://docs.rs/tauri-build) to generate the context\nfrom inside your build script as it will just cause excess computations that\nwill be discarded. Use either the \\[\\`tauri-build] method or this macro - not\nboth. Reads a Tauri config file and generates a `::tauri::Context` based on the\ncontent. ## Stability The output of this macro is managed internally by Tauri,\nand should not be accessed directly on normal applications. It may have breaking\nchanges in the future.","url":"https://tauri.studio/docs/api/rust/tauri/macro.generate_context"},{"id":"prose_docs_api_rust_tauri_macro_generate_handler_md","title":"Macro tauri::generate_handler","sections":["Example","Stability"],"subSections":[],"code":["rs"],"text":"# Macro tauri::generate_handler, ```rs generate_handler!() { /* proc-macro */ }\n``` Expand description Accepts a list of commands functions. Creates a handler\nthat allows commands to be called from JS with invoke(). ## Example ⓘ ```rs use\ntauri::command; #[command] fn command_one() {} #[command] fn command_two() {} fn\nmain() { tauri::Builder::default()\n.invoke_handler(tauri::generate_handler![command_one, command_two])\n.run(tauri::generate_context!()) .expect(\"error while running tauri\napplication\"); } ``` ## Stability The output of this macro is managed internally\nby Tauri, and should not be accessed directly on normal applications. It may\nhave breaking changes in the future.","url":"https://tauri.studio/docs/api/rust/tauri/macro.generate_handler"},{"id":"prose_docs_api_rust_tauri_macro_tauri_build_context_md","title":"Macro tauri::tauri_build_context","sections":[],"subSections":[],"code":["rs"],"text":"# Macro tauri::tauri_build_context, ```rs macro_rules! tauri_build_context { ()\n=> { ... }; } ``` Expand description Include a\n[`Context`](/docs/api/rust/tauri/struct.Context \"Context\") that was generated by\n[`tauri-build`](https://docs.rs/tauri-build) inside your build script. You\nshould either use [`tauri-build`](https://docs.rs/tauri-build) and this macro to\ninclude the compile time generated code, or\n[`generate_context!`](/docs/api/rust/tauri/macro.generate_context\n\"generate_context!\"). Do not use both at the same time, as they generate the\nsame code and will cause excess computations that will be discarded.","url":"https://tauri.studio/docs/api/rust/tauri/macro.tauri_build_context"},{"id":"prose_docs_api_rust_tauri_struct_App_md","title":"Struct tauri::App","sections":["Implementations","Trait Implementations","Auto Trait Implementations","Blanket Implementations"],"subSections":["impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl","impl"],"code":["rs"],"text":"# Struct tauri::App, ```rs pub struct App { /* fields omitted */ } ``` Expand\ndescription The instance of the currently running application. This type\nimplements [`Manager`](/docs/api/rust/tauri/trait.Manager \"Manager\") which\nallows for manipulation of global application items. ## Implementations ###\nimpl\n[App](/docs/api/rust/tauri/struct.App \"struct\ntauri::App\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395 \"goto\nsource code\") #### pub fn\n[create_window](/docs/api/rust/tauri/about:blank#method.create_window)(\n&self, label: impl\n[Into](https://doc.rust-lang.org/1.54.0/core/convert/trait.Into.html \"trait\ncore::convert::Into\")<[String](https://doc.rust-lang.org/1.54.0/alloc/string/struct.String.html\n\"struct alloc::string::String\")>, url:\n[WindowUrl](/docs/api/rust/tauri/enum.WindowUrl \"enum tauri::WindowUrl\"), setup:\nF ) -> [Result](/docs/api/rust/tauri/type.Result \"type\ntauri::Result\")<[()](https://doc.rust-lang.org/1.54.0/std/primitive.unit.html)>\nwhere F:\n[FnOnce](https://doc.rust-lang.org/1.54.0/core/ops/function/trait.FnOnce.html\n\"trait\ncore::ops::function::FnOnce\")(::WindowBuilder,\n[WebviewAttributes](/docs/api/rust/tauri/struct.WebviewAttributes \"struct\ntauri::WebviewAttributes\")) ->\n[(](https://doc.rust-lang.org/1.54.0/std/primitive.tuple.html)::WindowBuilder,\n[WebviewAttributes](/docs/api/rust/tauri/struct.WebviewAttributes \"struct\ntauri::WebviewAttributes\")[)](https://doc.rust-lang.org/1.54.0/std/primitive.tuple.html),[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395\n\"goto source code\") Creates a new webview window. #### pub fn\n[path_resolver](/docs/api/rust/tauri/about:blank#method.path_resolver)(&self) ->\n[PathResolver](/docs/api/rust/tauri/struct.PathResolver \"struct\ntauri::PathResolver\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395\n\"goto source code\") The path resolver for the application. #### pub fn\n[global_shortcut_manager](/docs/api/rust/tauri/about:blank#method.global_shortcut_manager)(&self)\n->\nR::[GlobalShortcutManager](/docs/api/rust/tauri/trait.Runtime#associatedtype.GlobalShortcutManager\n\"type\ntauri::Runtime::GlobalShortcutManager\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395\n\"goto source code\") Gets a copy of the global shortcut manager instance. ####\npub fn\n[clipboard_manager](/docs/api/rust/tauri/about:blank#method.clipboard_manager)(&self)\n->\nR::[ClipboardManager](/docs/api/rust/tauri/trait.Runtime#associatedtype.ClipboardManager\n\"type\ntauri::Runtime::ClipboardManager\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395\n\"goto source code\") Gets a copy of the clipboard manager instance. #### pub fn\n[config](/docs/api/rust/tauri/about:blank#method.config)(&self) ->\n[Arc](https://doc.rust-lang.org/1.54.0/alloc/sync/struct.Arc.html \"struct\nalloc::sync::Arc\")<[Config](/docs/api/rust/tauri/struct.Config \"struct\ntauri::Config\")>[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395 \"goto\nsource code\") Gets the app’s configuration, defined on the `tauri.conf.json`\nfile. #### pub fn\n[package_info](/docs/api/rust/tauri/about:blank#method.package_info)(&self) ->\n&[PackageInfo](/docs/api/rust/tauri/struct.PackageInfo \"struct\ntauri::PackageInfo\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#395 \"goto\nsource code\") Gets the app’s package information. ### impl\n[App](/docs/api/rust/tauri/struct.App \"struct\ntauri::App\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#398-490 \"goto\nsource code\") #### pub fn\n[handle](/docs/api/rust/tauri/about:blank#method.handle)(&self) ->\n[AppHandle](/docs/api/rust/tauri/struct.AppHandle \"struct\ntauri::AppHandle\")[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#400-402\n\"goto source code\") Gets a handle to the application instance. #### pub fn\n[run](/docs/api/rust/tauri/about:blank#method.run), [Event](/docs/api/rust/tauri/enum.Event \"enum\ntauri::Event\")) + 'static>(self, callback:\nF)[\\[src\\]](/docs/api/rust/tauri/../src/tauri/app.rs#428-459 \"goto source code\")\nRuns the application. ## Trait Implementations ### impl\n[Debug](https://doc.rust-lang.org/1.54.0/core/fmt/trait.Debug.html \"trait\ncore::fmt::Debug\") for [App](/docs/api/rust/tauri/struct.App \"struct\ntauri::App\")