From: Dominik Csapak Date: Wed, 24 May 2017 09:37:49 +0000 (+0200) Subject: add width and height parameters X-Git-Url: https://git.proxmox.com/?p=vncterm.git;a=commitdiff_plain;h=33a537dc6bc6c9e1912f624c263deabf57ba3ee3 add width and height parameters so that we can have a custom resolution in vncterm Signed-off-by: Dominik Csapak --- diff --git a/vncterm.c b/vncterm.c index 70fccef..7fb424f 100644 --- a/vncterm.c +++ b/vncterm.c @@ -50,6 +50,9 @@ char *auth_path = "/"; char *auth_perm = "Sys.Console"; +uint16_t screen_width = 744; +uint16_t screen_height = 400; + int use_x509 = 1; static char * @@ -2274,6 +2277,8 @@ main (int argc, char** argv) struct timeval tv, tv1; time_t elapsed, cur_time; struct winsize dimensions; + unsigned long width = 0; + unsigned long height = 0; if (gnutls_global_init () < 0) { fprintf(stderr, "gnutls_global_init failed\n"); @@ -2313,6 +2318,22 @@ main (int argc, char** argv) CHECK_ARGC (argc, argv, i); auth_perm = argv[i+1]; rfbPurgeArguments(&argc, &i, 2, argv); i--; + } else if (!strcmp (argv[i], "-width")) { + CHECK_ARGC (argc, argv, i); + errno = 0; + width = strtoul(argv[i+1], NULL, 10); + if (errno == 0 && width >= 16 && width < 0xFFFF) { + screen_width = width; + } + rfbPurgeArguments(&argc, &i, 2, argv); i--; + } else if (!strcmp (argv[i], "-height")) { + CHECK_ARGC (argc, argv, i); + errno = 0; + height = strtoul(argv[i+1], NULL, 10); + if (errno == 0 && height >= 32 && height < 0xFFFF) { + screen_height = height; + } + rfbPurgeArguments(&argc, &i, 2, argv); i--; } else if (!strcmp (argv[i], "-notls")) { rfbPurgeArguments(&argc, &i, 1, argv); i--; if ((vncticket = getenv("PVE_VNC_TICKET")) == NULL) { @@ -2332,7 +2353,7 @@ main (int argc, char** argv) rfbLogEnable (0); #endif - vncTerm *vt = create_vncterm (argc, argv, 745, 400); + vncTerm *vt = create_vncterm (argc, argv, screen_width, screen_height); setlocale(LC_ALL, ""); // set from environment