summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pywal/colors.py7
-rw-r--r--pywal/util.py29
2 files changed, 15 insertions, 21 deletions
diff --git a/pywal/colors.py b/pywal/colors.py
index 64707be..56ab095 100644
--- a/pywal/colors.py
+++ b/pywal/colors.py
@@ -61,18 +61,21 @@ def sort_colors(img, colors):
if raw_colors[0][1] not in ["0", "1", "2"]:
raw_colors[0] = util.darken_color(raw_colors[0], 0.25)
+ # Create a comment color from the background.
+ raw_colors[8] = util.lighten_color(raw_colors[0], 0.40)
+
colors = {"wallpaper": img}
colors_special = {}
+ colors_hex = {}
+
colors_special.update({"background": raw_colors[0]})
colors_special.update({"foreground": raw_colors[15]})
colors_special.update({"cursor": raw_colors[15]})
- colors_hex = {}
for index, color in enumerate(raw_colors):
colors_hex.update({f"color{index}": color})
- colors_hex["color8"] = util.set_grey(raw_colors)
colors["special"] = colors_special
colors["colors"] = colors_hex
diff --git a/pywal/util.py b/pywal/util.py
index 2f5debc..63b5bbd 100644
--- a/pywal/util.py
+++ b/pywal/util.py
@@ -34,23 +34,6 @@ class Color:
return f"[{self.alpha_num}]{self.hex_color}"
-def set_grey(colors):
- """Set a grey color based on the brightness
- of another color."""
- return {
- "0": "#666666",
- "1": "#666666",
- "2": "#757575",
- "3": "#999999",
- "4": "#999999",
- "5": "#8a8a8a",
- "6": "#a1a1a1",
- "7": "#a1a1a1",
- "8": "#a1a1a1",
- "9": "#a1a1a1",
- }.get(colors[0][1], colors[7])
-
-
def read_file(input_file):
"""Read data from a file and trim newlines."""
with open(input_file, "r") as file:
@@ -114,9 +97,17 @@ def rgb_to_hex(color):
return f"#{color[0]:02x}{color[1]:02x}{color[2]:02x}"
-def darken_color(color, darkness):
+def darken_color(color, amount):
"""Darken a hex color."""
- return rgb_to_hex([int(col * (1 - darkness)) for col in hex_to_rgb(color)])
+ color = [int(col * (1 - amount)) for col in hex_to_rgb(color)]
+ print(color)
+ return rgb_to_hex(color)
+
+
+def lighten_color(color, amount):
+ """Lighten a hex color."""
+ color = [int(col + (255 - col) * amount) for col in hex_to_rgb(color)]
+ return rgb_to_hex(color)
def disown(cmd):