Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import subprocess, sys
- from Tkinter import *
- import _tkinter
- BASEPATH = "C:\\Users\\Doc Holliday\\Documents\\Doom\\"
- PROGRAMS = (
- (BASEPATH + r"IDE\Ide.exe", "IDE"),
- (BASEPATH + r"Zandronum\Doomseeker\doomseeker.exe", "Doomseeker"),
- (BASEPATH + r"SLADE3\SLADE.exe", "SLADE3"),
- (BASEPATH + r"Doom Builder 2\Builder.exe", "DoomBuilder"),
- (BASEPATH + r"odamex\odalaunch.exe", "OdaLaunch"),
- (BASEPATH + r"Zandronum\zandronum.exe", "Zandronum"),
- (BASEPATH + r"GZDoom\gzdoom.exe", "GZDoom"),
- (BASEPATH + r"Chocolate Doom\chocolate-doom.exe", "Chocolate"),
- (BASEPATH + r"Vavoom\vlaunch.exe", "Vavoom"),
- (BASEPATH + r"ReMooD\remood-launcher.exe", "ReMooD"),
- (BASEPATH + r"Doomsday\bin\doomsday.exe", "Doomsday"),
- (BASEPATH + r"Doomsday\snowberry\snowberry.exe", "Snowberry", BASEPATH + r"Doomsday\snowberry"),
- )
- class AppLauncher(Frame):
- def __init__(self, parent):
- Frame.__init__(self, parent)
- self.parent = parent
- self.initialize()
- def initialize(self):
- for i, progPair in enumerate(PROGRAMS):
- prog = progPair[0]
- name = progPair[1:2] or prog
- tmpBtn = Button(self, text=name, border=4, command=(lambda prog=progPair: self.openProg(prog) ) )
- tmpBtn.grid(row=i//3, column=i%3, padx=1, pady=1, sticky="NSEW")
- def openProg(self, progPair):
- prog = progPair[0]
- name = progPair[1]
- pcwd = progPair[2] if len(progPair) > 2 else "."
- print("Opening {0} (\"{1}\")".format(name, prog))
- try:
- subprocess.Popen([prog], cwd=pcwd)
- except OSError as e:
- reason = e.args[1]
- if "No such" in reason:
- sys.stdout.write("ERROR: \"{}\" doesn't exist\n".format(prog))
- if __name__ == "__main__":
- root = Tk()
- root.title("Doom Utilities")
- root.resizable(False, False)
- app = AppLauncher(root)
- app.grid(sticky="NSEW")
- try:
- root.iconbitmap('doom.ico')
- except _tkinter.TclError:
- pass
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement