This repository allows you to build a native Mac client for Signal, with some extra fixes and features that following this guide won't give you (thanks for the initial guide though!).
- Uses the Signal icon in task switcher
- External links will open correctly in your configured external browser
- Extra keyboard shortcuts
cmd+shift+[
andcmd+shift+]
switch to previous/next chats in your listcmd+f
,cmd+/
and/
focus the Search box
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 use
git clone https://github.com/dbalatero/signal-native.git
cd signal-native
yarn install
./bin/package
cp -r 'dist/Signal Private Messenger.app' /Applications
-
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 thenw
variables from the browser. It doesn't seem to add access to things likeprocess
orfs
, but more audit would be good. -
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. -
I should probably just contribute the keyboard shortcuts back to the Signal Desktop repo.
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.