Index: appModules/_default.py
===================================================================
--- appModules/_default.py	(revision 1716)
+++ appModules/_default.py	(working copy)
@@ -27,6 +27,7 @@
 import appModuleHandler
 import winKernel
 import ctypes
+import verbosity
 
 class appModule(appModuleHandler.appModule):
 
@@ -43,7 +44,9 @@
 		else:
 			state=_("off")
 			globalVars.keyboardHelp=False
-		speech.speakMessage(_("keyboard help %s")%state)
+		if verbosity.getLevel() < verbosity.v_low: message = _("keyboard help %s")%state 
+		else: message = state
+		speech.speakMessage(message)
 	script_keyboardHelp.__doc__=_("Turns keyboard help on and off. When on, pressing a key on the keyboard will tell you what script is associated with it, if any.")
 
 	def script_reportCurrentLine(self,keyPress,nextScript):
@@ -70,7 +73,9 @@
 		if info.isCollapsed:
 			speech.speakMessage(_("no selection"))
 		else:
-			speech.speakMessage(_("selected %s")%info.text)
+			if verbosity.getLevel() < verbosity.v_low: message = _("selected %s")%info.text
+			else: message = info.text
+			speech.speakMessage(message)
 
 	def script_dateTime(self,keyPress,nextScript):
 		if keyboardHandler.lastKeyCount == 1:
@@ -84,24 +89,30 @@
 		rate=min(getSynth().rate+5, 100)
 		getSynth().rate=rate
 		config.conf["speech"][getSynth().name]["rate"]=rate
-		speech.speakMessage(_("rate %d%%")%rate)
+		if verbosity.getLevel() < verbosity.v_low: message = _("rate %d%%")%rate
+		else: message = "%d" %rate
+		speech.speakMessage(message)
 	script_increaseRate.__doc__=_("Increases the speech rate by 5 percent")
 
 	def script_decreaseRate(self,keyPress,nextScript):
 		rate=max(0, getSynth().rate-5)
 		getSynth().rate=rate
 		config.conf["speech"][getSynth().name]["rate"]=rate
-		speech.speakMessage(_("rate %d%%")%rate)
+		if verbosity.getLevel() < verbosity.v_low: message = _("rate %d%%")%rate
+		else: message = "%d" %rate
+		speech.speakMessage(message)
 	script_decreaseRate.__doc__=_("decreases the speech rate by 5 percent")
 
 	def script_increaseSetting(self,keyPress,nextScript):
