We add a new property in the VM status/current API result that includes the display configurtion of the VM. This way we can check in the frontend what to do with it.
I chose a nested return value, as that makes it easier to add/move additional display properties into it. Patch 1/4 makes two functions in QemuServer.pm public. Patch 2/4 adds the new display property. If not explicitly set in the VM config, it will return the default 'std' value. Patch 3/4 implements the changes in the UI. The final result isn't really a lot simpler on the UI side than in V4 where we had the extra API call to the VM's config directly. Because we still need to wait for the API call to finish when initially navigating to the VM. But we have one fewer call. Patch 4/4 then introduces some changes to make loading of the console faster if we just navigate in the submenu of a VM itself where we already have the current status of a VM already cached. Changes from v5: implement suggestions: * use get_vga_properties for default VGA * UI: use helper to determine if serial display qemu-server: Aaron Lauterer (2): QemuServer: make get_vga_properties and extract_version public api: status/current: add display property PVE/API2/Qemu.pm | 21 +++++++++++++++++++++ PVE/QemuServer.pm | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) manager: Aaron Lauterer (2): fix #1926 ui: vm console: autodetect novnc or xtermjs ui: console: check on activate if display info for VMs is present www/manager6/Utils.js | 4 +++ www/manager6/VNCConsole.js | 60 ++++++++++++++++++++++++++----------- www/manager6/qemu/Config.js | 7 ++++- 3 files changed, 53 insertions(+), 18 deletions(-) -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel