diff --git a/src/__main__.py b/src/__main__.py index 8a97ee0..c7cac99 100644 --- a/src/__main__.py +++ b/src/__main__.py @@ -40,6 +40,7 @@ if __name__ == "__main__": parser.add_argument("--trace-debug", "-td", default="false", help="Disable saves, ignore IPC lock, do extra console messaging.") parser.add_argument("--no-plugins", "-np", default="false", help="Do not load plugins.") + parser.add_argument("--new-tab", "-nt", default="false", help="Opens a 'New Tab' if a handler is set for it.") parser.add_argument("--file", "-f", default="default", help="JUST SOME FILE ARG.") # Read arguments (If any...) diff --git a/src/libs/ipc_server.py b/src/libs/ipc_server.py index e56cd1a..a4767bc 100644 --- a/src/libs/ipc_server.py +++ b/src/libs/ipc_server.py @@ -111,4 +111,23 @@ class IPCServer(Singleton): except ConnectionRefusedError as e: print("Connection refused...") except Exception as e: - print(repr(e)) \ No newline at end of file + print(repr(e)) + + + def send_test_ipc_message(self, message: str = "Empty Data...") -> None: + try: + if self._conn_type == "socket": + conn = Client(address=self._ipc_address, family="AF_UNIX", authkey=self._ipc_authkey) + elif "unsecured" not in self._conn_type: + conn = Client((self._ipc_address, self._ipc_port), authkey=self._ipc_authkey) + else: + conn = Client((self._ipc_address, self._ipc_port)) + + conn.send(message) + conn.close() + except ConnectionRefusedError as e: + if self._conn_type == "socket": + logger.error("IPC Socket no longer valid.... Removing.") + os.unlink(self._ipc_address) + except Exception as e: + logger.error( repr(e) )