Broken project to implement a cross-protocol browser in textual
Browset: Fully recreate gemtext widget on entry
| -rw-r--r-- | browset.py | 3 | ||||
| -rw-r--r-- | gemtext.py | 10 |
2 files changed, 4 insertions, 9 deletions
@@ -26,7 +26,8 @@ class Browset(App): yield Gemtext(txt=self.content, id="content") async def on_input_submitted(self, message: Input.Submitted) -> None: self.content = "## new stuff\n"+message.value - self.query_one("#content", Gemtext).update(self.content) + self.query_one("#content", Gemtext).remove() + self.mount(Gemtext(txt=self.content, id="content")) if __name__ == "__main__": app = Browset() @@ -4,17 +4,11 @@ from textual.containers import Container class Gemtext(Static): """Gemtext widget.""" - items = [] - #def compose(self) -> ComposeResult: - # yield Container(id="content") def __init__(self, txt, id): super().__init__(id=id) - self.update(txt) - def update(self, txt): - #S = self.query("Static") - #if S: - # S.last().remove() + self.addlines(txt) + def addlines(self, txt): for line in txt.split('\n'): if line.startswith("=>"): path = line[2:].lstrip().split(' ')[0] |