mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 22:28:24 +02:00
@@ -3,6 +3,20 @@ Changelog
|
|||||||
|
|
||||||
kitty is a feature full, cross-platform, *fast*, GPU based terminal emulator.
|
kitty is a feature full, cross-platform, *fast*, GPU based terminal emulator.
|
||||||
|
|
||||||
|
version 0.5.0 [future]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Add an option to control the thickness of lines in box drawing characters
|
||||||
|
|
||||||
|
- Increase max. allowed ligature length to nine characters
|
||||||
|
|
||||||
|
- Fix text not vertically centered when adjusting line height
|
||||||
|
|
||||||
|
- Fix unicode block characters not being rendered properly
|
||||||
|
|
||||||
|
- Fix shift+up/down not rendering correct escape codes
|
||||||
|
|
||||||
|
|
||||||
version 0.5.0 [2017-11-19]
|
version 0.5.0 [2017-11-19]
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -283,11 +283,17 @@ update_cell_metrics() {
|
|||||||
CALL(fonts.bold_font_idx, 0, false); CALL(fonts.italic_font_idx, 0, false); CALL(fonts.bi_font_idx, 0, false);
|
CALL(fonts.bold_font_idx, 0, false); CALL(fonts.italic_font_idx, 0, false); CALL(fonts.bi_font_idx, 0, false);
|
||||||
cell_metrics(fonts.fonts[fonts.medium_font_idx].face, &cell_width, &cell_height, &baseline, &underline_position, &underline_thickness);
|
cell_metrics(fonts.fonts[fonts.medium_font_idx].face, &cell_width, &cell_height, &baseline, &underline_position, &underline_thickness);
|
||||||
if (!cell_width) { PyErr_SetString(PyExc_ValueError, "Failed to calculate cell width for the specified font."); return NULL; }
|
if (!cell_width) { PyErr_SetString(PyExc_ValueError, "Failed to calculate cell width for the specified font."); return NULL; }
|
||||||
|
unsigned int before_cell_height = cell_height;
|
||||||
if (OPT(adjust_line_height_px) != 0) cell_height += OPT(adjust_line_height_px);
|
if (OPT(adjust_line_height_px) != 0) cell_height += OPT(adjust_line_height_px);
|
||||||
if (OPT(adjust_line_height_frac) != 0.f) cell_height *= OPT(adjust_line_height_frac);
|
if (OPT(adjust_line_height_frac) != 0.f) cell_height *= OPT(adjust_line_height_frac);
|
||||||
|
int line_height_adjustment = cell_height - before_cell_height;
|
||||||
if (cell_height < 4) { PyErr_SetString(PyExc_ValueError, "line height too small after adjustment"); return NULL; }
|
if (cell_height < 4) { PyErr_SetString(PyExc_ValueError, "line height too small after adjustment"); return NULL; }
|
||||||
if (cell_height > 1000) { PyErr_SetString(PyExc_ValueError, "line height too large after adjustment"); return NULL; }
|
if (cell_height > 1000) { PyErr_SetString(PyExc_ValueError, "line height too large after adjustment"); return NULL; }
|
||||||
underline_position = MIN(cell_height - 1, underline_position);
|
underline_position = MIN(cell_height - 1, underline_position);
|
||||||
|
if (line_height_adjustment > 1) {
|
||||||
|
baseline += line_height_adjustment / 2;
|
||||||
|
underline_position += line_height_adjustment / 2;
|
||||||
|
}
|
||||||
sprite_tracker_set_layout(cell_width, cell_height);
|
sprite_tracker_set_layout(cell_width, cell_height);
|
||||||
global_state.cell_width = cell_width; global_state.cell_height = cell_height;
|
global_state.cell_width = cell_width; global_state.cell_height = cell_height;
|
||||||
free(canvas); canvas = malloc(CELLS_IN_CANVAS * cell_width * cell_height);
|
free(canvas); canvas = malloc(CELLS_IN_CANVAS * cell_width * cell_height);
|
||||||
|
|||||||
Reference in New Issue
Block a user