Saltar al contenido

tray

Clase de icono de la bandeja (tray icon) y métodos asociados. El constructor de este tipo es privado, en su lugar, deberías usar el método estático TrayIcon.new.

A diferencia de Rust, JavaScript no tiene ninguna forma de ejecutar código de limpieza cuando un objeto está siendo eliminado por la recolección de basura (garbage collection), pero este icono de la bandeja se limpiará cuando la app de tauri se cierre, sin embargo, si deseas limpiar este objeto antes, necesitas llamar a TrayIcon.close.

import { TrayIcon } from '@tauri-apps/api/tray';
const tray = await TrayIcon.new({ tooltip: 'awesome tray tooltip' });
tray.set_tooltip('new tooltip');
Propiedad Modifier Tipo Descripción Definido en
id public string El id asociado con este icono de la bandeja (tray icon). Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L160

get rid(): number

number

Resource.rid

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L318

close(): Promise<void>

Destruye y limpia este recurso de la memoria. Ya no deberías llamar a ningún método de este objeto y deberías descartar cualquier referencia a él.

Promise<void>

Resource.close

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L330

setIcon(icon): Promise<void>

Establece un nuevo icono de la bandeja. Si se proporciona null, eliminará el icono.

Ten en cuenta que es posible que necesites las características (features) de Cargo image-ico o image-png para usar esta API. Para habilitarla, cambia tu archivo Cargo.toml:

[dependencies]
tauri = { version = "...", features = ["...", "image-png"] }
Parámetro Tipo
icon | null | string | Uint8Array | number[] | ArrayBuffer | Image

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L224

setIconAsTemplate(asTemplate): Promise<void>

Establece el icono actual como una plantilla (template). Solo macOS

Parámetro Tipo
asTemplate boolean

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L292

setIconWithAsTemplate(icon, asTemplate): Promise<void>

Establece un nuevo icono de la bandeja y el estado de plantilla atómicamente. Solo macOS.

Ten en cuenta que es posible que necesites las características (features) de Cargo image-ico o image-png para usar esta API. Para habilitarla, cambia tu archivo Cargo.toml:

[dependencies]
tauri = { version = "...", features = ["...", "image-png"] }
Parámetro Tipo
icon | null | string | Uint8Array | number[] | ArrayBuffer | Image
asTemplate boolean

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L309

setMenu(menu): Promise<void>

Establece un nuevo menú para la bandeja (tray menu).

Específico de la plataforma:

  • Linux: una vez que se establece un menú, no se puede eliminar, por lo que null no tiene efecto
Parámetro Tipo
menu null | Submenu | Menu

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L241

setMenuOnLeftClick(onLeft): Promise<void>

Desactiva o activa mostrar el menú de la bandeja con clic izquierdo.

Específico de la plataforma:

  • Linux: No soportado.
Parámetro Tipo
onLeft boolean

Promise<void>

usa TrayIcon.setShowMenuOnLeftClick en su lugar.

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L333

setShowMenuOnLeftClick(onLeft): Promise<void>

Desactiva o activa mostrar el menú de la bandeja con clic izquierdo.

Específico de la plataforma:

  • Linux: No soportado.
Parámetro Tipo
onLeft boolean

Promise<void>

2.2.0

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L349

setTempDirPath(path): Promise<void>

Establece la ruta del directorio temporal del icono de la bandeja. Solo Linux.

En Linux, necesitamos escribir el icono en el disco y usualmente será $XDG_RUNTIME_DIR/tray-icon o $TEMP/tray-icon.

Parámetro Tipo
path null | string

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L287

setTitle(title): Promise<void>

Establece el tooltip para este icono de la bandeja.

Específico de la plataforma:

  • Linux: El título no se mostrará a menos que también haya un icono. El título es útil para información numérica y otra información actualizada frecuentemente. En general, no debería mostrarse a menos que un usuario lo solicite, ya que puede ocupar una cantidad significativa de espacio en el panel del usuario. Esto puede no mostrarse en todas las visualizaciones.
  • Windows: No soportado
Parámetro Tipo
title null | string

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L272

setTooltip(tooltip): Promise<void>

Establece el tooltip para este icono de la bandeja.

Específico de la plataforma:

  • Linux: No soportado
Parámetro Tipo
tooltip null | string

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L256

setVisible(visible): Promise<void>

Muestra u oculta este icono de la bandeja.

Parámetro Tipo
visible boolean

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L277

static getById(id): Promise<null | TrayIcon>

