Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dbalatero/signal-native
Builds a wrapped native Signal client for Mac 64-bit
https://github.com/dbalatero/signal-native
client mac native nwjs osx signal
Last synced: 3 months ago
JSON representation
Builds a wrapped native Signal client for Mac 64-bit
- Host: GitHub
- URL: https://github.com/dbalatero/signal-native
- Owner: dbalatero
- Created: 2017-06-02T00:20:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-06-05T05:18:00.000Z (over 7 years ago)
- Last Synced: 2024-10-10T09:07:21.835Z (4 months ago)
- Topics: client, mac, native, nwjs, osx, signal
- Language: JavaScript
- Homepage:
- Size: 493 KB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# signal-native
![Signal](https://github.com/dbalatero/signal-native/raw/master/assets/icon_256.png "Signal")
This repository allows you to build a native Mac client for Signal, with some
extra fixes and features that following
[this guide](https://timtaubert.de/blog/2016/01/build-your-own-signal-desktop/)
won't give you (thanks for the initial guide though!).## Features
* Uses the Signal icon in task switcher
* External links will open correctly in your configured external browser
* Extra keyboard shortcuts
* `cmd+shift+[` and `cmd+shift+]` switch to previous/next chats in your list
* `cmd+f`, `cmd+/` and `/` focus the Search box## Build + install
Before you build, you'll need to have:
* yarn
* possibly nvm```
# This is the version I happened to use, it might work with any old version?
# You might be able to skip these nvm steps and move on to cloning the repo
nvm install 8.0.0
nvm usegit clone https://github.com/dbalatero/signal-native.git
cd signal-nativeyarn install
./bin/packagecp -r 'dist/Signal Private Messenger.app' /Applications
```## Open questions
1. How does the security model of nwjs affect the build of this client?
Currently we are passing `{ nodejs: true }` as an option to the client build,
which enables us to access the `nw` variables from the browser. It doesn't
seem to add access to things like `process` or `fs`, but more audit would be
good.2. Can we isolate the code that relies on `nodejs: true` in a better way?
nwjs documentation is a little spotty on this. It's really only needed for
this [external link fix](https://github.com/dbalatero/signal-native/blob/master/src/fix_external_links.js).3. I should probably just contribute the keyboard shortcuts back to the
Signal Desktop repo.## Develop new features
To start developing, you can run `brunch watch` in the background to
auto-build the project as you develop.To start a dev copy of the Signal app, just run `npm run dev`.
Once the app is open, you can right-click on the app and select Reload app to
refresh your changes. `brunch watch` will take care of rebuilding the source
as you save files.