394394 </ span >
395395 </ a >
396396
397+ < nav class ="md-nav " aria-label ="Prerequisites ">
398+ < ul class ="md-nav__list ">
399+
400+ < li class ="md-nav__item ">
401+ < a href ="#tmux-resurrect-compatibility " class ="md-nav__link ">
402+ < span class ="md-ellipsis ">
403+
404+ tmux-resurrect Compatibility
405+
406+ </ span >
407+ </ a >
408+
409+ </ li >
410+
411+ </ ul >
412+ </ nav >
413+
397414</ li >
398415
399416 < li class ="md-nav__item ">
14171434 </ span >
14181435 </ a >
14191436
1437+ < nav class ="md-nav " aria-label ="Prerequisites ">
1438+ < ul class ="md-nav__list ">
1439+
1440+ < li class ="md-nav__item ">
1441+ < a href ="#tmux-resurrect-compatibility " class ="md-nav__link ">
1442+ < span class ="md-ellipsis ">
1443+
1444+ tmux-resurrect Compatibility
1445+
1446+ </ span >
1447+ </ a >
1448+
1449+ </ li >
1450+
1451+ </ ul >
1452+ </ nav >
1453+
14201454</ li >
14211455
14221456 < li class ="md-nav__item ">
@@ -1946,6 +1980,7 @@ <h1 id="setup-guide">Setup Guide<a class="headerlink" href="#setup-guide" title=
19461980< h2 id ="table-of-contents "> Table of Contents< a class ="headerlink " href ="#table-of-contents " title ="Permanent link "> ¶</ a > </ h2 >
19471981< ul >
19481982< li > < a href ="#prerequisites "> Prerequisites</ a > </ li >
1983+ < li > < a href ="#tmux-resurrect-compatibility "> tmux-resurrect Compatibility</ a > </ li >
19491984< li > < a href ="#installation "> Installation</ a > </ li >
19501985< li > < a href ="#configuration "> Configuration</ a > </ li >
19511986< li > < a href ="#obsidian-vault-setup "> Obsidian Vault Setup</ a > </ li >
@@ -1966,8 +2001,30 @@ <h2 id="prerequisites">Prerequisites<a class="headerlink" href="#prerequisites"
19662001< li > < strong > Optional</ strong > : < code > sentence-transformers</ code > for semantic search</ li >
19672002</ ul >
19682003< blockquote >
1969- < p > < strong > tmux plugin note</ strong > : If you use < code > tmux-resurrect</ code > or < code > tmux-continuum</ code > , these plugins may interfere with studyctl's session management. studyctl sets < code > detach-on-destroy on</ code > and < code > remain-on-exit off</ code > on its sessions to ensure clean exits.</ p >
2004+ < p > < strong > tmux-resurrect / tmux-continuum users</ strong > : studyctl automatically cleans up
2005+ zombie sessions on startup, so resurrect-restored sessions are handled
2006+ gracefully. For the best experience, add the restore hook below to prevent
2007+ resurrect from saving study sessions at all. See
2008+ < a href ="#tmux-resurrect-compatibility "> tmux-resurrect compatibility</ a > for details.</ p >
19702009</ blockquote >
2010+ < h3 id ="tmux-resurrect-compatibility "> tmux-resurrect Compatibility< a class ="headerlink " href ="#tmux-resurrect-compatibility " title ="Permanent link "> ¶</ a > </ h3 >
2011+ < p > studyctl creates temporary < code > study-*</ code > tmux sessions that should not persist
2012+ across tmux restarts. If you use < strong > tmux-resurrect</ strong > or < strong > tmux-continuum</ strong > ,
2013+ these plugins may save and restore killed study sessions as zombies.</ p >
2014+ < p > < strong > Automatic handling (no action required):</ strong > < code > studyctl study</ code > automatically
2015+ detects and kills zombie sessions before starting a new session. This works
2016+ out of the box — no configuration needed.</ p >
2017+ < p > < strong > Recommended: add a restore hook</ strong > to prevent resurrect from restoring
2018+ study sessions at all. Add this to your < code > ~/.tmux.conf</ code > :</ p >
2019+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="c1 "> # Kill any restored study-* sessions immediately after resurrect restore.</ span >
2020+ < span class ="c1 "> # studyctl sessions are temporary and should not survive tmux restarts.</ span >
2021+ < span class ="nb "> set</ span > < span class ="w "> </ span > -g< span class ="w "> </ span > @resurrect-restore-hook< span class ="w "> </ span > < span class ="s1 "> 'for s in $(tmux list-sessions -F "#{session_name}" 2>/dev/null | grep "^study-"); do tmux kill-session -t "$s" 2>/dev/null; done'</ span >
2022+ </ code > </ pre > </ div >
2023+ < p > After adding, reload your tmux config:</ p >
2024+ < div class ="highlight "> < pre > < span > </ span > < code > tmux< span class ="w "> </ span > source-file< span class ="w "> </ span > ~/.tmux.conf
2025+ </ code > </ pre > </ div >
2026+ < p > Run < code > studyctl doctor</ code > to verify the configuration — it checks for
2027+ tmux-resurrect and warns if the restore hook is not detected.</ p >
19712028< h2 id ="installation "> Installation< a class ="headerlink " href ="#installation " title ="Permanent link "> ¶</ a > </ h2 >
19722029< h3 id ="automatic-recommended "> Automatic (recommended)< a class ="headerlink " href ="#automatic-recommended " title ="Permanent link "> ¶</ a > </ h3 >
19732030< div class ="highlight "> < pre > < span > </ span > < code > git< span class ="w "> </ span > clone< span class ="w "> </ span > https://github.com/NetDevAutomate/Socratic-Study-Mentor.git
0 commit comments