# Whalebird [![CircleCI](https://img.shields.io/circleci/project/github/h3poteto/whalebird-desktop.svg?style=flat-square)](https://circleci.com/gh/h3poteto/whalebird-desktop) [![GitHub release](http://img.shields.io/github/release/h3poteto/whalebird-desktop.svg?style=flat-square)](https://github.com/h3poteto/whalebird-desktop/releases) [![App Store](https://img.shields.io/itunes/v/1378283354.svg?style=flat-square)](https://itunes.apple.com/us/app/whalebird/id1378283354) Whalebird is a mastodon client for desktop application. ![demo](screenshot.gif) ## Feature - An interface like slack - Notify to desktop - Streaming - Many keyboard shortcuts - Manage multiple accounts ### Shortcuts
MacLinux, Windows
Toot, Reply Cmd + Enter Ctrl + Enter
Change accounts Cmd + 1, 2, 3... Ctrl + 1, 2, 3...
Jump to another timeline Cmd + k Ctrl + k
Open new toot window Cmd + n Ctrl + n
Select next toot j j
Select previous toot k k
Reply to the toot r r
Reblog the toot b b
Favourite the toot f f
Open details of the toot o o
Open account profile of the toot p p
## Install ### Mac [![App Store](app-store.svg)](https://itunes.apple.com/us/app/whalebird/id1378283354) Or you can download `.dmg` from [release page](https://github.com/h3poteto/whalebird-desktop/releases). So on, you can install from Homebrew: ``` $ brew update $ brew cask install whalebird ``` :sparkles: Thanks to [@singingwolfboy](https://github.com/singingwolfboy) for adding it to [homebrew-cask](https://github.com/Homebrew/homebrew-cask/blob/cf568882b6e012956ca404a16be2db36ca873002/Casks/whalebird.rb). ### Linux You can download `.deb` or `.rpm` from [release page](https://github.com/h3poteto/whalebird-desktop/releases). If you do not want to use package manager, please download `.tar.bz2` file and docompress it. Or please install the app from [snapcraft.io](https://snapcraft.io/whalebird). ``` $ sudo snap install whalebird ``` ### Windows You can download `.exe` from [release page](https://github.com/h3poteto/whalebird-desktop/releases). ## Development We'd love you to contribute to Whalebird. ### Minimum requirements for development * Node.js greater than or equal version 8.9.0 * npm or yarn ### Getting started ``` bash # clone this repository $ git clone https://github.com/h3poteto/whalebird-desktop.git $ cd whalebird-desktop # install dependencies $ npm install # serve with hot reload at localhost:9080 $ npm run dev ``` ### How to add new language 1. First, please prepare [translation](https://github.com/h3poteto/whalebird-desktop/blob/master/src/config/locales/fr/translation.json), and [translation missing](https://github.com/h3poteto/whalebird-desktop/blob/master/src/config/locales/fr/translation.missing.json) file for your language. 2. Next, add your language to constants like [French](https://github.com/h3poteto/whalebird-desktop/blob/master/src/constants/language.js#L10-L13). 3. Finally, add your language at [here](https://github.com/h3poteto/whalebird-desktop/blob/master/src/renderer/components/Preferences/Language.vue#L37). If there is something unknown, please refer this pull request: https://github.com/h3poteto/whalebird-desktop/pull/502 ## Release ### Binary When you build release packages, please use `electron-builder`. ```bash # for linux $ npm run build:linux # for mac # This command automatically loads the Developer ID Application certificate from your keychain. $ npm run build:mac ``` ### AppStore Please prepare certificates on your Apple developer console. The following keys are required: - Mac App Distribution: `3rd Party Mac Developer Application: NAME (TEAM_ID)` - Mac Installer Distribution: `3rd Party Mac Developer Installer: NAME (TEAM_ID)` and register your KeyChain. Then, create a Mac App ID like `org.whalebird.desktop`. ```bash $ npm run build:mas # This command automatically loads the certificates from you keychain. $ ./appStore.sh ``` After that, the `.pkg` file is created under `./packages`. Please upload the `.pkg` to App Store using Application Loader in Xcode. ### Snapcraft First, please prepare snapcraft command. ```bash $ brew install snapcraft ``` And prepare docker environment which is used in snapcraft building. Build app for linux. ```bash $ npm run build:linux ``` And upload. ```bash $ snapcraft push build/whalebird_1.0.0_amd64.snap --release stable ``` # License The software is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).