Advertisement
Techpad

Settings 12

May 4th, 2021
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.93 KB | None | 0 0
  1. import tkinter as tk
  2. from tkinter import filedialog
  3. from tkinter import simpledialog as spd
  4. import os
  5. import sys
  6. import keyboard
  7. _root = frame1
  8. PROGRAMLIST_STARTUP = open("T:/TechOS/Virtual/Settings/PROGRAMLIST_STARTUP.set", "r").read()
  9. RANDOMIZE_WALLPAPERS = open("T:/TechOS/Virtual/Settings/RANDOMIZE_WALLPAPERS.set", "r").read()
  10. TECHMAIL_STARTUP = open("T:/TechOS/Virtual/Settings/TECHMAIL_STARTUP.set", "r").read()
  11. SET_WALLPAPER = open("T:/TechOS/Virtual/Settings/SET_WALLPAPER.set", "r").read()
  12. DARK_SYSTEM_APPS = open("T:/TechOS/Virtual/Settings/DARK_SYSTEM_APPS.set", "r").read()
  13. ACCENT_COLOR = open("T:/TechOS/Virtual/Settings/ACCENT_COLOR.set", "r").read()
  14. LARGER_BORDERS = open("T:/TechOS/Virtual/Settings/LARGER_BORDERS.set", "r").read()
  15. DISABLE_ANIMATIONS = open("T:/TechOS/Virtual/Settings/DISABLE_ANIMATIONS.set", "r").read()
  16. DISABLE_LOGO = open("T:/TechOS/Virtual/Settings/DISABLE_LOGO.set", "r").read()
  17.  
  18. slideroff = tk.PhotoImage(file="T:/TechOS/Virtual/Images/Slider Off.png")
  19. slideron = tk.PhotoImage(file="T:/TechOS/Virtual/Images/Slider On.png")
  20.  
  21. settingslabel = tk.Label(_root, text='Settings\n', font='TkDefaultFont 20', bg='white')
  22. settingslabel.pack(anchor='nw', padx=5, pady=5)
  23.  
  24. plsvar = tk.BooleanVar()
  25. if PROGRAMLIST_STARTUP == 'False':
  26. plsvar.set(False)
  27. elif PROGRAMLIST_STARTUP == 'True':
  28. plsvar.set(True)
  29.  
  30. def plsupdate():
  31. global plsvar
  32. global PROGRAMLIST_STARTUP
  33. if plsvar.get() == True:
  34. open("T:/TechOS/Virtual/Settings/PROGRAMLIST_STARTUP.set", "w").write("True")
  35. PROGRAMLIST_STARTUP = "True"
  36. elif plsvar.get() == False:
  37. open("T:/TechOS/Virtual/Settings/PROGRAMLIST_STARTUP.set", "w").write("False")
  38. PROGRAMLIST_STARTUP = "False"
  39.  
  40. plsbutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Show Program List on startup", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=plsupdate, variable=plsvar, offvalue=False, onvalue=True)
  41. plsbutton.image = slideroff
  42. plsbutton.selectimage = slideron
  43. plsbutton.config(image=plsbutton.image, selectimage=plsbutton.selectimage, indicatoron=False)
  44. plsbutton.pack(anchor='nw', padx=5, pady=5)
  45.  
  46. tmsvar = tk.BooleanVar()
  47. if TECHMAIL_STARTUP == 'False':
  48. tmsvar.set(False)
  49. elif TECHMAIL_STARTUP == 'True':
  50. tmsvar.set(True)
  51.  
  52. def tmsupdate():
  53. global tmsvar
  54. global TECHMAIL_STARTUP
  55. if tmsvar.get() == True:
  56. open("T:/TechOS/Virtual/Settings/TECHMAIL_STARTUP.set", "w").write("True")
  57. TECHMAIL_STARTUP = "True"
  58. elif tmsvar.get() == False:
  59. open("T:/TechOS/Virtual/Settings/TECHMAIL_STARTUP.set", "w").write("False")
  60. TECHMAIL_STARTUP = "False"
  61.  
  62. tmsbutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Run TechMail on startup", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=tmsupdate, variable=tmsvar, offvalue=False, onvalue=True)
  63. tmsbutton.image = slideroff
  64. tmsbutton.selectimage = slideron
  65. tmsbutton.config(image=tmsbutton.image, selectimage=tmsbutton.selectimage, indicatoron=False)
  66. tmsbutton.pack(anchor='nw', padx=5, pady=5)
  67.  
  68. dsavar = tk.BooleanVar()
  69. if DARK_SYSTEM_APPS == 'False':
  70. dsavar.set(False)
  71. elif DARK_SYSTEM_APPS == 'True':
  72. dsavar.set(True)
  73.  
  74. def dsaupdate():
  75. global dsavar
  76. global DARK_SYSTEM_APPS
  77. if dsavar.get() == True:
  78. open("T:/TechOS/Virtual/Settings/DARK_SYSTEM_APPS.set", "w").write("True")
  79. DARK_SYSTEM_APPS = "True"
  80. elif dsavar.get() == False:
  81. open("T:/TechOS/Virtual/Settings/DARK_SYSTEM_APPS.set", "w").write("False")
  82. DARK_SYSTEM_APPS = "False"
  83.  
  84. dsabutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Dark mode for system apps", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=dsaupdate, variable=dsavar, offvalue=False, onvalue=True)
  85. dsabutton.image = slideroff
  86. dsabutton.selectimage = slideron
  87. dsabutton.config(image=dsabutton.image, selectimage=dsabutton.selectimage, indicatoron=False)
  88. dsabutton.pack(anchor='nw', padx=5, pady=5)
  89.  
  90. lwbvar = tk.BooleanVar()
  91. if LARGER_BORDERS == 'False':
  92. lwbvar.set(False)
  93. elif LARGER_BORDERS == 'True':
  94. lwbvar.set(True)
  95.  
  96. def lwbupdate():
  97. global lwbvar
  98. global LARGER_BORDERS
  99. if lwbvar.get() == True:
  100. open("T:/TechOS/Virtual/Settings/LARGER_BORDERS.set", "w").write("True")
  101. LARGER_BORDERS = "True"
  102. elif lwbvar.get() == False:
  103. open("T:/TechOS/Virtual/Settings/LARGER_BORDERS.set", "w").write("False")
  104. LARGER_BORDERS = "False"
  105.  
  106. lwbbutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Make window borders larger for easier resizing", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=lwbupdate, variable=lwbvar, offvalue=False, onvalue=True)
  107. lwbbutton.image = slideroff
  108. lwbbutton.selectimage = slideron
  109. lwbbutton.config(image=lwbbutton.image, selectimage=lwbbutton.selectimage, indicatoron=False)
  110. lwbbutton.pack(anchor='nw', padx=5, pady=5)
  111.  
  112. rdwvar = tk.BooleanVar()
  113. if RANDOMIZE_WALLPAPERS == 'False':
  114. rdwvar.set(False)
  115. elif RANDOMIZE_WALLPAPERS == 'True':
  116. rdwvar.set(True)
  117.  
  118. def rdwupdate():
  119. global rdwvar
  120. global RANDOMIZE_WALLPAPERS
  121. if rdwvar.get() == True:
  122. open("T:/TechOS/Virtual/Settings/RANDOMIZE_WALLPAPERS.set", "w").write("True")
  123. RANDOMIZE_WALLPAPERS = "True"
  124. elif rdwvar.get() == False:
  125. open("T:/TechOS/Virtual/Settings/RANDOMIZE_WALLPAPERS.set", "w").write("False")
  126. RANDOMIZE_WALLPAPERS = "False"
  127.  
  128. rdwbutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Randomize Wallpapers", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=rdwupdate, variable=rdwvar, offvalue=False, onvalue=True)
  129. rdwbutton.image = slideroff
  130. rdwbutton.selectimage = slideron
  131. rdwbutton.config(image=rdwbutton.image, selectimage=rdwbutton.selectimage, indicatoron=False)
  132. rdwbutton.pack(anchor='nw', padx=5, pady=5)
  133.  
  134. danvar = tk.BooleanVar()
  135. if DISABLE_ANIMATIONS == 'False':
  136. danvar.set(False)
  137. elif DISABLE_ANIMATIONS == 'True':
  138. danvar.set(True)
  139.  
  140. def danupdate():
  141. global danvar
  142. global DISABLE_ANIMATIONS
  143. if danvar.get() == True:
  144. open("T:/TechOS/Virtual/Settings/DISABLE_ANIMATIONS.set", "w").write("True")
  145. DISABLE_ANIMATIONS = "True"
  146. elif danvar.get() == False:
  147. open("T:/TechOS/Virtual/Settings/DISABLE_ANIMATIONS.set", "w").write("False")
  148. DISABLE_ANIMATIONS = "False"
  149.  
  150. danbutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Disable Animations", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=danupdate, variable=danvar, offvalue=False, onvalue=True)
  151. danbutton.image = slideroff
  152. danbutton.selectimage = slideron
  153. danbutton.config(image=danbutton.image, selectimage=danbutton.selectimage, indicatoron=False)
  154. danbutton.pack(anchor='nw', padx=5, pady=5)
  155.  
  156. dlgvar = tk.BooleanVar()
  157. if DISABLE_LOGO == 'False':
  158. dlgvar.set(False)
  159. elif DISABLE_LOGO == 'True':
  160. dlgvar.set(True)
  161.  
  162. def dlgupdate():
  163. global dlgvar
  164. global DISABLE_LOGO
  165. if dlgvar.get() == True:
  166. open("T:/TechOS/Virtual/Settings/DISABLE_LOGO.set", "w").write("True")
  167. DISABLE_LOGO = "True"
  168. elif dlgvar.get() == False:
  169. open("T:/TechOS/Virtual/Settings/DISABLE_LOGO.set", "w").write("False")
  170. DISABLE_LOGO = "False"
  171.  
  172. dlgbutton = tk.Checkbutton(_root, bg='white', activebackground='white', text=" Disable TechOS Logo (in upper right corner)", compound='left', bd=0, selectcolor='white', padx=0, pady=0, command=dlgupdate, variable=dlgvar, offvalue=False, onvalue=True)
  173. dlgbutton.image = slideroff
  174. dlgbutton.selectimage = slideron
  175. dlgbutton.config(image=dlgbutton.image, selectimage=dlgbutton.selectimage, indicatoron=False)
  176. dlgbutton.pack(anchor='nw', padx=5, pady=5)
  177.  
  178. def setwallpaper():
  179. global filedialog
  180. global rdwbutton
  181. global rdwupdate
  182. global os
  183. nwppath = filedialog.askopenfilename(filetypes=[('Supported Files', '.png .jpg .jpeg'), ('Portable Network Graphics', '.png'), ('Joint Photographic Experts Group Images', '.jpg .jpeg')], title='Open Wallpaper')
  184. try:
  185. nwp = open(nwppath, 'rb')
  186. nwpconts = nwp.read()
  187. nwp.close()
  188. extension = os.path.splitext(nwppath)[1]
  189. nwpf = open('T:\TechOS\Virtual\Images\Wallpapers\Custom' + extension, 'wb')
  190. nwpf.write(nwpconts)
  191. nwpf.close()
  192. swpfile = open("T:/TechOS/Virtual/Settings/SET_WALLPAPER.set", "w")
  193. swpfile.write("Custom" + extension)
  194. rdwbutton.deselect()
  195. rdwupdate()
  196. except FileNotFoundError:
  197. pass
  198.  
  199. swpbutton = tk.Button(_root, bg='white', bd=0, activebackground='lightgray', text='Set Custom Background', command=setwallpaper)
  200. swpbutton.pack(anchor='nw', padx=5, pady=5)
  201.  
  202. def removecwp():
  203. try:
  204. os.remove('T:/TechOS/Virtual/Images/Wallpapers/Custom.png')
  205. except FileNotFoundError:
  206. pass
  207. try:
  208. os.remove('T:/TechOS/Virtual/Images/Wallpapers/Custom.jpg')
  209. except FileNotFoundError:
  210. pass
  211. try:
  212. os.remove('T:/TechOS/Virtual/Images/Wallpapers/Custom.jpeg')
  213. except FileNotFoundError:
  214. pass
  215.  
  216. rwpbutton = tk.Button(_root, bg='white', bd=0, activebackground='lightgray', text='Remove Custom Wallpapers', command=removecwp)
  217. rwpbutton.pack(anchor='nw', padx=5, pady=5)
  218.  
  219. def setaccentcolor():
  220. global spd
  221. newcolor = spd.askstring("Change Accent Color", "Type the accent color in 6-digit hexadecimal format (#0a1b2c):")
  222. if newcolor.startswith("#") and len(newcolor) == 7:
  223. open("T:/TechOS/Virtual/Settings/ACCENT_COLOR.set", "w").write(newcolor)
  224. else:
  225. pass
  226.  
  227. sacbutton = tk.Button(_root, bg='white', bd=0, activebackground='lightgray', text='Set Accent Color', command=setaccentcolor)
  228. sacbutton.pack(anchor='nw', padx=5, pady=5)
  229.  
  230. def rsaccentcolor():
  231. open("T:/TechOS/Virtual/Settings/ACCENT_COLOR.set", "w").write("#0090ff")
  232.  
  233. rsabutton = tk.Button(_root, bg='white', bd=0, activebackground='lightgray', text='Reset Accent Color', command=rsaccentcolor)
  234. rsabutton.pack(anchor='nw', padx=5, pady=5)
  235.  
  236. def restarttechos():
  237. global sys
  238. global keyboard
  239. keyboard.remove_all_hotkeys()
  240. root.destroy()
  241. exec(compile(open("T:/TechOS/Virtual/TechOS.py", "rb").read(), "T:/TechOS/Virtual/TechOS.py", 'exec'), {})
  242. sys.exit()
  243.  
  244. restartbutton = tk.Button(_root, bg='white', bd=0, activebackground='lightgray', text='Restart to apply changes', command=restarttechos)
  245. restartbutton.pack(side='bottom', anchor='sw', padx=5, pady=5)
  246.  
  247. if DARK_SYSTEM_APPS == "True":
  248. frame1.config(bg='gray10')
  249. settingslabel.config(bg='gray10', fg='gray90')
  250. plsbutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  251. tmsbutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  252. dsabutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  253. rdwbutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  254. danbutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  255. dlgbutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  256. lwbbutton.config(bg='gray10', selectcolor='gray10', fg='gray90', activebackground='gray20', activeforeground='gray90')
  257. swpbutton.config(bg='gray10', activebackground='gray20', fg='gray90', activeforeground='gray90')
  258. rwpbutton.config(bg='gray10', activebackground='gray20', fg='gray90', activeforeground='gray90')
  259. sacbutton.config(bg='gray10', activebackground='gray20', fg='gray90', activeforeground='gray90')
  260. rsabutton.config(bg='gray10', activebackground='gray20', fg='gray90', activeforeground='gray90')
  261. restartbutton.config(bg='gray10', activebackground='gray20', fg='gray90', activeforeground='gray90')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement