🎨 Generate and change color-schemes on the fly.
Go to file
2017-06-24 09:11:27 +10:00
.gitignore General: Add .gitignore 2017-06-23 11:29:30 +10:00
.travis.yml General: Remove requirements.txt 2017-06-23 11:30:38 +10:00
LICENSE.md General: Initial files 2017-06-17 00:50:13 +10:00
README.rst DOCS: Covnert README to rst. 2017-06-24 09:11:27 +10:00
setup.py General: Bump version 2017-06-22 23:21:10 +10:00
wal General: Cleanup 2017-06-23 15:21:02 +10:00

pywal (A ``wal`` rewrite in Python 3)
=====================================

.. image:: https://img.shields.io/badge/license-MIT-blue.svg
    :target: ./LICENSE.md

.. image:: https://travis-ci.org/dylanaraps/pywal.svg?branch=master
    :target: https://travis-ci.org/dylanaraps/pywal


``wal`` is a script that takes an image (or a directory of images),
generates a colorscheme (using ``imagemagick``) and then changes all of
your open terminal's colorschemes to the new colors on the fly. ``wal``
then caches each generated colorscheme so that cycling through
wallpapers while changing colorschemes is instantaneous. ``wal`` finally
merges the new colorscheme into the Xresources db so that any new
terminal emulators you open use the new colorscheme.

``wal`` can also change the colors in some other programs, check out the
`WIKI <https://github.com/dylanaraps/pywal/wiki>`__.

**NOTE:** ``wal`` is not perfect and won't work with some images.

`Albums of examples (Warning large) <https://dylanaraps.com/pages/rice>`__


.. image:: http://i.imgur.com/4aLsvvW.png


Requirements
------------

Dependencies
~~~~~~~~~~~~

-  ``python 3.6``
-  ``imagemagick``

   -  Colorscheme generation.

-  ``xfce``, ``gnome``, ``cinnamon``, ``mate``

   -  Desktop wallpaper setting.

-  ``feh``, ``nitrogen``, ``bgs``, ``hsetroot``, ``habak``

   -  Universal wallpaper setting.


Terminal Emulator
~~~~~~~~~~~~~~~~~

To use ``wal`` your terminal emulator must support a special type of
escape sequence. The command below can be used as a test to see if
``wal`` will work with your setup.

Run the command below, does the background color of your terminal become
red?

.. code:: sh

    printf "%b" "\033]11;#ff0000\007"

If your terminal's background color is now red, your terminal will work
with ``wal``.


Installation
------------

Pip install
~~~~~~~~~~~

.. code:: sh

    pip install pywal


Manual install
~~~~~~~~~~~~~~

Just grab the script (``wal``) and add it to your path.


Setup
-----

**NOTE:** If you get junk in your terminal, add ``-t`` to all of the
``wal`` commands.


Applying the theme to new terminals.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

``wal`` only applies the new colors to the currently open terminals. Any
new terminal windows you open won't be using the new theme unless you
add a single line to your shell's start up file. (``.bashrc``,
``.zshrc`` etc.) The ``-r`` flags tells ``wal`` to find the current
colorscheme inside the cache and then set it for the new terminal.

Add this line to your shell startup file. (``.bashrc``, ``.zshrc`` or
etc.)

.. code:: sh

    # Import colorscheme from 'wal'
    (wal -r &)

Here's how the extra syntax above works:

.. code:: sh

    &   # Run the process in the background.
    ( ) # Hide shell job control messages.


Making the colorscheme persist on reboot.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On reboot your new colorscheme won't be set or in use. To fix this you
have to add a line to your ``.xinitrc`` or whatever file starts programs
on your system. This ``wal`` command will set your wallpaper to the
wallpaper that was set last boot and also apply the colorscheme again.

Without this you'll be themeless until you run ``wal`` again on boot.

.. code:: sh

    # Add this to your .xinitrc or whatever file starts programs on startup.
    wal -i "$(< "${HOME}/.cache/wal/wal")"


Usage
-----

Run ``wal`` and point it to either a directory
(``wal -i "path/to/dir"``) or an image (``wal -i "/path/to/img.jpg"``)
and that's all. ``wal`` will change your wallpaper for you and also set
your terminal colors.

.. code:: sh

    usage: wal [-h] [-c] [-i "/path/to/img.jpg"] [-n] [-o "script_name"] [-q] [-r]
               [-t] [-v]

    wal - Generate colorschemes on the fly

    optional arguments:
      -h, --help            show this help message and exit
      -c                    Delete all cached colorschemes.
      -i "/path/to/img.jpg"
                            Which image or directory to use.
      -n                    Skip setting the wallpaper.
      -o "script_name"      External script to run after "wal".
      -q                    Quiet mode, don"t print anything.
      -r                    Reload current colorscheme.
      -t                    Fix artifacts in VTE Terminals. (Termite,
                            xfce4-terminal)
      -v                    Print "wal" version.


Customization
-------------

See the ``wal`` wiki!

**https://github.com/dylanaraps/pywal/wiki**