Coder Social home page Coder Social logo

xtaran / systray-mdstat Goto Github PK

View Code? Open in Web Editor NEW
10.0 4.0 0.0 218 KB

System tray icon indicating the state of local Linux Software (MD) RAIDs

License: GNU General Public License v3.0

Perl 100.00%
raid linux perl systray tray-icon disk gtk gtk3 xdg freedesktop

systray-mdstat's Introduction

systray-mdstat

Travis CI Build Status

systray-mdstat is a system tray icon indicating the state of local Linux Software (MD) RAID by checking /proc/mdstat periodically:

Screenshot of systray-mdstat notifications

It works at least on Linux and should work with any freedesktop.org-compliant status area (aka system tray).

Use Case

The use cases for this utility are probably rather restricted:

  • Desktop or laptop with Linux Software RAID (i.e. at least two permanent disks)

  • Not wanting to have any remote monitoring (e.g. for privacy reasons or due to lacking a permanent internet connection or an appropriate monitoring server).

Requirements

Installation

From a Distribution Package

systray-mdstat is available in most Debian-based distribution releases since about mid-2017:

Of course it's also available in rolling release distributions based on Debian Testing or Unstable:

  • Kali Linux
  • ParrotOS
  • PureOS

It's also available in these non-Debian based distributions:

For a complete and more current list of versions see the nice overview at Repology:

Packaging status

Building from a Release Tar Ball

Works like most Perl modules or perl-based applications:

$ tar xzf systray-mdstat systray-mdstat-<version>.tar.gz
$ cd systray-mdstat-<version>
$ perl Makefile.PL
$ make
$ make test
$ make install

Building from a Git Checkout

  • Requires Dist::Zilla. Once Dist::Zilla is installed, running dzil authordeps will list the additionally needed Dist::Zilla plugins. After installing them, use dzil build to get a tar ball usable with any CPAN-compatible toolset.

    Afterwards continue as above.

  • Building the Debian package from Git source requires the above plus dh-dist-zilla (which is also available as binary package in more recent releases of Debian and Ubuntu). Running dpkg-checkbuilddeps in the cloned git repository will list all missing build dependencies.

Companion Tools

Similar Tools

Version Number Scheme

systray-mdstat adheres to Semantic Versioning, hence all version numbers have the scheme Break.Feature.Bugfix.

Author, Copyright and License

Copyright © 2017-2020 by Axel Beckert [email protected]

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see GNU's website for an online copy.

Notes

systray-mdstat's People

Contributors

real-dam avatar xtaran avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

systray-mdstat's Issues

Needs a test suite

Automated testing should find grave issues like this Debian bug report with ease. This would also open the doors for things like using Travis CI, Debian's (as-installed) autopkgtest, etc.

One possible tool respectively test library to run such tests is X11::GUITest. Another thing would be to separate GUI code and functionality as much as possible to be able to test as much as possible without running the GUI.

Two more ideas for that:

  • Don't run main() function if loaded as library to be able to test all contained functions separately.
  • Add option to pass alternate location of (e.g. fake) /proc/mdstat.

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.