Workshop B

Fra nvda-brugergruppen
Skift til: navigering, søgning

I denne workshop arbejder vi med NVDA's mulighed for udvidelser. Installere et par af dem og kikke på hvordan en udvidelse er opbygget.

Udvidelser

Udvidelser håndteres i NVDA-menu'en under Værktøjer - Håndter tilføjelser.

Eksempler på udvidelser

Udvidelser kan blandt andet hentes fra NVDA Addons website.

Indholdet af en udvidelse

  • Mappen med NVDA brugerindstillinger indholder de installerede Addons
  • En Addon er en zipfil med indhold af typisk Python scripts

Eksempel på at skrive en udvidelse

  • Vær opmærksom på formatet - Here be dragons ... HUSK: # coding: utf8
  • Importer rigtige python classes
    • appModuleHandler
    • globalPluginHandler
    • ui
  • __gestures = {}

Eksempel på AppModul til NotePad

1 # %AppData\Roaming\nvda\appModules\notepad.py # Notepad AppModule for NVDA
2 # Developer guide example 1
3 import appModuleHandler
4 class AppModule (appModuleHandler.AppModule ): 
5     def event_gainFocus(self, obj, nextHandler):
6         import tones
7         tones.beep(550, 50)nextHandler()

Eksempel på Global Plugin der få NVDA til at sige sit versionnummer

 1 # coding: utf8
 2 # %AppData\Roaming\nvda\globalPlugins\NVDAVersionnummer.py 
 3 # Version announcement plugin for NVDA
 4 # Udgangspunkt i Developer guide example 2
 5 
 6 import globalPluginHandler 
 7 import ui
 8 import versionInfo
 9 
10 class GlobalPlugin(globalPluginHandler.GlobalPlugin): 
11     def script_announceNVDAVersion(self , gesture):
12         ui.message(u'Du kører NVDA versionnummer: ' + versionInfo.version)
13 
14     __gestures={
15         "kb:NVDA+shift+v" : "announceNVDAVersion" ,
16     }

Download kildekoden: NVDAVersionsnummer.py

Eksempel på et Global Plugin med dansk tekst ... er der fredag?

 1 # coding: utf8
 2 # Er det fredag NVDA plugin
 3 
 4 import globalPluginHandler
 5 import ui
 6 import datetime
 7 
 8 class GlobalPlugin(globalPluginHandler.GlobalPlugin):
 9 	def script_erDetFredag(self, gesture):
10 		dag = datetime.datetime.today().weekday()
11 		if(dag == 4):
12 			ui.message(u'Det er fredag - fest og farver')
13 		elif(dag == 0):
14 			ui.message(u'Det er ikke fredag, men mandag')
15 		elif(dag == 1):
16 			ui.message(u'Det er ikke fredag, men tirsdag')
17 		elif(dag == 2):
18 			ui.message(u'Det er ikke fredag, men onsdag')
19 		elif(dag == 3):
20 			ui.message(u'Det er ikke fredag, men torsdag')
21 		elif(dag == 5):
22 			ui.message(u'Det er ikke fredag, men lørdag - nyd weekenden')
23 		elif(dag == 6):
24 			ui.message(u'Det er ikke fredag, men søndag - gør klar til en ny uge')
25 
26 			
27 	__gestures={
28 		"kb:NVDA+control+shift+f" : "erDetFredag",
29 
30 	}

Download kildekoden: ErDetFredag.py

Links