diff options
author | nicolargo <nicolas@nicolargo.com> | 2023-01-08 17:45:47 +0100 |
---|---|---|
committer | nicolargo <nicolas@nicolargo.com> | 2023-01-08 17:45:47 +0100 |
commit | b715fc2aba0cbd6d21264f2c87896a3f5086b0d6 (patch) | |
tree | 48e4fbe5733766b215ffd827a28f3a90d2c5c78e | |
parent | bf46e85e1ccd3f5ebcec2f9e86051ec4c5c702a2 (diff) |
First version only for threads, not programs
-rw-r--r-- | glances/outputs/glances_curses.py | 2 | ||||
-rw-r--r-- | glances/plugins/glances_processlist.py | 14 | ||||
-rw-r--r-- | glances/processes.py | 21 |
3 files changed, 25 insertions, 12 deletions
diff --git a/glances/outputs/glances_curses.py b/glances/outputs/glances_curses.py index debdd8b8..3b23ace0 100644 --- a/glances/outputs/glances_curses.py +++ b/glances/outputs/glances_curses.py @@ -410,7 +410,7 @@ class _GlancesCurses(object): elif self.pressedkey == ord('9'): # '9' > Theme from black to white and reverse self._init_colors() - elif self.pressedkey == ord('e'): + elif self.pressedkey == ord('e') and not self.args.programs: # 'e' > Enable/Disable process extended self.args.enable_process_extended = not self.args.enable_process_extended if not self.args.enable_process_extended: diff --git a/glances/plugins/glances_processlist.py b/glances/plugins/glances_processlist.py index 9b10699d..96872a4b 100644 --- a/glances/plugins/glances_processlist.py +++ b/glances/plugins/glances_processlist.py @@ -19,7 +19,6 @@ from glances.processes import glances_processes, sort_stats from glances.outputs.glances_unicode import unicode_message from glances.plugins.glances_core import Plugin as CorePlugin from glances.plugins.glances_plugin import GlancesPlugin -from glances.programs import processes_to_programs from glances.outputs.glances_bars import Bar @@ -147,9 +146,10 @@ class Plugin(GlancesPlugin): # Update stats using the standard system lib # Note: Update is done in the processcount plugin # Just return the processes list - stats = glances_processes.getlist() if self.args.programs: - stats = processes_to_programs(stats) + stats = glances_processes.getlist(as_programs=True) + else: + stats = glances_processes.getlist() elif self.input_method == 'snmp': # No SNMP grab for processes @@ -639,7 +639,13 @@ class Plugin(GlancesPlugin): msg, sort_style if process_sort_key == 'io_counters' else 'DEFAULT', optional=True, additional=True ) ) - shortkey = "('e' to pin | 'k' to kill)" if args.is_standalone and not args.disable_cursor else "" + if args.is_standalone and not args.disable_cursor: + if self.args.programs: + shortkey = "('k' to kill)" + else: + shortkey = "('e' to pin | 'k' to kill)" + else: + shortkey = "" msg = self.layout_header['command'].format("Programs" if self.args.programs else "Command", shortkey) ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'name' else 'DEFAULT')) diff --git a/glances/processes.py b/glances/processes.py index c50b89fe..9504f137 100644 --- a/glances/processes.py +++ b/glances/processes.py @@ -13,6 +13,7 @@ from glances.compat import iterkeys from glances.globals import BSD, LINUX, MACOS, WINDOWS from glances.timer import Timer, getTimeSinceLastUpdate from glances.filter import GlancesFilter +from glances.programs import processes_to_programs from glances.logger import logger import psutil @@ -330,9 +331,10 @@ class GlancesProcesses(object): ret['extended_stats'] = True return ret - def is_selected_process(self, position): - """Return True if the process is the selected one.""" - return hasattr(self.args, 'enable_process_extended') and \ + def is_selected_extended_process(self, position): + """Return True if the process is the selected one for extended stats.""" + return not self.args.programs and \ + hasattr(self.args, 'enable_process_extended') and \ self.args.enable_process_extended and \ not self.disable_extended_tag and \ hasattr(self.args, 'cursor_position') and \ @@ -403,7 +405,7 @@ class GlancesProcesses(object): ################ # Get the selected process when the 'e' key is pressed - if self.is_selected_process(position): + if self.is_selected_extended_process(position): self.extended_process = proc # Grab extended stats only for the selected process (see issue #2225) @@ -481,9 +483,14 @@ class GlancesProcesses(object): """Get the number of processes.""" return self.processcount - def getlist(self, sorted_by=None): - """Get the processlist.""" - return self.processlist + def getlist(self, sorted_by=None, as_programs=False): + """Get the processlist. + By default, return the list of threads. + If as_programs is True, return the list of programs.""" + if as_programs: + return processes_to_programs(self.processlist) + else: + return self.processlist @property def sort_key(self): |