Electron wrapper app for Nextcloud Talk. Learning some nodejs and electron basics while building Nextcloud Talk Desktop app for easy enterprise deployment.
Sources are mess but it works =)
Check my app if you are unsatisfied by official Nextcloud Talk Desktop app.
MacOS 10.15 Catalina, Windows 7/2008, Linux with modern kernel version (5.x) - all x64 compatible only, no more 32-bit support (since 0.5.1-alpha)
| Platform | Type | Download link |
|---|---|---|
| 🖥 Windows x64 | .msi |
Download |
| 🐧 Debian/Ubuntu Linux x64 | .deb |
Download |
| 🐧 RHEL/Fedora Linux x64 | .rpm |
Download |
| 🐧 Linux AppImage x64 | .AppImage |
Download |
| 🌐 Linux Archive x64 | .tar.gz |
Download |
| 🌐 Windows Archive x64 | .zip |
Download |
| 🍎 macOS DMG x64 | .dmg |
Download |
| 🍎 macOS DMG arm64 | .dmg |
Download |
- Choose your platform distrib.
- Click download.
- Follow installation.
All app settings are saved in the local user folder in file config.json:
- MacOS:
~/Library/Application Support/NC Talk Electron - Windows 7 and newer:
%AppData%\NC Talk Electron - Linux
~/.config/NC Talk Electron
Supported setting arguments (see example.config.json):
server_url- Nextcloud Server URL with installed Talk application (it is also supported as app CLI argument, use it as--server_url=http:\\nextcloud.address.com)start_hidden- boolean true\false value means to hide app in tray on startup (default is false)app_icon_name- default application icon path name to use in GUI (dock, taskbar and so on, default is icon.png)show_on_notify- true\false value means to show app main window on every notification (default is false) (deprecated since v.0.2.5-alpha, checkshow_on_new_messageinstead boolean)show_on_new_message- true\false value means to show app main window on every new message received (default is false)use_server_icon- boolean true\false value means to use Nextcloud Server logo icon in GUI (dock, taskbar and so on, default is falserun_at_startup- boolean true\false value means to start on system user logon (default is false)locale- locale country code of app language (default is en)allow_domain- comma-separated string with the list of SSO allowed domains, * wildcard supported (use "*" only for all domains, but it maybe insecure)always_on_top- true\false value means to show app main window on top of every other windows (default is false)auto_login- true\false value means to try auto login (make sure you have configured allow_domain and SSO in NC)logging- boolean true\false value means to save application logs to the file app.log in local user folder (nearby config.json)theme- application theme (dark, light, auto; default is auto)notification_timeout- time period of notification show (in seconds, 0 - means to wait of user action) (deprecated since v.0.6.0, checknotification_timeout_checkboxinstead boolean)notification_timeout_checkbox- true\false value means to allow notifications in app (default is true)notification_sys_checkbox- true\false value means to use system based notification instead of app internal (default is false)notification_position- bottom-right\bottom-left\top-right\top-left value means the position of app internal nitifications (default is bottom-right)notification_muted- true\false value means to mute all sounds from notifications and calls in app (default is false)sum_unread- true\false value means to sum unread message counters from all configured accounts and show this sum on the app tray icon only; corresponding account unread counter will remain at taskbar and macos dock icon (availlable since v.1.0.0-RC1)use_server_theme- true\false value means to get main theme color from the NC server and use it to customize background color of the app notification (availlable since v.1.0.0-RC1)
Build depends on the platform since 0.2.9-alpha version as it brings support of the system idle detect function.
For Windows:
choco install python312 visualstudio2019community visualstudio2019-workload-nativedesktop visualstudio2019buildtools windows-sdk-10.0
pip install setuptools
git clone https://github.com/drlight17/talk-electron
cd ./talk-electron
cp ./package.json.windows ./package.json
For Linux:
apt install libxss-dev pkg-config
git clone https://github.com/drlight17/talk-electron
cd ./talk-electron
cp ./package.json.linux ./package.json
For Macos:
git clone https://github.com/drlight17/talk-electron
cd ./talk-electron
cp ./package.json.windows ./package.json
Platform independent steps:
npm install -g node-gyp
npm install --save-dev electron-rebuild
npx electron-rebuild
To build win32 x86 (32bit) app remove node_modules\sharp\ after previous common commands, use package.json.win32-ia32 as package.json and run:
npm install --force --platform=win32 --arch=ia32 sharp
To run dev app use:
npm start
In dev mode config path includes '-dev'
To build distributive use:
npm run dist
If there are any module errors try to npx electron-rebuild before every npm start or npm run dist.
Also check package.json.linux and package.json.windows. Pay attention: package.json.windows should be used for macos development and build.
