mirror of
https://github.com/mpv-player/mpv
synced 2025-03-23 03:37:27 +00:00
vo_sixel: support --vo-sixel-exit-clear[=yes]
By default we still clear the screen, but now it's possible to leave the last sixel image on screen. Allows mpv to be used as img2sixel of sorts, but with our auto-fit and various mpv scaling/filters etc.
This commit is contained in:
parent
9867f21830
commit
1bb2665e3d
@ -413,6 +413,10 @@ Available video output drivers are:
|
||||
to take into account padding at the report - this only works correctly
|
||||
when the overall padding per axis is smaller than the number of cells.
|
||||
|
||||
``--vo-sixel-exit-clear=<yes|no>`` (default: yes)
|
||||
Whether or not to clear the terminal on quit. When set to no - the last
|
||||
sixel image stays on screen after quit, with the cursor following it.
|
||||
|
||||
Sixel image quality options:
|
||||
|
||||
``--vo-sixel-dither=<algo>``
|
||||
|
@ -63,6 +63,7 @@ struct priv {
|
||||
int opt_pad_x;
|
||||
int opt_rows;
|
||||
int opt_cols;
|
||||
int opt_clear;
|
||||
|
||||
// Internal data
|
||||
sixel_output_t *output;
|
||||
@ -442,8 +443,10 @@ static void uninit(struct vo *vo)
|
||||
|
||||
printf(ESC_RESTORE_CURSOR);
|
||||
|
||||
printf(ESC_CLEAR_SCREEN);
|
||||
printf(ESC_GOTOXY, 1, 1);
|
||||
if (priv->opt_clear) {
|
||||
printf(ESC_CLEAR_SCREEN);
|
||||
printf(ESC_GOTOXY, 1, 1);
|
||||
}
|
||||
fflush(stdout);
|
||||
|
||||
if (priv->output) {
|
||||
@ -480,6 +483,7 @@ const struct vo_driver video_out_sixel = {
|
||||
.opt_pad_x = -1,
|
||||
.opt_rows = 0,
|
||||
.opt_cols = 0,
|
||||
.opt_clear = 1,
|
||||
},
|
||||
.options = (const m_option_t[]) {
|
||||
{"dither", OPT_CHOICE(opt_diffuse,
|
||||
@ -503,6 +507,7 @@ const struct vo_driver video_out_sixel = {
|
||||
{"pad-x", OPT_INT(opt_pad_x)},
|
||||
{"rows", OPT_INT(opt_rows)},
|
||||
{"cols", OPT_INT(opt_cols)},
|
||||
{"exit-clear", OPT_FLAG(opt_clear), },
|
||||
{0}
|
||||
},
|
||||
.options_prefix = "vo-sixel",
|
||||
|
Loading…
Reference in New Issue
Block a user