Skip to content

3.0 • Ground-up rework#20

Open
KyNorthstar wants to merge 98 commits intomasterfrom
nightly
Open

3.0 • Ground-up rework#20
KyNorthstar wants to merge 98 commits intomasterfrom
nightly

Conversation

@KyNorthstar
Copy link
Copy Markdown
Member

Version 3 is a full rework of the whole concept of this package. Previously, this package only mimicked the macOS native "bezel notification". Starting in version 3, it continues offering that feature, and introduces in-window toasts for cross-platform SwiftUI applications!

This resolves #3, #6, #11, #12, #13, #14, and #15.

Reworking the whole thing!

First off: We're renaming the package to Howl. (BH)BezelNotification (NotificationBezel?) was descriptive of the one thing this package was created to do. Now that it does more, it gets a proper brand name, which also pays homage to the late great Growl.

We also decided to start supporting iOS. Since iOS can't have anything appear outside the app's window, they have to be in-window, so we added toasts to the library! We implemented those toasts as SwiftUI-native, so reworking the whole package made a lot of sense.

One could describe the system bezel notification as a kind of toast: little notifications that briefly appear and automatically dismiss themselves. So that is also available with the same toast API, as well as the same legacy API as version 2.

iOS support

Howl 3.0 finally supports iOS! Any toast can appear atop any view on any platform, iOS included. Obviously, the system-wide bezel notification isn't available in iOS because iOS doesn't allow apps to draw on top of other apps.

We plan to also support watchOS, tvOS, and visionOS in the future.

KyNorthstar and others added 30 commits April 8, 2026 23:08
3.0.0: Renaming & Combine!

Did someone ask for a complete rewrite?
No? Well We did it anyway c:

Replaced bespoke rectangle tools with the RectangleTools package

Kept @sidevesh's fixes but Git might not be able to keep track of that
This better describes its purpose. It's not an action that the dev takes, nor that the toast will perform; it's a call to the user to take an action
Might wanna find a way to adapt accessibility preferences to improve this
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotta get around to making this package eventually

@KyNorthstar KyNorthstar marked this pull request as ready for review April 30, 2026 08:54
Had Claude make these. Skimmed em; seem fine enough for a start.
File an issue if you find problems!
Copy link
Copy Markdown
Member Author

@KyNorthstar KyNorthstar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some things before merging

Comment thread Sources/Howl/Extensions/CGSize Extensions.swift Outdated
Comment thread Package.swift Outdated
Comment thread Sources/Howl/Extensions/NSAppearance Extensions.swift Outdated
Comment thread Sources/Howl/Extensions/NSFont Extensions.swift Outdated
Comment thread Sources/Howl/Extensions/NSWindow+Fade.swift Outdated
Comment thread Sources/Howl/Legacy/SystemBezelNotification.swift
Comment thread Sources/Howl/Legacy/SystemBezelNotification.swift
Comment thread Sources/Howl/Extensions/NativeImage Extensions.swift Outdated
Comment thread Sources/Howl/__previews/ToastPreview.swift Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3.0: Capsule style 3.0: Snackbar style 3.0: Bezel style Add SwiftUI support Preview image says "BHNotificationBezel"

1 participant