Skip to content

Commit 7989bb0

Browse files
committed
Disconnect from server
1 parent d7c01f5 commit 7989bb0

File tree

4 files changed

+27
-10
lines changed

4 files changed

+27
-10
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
CHANGELOG
22
=========
33

4+
main
5+
----
6+
7+
### Improvements
8+
9+
- Show window "titles" at bottom of window
10+
- Ability to disconnect from the server (via. "d")
11+
412
0.2.0
513
-----
614

src/view/help.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Key mappings (prefix with number to repeat):
3939
[N] step over
4040
[p] previous (switches to history mode if in current mode)
4141
[o] step out
42+
[d] disconnect
4243
[e] enter an expression
4344
[j] scroll down
4445
[J] scroll down 10

src/view/layout.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ fn status_widget(app: &App) -> Paragraph {
112112
app.history.len()
113113
),
114114
ListenStatus::Refusing => format!(
115-
"  {} / {} terminated [p] to go back [n] to go forwards [b] to listen",
115+
"  {} / {} disconnected [p] to go back [n] to go forwards [b] to listen",
116116
app.history.offset + 1,
117117
app.history.len()
118118
),

src/view/session.rs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ impl View for SessionView {
3636
return delegate_event_to_pane(app, event);
3737
}
3838

39-
let multiplier = if KeyModifiers::SHIFT == input_event.modifiers & KeyModifiers::SHIFT { 10 } else { 1 };
39+
let multiplier = if KeyModifiers::SHIFT == input_event.modifiers & KeyModifiers::SHIFT {
40+
10
41+
} else {
42+
1
43+
};
4044

4145
// handle global session events
4246
match input_event.code {
@@ -73,22 +77,18 @@ impl View for SessionView {
7377
'N' => Some(AppEvent::StepOver),
7478
'o' => Some(AppEvent::StepOut),
7579
'p' => Some(AppEvent::ChangeSessionViewMode(SessionViewMode::History)),
80+
'd' => Some(AppEvent::Disconnect),
7681
_ => None,
7782
},
7883
_ => None,
7984
},
8085
SessionViewMode::History => match input_event.code {
81-
KeyCode::Esc => Some(AppEvent::ChangeView(SelectedView::Session)),
86+
KeyCode::Esc => escape(app),
8287
KeyCode::Char(c) => match c {
8388
'n' => Some(AppEvent::HistoryNext),
8489
'p' => Some(AppEvent::HistoryPrevious),
85-
'b' => {
86-
if app.listening_status == ListenStatus::Refusing {
87-
Some(AppEvent::Listen)
88-
} else {
89-
Some(AppEvent::ChangeSessionViewMode(SessionViewMode::Current))
90-
}
91-
}
90+
'd' => Some(AppEvent::Disconnect),
91+
'b' => escape(app),
9292
_ => None,
9393
},
9494
_ => None,
@@ -138,6 +138,14 @@ impl View for SessionView {
138138
}
139139
}
140140

141+
fn escape(app: &App) -> Option<AppEvent> {
142+
if app.listening_status == ListenStatus::Refusing {
143+
Some(AppEvent::Listen)
144+
} else {
145+
Some(AppEvent::ChangeSessionViewMode(SessionViewMode::Current))
146+
}
147+
}
148+
141149
fn split_rows(panes: &Vec<&Pane>, area: Rect) -> Rc<[Rect]> {
142150
let mut vertical_constraints = Vec::new();
143151

0 commit comments

Comments
 (0)