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


Download files

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

Source Distribution

xthematic-0.0.3.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xthematic-0.0.3-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file xthematic-0.0.3.tar.gz.

File metadata

  • Download URL: xthematic-0.0.3.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xthematic-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2bf0143af60446108ac55baa967592e75c8f8f0460d94ddd066c048b66b4aee2
MD5 cf706547c5b16d474ccc0c65ff9b48c9
BLAKE2b-256 473fd2c7ab98fd1e6df4210c028c4b58c196854ae3983a18f2e6b83301c42145

See more details on using hashes here.

File details

Details for the file xthematic-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for xthematic-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ff38fc0e36ffea045fa3aa1aca1d5fca32ea919f53fdf56d6c156a3339b2c6
MD5 f10dabbe0d7a975df189c29795701198
BLAKE2b-256 205ba7e0e5998c8b954cdfa0078e0129d6da9b311442fb4f1605c7b50ae8a80b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page