Scenic with optimus, system notifications and tray icon

Hey, I would like to compile scenic-based project into single executable native file. At start it should be tray icon which optionally runs scenic window (for example for first run window or settings window) and it should run some job in background while notifying end-user about results (if any).


For now I’m using optimus library for parsing cli options. The problem is that I can’t get it to work with scenic. I have tried to setup it with escript, but scenic is using its glfw driver executable file and (probably) work with Port. I have tried to use also distillery, but this one have its own cli options support which is definitely way too much for end-user.

System notifications

I saw on lots of notification libraries. Unfortunately most of them are designed for browser/mobile push notifications and 3rd-party services like Slack. I would like to send typical native notifications without requiring any extra apps to install. I saw something for Windows, but main part is not yet implemented. I saw something for Mac OS, but I don’t have such OS to even test it.

System tray icon

I did not found any library or even article about creating simple tray icons. Do you know any way to solve this? Is there any Elixir project which sends OS notifications?

I saw already some interesting solutions for nerves devices, but again (distillery) it’s not something for end-user. Does anyone tried creating such desktop app?


I’d imagine you can get a bunch of information out of an erlang project, which has published a desktop application for years:


Well … app is really big, it has lots of configuration options and even my native language support!

Of course there can’t be anything for 1st problem, but unfortunately I did not found any other too. There is no tray icon by default and not in settings. I did not found any settings related to system notifications and I’m almost sure that there are also no code for that. I did not know well this app and 3D modelling at all, but I think that it’s not what I’m looking for.