summaryrefslogtreecommitdiff
path: root/pywal/util.py
diff options
context:
space:
mode:
authorDylan Araps <dylan.araps@gmail.com>2017-07-28 11:56:30 +1000
committerDylan Araps <dylan.araps@gmail.com>2017-07-28 11:56:30 +1000
commitef9f8f28c9d8e2cc10e1b56063e41d41db90efbf (patch)
treebd353a00013721b101ff4850553ecc21859cbef0 /pywal/util.py
parent017547ff0a1dad869133c81d184a4a94f76b8f87 (diff)
colors: Darken bg if contrast is too low.
Diffstat (limited to 'pywal/util.py')
-rw-r--r--pywal/util.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/pywal/util.py b/pywal/util.py
index 06c0510..2f86811 100644
--- a/pywal/util.py
+++ b/pywal/util.py
@@ -20,7 +20,8 @@ class Color:
@property
def rgb(self):
"""Convert a hex color to rgb."""
- return hex_to_rgb(self.hex_color)
+ red, green, blue = hex_to_rgb(self.hex_color)
+ return f"{red},{green},{blue}"
@property
def xrgba(self):
@@ -99,8 +100,7 @@ def create_dir(directory):
def hex_to_rgb(color):
"""Convert a hex color to rgb."""
- red, green, blue = list(bytes.fromhex(color.strip("#")))
- return f"{red},{green},{blue}"
+ return tuple(bytes.fromhex(color.strip("#")))
def hex_to_xrgba(color):
@@ -109,6 +109,16 @@ def hex_to_xrgba(color):
return f"{col[1]}{col[2]}/{col[3]}{col[4]}/{col[5]}{col[6]}/ff"
+def rgb_to_hex(color):
+ """Convert an rgb color to hex."""
+ return f"#{color[0]:02x}{color[1]:02x}{color[2]:02x}"
+
+
+def darken_color(color, darkness):
+ """Darken a hex color."""
+ return rgb_to_hex([int(col * (1 - darkness)) for col in hex_to_rgb(color)])
+
+
def disown(*cmd):
"""Call a system command in the background,
disown it and hide it's output."""