feat: free-form sessions, rename/end from the panel, live Claude Context (0.2.0)
- Sessions no longer need a project folder: any name works and starts in DEVDESK_DEFAULT_DIR unless it matches a project; `devdesk new NAME [PROJECT]`. - Rename (✎) and end/forget (×) sessions from the Sessions panel, plus `devdesk rename`. The browser runs them as `devdesk attach --new|--rename|--end` through ttyd. Renames keep the running Claude and its recorded conversation: the hook, the run-wrapper and the statusline ask tmux for the current name. - Claude Context panel is live: devdesk-statusline snapshots model, context-window use, cost and edits per session, which --list reports; Claude's footer gets a one-line summary. The panel now sits under Sessions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+46
-11
@@ -210,13 +210,47 @@ body.dd-sidebar-open .dd-sidebar {
|
||||
|
||||
.dd-session-item.is-recent .dd-session-name { color: var(--text-secondary); font-weight: 400; }
|
||||
|
||||
.dd-session-tab {
|
||||
.dd-session-item.is-dormant .dd-session-name { color: var(--text-secondary); }
|
||||
|
||||
.dd-session-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 8px;
|
||||
color: var(--text-muted);
|
||||
gap: 2px;
|
||||
padding-right: 2px;
|
||||
opacity: 0.55;
|
||||
transition: var(--transition-fast);
|
||||
}
|
||||
.dd-session-item:hover .dd-session-actions,
|
||||
.dd-session-item:focus-within .dd-session-actions,
|
||||
.dd-session-item.is-current .dd-session-actions { opacity: 1; }
|
||||
|
||||
.dd-icon-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
padding: 0;
|
||||
background: none;
|
||||
border: 1px solid transparent;
|
||||
color: var(--text-muted);
|
||||
font-size: 0.8rem;
|
||||
line-height: 1;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dd-icon-btn:hover,
|
||||
.dd-icon-btn:focus-visible {
|
||||
color: var(--accent-cyan);
|
||||
border-color: var(--accent-cyan-border);
|
||||
text-shadow: var(--glow-cyan);
|
||||
text-decoration: none;
|
||||
}
|
||||
.dd-icon-btn.dd-danger:hover,
|
||||
.dd-icon-btn.dd-danger:focus-visible {
|
||||
color: var(--accent-red);
|
||||
border-color: rgba(255, 45, 85, 0.4);
|
||||
text-shadow: var(--glow-red);
|
||||
}
|
||||
.dd-session-tab:hover { color: var(--accent-orange); }
|
||||
|
||||
.dd-empty {
|
||||
color: var(--text-muted);
|
||||
@@ -225,15 +259,15 @@ body.dd-sidebar-open .dd-sidebar {
|
||||
}
|
||||
|
||||
.dd-new-session {
|
||||
display: flex;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
gap: var(--space-sm);
|
||||
margin-bottom: var(--space-sm);
|
||||
}
|
||||
.dd-new-session .lt-select {
|
||||
flex: 1 1 auto;
|
||||
min-width: 0;
|
||||
font-size: 0.72rem;
|
||||
}
|
||||
.dd-new-session .lt-input { grid-column: 1 / -1; font-size: 0.74rem; }
|
||||
.dd-new-session .lt-select { min-width: 0; font-size: 0.72rem; }
|
||||
|
||||
.dd-status.is-error { color: var(--accent-red); }
|
||||
|
||||
.dd-widget-foot {
|
||||
display: flex;
|
||||
@@ -253,7 +287,8 @@ body.dd-sidebar-open .dd-sidebar {
|
||||
|
||||
.dd-context-grid { margin-top: var(--space-sm); }
|
||||
|
||||
[data-state="stub"] .lt-section-body { opacity: 0.75; }
|
||||
[data-state="stub"] .lt-section-body,
|
||||
#widget-context[data-state="empty"] .lt-kv-grid { opacity: 0.6; }
|
||||
|
||||
/* ---- overlay ----------------------------------------------------------------- */
|
||||
.dd-overlay {
|
||||
|
||||
Reference in New Issue
Block a user