Giter Club home page Giter Club logo

matterfront's Introduction

Build Status

Matterfront

This application is deprecated in favor of the official one

An application for Mattermost for OS X, Windows, and Linux, powered by Electron.

screenshot on OS X

Installation

First, clone down this project, and then from within that directory in your favorite terminal run:

> npm install
// installs packages....
> npm link
// creates a local symlink

You're now ready to start developing against your local mattermost installation. Make sure you have your config.json setup as noted in the steps below.

Connecting to your teams

Matterfront can connect to multiple teams. For now, the names and urls or your teams are pulled from a json file in your home directory.

Create a text file at ~/.matterfront/config.json. (Where ~ is your home directory). Make it look like this:

{
  "teams": [{
    "name": "team1",
    "url": "http://some.server.com/team1"
  },{
    "name": "team2",
    "url": "http://some.server.com/team2"
  }]
}

Note: each team must have a unique name specified in the config.

You should be able to provide your credentials when the mattermost page loads the first time.

Support for adding multiple teams through the UI is coming soon.

Electron and Chrome command-line args

Electron supports a subset of Chrome command-line switches when it starts up the main Chromium window. These command-line switches can be set via a config file in your home dir.

Create a text file at ~/.matterfront/config.json. (Where ~ is your home directory), and include a chrome-args key, like this:

{
  "chrome-args": {
    "remote-debugging-port":"2929",
    "no-proxy-server": ""
  }
}

Matterfront will read this file and apply each switch when it starts up the app. Note that config options that don't have a value can specify a value of "".

These values can also be specified via the developer command-line like this:

electron . --chrome-args:remote-debugging-port=2929 --chrome-args:no-proxy-server

Enabling the tray icon

Matterfront can show an icon in the tray, which is the notification area on Windows, or menu bar on OS X. To enable the tray icon, set the option showTrayIcon in your config.json, like this:

{
  "showTrayIcon": true
}

If the tray icon is enabled, Matterfront will not quit when the window is closed. Quit the process using the corresponding menu item of the tray icon.

Running in Developer Mode

To launch the app from source without building a distribution:

npm run start

To launch the app in watch mode:

npm run start-watch

While running in watch mode, any code changes will automatically be reflected in the running app as files are saved. If main process code changes, the whole app will restart. If browser-side code changes, the browser window will reload. Check out ./electron-watch.js for details.

Other dev tasks are also available as both "run-once" and "watch". Check out the package.json scripts block for details.

Testing

This project contains a Vagrant environment, consisting of a locally hostable mattermost instance you can use for testing. Alternatively, you can use your own production mattermost server.

Use your production Mattermost instance

After following the configuration steps above, run npm start from within your matterfront directory

Vagrant method

  1. Set up your config.json using "url":"http://192.168.33.33"
  2. run vagrant up from within your local copy of this repo
  3. run npm start

Building your own app

First follow the install instructions above. Then from within your project root, you can build for all platforms and distributions by running:

npm run build

This will output the following distributions into the /dist directory:

dist/
 |- matterfront-darwin-x64/
 |- matterfront-linux-ia32/
 |- matterfront-linux-x64/
 |- matterfront-win32-ia32/
 |- matterfront-win32-x64/

Each directory contains an executable for the platform listed. For more detailed build options, check out how to modify your build from within package.json by using the options from electron-packager to modify your built artifacts.

If you are on Linux or OS X, you need Wine for Windows builds.

Name and affiliation

Matterfront is a Mattermost frontend application. This application is in no way affiliated with nor endorsed by Mattermost. See Mattermost branding guidelines.

matterfront's People

Contributors

longlivechief avatar lloeki avatar teetrinkers avatar ringvold avatar cifvts avatar jovandeginste avatar

Watchers

James Cloos avatar Jim Lesperance avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.