Toast

class Toast(pointer: <Error class: unknown class><<Error class: unknown class>>)

A helper object for class@ToastOverlay.

Toasts are meant to be passed into method@ToastOverlay.add_toast as follows:

adw_toast_overlay_add_toast (overlay, adw_toast_new (_("Simple Toast")));
toast-simple

Toasts always have a close button. They emit the signal@Toast::dismissed signal when disappearing.

property@Toast:timeout determines how long the toast stays on screen, while property@Toast:priority determines how it behaves if another toast is already being displayed.

Toast titles use Pango markup by default, set property@Toast:use-markup to FALSE if this is unwanted.

property@Toast:custom-title can be used to replace the title label with a custom widget.

Actions

Toasts can have one button on them, with a label and an attached iface@Gio.Action.

AdwToast *toast = adw_toast_new (_("Toast with Action"));

adw_toast_set_button_label (toast, _("_Example"));
adw_toast_set_action_name (toast, "win.example");

adw_toast_overlay_add_toast (overlay, toast);
toast-action

Modifying toasts

Toasts can be modified after they have been shown. For this, an AdwToast reference must be kept around while the toast is visible.

A common use case for this is using toasts as undo prompts that stack with each other, allowing to batch undo the last deleted items:

static void
toast_undo_cb (GtkWidget *sender,
const char *action,
GVariant *param)
{
// Undo the deletion
}

static void
dismissed_cb (MyWindow *self)
{
self->undo_toast = NULL;

// Permanently delete the items
}

static void
delete_item (MyWindow *self,
MyItem *item)
{
g_autofree char *title = NULL;
int n_items;

// Mark the item as waiting for deletion
n_items = ... // The number of waiting items

if (!self->undo_toast) {
self->undo_toast = adw_toast_new_format (_("‘%s’ deleted"), ...);

adw_toast_set_priority (self->undo_toast, ADW_TOAST_PRIORITY_HIGH);
adw_toast_set_button_label (self->undo_toast, _("_Undo"));
adw_toast_set_action_name (self->undo_toast, "toast.undo");

g_signal_connect_swapped (self->undo_toast, "dismissed",
G_CALLBACK (dismissed_cb), self);

adw_toast_overlay_add_toast (self->toast_overlay, self->undo_toast);

return;
}

title =
g_strdup_printf (ngettext ("<span font_features='tnum=1'>%d</span> item deleted",
"<span font_features='tnum=1'>%d</span> items deleted",
n_items), n_items);

adw_toast_set_title (self->undo_toast, title);

// Bump the toast timeout
adw_toast_overlay_add_toast (self->toast_overlay, g_object_ref (self->undo_toast));
}

static void
my_window_class_init (MyWindowClass *klass)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);

gtk_widget_class_install_action (widget_class, "toast.undo", NULL, toast_undo_cb);
}
toast-undo

Skipped during bindings generation

  • method title: Property TypeInfo of getter and setter do not match

Constructors

Link copied to clipboard
constructor(title: String)

Creates a new AdwToast.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The name of the associated action.

Link copied to clipboard
var actionTarget: <Error class: unknown class>?

The parameter for action invocations.

Link copied to clipboard
val adwToastPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard

The label to show on the button.

Link copied to clipboard
var customTitle: <Error class: unknown class>?

The custom title widget.

Link copied to clipboard

The priority of the toast.

Link copied to clipboard
var timeout: <Error class: unknown class>

The timeout of the toast, in seconds.

Link copied to clipboard

Whether to use Pango markup for the toast title.

Functions

Link copied to clipboard
fun connectButtonClicked(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: () -> Unit): <Error class: unknown class>

Emitted after the button has been clicked.

Link copied to clipboard
fun connectDismissed(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: () -> Unit): <Error class: unknown class>

Emitted when the toast has been dismissed.

Link copied to clipboard
fun dismiss()

Dismisses @self.

Link copied to clipboard

Gets the name of the associated action.

Link copied to clipboard
fun getActionTargetValue(): <Error class: unknown class>?

Gets the parameter for action invocations.

Link copied to clipboard

Gets the label to show on the button.

Link copied to clipboard
fun getCustomTitle(): <Error class: unknown class>?

Gets the custom title widget of @self.

Link copied to clipboard

Gets priority for @self.

Link copied to clipboard
fun getTimeout(): <Error class: unknown class>

Gets timeout for @self.

Link copied to clipboard

Gets the title that will be displayed on the toast.

Link copied to clipboard

Gets whether to use Pango markup for the toast title.

Link copied to clipboard
fun setActionName(actionName: String? = null)

Sets the name of the associated action.

Link copied to clipboard
fun setActionTargetValue(actionTarget: <Error class: unknown class>? = null)

Sets the parameter for action invocations.

Link copied to clipboard
fun setButtonLabel(buttonLabel: String? = null)

Sets the label to show on the button.

Link copied to clipboard
fun setCustomTitle(widget: <Error class: unknown class>? = null)

Sets the custom title widget of @self.

Link copied to clipboard
fun setDetailedActionName(detailedActionName: String? = null)

Sets the action name and its parameter.

Link copied to clipboard
fun setPriority(priority: ToastPriority)

Sets priority for @self.

Link copied to clipboard
fun setTimeout(timeout: <Error class: unknown class>)

Sets timeout for @self.

Link copied to clipboard
fun setTitle(title: String)

Sets the title that will be displayed on the toast.

Link copied to clipboard
fun setUseMarkup(useMarkup: Boolean)

Whether to use Pango markup for the toast title.