{ "info": { "author": "Greg S.", "author_email": "enimihil@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: X11 Applications", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Topic :: Desktop Environment", "Topic :: System :: Monitoring", "Topic :: Utilities" ], "description": "===========\nDzenStatus\n===========\n\nDzenStatus is a configurable python script meant to drive a statusbar program\nlike dzen_, for use with window-managers like xmonad_ or ratpoison_. It is\nstill in early development, so your mileage may vary. (**Do** email me\nwith bugs or, preferrably, patches if you find breakage.)\n\nAdditional documentation will be added to the wiki_ as it is produced.\n\nSo without further ado...\n\n.. _dzen: http://gotmor.googlepages.com/dzen\n.. _xmonad: http://xmonad.org\n.. _ratpoison: http://www.nongnu.org/ratpoison/\n.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools\n.. _Distribute: http://pypi.python.org/pypi/distribute\n.. _pip: http://pypi.python.org/pypi/pip\n.. _easy_install: http://peak.telecommunity.com/DevCenter/EasyInstall\n.. _ConfigParser: http:///docs.python.org/library/configparser.html\n.. _wiki: http://bitbucket.org/enimihil/dzenstatus/wiki\n\n.. contents::\n\nChangeLog\n=========\n\nVersion 0.1.4\n - Fix packaging. Should now actually be installable with ``easy_install``\n or ``pip``.\n\nVersion 0.1.3\n - Make simple changes to run on python3 and python2.6 or higher. \n\n - Added a simple mpd plugin, requires python-mpd to work. (No dependency\n has been added, you can safely ignore the plugin entirely without any ill\n effects, but python-mpd is required to use the plugin.)\n\nVersion 0.1.2\n - Fix hardcoded battery and AC adaptor names in the battery plugin.\n\nVersion 0.1.1\n - Fixed an issue with trying to be too smart with encodings.\n\nVersion 0.1.0\n - Initial release.\n\nInstalling\n==========\n\nInstalling DzenStatus should be a simple matter of using pip_ (or easy_install_\nif you must)::\n\n pip install DzenStatus\n\nIf you don't want, or can't, install using easy_install_ then, assuming you\nhave setuptools_ installed (which is *required* for DzenStatus to run, or at\nleast `pkg_resources`_), you can download the egg-file, mark it executable (or\neggsecutable, as it were), and run it directly. This is not recommended.\nSource distributions are also provided. (``python setup.py install``)\n\n.. note::\n Setuptools_ is *required* for DzenStatus to work, in particular, it uses\n the ``pkg_resources`` entry point tools to discover and load plugins.\n There are no other requirements (other than a python installation). This\n requirement *is* fulfilled by the Setuptools_ fork, Distribute_.\n\nAfter installing with easy_install_ you should have two new commands in your\npath, ``dzenstatus`` and ``dzenstatus_pipe``. The ``dzenstatus`` command runs\nthe configured statusbar program (from the `configuration file`_), typically\ndzen_ and directly pipes it's output to the standard in of that process.\n\n``dzenstatus_pipe`` is available for those who would rather pipe the output of\n``dzenstatus`` to its destination manually (helpful if you want to integrate\nDzenStatus into an existing statusbar script).\n\n.. _`configuration file`:\n\nConfiguration\n=============\n\nDzenStatus is configured by a single configuration file located in\n``~/.dzenstatus/config.ini``. The configuration file uses the standard python\nConfigParser_ format. An `example configuration file`_ is available in the\ndistribution.\n\nFull documentation for each plugin is provided in the `source code`_ as\ndocstrings.\n\n.. _`example configuration file`: http://bitbucket.org/enimihil/dzenstatus/src/tip/config.example.ini\n.. _`source code`: http://bitbucket.org/enimihil/dzenstatus/src/tip/dzenstatus.py\n\nRunning DzenStatus\n==================\n\nOnce you have a configuration you like, you can add it to your ``.xinitrc`` or\n``.xsession`` file in several different ways::\n\n dzenstatus&\n\nThis is the simplest way, just invoking DzenStatus, letting it take care of all\nthe statubar startup and not using a plugin that reads from standard input. If\nyou have a window manager that writes useful information to standard output you\nmay wish to capture it like so (assuming you have a suitable DzenStatus plugin\nconfigured to read standard input)::\n\n /path/to/my/wm | dzenstatus\n\nIf you wish to have DzenStatus write it's output directly to standard output,\ninstead of spawning the statusbar program itself, you would use something like::\n\n /path/to/my/wm | dzenstatus_pipe | /path/to/my/statusbar_sink\n\nIt is also possible to use a FIFO (named pipe) to allow you to restart\nDzenStatus without restarting the window manager yet keeping the ability to read\nthe output.\n\n::\n\n mkfifo .status_fifo\n cat .status_fifo | dzenstatus&\n /path/to/my/wm > .status_fifo\n\nOr you can tell DzenStatus to directly read the FIFO with the ``read_fd``\nplugin, instead of reading from standard input.\n\n::\n\n mkfifo .status_fifo\n dzenstatus&\n /path/to/my/wm > .status_fifo\n\n\nWriting DzenStatus Plugins\n==========================\n\nDzenStatus uses pkg_resources_ to load plugins, so writing a plugin doesn't\nrequire you to patch or modify the base DzenStatus installation at all.\n\n.. _pkg_resources: http://peak.telecommunity.com/DevCenter/PkgResources\n\nPlugin Structure\n----------------\n\nA plugin will be found by DzenStatus if it declares an entry point for\n``dzenstatus.plugins.v1`` (where the ``v1`` is the version number of the plugin\ninterface). The entry point must be a callable that takes a dictionary mapping\nstrings to strings of configuration data, and returning a tuple of three\nelements:\n\n - The configured name of the *instance* of the plugin (passed in as\n config['name']).\n - The *update predicate* of the plugin instance. This must be a callable\n taking two arguments, the current seconds since the epoch, and the last\n time (in seconds since the epoch) an update was checked for.\n - The *update function* this is a callable that takes no arguments and\n returns a string that will be included for this instance of the plugin in\n the output. It should *not* contain newlines.\n\nExample\n-------\n\nAs an example, let's reimplement the ``static`` plugin that is already included\nwith DzensStatus.\n\nFirst, since DzenStatus uses entry points, we need a ``setup.py`` file::\n\n #!/usr/bin/env python\n\n from setuptools import setup\n\n setup(\n name = \"ExampleDzenStatusPlugin\",\n \n version = \"0.0 example\",\n packages = find_packages(),\n\n entry_points = {\n 'dzenstatus.plugins.v1' : [\n 'example_static = example_dzenstatus:example_plugin_static',\n ],\n },\n\n description = \"A minimal example plugin for DzenStatus\",\n license = \"GPL\",\n )\n\nThe key thing to note is how to declare the entry point for the plugin. All the\nother parts are standard setuptools_ that you should already be familiar with.\n\nNow the implementation of our plugin::\n\n # example_dzenstatus.py\n '''\n An example DzenStatus plugin.\n '''\n from dzenstatus import UPDATE_ONCE\n\n def example_plugin_static(config):\n '''\n A simple plugin that returns static text.\n\n text is the only required config parameter.\n '''\n return (config['name'], UPDATE_ONCE(), lambda: config['text'])\n\nNow, you can install the plugin using ``easy_install`` or by running the\n``setup.py`` file.\n\n::\n\n $ python setup.py develop\n\nNow, you can place a section into your DzenStatus config file that looks like::\n\n [example_static_inst]\n plugin=example_static\n text=I'm an example!\n\nIf you run DzenStatus you will now see that the plugin is loaded and the text is\noutput.\n\nThe simplest way to distribute your plugin is via an egg that is placed in the\nplugins directory configured by the config file. This requires no additional\ninstallation and makes the installation as easy as copying a file.\n\nSee the code_ of DzenStatus for more examples (especially for how to deal with\nfile descriptors and polling for available input).\n \n.. _code: http://bitbucket.org/enimihil/dzenstatus/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/enimihil/dzenstatus", "keywords": "status dzen dzen2 statusbar", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "DzenStatus", "package_url": "https://pypi.org/project/DzenStatus/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/DzenStatus/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/enimihil/dzenstatus" }, "release_url": "https://pypi.org/project/DzenStatus/0.1.4/", "requires_dist": null, "requires_python": null, "summary": "A flexible (pkg_resources) plugin-based script for creating dzen2 status bars.", "version": "0.1.4" }, "last_serial": 784174, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "970dd04323652ced404abef74d8d8d1f", "sha256": "3841037a0d866a03597298e91da3aba82511b3c1f244ca2208aa1df08c559c5a" }, "downloads": -1, "filename": "DzenStatus-0.1.0-py2.5.egg", "has_sig": false, "md5_digest": "970dd04323652ced404abef74d8d8d1f", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 16199, "upload_time": "2009-02-11T19:16:46", "url": "https://files.pythonhosted.org/packages/9f/23/b1c92414e7aeba7e80ee78c294c4652e8d7786bae8f0e42fcb269afc0eb3/DzenStatus-0.1.0-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "b57c9e40bd99044bb0f6ea60e7b40baa", "sha256": "99666563a3bf3ad9176fb17618dabbc16102cd9d09858ebbe499d2a5a147b647" }, "downloads": -1, "filename": "DzenStatus-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b57c9e40bd99044bb0f6ea60e7b40baa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8811, "upload_time": "2009-02-11T19:16:59", "url": "https://files.pythonhosted.org/packages/f6/bf/2154866066ab8f38f3ac23222bfd60177f1bfa9f902837070deabe969e50/DzenStatus-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "09141cec7e1a14c60519e47aae0ffcbe", "sha256": "22f65000ee85fb286deaa6417c7982733a2824bc4e58bc6f670f1d8aded5c586" }, "downloads": -1, "filename": "DzenStatus-0.1.1-py2.5.egg", "has_sig": false, "md5_digest": "09141cec7e1a14c60519e47aae0ffcbe", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 16176, "upload_time": "2009-02-18T19:10:23", "url": "https://files.pythonhosted.org/packages/17/9a/0e211d931c58af902bae3c1d7ce664f4cf4d73c96f0f948b3eb6d0276dfb/DzenStatus-0.1.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "cca9b6e964dbaa7aa808d367836e155f", "sha256": "f42f611620514fe3de8154f2f7908c019558711590b8f60dc3b59590f3999538" }, "downloads": -1, "filename": "DzenStatus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cca9b6e964dbaa7aa808d367836e155f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8800, "upload_time": "2009-02-18T19:10:29", "url": "https://files.pythonhosted.org/packages/5a/b7/a1e09cde7cbd22bb3a8494c09f712bb919041edb04f40405a915610174a9/DzenStatus-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "87fa4876d28afcdbb6f1202d039e4d7f", "sha256": "853b2bf1a8fec6cca1dff7a9651b0c762b536f6a6afd32c8a1ddf2ca6497ece8" }, "downloads": -1, "filename": "DzenStatus-0.1.2-py2.4.egg", "has_sig": false, "md5_digest": "87fa4876d28afcdbb6f1202d039e4d7f", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 16888, "upload_time": "2009-05-28T22:31:50", "url": "https://files.pythonhosted.org/packages/06/18/8503c5f880a55dea24b4674595279f88e32b97f476dcb31435351eb141c1/DzenStatus-0.1.2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "e589795902a642a3dbc289c43a025bea", "sha256": "f7e8c91f18c39d92b8ea2a9355b8e5322f4ba3db65fe01b4b1f2f2df9abc8a9d" }, "downloads": -1, "filename": "DzenStatus-0.1.2-py2.5.egg", "has_sig": false, "md5_digest": "e589795902a642a3dbc289c43a025bea", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 16595, "upload_time": "2009-05-28T22:32:00", "url": "https://files.pythonhosted.org/packages/50/8c/3f404959a6884a0af906c482e7dbc58fb1ef80dd5e55aaf479a5bc40f609/DzenStatus-0.1.2-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "39e01f2b7110d66d180d058f7c5e9a49", "sha256": "26dedbee05b16bbe921d3ec1ce75793604ae2f23a6c6831d6d715fcc1585d1e2" }, "downloads": -1, "filename": "DzenStatus-0.1.2-py2.6.egg", "has_sig": false, "md5_digest": "39e01f2b7110d66d180d058f7c5e9a49", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 16590, "upload_time": "2009-05-28T22:32:11", "url": "https://files.pythonhosted.org/packages/f6/5d/9c9ab7a430c34db054f99b60d73f596b32e0bf0c11f908d4dd8ec031e48a/DzenStatus-0.1.2-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "8d87ca1dd72f926bb7b98beb14f1150f", "sha256": "1ac8b39fa50d3a8ca36cbc93ace49a4f53009abd07694563b6de95bef1fa59a3" }, "downloads": -1, "filename": "DzenStatus-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8d87ca1dd72f926bb7b98beb14f1150f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9031, "upload_time": "2009-05-28T22:32:11", "url": "https://files.pythonhosted.org/packages/82/cc/6a09df1d895d221a54387c723d17a4d12339bb450cb6c13ca9f8d5253de6/DzenStatus-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "de7a7d0bf217d31253dcb3026358bfc6", "sha256": "b964daf02cdd78854d26634bb4ce1fdbdec63c4f4d161cdc0eaece6a793a4ba1" }, "downloads": -1, "filename": "DzenStatus-0.1.3-py2.6.egg", "has_sig": false, "md5_digest": "de7a7d0bf217d31253dcb3026358bfc6", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 18368, "upload_time": "2009-12-10T18:54:35", "url": "https://files.pythonhosted.org/packages/80/47/f51c5987a9119a167d76ea351ede50d9fe4e702f9f10e91130d286d6a2ca/DzenStatus-0.1.3-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "34cbcbe558ae299d73567bd26c1427e2", "sha256": "880b33ec91965d2ae0253160c9a897e0e66547b79be54ef756faccca240ff177" }, "downloads": -1, "filename": "DzenStatus-0.1.3-py3.1.egg", "has_sig": false, "md5_digest": "34cbcbe558ae299d73567bd26c1427e2", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 18349, "upload_time": "2009-12-10T18:54:54", "url": "https://files.pythonhosted.org/packages/6c/aa/926932117883b0a0fa9f7f4c2e60404ac182a58439a216d7db584517730e/DzenStatus-0.1.3-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "3862d89b549aecc8caebcee611805962", "sha256": "7f6033266c1102689f7384151cef91ab59c468a16ec3e2176418235cab825cc6" }, "downloads": -1, "filename": "DzenStatus-0.1.3.tar.gz", "has_sig": false, "md5_digest": "3862d89b549aecc8caebcee611805962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12435, "upload_time": "2009-12-10T18:54:17", "url": "https://files.pythonhosted.org/packages/14/c6/214d6317c362396725ed88de037ee4df7e181b139d6fb3476a3219bbec66/DzenStatus-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e9b8ff1f30f432ce0bf008f6747232dd", "sha256": "9c2b1e5b0872354557ff004d98a6d0731e80fa92464774465d8ad326109b4e33" }, "downloads": -1, "filename": "DzenStatus-0.1.4-py2.6.egg", "has_sig": false, "md5_digest": "e9b8ff1f30f432ce0bf008f6747232dd", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 18583, "upload_time": "2010-10-12T15:25:28", "url": "https://files.pythonhosted.org/packages/a6/84/251b19ad30c3cafca6da28ee1647e3ff69e30b33e64075d0e1d8146c7209/DzenStatus-0.1.4-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "7d034b83cb492f257688c68ffcb4174c", "sha256": "a68c58972e7267ce75d8355789f18b32d5b359dfc9d4bf09a5736e2031933300" }, "downloads": -1, "filename": "DzenStatus-0.1.4-py3.1.egg", "has_sig": false, "md5_digest": "7d034b83cb492f257688c68ffcb4174c", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 18560, "upload_time": "2010-10-12T15:25:40", "url": "https://files.pythonhosted.org/packages/e1/dd/ff7e9201fa296a17908d8fe84b02aa54f4c7fdbfc35ec950a49f0eb79f81/DzenStatus-0.1.4-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "63a0d03120138015e644cbad44714439", "sha256": "44fc4c7e8e3b18bbe417866ad5576e59ad8323d4e4d634a0fc4cf4428de2e434" }, "downloads": -1, "filename": "DzenStatus-0.1.4.tar.gz", "has_sig": false, "md5_digest": "63a0d03120138015e644cbad44714439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13569, "upload_time": "2010-10-12T15:25:27", "url": "https://files.pythonhosted.org/packages/d1/b2/11c217e34888f9572a02df5f015665a776ac14f06bb04a8149c263b9b385/DzenStatus-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9b8ff1f30f432ce0bf008f6747232dd", "sha256": "9c2b1e5b0872354557ff004d98a6d0731e80fa92464774465d8ad326109b4e33" }, "downloads": -1, "filename": "DzenStatus-0.1.4-py2.6.egg", "has_sig": false, "md5_digest": "e9b8ff1f30f432ce0bf008f6747232dd", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 18583, "upload_time": "2010-10-12T15:25:28", "url": "https://files.pythonhosted.org/packages/a6/84/251b19ad30c3cafca6da28ee1647e3ff69e30b33e64075d0e1d8146c7209/DzenStatus-0.1.4-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "7d034b83cb492f257688c68ffcb4174c", "sha256": "a68c58972e7267ce75d8355789f18b32d5b359dfc9d4bf09a5736e2031933300" }, "downloads": -1, "filename": "DzenStatus-0.1.4-py3.1.egg", "has_sig": false, "md5_digest": "7d034b83cb492f257688c68ffcb4174c", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 18560, "upload_time": "2010-10-12T15:25:40", "url": "https://files.pythonhosted.org/packages/e1/dd/ff7e9201fa296a17908d8fe84b02aa54f4c7fdbfc35ec950a49f0eb79f81/DzenStatus-0.1.4-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "63a0d03120138015e644cbad44714439", "sha256": "44fc4c7e8e3b18bbe417866ad5576e59ad8323d4e4d634a0fc4cf4428de2e434" }, "downloads": -1, "filename": "DzenStatus-0.1.4.tar.gz", "has_sig": false, "md5_digest": "63a0d03120138015e644cbad44714439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13569, "upload_time": "2010-10-12T15:25:27", "url": "https://files.pythonhosted.org/packages/d1/b2/11c217e34888f9572a02df5f015665a776ac14f06bb04a8149c263b9b385/DzenStatus-0.1.4.tar.gz" } ] }