From c03b337d0837ff2516868584a17188031e372a06 Mon Sep 17 00:00:00 2001 From: Matthew Leonberger Date: Tue, 26 Sep 2017 20:41:56 +0900 Subject: [PATCH] Fixed Issue #100 Pywal was using sequences that iterm2 recommends against. See https://iterm2.com/documentation-escape-codes.html --- pywal/sequences.py | 19 +++++++------------ tests/test_sequences.py | 6 +++--- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/pywal/sequences.py b/pywal/sequences.py index 0d6e0e6..3362a04 100644 --- a/pywal/sequences.py +++ b/pywal/sequences.py @@ -8,12 +8,12 @@ from .settings import CACHE_DIR, OS from . import util -def set_special(index, color, iterm_name="h"): +def set_special(index, color, iterm_name="bg"): """Convert a hex color to a special sequence.""" alpha = util.Color.alpha_num if OS == "Darwin": - return "\033]P%s%s\033\\" % (iterm_name, color.strip("#")) + return "\033]1337;SetColors=%s=%s\a" % (iterm_name, color.strip("#")) if index in [11, 708] and alpha != 100: return "\033]%s;[%s]%s\007" % (index, alpha, color) @@ -31,12 +31,7 @@ def set_color(index, color): def set_iterm_tab_color(color): """Set iTerm2 tab/window color""" - red, green, blue = util.hex_to_rgb(color) - return """ - \033]6;1;bg;red;brightness;%s\a - \033]6;1;bg;green;brightness;%s\a - \033]6;1;bg;blue;brightness;%s\a - """ % (red, green, blue) + return "\033]1337;SetColors=tab=%s\a" % color.strip("#") def create_sequences(colors, vte): @@ -53,10 +48,10 @@ def create_sequences(colors, vte): # Source: https://goo.gl/KcoQgP # 10 = foreground, 11 = background, 12 = cursor foregound # 13 = mouse foreground - sequences.append(set_special(10, colors["special"]["foreground"], "g")) - sequences.append(set_special(11, colors["special"]["background"], "h")) - sequences.append(set_special(12, colors["special"]["cursor"], "l")) - sequences.append(set_special(13, colors["special"]["cursor"], "l")) + sequences.append(set_special(10, colors["special"]["foreground"], "fg")) + sequences.append(set_special(11, colors["special"]["background"], "bg")) + sequences.append(set_special(12, colors["special"]["cursor"], "curbg")) + sequences.append(set_special(13, colors["special"]["cursor"], "curbg")) if OS == "Darwin": sequences += set_iterm_tab_color(colors["special"]["background"]) diff --git a/tests/test_sequences.py b/tests/test_sequences.py index 2a993f5..dd3f887 100755 --- a/tests/test_sequences.py +++ b/tests/test_sequences.py @@ -18,7 +18,7 @@ class Testsequences(unittest.TestCase): result = sequences.set_special(11, COLORS["special"]["background"]) if platform.uname()[0] == "Darwin": - self.assertEqual(result, "\033]Ph1F211E\033\\") + self.assertEqual(result, "\033]1337;SetColors=bg=1F211E\a") else: self.assertEqual(result, "\033]11;#1F211E\007") @@ -28,7 +28,7 @@ class Testsequences(unittest.TestCase): result = sequences.set_special(11, COLORS["special"]["background"]) if platform.uname()[0] == "Darwin": - self.assertEqual(result, "\033]Ph1F211E\033\\") + self.assertEqual(result, "\033]1337;SetColors=bg=1F211E\a") else: self.assertEqual(result, "\033]11;[99]#1F211E\007") @@ -44,7 +44,7 @@ class Testsequences(unittest.TestCase): def test_set_iterm_tab_color(self): """> Create iterm tab color sequences""" result = sequences.set_iterm_tab_color(COLORS["special"]["background"]) - self.assertEqual(len(result), 104) + self.assertEqual(result, "\033]1337;SetColors=tab=1F211E\a") if __name__ == "__main__":