Settings window #20
@@ -109,8 +109,40 @@ def generate(
|
|||||||
ctx.update(term)
|
ctx.update(term)
|
||||||
ctx["term"] = [term[f"term{i}"] for i in range(16)]
|
ctx["term"] = [term[f"term{i}"] for i in range(16)]
|
||||||
|
|
||||||
|
seq = make_sequences(
|
||||||
|
term=term,
|
||||||
|
foreground=ctx["m3onSurface"],
|
||||||
|
background=ctx["m3surface"],
|
||||||
|
)
|
||||||
|
ctx["sequences"] = seq
|
||||||
|
ctx["sequences_tmux"] = tmux_wrap_sequences(seq)
|
||||||
|
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
|
def make_sequences(
|
||||||
|
*,
|
||||||
|
term: dict[str, str],
|
||||||
|
foreground: str,
|
||||||
|
background: str,
|
||||||
|
) -> str:
|
||||||
|
ESC = "\x1b"
|
||||||
|
ST = ESC + "\\"
|
||||||
|
|
||||||
|
parts: list[str] = []
|
||||||
|
|
||||||
|
for i in range(16):
|
||||||
|
parts.append(f"{ESC}]4;{i};{term[f'term{i}']}{ST}")
|
||||||
|
|
||||||
|
parts.append(f"{ESC}]10;{foreground}{ST}")
|
||||||
|
parts.append(f"{ESC}]11;{background}{ST}")
|
||||||
|
parts.append(f"{ESC}]12;{cursor}{ST}")
|
||||||
|
|
||||||
|
return "".join(parts)
|
||||||
|
|
||||||
|
def tmux_wrap_sequences(seq: str) -> str:
|
||||||
|
ESC = "\x1b"
|
||||||
|
return f"{ESC}Ptmux;{seq.replace(ESC, ESC+ESC)}{ESC}\\"
|
||||||
|
|
||||||
def terminal_palette_from_m3(colors: dict[str, str], mode: str) -> dict[str, str]:
|
def terminal_palette_from_m3(colors: dict[str, str], mode: str) -> dict[str, str]:
|
||||||
def need(k: str) -> str:
|
def need(k: str) -> str:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user