mirror of https://gitlab.com/bashrc2/epicyon
				
				
				
			More consistent terminology
							parent
							
								
									ac01184e53
								
							
						
					
					
						commit
						dfdc694cfe
					
				| 
						 | 
				
			
			@ -422,7 +422,7 @@ Or if you have picospeaker installed:
 | 
			
		|||
The desktop client has a few commands, which may be more convenient than the web interface for some purposes:
 | 
			
		||||
 | 
			
		||||
``` bash
 | 
			
		||||
quit                         Exit from the notification client
 | 
			
		||||
quit                         Exit from the desktop client
 | 
			
		||||
mute                         Turn off the screen reader
 | 
			
		||||
speak                        Turn on the screen reader
 | 
			
		||||
sounds on                    Turn on notification sounds
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
__filename__ = "notifications_client.py"
 | 
			
		||||
__filename__ = "desktop_client.py"
 | 
			
		||||
__author__ = "Bob Mottram"
 | 
			
		||||
__license__ = "AGPL3+"
 | 
			
		||||
__version__ = "1.2.0"
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ def _desktopHelp() -> None:
 | 
			
		|||
    print(indent + 'Commands:')
 | 
			
		||||
    print('')
 | 
			
		||||
    print(indent + 'quit                         ' +
 | 
			
		||||
          'Exit from the notification client')
 | 
			
		||||
          'Exit from the desktop client')
 | 
			
		||||
    print(indent + 'show dm|sent|inbox|replies   ' +
 | 
			
		||||
          'Show a timeline')
 | 
			
		||||
    print(indent + 'mute                         ' +
 | 
			
		||||
| 
						 | 
				
			
			@ -85,13 +85,13 @@ def _desktopHelp() -> None:
 | 
			
		|||
    print('')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _clearScreen() -> None:
 | 
			
		||||
def _desktopClearScreen() -> None:
 | 
			
		||||
    """Clears the screen
 | 
			
		||||
    """
 | 
			
		||||
    os.system('cls' if os.name == 'nt' else 'clear')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _showDesktopBanner() -> None:
 | 
			
		||||
def _desktopShowBanner() -> None:
 | 
			
		||||
    """Shows the banner at the top
 | 
			
		||||
    """
 | 
			
		||||
    bannerFilename = 'banner.txt'
 | 
			
		||||
| 
						 | 
				
			
			@ -106,9 +106,9 @@ def _showDesktopBanner() -> None:
 | 
			
		|||
            print(banner + '\n')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _waitForKeypress(timeout: int, debug: bool) -> str:
 | 
			
		||||
    """Waits for a keypress with a timeout
 | 
			
		||||
    Returns the key pressed, or None on timeout
 | 
			
		||||
def _desktopWaitForCmd(timeout: int, debug: bool) -> str:
 | 
			
		||||
    """Waits for a command to be entered with a timeout
 | 
			
		||||
    Returns the command, or None on timeout
 | 
			
		||||
    """
 | 
			
		||||
    i, o, e = select.select([sys.stdin], [], [], timeout)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -224,14 +224,14 @@ def _sayCommand(content: str, sayStr: str, screenreader: str,
 | 
			
		|||
                  systemLanguage, espeak)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _notificationReplyToPost(session, postId: str,
 | 
			
		||||
                             baseDir: str, nickname: str, password: str,
 | 
			
		||||
                             domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                             cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                             debug: bool, subject: str,
 | 
			
		||||
                             screenreader: str, systemLanguage: str,
 | 
			
		||||
                             espeak) -> None:
 | 
			
		||||
    """Use the notification client to send a reply to the most recent post
 | 
			
		||||
def _desktopReplyToPost(session, postId: str,
 | 
			
		||||
                        baseDir: str, nickname: str, password: str,
 | 
			
		||||
                        domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                        cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                        debug: bool, subject: str,
 | 
			
		||||
                        screenreader: str, systemLanguage: str,
 | 
			
		||||
                        espeak) -> None:
 | 
			
		||||
    """Use the desktop client to send a reply to the most recent post
 | 
			
		||||
    """
 | 
			
		||||
    if '://' not in postId:
 | 
			
		||||
        return
 | 
			
		||||
| 
						 | 
				
			
			@ -288,14 +288,14 @@ def _notificationReplyToPost(session, postId: str,
 | 
			
		|||
    _sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _notificationNewPost(session,
 | 
			
		||||
                         baseDir: str, nickname: str, password: str,
 | 
			
		||||
                         domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                         cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                         debug: bool,
 | 
			
		||||
                         screenreader: str, systemLanguage: str,
 | 
			
		||||
                         espeak) -> None:
 | 
			
		||||
    """Use the notification client to create a new post
 | 
			
		||||
def _desktopNewPost(session,
 | 
			
		||||
                    baseDir: str, nickname: str, password: str,
 | 
			
		||||
                    domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                    cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                    debug: bool,
 | 
			
		||||
                    screenreader: str, systemLanguage: str,
 | 
			
		||||
                    espeak) -> None:
 | 
			
		||||
    """Use the desktop client to create a new post
 | 
			
		||||
    """
 | 
			
		||||
    sayStr = 'Create new post'
 | 
			
		||||
    _sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak)
 | 
			
		||||
| 
						 | 
				
			
			@ -448,11 +448,11 @@ def _readLocalBoxPost(boxName: str, index: int,
 | 
			
		|||
    return speakerJson
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _showLocalBox(notifyJson: {}, boxName: str,
 | 
			
		||||
                  screenreader: str, systemLanguage: str, espeak,
 | 
			
		||||
                  startPostIndex=0, noOfPosts=10,
 | 
			
		||||
                  newReplies=False,
 | 
			
		||||
                  newDMs=False) -> bool:
 | 
			
		||||
def _desktopShowBox(notifyJson: {}, boxName: str,
 | 
			
		||||
                    screenreader: str, systemLanguage: str, espeak,
 | 
			
		||||
                    startPostIndex=0, noOfPosts=10,
 | 
			
		||||
                    newReplies=False,
 | 
			
		||||
                    newDMs=False) -> bool:
 | 
			
		||||
    """Shows locally stored posts for a given subdirectory
 | 
			
		||||
    """
 | 
			
		||||
    indent = '   '
 | 
			
		||||
| 
						 | 
				
			
			@ -472,8 +472,8 @@ def _showLocalBox(notifyJson: {}, boxName: str,
 | 
			
		|||
            index.append(f)
 | 
			
		||||
 | 
			
		||||
    # title
 | 
			
		||||
    _clearScreen()
 | 
			
		||||
    _showDesktopBanner()
 | 
			
		||||
    _desktopClearScreen()
 | 
			
		||||
    _desktopShowBanner()
 | 
			
		||||
 | 
			
		||||
    notificationIcons = ''
 | 
			
		||||
    if notifyJson:
 | 
			
		||||
| 
						 | 
				
			
			@ -590,14 +590,14 @@ def _showLocalBox(notifyJson: {}, boxName: str,
 | 
			
		|||
    return True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _notificationNewDM(session, toHandle: str,
 | 
			
		||||
                       baseDir: str, nickname: str, password: str,
 | 
			
		||||
                       domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                       cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                       debug: bool,
 | 
			
		||||
                       screenreader: str, systemLanguage: str,
 | 
			
		||||
                       espeak) -> None:
 | 
			
		||||
    """Use the notification client to create a new direct message
 | 
			
		||||
def _desktopNewDM(session, toHandle: str,
 | 
			
		||||
                  baseDir: str, nickname: str, password: str,
 | 
			
		||||
                  domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                  cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                  debug: bool,
 | 
			
		||||
                  screenreader: str, systemLanguage: str,
 | 
			
		||||
                  espeak) -> None:
 | 
			
		||||
    """Use the desktop client to create a new direct message
 | 
			
		||||
    which can include multiple destination handles
 | 
			
		||||
    """
 | 
			
		||||
    if ' ' in toHandle:
 | 
			
		||||
| 
						 | 
				
			
			@ -611,17 +611,18 @@ def _notificationNewDM(session, toHandle: str,
 | 
			
		|||
 | 
			
		||||
    for handle in handlesList:
 | 
			
		||||
        handle = handle.strip()
 | 
			
		||||
        _notificationNewDMbase(session, handle,
 | 
			
		||||
                               baseDir, nickname, password,
 | 
			
		||||
                               domain, port, httpPrefix,
 | 
			
		||||
                               cachedWebfingers, personCache,
 | 
			
		||||
                               debug,
 | 
			
		||||
                               screenreader, systemLanguage,
 | 
			
		||||
                               espeak)
 | 
			
		||||
        _desktopNewDMbase(session, handle,
 | 
			
		||||
                          baseDir, nickname, password,
 | 
			
		||||
                          domain, port, httpPrefix,
 | 
			
		||||
                          cachedWebfingers, personCache,
 | 
			
		||||
                          debug,
 | 
			
		||||
                          screenreader, systemLanguage,
 | 
			
		||||
                          espeak)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _storeMessage(speakerJson: {}, boxName: str) -> None:
 | 
			
		||||
def _desktopStoreMsg(speakerJson: {}, boxName: str) -> None:
 | 
			
		||||
    """Stores a message in your home directory for later reading
 | 
			
		||||
    which could be offline
 | 
			
		||||
    """
 | 
			
		||||
    if not speakerJson.get('published'):
 | 
			
		||||
        return
 | 
			
		||||
| 
						 | 
				
			
			@ -646,14 +647,14 @@ def _storeMessage(speakerJson: {}, boxName: str) -> None:
 | 
			
		|||
    saveJson(speakerJson, msgFilename)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _notificationNewDMbase(session, toHandle: str,
 | 
			
		||||
                           baseDir: str, nickname: str, password: str,
 | 
			
		||||
                           domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                           cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                           debug: bool,
 | 
			
		||||
                           screenreader: str, systemLanguage: str,
 | 
			
		||||
                           espeak) -> None:
 | 
			
		||||
    """Use the notification client to create a new direct message
 | 
			
		||||
def _desktopNewDMbase(session, toHandle: str,
 | 
			
		||||
                      baseDir: str, nickname: str, password: str,
 | 
			
		||||
                      domain: str, port: int, httpPrefix: str,
 | 
			
		||||
                      cachedWebfingers: {}, personCache: {},
 | 
			
		||||
                      debug: bool,
 | 
			
		||||
                      screenreader: str, systemLanguage: str,
 | 
			
		||||
                      espeak) -> None:
 | 
			
		||||
    """Use the desktop client to create a new direct message
 | 
			
		||||
    """
 | 
			
		||||
    toPort = port
 | 
			
		||||
    if '://' in toHandle:
 | 
			
		||||
| 
						 | 
				
			
			@ -756,32 +757,32 @@ def _notificationNewDMbase(session, toHandle: str,
 | 
			
		|||
            "id": postId,
 | 
			
		||||
            "direct": True
 | 
			
		||||
        }
 | 
			
		||||
        _storeMessage(speakerJson, 'sent')
 | 
			
		||||
        _desktopStoreMsg(speakerJson, 'sent')
 | 
			
		||||
        sayStr = 'Direct message sent'
 | 
			
		||||
    else:
 | 
			
		||||
        sayStr = 'Direct message failed'
 | 
			
		||||
    _sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		||||
                           nickname: str, domain: str, port: int,
 | 
			
		||||
                           password: str, screenreader: str,
 | 
			
		||||
                           systemLanguage: str,
 | 
			
		||||
                           notificationSounds: bool,
 | 
			
		||||
                           notificationType: str,
 | 
			
		||||
                           noKeyPress: bool,
 | 
			
		||||
                           storeInboxPosts: bool,
 | 
			
		||||
                           showNewPosts: bool,
 | 
			
		||||
                           debug: bool) -> None:
 | 
			
		||||
    """Runs the notifications and screen reader client,
 | 
			
		||||
def runDesktopClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		||||
                     nickname: str, domain: str, port: int,
 | 
			
		||||
                     password: str, screenreader: str,
 | 
			
		||||
                     systemLanguage: str,
 | 
			
		||||
                     notificationSounds: bool,
 | 
			
		||||
                     notificationType: str,
 | 
			
		||||
                     noKeyPress: bool,
 | 
			
		||||
                     storeInboxPosts: bool,
 | 
			
		||||
                     showNewPosts: bool,
 | 
			
		||||
                     debug: bool) -> None:
 | 
			
		||||
    """Runs the desktop and screen reader client,
 | 
			
		||||
    which announces new inbox items
 | 
			
		||||
    """
 | 
			
		||||
    indent = '   '
 | 
			
		||||
    if showNewPosts:
 | 
			
		||||
        indent = ''
 | 
			
		||||
 | 
			
		||||
    _clearScreen()
 | 
			
		||||
    _showDesktopBanner()
 | 
			
		||||
    _desktopClearScreen()
 | 
			
		||||
    _desktopShowBanner()
 | 
			
		||||
 | 
			
		||||
    espeak = None
 | 
			
		||||
    if screenreader:
 | 
			
		||||
| 
						 | 
				
			
			@ -814,12 +815,12 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
    if not showNewPosts:
 | 
			
		||||
        print('')
 | 
			
		||||
        currInboxIndex = 0
 | 
			
		||||
        _showLocalBox(None, 'inbox',
 | 
			
		||||
                      screenreader, systemLanguage, espeak,
 | 
			
		||||
                      currInboxIndex, 10)
 | 
			
		||||
        _desktopShowBox(None, 'inbox',
 | 
			
		||||
                        screenreader, systemLanguage, espeak,
 | 
			
		||||
                        currInboxIndex, 10)
 | 
			
		||||
        currTimeline = 'inbox'
 | 
			
		||||
    print('')
 | 
			
		||||
    keyPress = _waitForKeypress(2, debug)
 | 
			
		||||
    commandStr = _desktopWaitForCmd(2, debug)
 | 
			
		||||
 | 
			
		||||
    originalScreenReader = screenreader
 | 
			
		||||
    domainFull = getFullDomain(domain, port)
 | 
			
		||||
| 
						 | 
				
			
			@ -980,20 +981,20 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                        speakerJson['decrypted'] = False
 | 
			
		||||
                        if speakerJson.get('replyToYou'):
 | 
			
		||||
                            newRepliesExist = True
 | 
			
		||||
                            _storeMessage(speakerJson, 'replies')
 | 
			
		||||
                            _desktopStoreMsg(speakerJson, 'replies')
 | 
			
		||||
                        if speakerJson.get('direct'):
 | 
			
		||||
                            newDMsExist = True
 | 
			
		||||
                            _storeMessage(speakerJson, 'dm')
 | 
			
		||||
                            _desktopStoreMsg(speakerJson, 'dm')
 | 
			
		||||
                        if storeInboxPosts:
 | 
			
		||||
                            _storeMessage(speakerJson, 'inbox')
 | 
			
		||||
                            _desktopStoreMsg(speakerJson, 'inbox')
 | 
			
		||||
 | 
			
		||||
                        if not showNewPosts:
 | 
			
		||||
                            _clearScreen()
 | 
			
		||||
                            _showLocalBox(notifyJson, currTimeline,
 | 
			
		||||
                                          None, systemLanguage, espeak,
 | 
			
		||||
                                          currInboxIndex, 10,
 | 
			
		||||
                                          newRepliesExist,
 | 
			
		||||
                                          newDMsExist)
 | 
			
		||||
                            _desktopClearScreen()
 | 
			
		||||
                            _desktopShowBox(notifyJson, currTimeline,
 | 
			
		||||
                                            None, systemLanguage, espeak,
 | 
			
		||||
                                            currInboxIndex, 10,
 | 
			
		||||
                                            newRepliesExist,
 | 
			
		||||
                                            newDMsExist)
 | 
			
		||||
                        else:
 | 
			
		||||
                            print('')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1005,112 +1006,114 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
        if noKeyPress:
 | 
			
		||||
            time.sleep(10)
 | 
			
		||||
        else:
 | 
			
		||||
            keyPress = _waitForKeypress(30, debug)
 | 
			
		||||
        if keyPress:
 | 
			
		||||
            if keyPress.startswith('/'):
 | 
			
		||||
                keyPress = keyPress[1:]
 | 
			
		||||
            if keyPress == 'q' or keyPress == 'quit' or keyPress == 'exit':
 | 
			
		||||
            commandStr = _desktopWaitForCmd(30, debug)
 | 
			
		||||
        if commandStr:
 | 
			
		||||
            if commandStr.startswith('/'):
 | 
			
		||||
                commandStr = commandStr[1:]
 | 
			
		||||
            if commandStr == 'q' or \
 | 
			
		||||
               commandStr == 'quit' or \
 | 
			
		||||
               commandStr == 'exit':
 | 
			
		||||
                sayStr = 'Quit'
 | 
			
		||||
                _sayCommand(sayStr, sayStr, screenreader,
 | 
			
		||||
                            systemLanguage, espeak)
 | 
			
		||||
                if screenreader:
 | 
			
		||||
                    keyPress = _waitForKeypress(2, debug)
 | 
			
		||||
                    commandStr = _desktopWaitForCmd(2, debug)
 | 
			
		||||
                break
 | 
			
		||||
            elif keyPress.startswith('show dm'):
 | 
			
		||||
            elif commandStr.startswith('show dm'):
 | 
			
		||||
                currDMIndex = 0
 | 
			
		||||
                _showLocalBox(notifyJson, 'dm',
 | 
			
		||||
                              screenreader, systemLanguage, espeak,
 | 
			
		||||
                              currDMIndex, 10,
 | 
			
		||||
                              newRepliesExist, newDMsExist)
 | 
			
		||||
                _desktopShowBox(notifyJson, 'dm',
 | 
			
		||||
                                screenreader, systemLanguage, espeak,
 | 
			
		||||
                                currDMIndex, 10,
 | 
			
		||||
                                newRepliesExist, newDMsExist)
 | 
			
		||||
                currTimeline = 'dm'
 | 
			
		||||
                newDMsExist = False
 | 
			
		||||
            elif keyPress.startswith('show rep'):
 | 
			
		||||
            elif commandStr.startswith('show rep'):
 | 
			
		||||
                currRepliesIndex = 0
 | 
			
		||||
                _showLocalBox(notifyJson, 'replies',
 | 
			
		||||
                              screenreader, systemLanguage, espeak,
 | 
			
		||||
                              currRepliesIndex, 10,
 | 
			
		||||
                              newRepliesExist, newDMsExist)
 | 
			
		||||
                _desktopShowBox(notifyJson, 'replies',
 | 
			
		||||
                                screenreader, systemLanguage, espeak,
 | 
			
		||||
                                currRepliesIndex, 10,
 | 
			
		||||
                                newRepliesExist, newDMsExist)
 | 
			
		||||
                currTimeline = 'replies'
 | 
			
		||||
                # Turn off the replies indicator
 | 
			
		||||
                newRepliesExist = False
 | 
			
		||||
            elif keyPress.startswith('show sen'):
 | 
			
		||||
            elif commandStr.startswith('show sen'):
 | 
			
		||||
                currSentIndex = 0
 | 
			
		||||
                _showLocalBox(notifyJson, 'sent',
 | 
			
		||||
                              screenreader, systemLanguage, espeak,
 | 
			
		||||
                              currSentIndex, 10,
 | 
			
		||||
                              newRepliesExist, newDMsExist)
 | 
			
		||||
                _desktopShowBox(notifyJson, 'sent',
 | 
			
		||||
                                screenreader, systemLanguage, espeak,
 | 
			
		||||
                                currSentIndex, 10,
 | 
			
		||||
                                newRepliesExist, newDMsExist)
 | 
			
		||||
                currTimeline = 'sent'
 | 
			
		||||
            elif (keyPress == 'show' or keyPress.startswith('show in') or
 | 
			
		||||
                  keyPress == 'clear'):
 | 
			
		||||
            elif (commandStr == 'show' or commandStr.startswith('show in') or
 | 
			
		||||
                  commandStr == 'clear'):
 | 
			
		||||
                currInboxIndex = 0
 | 
			
		||||
                _showLocalBox(notifyJson, 'inbox',
 | 
			
		||||
                              screenreader, systemLanguage, espeak,
 | 
			
		||||
                              currInboxIndex, 10,
 | 
			
		||||
                              newRepliesExist, newDMsExist)
 | 
			
		||||
                _desktopShowBox(notifyJson, 'inbox',
 | 
			
		||||
                                screenreader, systemLanguage, espeak,
 | 
			
		||||
                                currInboxIndex, 10,
 | 
			
		||||
                                newRepliesExist, newDMsExist)
 | 
			
		||||
                currTimeline = 'inbox'
 | 
			
		||||
            elif keyPress.startswith('next'):
 | 
			
		||||
            elif commandStr.startswith('next'):
 | 
			
		||||
                if currTimeline == 'dm':
 | 
			
		||||
                    currDMIndex += 10
 | 
			
		||||
                    _showLocalBox(notifyJson, 'dm',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currDMIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'dm',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currDMIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
                elif currTimeline == 'replies':
 | 
			
		||||
                    currRepliesIndex += 10
 | 
			
		||||
                    _showLocalBox(notifyJson, 'replies',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currRepliesIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'replies',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currRepliesIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
                elif currTimeline == 'sent':
 | 
			
		||||
                    currSentIndex += 10
 | 
			
		||||
                    _showLocalBox(notifyJson, 'sent',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currSentIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'sent',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currSentIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
                elif currTimeline == 'inbox':
 | 
			
		||||
                    currInboxIndex += 10
 | 
			
		||||
                    _showLocalBox(notifyJson, 'inbox',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currInboxIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
            elif keyPress.startswith('prev'):
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'inbox',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currInboxIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
            elif commandStr.startswith('prev'):
 | 
			
		||||
                if currTimeline == 'dm':
 | 
			
		||||
                    currDMIndex -= 10
 | 
			
		||||
                    if currDMIndex < 0:
 | 
			
		||||
                        currDMIndex = 0
 | 
			
		||||
                    _showLocalBox(notifyJson, 'dm',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currDMIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'dm',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currDMIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
                elif currTimeline == 'replies':
 | 
			
		||||
                    currRepliesIndex -= 10
 | 
			
		||||
                    if currRepliesIndex < 0:
 | 
			
		||||
                        currRepliesIndex = 0
 | 
			
		||||
                    _showLocalBox(notifyJson, 'replies',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currRepliesIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'replies',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currRepliesIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
                elif currTimeline == 'sent':
 | 
			
		||||
                    currSentIndex -= 10
 | 
			
		||||
                    if currSentIndex < 0:
 | 
			
		||||
                        currSentIndex = 0
 | 
			
		||||
                    _showLocalBox(notifyJson, 'sent',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currSentIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'sent',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currSentIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
                elif currTimeline == 'inbox':
 | 
			
		||||
                    currInboxIndex -= 10
 | 
			
		||||
                    if currInboxIndex < 0:
 | 
			
		||||
                        currInboxIndex = 0
 | 
			
		||||
                    _showLocalBox(notifyJson, 'inbox',
 | 
			
		||||
                                  screenreader, systemLanguage, espeak,
 | 
			
		||||
                                  currInboxIndex, 10,
 | 
			
		||||
                                  newRepliesExist, newDMsExist)
 | 
			
		||||
            elif keyPress.startswith('read ') or keyPress == 'read':
 | 
			
		||||
                if keyPress == 'read':
 | 
			
		||||
                    _desktopShowBox(notifyJson, 'inbox',
 | 
			
		||||
                                    screenreader, systemLanguage, espeak,
 | 
			
		||||
                                    currInboxIndex, 10,
 | 
			
		||||
                                    newRepliesExist, newDMsExist)
 | 
			
		||||
            elif commandStr.startswith('read ') or commandStr == 'read':
 | 
			
		||||
                if commandStr == 'read':
 | 
			
		||||
                    postIndexStr = '1'
 | 
			
		||||
                else:
 | 
			
		||||
                    postIndexStr = keyPress.split('read ')[1]
 | 
			
		||||
                    postIndexStr = commandStr.split('read ')[1]
 | 
			
		||||
                if postIndexStr.isdigit():
 | 
			
		||||
                    postIndex = int(postIndexStr)
 | 
			
		||||
                    speakerJson = \
 | 
			
		||||
| 
						 | 
				
			
			@ -1118,64 +1121,64 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                          systemLanguage, screenreader,
 | 
			
		||||
                                          espeak)
 | 
			
		||||
                print('')
 | 
			
		||||
            elif keyPress == 'reply' or keyPress == 'r':
 | 
			
		||||
            elif commandStr == 'reply' or commandStr == 'r':
 | 
			
		||||
                if speakerJson.get('id'):
 | 
			
		||||
                    postId = speakerJson['id']
 | 
			
		||||
                    subject = None
 | 
			
		||||
                    if speakerJson.get('summary'):
 | 
			
		||||
                        subject = speakerJson['summary']
 | 
			
		||||
                    sessionReply = createSession(proxyType)
 | 
			
		||||
                    _notificationReplyToPost(sessionReply, postId,
 | 
			
		||||
                                             baseDir, nickname, password,
 | 
			
		||||
                                             domain, port, httpPrefix,
 | 
			
		||||
                                             cachedWebfingers, personCache,
 | 
			
		||||
                                             debug, subject,
 | 
			
		||||
                                             screenreader, systemLanguage,
 | 
			
		||||
                                             espeak)
 | 
			
		||||
                    _desktopReplyToPost(sessionReply, postId,
 | 
			
		||||
                                        baseDir, nickname, password,
 | 
			
		||||
                                        domain, port, httpPrefix,
 | 
			
		||||
                                        cachedWebfingers, personCache,
 | 
			
		||||
                                        debug, subject,
 | 
			
		||||
                                        screenreader, systemLanguage,
 | 
			
		||||
                                        espeak)
 | 
			
		||||
                print('')
 | 
			
		||||
            elif (keyPress == 'post' or keyPress == 'p' or
 | 
			
		||||
                  keyPress == 'send' or
 | 
			
		||||
                  keyPress.startswith('dm ') or
 | 
			
		||||
                  keyPress.startswith('direct message ') or
 | 
			
		||||
                  keyPress.startswith('post ') or
 | 
			
		||||
                  keyPress.startswith('send ')):
 | 
			
		||||
            elif (commandStr == 'post' or commandStr == 'p' or
 | 
			
		||||
                  commandStr == 'send' or
 | 
			
		||||
                  commandStr.startswith('dm ') or
 | 
			
		||||
                  commandStr.startswith('direct message ') or
 | 
			
		||||
                  commandStr.startswith('post ') or
 | 
			
		||||
                  commandStr.startswith('send ')):
 | 
			
		||||
                sessionPost = createSession(proxyType)
 | 
			
		||||
                if keyPress.startswith('dm ') or \
 | 
			
		||||
                   keyPress.startswith('direct message ') or \
 | 
			
		||||
                   keyPress.startswith('post ') or \
 | 
			
		||||
                   keyPress.startswith('send '):
 | 
			
		||||
                    keyPress = keyPress.replace(' to ', ' ')
 | 
			
		||||
                    keyPress = keyPress.replace(' dm ', ' ')
 | 
			
		||||
                    keyPress = keyPress.replace(' DM ', ' ')
 | 
			
		||||
                if commandStr.startswith('dm ') or \
 | 
			
		||||
                   commandStr.startswith('direct message ') or \
 | 
			
		||||
                   commandStr.startswith('post ') or \
 | 
			
		||||
                   commandStr.startswith('send '):
 | 
			
		||||
                    commandStr = commandStr.replace(' to ', ' ')
 | 
			
		||||
                    commandStr = commandStr.replace(' dm ', ' ')
 | 
			
		||||
                    commandStr = commandStr.replace(' DM ', ' ')
 | 
			
		||||
                    # direct message
 | 
			
		||||
                    toHandle = None
 | 
			
		||||
                    if keyPress.startswith('post '):
 | 
			
		||||
                        toHandle = keyPress.split('post ', 1)[1]
 | 
			
		||||
                    elif keyPress.startswith('send '):
 | 
			
		||||
                        toHandle = keyPress.split('send ', 1)[1]
 | 
			
		||||
                    elif keyPress.startswith('dm '):
 | 
			
		||||
                        toHandle = keyPress.split('dm ', 1)[1]
 | 
			
		||||
                    elif keyPress.startswith('direct message '):
 | 
			
		||||
                        toHandle = keyPress.split('direct message ', 1)[1]
 | 
			
		||||
                    if commandStr.startswith('post '):
 | 
			
		||||
                        toHandle = commandStr.split('post ', 1)[1]
 | 
			
		||||
                    elif commandStr.startswith('send '):
 | 
			
		||||
                        toHandle = commandStr.split('send ', 1)[1]
 | 
			
		||||
                    elif commandStr.startswith('dm '):
 | 
			
		||||
                        toHandle = commandStr.split('dm ', 1)[1]
 | 
			
		||||
                    elif commandStr.startswith('direct message '):
 | 
			
		||||
                        toHandle = commandStr.split('direct message ', 1)[1]
 | 
			
		||||
                    if toHandle:
 | 
			
		||||
                        _notificationNewDM(sessionPost, toHandle,
 | 
			
		||||
                                           baseDir, nickname, password,
 | 
			
		||||
                                           domain, port, httpPrefix,
 | 
			
		||||
                                           cachedWebfingers, personCache,
 | 
			
		||||
                                           debug,
 | 
			
		||||
                                           screenreader, systemLanguage,
 | 
			
		||||
                                           espeak)
 | 
			
		||||
                        _desktopNewDM(sessionPost, toHandle,
 | 
			
		||||
                                      baseDir, nickname, password,
 | 
			
		||||
                                      domain, port, httpPrefix,
 | 
			
		||||
                                      cachedWebfingers, personCache,
 | 
			
		||||
                                      debug,
 | 
			
		||||
                                      screenreader, systemLanguage,
 | 
			
		||||
                                      espeak)
 | 
			
		||||
                else:
 | 
			
		||||
                    # public post
 | 
			
		||||
                    _notificationNewPost(sessionPost,
 | 
			
		||||
                                         baseDir, nickname, password,
 | 
			
		||||
                                         domain, port, httpPrefix,
 | 
			
		||||
                                         cachedWebfingers, personCache,
 | 
			
		||||
                                         debug,
 | 
			
		||||
                                         screenreader, systemLanguage,
 | 
			
		||||
                                         espeak)
 | 
			
		||||
                    _desktopNewPost(sessionPost,
 | 
			
		||||
                                    baseDir, nickname, password,
 | 
			
		||||
                                    domain, port, httpPrefix,
 | 
			
		||||
                                    cachedWebfingers, personCache,
 | 
			
		||||
                                    debug,
 | 
			
		||||
                                    screenreader, systemLanguage,
 | 
			
		||||
                                    espeak)
 | 
			
		||||
                print('')
 | 
			
		||||
            elif keyPress == 'like':
 | 
			
		||||
            elif commandStr == 'like':
 | 
			
		||||
                if speakerJson.get('id'):
 | 
			
		||||
                    sayStr = 'Liking post by ' + speakerJson['name']
 | 
			
		||||
                    _sayCommand(sayStr, sayStr,
 | 
			
		||||
| 
						 | 
				
			
			@ -1189,7 +1192,7 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                      cachedWebfingers, personCache,
 | 
			
		||||
                                      False, __version__)
 | 
			
		||||
                    print('')
 | 
			
		||||
            elif keyPress == 'unlike' or keyPress == 'undo like':
 | 
			
		||||
            elif commandStr == 'unlike' or commandStr == 'undo like':
 | 
			
		||||
                if speakerJson.get('id'):
 | 
			
		||||
                    sayStr = 'Undoing like of post by ' + speakerJson['name']
 | 
			
		||||
                    _sayCommand(sayStr, sayStr,
 | 
			
		||||
| 
						 | 
				
			
			@ -1203,9 +1206,9 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                          cachedWebfingers, personCache,
 | 
			
		||||
                                          False, __version__)
 | 
			
		||||
                    print('')
 | 
			
		||||
            elif (keyPress == 'announce' or
 | 
			
		||||
                  keyPress == 'boost' or
 | 
			
		||||
                  keyPress == 'retweet'):
 | 
			
		||||
            elif (commandStr == 'announce' or
 | 
			
		||||
                  commandStr == 'boost' or
 | 
			
		||||
                  commandStr == 'retweet'):
 | 
			
		||||
                if speakerJson.get('id'):
 | 
			
		||||
                    postId = speakerJson['id']
 | 
			
		||||
                    sayStr = 'Announcing post by ' + speakerJson['name']
 | 
			
		||||
| 
						 | 
				
			
			@ -1220,8 +1223,8 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                          cachedWebfingers, personCache,
 | 
			
		||||
                                          True, __version__)
 | 
			
		||||
                    print('')
 | 
			
		||||
            elif keyPress.startswith('follow '):
 | 
			
		||||
                followHandle = keyPress.replace('follow ', '').strip()
 | 
			
		||||
            elif commandStr.startswith('follow '):
 | 
			
		||||
                followHandle = commandStr.replace('follow ', '').strip()
 | 
			
		||||
                if followHandle.startswith('@'):
 | 
			
		||||
                    followHandle = followHandle[1:]
 | 
			
		||||
                if '@' in followHandle or '://' in followHandle:
 | 
			
		||||
| 
						 | 
				
			
			@ -1249,9 +1252,9 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                        _sayCommand(sayStr,
 | 
			
		||||
                                    screenreader, systemLanguage, espeak)
 | 
			
		||||
                    print('')
 | 
			
		||||
            elif (keyPress.startswith('unfollow ') or
 | 
			
		||||
                  keyPress.startswith('stop following ')):
 | 
			
		||||
                followHandle = keyPress.replace('unfollow ', '').strip()
 | 
			
		||||
            elif (commandStr.startswith('unfollow ') or
 | 
			
		||||
                  commandStr.startswith('stop following ')):
 | 
			
		||||
                followHandle = commandStr.replace('unfollow ', '').strip()
 | 
			
		||||
                followHandle = followHandle.replace('stop following ', '')
 | 
			
		||||
                if followHandle.startswith('@'):
 | 
			
		||||
                    followHandle = followHandle[1:]
 | 
			
		||||
| 
						 | 
				
			
			@ -1280,9 +1283,9 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                        _sayCommand(sayStr, sayStr,
 | 
			
		||||
                                    screenreader, systemLanguage, espeak)
 | 
			
		||||
                    print('')
 | 
			
		||||
            elif (keyPress == 'repeat' or keyPress == 'replay' or
 | 
			
		||||
                  keyPress == 'rp' or keyPress == 'again' or
 | 
			
		||||
                  keyPress == 'say again'):
 | 
			
		||||
            elif (commandStr == 'repeat' or commandStr == 'replay' or
 | 
			
		||||
                  commandStr == 'rp' or commandStr == 'again' or
 | 
			
		||||
                  commandStr == 'say again'):
 | 
			
		||||
                if screenreader and nameStr and \
 | 
			
		||||
                   gender and messageStr and content:
 | 
			
		||||
                    sayStr = 'Repeating ' + nameStr
 | 
			
		||||
| 
						 | 
				
			
			@ -1294,25 +1297,25 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                systemLanguage, espeak,
 | 
			
		||||
                                nameStr, gender)
 | 
			
		||||
                    print('')
 | 
			
		||||
            elif (keyPress == 'sounds on' or
 | 
			
		||||
                  keyPress == 'sound on' or
 | 
			
		||||
                  keyPress == 'sound'):
 | 
			
		||||
            elif (commandStr == 'sounds on' or
 | 
			
		||||
                  commandStr == 'sound on' or
 | 
			
		||||
                  commandStr == 'sound'):
 | 
			
		||||
                sayStr = 'Notification sounds on'
 | 
			
		||||
                _sayCommand(sayStr, sayStr, screenreader,
 | 
			
		||||
                            systemLanguage, espeak)
 | 
			
		||||
                notificationSounds = True
 | 
			
		||||
            elif (keyPress == 'sounds off' or
 | 
			
		||||
                  keyPress == 'sound off' or
 | 
			
		||||
                  keyPress == 'nosound'):
 | 
			
		||||
            elif (commandStr == 'sounds off' or
 | 
			
		||||
                  commandStr == 'sound off' or
 | 
			
		||||
                  commandStr == 'nosound'):
 | 
			
		||||
                sayStr = 'Notification sounds off'
 | 
			
		||||
                _sayCommand(sayStr, sayStr, screenreader,
 | 
			
		||||
                            systemLanguage, espeak)
 | 
			
		||||
                notificationSounds = False
 | 
			
		||||
            elif (keyPress == 'speak' or
 | 
			
		||||
                  keyPress == 'screen reader on' or
 | 
			
		||||
                  keyPress == 'speaker on' or
 | 
			
		||||
                  keyPress == 'talker on' or
 | 
			
		||||
                  keyPress == 'reader on'):
 | 
			
		||||
            elif (commandStr == 'speak' or
 | 
			
		||||
                  commandStr == 'screen reader on' or
 | 
			
		||||
                  commandStr == 'speaker on' or
 | 
			
		||||
                  commandStr == 'talker on' or
 | 
			
		||||
                  commandStr == 'reader on'):
 | 
			
		||||
                if originalScreenReader:
 | 
			
		||||
                    screenreader = originalScreenReader
 | 
			
		||||
                    sayStr = 'Screen reader on'
 | 
			
		||||
| 
						 | 
				
			
			@ -1320,11 +1323,11 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                systemLanguage, espeak)
 | 
			
		||||
                else:
 | 
			
		||||
                    print('No --screenreader option was specified')
 | 
			
		||||
            elif (keyPress == 'mute' or
 | 
			
		||||
                  keyPress == 'screen reader off' or
 | 
			
		||||
                  keyPress == 'speaker off' or
 | 
			
		||||
                  keyPress == 'talker off' or
 | 
			
		||||
                  keyPress == 'reader off'):
 | 
			
		||||
            elif (commandStr == 'mute' or
 | 
			
		||||
                  commandStr == 'screen reader off' or
 | 
			
		||||
                  commandStr == 'speaker off' or
 | 
			
		||||
                  commandStr == 'talker off' or
 | 
			
		||||
                  commandStr == 'reader off'):
 | 
			
		||||
                if originalScreenReader:
 | 
			
		||||
                    screenreader = None
 | 
			
		||||
                    sayStr = 'Screen reader off'
 | 
			
		||||
| 
						 | 
				
			
			@ -1332,10 +1335,10 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                                systemLanguage, espeak)
 | 
			
		||||
                else:
 | 
			
		||||
                    print('No --screenreader option was specified')
 | 
			
		||||
            elif keyPress.startswith('open'):
 | 
			
		||||
            elif commandStr.startswith('open'):
 | 
			
		||||
                currIndex = 0
 | 
			
		||||
                if ' ' in keyPress:
 | 
			
		||||
                    postIndex = keyPress.split(' ')[-1].strip()
 | 
			
		||||
                if ' ' in commandStr:
 | 
			
		||||
                    postIndex = commandStr.split(' ')[-1].strip()
 | 
			
		||||
                    if postIndex.isdigit():
 | 
			
		||||
                        currIndex = int(postIndex)
 | 
			
		||||
                speakerJson = \
 | 
			
		||||
| 
						 | 
				
			
			@ -1358,7 +1361,7 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                    _sayCommand(sayStr, sayStr, originalScreenReader,
 | 
			
		||||
                                systemLanguage, espeak)
 | 
			
		||||
                print('')
 | 
			
		||||
            elif keyPress.startswith('accept'):
 | 
			
		||||
            elif commandStr.startswith('accept'):
 | 
			
		||||
                if notifyJson:
 | 
			
		||||
                    if notifyJson.get('followRequestsList'):
 | 
			
		||||
                        if len(notifyJson['followRequestsList']) > 0:
 | 
			
		||||
| 
						 | 
				
			
			@ -1371,7 +1374,7 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                            _sayCommand(sayStr, sayStr, originalScreenReader,
 | 
			
		||||
                                        systemLanguage, espeak)
 | 
			
		||||
                print('')
 | 
			
		||||
            elif keyPress.startswith('reject'):
 | 
			
		||||
            elif commandStr.startswith('reject'):
 | 
			
		||||
                if notifyJson:
 | 
			
		||||
                    if notifyJson.get('followRequestsList'):
 | 
			
		||||
                        if len(notifyJson['followRequestsList']) > 0:
 | 
			
		||||
| 
						 | 
				
			
			@ -1384,5 +1387,5 @@ def runNotificationsClient(baseDir: str, proxyType: str, httpPrefix: str,
 | 
			
		|||
                            _sayCommand(sayStr, sayStr, originalScreenReader,
 | 
			
		||||
                                        systemLanguage, espeak)
 | 
			
		||||
                print('')
 | 
			
		||||
            elif keyPress.startswith('h'):
 | 
			
		||||
            elif commandStr.startswith('h'):
 | 
			
		||||
                _desktopHelp()
 | 
			
		||||
							
								
								
									
										22
									
								
								epicyon.py
								
								
								
								
							
							
						
						
									
										22
									
								
								epicyon.py
								
								
								
								
							| 
						 | 
				
			
			@ -78,7 +78,7 @@ from theme import setTheme
 | 
			
		|||
from announce import sendAnnounceViaServer
 | 
			
		||||
from socnet import instancesGraph
 | 
			
		||||
from migrate import migrateAccounts
 | 
			
		||||
from notifications_client import runNotificationsClient
 | 
			
		||||
from desktop_client import runDesktopClient
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def str2bool(v) -> bool:
 | 
			
		||||
| 
						 | 
				
			
			@ -304,7 +304,7 @@ parser.add_argument("--notifyShowNewPosts",
 | 
			
		|||
                    dest='notifyShowNewPosts',
 | 
			
		||||
                    type=str2bool, nargs='?',
 | 
			
		||||
                    const=True, default=False,
 | 
			
		||||
                    help="Notification client shows/speaks new posts " +
 | 
			
		||||
                    help="Desktop client shows/speaks new posts " +
 | 
			
		||||
                    "as they arrive")
 | 
			
		||||
parser.add_argument("--noapproval", type=str2bool, nargs='?',
 | 
			
		||||
                    const=True, default=False,
 | 
			
		||||
| 
						 | 
				
			
			@ -1868,15 +1868,15 @@ if args.desktop:
 | 
			
		|||
    # only store inbox posts if we are not running as a daemon
 | 
			
		||||
    storeInboxPosts = not args.noKeyPress
 | 
			
		||||
 | 
			
		||||
    runNotificationsClient(baseDir, proxyType, httpPrefix,
 | 
			
		||||
                           nickname, domain, port, args.password,
 | 
			
		||||
                           args.screenreader, args.language,
 | 
			
		||||
                           args.notificationSounds,
 | 
			
		||||
                           args.notificationType,
 | 
			
		||||
                           args.noKeyPress,
 | 
			
		||||
                           storeInboxPosts,
 | 
			
		||||
                           args.notifyShowNewPosts,
 | 
			
		||||
                           args.debug)
 | 
			
		||||
    runDesktopClient(baseDir, proxyType, httpPrefix,
 | 
			
		||||
                     nickname, domain, port, args.password,
 | 
			
		||||
                     args.screenreader, args.language,
 | 
			
		||||
                     args.notificationSounds,
 | 
			
		||||
                     args.notificationType,
 | 
			
		||||
                     args.noKeyPress,
 | 
			
		||||
                     storeInboxPosts,
 | 
			
		||||
                     args.notifyShowNewPosts,
 | 
			
		||||
                     args.debug)
 | 
			
		||||
    sys.exit()
 | 
			
		||||
 | 
			
		||||
if federationList:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue