MenuBarIcon.png was pretty low resolution. Let's use an existing
high-resolution icon and scale it on demand.
Note we couldn't just use the LivebookIcon.icns directly because the
system seems to pick the largest size and the icon doesn't fit.
Summary of changes:
- Vendor OTP at: rel/vendor/otp
- Remove rel/vendor/otp/lib/*/src
- Include /usr/local/bin in $PATH. This is not there by default and that's where homebrew (on x86_64) installs things so it should make it easier to build some packages with NIFs.
1. Add `:event_handler` app option. It is a process that will receive
the app events, the `:open_app`, `{:open_url, url}`, and
`{:open_file, path}` messages.
2. Add `AppBuilder.init/0`. This reads the `APP_BUILDER_INPUT` env
variable which contains the app event the release was started with.
3. Use <https://github.com/wojtekmach/otp/tree/wm-WX_MACOS_NON_GUI_APP>
branch which contains wx fix that hasn't been merged yet.
Since we're building our own OTP for Mac, the idea was not to
accidentally building agains something we happen to be testing at the
moment, like the latest RC. This check turned out to be a little bit
too annoying in practice though. We plan to automate builds on CI
in the near future so we wouldn't need it the anyway.
Closes#1177
* Add LIVEBOOK_SHUTDOWN_ENABLED
Previously we relied on code:get_mode(), but since
releases are starting in interactive mode to use
less memory, we need a clearer mechanism.
* Move shutdown feature check to Livebook.Config
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Run in interactive mode: it uses less memory and improves
boot time, which is the most desired properties for a dev tool
* Do not use releases/cookie, instead generate one on boot