diff --git a/.idea/JDE.iml b/.idea/JDE.iml index 08b65cd..6711606 100644 --- a/.idea/JDE.iml +++ b/.idea/JDE.iml @@ -2,7 +2,7 @@ - + diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index c396f19..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 0d9674f..fa16f6a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -26,7 +26,7 @@ - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 3cbd039..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,639 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1466672063402 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Capture.PNG b/Capture.PNG deleted file mode 100644 index 6b48c56..0000000 Binary files a/Capture.PNG and /dev/null differ diff --git a/JDE Icon.xcf b/JDE Icon.xcf deleted file mode 100644 index 0bc61ed..0000000 Binary files a/JDE Icon.xcf and /dev/null differ diff --git a/JDE/Images/background.png b/JDE/Images/background.png index 1816ef7..da1809d 100644 Binary files a/JDE/Images/background.png and b/JDE/Images/background.png differ diff --git a/JDE/Interfaces/__pycache__/desktop.cpython-35.pyc b/JDE/Interfaces/__pycache__/desktop.cpython-35.pyc deleted file mode 100644 index dcaa8fa..0000000 Binary files a/JDE/Interfaces/__pycache__/desktop.cpython-35.pyc and /dev/null differ diff --git a/JDE/Interfaces/__pycache__/login.cpython-35.pyc b/JDE/Interfaces/__pycache__/login.cpython-35.pyc deleted file mode 100644 index 6aaeaf0..0000000 Binary files a/JDE/Interfaces/__pycache__/login.cpython-35.pyc and /dev/null differ diff --git a/JDE/Interfaces/__pycache__/start.cpython-35.pyc b/JDE/Interfaces/__pycache__/start.cpython-35.pyc deleted file mode 100644 index 972255e..0000000 Binary files a/JDE/Interfaces/__pycache__/start.cpython-35.pyc and /dev/null differ diff --git a/JDE/Interfaces/desktop.py b/JDE/Interfaces/desktop.py index 6da7a8f..1fe995d 100644 --- a/JDE/Interfaces/desktop.py +++ b/JDE/Interfaces/desktop.py @@ -2,21 +2,13 @@ import logging import os import time import webbrowser -import PIL.Image -import PIL.ImageTk from tkinter import * from JDE.Interfaces import start from Programs import jpad from Programs import info -from Programs import imageViewer -from Programs import minesweeper -from Programs import terminal -from Programs.webEdit import htmlEdit as webEdit -from Programs import FileBrowser -import threading -desktopLog = logging.getLogger(__name__) +desktopLog = logging.getLogger("desktop.py") desktopLog.debug("Atempting to read settings file") try: @@ -29,7 +21,7 @@ except Exception as e: class desktop: def box(self, event): - desktopLog.debug("Running " + desktop.box.__name__) + desktopLog.debug("Running box") try: if (self.clicked == False): self.searchvar.set("") @@ -39,7 +31,7 @@ class desktop: desktopLog.error(str(e)) def search_internet(self, event): - desktopLog.debug("Running " + desktop.search_internet.__name__) + desktopLog.debug("Running search_internet") # TODO: Find a way to implement a browser try: webbrowser.open_new_tab("https://www.google.co.uk/#q=" + self.searchvar.get().replace(" ", "+")) @@ -47,56 +39,36 @@ class desktop: desktopLog.error(str(e)) def reposition(self, event): - if self.tempWidth != self.window.winfo_width() or self.tempHeight != self.window.winfo_height(): - desktopLog.debug("Running " + desktop.reposition.__name__) - try: - self.cHeight = self.window.winfo_height() - self.cWidth = self.window.winfo_width() + desktopLog.debug("Running reposition") + try: + self.cHeight = self.window.winfo_height() + self.cWidth = self.window.winfo_width() - self.centerWidth = self.window.winfo_x() + int(int(self.cWidth) / 2) - self.centerHeight = self.window.winfo_y() + int(int(self.cHeight) / 2) + self.centerWidth = self.window.winfo_x() + int(int(self.cWidth) / 2) + self.centerHeight = self.window.winfo_y() + int(int(self.cHeight) / 2) - self.screenCenter = str(self.centerWidth) + "+" + str(self.centerHeight) + self.screenCenter = str(self.centerWidth) + "+" + str(self.centerHeight) - # self.startPic.place_configure(x=int(0), y=int(self.cHeight) - 55) - def searchPlaceRepos(): - self.search.place_configure(x=0, y=int(self.cHeight) - 55, height=55, width=300) + # self.startPic.place_configure(x=int(0), y=int(self.cHeight) - 55) - # versionText.place(x=int(cWidth) - 300, y=int(cHeight) - 120) + self.search.place_configure(x=0, y=int(self.cHeight) - 55, height=55, width=300) - def toolbarPlaceRepos(): - self.toolbar.place_configure(x=258, y=int(self.cHeight) - 55, height=55, width=int(self.cWidth)) + # versionText.place(x=int(cWidth) - 300, y=int(cHeight) - 120) - def notifyBarPlaceRepos(): - self.notifcationBar.place_configure(x=int(self.cWidth) - 500, y=int(self.cHeight) - 55, height=55, - width=500) + self.toolbar.place_configure(x=258, y=int(self.cHeight) - 55, height=55, width=int(self.cWidth)) - def resizeBackground(): - if self.background_image.width() != self.cWidth or self.background_image.height() != self.cHeight: - if config["resizeBackground"]: - try: - self.canvas.delete("background") - backgroundResized = self.image.resize((self.cWidth, self.cHeight), PIL.Image.ANTIALIAS) - self.background_image = PIL.ImageTk.PhotoImage(backgroundResized) - self.canvas.backgroundImage = self.background_image - self.canvas.create_image(0, 0, image=self.background_image, anchor=NW, tag="background") - except Exception as e: - desktopLog.error(str(e)) + self.notifcationBar.place_configure(x=int(self.cWidth) - 500, y=int(self.cHeight) - 55, height=55, + width=500) - threading.Thread(target=searchPlaceRepos, daemon=True).start() - threading.Thread(target=toolbarPlaceRepos, daemon=True).start() - threading.Thread(target=notifyBarPlaceRepos, daemon=True).start() - threading.Thread(target=resizeBackground, daemon=True).start() + self.windowX = self.window.winfo_x() + self.windowY = (self.window.winfo_y() + self.window.winfo_height()) - self.windowX = self.window.winfo_x() - self.windowY = (self.window.winfo_y() + self.window.winfo_height()) - - # displayTime.pack_configure(side=RIGHT) - except Exception as e: - desktopLog.error(str(e)) + # displayTime.pack_configure(side=RIGHT) + except Exception as e: + desktopLog.error(str(e)) def fullScreen(self, event): - desktopLog.debug("Running " + desktop.fullScreen.__name__) + desktopLog.debug("Running fullscreen") try: if self.max == 0: self.window.attributes('-fullscreen', True) @@ -108,7 +80,7 @@ class desktop: desktopLog.error(str(e)) def clockTick(self): - desktopLog.debug("Running " + desktop.clockTick.__name__) + desktopLog.debug("Running clockTick") try: self.desktopRefresh() # cTime = time.strftime("%H:%M:%S") @@ -124,11 +96,11 @@ class desktop: desktopLog.error(str(e)) def createSearch(self): - desktopLog.debug("Running " + desktop.createSearch.__name__) + desktopLog.debug("Running createSearch") try: self.searchText = Label(self.window, text="Search for: ") self.searchvar = StringVar() - self.search = Entry(self.window, textvariable=self.searchvar, font=(14), bg=self.menuColour, relief=FLAT) + self.search = Entry(self.window, textvariable=self.searchvar, font=(14), bg=self.menuColour) self.search.bind("", self.box) self.search.bind("", self.search_internet) self.search.place(x=0, y=350, height=50, width=100) @@ -137,11 +109,10 @@ class desktop: desktopLog.error(str(e)) def contextMenuPopup(self, event): - desktopLog.debug("Running " + desktop.contextMenuPopup.__name__) + desktopLog.debug("Running contextMenuPopup") try: # start.start(self.menuColour, event.x_root, event.y_root) self.contextMenu.post(event.x_root, event.y_root) - self.contextMenu.focus() except Exception as e: desktopLog.error(str(e)) @@ -152,58 +123,27 @@ class desktop: self.contextMenu.add_command(label=label, command=command, state=state) def createContextMenu(self): - desktopLog.debug("Running " + desktop.createContextMenu.__name__) + desktopLog.debug("Running createContextMenu") try: - self.contextMenu = Menu(self.window, tearoff=0, bg=self.contextMenuColour, bd=0, relief=FLAT) - - self.games = Menu(self.contextMenu, bg=self.contextMenuColour, tearoff=0, relief=FLAT, bd=0) - self.applications = Menu(self.contextMenu, bg=self.contextMenuColour, tearoff=0, relief=FLAT, bd=0) - - def FileBrowserRun(): - FileBrowser.fileBrowser(self.window, os.path.realpath(os.path.dirname(__file__+"../../../"))) - - def minesweeperRun(): - minesweeper.mine_sweeper(self.window, self.menuColour) - - def jpadEdit(): - jpad.jpadEditor(self.window) - - def viewImage(): - imageViewer.imageViewer(self.window) - - def runTerminal(): - terminal.terminal(self.window) - - def webEditor(): - webEdit.webEdit(self.window) - # def runPymonitor(): - # pyMonitor.pyMonitor(self.window) + self.contextMenu = Menu(self.window, tearoff=0) self.contextMenu.add_command(label="Refresh", command=self.desktopRefresh) - - self.contextMenu.add_cascade(label="Games", menu=self.games) - self.contextMenu.add_cascade(label="Applications", menu=self.applications) - - self.applications.add_command(label="File Browser", command=FileBrowserRun) - self.applications.add_command(label="Jpad", command=jpadEdit) - self.applications.add_command(label="WebEdit", command=webEditor) - self.applications.add_command(label="View Images", command=viewImage) - self.games.add_command(label="Minesweeper", command=minesweeperRun) - self.applications.add_command(label="File Explorer", state=DISABLED) - self.applications.add_command(label="Hardware Monitor", state=DISABLED) - self.applications.add_command(label="Music Player", state=DISABLED) - self.applications.add_command(label="Info", command=info.info) - self.applications.add_command(label="Terminal", state=ACTIVE, command=runTerminal) - self.applications.add_command(label="Settings", state=DISABLED) + self.contextMenu.add_command(label="Jpad", command=jpad.jpadEditor) + self.contextMenu.add_command(label="File Explorer", state=DISABLED) + self.contextMenu.add_command(label="Hardware Monitor", state=DISABLED) + self.contextMenu.add_command(label="Music Player", state=DISABLED) + self.contextMenu.add_command(label="Info", command=info.info) + self.contextMenu.add_command(label="Terminal", state=DISABLED) + self.contextMenu.add_command(label="Settings", state=DISABLED) self.contextMenu.add_command(label="Restart", state=DISABLED) - self.contextMenu.add_command(label="Exit", command=sys.exit) + self.contextMenu.add_command(label="Shutdown", command=sys.exit) except Exception as e: desktopLog.error(str(e)) def desktopRefresh(self): try: - desktopLog.debug("Running " + desktop.desktopRefresh.__name__) + desktopLog.debug("Running desktopRefresh") self.fileImage = PhotoImage(file="JDE/Images/file.png") self.f = [] self.l = [] @@ -215,12 +155,12 @@ class desktop: prefix = self.user_dir # prefix = os.path.expanduser("~") - def openFile(event): + def openFile(self): # print(fName) self.fileURL = prefix + "/Desktop/" + str(fName[files]) # print(fileURL) self.a = jpad - self.a.jpadEditor(self.window, str(self.fileURL)) + self.a.jpadEditor(str(self.fileURL)) def openFolder(self): self.folderURL = prefix + "/Desktop/" + str(fName[files]) @@ -238,7 +178,7 @@ class desktop: self.space += 80 - self.f.append(Button(self.window, image=self.fileImage, relief=FLAT)) + self.f.append(Button(self.window, image=self.fileImage)) self.f[files].place(x=int(80), y=int(20) + self.space, width=40, height=40) @@ -253,45 +193,43 @@ class desktop: else: pass self.l[files].place(x=int(100), y=int(70) + self.space, anchor=CENTER) - except Exception as e: - desktopLog.error(str(e)) + except: + pass except Exception as e: desktopLog.error(str(e)) def refresh(self): - desktopLog.debug("Running " + desktop.refresh.__name__) + desktopLog.debug("Running refresh") try: self.desktopRefresh() except Exception as e: desktopLog.error(str(e)) def createStart(self): - desktopLog.debug("Running " + desktop.createStart.__name__) + desktopLog.debug("Running createStartPic") try: start.start(self.menuColour, int(0), int(self.window.winfo_height())) except Exception as e: desktopLog.error(str(e)) + pass def createBackground(self): try: - desktopLog.debug("Running " + desktop.createBackground.__name__) - self.image = PIL.Image.open(self.background) - self.background_image = PIL.ImageTk.PhotoImage(self.image) - self.canvas.background_image = self.background_image - self.canvas.create_image(0, 0, image=self.background_image, anchor=NW, tag="background") - self.canvas.configure(relief=FLAT, highlightthickness=0) + desktopLog.debug("Running createBackground") + self.background_image = PhotoImage(file=self.background) + self.canvas.create_image(0, 0, image=self.background_image, anchor=NW) except Exception as e: desktopLog.error(str(e)) def createIcon(self): - desktopLog.debug("Running" + desktop.createIcon.__name__) + desktopLog.debug("Running createIcon") try: self.window.wm_iconbitmap("System/JordonOS Logo.ico") except Exception as e: desktopLog.error(str(e)) def createWindow(self): - desktopLog.debug("Running " + desktop.createWindow.__name__) + desktopLog.debug("Running createWindow") try: self.window = Tk() self.window.title("Jordon's Desktop Environment") @@ -299,8 +237,6 @@ class desktop: self.window.minsize(640, 360) self.windowX = self.window.winfo_x() self.windowY = self.window.winfo_y() - self.tempWidth = self.window.winfo_width() - self.tempHeight = self.window.winfo_height() self.canvas = Canvas(self.window, width=self.width, height=self.height) self.canvas.pack(expand=YES, fill=BOTH) @@ -317,10 +253,7 @@ class desktop: self.displayTime = Label(self.notifcationBar, text=self.cTime, bg=self.menuColour, font=("System", 20)) self.displayTime.pack(side=RIGHT) - def manFefresh(event): - self.refresh() - - self.window.bind("", manFefresh) + self.window.bind("", self.refresh) self.window.bind("", self.fullScreen) self.window.bind("", self.reposition) @@ -338,7 +271,7 @@ class desktop: desktopLog.error(str(e)) def __init__(self, windowTitle="Desktop Environment", width="1920", height="1080", minWidth="", username=""): - desktopLog.debug("Running " + desktop.__init__.__name__) + desktopLog.debug("Running __init__") try: self.width = width self.height = height @@ -347,7 +280,6 @@ class desktop: self.cTime = time.strftime("%H:%M") self.time1 = "" self.menuColour = config["colour"].replace("\n", "") - self.contextMenuColour = config["contextMenuColour"].replace("\n", "") self.startMenuPic = config["startPic"].replace("\n", "") self.background = config["background"] self.user_dir = config["userDirs"] + username + "/" diff --git a/JDE/Interfaces/login.py b/JDE/Interfaces/login.py index 4ef95e2..41b2edc 100644 --- a/JDE/Interfaces/login.py +++ b/JDE/Interfaces/login.py @@ -1,46 +1,15 @@ import logging -import PIL.Image -import PIL.ImageTk from tkinter import * -import threading -loginLog = logging.getLogger(__name__) - -loginLog.debug("Atempting to read settings file") -try: - config = {} - exec(open("JDE/Settings/settings.conf").read(), config) - loginLog.debug("System settings Detected!") -except Exception as e: - loginLog.error(str(e)) +loginLog = logging.getLogger("login.py") class login: def reposition(self, event): - if self.tempWidth != self.window.winfo_width() or self.tempHeight != self.window.winfo_height(): - loginLog.debug("Running reposition") - def reposFrame(): - self.frame.place_configure(x=int(self.window.winfo_width() / 3), y=self.window.winfo_height() / 3, - width=int(int(self.window.winfo_width()) / 3), - height=int(int(self.window.winfo_height()) / 3)) - - if self.background_image.width() != self.window.winfo_width() or self.background_image.height() != self.window.winfo_height(): - def reposBackground(): - if config["resizeBackground"]: - try: - self.canvas.delete("Background") - background_image_resized = self.bg_image.resize((self.window.winfo_width(), self.window.winfo_height()), - PIL.Image.ANTIALIAS) - self.background_image = PIL.ImageTk.PhotoImage(background_image_resized) - self.canvas.backgroundImage = self.background_image - self.canvas.create_image(0, 0, image=self.background_image, anchor=NW, tag="Background") - except Exception as e: - loginLog.error(str(e)) - - threading.Thread(target=reposFrame, daemon=True).start() - threading.Thread(target=reposBackground, daemon=True).start() - self.tempWidth = self.window.winfo_width() - self.tempHeight = self.window.winfo_height() + loginLog.debug("Running reposition") + self.frame.place_configure(x=int(self.window.winfo_width() / 3), y=self.window.winfo_height() / 3, + width=int(int(self.window.winfo_width()) / 3), + height=int(int(self.window.winfo_height()) / 3)) def callback(self, event): loginLog.debug("Running callback") @@ -51,7 +20,6 @@ class login: self.file.close() except: self.message.configure(text="Err: Username or password is incorrect!") - self.file = open(self.userDirs + self.username.lower() + ".profile", "r") self.line = self.file.readlines() @@ -90,13 +58,7 @@ class login: self.go.bind("", self.callback) self.go.bind("", self.callback) self.passw.bind("", self.callback) - - self.reposition(self) - - def configureWindow(): - self.window.bind("", self.reposition) - - threading.Thread(target=configureWindow, daemon=True).start() + self.window.bind("", self.reposition) self.window.mainloop() @@ -117,11 +79,8 @@ class login: def createBackground(self): loginLog.debug("Running createBackground") try: - self.bg_image = PIL.Image.open(self.bg, "r") - self.background_image = PIL.ImageTk.PhotoImage(self.bg_image) - self.canvas.bgImage = self.background_image - self.canvas.create_image(0, 0, image=self.background_image, anchor=NW, tag="Background") - self.canvas.configure(highlightthickness=0, relief=FLAT) + self.background_image = PhotoImage(file=self.bg) + self.canvas.create_image(0, 0, image=self.background_image, anchor=NW) self.canvas.pack(expand=YES, fill=BOTH) except Exception as e: loginLog.error(str(e)) @@ -144,9 +103,6 @@ class login: self.frame = Frame(self.canvas) self.frame.configure(bg=self.bgColour) - self.tempWidth = self.window.winfo_width() - self.tempHeight = self.window.winfo_height() - self.canvas.pack() self.window.attributes('-fullscreen', True) diff --git a/JDE/JDE.py b/JDE/JDE.py index ed2f8e1..c9ad751 100644 --- a/JDE/JDE.py +++ b/JDE/JDE.py @@ -1,19 +1,9 @@ __author__ = "Jordonbc" import logging import time -import os -import sys -if not os.path.exists("JDE/Logs"): - os.mkdir("JDE/Logs") - -logging.basicConfig(filename='JDE/Logs/' + str(time.strftime('%d-%m-%Y-%H-%M%p') + ".log"), level=logging.DEBUG, - datefmt='%I:%M:%S %p', - format='%(asctime)s:%(name)s:%(lineno)d}:%(levelname)s - %(message)s') - -jdeLog = logging.getLogger(__name__) - -jdeLog.info("Python version: "+str(sys.version_info[0])+"."+str(sys.version_info[1])+"."+str(sys.version_info[2])) +logging.basicConfig(filename='JDE/Logs/' + str(time.strftime('%d-%m-%Y-%H-%M%p') + ".log"), level=logging.DEBUG) +jdeLog = logging.getLogger("JDE.py") jdeLog.info("Importing tkinter") try: @@ -41,7 +31,7 @@ except Exception as e: jdeLog.info("Importing JDE/Interfaces/desktop") try: - from JDE.Interfaces import desktop as desktop + from JDE.Interfaces import desktop jdeLog.info("Import Successful!") except Exception as e: @@ -55,6 +45,9 @@ try: userFile.close() os.remove("active") - desktop.desktop(windowTitle="JDE Desktop", username=username) + print(username) + + desktopApp = desktop.desktop + desktopApp(username=username) except Exception as e: jdeLog.critical(str(e)) diff --git a/JDE/Recent b/JDE/Recent index 1dd3b2b..b550102 100644 --- a/JDE/Recent +++ b/JDE/Recent @@ -26,15 +26,4 @@ jpad jpad jpad jpad -jpad -jpad -jpad -jpad -jpad -jpad -jpad -jpad -jpad -jpad -jpad jpad \ No newline at end of file diff --git a/JDE/Settings/settings.conf b/JDE/Settings/settings.conf index c97efbc..c61bec9 100644 --- a/JDE/Settings/settings.conf +++ b/JDE/Settings/settings.conf @@ -1,9 +1,8 @@ -width = "1280" -height = "800" +width = "1024" +height = "600" userDirs = "Users/" background = "JDE/Images/background.png" colour = "#a0fd44" startPic = "JDE/Images/start.png" -contextMenuColour = "#a0fd44" -resizeBackground = False # This can be VERY slow! -version = "1.5.0 ALPHA" \ No newline at end of file +fullStart = "0" +version = "1.1.0 ALPHA" \ No newline at end of file diff --git a/JDE/__pycache__/JDE.cpython-35.pyc b/JDE/__pycache__/JDE.cpython-35.pyc deleted file mode 100644 index 0fd0b74..0000000 Binary files a/JDE/__pycache__/JDE.cpython-35.pyc and /dev/null differ diff --git a/Programs/FileBrowser.py b/Programs/FileBrowser.py deleted file mode 100644 index 57d46a9..0000000 --- a/Programs/FileBrowser.py +++ /dev/null @@ -1,64 +0,0 @@ -from tkinter import * -import os - -path = "E:/programming/" - -class fileBrowser: - def update(self): - self.path = os.path.realpath(self.path) - self.folderListbox.delete(0, END) - self.fileListbox.delete(0, END) - - self.addressBox.delete(0, END) - self.addressBox.insert(0, self.path) - - self.folderListbox.insert(0, "Back") - - for item in os.listdir(self.path): - if not self.path.startswith("."): - if os.path.isdir(os.path.join(self.path, item)): - self.folderListbox.insert(END, item) - else: - self.fileListbox.insert(END, item) - - - def createWidgets(self): - self.folderListbox = Listbox(self.root) - self.fileListbox = Listbox(self.root) - - self.addressBox = Entry(self.root) - self.addressBox.insert(0, self.path) - - self.folderListbox.insert(0, "Back") - - def test(event): - if self.folderListbox.get(self.folderListbox.curselection()) == "Back": - self.path = os.path.abspath(os.path.join(self.path, os.pardir)) - else: - self.path = os.path.join(self.path, self.folderListbox.get(self.folderListbox.curselection())) - self.update() - - def refresh(event): - self.path = os.path.abspath(self.addressBox.get()) - self.update() - - def upd(event): - self.update() - - self.update() - - self.addressBox.bind("", refresh) - self.folderListbox.bind("", upd) - - self.folderListbox.bind('', test) - - self.addressBox.pack(side=TOP, expand=NO, fill=X) - self.folderListbox.pack(side=LEFT, expand=YES, fill=BOTH) - self.fileListbox.pack(side=LEFT, expand=YES, fill=BOTH) - def __init__(self, master, path): - self.path = os.path.abspath(os.path.dirname(os.path.realpath(path))) - self.root = Toplevel(master) - self.root.title("File Browser") - self.createWidgets() - - self.root.mainloop() \ No newline at end of file diff --git a/Programs/__pycache__/FileBrowser.cpython-35.pyc b/Programs/__pycache__/FileBrowser.cpython-35.pyc deleted file mode 100644 index f1f7fd6..0000000 Binary files a/Programs/__pycache__/FileBrowser.cpython-35.pyc and /dev/null differ diff --git a/Programs/__pycache__/imageViewer.cpython-35.pyc b/Programs/__pycache__/imageViewer.cpython-35.pyc deleted file mode 100644 index 0b824b6..0000000 Binary files a/Programs/__pycache__/imageViewer.cpython-35.pyc and /dev/null differ diff --git a/Programs/__pycache__/info.cpython-35.pyc b/Programs/__pycache__/info.cpython-35.pyc deleted file mode 100644 index bd74381..0000000 Binary files a/Programs/__pycache__/info.cpython-35.pyc and /dev/null differ diff --git a/Programs/__pycache__/jpad.cpython-35.pyc b/Programs/__pycache__/jpad.cpython-35.pyc deleted file mode 100644 index 1e56354..0000000 Binary files a/Programs/__pycache__/jpad.cpython-35.pyc and /dev/null differ diff --git a/Programs/__pycache__/minesweeper.cpython-35.pyc b/Programs/__pycache__/minesweeper.cpython-35.pyc deleted file mode 100644 index ce1214b..0000000 Binary files a/Programs/__pycache__/minesweeper.cpython-35.pyc and /dev/null differ diff --git a/Programs/__pycache__/terminal.cpython-35.pyc b/Programs/__pycache__/terminal.cpython-35.pyc deleted file mode 100644 index 8cd5cbd..0000000 Binary files a/Programs/__pycache__/terminal.cpython-35.pyc and /dev/null differ diff --git a/Programs/imageViewer.py b/Programs/imageViewer.py deleted file mode 100644 index 34ae676..0000000 --- a/Programs/imageViewer.py +++ /dev/null @@ -1,68 +0,0 @@ -from tkinter import * -from tkinter.filedialog import askopenfilename -from PIL import Image -import gc - -Canvas.image = None - - -class imageViewer: - def fullScreen(self): - try: - if self.max == 0: - self.window.attributes('-fullscreen', True) - self.max = 1 - else: - self.window.attributes('-fullscreen', False) - self.max = 0 - except: - pass - - def openimage(self): - self.picfile = askopenfilename() - if self.picfile: - Canvas.image = PhotoImage(file=self.picfile) - self.canvas.create_image(0, 0, anchor=NW, image=Canvas.image) - self.canvas.configure(self.canvas, scrollregion=(0, 0, Canvas.image.width(), Canvas.image.height())) - - def createWidgets(self): - self.menu = Menu(self.window) - self.window.config(menu=self.menu) - self.filemenu = Menu(self.menu) - self.menu.add_cascade(label="File", menu=self.filemenu) - self.filemenu.add_command(label="Open Image", command=self.openimage) - self.filemenu.add_command(label="Fullscreen", command=self.fullScreen) - self.filemenu.add_separator() - self.filemenu.add_command(label="Exit", command=self.window.destroy) - - self.yscrollbar = Scrollbar(self.window) - self.yscrollbar.pack(side=RIGHT, fill=Y) - - self.xscrollbar = Scrollbar(self.window, orient=HORIZONTAL) - self.xscrollbar.pack(side=BOTTOM, fill=X) - - self.canvas = Canvas(self.window, width=self.canvas_width, height=self.canvas_height, - yscrollcommand=self.yscrollbar.set, - xscrollcommand=self.xscrollbar.set) - # button = Button(root,text="Open",command=openimage) - # button.pack(side=BOTTOM) - self.canvas.pack(side=TOP, expand=YES, fill=BOTH) - self.yscrollbar.config(command=self.canvas.yview) - self.xscrollbar.config(command=self.canvas.xview) - - def createWindow(self): - self.window = Toplevel(self.master) - self.window.title("Image Viewer") - # self.window.config(bg="white") - self.createWidgets() - - self.window.attributes('-fullscreen', False) - self.max = 0 - - self.window.mainloop() - - def __init__(self, master): - self.master = master - self.canvas_width = 800 - self.canvas_height = 600 - self.createWindow() diff --git a/Programs/jpad.py b/Programs/jpad.py index b929b54..4575373 100644 --- a/Programs/jpad.py +++ b/Programs/jpad.py @@ -2,7 +2,7 @@ import logging from tkinter import * from tkinter.filedialog import askopenfilename, asksaveasfilename -jpadLog = logging.getLogger(__name__) +jpadLog = logging.getLogger("jpad.py") jpadLog.debug("Atempting to read settings file") try: @@ -15,14 +15,14 @@ except Exception as e: class jpadEditor: def minimize(self): - jpadLog.debug("Running "+jpadEditor.minimize.__name__) + jpadLog.debug("Running minimize") try: self.appFocus = 0 except Exception as e: jpadLog.error(str(e)) def closeApp(self): - jpadLog.debug("Running "+jpadEditor.closeApp.__name__) + jpadLog.debug("Running closeApp") try: # self.appIcon.destroy() self.window.destroy() @@ -30,7 +30,7 @@ class jpadEditor: jpadLog.error(str(e)) def focusApp(self): - jpadLog.debug("Running "+jpadEditor.focusApp.__name__) + jpadLog.debug("Running focusApp") try: if self.appFocus == 0: self.window.focus_force() @@ -43,7 +43,7 @@ class jpadEditor: jpadLog.error(str(e)) def createMenu(self): - jpadLog.debug("Running "+jpadEditor.createMenu.__name__) + jpadLog.debug("Running createMenu") try: self.menu = Menu(self.window) self.window.config(menu=self.menu) @@ -63,7 +63,7 @@ class jpadEditor: jpadLog.error(str(e)) def new(self): - jpadLog.debug("Running "+jpadEditor.new.__name__) + jpadLog.debug("Running new") try: self.window.title("Jpad Text Editor" + " File: New File") self.textPad.delete(0.0, END) @@ -71,14 +71,14 @@ class jpadEditor: jpadLog.error(str(e)) def exit_command(self): - jpadLog.debug("Running "+jpadEditor.exit_command.__name__) + jpadLog.debug("Running exit_command") try: self.closeApp() except Exception as e: jpadLog.error(str(e)) def saveAs_command(self): - jpadLog.debug("Running "+jpadEditor.saveAs_command.__name__) + jpadLog.debug("Running saveAs_command") try: self.jpadFile = asksaveasfilename(defaultextension=".txt", filetypes=[("Text Files", ".txt"), ("Python .py", ".py"), @@ -88,28 +88,26 @@ class jpadEditor: self.jpadFile = open(str(self.jpadFile), "w") if self.jpadFile != None: # slice off the last character from get, as an extra return is added - self.data = str(self.textPad.get(0.0, END)).replace("\n", "") + self.data = self.textPad.get(0.0, END) self.jpadFile.write(self.data) self.jpadFile.close() except Exception as e: jpadLog.error(str(e)) def save_command(self): - jpadLog.debug("Running "+jpadEditor.save_command.__name__) + jpadLog.debug("Running save_command") try: self.jpadFile = open(str(self.jpadFile), "w") if self.jpadFile != None: # slice off the last character from get, as an extra return is added - self.data = str(self.textPad.get(0.0, END)).replace("\n", "") + self.data = self.textPad.get(0.0, END) self.jpadFile.write(self.data) self.jpadFile.close() - else: - self.saveAs_command() except Exception as e: jpadLog.error(str(e)) def open_command(self): - jpadLog.debug("Running "+jpadEditor.open_command.__name__) + jpadLog.debug("Running open_command") try: self.jpadFile = askopenfilename(defaultextension=".txt", filetypes=[("Text Files", ".txt"), ("Python .py", ".py"), @@ -127,7 +125,7 @@ class jpadEditor: jpadLog.error(str(e)) def chfont(self): - def apply(): + def apply(self): try: self.textPad.configure(font=(self.font1.get(), int(self.font2.get()), self.font3.get())) self.font[0] = self.font1.get() @@ -167,21 +165,18 @@ class jpadEditor: self.textPad.configure(font=(self.font[0], int(self.font[1]), self.font[2])) self.textPad.focus() - try: - if self.jpadFile != None: - self.window.title("Jpad Text Editor" + " File: " + str(self.jpadFile)) - self.jpadFile = open(str(self.jpadFile), "r") - self.contents = self.jpadFile.read() - self.textPad.delete(0.0, END) - self.textPad.insert(0.0, self.contents) - self.jpadFile.close() - except: - pass + if self.jpadFile != None: + self.window.title("Jpad Text Editor" + " File: " + str(self.jpadFile)) + self.jpadFile = open(str(self.jpadFile), "r") + self.contents = self.jpadFile.read() + self.textPad.delete(0.0, END) + self.textPad.insert(0.0, self.contents) + self.jpadFile.close() self.textPad.pack(expand=YES, fill=BOTH) def createWindow(self): - self.window = Toplevel(self.master) + self.window = Tk() self.sWidth = self.window.winfo_screenwidth() self.sHeight = self.window.winfo_screenheight() self.window.title("Jpad") @@ -196,21 +191,23 @@ class jpadEditor: self.window.mainloop() - def __init__(self, master, file=None): + def __init__(self, file=None): + self.recentAdd = open("JDE/Recent", "a") + self.recentAdd.write("\n") + self.recentAdd.write("jpad") + self.recentAdd.close() self.jpadFile = file - self.master = master self.width = "500" self.height = "400" self.appFocus = 1 self.widthHeight = self.width + "x" + self.height - try: - self.menuColour = config["colour"].replace("\n", "") - except: - self.menuColour = None + self.menuColour = config["colour"].replace("\n", "") self.font = ["Arial", "11", "normal"] + try: + self.appIcon = Button(self.toolbar, text="Jpad", command=self.focusApp) + self.appIcon.pack(side=LEFT, fill=Y) + except: + pass + self.createWindow() - - -if __name__ == "__main__": - jpadEditor(None) diff --git a/Programs/minesweeper.py b/Programs/minesweeper.py index e12489d..13bde8b 100644 --- a/Programs/minesweeper.py +++ b/Programs/minesweeper.py @@ -3,7 +3,7 @@ from tkinter import * from tkinter import messagebox -def mine_sweeper(master, colour="#39d972"): +def mine_sweeper(colour="#39d972"): class MineSweeperCell(Label): '''Creates a minesweeper square that is part of a grid''' @@ -256,7 +256,7 @@ def mine_sweeper(master, colour="#39d972"): height = 10 numBombs = 30 global root - root = Toplevel(master) + root = Tk() root.maxsize(270, 335) root.minsize(270, 335) root.title('Minesweeper') @@ -264,4 +264,7 @@ def mine_sweeper(master, colour="#39d972"): game = MineSweeperGrid(root, width, height, numBombs) game.mainloop() - __init__() \ No newline at end of file + __init__() + + +mine_sweeper() diff --git a/Programs/terminal.py b/Programs/terminal.py deleted file mode 100644 index 28df840..0000000 --- a/Programs/terminal.py +++ /dev/null @@ -1,110 +0,0 @@ -__author__ = "Jordonbc" - -__version__ = "1.1.0" -from tkinter import * - -default_stdin = sys.stdin -default_stdout = sys.stdout -default_stderr = sys.stderr - -disabledCommands = ["help()", "exit()", "sys.exit()", "quit()"] -availableCommands = ["set", "bg", "fg", "clear"] - - -def commands(): - print("Available Commands:") - print("set bg [HEX COLOUR]") - print("set fg [HEX COLOUR]") - print("clear") - print("run [file]") - - -class terminal: - class TextRedirector(object): - def __init__(self, widget, tag="stdout"): - self.widget = widget - self.tag = tag - - def write(self, str): - self.widget.configure(state="normal") - self.widget.insert("end", str, (self.tag,)) - self.widget.configure(state="disabled") - self.widget.see(END) - - def __init__(self, master, command=None): - def run(command=None): - if input.get() != "": - print(input.get()) - if input.get().startswith("set "): - if input.get().startswith("set bg "): - try: - output.configure(bg=str(input.get()).replace("set bg ", "").replace("\n", "")) - input.configure(bg=str(input.get()).replace("set bg ", "").replace("\n", "")) - except Exception as e: - print(str(e)) - elif input.get().startswith("set fg "): - try: - if str(input.get()).replace("set fg ", "").replace("\n", "").lower() == "#ffffff": - output.configure(insertbackground="#000000") - input.configure(insertbackground="#000000") - elif str(input.get()).replace("set fg ", "").replace("\n", "").lower() == "#000000": - output.configure(insertbackground="#ffffff") - input.configure(insertbackground="#ffffff") - output.configure(fg=str(input.get()).replace("set fg ", "").replace("\n", "")) - input.configure(fg=str(input.get()).replace("set fg ", "").replace("\n", "")) - except Exception as e: - print(str(e)) - - if input.get() == "clear": - print("\n" * 25) - elif input.get() in disabledCommands: - input.delete(0, END) - print("Command is disabled.") - - elif input.get().startswith("run "): - try: - exec(open(str(input.get()).replace("run ", ""), "r").read()) - except Exception as e: - print(str(e)) - - else: - try: - exec(input.get()) - except Exception as e: - print(str(e)) - - input.delete(0, END) - - def closeApp(): - sys.stdin = default_stdin - sys.stdout = default_stdout - sys.stderr = default_stderr - rootTerminal.destroy() - - rootTerminal = Toplevel(master) - rootTerminal.title("Terminal") - rootTerminal.geometry("400x300") - rootTerminal.minsize(200, 200) - rootTerminal.configure(bg="#000000") - - output = Text(rootTerminal, state=DISABLED, height=10, bg="#000000", fg="#FFFFFF", wrap="word", relief=FLAT) - output.configure(state=NORMAL) - output.insert(END, "JDE Terminal V " + __version__ + "\n") - output.insert(END, "Type commands() to see available commands\n") - output.configure(state=DISABLED) - output.pack(side=TOP, expand=YES, fill=BOTH) - - input = Entry(rootTerminal, width=400, bg="#000000", fg="#FFFFFF", relief=FLAT) - input.focus() - input.bind("", run) - input.pack(side=BOTTOM) - - output.configure(insertbackground="#ffffff") - input.configure(insertbackground="#ffffff") - - sys.stdin = self.TextRedirector(output, "stdin") - sys.stderr = self.TextRedirector(output) - sys.stdout = self.TextRedirector(output) - - rootTerminal.protocol("WM_DELETE_WINDOW", closeApp) - rootTerminal.mainloop() \ No newline at end of file diff --git a/Programs/webEdit/Templates/HTML 5/Default.HET b/Programs/webEdit/Templates/HTML 5/Default.HET deleted file mode 100644 index fd12648..0000000 --- a/Programs/webEdit/Templates/HTML 5/Default.HET +++ /dev/null @@ -1,9 +0,0 @@ - - - - NEW WEBSITE - - -

