Changeset 150
- Timestamp:
- 07/02/08 15:02:36
- Files:
-
- trunk/MANIFEST.in (modified) (1 diff)
- trunk/NEWS (modified) (1 diff)
- trunk/README (modified) (5 diffs)
- trunk/setup.py (modified) (3 diffs)
- trunk/src/jambu (moved) (moved from trunk/src/jambuinapp) (2 diffs)
- trunk/src/lib/jambu/InAppSelection.py (modified) (7 diffs)
- trunk/src/lib/jambu/__init__.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/MANIFEST.in
r100 r150 3 3 include NEWS 4 4 include ChangeLog 5 include MANIFEST.in 5 6 trunk/NEWS
r132 r150 1 ============= 2 Version 0.0.7 3 ============= 4 5 What's new 6 ========== 7 * renamed as 'jambu' 8 * switch access can be disabled with --noswitch option 9 This means py game is not required (e.g for Solaris) 10 * new website http://jambu.fullmeasure.co.uk 11 * sorce code reorganised to match name change 12 13 What's fixed 14 ============ 15 * Work arround for Firefox 3 web page 16 17 1 18 ============== 2 19 Version 0.0.5 trunk/README
r129 r150 1 Jambu In Application 0.0.52 ============ ==============1 Jambu 0.0.7 2 ============ 3 3 4 ================ ======5 * What is jambu inapp?6 ================ ======4 ================ 5 * What is jambu? 6 ================ 7 7 8 Jambu inappallows you to operate an application from switches or keys by8 Jambu allows you to operate an application from switches or keys by 9 9 stepping around the UI rather than using an intermediate overlay (or OSK). 10 10 It uses the accessibility features of the Linux GNOME desktop. … … 13 13 and GTK accessibile apps (has been tested with gedit). 14 14 15 Jambuinapp is part of a larger Jambu project: 16 http://www.oatsoft.org/trac/jambu 15 Find out the latest about the Jambu project and get the latest version from: 17 16 18 =========================== 19 * Where to get jambuinapp? 20 =========================== 17 http://jambu.fullmeasure.co.uk 21 18 22 Get the installable tarball from 19 ===================== 20 * Where to get jambu? 21 ===================== 23 22 24 http://fullmeasure.co.uk/Jambu/jambuinapp-0.0.5.tar.gz 23 Please see: 25 24 26 or get the source from 25 http://jambu.fullmeasure.co.uk/download 27 26 28 http://www.oatsoft.org/svn/jambu/inapp/tags/release-0.0.5 27 Developers should see: 29 28 30 or grab the *latest* source from SVN at: 29 http://jambu.fullmeasure.co.uk/community/development 31 30 32 http://www.oatsoft.org/svn/jambu/inapp/trunk 33 31 ======================= 32 * How to Install jambu? 33 ======================= 34 34 35 ============================= 36 * How to install jambuinapp? 37 ============================= 38 39 Dependencies - what else you'll need 40 ------------------------------------ 41 42 GNOME Linux desktop with accessibility options enabled 43 python: http://python.org 44 pygtk: http://www.pygtk.org/ 45 pyatspi: http://live.gnome.org/GAP/PythonATSPI 46 pygame: http://www.pygame.org/ 47 48 * All latest versions (some may be available in your distro's package repositries) 49 50 In addition you'll want: 51 Minefield (aka Firefox 3.0) 52 http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/ 53 35 In addition you'll want: Firefox 3 54 36 55 37 Installing 56 38 ---------- 57 1) Unzip the tarball (e.g tar xvf jambui napp-0.0.3.tar.gz)58 2) cd (e.g. cd jambu inapp-0.0.3)39 1) Unzip the tarball (e.g tar xvf jambui-0.0.7.tar.gz) 40 2) cd (e.g. cd jambu-0.0.7) 59 41 3) python setup.py install (note run as root or sudo) 60 42 61 Or to make the tarball from the source run:62 python setup.py sdist63 and the tarball will be created in the 'dist' folder.64 43 65 ==================== =====66 * How to use jambui napp?67 ==================== =====44 ==================== 45 * How to use jambui? 46 ==================== 68 47 69 48 When installed run: 70 49 71 jambuinapp [--scan] [--showtree] Minefield | <other app name> 72 --scan start auto scanning, otherwise manual 73 --showtree show the GTKTreeView of accesible objects and other UI 74 --blink blinking highlight, default is auto detect 75 --svg svg highlight (requires transparency), default is auto detect 76 77 Or for local source execution run: 78 .../jambuinapp/src/jambu python InAppSelection.py Minefield 50 jambu [--scan] [--showtree] Firefox | <other app name> 51 --scan start auto scanning, otherwise manual 52 --showtree show the GTKTreeView of accesible objects and other UI 53 --blink blinking highlight, default is auto detect 54 --svg svg highlight (requires transparency), default is auto detect 55 --noswitch dont use switch input (doesn't require pygame) 56 -h usage 79 57 80 58 Make sure Minefield is already open and make it the active application 81 59 again to be safe. 60 61 Note for developers: 62 -------------------- 63 To run the local source version as apposed to the installed one run: 64 ./jambu Firefox 65 66 To make the tarball from the source run: 67 python setup.py sdist 68 and the tarball will be created in the 'dist' folder. 82 69 83 70 Operation … … 86 73 perform the action for an interactive item. 'next' iterates around items in a 87 74 group and also the group itself to allow moving up and out of the group 88 (the highlight changes colour in this case). 75 (the highlight changes colour in this case). 76 77 See next section for gestures that invoke these actions 89 78 90 79 If you have a Window Manager that supports transparency (like Compiz on Ubuntu) … … 102 91 action item -> Right Ctrl key, USB switch 1 or 6, right mouse button 103 92 104 For the mouse gestures you need to disp aly the UI and leave the pointer in the93 For the mouse gestures you need to display the UI and leave the pointer in the 105 94 spaces between the buttons and menus do not display properly as the mouse 106 95 interferes. 107 96 108 User Interface97 User Interface 109 98 ------------- 110 99 A tree view is presented for developer use. It shows the model of accessibles … … 113 102 114 103 115 ============================ =104 ============================ 116 105 * What known bugs are there? 117 ============================ =106 ============================ 118 107 119 108 * If highlight disappears simply do a 'next' action. The temporary use of simulated trunk/setup.py
r130 r150 1 """Jambu In Application Selection: step througha programs UI1 """Jambu : direct stepped navigation control of a programs UI 2 2 3 Allows switcher users to control an application by stepping through it's UI""" 3 Allows switch users to control an application by stepping through it's UI 4 5 This file is a standard distutils config file.""" 4 6 5 7 doclines = __doc__.split("\n") … … 16 18 17 19 from distutils.core import setup 18 setup(name='jambu inapp',19 version='0.0. 5',20 setup(name='jambu', 21 version='0.0.7', 20 22 maintainer="Full Measure", 21 23 maintainer_email="jambu@fullmeasure.co.uk", 22 url = "http:// www.oatsoft.org/trac/jambu",24 url = "http://jambu.fullmeasure.co.uk", 23 25 license = "http://www.opensource.org/licenses/bsd-license.php", 24 26 platforms = ["any"], … … 26 28 classifiers = filter(None, classifiers.split("\n")), 27 29 long_description = "\n".join(doclines[2:]), 28 package_dir = {'': 'src '},30 package_dir = {'': 'src/lib'}, 29 31 packages=['jambu'], 30 scripts=['src/jambu inapp'],32 scripts=['src/jambu'], 31 33 data_files=[('share/doc/jambu', 32 34 ['README', 'AUTHORS', 'LICENSE', 'NEWS', 'ChangeLog'])] trunk/src/jambu
r148 r150 2 2 ''' 3 3 Creates an instance of the program GUI and starts the main event loop. 4 5 @author: Peter Parente6 @author: Eitan Isaacson7 @organization: IBM Corporation8 @copyright: Copyright (c) 2006 IBM Corporation9 @license: BSD10 4 11 5 All rights reserved. This program and the accompanying materials are made … … 13 7 is available at U{http://www.opensource.org/licenses/bsd-license.php} 14 8 ''' 15 #import sys, os16 # Load gail module no matter what the desktop-wide settings are.17 #os.environ['GTK_MODULES'] = 'gail:atk-bridge'18 9 19 #import gnome 20 # make this program accessible 21 #props = { gnome.PARAM_APP_DATADIR : os.path.join(sys.prefix, 'share')} 22 #gnome.program_init('accerciser', '1.0.2', properties=props) 10 import sys, os 11 12 # if running locally the we need to import from ../lib and don't care about . 13 # otherwise if running /usr..../jambu then use normal sys.path to get jambu form site-packages 14 prefix = os.path.commonprefix(['/usr', __file__]) 15 if '/usr' != prefix: 16 sys.path[0] = os.path.join(sys.path[0], 'lib') 23 17 24 18 import jambu trunk/src/lib/jambu/InAppSelection.py
r148 r150 12 12 import ActionBrowser 13 13 14 import Switch 15 16 _SWITCH_EVENT_MAP= {Switch.SWITCH_DOWN: 'switch-down' 17 ,Switch.SWITCH_UP: 'switch-up' 18 ,Switch.NO_EVENT: None} 14 # switch module is run time imported 15 Switch= None 19 16 20 17 _ = lambda x: x … … 23 20 '''The application''' 24 21 def _getArgs(self): 25 args =dict(show_tree = False, 22 args =dict(use_switch = True, 23 show_tree = False, 26 24 scan = False, 27 25 app = None, … … 38 36 elif arg == '--svg': 39 37 args['hilight']='svg' 38 elif arg == '--noswitch': 39 args['use_switch']=False 40 elif arg == '--useswitch': 41 args['use_switch']=True 40 42 elif not arg.startswith('--') and len(arg) > 2: 41 43 args['app'] = arg … … 44 46 print """Useage 45 47 ------ 46 /usr/local/bin/jambu inapp--scan --showtree [gedit | Minefield]48 /usr/local/bin/jambu --scan --showtree [gedit | Minefield] 47 49 --scan start auto scanning, otherwise manual 48 50 --showtree show the GTKTreeView of accesible objects and other UI 49 51 --blink blinking highlight, default is auto detect 50 52 --svg svg highlight (requires transparency), default is auto detect 53 --noswitch no switch access (so not require pygame to be installed) 51 54 52 Make sure gedit/minefieldis already open and make it the active application53 againto be safe.55 Make sure Firefox 3 is already open and make it the active application 56 to be safe. 54 57 """ 55 58 sys.exit() … … 76 79 self.window.set_keep_above(True) 77 80 78 Switch.init() 81 if args['use_switch']: 82 global Switch 83 Switch = __import__('Switch', globals(), locals(), [], -1) 84 self._SWITCH_EVENT_MAP= {Switch.SWITCH_DOWN: 'switch-down' 85 ,Switch.SWITCH_UP: 'switch-up' 86 ,Switch.NO_EVENT: None} 79 87 80 gobject.timeout_add(250, self._onTimeout) 88 Switch.init() 89 gobject.timeout_add(250, self._onTimeout) 81 90 82 91 def main(self): … … 110 119 pass # not expected 111 120 PumpQueuedEvents(pyatspi.Registry()) 112 #pyatspi.Registry.pumpQueuedEvents(); # should be ok now but stops menues working121 #pyatspi.Registry.pumpQueuedEvents(); # should be ok now but stops menues working 113 122 return True # keep this function in idle processing 114 123 gobject.idle_add(_onIdle) … … 126 135 while True: 127 136 event, p1, p2 = Switch.getEvent() 128 signal = _SWITCH_EVENT_MAP[event]137 signal = self._SWITCH_EVENT_MAP[event] 129 138 if not signal: 130 139 break trunk/src/lib/jambu/__init__.py
r100 r150 3 3 4 4 @author: Steve Lee 5 @author: Eitan Isaacson 6 @author: Peter Parente 7 @organization: IBM Corporation 8 @copyright: Copyright (c) 2006, 2007 IBM Corporation 5 @organization: Full Measure 6 @copyright: Copyright (c) 2007, 2008 Full Measure 9 7 @license: BSD 10 8 … … 20 18 'You pressed Ctrl+Z. This would normally freeze your keyboard') 21 19 print _( 22 'Ctrl+Z has been disabled; use " accerciser&" instead from the command line')20 'Ctrl+Z has been disabled; use "jambu &" instead from the command line') 23 21 signal.signal(signal.SIGTSTP, signal_handler) 24 25 # If pyatspi not installed seperately, add pyatspi zip file to the path26 #try:27 # import pyatspi28 #except ImportError:29 # sys.path.insert(1, os.path.join(os.path.dirname(__file__), 'pyatspi.zip'))30 22 31 23 def main():
