Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # toggleMenubar plugin v1.1.0 by Shoozza
- #
- # Forum Thread:
- # http://www.sublimetext.com/forum/viewtopic.php?f=5&t=1080
- #
- # example keybinding:
- # <binding key="leftalt+m" command="toggleMenubar"/>
- #
- # Known issues:
- # fullscreen mode menu toggling can cause issues in normal and fullscreen mode
- import sublime, sublimeplugin, os
- from ctypes import *
- firstRun = 1
- needSave = 1
- show = 1
- hwnd = windll.User32.GetActiveWindow()
- hmenu = windll.User32.GetMenu(hwnd)
- def doToggleMenubar():
- if globals()["firstRun"] == 1:
- globals()["firstRun"] = 0
- globals()["hwnd"] = windll.User32.GetActiveWindow()
- globals()["hmenu"] = windll.User32.GetMenu(globals()["hwnd"])
- if globals()["hmenu"] == 0 or globals()["hwnd"] == 0:
- loadToggleMenubarState()
- newMenu = windll.User32.GetMenu(globals()["hwnd"])
- if newMenu != 0 and newMenu != globals()["hmenu"]:
- globals()["hmenu"] = newMenu
- if globals()["show"] == 0:
- windll.User32.SetMenu(globals()["hwnd"], globals()["hmenu"])
- globals()["show"] = 1
- else:
- windll.User32.SetMenu(globals()["hwnd"], 0)
- globals()["show"] = 0
- globals()["needSave"] = 1
- def loadToggleMenubarState():
- if os.path.isfile(sublime.packagesPath()+"\\User\\toggleMenubar.tmp"):
- file = open(sublime.packagesPath()+"\\User\\toggleMenubar.tmp", 'r')
- try:
- globals()["show"] = int(file.readline())
- globals()["hmenu"] = int(file.readline())
- globals()["hwnd"] = int(file.readline())
- except:
- pass
- file.close()
- else:
- globals()["hwnd"] = windll.User32.GetActiveWindow()
- globals()["hmenu"] = windll.User32.GetMenu(globals()["hwnd"])
- def saveToggleMenubarState():
- if globals()["needSave"] == 1:
- globals()["needSave"] = 0
- file = open(sublime.packagesPath()+"\\User\\toggleMenubar.tmp", 'w')
- file.write(str(globals()["show"]))
- file.write("\n")
- file.write(str(globals()["hmenu"]))
- file.write("\n")
- file.write(str(globals()["hwnd"]))
- file.close()
- def cleanUpToggleMenubarStateFile():
- if os.path.isfile(sublime.packagesPath()+"\\User\\toggleMenubar.tmp"):
- os.remove(sublime.packagesPath()+"\\User\\toggleMenubar.tmp")
- class toggleMenubarCommand(sublimeplugin.TextCommand):
- def run(self, view, args):
- doToggleMenubar()
- saveToggleMenubarState()
- class toggleMenubarStartup(sublimeplugin.Plugin):
- def onActivated(self, view):
- if globals()["firstRun"] == 1:
- if os.path.isfile(sublime.packagesPath()+"\\User\\toggleMenubar.tmp"):
- file = open(sublime.packagesPath()+"\\User\\toggleMenubar.tmp", 'r')
- try:
- globals()["show"] = int(file.readline())
- except:
- pass
- file.close()
- if globals()["show"] == 0:
- globals()["show"] = 1
- doToggleMenubar()
- else:
- cleanUpToggleMenubarStateFile()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement