2018-03-26 11:25:44 +02:00
# Whalebird
2018-08-15 08:21:49 +02:00
[![CircleCI ](https://img.shields.io/circleci/project/github/h3poteto/whalebird-desktop.svg?style=flat-square )](https://circleci.com/gh/h3poteto/whalebird-desktop)
2018-03-26 14:12:57 +02:00
[![GitHub release ](http://img.shields.io/github/release/h3poteto/whalebird-desktop.svg?style=flat-square )](https://github.com/h3poteto/whalebird-desktop/releases)
2018-08-15 08:28:30 +02:00
[![App Store ](https://img.shields.io/itunes/v/1378283354.svg?style=flat-square )](https://itunes.apple.com/us/app/whalebird/id1378283354)
2018-03-07 14:28:48 +01:00
2018-05-05 12:24:41 +02:00
2018-08-15 08:21:49 +02:00
Whalebird is a mastodon client for desktop application.
2018-03-07 14:28:48 +01:00
2018-04-16 16:31:39 +02:00
![demo ](screenshot.gif )
2018-03-23 16:05:24 +01:00
2018-03-22 17:06:49 +01:00
## Feature
2018-03-23 16:26:51 +01:00
- An interface like slack
2018-03-22 17:06:49 +01:00
- Notify to desktop
- Streaming
- Many keyboard shortcuts
- Manage multiple accounts
2018-03-23 16:14:42 +01:00
### Shortcuts
< table >
< thead >
2018-03-26 11:25:44 +02:00
< tr > < th > < / th > < th > Mac< / th > < th > Linux, Windows< / th > < / tr >
2018-03-23 16:14:42 +01:00
< / thead >
< tbody >
2018-08-22 13:56:39 +02:00
< tr > < td > Toot, Reply < / td > < td > < kbd > Cmd + Enter< / kbd > < / td > < td > < kbd > Ctrl + Enter< / kbd > < / td > < / tr >
< tr > < td > Change accounts < / td > < td > < kbd > Cmd + 1, 2, 3...< / kbd > < / td > < td > < kbd > Ctrl + 1, 2, 3...< / kbd > < / td > < / tr >
< tr > < td > Jump to another timeline < / td > < td > < kbd > Cmd + k< / kbd > < / td > < td > < kbd > Ctrl + k< / kbd > < / td > < / tr >
< tr > < td > Open new toot window < / td > < td > < kbd > Cmd + n< / kbd > < / td > < td > < kbd > Ctrl + n< / kbd > < / td > < / tr >
< tr > < td > Select next toot < / td > < td > < kbd > j< / kbd > < / td > < td > < kbd > j< / kbd > < / td > < / tr >
< tr > < td > Select previous toot < / td > < td > < kbd > k< / kbd > < / td > < td > < kbd > k< / kbd > < / td > < / tr >
< tr > < td > Reply to the toot < / td > < td > < kbd > r< / kbd > < / td > < td > < kbd > r< / kbd > < / td > < / tr >
< tr > < td > Reblog the toot < / td > < td > < kbd > b< / kbd > < / td > < td > < kbd > b< / kbd > < / td > < / tr >
< tr > < td > Favourite the toot < / td > < td > < kbd > f< / kbd > < / td > < td > < kbd > f< / kbd > < / td > < / tr >
< tr > < td > Open details of the toot < / td > < td > < kbd > o< / kbd > < / td > < td > < kbd > o< / kbd > < / td > < / tr >
< tr > < td > Open account profile of the toot< / td > < td > < kbd > p< / kbd > < / td > < td > < kbd > p< / kbd > < / td > < / tr >
2018-03-23 16:14:42 +01:00
< / tbody >
< / table >
2018-03-22 17:06:49 +01:00
## Install
### Mac
2018-08-15 08:28:30 +02:00
[![App Store ](app-store.svg )](https://itunes.apple.com/us/app/whalebird/id1378283354)
2018-05-15 02:08:37 +02:00
Or you can download `.dmg` from [release page ](https://github.com/h3poteto/whalebird-desktop/releases ).
2018-03-22 17:06:49 +01:00
2018-08-15 08:38:17 +02:00
So on, you can install from Homebrew:
```
$ brew update
2018-08-20 11:00:38 +02:00
$ brew cask install whalebird
2018-08-15 08:38:17 +02:00
```
2018-08-15 11:40:40 +02:00
: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 ).
2018-08-15 08:38:17 +02:00
2018-03-22 17:06:49 +01:00
### Linux
2018-03-27 07:08:11 +02:00
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.
2018-03-22 17:06:49 +01:00
2018-08-15 11:40:40 +02:00
Or please install the app from [snapcraft.io ](https://snapcraft.io/whalebird ).
```
$ sudo snap install whalebird
```
2018-05-15 02:08:37 +02:00
2018-03-22 17:06:49 +01:00
### Windows
2018-04-15 12:46:46 +02:00
You can download `.exe` from [release page ](https://github.com/h3poteto/whalebird-desktop/releases ).
2018-03-22 17:06:49 +01:00
## Development
2018-03-07 14:28:48 +01:00
2018-08-16 10:29:43 +02:00
We'd love you to contribute to Whalebird.
2018-08-15 20:20:06 +02:00
### Minimum requirements for development
* Node.js greater than or equal version 8.9.0
* npm or yarn
### Getting started
2018-03-07 14:28:48 +01:00
``` bash
2018-03-22 17:06:49 +01:00
# clone this repository
$ git clone https://github.com/h3poteto/whalebird-desktop.git
$ cd whalebird-desktop
2018-03-07 14:28:48 +01:00
# install dependencies
2018-03-22 17:06:49 +01:00
$ npm install
2018-03-07 14:28:48 +01:00
# serve with hot reload at localhost:9080
2018-03-22 17:06:49 +01:00
$ npm run dev
```
2018-03-07 14:28:48 +01:00
2018-08-18 12:30:07 +02:00
### 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
2018-03-22 17:06:49 +01:00
## Release
2018-03-30 17:50:00 +02:00
### Binary
When you build release packages, please use `electron-builder` .
2018-03-07 14:28:48 +01:00
2018-03-22 17:06:49 +01:00
```bash
# for linux
2018-03-26 11:25:44 +02:00
$ npm run build:linux
2018-03-07 14:28:48 +01:00
2018-03-22 17:06:49 +01:00
# for mac
2018-03-26 11:25:44 +02:00
# This command automatically loads the Developer ID Application certificate from your keychain.
$ npm run build:mac
2018-03-07 14:28:48 +01:00
```
2018-03-30 17:50:00 +02:00
### 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` .
2018-05-05 10:38:39 +02:00
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
```
2018-03-22 17:06:49 +01:00
# License
The software is available as open source under the terms of the [MIT License ](https://opensource.org/licenses/MIT ).