Metadata-Version: 2.1
Name: panel-indicator
Version: 0.0.1.dev1
Summary: A library to display any text in ubuntu unity panel
Home-page: https://github.com/ketankr9/panel-indicator.git
Author: Utsav Krishnan
Author-email: ketankr9@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: PyGObject (>=3.34.0)
Requires-Dist: pycairo

## Ubuntu Panel Indicator  


This library can be used to print the output of any script in the ubuntu unity panel.  

An example of internet donwload speed unity panel indicator built using this package.  
![Picture](internetSpeedIndicator.png)  
```
from panel_indicator import PanelIndicator
import subprocess

class MyIndicator(PanelIndicator):
    """ abstract function(set_new_value) returns a string """
    """ update_interval in seconds """
    def __init__(self, update_interval):
        self.current_val = 0
        PanelIndicator.__init__(self, update_interval)

    def set_new_value(self):
        out, err = self.bash_script_runner("/home/ketankr9/bin/netusage.sh")

        old_val = self.current_val
        self.current_val = int(out.strip().decode('utf-8'))

        # convert bytes to megabytes
        val = (self.current_val*1.0 - old_val)/10**3
        val /= self.update_interval

        if val/10**3 >= 1.0:
            # convert megabytes to gigabytes
            val /= 10**3
            val = round(val, 1)
            val = str(val) + " MB"
        else:
            val = round(val, 1)
            val = str(val) + " KB"

        return val

MyIndicator(1.5)
```  
>Skeleton:
```
from panel_indicator import PanelIndicator

class MyIndicator(PanelIndicator):
    def __init__(self, update_interval):
        PanelIndicator.__init__(self, update_interval)

    # runs after every 1 seconds
    def set_new_value(self):
        return "yayy"

MyIndicator(1)
```


