curses: use DisplayOptions
Switch curses ui to use qapi DisplayOptions for configuration. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 20180202111022.19269-9-kraxel@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
0d2dd9f009
commit
14f130fad8
|
@ -471,9 +471,9 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp);
|
||||||
|
|
||||||
/* curses.c */
|
/* curses.c */
|
||||||
#ifdef CONFIG_CURSES
|
#ifdef CONFIG_CURSES
|
||||||
void curses_display_init(DisplayState *ds, int full_screen);
|
void curses_display_init(DisplayState *ds, DisplayOptions *opts);
|
||||||
#else
|
#else
|
||||||
static inline void curses_display_init(DisplayState *ds, int full_screen)
|
static inline void curses_display_init(DisplayState *ds, DisplayOptions *opts)
|
||||||
{
|
{
|
||||||
/* This must never be called if CONFIG_CURSES is disabled */
|
/* This must never be called if CONFIG_CURSES is disabled */
|
||||||
error_report("curses support is disabled");
|
error_report("curses support is disabled");
|
||||||
|
|
|
@ -1020,7 +1020,7 @@
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
{ 'enum' : 'DisplayType',
|
{ 'enum' : 'DisplayType',
|
||||||
'data' : [ 'none', 'gtk', 'sdl', 'egl-headless' ] }
|
'data' : [ 'none', 'gtk', 'sdl', 'egl-headless', 'curses' ] }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @DisplayOptions:
|
# @DisplayOptions:
|
||||||
|
@ -1044,4 +1044,5 @@
|
||||||
'data' : { 'none' : 'DisplayNoOpts',
|
'data' : { 'none' : 'DisplayNoOpts',
|
||||||
'gtk' : 'DisplayGTK',
|
'gtk' : 'DisplayGTK',
|
||||||
'sdl' : 'DisplayNoOpts',
|
'sdl' : 'DisplayNoOpts',
|
||||||
'egl-headless' : 'DisplayNoOpts' } }
|
'egl-headless' : 'DisplayNoOpts',
|
||||||
|
'curses' : 'DisplayNoOpts' } }
|
||||||
|
|
|
@ -434,7 +434,7 @@ static const DisplayChangeListenerOps dcl_ops = {
|
||||||
.dpy_text_cursor = curses_cursor_position,
|
.dpy_text_cursor = curses_cursor_position,
|
||||||
};
|
};
|
||||||
|
|
||||||
void curses_display_init(DisplayState *ds, int full_screen)
|
void curses_display_init(DisplayState *ds, DisplayOptions *opts)
|
||||||
{
|
{
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
if (!isatty(1)) {
|
if (!isatty(1)) {
|
||||||
|
|
4
vl.c
4
vl.c
|
@ -2186,6 +2186,7 @@ static LegacyDisplayType select_display(const char *p)
|
||||||
} else if (strstart(p, "curses", &opts)) {
|
} else if (strstart(p, "curses", &opts)) {
|
||||||
#ifdef CONFIG_CURSES
|
#ifdef CONFIG_CURSES
|
||||||
display = DT_CURSES;
|
display = DT_CURSES;
|
||||||
|
dpy.type = DISPLAY_TYPE_CURSES;
|
||||||
#else
|
#else
|
||||||
error_report("curses support is disabled");
|
error_report("curses support is disabled");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -3268,6 +3269,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
case QEMU_OPTION_curses:
|
case QEMU_OPTION_curses:
|
||||||
#ifdef CONFIG_CURSES
|
#ifdef CONFIG_CURSES
|
||||||
display_type = DT_CURSES;
|
display_type = DT_CURSES;
|
||||||
|
dpy.type = DISPLAY_TYPE_CURSES;
|
||||||
#else
|
#else
|
||||||
error_report("curses support is disabled");
|
error_report("curses support is disabled");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -4697,7 +4699,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
/* init local displays */
|
/* init local displays */
|
||||||
switch (display_type) {
|
switch (display_type) {
|
||||||
case DT_CURSES:
|
case DT_CURSES:
|
||||||
curses_display_init(ds, full_screen);
|
curses_display_init(ds, &dpy);
|
||||||
break;
|
break;
|
||||||
case DT_SDL:
|
case DT_SDL:
|
||||||
sdl_display_init(ds, &dpy);
|
sdl_display_init(ds, &dpy);
|
||||||
|
|
Loading…
Reference in New Issue