def __catch_key(self, return_to_browser=False): # Catch the pressed key self.pressedkey = self.get_key(self.term_window) # Actions (available in the global hotkey dict)... for hotkey in self._hotkeys: if self.pressedkey == ord(hotkey) and 'switch' in self._hotkeys[hotkey]: setattr(self.args, self._hotkeys[hotkey]['switch'], not getattr(self.args, self._hotkeys[hotkey]['switch'])) if self.pressedkey == ord(hotkey) and 'auto_sort' in self._hotkeys[hotkey]: setattr(glances_processes, 'auto_sort', self._hotkeys[hotkey]['auto_sort']) if self.pressedkey == ord(hotkey) and 'sort_key' in self._hotkeys[hotkey]: setattr(glances_processes, 'sort_key', self._hotkeys[hotkey]['sort_key']) # Other actions... if self.pressedkey == ord('\x1b') or self.pressedkey == ord('q'): # 'ESC'|'q' > Quit if return_to_browser: logger.info("Stop Glances client and return to the browser") else: logger.info("Stop Glances (keypressed: {})".format(self.pressedkey)) elif self.pressedkey == ord('\n'): # 'ENTER' > Edit the process filter self.edit_filter = not self.edit_filter elif self.pressedkey == ord('4'): self.args.full_quicklook = not self.args.full_quicklook if self.args.full_quicklook: self.enable_fullquicklook() else: self.disable_fullquicklook() elif self.pressedkey == ord('5'): self.args.disable_top = not self.args.disable_top if self.args.disable_top: self.disable_top() else: self.enable_top() elif self.pressedkey == ord('e'): # 'e' > Enable/Disable process extended self.args.enable_process_extended = not self.args.enable_process_extended if not self.args.enable_process_extended: glances_processes.disable_extended() else: glances_processes.enable_extended() elif self.pressedkey == ord('E'): # 'E' > Erase the process filter glances_processes.process_filter = None elif self.pressedkey == ord('f'): # 'f' > Show/hide fs / folder stats self.args.disable_fs = not self.args.disable_fs self.args.disable_folders = not self.args.disable_folders elif self.pressedkey == ord('w'): # 'w' > Delete finished warning logs glances_events.clean() elif self.pressedkey == ord('x'): # 'x' > Delete finished warning and critical logs glances_events.clean(critical=True) elif self.pressedkey == ord('z'): # 'z' > Enable or disable processes self.args.disable_process = not self.args.disable_process if self.args.disable_process: glances_processes.disable() else: glances_processes.enable() elif self.pressedkey == curses.KEY_LEFT: # "<" (left arrow) navigation through process sort setattr(glances_processes, 'auto_sort', False) next_sort = (self.loop_position() - 1) % len(self._sort_loop) glances_processes.sort_key = self._sort_loop[next_sort] elif self.pressedkey == curses.KEY_RIGHT: # ">" (right arrow) navigation through process sort setattr(glances_processes, 'auto_sort', False) next_sort = (self.loop_position() + 1) % len(self._sort_loop) glances_processes.sort_key = self._sort_loop[next_sort] # Return the key code return self.pressedkey
def __catch_key(self, return_to_browser=False): # Catch the pressed key self.pressedkey = self.get_key(self.term_window) # Actions... if self.pressedkey == ord('\x1b') or self.pressedkey == ord('q'): # 'ESC'|'q' > Quit if return_to_browser: logger.info("Stop Glances client and return to the browser") else: self.end() logger.info("Stop Glances") sys.exit(0) elif self.pressedkey == 10: # 'ENTER' > Edit the process filter self.edit_filter = not self.edit_filter elif self.pressedkey == ord('0'): # '0' > Switch between IRIX and Solaris mode self.args.disable_irix = not self.args.disable_irix elif self.pressedkey == ord('1'): # '1' > Switch between CPU and PerCPU information self.args.percpu = not self.args.percpu elif self.pressedkey == ord('2'): # '2' > Enable/disable left sidebar self.args.disable_left_sidebar = not self.args.disable_left_sidebar elif self.pressedkey == ord('3'): # '3' > Enable/disable quicklook self.args.disable_quicklook = not self.args.disable_quicklook elif self.pressedkey == ord('4'): # '4' > Enable/disable all but quick look and load self.args.full_quicklook = not self.args.full_quicklook if self.args.full_quicklook: self.args.disable_quicklook = False self.args.disable_cpu = True self.args.disable_mem = True self.args.disable_swap = True else: self.args.disable_quicklook = False self.args.disable_cpu = False self.args.disable_mem = False self.args.disable_swap = False elif self.pressedkey == ord('5'): # '5' > Enable/disable top menu logger.info(self.args.disable_top) self.args.disable_top = not self.args.disable_top if self.args.disable_top: self.args.disable_quicklook = True self.args.disable_cpu = True self.args.disable_mem = True self.args.disable_swap = True self.args.disable_load = True else: self.args.disable_quicklook = False self.args.disable_cpu = False self.args.disable_mem = False self.args.disable_swap = False self.args.disable_load = False elif self.pressedkey == ord('/'): # '/' > Switch between short/long name for processes self.args.process_short_name = not self.args.process_short_name elif self.pressedkey == ord('a'): # 'a' > Sort processes automatically and reset to 'cpu_percent' glances_processes.auto_sort = True glances_processes.sort_key = 'cpu_percent' elif self.pressedkey == ord('b'): # 'b' > Switch between bit/s and Byte/s for network IO self.args.byte = not self.args.byte elif self.pressedkey == ord('B'): # 'B' > Switch between bit/s and IO/s for Disk IO self.args.diskio_iops = not self.args.diskio_iops elif self.pressedkey == ord('c'): # 'c' > Sort processes by CPU usage glances_processes.auto_sort = False glances_processes.sort_key = 'cpu_percent' elif self.pressedkey == ord('d'): # 'd' > Show/hide disk I/O stats self.args.disable_diskio = not self.args.disable_diskio elif self.pressedkey == ord('D'): # 'D' > Show/hide Docker stats self.args.disable_docker = not self.args.disable_docker elif self.pressedkey == ord('e'): # 'e' > Enable/Disable extended stats for top process self.args.enable_process_extended = not self.args.enable_process_extended if not self.args.enable_process_extended: glances_processes.disable_extended() else: glances_processes.enable_extended() elif self.pressedkey == ord('E'): # 'E' > Erase the process filter logger.info("Erase process filter") glances_processes.process_filter = None elif self.pressedkey == ord('F'): # 'F' > Switch between FS available and free space self.args.fs_free_space = not self.args.fs_free_space elif self.pressedkey == ord('f'): # 'f' > Show/hide fs / folder stats self.args.disable_fs = not self.args.disable_fs self.args.disable_folder = not self.args.disable_folder elif self.pressedkey == ord('g'): # 'g' > History self.history_tag = not self.history_tag elif self.pressedkey == ord('h'): # 'h' > Show/hide help self.args.help_tag = not self.args.help_tag elif self.pressedkey == ord('i'): # 'i' > Sort processes by IO rate (not available on OS X) glances_processes.auto_sort = False glances_processes.sort_key = 'io_counters' elif self.pressedkey == ord('I'): # 'I' > Show/hide IP module self.args.disable_ip = not self.args.disable_ip elif self.pressedkey == ord('l'): # 'l' > Show/hide log messages self.args.disable_log = not self.args.disable_log elif self.pressedkey == ord('m'): # 'm' > Sort processes by MEM usage glances_processes.auto_sort = False glances_processes.sort_key = 'memory_percent' elif self.pressedkey == ord('M'): # 'M' > Reset processes summary min/max self.args.reset_minmax_tag = not self.args.reset_minmax_tag elif self.pressedkey == ord('n'): # 'n' > Show/hide network stats self.args.disable_network = not self.args.disable_network elif self.pressedkey == ord('p'): # 'p' > Sort processes by name glances_processes.auto_sort = False glances_processes.sort_key = 'name' elif self.pressedkey == ord('r'): # 'r' > Reset history self.reset_history_tag = not self.reset_history_tag elif self.pressedkey == ord('R'): # 'R' > Hide RAID plugins self.args.disable_raid = not self.args.disable_raid elif self.pressedkey == ord('s'): # 's' > Show/hide sensors stats (Linux-only) self.args.disable_sensors = not self.args.disable_sensors elif self.pressedkey == ord('t'): # 't' > Sort processes by TIME usage glances_processes.auto_sort = False glances_processes.sort_key = 'cpu_times' elif self.pressedkey == ord('T'): # 'T' > View network traffic as sum Rx+Tx self.args.network_sum = not self.args.network_sum elif self.pressedkey == ord('u'): # 'u' > Sort processes by USER glances_processes.auto_sort = False glances_processes.sort_key = 'username' elif self.pressedkey == ord('U'): # 'U' > View cumulative network I/O (instead of bitrate) self.args.network_cumul = not self.args.network_cumul elif self.pressedkey == ord('w'): # 'w' > Delete finished warning logs glances_logs.clean() elif self.pressedkey == ord('x'): # 'x' > Delete finished warning and critical logs glances_logs.clean(critical=True) elif self.pressedkey == ord('z'): # 'z' > Enable/Disable processes stats (count + list + monitor) # Enable/Disable display self.args.disable_process = not self.args.disable_process # Enable/Disable update if self.args.disable_process: glances_processes.disable() else: glances_processes.enable() # Return the key code return self.pressedkey
def __catch_key(self, return_to_browser=False): # Catch the pressed key self.pressedkey = self.get_key(self.term_window) # Actions (available in the global hotkey dict)... for hotkey in self._hotkeys: if self.pressedkey == ord( hotkey) and 'switch' in self._hotkeys[hotkey]: setattr( self.args, self._hotkeys[hotkey]['switch'], not getattr(self.args, self._hotkeys[hotkey]['switch'])) if self.pressedkey == ord( hotkey) and 'auto_sort' in self._hotkeys[hotkey]: setattr(glances_processes, 'auto_sort', self._hotkeys[hotkey]['auto_sort']) if self.pressedkey == ord( hotkey) and 'sort_key' in self._hotkeys[hotkey]: setattr(glances_processes, 'sort_key', self._hotkeys[hotkey]['sort_key']) # Other actions... if self.pressedkey == ord('\x1b') or self.pressedkey == ord('q'): # 'ESC'|'q' > Quit if return_to_browser: logger.info("Stop Glances client and return to the browser") else: self.end() logger.info("Stop Glances") sys.exit(0) elif self.pressedkey == ord('\n'): # 'ENTER' > Edit the process filter self.edit_filter = not self.edit_filter elif self.pressedkey == ord('4'): self.args.full_quicklook = not self.args.full_quicklook if self.args.full_quicklook: self.enable_fullquicklook() else: self.disable_fullquicklook() elif self.pressedkey == ord('5'): self.args.disable_top = not self.args.disable_top if self.args.disable_top: self.disable_top() else: self.enable_top() elif self.pressedkey == ord('e'): # 'e' > Enable/Disable process extended self.args.enable_process_extended = not self.args.enable_process_extended if not self.args.enable_process_extended: glances_processes.disable_extended() else: glances_processes.enable_extended() elif self.pressedkey == ord('E'): # 'E' > Erase the process filter glances_processes.process_filter = None elif self.pressedkey == ord('f'): # 'f' > Show/hide fs / folder stats self.args.disable_fs = not self.args.disable_fs self.args.disable_folders = not self.args.disable_folders elif self.pressedkey == ord('g'): # 'g' > Generate graph from history self.graph_tag = not self.graph_tag elif self.pressedkey == ord('r'): # 'r' > Reset graph history self.reset_history_tag = not self.reset_history_tag elif self.pressedkey == ord('w'): # 'w' > Delete finished warning logs glances_logs.clean() elif self.pressedkey == ord('x'): # 'x' > Delete finished warning and critical logs glances_logs.clean(critical=True) elif self.pressedkey == ord('z'): # 'z' > Enable or disable processes self.args.disable_process = not self.args.disable_process if self.args.disable_process: glances_processes.disable() else: glances_processes.enable() # Return the key code return self.pressedkey
def __catch_key(self, return_to_browser=False): # Catch the pressed key self.pressedkey = self.get_key(self.term_window) # Actions... if self.pressedkey == ord('\x1b') or self.pressedkey == ord('q'): # 'ESC'|'q' > Quit if return_to_browser: logger.info("Stop Glances client and return to the browser") else: self.end() logger.info("Stop Glances") sys.exit(0) elif self.pressedkey == 10: # 'ENTER' > Edit the process filter self.edit_filter = not self.edit_filter elif self.pressedkey == ord('0'): # '0' > Switch between IRIX and Solaris mode self.args.disable_irix = not self.args.disable_irix elif self.pressedkey == ord('1'): # '1' > Switch between CPU and PerCPU information self.args.percpu = not self.args.percpu elif self.pressedkey == ord('2'): # '2' > Enable/disable left sidebar self.args.disable_left_sidebar = not self.args.disable_left_sidebar elif self.pressedkey == ord('3'): # '3' > Enable/disable quicklook self.args.disable_quicklook = not self.args.disable_quicklook elif self.pressedkey == ord('4'): # '4' > Enable/disable all but quick look and load self.args.full_quicklook = not self.args.full_quicklook if self.args.full_quicklook: self.args.disable_quicklook = False self.args.disable_cpu = True self.args.disable_mem = True self.args.disable_swap = True else: self.args.disable_quicklook = False self.args.disable_cpu = False self.args.disable_mem = False self.args.disable_swap = False elif self.pressedkey == ord('5'): # '5' > Enable/disable top menu logger.info(self.args.disable_top) self.args.disable_top = not self.args.disable_top if self.args.disable_top: self.args.disable_quicklook = True self.args.disable_cpu = True self.args.disable_mem = True self.args.disable_swap = True self.args.disable_load = True else: self.args.disable_quicklook = False self.args.disable_cpu = False self.args.disable_mem = False self.args.disable_swap = False self.args.disable_load = False elif self.pressedkey == ord('/'): # '/' > Switch between short/long name for processes self.args.process_short_name = not self.args.process_short_name elif self.pressedkey == ord('a'): # 'a' > Sort processes automatically and reset to 'cpu_percent' glances_processes.auto_sort = True glances_processes.sort_key = 'cpu_percent' elif self.pressedkey == ord('A'): # 'A' > enable/disable AMP module self.args.disable_amps = not self.args.disable_amps elif self.pressedkey == ord('b'): # 'b' > Switch between bit/s and Byte/s for network IO self.args.byte = not self.args.byte elif self.pressedkey == ord('B'): # 'B' > Switch between bit/s and IO/s for Disk IO self.args.diskio_iops = not self.args.diskio_iops elif self.pressedkey == ord('c'): # 'c' > Sort processes by CPU usage glances_processes.auto_sort = False glances_processes.sort_key = 'cpu_percent' elif self.pressedkey == ord('d'): # 'd' > Show/hide disk I/O stats self.args.disable_diskio = not self.args.disable_diskio elif self.pressedkey == ord('D'): # 'D' > Show/hide Docker stats self.args.disable_docker = not self.args.disable_docker elif self.pressedkey == ord('e'): # 'e' > Enable/Disable extended stats for top process self.args.enable_process_extended = not self.args.enable_process_extended if not self.args.enable_process_extended: glances_processes.disable_extended() else: glances_processes.enable_extended() elif self.pressedkey == ord('E'): # 'E' > Erase the process filter logger.info("Erase process filter") glances_processes.process_filter = None elif self.pressedkey == ord('F'): # 'F' > Switch between FS available and free space self.args.fs_free_space = not self.args.fs_free_space elif self.pressedkey == ord('f'): # 'f' > Show/hide fs / folder stats self.args.disable_fs = not self.args.disable_fs self.args.disable_folder = not self.args.disable_folder elif self.pressedkey == ord('g'): # 'g' > Export graphs to file self.graph_tag = not self.graph_tag elif self.pressedkey == ord('h'): # 'h' > Show/hide help self.args.help_tag = not self.args.help_tag elif self.pressedkey == ord('i'): # 'i' > Sort processes by IO rate (not available on OS X) glances_processes.auto_sort = False glances_processes.sort_key = 'io_counters' elif self.pressedkey == ord('I'): # 'I' > Show/hide IP module self.args.disable_ip = not self.args.disable_ip elif self.pressedkey == ord('l'): # 'l' > Show/hide log messages self.args.disable_log = not self.args.disable_log elif self.pressedkey == ord('m'): # 'm' > Sort processes by MEM usage glances_processes.auto_sort = False glances_processes.sort_key = 'memory_percent' elif self.pressedkey == ord('M'): # 'M' > Reset processes summary min/max self.args.reset_minmax_tag = not self.args.reset_minmax_tag elif self.pressedkey == ord('n'): # 'n' > Show/hide network stats self.args.disable_network = not self.args.disable_network elif self.pressedkey == ord('p'): # 'p' > Sort processes by name glances_processes.auto_sort = False glances_processes.sort_key = 'name' elif self.pressedkey == ord('P'): # 'P' > Disable ports scan plugins self.args.disable_ports = not self.args.disable_ports elif self.pressedkey == ord('Q'): self.args.disable_irq = not self.args.disable_irq elif self.pressedkey == ord('r'): # 'r' > Reset history self.reset_history_tag = not self.reset_history_tag elif self.pressedkey == ord('R'): # 'R' > Hide RAID plugins self.args.disable_raid = not self.args.disable_raid elif self.pressedkey == ord('s'): # 's' > Show/hide sensors stats (Linux-only) self.args.disable_sensors = not self.args.disable_sensors elif self.pressedkey == ord('t'): # 't' > Sort processes by TIME usage glances_processes.auto_sort = False glances_processes.sort_key = 'cpu_times' elif self.pressedkey == ord('T'): # 'T' > View network traffic as sum Rx+Tx self.args.network_sum = not self.args.network_sum elif self.pressedkey == ord('u'): # 'u' > Sort processes by USER glances_processes.auto_sort = False glances_processes.sort_key = 'username' elif self.pressedkey == ord('U'): # 'U' > View cumulative network I/O (instead of bitrate) self.args.network_cumul = not self.args.network_cumul elif self.pressedkey == ord('w'): # 'w' > Delete finished warning logs glances_logs.clean() elif self.pressedkey == ord('x'): # 'x' > Delete finished warning and critical logs glances_logs.clean(critical=True) elif self.pressedkey == ord('z'): # 'z' > Enable/Disable processes stats (count + list + AMPs) # Enable/Disable display self.args.disable_process = not self.args.disable_process # Enable/Disable update if self.args.disable_process: glances_processes.disable() else: glances_processes.enable() # Return the key code return self.pressedkey
def __catch_key(self, return_to_browser=False): # Catch the pressed key self.pressedkey = self.get_key(self.term_window) # Actions (available in the global hotkey dict)... for hotkey in self._hotkeys: if self.pressedkey == ord(hotkey) and 'switch' in self._hotkeys[hotkey]: setattr(self.args, self._hotkeys[hotkey]['switch'], not getattr(self.args, self._hotkeys[hotkey]['switch'])) if self.pressedkey == ord(hotkey) and 'auto_sort' in self._hotkeys[hotkey]: setattr(glances_processes, 'auto_sort', self._hotkeys[hotkey]['auto_sort']) if self.pressedkey == ord(hotkey) and 'sort_key' in self._hotkeys[hotkey]: setattr(glances_processes, 'sort_key', self._hotkeys[hotkey]['sort_key']) # Other actions... if self.pressedkey == ord('\x1b') or self.pressedkey == ord('q'): # 'ESC'|'q' > Quit if return_to_browser: logger.info("Stop Glances client and return to the browser") else: self.end() logger.info("Stop Glances") sys.exit(0) elif self.pressedkey == ord('\n'): # 'ENTER' > Edit the process filter self.edit_filter = not self.edit_filter elif self.pressedkey == ord('4'): self.args.full_quicklook = not self.args.full_quicklook if self.args.full_quicklook: self.enable_fullquicklook() else: self.disable_fullquicklook() elif self.pressedkey == ord('5'): self.args.disable_top = not self.args.disable_top if self.args.disable_top: self.disable_top() else: self.enable_top() elif self.pressedkey == ord('e'): # 'e' > Enable/Disable process extended self.args.enable_process_extended = not self.args.enable_process_extended if not self.args.enable_process_extended: glances_processes.disable_extended() else: glances_processes.enable_extended() elif self.pressedkey == ord('E'): # 'E' > Erase the process filter glances_processes.process_filter = None elif self.pressedkey == ord('f'): # 'f' > Show/hide fs / folder stats self.args.disable_fs = not self.args.disable_fs self.args.disable_folders = not self.args.disable_folders elif self.pressedkey == ord('g'): # 'g' > Generate graph from history self.graph_tag = not self.graph_tag elif self.pressedkey == ord('r'): # 'r' > Reset graph history self.reset_history_tag = not self.reset_history_tag elif self.pressedkey == ord('w'): # 'w' > Delete finished warning logs glances_logs.clean() elif self.pressedkey == ord('x'): # 'x' > Delete finished warning and critical logs glances_logs.clean(critical=True) elif self.pressedkey == ord('z'): # 'z' > Enable or disable processes self.args.disable_process = not self.args.disable_process if self.args.disable_process: glances_processes.disable() else: glances_processes.enable() # Return the key code return self.pressedkey