Metadata-Version: 1.1
Name: i3configger
Version: 0.7.0
Summary: i3 config manipulation tool
Home-page: https://github.com/obestwalter/i3configger
Author: Oliver Bestwalter
Author-email: UNKNOWN
License: UNKNOWN
Description: |Project Status: Active – The project has reached a stable, usable state
        and is being actively developed.| |Build Status| |PyPI version|
        |Documentation|
        
        i3configger
        ===========
        
        **Disclaimer:** this is a tool aimed at users who already know how the
        configuration of `i3 <https://i3wm.org>`__ works (as described in the
        `excellent docs <https://i3wm.org/docs/userguide.html>`__). i3configger
        is an independent add-on, not directly affiliated with the project and
        in no way necessary to use i3 productively. It is strictly command line
        oriented and file based using a very slight enhancement of the existing
        i3 configuration format with some json sprinkled on top. If you are
        looking for a graphical tool to help you create a configuration, check
        out the `resources in the
        docs <http://oliver.bestwalter.de/i3configger/resources>`__.
        
        **NOTE** using i3configger will replace your existing config files
        (configs and optional status bar configs), but it will move them to
        ``<original-name>.bak`` if no backup exists yet, so that you can easily
        revert the damage if you want to go back to your old files.
        
        Why?
        ----
        
        I3 already has a very nice and simple configuration system. i3configger
        makes it a bit more malleable by making it possible to send "messages"
        to your configuration.
        
        How?
        ----
        
        You can change any variable you have defined in the configuration by
        invoking ``i3configger set <variable name> <new value>``.
        
        You can switch between alternative sub configurations (e.g. different
        color schemes) that conform with a simple naming convention
        (``config.d/<key>.<value1>.conf``, ``config.d/<key>.<value2>.conf``,
        etc.) by invoking e.g. ``i3configger select-next <key>`` or
        ``i3configger select <key> <value2>``.
        
        This is realized by adding a build step that can be triggered by calling
        i3configger directly or by running it as a watcher process that
        automatically rebuilds and reloads when source files change or messages
        are sent.
        
        To get an idea how this works, have a look at the
        `examples <https://github.com/obestwalter/i3configger/tree/master/examples>`__
        and `read the docs <http://oliver.bestwalter.de/i3configger>`__.
        
        `**Full Documentation is
        here** <http://oliver.bestwalter.de/i3configger>`__
        
        Installation
        ------------
        
        ::
        
            $ pip install i3configger
        
        See `docs <http://oliver.bestwalter.de/i3configger/installation>`__ For
        more details and different ways of installation.
        
        .. |Project Status: Active – The project has reached a stable, usable state and is being actively developed.| image:: http://www.repostatus.org/badges/latest/active.svg
           :target: http://www.repostatus.org/#active
        .. |Build Status| image:: https://travis-ci.org/obestwalter/i3configger.svg?branch=master
           :target: https://travis-ci.org/obestwalter/i3configger
        .. |PyPI version| image:: https://badge.fury.io/py/i3configger.svg
           :target: https://pypi.org/project/i3configger/
        .. |Documentation| image:: https://img.shields.io/badge/docs-sure!-brightgreen.svg
           :target: http://oliver.bestwalter.de/i3configger
        
        
        CHANGELOG
        =========
        
        0.7.0 (Better safe than sorry) - 2017-06-10
        -------------------------------------------
        
        Changed
        ~~~~~~~
        
        -  always create a backup of the users files if it does not exist
           already. Do **not** clobber it on subsequent builds to make sure you
           can always go back to your old files if needed, even if they are no
           external backups or SCM in place.
        
        0.6.0 (Command & Conquer) - 2017-06-10
        --------------------------------------
        
        Fixed
        ~~~~~
        
        -  wrong ordering of context merges (set was not working in all cases)
        
        Added
        ~~~~~
        
        -  new command: shadow - shadow arbitrary entries in
           ``i3configger.json``
        
        -  new command: merge - merge a ``.json`` file into ``.messages.json``
        
        -  new command: prune - opposite of merge: remove all keys from a given
           ``.json`` file in ``.messages.json``
        
        Changed
        ~~~~~~~
        
        -  renamed file containing frozen messages from ``.state.json`` to
           ``.messages.json``
        
        0.5.3 (KISS) - 2017-06-09
        -------------------------
        
        Changed
        ~~~~~~~
        
        -  de-rocket-science release process
        -  change description of tool
        
        0.5.2 (Releasing correctly is hard) - 2017-06-09
        ------------------------------------------------
        
        Fixed
        ~~~~~
        
        -  wrong CHANGELOG :)
        
        0.5.1 (Maybe I should test more) - 2017-06-09
        ---------------------------------------------
        
        Fixed
        ~~~~~
        
        -  .. rubric:: 4 repair watch and daemon mode
              :name: repair-watch-and-daemon-mode
        
        0.5.0 (Half way there) - 2017-06-08
        -----------------------------------
        
        Added
        ~~~~~
        
        -  proper documentation at http://oliver.bestwalter.de/i3configger/
        -  copy user or default config into ``config.d`` on initialization
        
        Removed
        ~~~~~~~
        
        -  end of line comments are not supported anymore (too much bug
           potential - would need some form of parsing already to make it work
           -> not worth the fuzz)
        
        Changed
        ~~~~~~~
        
        -  comments are not stripped from the build anymore
        -  notification is off by default: cli arg changed from ``--no-notify-``
           to ``--notify``
        
        Fixed
        ~~~~~
        
        -  checking the config with ``i3 -C`` did not work because ``-c`` (small
           c) was not passed and the passed path to the new config was silently
           ignored and the active config was checked instead
        
        0.4.4 (I am not alone) - 2017-06-05
        -----------------------------------
        
        Fixed
        ~~~~~
        
        -  .. rubric:: 2 - fails if not using i3status. Fixed by making the
              refresh call ignore any errors - not nice, just a quick fix.
              :name: fails-if-not-using-i3status.-fixed-by-making-the-refresh-call-ignore-any-errors---not-nice-just-a-quick-fix.
        
        0.4.3 - (The Curious Incident of the Dog in the Night-Time) - 2017-06-04
        ------------------------------------------------------------------------
        
        Added
        ~~~~~
        
        -  examples that are used as test cases
        
        Fixed
        ~~~~~
        
        -  some small fixes regarding selection
        
        0.4.2 (The answer) - 2017-06-03
        -------------------------------
        
        **Basic implementation**
        
        -  build main config and one or several i3status configs from the same
           sources
        -  variables are handled slightly more intelligently than i3 does it
           (variables assigned to other variables are resolved)
        -  end of line comments are possible (removed at build time)
        -  variables in i3status configs are also resolved (set anywhere in the
           sources)
        -  reload or restart i3 when a change has been done (using ``i3-msg``)
        -  notify when new config has been created and activated (using
           ``notify-send``)
        -  simple way to render partials based on key value pairs in file name
        -  simple way to change the configuration by sending messages
        -  build config as one shot script or watch for changes
        -  send messages to watching i3configger process
        -  if ``i3 -C fails`` with the newly rendered config, the old config
           will be kept, no harm done
        
        --------------
        
        **Note:** The format is based on `Keep a
        Changelog <http://keepachangelog.com/>`__ and this project adheres to
        `Semantic Versioning <http://semver.org/>`__.
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: POSIX :: Linux
Classifier: License :: OSI Approved :: MIT License
Classifier: Environment :: Console
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
