Files
gniza4linux/tui/__main__.py
shuki 63e88d11df Fix web GUI: set env vars in process instead of command string
textual-serve shows the command string as the app title.
Set PYTHONPATH and GNIZA_DIR as real env vars so the spawned
subprocess inherits them. Add title="gniza" for clean display.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 00:56:32 +02:00

29 lines
769 B
Python

import os
import sys
from pathlib import Path
from tui.app import GnizaApp
# Resolve project root (parent of tui/)
_PROJECT_ROOT = str(Path(__file__).resolve().parent.parent)
def main():
if "--web" in sys.argv:
from textual_serve.server import Server
port = 8080
for i, arg in enumerate(sys.argv):
if arg == "--port" and i + 1 < len(sys.argv):
port = int(sys.argv[i + 1])
os.environ["PYTHONPATH"] = f"{_PROJECT_ROOT}:{os.environ.get('PYTHONPATH', '')}"
os.environ["GNIZA_DIR"] = _PROJECT_ROOT
server = Server("python3 -m tui", host="0.0.0.0", port=port, title="gniza")
server.serve()
else:
app = GnizaApp()
app.run()
if __name__ == "__main__":
main()