[{"data":1,"prerenderedAt":236},["ShallowReactive",2],{"navigation_docs":3,"-about":92,"-about-surround-resolved":232,"daily-note-surround--about":95},[4,9,35,66,82,87],{"title":5,"path":6,"stem":5,"icon":7,"order":8},"Home","/home","i-lucide-home",0,{"title":10,"icon":11,"order":12,"path":13,"stem":14,"children":15,"page":34},"Guide","i-lucide-book-open",1,"/guide","1.guide",[16,22,28],{"title":17,"path":18,"stem":19,"icon":20,"order":21},"Installation","/guide/installation","1.guide/1.installation","i-lucide-download",10,{"title":23,"path":24,"stem":25,"icon":26,"order":27},"Usage","/guide/usage","1.guide/2.usage","i-lucide-layers",20,{"title":29,"path":30,"stem":31,"icon":32,"order":33},"Configuration","/guide/configuration","1.guide/3.configuration","i-lucide-settings",30,false,{"title":36,"icon":26,"order":37,"path":38,"stem":39,"children":40,"page":34},"Architecture",2,"/architecture","2.architecture",[41,45,50,55,61],{"title":42,"path":43,"stem":44,"icon":26,"order":21},"Overview","/architecture/overview","2.architecture/1.overview",{"title":46,"path":47,"stem":48,"icon":49,"order":27},"Ghostty","/architecture/ghostty","2.architecture/2.ghostty","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54,"order":33},"Sessions","/architecture/sessions","2.architecture/3.sessions","i-lucide-layout-grid",{"title":56,"path":57,"stem":58,"icon":59,"order":60},"Shell Integration","/architecture/shell-integration","2.architecture/4.shell-integration","i-lucide-plug",40,{"title":62,"path":63,"stem":64,"icon":54,"order":65},"Widget","/architecture/widget","2.architecture/5.widget",50,{"title":67,"icon":68,"order":69,"path":70,"stem":71,"children":72,"page":34},"Development","i-lucide-wrench",3,"/development","3.development",[73,77],{"title":74,"path":75,"stem":76,"icon":68,"order":21},"Building","/development/building","3.development/1.building",{"title":78,"path":79,"stem":80,"icon":81,"order":27},"Distribution","/development/distribution","3.development/2.distribution","i-lucide-package",{"title":83,"path":84,"stem":83,"icon":85,"order":86},"Changelog","/changelog","i-lucide-history",98,{"title":88,"path":89,"stem":88,"icon":90,"order":91},"About","/about","i-lucide-info",99,{"id":93,"title":94,"aliases":95,"body":96,"concluded":95,"date":95,"description":226,"documentation":95,"extension":227,"isBase":34,"links":95,"meta":228,"mtime":95,"navigation":229,"order":91,"outcome":95,"path":89,"project":95,"repository":95,"seo":230,"started":95,"status":95,"stem":88,"tags":95,"team":95,"type":95,"__hash__":231},"docs/About.md","About Kytos",null,{"type":97,"value":98,"toc":220},"minimark",[99,103,108,111,114,143,146,149,192,196,199],[100,101,102],"p",{},"Kytos (κύτος — Greek for hollow vessel) is a terminal emulator for macOS that combines Ghostty's world-class rendering engine with an IDE-quality shell built on KelyphosKit.",[104,105,107],"h2",{"id":106},"motivation","Motivation",[100,109,110],{},"Terminal emulators on macOS increasingly look like they belong in a browser. Kytos takes a different approach: a native macOS application with real NSToolbar, inspector panels, and a desktop widget — powered by the same rendering engine as Ghostty.",[100,112,113],{},"The goal is a terminal that:",[115,116,117,125,131,137],"ol",{},[118,119,120,124],"li",{},[121,122,123],"strong",{},"Renders perfectly"," — libghostty handles all terminal emulation, Metal rendering, and PTY management",[118,126,127,130],{},[121,128,129],{},"Looks native"," — KelyphosKit provides NSToolbar, panels, and Liquid Glass vibrancy",[118,132,133,136],{},[121,134,135],{},"Integrates deeply"," — shell integration via OSC sequences drives toolbar titles and navigator labels live",[118,138,139,142],{},[121,140,141],{},"Persists reliably"," — workspace state, split trees, and tab groups survive relaunches",[104,144,36],{"id":145},"architecture",[100,147,148],{},"Kytos is thin by design. It delegates terminal emulation entirely to libghostty and panel chrome entirely to KelyphosKit. The app's own code handles the bridge between them:",[150,151,152,163,177,186],"ul",{},[118,153,154,158,159,162],{},[155,156,157],"code",{},"KytosGhosttyApp"," — wraps ",[155,160,161],{},"ghostty_app_t",", owns C callbacks and the app tick loop",[118,164,165,168,169,172,173,176],{},[155,166,167],{},"KytosGhosttyView"," — ",[155,170,171],{},"NSView"," subclass wrapping ",[155,174,175],{},"ghostty_surface_t",", handles Metal layer and input",[118,178,179,168,182,185],{},[155,180,181],{},"KytosWorkspace",[155,183,184],{},"@Observable"," split tree model for one window",[118,187,188,191],{},[155,189,190],{},"KytosAppModel"," — manages window-to-workspace mapping, persistence, and tab restoration",[104,193,195],{"id":194},"credits","Credits",[100,197,198],{},"Kytos is built on:",[150,200,201,210,217],{},[118,202,203,209],{},[204,205,46],"a",{"href":206,"rel":207},"https://github.com/ghostty-org/ghostty",[208],"nofollow"," by Mitchell Hashimoto and contributors",[118,211,212,216],{},[204,213,215],{"href":214},"../kelyphos","KelyphosKit"," for the shell chrome",[118,218,219],{},"SwiftUI and AppKit for the application layer",{"title":221,"searchDepth":69,"depth":69,"links":222},"",[223,224,225],{"id":106,"depth":37,"text":107},{"id":145,"depth":37,"text":36},{"id":194,"depth":37,"text":195},"Background and motivation for the Kytos terminal emulator","md",{"icon":90},{"title":88,"icon":90,"order":91},{"title":94,"description":226},"YaJPOI6w576eKQ3wLlFpLe8b_1CFWlw5OGj8MRl9j9Q",[233,95],{"title":83,"description":234,"path":84,"navigation":235},"Release history and notable changes to Kytos",{"icon":85,"order":86},1774809105914]