Obtiene un icono de la bandeja usando el id proporcionado.

Parámetro Tipo
id string

Promise<null | TrayIcon>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L168

static new(options?): Promise<TrayIcon>

Crea un nuevo TrayIcon

Específico de la plataforma:

  • Linux: A veces el icono no será visible a menos que se establezca un menú. Establecer un Menu vacío es suficiente.
Parámetro Tipo
options? TrayIconOptions

Promise<TrayIcon>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L192

static removeById(id): Promise<void>

Elimina un icono de la bandeja usando el id proporcionado del estado interno de tauri.

Ten en cuenta que esto puede hacer que el icono de la bandeja desaparezca si no se clonó en otro lugar o se referenció desde JS.

Parámetro Tipo
id string

Promise<void>

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L180

Opciones de creación de TrayIcon

Propiedad Tipo Descripción Definido en
action? (event: TrayIconEvent) => void Un manejador (handler) para un evento en el icono de la bandeja. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L137
icon? | string | Uint8Array | number[] | ArrayBuffer | Image El icono de la bandeja, que podría ser bytes del icono o la ruta al archivo de icono. Ten en cuenta que es posible que necesites las características (features) de Cargo image-ico o image-png para usar esta API. Para habilitarla, cambia tu archivo Cargo.toml: [dependencies] tauri = { version = "...", features = ["...", "image-png"] } Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L89
iconAsTemplate? boolean Usa el icono como una plantilla (template). Solo macOS. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L115
id? string El id del icono de la bandeja. Si es undefined, se asignará uno aleatorio Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L76
menu? Submenu | Menu El menú del icono de la bandeja Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L78
menuOnLeftClick? boolean Si se debe mostrar el menú de la bandeja con clic izquierdo o no, por defecto es true. Específico de la plataforma: - Linux: No soportado. Obsoleto usa TrayIconOptions.showMenuOnLeftClick en su lugar. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L125
showMenuOnLeftClick? boolean Si se debe mostrar el menú de la bandeja con clic izquierdo o no, por defecto es true. Específico de la plataforma: - Linux: No soportado. Desde 2.2.0 Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L135
tempDirPath? string La ruta del directorio temporal del icono de la bandeja. Solo Linux. En Linux, necesitamos escribir el icono en el disco y usualmente será $XDG_RUNTIME_DIR/tray-icon o $TEMP/tray-icon. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L111
title? string El título de la bandeja. Específico de la plataforma - Linux: El título no se mostrará a menos que también haya un icono. El título es útil para información numérica y otra información actualizada frecuentemente. En general, no debería mostrarse a menos que un usuario lo solicite, ya que puede ocupar una cantidad significativa de espacio en el panel del usuario. Esto puede no mostrarse en todas las visualizaciones. - Windows: No soportado. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L104
tooltip? string El tooltip del icono de la bandeja Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L91

type MouseButton: "Left" | "Right" | "Middle";

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L11


type MouseButtonState: "Up" | "Down";

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L10


type TrayIconClickEvent: object;
Nombre Tipo Descripción Definido en
button MouseButton Botón del ratón que activó este evento. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L35
buttonState MouseButtonState Estado del botón del ratón cuando se activó este evento. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L37

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L33


type TrayIconEvent:
| TrayIconEventBase<"Click"> & TrayIconClickEvent
| TrayIconEventBase<"DoubleClick"> & Omit<TrayIconClickEvent, "buttonState">
| TrayIconEventBase<"Enter">
| TrayIconEventBase<"Move">
| TrayIconEventBase<"Leave">;

Describe un evento del icono de la bandeja.

Específico de la plataforma:

  • Linux: No soportado. El evento no se emite aunque se muestre el icono, el icono seguirá mostrando un menú contextual al hacer clic derecho.

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L48


type TrayIconEventBase<T>: object;
Parámetro de tipo
T extends TrayIconEventType
Nombre Tipo Descripción Definido en
id string Id del icono de la bandeja que activó este evento. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L23
position PhysicalPosition Posición física del clic que activó este evento. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L25
rect object Posición y tamaño del icono de la bandeja. Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L27
rect.position PhysicalPosition - Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L28
rect.size PhysicalSize - Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L29
type T El tipo de evento del icono de la bandeja Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L21

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L19


type TrayIconEventType:
| "Click"
| "DoubleClick"
| "Enter"
| "Move"
| "Leave";

Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L12


© 2026 Colaboradores de Tauri. CC-BY / MIT