diff --git a/pyproject.toml b/pyproject.toml index d1b7c4a..d68b6fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ authors = ["Will McGugan "] license = "MIT" readme = "README.md" packages = [{include = "textual_webterm", from = "src"}] +include = [{ path = "src/textual_webterm/static/monospace.css" }] [tool.poetry.dependencies] python = "^3.9" diff --git a/src/textual_webterm/local_server.py b/src/textual_webterm/local_server.py index 085f47c..e8af094 100644 --- a/src/textual_webterm/local_server.py +++ b/src/textual_webterm/local_server.py @@ -590,10 +590,12 @@ class LocalServer: -
+
""" return web.Response(text=html_content, content_type="text/html") diff --git a/src/textual_webterm/static/monospace.css b/src/textual_webterm/static/monospace.css index a2728b5..e610654 100644 --- a/src/textual_webterm/static/monospace.css +++ b/src/textual_webterm/static/monospace.css @@ -14,6 +14,17 @@ body { font-family: var(--textual-webterm-mono); } -.xterm { - font-family: var(--textual-webterm-mono); +/* + textual_serve's bundled textual.js hard-codes xterm's Terminal fontFamily: + "'Roboto Mono', Monaco, 'Courier New', monospace". + + If Roboto Mono isn't available, it falls back to Courier and looks wrong. + We override that here with higher specificity + !important. +*/ +.textual-terminal .xterm, +.textual-terminal .xterm .xterm-rows, +.textual-terminal .xterm .xterm-helper-textarea, +.textual-terminal .xterm .xterm-viewport, +.textual-terminal .xterm .xterm-screen { + font-family: var(--textual-webterm-mono) !important; }