mirror of
https://github.com/dylanaraps/pywal.git
synced 2024-11-25 17:33:09 +01:00
Merge branch 'master' of github.com:dylanaraps/wal.py
This commit is contained in:
commit
8a0b380eb5
@ -61,18 +61,20 @@ def sort_colors(img, colors):
|
|||||||
if raw_colors[0][1] not in ["0", "1", "2"]:
|
if raw_colors[0][1] not in ["0", "1", "2"]:
|
||||||
raw_colors[0] = util.darken_color(raw_colors[0], 0.25)
|
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_special = {}
|
||||||
|
colors_hex = {}
|
||||||
|
|
||||||
colors_special.update({"background": raw_colors[0]})
|
colors_special.update({"background": raw_colors[0]})
|
||||||
colors_special.update({"foreground": raw_colors[15]})
|
colors_special.update({"foreground": raw_colors[15]})
|
||||||
colors_special.update({"cursor": raw_colors[15]})
|
colors_special.update({"cursor": raw_colors[15]})
|
||||||
|
|
||||||
colors_hex = {}
|
|
||||||
for index, color in enumerate(raw_colors):
|
for index, color in enumerate(raw_colors):
|
||||||
colors_hex.update({f"color{index}": color})
|
colors_hex.update({f"color{index}": color})
|
||||||
|
|
||||||
colors_hex["color8"] = util.set_grey(raw_colors)
|
|
||||||
colors["special"] = colors_special
|
colors["special"] = colors_special
|
||||||
colors["colors"] = colors_hex
|
colors["colors"] = colors_hex
|
||||||
|
|
||||||
|
@ -34,23 +34,6 @@ class Color:
|
|||||||
return f"[{self.alpha_num}]{self.hex_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):
|
def read_file(input_file):
|
||||||
"""Read data from a file and trim newlines."""
|
"""Read data from a file and trim newlines."""
|
||||||
with open(input_file, "r") as file:
|
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}"
|
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."""
|
"""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):
|
def disown(cmd):
|
||||||
|
@ -13,12 +13,6 @@ COLORS = util.read_file_json("tests/test_files/test_file.json")
|
|||||||
class TestUtil(unittest.TestCase):
|
class TestUtil(unittest.TestCase):
|
||||||
"""Test the util functions."""
|
"""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):
|
def test_read_file(self):
|
||||||
"""> Read colors from a file."""
|
"""> Read colors from a file."""
|
||||||
result = util.read_file("tests/test_files/test_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)
|
result = util.darken_color("#ffffff", 0.25)
|
||||||
self.assertEqual(result, "#bfbfbf")
|
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__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Loading…
Reference in New Issue
Block a user