diff options
-rw-r--r-- | monitor.c | 2 | ||||
-rw-r--r-- | vl.h | 1 | ||||
-rw-r--r-- | vnc.c | 22 |
3 files changed, 25 insertions, 0 deletions
@@ -1297,6 +1297,8 @@ static term_cmd_t info_cmds[] = { "", "show the currently saved VM snapshots" }, { "mice", "", do_info_mice, "", "show which guest mouse is receiving events" }, + { "vnc", "", do_info_vnc, + "", "show the vnc server status"}, { NULL, NULL, }, }; @@ -909,6 +909,7 @@ void cocoa_display_init(DisplayState *ds, int full_screen); /* vnc.c */ void vnc_display_init(DisplayState *ds, const char *display); +void do_info_vnc(void); /* x_keymap.c */ extern uint8_t _translate_keycode(const int key); @@ -73,6 +73,8 @@ struct VncState int last_x; int last_y; + const char *display; + Buffer output; Buffer input; kbd_layout_t *kbd_layout; @@ -90,6 +92,24 @@ struct VncState uint8_t modifiers_state[256]; }; +static VncState *vnc_state; /* needed for info vnc */ + +void do_info_vnc(void) +{ + if (vnc_state == NULL) + term_printf("VNC server disabled\n"); + else { + term_printf("VNC server active on: "); + term_print_filename(vnc_state->display); + term_printf("\n"); + + if (vnc_state->csock == -1) + term_printf("No client connected\n"); + else + term_printf("Client connected\n"); + } +} + /* TODO 1) Get the queue working for IO. 2) there is some weirdness when using the -S option (the screen is grey @@ -1150,6 +1170,8 @@ void vnc_display_init(DisplayState *ds, const char *arg) exit(1); ds->opaque = vs; + vnc_state = vs; + vs->display = arg; vs->lsock = -1; vs->csock = -1; |