2021-10-10 06:45:55 +00:00
|
|
|
#!/usr/bin/python3
|
|
|
|
|
|
|
|
# Python imports
|
2022-11-29 04:34:13 +00:00
|
|
|
import argparse
|
|
|
|
import faulthandler
|
2023-02-04 22:32:00 +00:00
|
|
|
import locale
|
2022-11-29 04:34:13 +00:00
|
|
|
import traceback
|
2021-10-10 06:45:55 +00:00
|
|
|
from setproctitle import setproctitle
|
|
|
|
|
2021-12-07 04:44:39 +00:00
|
|
|
# Lib imports
|
|
|
|
import gi
|
2021-10-10 06:45:55 +00:00
|
|
|
gi.require_version('Gtk', '3.0')
|
2021-11-25 06:44:12 +00:00
|
|
|
from gi.repository import Gtk
|
2021-10-10 06:45:55 +00:00
|
|
|
|
|
|
|
# Application imports
|
2022-10-10 01:59:44 +00:00
|
|
|
from __builtins__ import *
|
2022-03-03 22:45:37 +00:00
|
|
|
from app import Application
|
2021-10-10 06:45:55 +00:00
|
|
|
|
|
|
|
|
2022-02-02 03:08:02 +00:00
|
|
|
|
2022-11-03 03:06:30 +00:00
|
|
|
def run():
|
2021-10-10 06:45:55 +00:00
|
|
|
try:
|
2023-02-04 22:32:00 +00:00
|
|
|
locale.setlocale(locale.LC_NUMERIC, 'C')
|
|
|
|
|
2022-10-26 04:27:21 +00:00
|
|
|
setproctitle(f"{app_name}")
|
2021-10-10 06:45:55 +00:00
|
|
|
faulthandler.enable() # For better debug info
|
2022-09-03 01:15:20 +00:00
|
|
|
|
2021-10-10 06:45:55 +00:00
|
|
|
parser = argparse.ArgumentParser()
|
|
|
|
# Add long and short arguments
|
2022-10-10 01:59:44 +00:00
|
|
|
parser.add_argument("--debug", "-d", default="false", help="Do extra console messaging.")
|
|
|
|
parser.add_argument("--trace-debug", "-td", default="false", help="Disable saves, ignore IPC lock, do extra console messaging.")
|
2022-11-25 06:34:16 +00:00
|
|
|
parser.add_argument("--no-plugins", "-np", default="false", help="Do not load plugins.")
|
2022-10-10 01:59:44 +00:00
|
|
|
|
2021-11-25 08:21:10 +00:00
|
|
|
parser.add_argument("--new-tab", "-t", default="", help="Open a file into new tab.")
|
|
|
|
parser.add_argument("--new-window", "-w", default="", help="Open a file into a new window.")
|
2022-11-25 06:34:16 +00:00
|
|
|
|
2021-10-10 06:45:55 +00:00
|
|
|
# Read arguments (If any...)
|
2021-11-25 08:21:10 +00:00
|
|
|
args, unknownargs = parser.parse_known_args()
|
|
|
|
|
2022-10-23 04:53:33 +00:00
|
|
|
if args.debug == "true":
|
|
|
|
settings.set_debug(True)
|
|
|
|
|
|
|
|
if args.trace_debug == "true":
|
|
|
|
settings.set_trace_debug(True)
|
|
|
|
|
|
|
|
settings.do_dirty_start_check()
|
2022-03-03 22:45:37 +00:00
|
|
|
Application(args, unknownargs)
|
2021-11-25 06:44:12 +00:00
|
|
|
Gtk.main()
|
2021-10-10 06:45:55 +00:00
|
|
|
except Exception as e:
|
2021-12-25 05:58:57 +00:00
|
|
|
traceback.print_exc()
|
|
|
|
quit()
|
2022-11-03 03:06:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
""" Set process title, get arguments, and create GTK main thread. """
|
|
|
|
run()
|