PBToolboxAI AcheterBuyKaufenAcquistaComprarComprar

← Historique de tous les composants← History of every component← Versionsverlauf aller Komponenten← Cronologia di tutti i componenti← Historial de todos los componentes← Histórico de todos os componentes

L'historique des versions est publié en anglais.Version history is published in English.Der Versionsverlauf wird auf Englisch veröffentlicht.La cronologia delle versioni è pubblicata in inglese.El historial de versiones se publica en inglés.O histórico de versões é publicado em inglês.

Toaster — version history

n_pbt_toaster · Introduced in 1.0

Toast notifications in a corner of the window or of the screen: a message that appears, informs and goes away without blocking the user or interrupting their typing. Non-visual object, introduced in 1.0, free.

4.0 — October 2026 #

New #

  • is_sound: SOUND_AUTO (default: a sound for errors and warnings only), SOUND_ALWAYS, SOUND_NEVER; the sound plays when the toast is requested, even if it waits for its place.
  • The text of a toast can be selected and copied (right-click, Copy); selecting text or dragging the scrollbar of a long text no longer answers and closes the toast.
  • PBT_SetLanguage, PBT_SetDefaultTheme, PBT_SetDefaultThemeAccent, PBT_SetDefaultFont and PBT_SetFlowDirection reach a toast already on screen, font size included.
  • Screen readers announce a toast (as an alert for an error), and the close button has a translated name.
  • of_close of a toast on screen raises ue_toast_dismissed, like its close button; a toast still waiting, never seen, raises nothing.
  • [symbol=name] tag in rich text: eighteen monochrome glyphs that follow the text colour (clock, location, person, calendar, phone, mail, warning…); an unknown name stays as text.

Fixed #

  • A toast anchored to a window follows it when the window moves; a toast anchored to a minimized window waits: it is not shown and its countdown does not run until the window comes back.
  • A toast taller than 800 pixels (a long error trace) now appears: its height is capped and its text scrolls inside the toast. The width follows the display scaling (150 %, 200 %).
  • of_show of a toast that waits for its place returns a real id at once: of_close removes it from the queue, and its events carry that id. A full queue (200) returns -4 instead of losing the toast silently.
  • Two toasts without is_key that carry a button with the same key are two toasts with two ids; only is_key updates a toast in place.
  • Several toasters no longer steal each other's events: each one receives the events of its own toasts, and a destroyed toaster receives nothing more (its toasts stay on screen, silent).
  • The same is_key shown by two toasters gives each its own toast; an update also takes the new corner, screen anchoring and anchor window.
  • Toasts anchored to the screen from two windows, or without ipo_owner, no longer land exactly on top of each other: one stack per monitor and per corner, and il_max_visible counts per monitor. Freeing a place in one corner no longer overfills another.
  • A toast that arrives while the stack is hovered is born paused, like the others; moving the pointer from one toast to another no longer lifts the pause; updating a hovered toast no longer restarts the whole stack.
  • A toast whose anchor window closes goes away with it, and the toasts waiting for that window are dropped.
  • of_close right after of_show, before the toast is fully built, is safe.
  • of_keys_at and of_has read the right buttons even when a key contains unusual characters.
  • A runtime error in your ue_toast_* event reaches the application's SystemError event like any script error, and the following events are still delivered.
  • Rich text: a closing tag closes its own tag only ([b]A[i]B[/b]C leaves C in italics only), a ] escaped by of_escape_markup right after a tag no longer breaks the formatting around it, and [picture=…] accepts a data URI and a file name containing a comma.
  • With no language chosen by the application, the component announces English to screen readers (it announced French).
  • The application accent (PBT_SetDefaultThemeAccent) survives a change of theme, is followed as long as the component has no accent of its own, and repaints everything derived from it (hover, pressed, selections); Windows high contrast is supported.

Behavior changes #

See Migrating from 3.0 to 4.0 (sections 11.3 and 11.38).

  • ue_toast_clicked, ue_toast_action and ue_toast_dismissed take long al_id as first argument (the number returned by of_show); as_key is now the toast's is_key (empty without a key). Replace Long(as_key) with al_id.
  • of_add_button returns 0, and -5 without adding anything for an empty key, a key already taken, a key containing / or |, or a fourth button. The number of buttons is read with of_count(); il_button_count is no longer public.
  • of_show returns -5 and shows nothing when is_kind, is_position or is_sound is not one of its constants, il_max_visible is outside 0-20, or il_timeout is below TIMEOUT_AUTO; it returns -6 (instead of -1) without the WebView2 runtime.
  • il_max_visible defaults to 0 (nothing sent): the limit is shared by the whole application and the last value set wins (5 until someone sets it).
  • Only a window set in ipo_receiver receives pbm_custom02; the ipo_owner window no longer does. Events arrive by themselves: code mapped on pbm_custom02 for toasts can be removed.
  • Information and success toasts are silent by default: set is_sound = SOUND_ALWAYS to keep a sound on them.
  • of_count returns a long and of_keys_at takes a long.
  • Rich text: a markup image on a network share ([picture=\\server\share\x.png]) is no longer shown: go through of_icon(), which embeds it.

3.0 — September 2026 #

New #

  • The toaster delivers its events by itself: set ipo_owner and handle ue_toast_*; no receiver, no timer, no of_process_events call to wire. ipo_receiver becomes optional.

Fixed #

  • A toast closed while the pointer was over it no longer leaves the whole stack paused.
  • Rich text: a [word] that is not a tag is shown as typed (report[final].pdf) instead of disappearing with the rest of the text.

2.0 — September 2026 #

New #

  • of_count, of_keys_at and of_has on the action buttons declared by of_add_button.

Fixed #

  • The label of a hovered action button stays readable in dark mode.

Behavior changes #

  • The first argument of ue_toast_clicked, ue_toast_dismissed and ue_toast_action is named as_key (it was as_id) — see Migrating from 1.0 to 2.0.

1.0 — August 2026 #

New #

  • Non-blocking notifications with four levels (KIND_INFO, KIND_SUCCESS, KIND_WARNING, KIND_ERROR), six corners, anchored to the window or to the screen.
  • Rich text body, bold title, illustration image, display time (TIMEOUT_AUTO: an error stays until clicked).
  • is_key updates a toast already on screen instead of opening a second one (progress notifications); il_max_visible limits the toasts per corner, the others wait for their turn.
  • Up to three action buttons (of_add_button), of_close by id, and the events ue_toast_clicked, ue_toast_action, ue_toast_dismissed.