# toggleMenubar plugin v1.0.2 # # example keybinding: # # # Known issues: # menu hidden by fullscreen mode can't be shown again import sublime, sublimeplugin, os from ctypes import * firstRun = 1 needSave = 1 show = 1 hwnd = windll.User32.GetActiveWindow() hmenu = windll.User32.GetMenu(hwnd) def loadGlobals(): if os.path.isfile(sublime.packagesPath()+"\\User\\toggleMenubar.tmp"): file = open(sublime.packagesPath()+"\\User\\toggleMenubar.tmp", 'r') try: globals()["hmenu"] = int(file.readline()) globals()["hwnd"] = int(file.readline()) globals()["show"] = int(file.readline()) except: pass file.close() os.remove("toggleMenubar.tmp") else: globals()["hwnd"] = windll.User32.GetActiveWindow() globals()["hmenu"] = windll.User32.GetMenu(globals()["hwnd"]) class toggleMenubarCommand(sublimeplugin.TextCommand): def run(self, view, args): if globals()["firstRun"]: globals()["firstRun"] = 0 globals()["show"] = 1 globals()["hwnd"] = windll.User32.GetActiveWindow() globals()["hmenu"] = windll.User32.GetMenu(globals()["hwnd"]) if globals()["hmenu"] == 0 or globals()["hwnd"] == 0: loadGlobals() newMenu = windll.User32.GetMenu(hwnd) if newMenu != 0 and newMenu != globals()["hmenu"]: globals()["hmenu"] = newMenu if show: windll.User32.SetMenu(globals()["hwnd"], 0) globals()["show"] = 0 else: windll.User32.SetMenu(globals()["hwnd"], globals()["hmenu"]) globals()["show"] = 1 globals()["needSave"] = 1 class toggleMenubarSecure(sublimeplugin.Plugin): def onPreSave(self, view): if globals()["needSave"] == 1: globals()["needSave"] = 0 file = open(sublime.packagesPath()+"\\User\\toggleMenubar.tmp", 'w') file.write(str(globals()["hmenu"])) file.write("\n") file.write(str(globals()["hwnd"])) file.write("\n") file.write(str(globals()["show"])) file.close()