summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pywal/colors.py8
-rw-r--r--pywal/sequences.py2
-rw-r--r--pywal/settings.py2
-rw-r--r--pywal/util.py28
-rwxr-xr-xtests/test_util.py11
5 files changed, 21 insertions, 30 deletions
diff --git a/pywal/colors.py b/pywal/colors.py
index 64707be..2483acd 100644
--- a/pywal/colors.py
+++ b/pywal/colors.py
@@ -61,18 +61,20 @@ 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)
- colors = {"wallpaper": img}
+ # 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/sequences.py b/pywal/sequences.py
index c254de0..b94bd93 100644
--- a/pywal/sequences.py
+++ b/pywal/sequences.py
@@ -29,7 +29,7 @@ def set_color(index, color):
def set_iterm_tab_color(color):
- """Set iTerm2 window color"""
+ """Set iTerm2 tab/window color"""
red, green, blue = util.hex_to_rgb(color)
return [
f"\033]6;1;bg;red;brightness;{red}\a",
diff --git a/pywal/settings.py b/pywal/settings.py
index 61af72b..a8145db 100644
--- a/pywal/settings.py
+++ b/pywal/settings.py
@@ -13,7 +13,7 @@ import pathlib
import platform
-__version__ = "0.5.9"
+__version__ = "0.5.11"
HOME = pathlib.Path.home()
diff --git a/pywal/util.py b/pywal/util.py
index 2f5debc..9931958 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,16 @@ 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)]
+ 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):
diff --git a/tests/test_util.py b/tests/test_util.py
index 5f8e26d..bc551ef 100755
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -13,12 +13,6 @@ COLORS = util.read_file_json("tests/test_files/test_file.json")
class TestUtil(unittest.TestCase):
"""Test the util functions."""
- def test_set_grey(self):
- """> Get grey color based on brightness of color0"""
- colors = [list(COLORS["colors"].values())]
- result = util.set_grey(colors[0])
- self.assertEqual(result, "#666666")
-
def test_read_file(self):
"""> Read colors from a file."""
result = util.read_file("tests/test_files/test_file")
@@ -91,6 +85,11 @@ class TestUtil(unittest.TestCase):
result = util.darken_color("#ffffff", 0.25)
self.assertEqual(result, "#bfbfbf")
+ def test_lighten_color(self):
+ """> Lighten #000000 by 0.25."""
+ result = util.lighten_color("#000000", 0.25)
+ self.assertEqual(result, "#3f3f3f")
+
if __name__ == "__main__":
unittest.main()