This is a fork of Mastonaut by @brunophilipe, whose original marketing page you can still look at here. His latest version 1.3.9 can still be installed from the App Store.
(As of 1.7.0.)
- The font size of statuses can be increased.
- Assorted accessibility improvements
- Edit your toots
- Autocomplete for hashtags (1.3.9 already had autocomplete for user names)
- Filter notifications by type (for example, to only see mentions)
- Search for (already known) toots by text or their URL
- Pull to refresh
- View a list as a column
- View your favorites or bookmarks as a column
- Follow hashtags in the Home timeline
- See if a toot has been edited, and view previous versions
- The font face and size can be customized.
- Interaction statistics (how many replies, boosts, favorites) can be seen
To use it, you just want to download 1.7 here.
This is purely a hobbyist effort, so I can't really promise anything. I try to do a new release every month or two.
These are instructions for if you want to tinker with the code.
The following instructions assume Xcode 14.2 on macOS 13.4. (Note that it may not currently build in Xcode 14.3.x.)
-
Copy the file
userspecific.template.xcconfigtouserspecific.xcconfig, and open that file. -
Set
MASTONAUT_BUNDLE_ID_BASEto a bundle ID for the app that works with your Apple ID. -
Enter your Team ID instead of the
xxxxxxxxxxnext toDEVELOPMENT_TEAM(It looks something like74J34U3R6X). -
Do not check in your changes to
userspecific.xcconfig!
That should be it.
The bundle ID base is used because Mastonaut consists of multiple projects, which use an app group to share information. Given a MASTONAUT_BUNDLE_ID_BASE of com.example.mastonaut and a DEVELOPMENT_TEAM of ABCDEFGH:
- the main app will be
com.example.mastonaut.mac - the macOS Sharing extension will be
com.example.mastonaut.mac.QuickToot - the Core Data database shared by the two above will be stored in
~/Library/Group Containers/ABCDEFGH.com.example.mastonaut/Mastonaut/Mastonaut.sqlite - Keychain credentials will be prefixed
ABCDEFGH.com.example.mastonaut.keychain
Most of the Acknowledgments in the about box are
auto-generated from Cocoapods dependencies. For this, you
need to have the cocoapods-acknowledgements plug-in
installed, and then just run pod install.
Additional dependencies come via SwiftPM and Git submodules, and those get added manually in code.
-
Make sure
MastodonKitis fetched as a git submodule. (For example, Xcode's git clone functionality seems to not do this!) This appears to be a custom fork called 3.0 that's significantly different from the public MastodonKit. So don't try to change the project to pull the regular MastodonKit using CocoaPods. -
The
.xcconfigwill auto-append.macand other suffixes to theMASTONAUT_BUNDLE_ID_BASE, so you should pick something likecom.example.mastonaut(replacingcom.examplewith whatever reverse domain name you have set up for your account). -
If you don't know your Team ID, go into Signing & Capabilities in your project and select your team, then your UI will show it under 'App Groups'. Then revert the project file so it will use the setting from the
xcconfigand you don't have a lurking change in your checkout.
The main application is Mastonaut. It should be developed within Mastonaut.xcworkspace.
QuickToot is a macOS app extension, specifically for sharing.
QuickToot and Mastonaut use CoreTootin as a common library. GUI code that's required by both belongs here.
The underlying API client is largely implemented in (a custom fork of) MastodonKit, which is referenced as a git submodule.
- If you're using a personal developer ID and get an error like
Personal development teams, including "Your Name Here", do not support the Push Notifications capability., you may have to go Signing and Capabilities and delete the "Push Notifications" capability by clicking the little trash can next to it. Do not check in this change.