Skip to main content

cli app for customizing terminals

Project description

xthematic
=========

modify, save and load terminal colors in a convenient manner.

Quick Demo
~~~~~~~~~~

A demo youtube video is available below that showcases the following:

- set colors from the terminal through hex codes:
- save the current colors as a theme with some name
- activate a theme in the terminal

|xthematic demo gif|

Installation
~~~~~~~~~~~~

python 3.6+ and pip are required.

.. code:: bash

pip install xthematic

Development version
'''''''''''''''''''

.. code:: bash

git clone https://github.com/taesko/xthematic.git && cd xthematic
pip install --user .

Logging setup (optional)
''''''''''''''''''''''''

Logs are written to /var/log/xthematic.log if this file doesn't exist or
can't be created because of permissions a warning is printed when the
app is invoked. Backups logs are written to
$XDG_CONFIG_HOME/xthematic/logs. You need to create the
/var/log/xthematic.log file with r/w permissions if you want to avoid
this.

.. code:: bash

sudo touch /var/log/xthematic.log
sudo chown username: /var/log/xthematic.log

Basic Usage
~~~~~~~~~~~

Complete help can be found at ``xthematic --help``.

The single executable ``xthematic`` is split into 3 subcommands -
``view``, ``color`` and ``theme``

xthematic view
^^^^^^^^^^^^^^

View colors in various formats through the terminal.

Takes a variable number of arguments in a colorview format and prints a
line with specific text, foreground and background colors.

the colorview format is made out of 3 fields seperated by ':' and fields
can be left empty to specify default values.

``{foreground_hex}:{background_hex}:{string}``

Note - '#' can be omitted at the start of hex codes.

e.g. ``FF0000:00FF00:"Hello World"`` - print "Hello World" with red text
and green background. \`FF0000::"Hello World"' - print "Hello World"
with red text and default background.

xthematic color
^^^^^^^^^^^^^^^

View or set terminal colors.

Takes two arguments - ``color_id`` and ``color``\ (optional). The first
must be an integer between 0 and 16 while the second a valid hex code
(the '#' can be omitted)

If only color_id is supplied the respectful terminal color is printed.
If both arguments are supplied that terminal color is set to the hex
value until the terminal session is closed.

xthematic theme
^^^^^^^^^^^^^^^

Activate, save and deactivate themes.

Takes a single argument - a name of a theme. Without any other optional
arguments prints the colors of the theme to the terminal. If a theme
name is not given it prints the current terminal colors.

Use the -a, -s, -d feature switches to activate, save or deactivate
themes.

Documentation
~~~~~~~~~~~~~

Man or info pages are not written the most complete documentation is:
``xthematic --help``

License
~~~~~~~

This project is licensed under the MIT License - see the
`LICENSE <https://github.com/taesko/xthematic/blob/master/LICENSE.txt>`__
file for details.

Authors
~~~~~~~

- Antonio Todorov

Acknowledgements
~~~~~~~~~~~~~~~~

- the `pywal <https://github.com/dylanaraps/pywal>`__ project for
inspiration and example of code printing escape sequences which was
part of the earliest version.

.. |xthematic demo gif| image:: https://img.youtube.com/vi/w0SPD3lVWHE/0.jpg
:target: https://www.youtube.com/watch?v=w0SPD3lVWHE


Project details


Release history Release notifications

This version
History Node

0.0.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
xthematic-0.0.3-py3-none-any.whl (14.3 kB) Copy SHA256 hash SHA256 Wheel py3
xthematic-0.0.3.tar.gz (13.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page