Zoxc / crusader

A network throughput and latency tester.
Apache License 2.0
117 stars 8 forks source link

Create macOS application bundle for Crusader #88

Open richb-hanover opened 13 hours ago

richb-hanover commented 13 hours ago

Crusader in a macOS application

The prebuilt binaries of Crusader work as desired. But on macOS, running the binary from the Releases page opens a Terminal window which is distracting, and hangs around even after quitting from Crusader.

I created a macOS application bundle that avoids this and makes it a double-clickable application.

The create-crusader-macos-app repo documents the process of creating an app bundle. It should be straightforward to incorporate its build script into the Crusader release process.

You can download the resulting macOS app from https://randomneuronsfiring.com/wp-content/uploads/Crusader.zip

Testing

The Crusader app has been tested on:

About the icon

I also took the liberty of asking Copilot to design an icon for the application. This was mostly an experiment to see a) what a LLM would produce, and b) how much work it would be to add the icon into the application bundle.

The icon at the bottom was my ultimate choice. Feel free to reject this and substitute something better

Here are the prompts I gave to Copilot:

generate a 1024 x 1024 pixel png file with a shield as the background and a graph showing three bursts of activity superimposed.

image

I was hoping for something more schematic so that it's easier to make an application icon. The shield should be simpler, and the chart/graph should look something like this image (I pasted in the throughput graph)

image

can you make it simpler - with fewer fine details

image

that still seems to have a lot of details - can you make one with less? I do like the shield outline

image

richb-hanover commented 13 hours ago

Final set of icons produced by the script - macOS automatically uses the best (largest) icon with the best quality depending on the screen

icon_512x512@2x icon_512x512 icon_256x256@2x icon_256x256 icon_128x128@2x icon_128x128 icon_32x32@2x icon_32x32 icon_16x16@2x icon_16x16