Git Product home page Git Product logo

vagrant-appindicator's Introduction

Vagrant Application Indicator for Ubuntu Unity / Gnome

Application Indicator to display last known state of Vagrant-managed VMs in the notification area (system tray) on Ubuntu Unity and in Gnome.

Main features:

  • displays last known ("current") state of VMs
  • optionally, shows notifications when machines state changes
  • allows opening Terminal in the VM home directory from the indicator menu
  • allows bringing VMs up, halting them and destroying them via an indicator menu

alt tag

Usage

Install:

$ sudo pip install git+https://github.com/candidtim/vagrant-appindicator.git

Update

Vagrant AppIndicator will notify you automatically if a newer version is available (provided that there is an access to the internet). To update, run again same command as for install.

Update checker can be deactivated in the AppIndicator menu, if necessary.

Run

To run Vagrant AppIndicator, start it from Unity Dash or Gnome Desktop Menu (whichever desktop you use).

Few more details, if you want

Install process will install the indicator directly from the source code on GitHub. pip basically clones the repo and builds and installs everything locally. One can as well do all that manually (why though?) - see below if you're interested.

Just in case, you can as well run Vagrant AppIndicator from command line: use vgapplet or, nohup vgapplet &.

To uninstall Vagrant AppIndicator and all files accompanying it, run sudo pip uninstall vagrantappindicator.

Development

Project directory layout

  • bin/ - entry point scripts
  • img/ - image files used in runtime (icons)
  • vgapplet/ - root application package (all source code)
  • **/test/ - test packages
  • Makefile - provides basic tasks to run tests, run appindicator, etc.
  • setup.py - python packaging script
  • README - readme file for distributed pacakge
  • README.md - this file

Python 2 and Python 3

Current indicator implementation runs on both Python 2.7 and Python 3. All tests are as well executed on "both pythons".

Running and testing

Running tests

$ make venv  # run only once, or run again to re-create the virtualenv
$ make tests

Getting test coverage (reports to ./coverage/)

$ make cover

Creating python source package

$ make sdist

Running appindicator without installing it

$ make run

Building and installing/uninstalling locally

$ sudo make install
$ sudo make uninstall

Cleaning up the project directory (remove dist/, *.pyc, etc.)

$ make clean

Reminder - release process

  1. Make changes, update and run tests, ensure good coverage
  2. Update setup.py and change the version according to semantic versioning
  3. Tag new version; tag format is 'vX.Y.Z'; e.g.: v1.2.1
  4. Push changes and a new tag

Copying

Copyright 2014, candidtim

This Application Indicator is distributed under GNU GENERAL PUBLIC LICENSE, either version 3 of the License, or (at your option) any later version.

GPLv3

This copyright or licensing doesn't apply to the icons used in the AppIndicator. See Attributions below.

Attributions

Main AppIndicator is a modified version of the icon originally distributed under CC BY 3.0 license. Icon made by Picol from www.flaticon.com

vagrant-appindicator's People

Contributors

candidtim avatar hakansund avatar markbaas avatar tdebatty 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.