Всплывающие уведомления

Краткое руководство по всплывающим уведомлениям

Уведомления через C# Script

Готовый пример можно импортировать отсюда: https://eu.eyeauras.net/share/S20250206100355L0RMN0j2bzvb

Чтобы показывать уведомления, можно использовать C# Script — для этого достаточно буквально нескольких строк кода. Подойдут разные библиотеки для вывода таких сообщений. В этом примере используется Notification.Wpf от Alexander Platonenkov.

Показать уведомление из действия

Код — верхнеуровневый файл действия C# Script в работающем Windows-приложении EyeAuras с WPF Application.Current и живым UI dispatcher. Вход — строка "test"; после запуска библиотека должна показать всплывающее сообщение. Это WPF-окно сторонней библиотеки, а не системное уведомление Windows.

Исторический пакет Notification.Wpf, 7.0.0 сохранён. Его восстановление и совместимость с установленным EyeAuras здесь не проверены. Текущий upstream описывает уже другие версии; это не подтверждение запуска версии 7.0.0.

Настройка

  1. Создайте ауру.
  2. Добавьте триггер HotkeyIsActive и назначьте на него удобную клавишу, например F3 — она будет включать и выключать уведомление.
  3. У триггера смените тип активации на Click/Hold.
  4. Добавьте действие C# Script в On Enter.
  5. Вставьте в него код ниже.
  6. При нажатии F3 в правом нижнем углу экрана появится уведомление.
csharp
#r "nuget: Notification.Wpf, 7.0.0"
using Notification.Wpf.Controls;
using Notification.Wpf;

// Создание WPF-объекта и Show выполняются в UI dispatcher EyeAuras.
await System.Windows.Application.Current.Dispatcher.InvokeAsync(() =>
{
    var notificationManager = new NotificationManager();
    notificationManager.Show("test");
});

Notification Result Other Notification Styles Image Display

InvokeAsync переносит создание и показ на UI-поток; завершение этого вызова означает выполнение запроса показа, а не закрытие уведомления. Токен скрипта в Show не передаётся, и завершение действия само по себе не привязывает уведомление к ExecutionAnchors. Длительность показа задаёт библиотека.