feat: add workspace apps#136
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
| .padding(.top, 10) | ||
| } | ||
| } | ||
| .task { await loadApps() } |
There was a problem hiding this comment.
.task on a view ensures for each instance of the view, only one copy of the task is running at any given time, and if the view re-renders (such as a workspace going offline), the existing task will be cancelled, and a new one created, which is exactly what we want.
|
|
||
| func applicationDidFinishLaunching(_: Notification) { | ||
| // Init SVG loader | ||
| SDImageCodersManager.shared.addCoder(SDImageSVGCoder.shared) |
There was a problem hiding this comment.
SwiftUI has a great AsyncImage View, but it doesn't support svgs. FWICT there's not even a public macOS API for rendering them.
I also found this https://gist.github.com/erezhod/6e8e6af3c940d88a706a9d936c8838e6, but it doesn't have a license attached, and I didn't feel like reaching out to the two separate authors to ask.
|
We should also filter out apps where |
34c0bee to
919160f
Compare
Merge activity
|


Closes #94.
workspaceappsdemo.mov
The cursor does not change to a pointing hand as it should when screen-recording, and the display name of the app is also shown on hover:

As per the linked issue, this only shows the first five apps. If there's less than 5 apps, they won't be centered (I think this looks a bit better):
Later designs will likely include a Workspace window where all the apps can be viewed, and potentially reordered to control what is shown on the tray.
EDIT: Web apps have been filtered out of the above examples, as we don't currently have a way to determine whether they will work properly via Coder Connect.