-		#val = globalVars.settingsRing.increase()
-		speech.speakMessage("%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.increase()))
+		if verbosity.getLevel() < verbosity.v_low: message = "%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.increase())
+		else: message = "%s" %globalVars.settingsRing.increase()
+		speech.speakMessage(message)
 	script_increaseSetting.__doc__=_("Increases currently active setting in the synth settings ring")
 
 	def script_decreaseSetting(self,keyPress,nextScript):
-		#val = globalVars.settingsRing.decrease()
-		speech.speakMessage("%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.decrease()))
+		if verbosity.getLevel() < verbosity.v_low: message = "%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.decrease())
+		else: message = "%s" %globalVars.settingsRing.decrease()
+		speech.speakMessage(message)
 	script_decreaseSetting.__doc__=_("Decreases currently active setting in the synth settings ring")
 
 	def script_nextSetting(self,keyPress,nextScript):
@@ -121,7 +132,9 @@
 		else:
 			onOff=_("on")
 			config.conf["keyboard"]["speakTypedCharacters"]=True
-		speech.speakMessage(_("speak typed characters")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("speak typed characters")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleSpeakTypedCharacters.__doc__=_("Toggles on and off the speaking of typed characters")
 
 	def script_toggleSpeakTypedWords(self,keyPress,nextScript):
@@ -131,7 +144,9 @@
 		else:
 			onOff=_("on")
 			config.conf["keyboard"]["speakTypedWords"]=True
-		speech.speakMessage(_("speak typed words")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("speak typed words")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleSpeakTypedWords.__doc__=_("Toggles on and off the speaking of typed words")
 
 	def script_toggleSpeakCommandKeys(self,keyPress,nextScript):
@@ -141,7 +156,9 @@
 		else:
 			onOff=_("on")
 			config.conf["keyboard"]["speakCommandKeys"]=True
-		speech.speakMessage(_("speak command keys")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("speak command keys")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleSpeakCommandKeys.__doc__=_("Toggles on and off the speaking of typed keys, that are not specifically characters")
 
 	def script_toggleSpeakPunctuation(self,keyPress,nextScript):
@@ -151,11 +168,13 @@
 		else:
 			onOff=_("on")
 			config.conf["speech"]["speakPunctuation"]=True
-		speech.speakMessage(_("speak punctuation")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("speak punctuation")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleSpeakPunctuation.__doc__=_("Toggles on and off the speaking of punctuation. When on NVDA will say the names of punctuation symbols, when off it will be up to the synthesizer as to how it speaks punctuation")
 
 	def script_moveMouseToNavigatorObject(self,keyPress,nextScript):
-		speech.speakMessage(_("Move mouse to navigator"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("Move mouse to navigator"))
 		obj=api.getNavigatorObject()
 		try:
 			(left,top,width,height)=obj.location
@@ -166,7 +185,7 @@
 	script_moveMouseToNavigatorObject.__doc__=_("Moves the mouse pointer to the current navigator object.")
 
 	def script_moveNavigatorObjectToMouse(self,keyPress,nextScript):
-		speech.speakMessage(_("Move navigator object to mouse"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("Move navigator object to mouse"))
 		obj=api.getMouseObject()
 		api.setNavigatorObject(obj)
 		speech.speakObject(obj)
@@ -196,7 +215,9 @@
 					speech.speakSpelling(text)
 				else:
 					if api.copyToClip(text):
-						speech.speakMessage(_("%s copied to clipboard")%text)
+						if verbosity.getLevel() < verbosity.v_low: message = _("%s copied to clipboard")%text
+						else: message = _("Copied to clipboard")
+						speech.speakMessage(message)
 		else:
 			speech.speakObject(curObject,reason=speech.REASON_QUERY)
 		return False
@@ -218,7 +239,7 @@
 		if not isinstance(obj,NVDAObject):
 			speech.speakMessage(_("no focus"))
 		api.setNavigatorObject(obj)
-		speech.speakMessage(_("move to focus"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("move to focus"))
 		speech.speakObject(obj,reason=speech.REASON_QUERY)
 	script_navigatorObject_toFocus.__doc__=_("Sets the navigator object to the current focus")
 
@@ -346,7 +367,7 @@
 		info=globalVars.reviewPosition.obj.makeTextInfo(textHandler.POSITION_FIRST)
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_LINE)
-		speech.speakMessage(_("top"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("top"))
 		speech.speakFormattedText(info)
 	script_review_top.__doc__=_("Moves the review cursor to the top line of the current navigator object")
 
@@ -358,7 +379,7 @@
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_LINE)
 		if res==0:
-			speech.speakMessage(_("top"))
+			if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("top"))
 		speech.speakFormattedText(info)
 	script_review_previousLine.__doc__=_("Moves the review cursor to the previous line of the current navigator object")
 
@@ -380,7 +401,7 @@
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_LINE)
 		if res==0:
-			speech.speakMessage(_("bottom"))
+				if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("bottom"))
 		speech.speakFormattedText(info)
 	script_review_nextLine.__doc__=_("Moves the review cursor to the next line of the current navigator object")
 
@@ -388,7 +409,7 @@
 		info=globalVars.reviewPosition.obj.makeTextInfo(textHandler.POSITION_LAST)
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_LINE)
-		speech.speakMessage(_("bottom"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("bottom"))
 		speech.speakFormattedText(info)
 	script_review_bottom.__doc__=_("Moves the review cursor to the bottom line of the current navigator object")
 
@@ -400,7 +421,7 @@
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_WORD)
 		if res==0:
-			speech.speakMessage(_("top"))
+			if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("top"))
 		speech.speakFormattedText(info)
 	script_review_previousWord.__doc__=_("Moves the review cursor to the previous word of the current navigator object")
 
@@ -422,7 +443,7 @@
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_WORD)
 		if res==0:
-			speech.speakMessage(_("bottom"))
+			if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("bottom"))
 		speech.speakFormattedText(info)
 	script_review_nextWord.__doc__=_("Moves the review cursor to the next word of the current navigator object")
 
@@ -432,7 +453,7 @@
 		info.collapse()
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_CHARACTER)
-		speech.speakMessage(_("left"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("left"))
 		speech.speakFormattedText(info,handleSymbols=True)
 	script_review_startOfLine.__doc__=_("Moves the review cursor to the start of the line where it is situated, in the current navigator object")
 
@@ -444,7 +465,7 @@
 		charInfo.collapse()
 		res=charInfo.move(textHandler.UNIT_CHARACTER,-1)
 		if res==0 or charInfo.compareEndPoints(lineInfo,"startToStart")<0:
-			speech.speakMessage(_("left"))
+			if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("left"))
 			reviewInfo=globalVars.reviewPosition.copy()
 			reviewInfo.expand(textHandler.UNIT_CHARACTER)
 			speech.speakSpelling(reviewInfo.text)