Your Website Text

- - \ No newline at end of file diff --git a/Programs/webEdit/__pycache__/htmlEdit.cpython-35.pyc b/Programs/webEdit/__pycache__/htmlEdit.cpython-35.pyc deleted file mode 100644 index 7e3704a..0000000 Binary files a/Programs/webEdit/__pycache__/htmlEdit.cpython-35.pyc and /dev/null differ diff --git a/Programs/webEdit/htmlEdit.py b/Programs/webEdit/htmlEdit.py deleted file mode 100644 index be213ea..0000000 --- a/Programs/webEdit/htmlEdit.py +++ /dev/null @@ -1,175 +0,0 @@ -__author__ = "Jordonbc" -import os -from tkinter import * -from tkinter.filedialog import * -from tkinter.messagebox import * -from tkinter.simpledialog import askstring -import webbrowser - - - -settings = {} - -try: - exec(open("Programs/webEdit/settings", "r").read(), settings) -except: - print("Settings Currupted!, Resetting") - with open("Programs/webEdit/settings", "w") as file: - file.write("""fgColour = '#000000' -bgColour = '#FFFFFF' -cursor = '#FFFFFF'""") - -class webEdit: - def open(self): - self.saveLocation = askopenfilename(filetypes=[("HTML", "html"), ("All Files", "*")]) - if self.saveLocation != "": - self.textbox.delete(0.0, END) - self.textbox.insert(0.0, open(self.saveLocation, "r").read().strip()) - self.root.title("WebEdit - " + str(self.saveLocation)) - - def save(self): - self.saveLocation = asksaveasfilename(filetypes=[("HTML", "html"), ("All Files", "*")]) - if self.saveLocation != "": - file = open(self.saveLocation, "w") - file.write(str(self.textbox.get(0.0, END)).strip()) - file.close() - self.root.title("WebEdit - " + str(self.saveLocation)) - - def new(self): - if self.textbox.get(0.0, END) == "\n": - # template = askopenfile(defaultextension="HET", filetypes=[("Template", "HET"), ("All Files", "*")]) - template = open("Programs/webEdit/Templates/HTML 5/Default.HET", "r") - if template != None: - template = template.read() - self.textbox.delete(0.0, END) - self.textbox.insert(0.0, template) - else: - if askyesno(title="Sure?", message="Are you sure?"): - # template = askopenfile(defaultextension="HET", filetypes=[("Template", "HET"), ("All Files", "*")]) - template = open("Programs/webEdit/Templates/HTML 5/Default.HET", "r") - if template != None: - template = template.read() - self.textbox.delete(0.0, END) - self.textbox.insert(0.0, template) - self.root.title("WebEdit - New File") - - def createMenu(self): - menu = Menu(self.root) - menu.configure(bg=settings["bgColour"], fg=settings["fgColour"]) - fileMenu = Menu(menu) - fileMenu.configure(bg=settings["bgColour"], fg=settings["fgColour"]) - viewMenu = Menu(menu) - viewMenu.configure(bg=settings["bgColour"], fg=settings["fgColour"]) - snippetsMenu = Menu(menu) - snippetsMenu.configure(bg=settings["bgColour"], fg=settings["fgColour"]) - headlineMenu = Menu(menu) - headlineMenu.configure(bg=settings["bgColour"], fg=settings["fgColour"]) - self.root.configure(menu=menu) - menu.add_cascade(label="File", menu=fileMenu) - menu.add_cascade(label="Code Snippets", menu=snippetsMenu) - - def paragraph(): - self.textbox.insert(INSERT, "

