Fix cell reset not clearing flags and foreground

Fixes #2330.
This commit is contained in:
Kirill Chibisov 2019-11-17 03:04:16 +03:00 committed by Christian Duerr
parent 48861e4633
commit 495a6f3526
41 changed files with 224 additions and 34 deletions

View File

@ -81,6 +81,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Selection not being cleared when sending chars through a binding
- Mouse protocols/encodings not being mutually exclusive within themselves
- Escape `CSI Ps M` deleting lines above cursor when at the bottom of the viewport
- Cell reset not clearing underline, strikeout and foreground color
### Removed

View File

@ -328,8 +328,8 @@ pub trait Handler {
/// Write clipboard data to child.
fn write_clipboard<W: io::Write>(&mut self, _: u8, _: &mut W) {}
/// Run the dectest routine
fn dectest(&mut self) {}
/// Run the decaln routine.
fn decaln(&mut self) {}
/// Push a title onto the stack
fn push_title(&mut self) {}
@ -1134,7 +1134,7 @@ where
b'7' => self.handler.save_cursor_position(),
b'8' => {
if !intermediates.is_empty() && intermediates[0] == b'#' {
self.handler.dectest();
self.handler.decaln();
} else {
self.handler.restore_cursor_position();
}

View File

@ -135,7 +135,7 @@ impl Cell {
#[inline]
pub fn reset(&mut self, template: &Cell) {
// memcpy template to self
*self = *template;
*self = Cell { c: template.c, bg: template.bg, ..Cell::default() };
}
#[inline]

View File

@ -1049,13 +1049,15 @@ impl<T> Term<T> {
// Scroll up to keep cursor in terminal
if self.cursor.point.line >= num_lines {
let lines = self.cursor.point.line - num_lines + 1;
self.grid.scroll_up(&(Line(0)..old_lines), lines, &self.cursor.template);
let template = Cell { bg: self.cursor.template.bg, ..Cell::default() };
self.grid.scroll_up(&(Line(0)..old_lines), lines, &template);
}
// Scroll up alt grid as well
if self.cursor_save_alt.point.line >= num_lines {
let lines = self.cursor_save_alt.point.line - num_lines + 1;
self.alt_grid.scroll_up(&(Line(0)..old_lines), lines, &self.cursor_save_alt.template);
let template = Cell { bg: self.cursor_save_alt.template.bg, ..Cell::default() };
self.alt_grid.scroll_up(&(Line(0)..old_lines), lines, &template);
}
// Move prompt down when growing if scrollback lines are available
@ -1105,12 +1107,12 @@ impl<T> Term<T> {
pub fn swap_alt(&mut self) {
if self.alt {
let template = &self.cursor.template;
self.grid.region_mut(..).each(|c| c.reset(template));
let template = self.cursor.template;
self.grid.region_mut(..).each(|c| c.reset(&template));
}
self.alt = !self.alt;
::std::mem::swap(&mut self.grid, &mut self.alt_grid);
std::mem::swap(&mut self.grid, &mut self.alt_grid);
}
/// Scroll screen down
@ -1124,8 +1126,7 @@ impl<T> Term<T> {
lines = min(lines, self.scroll_region.end - origin);
// Scroll between origin and bottom
let mut template = self.cursor.template;
template.flags = Flags::empty();
let template = Cell { bg: self.cursor.template.bg, ..Cell::default() };
self.grid.scroll_down(&(origin..self.scroll_region.end), lines, &template);
}
@ -1139,8 +1140,7 @@ impl<T> Term<T> {
let lines = min(lines, self.scroll_region.end - self.scroll_region.start);
// Scroll from origin to bottom less number of lines
let mut template = self.cursor.template;
template.flags = Flags::empty();
let template = Cell { bg: self.cursor.template.bg, ..Cell::default() };
self.grid.scroll_up(&(origin..self.scroll_region.end), lines, &template);
}
@ -1308,11 +1308,10 @@ impl<T: EventListener> ansi::Handler for Term<T> {
}
#[inline]
fn dectest(&mut self) {
trace!("Dectesting");
let mut template = self.cursor.template;
template.c = 'E';
fn decaln(&mut self) {
trace!("Decalnning");
let template = Cell { c: 'E', ..Cell::default() };
self.grid.region_mut(..).each(|c| c.reset(&template));
}
@ -1363,9 +1362,8 @@ impl<T: EventListener> ansi::Handler for Term<T> {
// Cells were just moved out towards the end of the line; fill in
// between source and dest with blanks.
let template = self.cursor.template;
for c in &mut line[source..destination] {
c.reset(&template);
c.reset(&self.cursor.template);
}
}
@ -1581,9 +1579,9 @@ impl<T: EventListener> ansi::Handler for Term<T> {
let end = min(start + count, self.grid.num_cols());
let row = &mut self.grid[self.cursor.point.line];
let template = self.cursor.template; // Cleared cells have current background color set
// Cleared cells have current background color set
for c in &mut row[start..end] {
c.reset(&template);
c.reset(&self.cursor.template);
}
}
@ -1609,10 +1607,9 @@ impl<T: EventListener> ansi::Handler for Term<T> {
// Clear last `count` cells in line. If deleting 1 char, need to delete
// 1 cell.
let template = self.cursor.template;
let end = cols - count;
for c in &mut line[end..] {
c.reset(&template);
c.reset(&self.cursor.template);
}
}
@ -1658,7 +1655,6 @@ impl<T: EventListener> ansi::Handler for Term<T> {
#[inline]
fn clear_line(&mut self, mode: ansi::LineClearMode) {
trace!("Clearing line: {:?}", mode);
let template = Cell { bg: self.cursor.template.bg, ..Cell::default() };
let col = self.cursor.point.col;
@ -1666,19 +1662,19 @@ impl<T: EventListener> ansi::Handler for Term<T> {
ansi::LineClearMode::Right => {
let row = &mut self.grid[self.cursor.point.line];
for cell in &mut row[col..] {
cell.reset(&template);
cell.reset(&self.cursor.template);
}
},
ansi::LineClearMode::Left => {
let row = &mut self.grid[self.cursor.point.line];
for cell in &mut row[..=col] {
cell.reset(&template);
cell.reset(&self.cursor.template);
}
},
ansi::LineClearMode::All => {
let row = &mut self.grid[self.cursor.point.line];
for cell in &mut row[..] {
cell.reset(&template);
cell.reset(&self.cursor.template);
}
},
}
@ -1746,7 +1742,7 @@ impl<T: EventListener> ansi::Handler for Term<T> {
#[inline]
fn clear_screen(&mut self, mode: ansi::ClearMode) {
trace!("Clearing screen: {:?}", mode);
let template = Cell { bg: self.cursor.template.bg, ..Cell::default() };
let template = self.cursor.template;
// Remove active selections
self.grid.selection = None;

View File

@ -55,6 +55,13 @@ ref_tests! {
selective_erasure
colored_reset
delete_lines
delete_chars_reset
alt_reset
deccolm_reset
decaln_reset
insert_blank_reset
erase_chars_reset
scroll_up_reset
}
fn read_u8<P>(path: P) -> Vec<u8>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1916.0,"height":1054.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1,5 @@
[?2004h[kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ resetecho -e "\033#8"printf "\e[41;1;4;9mTEST asd\n"[1@3[1@2[1@1[1@;[1@1[1@;
[?2004l TEST asd
[?2004h[kchibisov@NightLord alacritty]$ printf "\e[31;1;41;1;4;9mTEST asd\n" resetecho -e "\033#8"
[?2004l #8
[?2004h[kchibisov@NightLord alacritty]$

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1916.0,"height":1054.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1,30 @@
[?2004h[kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ echo -e "\033[?3h"printf "\e[31;1;7;4;9mTEST asd\n"
[?2004l TEST asd
[?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$ printf "\e[31;1;7;4;9mTEST asd\n"echo -e "\033[?3h"
[?2004l [?3h
[?2004h[kchibisov@NightLord alacritty]$

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1916.0,"height":1054.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1,3 @@
[?2004h[kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ printf "\e[31;1;7;4;9md\n"
[?2004l d
[?2004h[kchibisov@NightLord alacritty]$ printf "\e[31;1;7;4;9md\n"d\n"d\n"d\n"d\n"d\n"d\n"d\n"d\n"d\n"d\n"d\n"d\n"

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1916.0,"height":1054.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1,5 @@
[?2004h[kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ echo -e "hello world" "\033[10;D" "\033[4;X" printf "\e[31;1;4;9mTEST asd\n"
[?2004l TEST asd
[?2004h[kchibisov@NightLord alacritty]$ printf "\e[31;1;4;9mTEST asd\n"echo -e "hello world" "\033[10;D" "\033[4;X"
[?2004l hello world  
[?2004h[kchibisov@NightLord alacritty]$

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1916.0,"height":1054.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1,5 @@
[?2004h[kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ resetprintf "\e[41;1;4;9mTEST asd\n"resetprintf "\e[41;1;4;9mTEST asd\n"[1@3
[?2004l TEST asd
[?2004h[kchibisov@NightLord alacritty]$ printf "\e[31;1;4;9mTEST asd\n"resetprintf "\e[41;1;4;9mTEST asd\n"resetecho -e "\033[100;@"
[?2004l [100;@
[?2004h[kchibisov@NightLord alacritty]$

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1916.0,"height":1054.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"width":459.0,"height":1020.0,"cell_width":8.0,"cell_height":16.0,"padding_x":5.0,"padding_y":6.0,"dpr":1.0}
{"width":1900.0,"height":1040.0,"cell_width":11.0,"cell_height":22.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1,105 @@
[?2004h[kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ [kchibisov@NightLord alacritty]$ ls -lah
[?2004l total 308K
drwxr-xr-x 17 kchibisov kchibisov 4.0K Nov 16 05:14 .
drwxr-xr-x 17 kchibisov kchibisov 4.0K Nov 15 23:21 ..
-rw-r--r-- 1 kchibisov kchibisov 10 Sep 26 16:22 .agignore
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 13 20:02 alacritty
-rw-r--r-- 1 kchibisov kchibisov 133 Nov 16 05:14 alacritty.recording
drwxr-xr-x 5 kchibisov kchibisov 4.0K Nov 13 20:02 alacritty_terminal
-rw-r--r-- 1 kchibisov kchibisov 17K Nov 13 20:02 alacritty.yml
-rw-r--r-- 1 kchibisov kchibisov 128K Nov 13 20:02 Cargo.lock
-rw-r--r-- 1 kchibisov kchibisov 245 Nov 3 09:50 Cargo.toml
-rw-r--r-- 1 kchibisov kchibisov 22K Nov 16 04:47 CHANGELOG.md
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 13 20:02 ci
-rw-r--r-- 1 kchibisov kchibisov 5.5K Nov 13 20:02 CONTRIBUTING.md
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 .copr
drwxr-xr-x 5 kchibisov kchibisov 4.0K Nov 13 20:02 copypasta
drwxr-xr-x 2 kchibisov kchibisov 4.0K Sep 26 16:22 docs
drwxr-xr-x 7 kchibisov kchibisov 4.0K Nov 13 20:02 extra
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 13 20:02 font
drwxr-xr-x 8 kchibisov kchibisov 4.0K Nov 16 05:08 .git
drwxr-xr-x 2 kchibisov kchibisov 4.0K Sep 26 16:22 .github
-rw-r--r-- 1 kchibisov kchibisov 333 Nov 3 09:50 .gitignore
-rw-r--r-- 1 kchibisov kchibisov 9.1K Nov 13 20:02 INSTALL.md
-rw-r--r-- 1 kchibisov kchibisov 11K Sep 26 16:22 LICENSE-APACHE
-rw-r--r-- 1 kchibisov kchibisov 1.5K Nov 5 10:25 Makefile
-rw-r--r-- 1 kchibisov kchibisov 6.8K Nov 13 20:02 README.md
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 res
-rw-r--r-- 1 kchibisov kchibisov 358 Nov 13 20:02 rustfmt.toml
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 scripts
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 3 09:50 servo-freetype-proxy
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 12 16:22 target
-rw-r--r-- 1 kchibisov kchibisov 1.7K Nov 13 20:02 .travis.yml
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 13 20:02 winpty
[?2004h[kchibisov@NightLord alacritty]$ ls -lah
[?2004l total 308K
drwxr-xr-x 17 kchibisov kchibisov 4.0K Nov 16 05:14 .
drwxr-xr-x 17 kchibisov kchibisov 4.0K Nov 15 23:21 ..
-rw-r--r-- 1 kchibisov kchibisov 10 Sep 26 16:22 .agignore
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 13 20:02 alacritty
-rw-r--r-- 1 kchibisov kchibisov 2.2K Nov 16 05:14 alacritty.recording
drwxr-xr-x 5 kchibisov kchibisov 4.0K Nov 13 20:02 alacritty_terminal
-rw-r--r-- 1 kchibisov kchibisov 17K Nov 13 20:02 alacritty.yml
-rw-r--r-- 1 kchibisov kchibisov 128K Nov 13 20:02 Cargo.lock
-rw-r--r-- 1 kchibisov kchibisov 245 Nov 3 09:50 Cargo.toml
-rw-r--r-- 1 kchibisov kchibisov 22K Nov 16 04:47 CHANGELOG.md
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 13 20:02 ci
-rw-r--r-- 1 kchibisov kchibisov 5.5K Nov 13 20:02 CONTRIBUTING.md
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 .copr
drwxr-xr-x 5 kchibisov kchibisov 4.0K Nov 13 20:02 copypasta
drwxr-xr-x 2 kchibisov kchibisov 4.0K Sep 26 16:22 docs
drwxr-xr-x 7 kchibisov kchibisov 4.0K Nov 13 20:02 extra
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 13 20:02 font
drwxr-xr-x 8 kchibisov kchibisov 4.0K Nov 16 05:08 .git
drwxr-xr-x 2 kchibisov kchibisov 4.0K Sep 26 16:22 .github
-rw-r--r-- 1 kchibisov kchibisov 333 Nov 3 09:50 .gitignore
-rw-r--r-- 1 kchibisov kchibisov 9.1K Nov 13 20:02 INSTALL.md
-rw-r--r-- 1 kchibisov kchibisov 11K Sep 26 16:22 LICENSE-APACHE
-rw-r--r-- 1 kchibisov kchibisov 1.5K Nov 5 10:25 Makefile
-rw-r--r-- 1 kchibisov kchibisov 6.8K Nov 13 20:02 README.md
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 res
-rw-r--r-- 1 kchibisov kchibisov 358 Nov 13 20:02 rustfmt.toml
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 scripts
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 3 09:50 servo-freetype-proxy
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 12 16:22 target
-rw-r--r-- 1 kchibisov kchibisov 1.7K Nov 13 20:02 .travis.yml
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 13 20:02 winpty
[?2004h[kchibisov@NightLord alacritty]$ ls - lah
[?2004l total 312K
drwxr-xr-x 17 kchibisov kchibisov 4.0K Nov 16 05:14 .
drwxr-xr-x 17 kchibisov kchibisov 4.0K Nov 15 23:21 ..
-rw-r--r-- 1 kchibisov kchibisov 10 Sep 26 16:22 .agignore
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 13 20:02 alacritty
-rw-r--r-- 1 kchibisov kchibisov 4.1K Nov 16 05:14 alacritty.recording
drwxr-xr-x 5 kchibisov kchibisov 4.0K Nov 13 20:02 alacritty_terminal
-rw-r--r-- 1 kchibisov kchibisov 17K Nov 13 20:02 alacritty.yml
-rw-r--r-- 1 kchibisov kchibisov 128K Nov 13 20:02 Cargo.lock
-rw-r--r-- 1 kchibisov kchibisov 245 Nov 3 09:50 Cargo.toml
-rw-r--r-- 1 kchibisov kchibisov 22K Nov 16 04:47 CHANGELOG.md
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 13 20:02 ci
-rw-r--r-- 1 kchibisov kchibisov 5.5K Nov 13 20:02 CONTRIBUTING.md
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 .copr
drwxr-xr-x 5 kchibisov kchibisov 4.0K Nov 13 20:02 copypasta
drwxr-xr-x 2 kchibisov kchibisov 4.0K Sep 26 16:22 docs
drwxr-xr-x 7 kchibisov kchibisov 4.0K Nov 13 20:02 extra
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 13 20:02 font
drwxr-xr-x 8 kchibisov kchibisov 4.0K Nov 16 05:08 .git
drwxr-xr-x 2 kchibisov kchibisov 4.0K Sep 26 16:22 .github
-rw-r--r-- 1 kchibisov kchibisov 333 Nov 3 09:50 .gitignore
-rw-r--r-- 1 kchibisov kchibisov 9.1K Nov 13 20:02 INSTALL.md
-rw-r--r-- 1 kchibisov kchibisov 11K Sep 26 16:22 LICENSE-APACHE
-rw-r--r-- 1 kchibisov kchibisov 1.5K Nov 5 10:25 Makefile
-rw-r--r-- 1 kchibisov kchibisov 6.8K Nov 13 20:02 README.md
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 res
-rw-r--r-- 1 kchibisov kchibisov 358 Nov 13 20:02 rustfmt.toml
drwxr-xr-x 2 kchibisov kchibisov 4.0K Nov 3 09:50 scripts
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 3 09:50 servo-freetype-proxy
drwxr-xr-x 4 kchibisov kchibisov 4.0K Nov 12 16:22 target
-rw-r--r-- 1 kchibisov kchibisov 1.7K Nov 13 20:02 .travis.yml
drwxr-xr-x 3 kchibisov kchibisov 4.0K Nov 13 20:02 winpty
[?2004h[kchibisov@NightLord alacritty]$ echo -e "\ (reverse-i-search)`':[24@p': printf "\e[31;1;4;9m"[1@r[1@i [8@[kchibisov@NightLord alacritty]$
[?2004l [?2004h[kchibisov@NightLord alacritty]$ echo =e "-e \{"\e[10H"
[?2004l 
[?2004h[kchibisov@NightLord alacritty]$ echo -e "\p\e[[1-0M"
[?2004l 
[?2004h[kchibisov@NightLord alacritty]$

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"width":1840.0,"height":1040.0,"cell_width":18.0,"cell_height":35.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"width":1688.0,"height":1502.0,"cell_width":14.0,"cell_height":26.0,"padding_x":4.0,"padding_y":4.0}
{"width":1916.0,"height":2121.0,"cell_width":11.0,"cell_height":22.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}

View File

@ -0,0 +1 @@
{"history_size":0}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"width":1688.0,"height":1502.0,"cell_width":14.0,"cell_height":26.0,"padding_x":4.0,"padding_y":4.0}
{"width":1900.0,"height":1040.0,"cell_width":11.0,"cell_height":22.0,"padding_x":0.0,"padding_y":0.0,"dpr":2.0}