@@ -477,7 +498,7 @@
 		charInfo.collapse()
 		res=charInfo.move(textHandler.UNIT_CHARACTER,1)
 		if res==0 or charInfo.compareEndPoints(lineInfo,"endToEnd")>=0:
-			speech.speakMessage(_("right"))
+			if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("right"))
 			reviewInfo=globalVars.reviewPosition.copy()
 			reviewInfo.expand(textHandler.UNIT_CHARACTER)
 			speech.speakSpelling(reviewInfo.text)
@@ -494,7 +515,7 @@
 		info.move(textHandler.UNIT_CHARACTER,-1)
 		globalVars.reviewPosition=info.copy()
 		info.expand(textHandler.UNIT_CHARACTER)
-		speech.speakMessage(_("right"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("right"))
 		speech.speakFormattedText(info,handleSymbols=True)
 	script_review_endOfLine.__doc__=_("Moves the review cursor to the end of the line where it is situated, in the current navigator object")
 
@@ -523,7 +544,9 @@
 		elif newMode==speech.speechMode_talk:
 			name=_("talk")
 		speech.cancelSpeech()
-		speech.speakMessage(_("speech mode %s")%name)
+		if verbosity.getLevel() < verbosity.v_low: message = _("speech mode %s")%name
+		else: message = name
+		speech.speakMessage(message)
 		speech.speechMode=newMode
 	script_speechMode.__doc__=_("Toggles between the speech modes of off, beep and talk. When set to off NVDA will not speak anything. If beeps then NVDA will simply beep each time it its supposed to speak something. If talk then NVDA wil just speak normally.")
 
@@ -591,7 +614,8 @@
 			speech.speakMessage(_("no status bar found"))
 			return
 		if keyboardHandler.lastKeyCount == 1:
-			speech.speakObject(statusBarObject,reason=speech.REASON_QUERY)
+			if verbosity.getLevel() < verbosity.v_low: speech.speakObject(statusBarObject,reason=speech.REASON_QUERY)
+			else: speech.speakMessage(statusBarObject.value)
 		else:
 			speech.speakSpelling(statusBarObject.value)
 		api.setNavigatorObject(statusBarObject)
@@ -604,7 +628,9 @@
 		else:
 			onOff=_("on")
 			config.conf["mouse"]["reportObjectUnderMouse"]=True
-		speech.speakMessage(_("Report object under mouse")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("Report object under mouse")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleReportObjectUnderMouse.__doc__=_("Toggles on and off the reporting of objects under the mouse")
 
 	def script_title(self,keyPress,nextScript):
@@ -646,7 +672,9 @@
 		else:
 			onOff=_("on")
 			config.conf["presentation"]["beepOnProgressBarUpdates"]=True
-		speech.speakMessage(_("Beep on progress bar updates")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("Beep on progress bar updates")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleBeepOnProgressBarUpdates.__doc__=_("Toggles on and off the beeping on progress bar updates")
 
 	def script_toggleReportDynamicContentChanges(self,keyPress,nextScript):
@@ -656,7 +684,9 @@
 		else:
 			onOff=_("on")
 			globalVars.reportDynamicContentChanges=True
-		speech.speakMessage(_("report dynamic content changes")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("report dynamic content changes")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleReportDynamicContentChanges.__doc__=_("Toggles on and off the reporting of dynamic content changes, such as new text in dos console windows")
 
 	def script_toggleCaretMovesReviewCursor(self,keyPress,nextScript):
@@ -666,7 +696,9 @@
 		else:
 			onOff=_("on")
 			globalVars.caretMovesReviewCursor=True
-		speech.speakMessage(_("caret moves review cursor")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("caret moves review cursor")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleCaretMovesReviewCursor.__doc__=_("Toggles on and off the movement of the review cursor due to the caret moving.")
 
 	def script_toggleFocusMovesNavigatorObject(self,keyPress,nextScript):
@@ -676,7 +708,9 @@
 		else:
 			onOff=_("on")
 			globalVars.focusMovesNavigatorObject=True
-		speech.speakMessage(_("focus moves navigator object")+" "+onOff)
+		if verbosity.getLevel() < verbosity.v_low: message = _("focus moves navigator object")+" "+onOff
+		else: message = onOff
+		speech.speakMessage(message)
 	script_toggleFocusMovesNavigatorObject.__doc__=_("Toggles on and off the movement of the navigator object due to focus changes") 
 
 	#added by Rui Batista<ruiandrebatista@gmail.com> to implement a battery status script
@@ -700,16 +734,20 @@
 
 	def script_passNextKeyThrough(self,keyPress,nextScript):
 		keyboardHandler.passNextKeyThrough()
-		speech.speakMessage(_("Pass next key through"))
+		if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("Pass next key through"))
  	script_passNextKeyThrough.__doc__=_("The next key that is pressed will not be handled at all by NVDA, it will be passed directly through to Windows.")
 
 	def script_speakApplicationName(self,keyPress,nextScript):
 		s=appModuleHandler.getAppName(api.getForegroundObject().windowHandle,True)
-		speech.speakMessage(_("Currently running application is %s.")%s)
+		if verbosity.getLevel() < verbosity.v_low: message = _("Currently running application is %s.")%s
+		else: message = s
+		speech.speakMessage(message)
 		speech.speakSpelling(s)
 		if appModuleHandler.moduleExists(appModuleHandler.activeModule.appName):
 			mod = appModuleHandler.activeModule.appName
 		else:
 			mod = _("default module")
-		speech.speakMessage(_("and currently loaded module is %s") % mod)
+		if verbosity.getLevel() < verbosity.v_low: message = _("and currently loaded module is %s") % mod
+		else: message = mod
+		speech.speakMessage(message)
 	script_speakApplicationName.__doc__ = _("Speaks filename of the active application along with name of the currently loaded appmodule")
Index: config/__init__.py
===================================================================
--- config/__init__.py	(revision 1716)
+++ config/__init__.py	(working copy)
@@ -26,6 +26,7 @@
 	askToExit = boolean(default=true)
 	#log levels are DEBUG, INFO, WARN, ERROR, CRITICAL
 	loggingLevel = string(default="WARN")
+	verbosity = integer(default=1,min=1)
 
 # Speech settings
 [speech]
Index: gui/settingsDialogs.py
===================================================================
--- gui/settingsDialogs.py	(revision 1716)
+++ gui/settingsDialogs.py	(working copy)
@@ -17,6 +17,7 @@
 from ctypes.wintypes import *
 import userDictHandler
 import scriptUI
+import verbosity
 
 MAXPNAMELEN=32
 
@@ -61,12 +62,25 @@
 		self.askToExitCheckBox=wx.CheckBox(self,wx.NewId(),label=_("&Warn before exiting NVDA"))
 		self.askToExitCheckBox.SetValue(config.conf["general"]["askToExit"])
 		settingsSizer.Add(self.askToExitCheckBox,border=10,flag=wx.BOTTOM)
+		verbosityLevelSizer=wx.BoxSizer(wx.HORIZONTAL)
+		verbosityLevelLabel=wx.StaticText(self,-1,label=_("Verbosity Level"))
+		verbosityLevelSizer.Add(verbosityLevelLabel)
+		verbosityLevelListID=wx.NewId()
+		self.verbosityLevelNames = verbosity.v_labels.values()
+		self.verbosityLevelList = wx.Choice(self, verbosityLevelListID, name = _("Verbosity Level"), choices = self.verbosityLevelNames)
+		try:
+			index = self.verbosityLevelNames.index(verbosity.v_labels[config.conf["general"]["verbosity"]])
+			self.verbosityLevelList.SetSelection(index)
+		except:
+			globalVars.log.warn("Could not set verbosity level list to current verbositylevel")
+		verbosityLevelSizer.Add(self.verbosityLevelList)
+		settingsSizer.Add(verbosityLevelSizer,border=10,flag=wx.BOTTOM)
 		logLevelSizer=wx.BoxSizer(wx.HORIZONTAL)
 		logLevelLabel=wx.StaticText(self,-1,label=_("L&ogging level"))
 		logLevelSizer.Add(logLevelLabel)
 		logLevelListID=wx.NewId()
 		self.logLevelNames=[logging._levelNames[x] for x in sorted([x for x in logging._levelNames.keys() if isinstance(x,int) and x>0],reverse=True)]
-		self.logLevelList=wx.Choice(self,languageListID,name=_("Log level"),choices=self.logLevelNames)
+		self.logLevelList=wx.Choice(self,logLevelListID,name=_("Log level"),choices=self.logLevelNames)
 		try:
 			index=self.logLevelNames.index(logging._levelNames[globalVars.log.getEffectiveLevel()])
 			self.logLevelList.SetSelection(index)
@@ -95,6 +109,7 @@
 		config.conf["general"]["hideInterfaceOnStartup"]=self.hideInterfaceCheckBox.IsChecked()
 		config.conf["general"]["saveConfigurationOnExit"]=self.saveOnExitCheckBox.IsChecked()
 		config.conf["general"]["askToExit"]=self.askToExitCheckBox.IsChecked()
+		verbosity.setLevel(self.verbosityLevelList.GetSelection() +1)
 		logLevelName=self.logLevelNames[self.logLevelList.GetSelection()]
 		globalVars.log.setLevel(logging._levelNames[logLevelName])
 		config.conf["general"]["loggingLevel"]=logLevelName
Index: keyboardHandler.py
===================================================================
--- keyboardHandler.py	(revision 1716)
+++ keyboardHandler.py	(working copy)
@@ -20,6 +20,7 @@
 import config
 import _winreg
 import api
+import verbosity
 
 keyUpIgnoreSet=set()
 passKeyThroughCount=-1 #If 0 or higher then key downs and key ups will be passed straight through
@@ -74,7 +75,9 @@
 	else:
 		s = _winreg.QueryValueEx(key, "Layout Text")[0]
 	key.Close()
-	queueHandler.queueFunction(queueHandler.interactiveQueue,speech.speakMessage,_("%s keyboard layout")%s)
+	if verbosity.getLevel() < verbosity.v_low: message = _("%s keyboard layout")%s
+	else: message = s
+	queueHandler.queueFunction(queueHandler.interactiveQueue,speech.speakMessage, message)
 
 @ctypes.CFUNCTYPE(ctypes.c_int,ctypes.c_int,ctypes.c_int,ctypes.c_int,ctypes.c_int)
 def internal_keyDownEvent(vkCode,scanCode,extended,injected):
Index: verbosity.py
===================================================================
--- verbosity.py	(revision 0)
+++ verbosity.py	(revision 0)
@@ -0,0 +1,53 @@
+#verbosity.py
+#A part of NonVisual Desktop Access (NVDA)
+#Copyright (C) 2006-2007 NVDA Contributors <http://www.nvda-project.org/>
+#This file is covered by the GNU General Public License.
+#See the file COPYING for more details.
+
+import config
+import globalVars
+
+v_high = 1
+v_medium = 2
+v_low = 3
+v_labels = {
+v_high : _("high"), 
+v_medium : _("medium"), 
+v_low : _("low")}
+
+def setLevel(l):
+	if (l < v_high) or (l > v_low): 
+		globalVars.log.warn("Verbosity level %d is not in range" % l)
+		exit
+	config.conf["general"]["verbosity"] = l
+	if l == v_high:
+		config.conf["general"]["hideInterfaceOnStartup"] = False
+		config.conf["general"]["askToExit"] = True
+		config.conf["speech"]["speakPunctuation"] = False
+		config.conf["presentation"]["reportKeyboardShortcuts"] = True
+		config.conf["presentation"]["reportObjectPositionInformation"] = True
+		config.conf["presentation"]["reportTooltips"] = True
+		config.conf["presentation"]["reportObjectDescriptions"] = True
+		config.conf["keyboard"]["speakCommandKeys"] = True
+		exit
+	if l == v_medium:
+		config.conf["general"]["hideInterfaceOnStartup"] = True
+		config.conf["general"]["askToExit"] = True
+		config.conf["presentation"]["reportKeyboardShortcuts"] = True
+		config.conf["presentation"]["reportObjectPositionInformation"] = False
+		config.conf["presentation"]["reportTooltips"] = False
+		config.conf["presentation"]["reportObjectDescriptions"] = True
+		config.conf["keyboard"]["speakCommandKeys"] = False
+		exit
+	if l == v_low:
+		config.conf["general"]["saveConfigurationOnExit"] = True
+		config.conf["general"]["hideInterfaceOnStartup"] = True
+		config.conf["general"]["askToExit"] = False
+		config.conf["presentation"]["reportKeyboardShortcuts"] = False
+		config.conf["presentation"]["reportObjectPositionInformation"] = False
+		config.conf["presentation"]["reportTooltips"] = False
+		config.conf["keyboard"]["speakCommandKeys"] = False
+		exit
+
+def getLevel():
+	return config.conf["general"]["verbosity"]
\ No newline at end of file
