See more documentation in the docs
folder.
- Windows 10 v1703 build 15063 (Creators Update) or greater
- Visual Studio 2017 15.4 RC or greater
- Clone/fork the repository
- Open the Signal-Windows.sln in Visual Studio
- Build the solution
- Deploy to your target device
Signal-Windows is able to exchange messages with every other signal device. You may also send messages to yourself, they will be sent to all sibling devices. Use any signal client you like, and setup your deployed Signal-Windows instance:
Note: Signal-Windows master devices cannot yet link slaves. You can register Signal-Windows as a master on any supported W10 device using a virtual (e.g. Google Voice), mobile or landline phone number.
You can link Signal-Windows as a slave to any signal device capable of linking slaves.
Same procedure as with Signal-Desktop: Scan the qr-code.
Using a signal-cli master
Signal-Windows kindly also displays the tsdevice string below the qrcode. Use signal-cli addDevice --uri
like you would with a Signal-Desktop slave.
Beware: Only backup Libsignal.db if you know what you are doing. The Signal Protocol is stateful, so replacing the database with an older version will most likely corrupt existing sessions with your contacts.
If you want to backup your database files, Libsignal.db
and Signal.db
, you can find them in C:\Users\<USERNAME>\AppData\Local\Packages\2383BenediktRadtke.SignalPrivateMessenger_teak1p7hcx9ga\LocalCache\
On mobile these are found at LocalAppData\2383BenediktRadtke.SignalPrivateMessenger_<VERSION>_arm__teak1p7hcx9ga\LocalCache\
- Add a new Blank Page in
Signal-Windows/Views
. For example NewPage.xaml. - Add a new class in
Signal-Windows/ViewModels
. The name of the class should be theViewModel
appended to the page name. For example NewPageViewModel.cs. - Inherit from
ViewModelBase
(namespaceGalaSoft.MvvmLight
) in the new view model class. For examplepublic class NewPageViewModel : ViewModelBase
- Add a property for the new page in the new view model class. For example
public NewView View { get; set; }
- In the new view code behind add a property for the new view model class. For example
public NewPageViewModel Vm { get { return (NewPageViewModel)DataContext; } }
- In the new view code behind assign the view model
View
to the code behind class in the constructor. For example in the NewPage constructor addVm.View = this;
afterthis.InitializeComponent();
- In
Signal-Windows/ViewModels/ViewModelLocator.cs
register the new page view model inSimpleIoc
. For exampleSimpleIoc.Default.Register<NewPageViewModel>();
- Add a property that returns an instance of the new page view model. For example
public NewPageViewModel NewPageInstance { get { return ServiceLocator.Current.GetInstance<NewPageViewModel>(Key.ToString()); } }
- In the new page XAML set the DataContext of the page to the instance of the new page view model. This must be set in the Page opening tag. For example
DataContext="{Binding NewPageInstance, Source={StaticResource Locator}}"