John Brayton


#

NSHappyHour meets at Bit Bar in Salem MA tonight at 6:30. New participants are always welcome. Thanks to @whitedonkey@mastodon.social for organizing.

#

I am excited to see that Castro is in good hands again.

#

Congratulations to @danielpunkass on the release his crossword-solving app Black Ink for iOS..

#

A 30-day streak.

A screenshot showing that I walked at least 10,000 steps on each of the past 30 days.
#

NSHappyHour is at the Lobster Shanty in Salem, MA at 6:30 PM tonight. New folks are always welcome. Thanks to @whitedonkey@mastodon.social for organizing.

#

I made an early beta version of Unread for macOS available. Details at: www.goldenhillsoftware.com/2024/01/e…

Unread is an RSS reader with beautiful typography, great handling of articles from summary-only feeds, and a variety of color themes.

#

I like @incanus@mastodon.social’s idea of Repurposing Hugo as a wiki.

I have a bunch of loose markdown files in a version-controlled folder that I consider my “company wiki”. Making it navigable with a web browser and letting documents link to each other would be a significant improvement.

#

CocoaHeads Boston will meet Thursday evening via Zoom at 7:00 PM Boston time. New participants and participants from outside the Boston area are always welcome.

#

Congratulations to the winners and runners-up of MacStories Selects awards.

#

NSHappyHour meets at the Lobster Shanty in Salem, MA, at 6:30 tonight. New participants are always welcome. Thanks to @whitedonkey@mastodon.social for organizing.

#

A huge new feature for MarsEdit: Mastodon support. Congratulations to @danielpunkass.

MarsEdit 5.1: Mastodon Support is Here!

#

Happy Thanksgiving!

youtu.be/Q0UVPHbYo…

#

I am now posting to my blog, and automatically cross-posting to Mastodon. The best way to follow or reach me via Mastodon (or Mastodon-compatible) service is @johnbrayton@iosdev.space. You can also follow my posts via my blog and its RSS feed.

#

I just had a new furnace and water heater installed. The old furnace was 29 years old, the old water heater was 15 years old. I am ready for winter. (Or at least my house is.)

Search Suggestion Menus in AppKit

#

I recently implemented a search suggestions menu on macOS for Unread.

Even though Safari, Mail, and Finder implement search suggestion menus, there is no standard AppKit mechanism for providing them in AppKit. Popping up an NSMenu does not work because the search field cannot receive keystrokes while the menu is displayed.

Interestingly there is a good mechanism for providing search suggestion menus in SwiftUI, but incorporating that mechanism into an AppKit-based application looks much more difficult than just using an NSHostingView.

I ended up starting with a CustomMenus sample project. This 2018 project by Doug Stein is a Swift port of Apple Objective-C sample code from 2012.

With that as a base, I updated it to support things like dark mode. I also made it a little more focused on search suggestion menus, as opposed to custom menus in general.

The result is a sample project on GitHub. I hope you find it useful.

Thank you to:

#

We have a great agenda for this evening’s CocoaHeads Boston meeting via Zoom. Conall McCabe will give a presentation pertaining to Core Motion, axes of device orientation, and associated data structures.

www.meetup.com/cocoahead…

#

I helped my city perform a recount yesterday. It is fun to participate in the process.

#

My glass shower door (which has probably been in place for 29 years) spontaneously shattered earlier today. No one was anywhere near it when this happened.

#

Tonight’s online CocoaHeads meeting will include a presentation on Skip, an Xcode plugin that transpiles native SwiftUI iOS apps into Android apps using Jetpack Compose and Kotlin. New participants and participants from outside the Boston area are always welcome.

Election

#

I was also a precinct clerk, but we don’t get stickers for that. 🤣

We had a preliminary election for mayor, city council, and school committee in my city today. This is a big one. Our mayor of 20 years is retiring, and it’s the first city election since deciding to have ward-specific city councilors and school committee members.

Hilariously we (probably) have 3 more elections between now and the end of March.

“I Voted” sticker.
#

I filed an FB a few days ago regarding the need for an API that does not exist on macOS. Apple replied with “We believe the reported problem has been fixed. Please verify that the issue does not reproduce on macOS 14 beta 7…” 🤦‍♂️

#

Chime is a polished text editor for the Mac with support for several programming languages and an extension API. Now @mattiem@mastodon.social is generously making the app free and releasing the source code.

#

A bird wandering around an indoor train station.

Photo of bird inside a train station.
#

A fourth indictment. I am starting to suspect Trump might be guilty of some of the crimes we watched him commit on TV. ⚖️

#

CocoaHeads Boston will meet in person next Tuesday, August 22, at Cambridge Brewing Company. New participants are always welcome. Please RSVP on Meetup if you expect to join us so that we can make an educated guess on the reservation size.