def main(): if getattr(sys, 'frozen', False) and 'darwin' not in sys.platform.lower(): setup_openssl_environment() first_arg = '' if len(sys.argv) < 2 else sys.argv[1] func = entry_points.get(first_arg) if func is None: if first_arg.startswith('@'): remote_control(['@', first_arg[1:]] + sys.argv[2:]) elif first_arg.startswith('+'): namespaced(['+', first_arg[1:]] + sys.argv[2:]) else: from kitty.main import main main() else: func(sys.argv[1:])
def complete(args): from kitty.complete import main main(args[1:], entry_points, namespaced_entry_points)
def remote_control(args): from kitty.remote_control import main main(args)
def list_fonts(args): from kitty.fonts.list import main main(args)
# Workaround for Linux distros that have still failed to get their heads # out of their asses and implement a common location for SSL certificates. # It's not that hard people, there exists a wonderful tool called the symlink # See https://www.mobileread.com/forums/showthread.php?t=256095 if 'SSL_CERT_FILE' not in os.environ and 'SSL_CERT_DIR' not in os.environ: if os.access('/etc/pki/tls/certs/ca-bundle.crt', os.R_OK): os.environ['SSL_CERT_FILE'] = '/etc/pki/tls/certs/ca-bundle.crt' elif os.path.isdir('/etc/ssl/certs'): os.environ['SSL_CERT_DIR'] = '/etc/ssl/certs' def main(): if getattr(sys, 'frozen', False) and 'darwin' not in sys.platform.lower(): setup_openssl_environment() first_arg = '' if len(sys.argv) < 2 else sys.argv[1] func = entry_points.get(first_arg) if func is None: if first_arg.startswith('@'): remote_control(['@', first_arg[1:]] + sys.argv[2:]) elif first_arg.startswith('+'): namespaced(['+', first_arg[1:]] + sys.argv[2:]) else: from kitty.main import main main() else: func(sys.argv[1:]) if __name__ == '__main__': main()