summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Araps <dylan.araps@gmail.com>2017-12-27 21:07:26 +1100
committerDylan Araps <dylan.araps@gmail.com>2017-12-27 21:07:26 +1100
commit695ae1ffb22f64f4b26a282a49b08a9ce635c9e6 (patch)
tree8d5841471be7a7ec6ba9bc78784bb5d06420f591
parent0e59e34d8ed15480bd61595be1e98b387770676e (diff)
parente68495b0a5f29176e14b0ccb03792a88cc88a296 (diff)
Merge branch 'master' of github.com:dylanaraps/pywal
-rw-r--r--pywal/__main__.py18
-rw-r--r--pywal/reload.py15
-rw-r--r--pywal/sequences.py21
3 files changed, 23 insertions, 31 deletions
diff --git a/pywal/__main__.py b/pywal/__main__.py
index e7f2aef..ed6e069 100644
--- a/pywal/__main__.py
+++ b/pywal/__main__.py
@@ -56,14 +56,14 @@ def get_args(args):
don't display notifications.")
arg.add_argument("-r", action="store_true",
- help="Reload current colorscheme.")
+ help="Deprecated: Use \
+ (cat ~/.cache/wal/sequences &) instead.")
arg.add_argument("-R", action="store_true",
help="Restore previous colorscheme.")
- arg.add_argument("-t", action="store_true",
- help="Fix artifacts in VTE Terminals. \
- (Termite, xfce4-terminal)")
+ arg.add_argument("-t", action="store_false",
+ help="Deprecated: Does nothing and is no longer needed.")
arg.add_argument("-v", action="store_true",
help="Print \"wal\" version.")
@@ -90,6 +90,10 @@ def process_args(args):
print("wal", __version__)
sys.exit(0)
+ if args.r:
+ print("Deprecated: Use (cat ~/.cache/wal/sequences &) instead.")
+ sys.exit(1)
+
if args.q:
sys.stdout = sys.stderr = open(os.devnull, "w")
@@ -97,10 +101,6 @@ def process_args(args):
scheme_dir = os.path.join(CACHE_DIR, "schemes")
shutil.rmtree(scheme_dir, ignore_errors=True)
- if args.r:
- reload.colors(args.t)
- sys.exit(0)
-
if args.a:
util.Color.alpha_num = args.a
@@ -125,7 +125,7 @@ def process_args(args):
colors_plain["colors"]["color0"] = args.b
if args.i or args.f:
- sequences.send(colors_plain, args.t)
+ sequences.send(colors_plain)
if not args.n:
wallpaper.change(colors_plain["wallpaper"])
diff --git a/pywal/reload.py b/pywal/reload.py
index 7937e8f..f66cc96 100644
--- a/pywal/reload.py
+++ b/pywal/reload.py
@@ -2,7 +2,6 @@
Reload programs.
"""
import os
-import re
import shutil
import subprocess
@@ -65,17 +64,3 @@ def env(xrdb_file=None):
sway()
polybar()
print("reload: Reloaded environment.")
-
-
-def colors(vte, cache_dir=CACHE_DIR):
- """Reload the current scheme."""
- sequence_file = os.path.join(cache_dir, "sequences")
-
- if os.path.isfile(sequence_file):
- sequences = "".join(util.read_file(sequence_file))
-
- # If vte mode was used, remove the unsupported sequence.
- if vte:
- sequences = re.sub(r"\]708;(\[.{0,3}\])?\#.{6}", "", sequences)
-
- print(sequences, end="")
diff --git a/pywal/sequences.py b/pywal/sequences.py
index 7b6f4ae..e82ee6e 100644
--- a/pywal/sequences.py
+++ b/pywal/sequences.py
@@ -39,16 +39,12 @@ def set_iterm_tab_color(color):
""" % (red, green, blue)
-def create_sequences(colors, vte):
+def create_sequences(colors):
"""Create the escape sequences."""
# Colors 0-15.
sequences = [set_color(index, colors["colors"]["color%s" % index])
for index in range(16)]
- # This escape sequence doesn"t work in VTE terminals.
- if not vte:
- sequences.append(set_special(708, colors["special"]["background"]))
-
# Special colors.
# Source: https://goo.gl/KcoQgP
# 10 = foreground, 11 = background, 12 = cursor foregound
@@ -61,12 +57,23 @@ def create_sequences(colors, vte):
if OS == "Darwin":
sequences += set_iterm_tab_color(colors["special"]["background"])
+ # This escape sequence doesn't work in VTE terminals and their parsing of
+ # unknown sequences is garbage so we need to use some escape sequence
+ # M A G I C to hide the output.
+ # \0337 # Save cursor position.
+ # \033[1000H # Move the cursor off screen.
+ # \033[8m # Conceal text.
+ # \033]708;#000000\007 # Garbage sequence.
+ # \0338 # Restore cursor position.
+ sequences.append("\0337\033[1000H\033[8m\033]708;%s\007\0338" %
+ colors['special']['background'])
+
return "".join(sequences)
-def send(colors, vte, cache_dir=CACHE_DIR):
+def send(colors, cache_dir=CACHE_DIR):
"""Send colors to all open terminals."""
- sequences = create_sequences(colors, vte)
+ sequences = create_sequences(colors)
if OS == "Darwin":
tty_pattern = "/dev/ttys00[0-9]*"