Initial cursor shapes
This commit is contained in:
parent
c11f6d1272
commit
59d32c32ce
3 changed files with 33 additions and 5 deletions
|
|
@ -476,7 +476,6 @@ impl App {
|
||||||
.sort_by(|a, b| LANGUAGE_SORTER.compare(a, b));
|
.sort_by(|a, b| LANGUAGE_SORTER.compare(a, b));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn reset_terminal_panes_zoom(&mut self) {
|
fn reset_terminal_panes_zoom(&mut self) {
|
||||||
for (_pane, tab_model) in self.pane_model.panes.iter() {
|
for (_pane, tab_model) in self.pane_model.panes.iter() {
|
||||||
for entity in tab_model.iter() {
|
for entity in tab_model.iter() {
|
||||||
|
|
@ -533,8 +532,12 @@ impl App {
|
||||||
let mut terminal = terminal.lock().unwrap();
|
let mut terminal = terminal.lock().unwrap();
|
||||||
let current_zoom_adj = terminal.zoom_adj();
|
let current_zoom_adj = terminal.zoom_adj();
|
||||||
match zoom_message {
|
match zoom_message {
|
||||||
Message::ZoomIn => terminal.set_zoom_adj(current_zoom_adj.saturating_add(1)),
|
Message::ZoomIn => {
|
||||||
Message::ZoomOut => terminal.set_zoom_adj(current_zoom_adj.saturating_sub(1)),
|
terminal.set_zoom_adj(current_zoom_adj.saturating_add(1))
|
||||||
|
}
|
||||||
|
Message::ZoomOut => {
|
||||||
|
terminal.set_zoom_adj(current_zoom_adj.saturating_sub(1))
|
||||||
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
terminal.set_config(&self.config, &self.themes);
|
terminal.set_config(&self.config, &self.themes);
|
||||||
|
|
|
||||||
|
|
@ -213,7 +213,7 @@ pub struct Terminal {
|
||||||
search_value: String,
|
search_value: String,
|
||||||
size: Size,
|
size: Size,
|
||||||
use_bright_bold: bool,
|
use_bright_bold: bool,
|
||||||
zoom_adj: i8
|
zoom_adj: i8,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Terminal {
|
impl Terminal {
|
||||||
|
|
@ -305,7 +305,7 @@ impl Terminal {
|
||||||
tab_title_override,
|
tab_title_override,
|
||||||
term,
|
term,
|
||||||
use_bright_bold,
|
use_bright_bold,
|
||||||
zoom_adj: Default::default()
|
zoom_adj: Default::default(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ use alacritty_terminal::{
|
||||||
index::{Column as TermColumn, Point as TermPoint, Side as TermSide},
|
index::{Column as TermColumn, Point as TermPoint, Side as TermSide},
|
||||||
selection::{Selection, SelectionType},
|
selection::{Selection, SelectionType},
|
||||||
term::{cell::Flags, TermMode},
|
term::{cell::Flags, TermMode},
|
||||||
|
vte::ansi::CursorShape,
|
||||||
};
|
};
|
||||||
use cosmic::widget::menu::key_bind::KeyBind;
|
use cosmic::widget::menu::key_bind::KeyBind;
|
||||||
use cosmic::{
|
use cosmic::{
|
||||||
|
|
@ -587,6 +588,30 @@ where
|
||||||
state.scrollbar_rect.set(Rectangle::default())
|
state.scrollbar_rect.set(Rectangle::default())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Draw cursor
|
||||||
|
terminal.with_buffer(|buffer| {
|
||||||
|
let cursor = terminal.term.lock().renderable_content().cursor;
|
||||||
|
let col = cursor.point.column.0;
|
||||||
|
let line = cursor.point.line.0;
|
||||||
|
match cursor.shape {
|
||||||
|
CursorShape::Beam => {
|
||||||
|
let quad = Quad {
|
||||||
|
bounds: Rectangle::new(
|
||||||
|
view_position
|
||||||
|
+ Vector::new(
|
||||||
|
(col as f32 * terminal.size().cell_width).floor(),
|
||||||
|
line as f32 * terminal.size().cell_height,
|
||||||
|
),
|
||||||
|
Size::new(1.0, buffer.metrics().line_height),
|
||||||
|
),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
renderer.fill_quad(quad, Color::WHITE);
|
||||||
|
}
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
let duration = instant.elapsed();
|
let duration = instant.elapsed();
|
||||||
log::trace!("redraw {}, {}: {:?}", view_w, view_h, duration);
|
log::trace!("redraw {}, {}: {:?}", view_w, view_h, duration);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue