Color System#
Specific Color System#
Terminals support different kinds of ansi effects. adorable tries to select the one that fits the currently used terminal. So when creating colors without specifying a specific color system, text may appears different on other terminals. To avoid this you can specify a specific color system to use.
The best one is the one that is supported by most terminals. However it does not provide a large range of colors:
from adorable import Color3bit
RED = Color3bit.from_name("red")
Here we use Color3bit
instead of color
.
Note that Color3bit
is a class in the color
module.
Alternatively we can use fallback values:
from adorable import color
term = color.get_color()
if term == color.Color3bit:
WARN = color.from_name("red").bg
else:
WARN = color.from_name("orange").bg
There are many ways of handling supported colors due to the object orientated syntax!
Migrating to a specific color system#
Because the color
library provides the same
functions as its classes you can edit the import
if you have used the color
library in your
module:
# from
from adorable import color
# to
from adorable.color import Color3bit as color
color.from_hex(0xC0FFEE).fg # still works
Manipulating Third-party Color System#
It is possible to manually globally set a color system for your terminal by using an environment variable:
export ADORABLE_COLOR="xyz"
set ADORABLE_COLOR="xyz"
setx ADORABLE_COLOR="xyz"
where xyz
is one of:
nocolor
3bit
8bit
24bit
Alternatively you may use the adorable.use()
function. It works similar to setting the environment
variable:
import adorable
adorable.use("BIT3") # or: "NOCOLOR", "BIT8", "BIT24"