improve type performance
This commit is contained in:
		
							
								
								
									
										40
									
								
								src/fenrir/commands/onCursorChange/45000-char_echo.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/fenrir/commands/onCursorChange/45000-char_echo.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| #!/bin/python | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| # Fenrir TTY screen reader | ||||
| # By Chrys, Storm Dragon, and contributers. | ||||
|  | ||||
| from core import debug | ||||
|  | ||||
| class command(): | ||||
|     def __init__(self): | ||||
|         pass | ||||
|     def initialize(self, environment): | ||||
|         self.env = environment | ||||
|     def shutdown(self): | ||||
|         pass | ||||
|     def getDescription(self): | ||||
|         return 'No Description found' | ||||
|  | ||||
|     def run(self): | ||||
|         if not self.env['runtime']['settingsManager'].getSettingAsBool('keyboard', 'charEcho'): | ||||
|             return | ||||
|         # detect deletion or chilling  | ||||
|         if self.env['screen']['newCursor']['x'] <= self.env['screen']['oldCursor']['x']: | ||||
|             return | ||||
|         # is there any change? | ||||
|         if not self.env['runtime']['screenManager'].isDelta(): | ||||
|             return | ||||
|         # big changes are no char (but the value is bigger than one maybe the differ needs longer than you can type, so a little strange random buffer for now) | ||||
|         if len(self.env['screen']['newDelta']) > 3: | ||||
|             return         | ||||
|         # filter unneded space on word begin | ||||
|         currDelta = self.env['screen']['newDelta'] | ||||
|         if len(currDelta.strip()) != len(currDelta) and \ | ||||
|           currDelta.strip() != '': | ||||
|             currDelta = currDelta.strip() | ||||
|         self.env['runtime']['outputManager'].presentText(currDelta, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False) | ||||
|  | ||||
|     def setCallback(self, callback): | ||||
|         pass | ||||
|  | ||||
| @@ -0,0 +1,41 @@ | ||||
| #!/bin/python | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| # Fenrir TTY screen reader | ||||
| # By Chrys, Storm Dragon, and contributers. | ||||
|  | ||||
| from core import debug | ||||
| from utils import char_utils | ||||
|  | ||||
| class command(): | ||||
|     def __init__(self): | ||||
|         pass | ||||
|     def initialize(self, environment): | ||||
|         self.env = environment | ||||
|     def shutdown(self): | ||||
|         pass | ||||
|     def getDescription(self): | ||||
|         return ''            | ||||
|      | ||||
|     def run(self): | ||||
|         if not self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'cursor'): | ||||
|             return         | ||||
|         if self.env['runtime']['screenManager'].isScreenChange(): | ||||
|             return                  | ||||
|         # detect an change on the screen, we just want to cursor arround, so no change should appear | ||||
|         if self.env['runtime']['screenManager'].isDelta(): | ||||
|             return | ||||
|         if self.env['runtime']['screenManager'].isNegativeDelta(): | ||||
|             return | ||||
|         # is a vertical change? | ||||
|         if self.env['runtime']['cursorManager'].isCursorVerticalMove(): | ||||
|             return                         | ||||
|         # is it a horizontal change? | ||||
|         if not self.env['runtime']['cursorManager'].isCursorHorizontalMove(): | ||||
|             return | ||||
|         x, y, currChar = char_utils.getCurrentChar(self.env['screen']['newCursor']['x'], self.env['screen']['newCursor']['y'], self.env['screen']['newContentText']) | ||||
|         if not currChar.isspace(): | ||||
|             self.env['runtime']['outputManager'].presentText(currChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False) | ||||
|     def setCallback(self, callback): | ||||
|         pass | ||||
|  | ||||
		Reference in New Issue
	
	Block a user