github ppkantorski/Ultrahand-Overlay v2.3.0
Ultrahand Overlay 2.3.0

12 hours ago

List of changes:

  1. Numerous improvements to the notifications implementation.
    • Notification options have been moved to the Notifications Menu (in System Settings).
    • Multiple notifications can be shown at once (up to the Max Slots value).
      • When using 4MB overlay memory, max slots is capped at 4, otherwise it is capped at 8. (default value 4)
    • API Notifications (formerly known as External Notifications) are formatted as follows:
      {
          "text": "This is an example notification.",
          "font_size": 24, #optional
          "split_type": "word" #optional, word by default
          "alignment": "left", #optional, center by default without a title
          "duration": 4000, #optional duration in ms
          "title": "Example App", #optional, allows show_time
          "show_time": "true", #optional, true by default
          "priority": 20, #optional (ideally not modified)
      }
      • Stored in /config/ultrahand/notifications/{APP_ID}-{UNIQUE_ID}.notify (JSON format)
      • API Notifications can be filtered with the existence of /config/ultrahand/flags/notifications/{APP_ID}.flag.
    • Notification icons are now supported and must be 50x50 RGBA format with {APP_ID} matching the notification json.
      • /config/ultrahand/assets/notifications/{APP_ID}.rgba
    • Package command notify / notification and notify-now / notification-now has been expanded.
      • notify <MESSAGE> [FONT_SIZE] [TEXT_ALIGNMENT] [SPLIT_TYPE] [DURATION_MS] [TITLE] [SHOW_TIME] [APP_NAME]
        • <MESSAGE>: the main notification message text. (only 4 lines can be displayed)
        • [FONT_SIZE]: an integer value in range 8 to 48 (24 by default with a title, 26 without a title).
        • [TEXT_ALIGNMENT]: either left, center, or right.
          • By default, without a title it is center and with one it is left.
        • [SPLIT_TYPE]: either word or char.
        • [DURATION_MS]: the duration for the prompt in milliseconds. (500 min, 4000 by default)
          • A duration value of 0 will keep the prompt displayed indefinitely until dismissal.
        • [TITLE]: a title for the notification.
        • [SHOW_TIME]: a true/false value for showing the timestamp alongside the title. (requires a title)
        • [APP_NAME]: allows the notification command to use an icon (used if present)
          • To use an app name without a title, title must be an empty string ("").
      • notify-now follows the same pattern as notify but always displays in slot 0 with immediate priority.
      • Sidenote: All [] parameters are optional and are interpreted based upon their value and order.
    • New notification sound effect /config/ultrahand/sounds/notification.wav.
      • Users may need to re-apply the default theme for this new sound effect to load.
      • The Silence Notifications toggle disables notification sound effects.
    • Notifications can be dismissed with KEY_MINUS clicks, as well as via direct touch.
    • API toggle hotkey (hold KEY_MINUS for 4s) allows disabling API Notifications on demand easily.
      • The API toggle hotkey can be enabled / disabled in the Notifications Menu.
  2. New theme colors notification_title_color, notification_time_color, and unfocused_color.
    • notification_title_color is the color for the notification titles.
    • notification_time_color is the color for the notification timestamps.
    • unfocused_color is the color KEY_A+" OK" is displayed with at the bottom of the overlay when no items are in focus.
  3. New package command touch, called touch <PATH_TO_FILE>.
    • Command creates an empty text file according to the file path if the file does not exist.
  4. New Packages Menu toggle (in Miscellaneous) for hiding the packages menu completely.
  5. Timestamp placeholder {timestamp()} (with no formatting parameter) can now also be called as {timestamp}.
  6. System RAM previews now automatically change with Overlay Memory adjustments in the System Settings menu.
  7. Sound effects can now use 8000 Hz, 11025 Hz, 16000 Hz, 22050 Hz, 32000 Hz, and 44100 Hz 16-bit PCM wav files in addition to 48000 Hz.
  8. Feedback (haptics + sound) is now processed on its own background thread for improved performance and reliability.
  9. Improvements to haptics in handheld mode.
  10. Cleanup of language json's (removal of unused / unnecessary variables).
  11. Bug fix for internet connection checks in download calls.
  12. Various list class corrections / improvements.
  13. Various code optimizations, bug fixes, and improvements.

Full Changelog: f580fd9...v2.3.0

Quick Update:

  • JSON placeholder parsing bug fix (for allowing numerical / boolean conversions to strings). - 03/12/2026 11:26 PM PST
  • Script Overlay no longer removes tags from ListItem commands (bug fix). - 03/12/2026 11:26 PM PST
  • Notification timestamp positioning bug fix (for notifications with no icons). - 03/12/2026 11:42 PM PST
  • Separator symbol coloring for notification text. - 03/13/2026 12:01 AM PST
  • Notification touch dismissal in right-side mode bug fix. - 03/13/2026 1:12 AM PST

Full Changelog: v2.3.0...7df15c9

Don't miss a new Ultrahand-Overlay release

NewReleases is sending notifications on new releases.