summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2022-01-02 20:04:27 -0500
committerJesse Luehrs <doy@tozt.net>2022-01-02 20:07:20 -0500
commit94faf261af579dcfcd0e41ee9be62b5843870b4b (patch)
treec2b0ef16d46101c0e910cf41086dfc777ae9fd03 /src
parent2061c85d03ab948a0e935856a0220ddd4842eda4 (diff)
downloadnbsh-94faf261af579dcfcd0e41ee9be62b5843870b4b.tar.gz
nbsh-94faf261af579dcfcd0e41ee9be62b5843870b4b.zip
this doesn't need its own separate event
Diffstat (limited to 'src')
-rw-r--r--src/event.rs10
-rw-r--r--src/state/history/pty.rs15
-rw-r--r--src/state/mod.rs2
3 files changed, 1 insertions, 26 deletions
diff --git a/src/event.rs b/src/event.rs
index 62a12c8..4280185 100644
--- a/src/event.rs
+++ b/src/event.rs
@@ -3,7 +3,6 @@ pub enum Event {
Key(textmode::Key),
Resize((u16, u16)),
ProcessOutput,
- ProcessAlternateScreen,
ProcessExit,
ClockTimer,
}
@@ -55,7 +54,6 @@ struct Pending {
key: std::collections::VecDeque<textmode::Key>,
size: Option<(u16, u16)>,
process_output: bool,
- process_alternate_screen: bool,
process_exit: bool,
clock_timer: bool,
done: bool,
@@ -71,7 +69,6 @@ impl Pending {
|| !self.key.is_empty()
|| self.size.is_some()
|| self.process_output
- || self.process_alternate_screen
|| self.process_exit
|| self.clock_timer
}
@@ -90,10 +87,6 @@ impl Pending {
self.process_exit = false;
return Some(Event::ProcessExit);
}
- if self.process_alternate_screen {
- self.process_alternate_screen = false;
- return Some(Event::ProcessAlternateScreen);
- }
if self.clock_timer {
self.clock_timer = false;
return Some(Event::ClockTimer);
@@ -113,9 +106,6 @@ impl Pending {
Some(Event::Key(key)) => self.key.push_back(key.clone()),
Some(Event::Resize(size)) => self.size = Some(*size),
Some(Event::ProcessOutput) => self.process_output = true,
- Some(Event::ProcessAlternateScreen) => {
- self.process_alternate_screen = true;
- }
Some(Event::ProcessExit) => self.process_exit = true,
Some(Event::ClockTimer) => self.clock_timer = true,
None => self.done = true,
diff --git a/src/state/history/pty.rs b/src/state/history/pty.rs
index 387134e..015bb0c 100644
--- a/src/state/history/pty.rs
+++ b/src/state/history/pty.rs
@@ -67,20 +67,7 @@ async fn pty_task(
match read.race(write).race(resize).or(close).await {
Res::Read(res) => match res {
Ok(bytes) => {
- let mut entry = entry.lock_arc().await;
- let pre_alternate_screen =
- entry.vt.screen().alternate_screen();
- entry.vt.process(&buf[..bytes]);
- let post_alternate_screen =
- entry.vt.screen().alternate_screen();
- if entry.fullscreen.is_none()
- && pre_alternate_screen != post_alternate_screen
- {
- event_w
- .send(crate::event::Event::ProcessAlternateScreen)
- .await
- .unwrap();
- }
+ entry.lock_arc().await.vt.process(&buf[..bytes]);
event_w
.send(crate::event::Event::ProcessOutput)
.await
diff --git a/src/state/mod.rs b/src/state/mod.rs
index 09ca113..c7ee741 100644
--- a/src/state/mod.rs
+++ b/src/state/mod.rs
@@ -176,8 +176,6 @@ impl State {
matches!(self.focus, Focus::Scrolling(_)),
)
.await;
- }
- crate::event::Event::ProcessAlternateScreen => {
self.scene = self.default_scene(self.focus, None).await;
}
crate::event::Event::ProcessExit => {