diff --git a/lib/client/client.py b/lib/client/client.py index 91e82d2..17e9833 100644 --- a/lib/client/client.py +++ b/lib/client/client.py @@ -4,6 +4,7 @@ import requests import tkinter as tk import threading import time +import socket import os from tkinter import ttk from PIL import Image, ImageTk @@ -33,14 +34,21 @@ def make_sortable(tree): tree.heading(col, text=col, command=lambda c=col: sort_column(tree, c)) +def available_servers(): + return [socket.gethostname(), 'deathstar.local'] + + class ZordonClient: def __init__(self): + servers = available_servers() + # Create a Treeview widget self.root = tk.Tk() self.root.title("Zordon Render Client") - self.server_proxy = RenderServerProxy(hostname='localhost') + self.local_host = socket.gethostname() + self.server_proxy = RenderServerProxy(hostname=servers[0]) self.job_cache = [] # Setup photo preview @@ -50,7 +58,7 @@ class ZordonClient: self.photo_label.pack(fill=tk.BOTH, expand=True) server_frame = tk.LabelFrame(self.root, text="Server") - server_frame.pack(fill=tk.X, pady=5, padx=5, expand=True) + server_frame.pack(fill=tk.BOTH, pady=5, padx=5, expand=True) server_picker_frame = tk.Frame(server_frame) server_picker_frame.pack(fill=tk.X, expand=True) server_label = tk.Label(server_picker_frame, text="Current Server:") @@ -63,7 +71,7 @@ class ZordonClient: self.server_combo.current(0) # Setup the Tree - self.tree = ttk.Treeview(self.root, show="headings") + self.tree = ttk.Treeview(server_frame, show="headings", height=20) self.tree.tag_configure('running', background='lawn green', font=('', 0, 'bold')) self.tree.bind("<>", self.on_row_select) self.tree["columns"] = ("id", "Name", "Renderer", "Priority", "Status", "Time Elapsed", "Frames") @@ -84,8 +92,8 @@ class ZordonClient: # Pack the Treeview widget self.tree.pack(fill=tk.BOTH, expand=True) - button_frame = tk.Frame(self.root) - button_frame.pack(pady=10) + button_frame = tk.Frame(server_frame) + button_frame.pack(pady=5, fill=tk.BOTH, expand=True) # Create buttons logs_button = tk.Button(button_frame, text="Logs", command=self.open_logs)