/vagrant-appindicator

Vagrant Application Indicator for Ubuntu

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

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