diff --git a/ChangeLog b/ChangeLog index f58629dbf..79267b7dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ * #2021: Fix share ratio limit not obeyed for seeded torrents added to session * Add optparse custom version to prevent unnecessary loading of libtorrent * #1554: Fix seeding on share ratio failing for partially selected torrents + * Add proper process title naming in ps, top etc. (Depends: setproctitle) ==== GtkUI ==== * #1918: Fix Drag'n'Drop not working in Windows diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py index 340b5fc87..08bcfd4cc 100644 --- a/deluge/ui/gtkui/gtkui.py +++ b/deluge/ui/gtkui/gtkui.py @@ -47,6 +47,12 @@ import pkg_resources import gtk, gtk.glade import sys +try: + from setproctitle import setproctitle, getproctitle +except ImportError: + setproctitle = lambda t: None + getproctitle = lambda: None + # Initialize gettext try: locale.setlocale(locale.LC_ALL, '') @@ -190,6 +196,9 @@ class GtkUI(object): return 1 SetConsoleCtrlHandler(win_handler) + # Set process name again to fix gtk issue + setproctitle(getproctitle()) + # Attempt to register a magnet URI handler with gconf, but do not overwrite # if already set by another program. common.associate_magnet_links(False) diff --git a/deluge/ui/ui.py b/deluge/ui/ui.py index fb03fbfed..2662543e8 100644 --- a/deluge/ui/ui.py +++ b/deluge/ui/ui.py @@ -41,6 +41,11 @@ import deluge.common import deluge.configmanager import deluge.log +try: + from setproctitle import setproctitle +except ImportError: + setproctitle = lambda t: None + def version_callback(option, opt_str, value, parser): print os.path.basename(sys.argv[0]) + ": " + deluge.common.get_version() try: @@ -111,10 +116,12 @@ class _UI(object): log.error("There was an error setting the config dir! Exiting..") sys.exit(1) + setproctitle("deluge-%s" % self.__name) + log.info("Deluge ui %s", deluge.common.get_version()) log.debug("options: %s", self.__options) log.debug("args: %s", self.__args) - log.info("Starting ui..") + log.info("Starting %s ui..", self.__name) class UI: def __init__(self, options, args, ui_args): @@ -131,6 +138,8 @@ class UI: else: selected_ui = options.ui + setproctitle("deluge") + config.save() del config