This is not an official Facebook product, and is not affiliated with, or sponsored or endorsed by, Facebook.
A simple & beautiful desktop client for Facebook Messenger. Chat without distractions on OS X, Windows and Linux. Not affiliated with Facebook. This is NOT an official product.
@devs: If you're willing to help improve, fix or maintain the app, I can make you a collaborator to help me. Join me on Gitter and let's chat!
Thanks!
Note: If you download from the releases page, be careful what version you pick. Releases that end with -beta
are beta releases, the ones that end with -dev
are development releases, and the rest are stable. If you're unsure which to pick, opt for stable. Once you download the app, you'll be able to switch to another channel from the menu.
If you want to help me make Messenger for Desktop better, I recommend dev
or beta
. Let's go!
DMG or zip:
Applications
folderUsing brew:
brew cask install messenger-for-desktop
in your terminalApplications
brew
)Installer (recommended):
Portable:
Ubuntu, Debian 8+ (deb package):
dpkg -i messengerfordesktop-x.x.x-linux-arch.deb
in the terminalmessengerfordesktop
in a terminalYou can also use apt-get
(recommended):
# Download my gpg key to make sure the deb you download is correct
sudo apt-key adv --keyserver pool.sks-keyservers.net --recv 6DDA23616E3FE905FFDA152AE61DA9241537994D
# Add my repository to your sources list (skip if you've done this already)
# Replace <channel> with stable, beta or dev (pick stable if you're unsure)
echo "deb https://dl.bintray.com/aluxian/deb/ <channel> main" |
sudo tee -a /etc/apt/sources.list.d/aluxian.list
# Install Messenger for Desktop
sudo apt-get update
sudo apt-get install messengerfordesktop
Fedora, CentOS, Red Hat (RPM package):
rpm -ivh messengerfordesktop-x.x.x-linux-arch.rpm
in the terminalmessengerfordesktop
in a terminalYou can also use yum
(recommended):
# Add my repository to your repos list (skip if you've done this already)
sudo wget https://bintray.com/aluxian/rpm/rpm -O /etc/yum.repos.d/bintray-aluxian-rpm.repo
# Install Messenger for Desktop
sudo yum install messengerfordesktop.i386 # for 32-bit distros
sudo yum install messengerfordesktop.x86_64 # for 64-bit distros
Arch Linux (AUR):
yaourt -S messengerfordesktop
messengerfordesktop
in a terminalRepository URL: https://aur.archlinux.org/packages/messengerfordesktop/
Contributions are welcome! Please help me make Messenger for Desktop the best app for Facebook Messenger. For feature requests and bug reports please submit an issue or get in touch with me on Gitter or Twitter @aluxian.
Note: for some tasks, a GitHub access token might be required (if you get errors, make sure you have this token). After you generate it (see here if you need help;
repo
permissions are enough), set it as an env var:
- Unix:
export GITHUB_TOKEN=123
- Windows:
set GITHUB_TOKEN=123
If you want to build deb
and rpm
packages for Linux, you also need fpm. To install it on OS X:
sudo gem install fpm
brew install rpm
Global dependencies:
npm install -g gulp
Local dependencies:
npm install
cd src && npm install
The app uses native modules. Make sure you rebuild the modules before building the app:
gulp rebuild:<32|64>
During development you can use the watch
tasks, which have live reload. As you edit files in ./src
, they will be re-compiled and moved into the build
folder:
gulp watch:<darwin64|linux32|linux64|win32>
If you want to build it just one time, use build
:
gulp build:<darwin64|linux32|linux64|win32>
For production builds, set NODE_ENV=production
or use the --prod
flag. Production builds don't include dev modules.
gulp build:<darwin64|linux32|linux64|win32> --prod
NODE_ENV=production gulp build:<darwin64|linux32|linux64|win32>
To see detailed logs, run every gulp task with the --verbose
flag.
If you don't specify a platform when running a task, the task will run for the current platform.
To see debug messages while running the app, set the DEBUG
env var. This will print logs from the main process.
export DEBUG=messengerfordesktop:*
To open the webview dev tools, type this in the main dev tools console:
wv.openDevTools();
If you want to automatically open the webview dev tools, use:
localStorage.autoLaunchDevTools = true; // on
localStorage.removeItem('autoLaunchDevTools'); // off
You'll need to set these env vars:
SIGN_DARWIN_IDENTITY
SIGN_DARWIN_KEYCHAIN_NAME
SIGN_DARWIN_KEYCHAIN_PASSWORD
Pack the app in a neat .dmg:
gulp pack:darwin64:<dmg:zip> [--prod]
This uses node-appdmg which works only on OS X machines.
You'll need to set these env vars:
SIGNTOOL_PATH=
SIGN_WIN_CERTIFICATE_FILE=
SIGN_WIN_CERTIFICATE_PASSWORD=
Create an installer. This will also sign every executable inside the app, and the setup exe itself:
gulp pack:win32:installer [--prod]
Or, if you prefer, create a portable zip. This will also sign the executable:
gulp pack:win32:portable [--prod]
These tasks only work on Windows machines due to their dependencies: Squirrel.Windows and Microsoft's SignTool.
Create deb/rpm packages:
gulp pack:<linux32|linux64>:<deb|rpm> [--prod]
Make sure you've installed fpm.
develop -> staging -> deploy -> master
develop
. Every push to develop
will make the CIs run code linting and other checks.staging
. Every push to staging
will make the CIs build the app and upload it to Bintray at aluxian/artifacts, available for testing.deploy
. This will rebuild the app and upload it to GitHub, Bintray and other repositories.master
.