3 Commits
1.0.5 ... 1.0.6

Author SHA1 Message Date
jpattWPC
c78ef81994 Update release number 2022-07-19 10:39:58 -05:00
jpattWPC
44b0bfae59 Work around http redireect issue 2022-07-19 10:37:26 -05:00
jpattWPC
5db945dced Add fullscreen toggle 2022-07-11 14:07:32 -05:00
3 changed files with 13 additions and 3 deletions

2
dist/vdiclient.json vendored
View File

@@ -1,6 +1,6 @@
{ {
"upgrade_guid" : "46cbad92-353e-4b28-9bee-83950991dad8", "upgrade_guid" : "46cbad92-353e-4b28-9bee-83950991dad8",
"version" : "1.0.4", "version" : "1.0.6",
"product_name" : "VDI Client", "product_name" : "VDI Client",
"manufacturer" : "Josh Patten", "manufacturer" : "Josh Patten",
"name" : "VDI Client", "name" : "VDI Client",

View File

@@ -9,9 +9,12 @@ icon = vdiicon.ico
logo = vdiclient.png logo = vdiclient.png
# Enable Kiosk mode, which does not allow the user to close anything # Enable Kiosk mode, which does not allow the user to close anything
kiosk = False kiosk = False
# Enable/Disable Fullscreen mode (not applicable in Kiosk mode)
fullscreen = True
# Enable displaying SPICE ini file before opening virt-viewer # Enable displaying SPICE ini file before opening virt-viewer
inidebug = False inidebug = False
[Authentication] [Authentication]
# This is the authentication backend that will be used to authenticate # This is the authentication backend that will be used to authenticate
auth_backend = pve auth_backend = pve

View File

@@ -32,6 +32,7 @@ class G:
totp = False totp = False
imagefile = None imagefile = None
kiosk = False kiosk = False
fullscreen = True
verify_ssl = True verify_ssl = True
icon = None icon = None
inidebug = False inidebug = False
@@ -107,6 +108,8 @@ def loadconfig(config_location = None):
G.imagefile = config['General']['logo'] G.imagefile = config['General']['logo']
if 'kiosk' in config['General']: if 'kiosk' in config['General']:
G.kiosk = config['General'].getboolean('kiosk') G.kiosk = config['General'].getboolean('kiosk')
if 'fullscreen' in config['General']:
G.fullscreen = config['General'].getboolean('fullscreen')
if 'inidebug' in config['General']: if 'inidebug' in config['General']:
G.inidebug = config['General'].getboolean('inidebug') G.inidebug = config['General'].getboolean('inidebug')
if not 'Authentication' in config: if not 'Authentication' in config:
@@ -234,7 +237,11 @@ def vmaction(vmnode, vmid, vmtype):
running = False running = False
i = 0 i = 0
while running == False and i < 30: while running == False and i < 30:
jobstatus = G.proxmox.nodes(vmnode).tasks(jobid).status.get() try:
jobstatus = G.proxmox.nodes(vmnode).tasks(jobid).status.get()
except Exception:
# We ran into a query issue here, going to skip this round and try again
jobstatus = {}
if 'exitstatus' in jobstatus: if 'exitstatus' in jobstatus:
startpop.close() startpop.close()
startpop = None startpop = None
@@ -277,7 +284,7 @@ def vmaction(vmnode, vmid, vmtype):
pcmd.append('--kiosk') pcmd.append('--kiosk')
pcmd.append('--kiosk-quit') pcmd.append('--kiosk-quit')
pcmd.append('on-disconnect') pcmd.append('on-disconnect')
else: elif G.fullscreen:
pcmd.append('--full-screen') pcmd.append('--full-screen')
pcmd.append('-') #We need it to listen on stdin pcmd.append('-') #We need it to listen on stdin
process = subprocess.Popen(pcmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) process = subprocess.Popen(pcmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)