# IPFS Desktop without Electron
### Overview
Rewrite IPFS Desktop in something other than Electron
### Team
- @mvdan
- @gozala
- @lidel
- @joeltg
### Goals
- no electron
- works on windows/macos/linux
- systray app that runs go-ipfs
- systray opens a webui in default browser
- systray shows current state
### Stretch Goals
- Request on local IPFS HTTP API from unknow origins, prompts user for access
- Preferences (are there any tho?) persisted in a config file
### Implementation plan
- Separate Go program which depends on go-ipfs and ipfs-webui
- https://github.com/getlantern/systray for the system tray icon
- https://github.com/sqweek/dialog for "access prompts" and other dialogs
- We could use similar libraries for notifications if necessary
Notes:
- Cross-compilation might be tricky; both of those libs use cgo
- We need people to test on:
- Linux (mvdan, lidel)
- Mac (joeltg)
- Windows (mvdan via VM)
### UI design
Systray
- IPFS icon
- Red(?) icon if the daemon is stopped
- Green if running
- ok to borrow from https://github.com/ipfs-shipyard/ipfs-companion/tree/master/add-on/icons
- Menu items
- Start/stop daemon
- Open web UI (with $BROWSER?)
- Own version with link to source
- Options (enable or disable pubsub, ...) - but maybe not
### Resources
- [Slack thread](https://protocollabs.slack.com/archives/C01KJCJM7M5/p1611749705008000)