summaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2019-03-11 14:51:27 +0100
committerGerd Hoffmann <kraxel@redhat.com>2019-03-13 08:29:06 +0100
commit2f8b7cd587558944532f587abb5203ce54badba9 (patch)
tree3dde911d8791a4b183ddda234d9b64dea2157954 /qapi
parente08bb3010c5aa7fcdc614bdb151cdde7fd0756b6 (diff)
curses: add option to specify VGA font encoding
This uses iconv to convert glyphs from the specified VGA font encoding to unicode, and makes use of cchar_t instead of chtype when using ncursesw, which allows to store all wide char as well as the WACS values. The default charset is made CP437 since that is the charset of the hardware default VGA font. This also makes the curses backend set the LC_CTYPE locale to "" to allow curses to emit wide characters. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Cc: Eddie Kohler <ekohler@gmail.com> Acked-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20190311135127.2229-3-samuel.thibault@ens-lyon.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/ui.json14
1 files changed, 14 insertions, 0 deletions
diff --git a/qapi/ui.json b/qapi/ui.json
index c5d1d7f099..59e412139a 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1081,6 +1081,19 @@
'data' : [ 'off', 'on', 'core', 'es' ] }
##
+# @DisplayCurses:
+#
+# Curses display options.
+#
+# @charset: Font charset used by guest (default: CP437).
+#
+# Since: 4.0
+#
+##
+{ 'struct' : 'DisplayCurses',
+ 'data' : { '*charset' : 'str' } }
+
+##
# @DisplayType:
#
# Display (user interface) type.
@@ -1142,6 +1155,7 @@
'*gl' : 'DisplayGLMode' },
'discriminator' : 'type',
'data' : { 'gtk' : 'DisplayGTK',
+ 'curses' : 'DisplayCurses',
'egl-headless' : 'DisplayEGLHeadless'} }
##