") - - def div(): - self.textbox.insert(INSERT, "
") - - def br(): - self.textbox.insert(INSERT, "
") - - def headline_1(): - self.textbox.insert(INSERT, "

") - - def headline_2(): - self.textbox.insert(INSERT, "

") - - def headline_3(): - self.textbox.insert(INSERT, "

") - - def headline_4(): - self.textbox.insert(INSERT, "

") - - def headline_5(): - self.textbox.insert(INSERT, "
") - - def headline_6(): - self.textbox.insert(INSERT, "
") - - def insertImage(): - location = askstring(title="Image", prompt="Image") - self.textbox.insert(INSERT, "") - - def Link(): - address = askstring(title="Link", prompt="Link Address") - text = askstring(title="Link", prompt="Text") - self.textbox.insert(INSERT, ""+text+"") - - def openSettings(): - self.textbox.delete(0.0, END) - self.textbox.insert(0.0, open("settings").read()) - - def view_default(): - if self.saveLocation != "": - webbrowser.open_new(self.saveLocation) - - snippetsMenu.add_command(label="Paragraph", command=paragraph) - snippetsMenu.add_command(label="Division", command=div) - snippetsMenu.add_command(label="Image", command=insertImage) - snippetsMenu.add_command(label="Link", command=Link) - snippetsMenu.add_command(label="Break", command=br) - snippetsMenu.add_cascade(label="Headline", menu=headlineMenu) - headlineMenu.add_command(label="1", command=headline_1) - headlineMenu.add_command(label="2", command=headline_2) - headlineMenu.add_command(label="3", command=headline_3) - headlineMenu.add_command(label="4", command=headline_4) - headlineMenu.add_command(label="5", command=headline_5) - headlineMenu.add_command(label="6", command=headline_6) - - fileMenu.add_command(label="New", command=self.new) - fileMenu.add_command(label="Save", command=self.save) - fileMenu.add_command(label="Open", command=self.open) - fileMenu.add_separator() - fileMenu.add_command(label="Settings", command=openSettings) - fileMenu.add_separator() - fileMenu.add_command(label="Exit", command=self.root.destroy) - - menu.add_command(label="View in browser", command=view_default) - - # menu.add_cascade(label="View", menu=viewMenu) - - # viewMenu.add_command(label="Default program", command=view_default) - - def createWidgets(self): - self.scrollbar = Scrollbar(self.root) - self.scrollbar.pack(side=RIGHT, fill=Y) - - self.textbox = Text(self.root) - self.textbox.pack(side=TOP, expand=YES, fill=BOTH) - self.textbox.configure(bg=settings["bgColour"], fg=settings["fgColour"], insertbackground=settings["cursor"], - yscrollcommand=self.scrollbar.set) - - self.scrollbar.config(command=self.textbox.yview) - - def saveShortcut(event): - self.save() - - def openShortcut(event): - self.open() - - def newShortcut(event): - self.new() - - self.textbox.bind("", saveShortcut) - self.textbox.bind("", openShortcut) - self.textbox.bind("", newShortcut) - - def __init__(self, master): - self.saveLocation = "" - self.root = Toplevel(master) - self.root.title("WebEdit") - self.root.configure(bg=settings["bgColour"]) - self.createWidgets() - self.createMenu() - self.new() - - self.root.mainloop() diff --git a/Programs/webEdit/settings b/Programs/webEdit/settings deleted file mode 100644 index 6e8c230..0000000 --- a/Programs/webEdit/settings +++ /dev/null @@ -1,3 +0,0 @@ -fgColour = '#FFFFFF' -bgColour = '#111111' -cursor = '#FFFFFF' \ No newline at end of file diff --git a/README.md b/README.md index 41f18f2..be48dc8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,2 @@ # JDE -Jordon's Desktop Environment is a complete rewrite of Glass OS which was one of my previous programs I made. -![A Picture of JDE](Capture.PNG) -## What is JDE? -JDE stands for "Jordon's Desktop Environment" and is a complete rewrite of Glass OS which was another desktop environment. This means that JDE is NOT an operating system but is a overlay on top of your existing desktop (Linux as a "real" desktop environment soon). -## What are the requirements? -Well, JDE will work on any computer that is capable of running python 3. This means that even the tiny device you call a "raspberry pi" can run it! - -PS: Right Click for the start menu. - -Disclaimer: JDE has NOT been tested on mac, many linux distributions or windows 8.1 and below. +Glass OS Reborn! diff --git a/Users/test/Desktop/test.txt b/Users/test/Desktop/test.txt index 30d74d2..9daeafb 100644 --- a/Users/test/Desktop/test.txt +++ b/Users/test/Desktop/test.txt @@ -1 +1 @@ -test \ No newline at end of file +test diff --git a/icon.ico b/icon.ico deleted file mode 100644 index 12474a6..0000000 Binary files a/icon.ico and /dev/null differ diff --git a/inDevelopment/PyIDE.py b/inDevelopment/PyIDE.py deleted file mode 100644 index 43e7dcb..0000000 --- a/inDevelopment/PyIDE.py +++ /dev/null @@ -1,73 +0,0 @@ -from tkinter import * -import sys -from tkinter.filedialog import askopenfilename, asksaveasfilename - - -def PyIDE(): - def openFile(): - file = askopenfilename(defaultextension=".py", - filetypes=[("Python .py", ".py"), ("Python .pyw", ".pyw")]) - - if file != "": - with open(file, "r") as openfile: - input.delete(0.0, END) - input.insert(0.0, openfile.read()) - - def save(): - file = asksaveasfilename(defaultextension=".py", - filetypes=[("Python .py", ".py"), ("Python .pyw", ".pyw")]) - - if file != "": - with open(file, "w") as saveFile: - saveFile.write(input.get(0.0, END)) - - class TextRedirector(object): - def __init__(self, widget, tag="stdout"): - self.widget = widget - self.tag = tag - - def write(self, str): - output.delete(0.0, END) - self.widget.configure(state="normal") - self.widget.insert("end", str, (self.tag,)) - self.widget.configure(state="disabled") - self.widget.see(END) - - def run(): - exec(input.get(0.0, END)) - - rootInterpreter = Tk() - rootInterpreter.title("Terminal") - rootInterpreter.geometry("200x200") - rootInterpreter.minsize(200, 200) - - menu = Menu(rootInterpreter) - rootInterpreter.config(menu=menu) - filemenu = Menu(menu) - menu.add_cascade(label="File", menu=filemenu) - filemenu.add_command(label="New") - filemenu.add_command(label="Open", command=openFile) - filemenu.add_command(label="Save", command=save) - filemenu.add_command(label="Save As", state=DISABLED) - filemenu.add_separator() - filemenu.add_command(label="Exit", command=sys.exit) - - output = Text(rootInterpreter, state=DISABLED, wrap="word") - output.configure(state=NORMAL) - output.configure(state=DISABLED) - output.pack(side=TOP, expand=YES, fill=BOTH) - - input = Text(rootInterpreter) - input.focus() - input.pack(side=BOTTOM, expand=YES, fill=BOTH) - - sys.stderr = TextRedirector(output, "stderr") - - sys.stdout = TextRedirector(output, "stdout") - - rootInterpreter.mainloop() - - # rootInterpreter.protocol("WM_DELETE_WINDOW", closeApp) - - -PyIDE() diff --git a/inDevelopment/pyMonitor.py b/inDevelopment/pyMonitor.py deleted file mode 100644 index ebf8981..0000000 --- a/inDevelopment/pyMonitor.py +++ /dev/null @@ -1,112 +0,0 @@ -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 deleted file mode 100644 index 021c918..0000000 --- a/setup.py +++ /dev/null @@ -1,19 +0,0 @@ -#!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")])