diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 2a68832..3cbd039 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -20,42 +20,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
@@ -243,7 +228,7 @@
-
+
@@ -265,6 +250,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -399,18 +401,20 @@
-
+
+
-
+
-
+
-
+
+
@@ -434,23 +438,23 @@
-
+
-
+
+
-
+
+
-
-
@@ -479,7 +483,6 @@
-
@@ -492,7 +495,7 @@
-
+
@@ -520,7 +523,6 @@
-
@@ -545,22 +547,11 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -603,16 +594,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -620,13 +601,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
diff --git a/JDE Icon.xcf b/JDE Icon.xcf
new file mode 100644
index 0000000..0bc61ed
Binary files /dev/null and b/JDE Icon.xcf differ
diff --git a/JDE/Interfaces/__pycache__/desktop.cpython-35.pyc b/JDE/Interfaces/__pycache__/desktop.cpython-35.pyc
new file mode 100644
index 0000000..dcaa8fa
Binary files /dev/null and b/JDE/Interfaces/__pycache__/desktop.cpython-35.pyc differ
diff --git a/JDE/Interfaces/__pycache__/login.cpython-35.pyc b/JDE/Interfaces/__pycache__/login.cpython-35.pyc
new file mode 100644
index 0000000..6aaeaf0
Binary files /dev/null and b/JDE/Interfaces/__pycache__/login.cpython-35.pyc differ
diff --git a/JDE/Interfaces/__pycache__/start.cpython-35.pyc b/JDE/Interfaces/__pycache__/start.cpython-35.pyc
new file mode 100644
index 0000000..972255e
Binary files /dev/null and b/JDE/Interfaces/__pycache__/start.cpython-35.pyc differ
diff --git a/JDE/Interfaces/desktop.py b/JDE/Interfaces/desktop.py
index 62b742f..6da7a8f 100644
--- a/JDE/Interfaces/desktop.py
+++ b/JDE/Interfaces/desktop.py
@@ -176,6 +176,8 @@ class desktop:
def webEditor():
webEdit.webEdit(self.window)
+ # def runPymonitor():
+ # pyMonitor.pyMonitor(self.window)
self.contextMenu.add_command(label="Refresh", command=self.desktopRefresh)
diff --git a/JDE/__pycache__/JDE.cpython-35.pyc b/JDE/__pycache__/JDE.cpython-35.pyc
new file mode 100644
index 0000000..0fd0b74
Binary files /dev/null and b/JDE/__pycache__/JDE.cpython-35.pyc differ
diff --git a/Programs/__pycache__/FileBrowser.cpython-35.pyc b/Programs/__pycache__/FileBrowser.cpython-35.pyc
new file mode 100644
index 0000000..f1f7fd6
Binary files /dev/null and b/Programs/__pycache__/FileBrowser.cpython-35.pyc differ
diff --git a/Programs/__pycache__/imageViewer.cpython-35.pyc b/Programs/__pycache__/imageViewer.cpython-35.pyc
new file mode 100644
index 0000000..0b824b6
Binary files /dev/null and b/Programs/__pycache__/imageViewer.cpython-35.pyc differ
diff --git a/Programs/__pycache__/info.cpython-35.pyc b/Programs/__pycache__/info.cpython-35.pyc
new file mode 100644
index 0000000..bd74381
Binary files /dev/null and b/Programs/__pycache__/info.cpython-35.pyc differ
diff --git a/Programs/__pycache__/jpad.cpython-35.pyc b/Programs/__pycache__/jpad.cpython-35.pyc
new file mode 100644
index 0000000..1e56354
Binary files /dev/null and b/Programs/__pycache__/jpad.cpython-35.pyc differ
diff --git a/Programs/__pycache__/minesweeper.cpython-35.pyc b/Programs/__pycache__/minesweeper.cpython-35.pyc
new file mode 100644
index 0000000..ce1214b
Binary files /dev/null and b/Programs/__pycache__/minesweeper.cpython-35.pyc differ
diff --git a/Programs/__pycache__/terminal.cpython-35.pyc b/Programs/__pycache__/terminal.cpython-35.pyc
new file mode 100644
index 0000000..8cd5cbd
Binary files /dev/null and b/Programs/__pycache__/terminal.cpython-35.pyc differ
diff --git a/Programs/webEdit/__pycache__/htmlEdit.cpython-35.pyc b/Programs/webEdit/__pycache__/htmlEdit.cpython-35.pyc
new file mode 100644
index 0000000..7e3704a
Binary files /dev/null and b/Programs/webEdit/__pycache__/htmlEdit.cpython-35.pyc differ
diff --git a/icon.ico b/icon.ico
new file mode 100644
index 0000000..12474a6
Binary files /dev/null and b/icon.ico differ
diff --git a/Programs/PyIDE.py b/inDevelopment/PyIDE.py
similarity index 100%
rename from Programs/PyIDE.py
rename to inDevelopment/PyIDE.py
diff --git a/inDevelopment/pyMonitor.py b/inDevelopment/pyMonitor.py
new file mode 100644
index 0000000..ebf8981
--- /dev/null
+++ b/inDevelopment/pyMonitor.py
@@ -0,0 +1,112 @@
+from tkinter import *
+import threading
+import cpuinfo.cpuinfo as cpuinfo
+import psutil
+
+
+class pyMonitor:
+ def storageRender(self):
+ def storage():
+ try:
+ storageFreeLabel.configure(text="Disk(0) Free: " + str(psutil.disk_usage("/").free) + " Bytes")
+ storageUsedLabel.configure(text="Disk(0) Used: " + str(psutil.disk_usage("/").used) + " Bytes")
+ storagePercentLabel.configure(text="Disk(0) Total: " + str(psutil.disk_usage("/").percent) + "%")
+ threading.Timer(1, storage)
+ except:
+ pass
+ storageUsageLabel = Label(self.storageFrame,
+ text="Disk(0) Total: " + str(psutil.disk_usage("/").total) + " Bytes")
+ storageUsedLabel = Label(self.storageFrame,
+ text="Disk(0) Used: " + str(psutil.disk_usage("/").used) + " Bytes")
+ storageFreeLabel = Label(self.storageFrame,
+ text="Disk(0) Free: " + str(psutil.disk_usage("/").free) + " Bytes")
+ storagePercentLabel = Label(self.storageFrame,
+ text="Disk(0) Used: " + str(psutil.disk_usage("/").percent) + "%")
+
+ storageUsageLabel.pack()
+ storageUsedLabel.pack()
+ storageFreeLabel.pack()
+ storagePercentLabel.pack()
+
+ storageThread = threading.Thread(target=storage, name="storage", daemon=True)
+ storageThread.start()
+
+ def ramRender(self):
+ def usedRam():
+ try:
+ usedRamLabel.configure(text="Used RAM: " + str(psutil.virtual_memory().used) + " Bytes")
+ avaailableRamLabel.configure(text="Available RAM: " + str(psutil.virtual_memory().available) + " Bytes")
+ percentRamLabel.configure(text="Used RAM: " + str(psutil.virtual_memory().percent) + "%")
+ threading.Timer(1, usedRam).start()
+ except:
+ pass
+
+ totalRamLabel = Label(self.ramFrame, text="Total RAM: " + str(psutil.virtual_memory().total) + " Bytes")
+ usedRamLabel = Label(self.ramFrame, text="Used RAM: " + str(psutil.virtual_memory().used) + " Bytes")
+
+ avaailableRamLabel = Label(self.ramFrame,
+ text="Available RAM: " + str(psutil.virtual_memory().available) + " Bytes")
+ percentRamLabel = Label(self.ramFrame,
+ text="Used RAM: " + str(psutil.virtual_memory().percent) + "%")
+
+ totalRamLabel.pack()
+ usedRamLabel.pack()
+ avaailableRamLabel.pack()
+ percentRamLabel.pack()
+
+ usedRamThread = threading.Thread(target=usedRam, name="usedRam", daemon=True)
+ usedRamThread.start()
+
+ def cpuRender(self):
+ def getUsage():
+ try:
+ cpuPercentLabel.configure(text="Usage: " + str(psutil.cpu_percent(interval=1)) + "%")
+ threading.Timer(1, getUsage).start()
+ except:
+ pass
+
+ cpuName = cpuinfo.get_cpu_info()["brand"]
+ cpuNameLabel = Label(self.cpuFrame, text="Name: " + cpuName)
+
+ cpuFreqActual = cpuinfo.get_cpu_info()["hz_actual"]
+ cpuFreqActualLabel = Label(self.cpuFrame, text="Actual Speed: " + cpuFreqActual)
+
+ cpuCoreCount = cpuinfo.get_cpu_info()["count"]
+ cpuCoreCountLabel = Label(self.cpuFrame, text="Cores: " + str(cpuCoreCount))
+
+ cpuPercentLabel = Label(self.cpuFrame, text="Usage: " + str(psutil.cpu_percent()) + "%")
+
+ cpuNameLabel.pack()
+ cpuFreqActualLabel.pack()
+ cpuCoreCountLabel.pack()
+ cpuPercentLabel.pack()
+ getUsageThread = threading.Thread(target=getUsage, name="getUsage", daemon=True)
+ getUsageThread.start()
+
+ def createContainers(self):
+ self.storageFrame = LabelFrame(self.window, text="Storage")
+ self.ramFrame = LabelFrame(self.window, text="RAM")
+ self.cpuFrame = LabelFrame(self.window, text="CPU")
+
+ self.storageFrame.pack(side=LEFT, expand=YES, fill=BOTH)
+ self.ramFrame.pack(side=LEFT, expand=YES, fill=BOTH)
+ self.cpuFrame.pack(side=LEFT, expand=YES, fill=BOTH)
+
+ cpuRenderThread = threading.Thread(target=self.cpuRender, name="cpuRender", daemon=True)
+ cpuRenderThread.start()
+
+ ramRenderThread = threading.Thread(target=self.ramRender, name="ramRender", daemon=True)
+ ramRenderThread.start()
+
+ storageRenderThread = threading.Thread(target=self.storageRender, name="storageRender", daemon=True)
+ storageRenderThread.start()
+
+ def __init__(self, master):
+ self.window = Toplevel(master)
+ self.window.title("pyMonitor")
+ # self.window.geometry("800x400")
+
+ containerThread = threading.Thread(target=self.createContainers, name="createContainers", daemon=True)
+ containerThread.start()
+
+ self.window.mainloop()
\ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..021c918
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,19 @@
+#!python3.4
+import sys
+from cx_Freeze import setup, Executable
+
+# None for commandline or "Win32GUI" or GUI
+
+base = "Win32GUI"
+
+
+dataFiles = ["JDE/", "Programs/", "Users/"]
+modules = ["logging", "tkinter", "PIL"]
+
+setup(name="JDE",
+ version="1.5.0a",
+ author="Jordon Brooks",
+ url="https://jordonbc.github.io",
+ options = {'build_exe': {'include_files':dataFiles, 'packages': modules}},
+ description="Editor",
+ executables = [Executable("run.py", base=base, icon="icon.ico")])