Made window expandable, keep the filter in place so that refreshes filter immediately, added edit me option. Sizegrip added.
This commit is contained in:
		
							parent
							
								
									2907d4bd82
								
							
						
					
					
						commit
						128b18e4cd
					
				
					 1 changed files with 13 additions and 3 deletions
				
			
		|  | @ -64,21 +64,24 @@ def main(): | ||||||
|     layout = [[sg.Text('Process Killer - Choose one or more processes', |     layout = [[sg.Text('Process Killer - Choose one or more processes', | ||||||
|                        size=(45,1), font=('Helvetica', 15), text_color='yellow')], |                        size=(45,1), font=('Helvetica', 15), text_color='yellow')], | ||||||
|               [sg.Listbox(values=[' '], size=(90, 30), select_mode=sg.SELECT_MODE_EXTENDED,  font=('Courier', 12), key='-PROCESSES-')], |               [sg.Listbox(values=[' '], size=(90, 30), select_mode=sg.SELECT_MODE_EXTENDED,  font=('Courier', 12), key='-PROCESSES-')], | ||||||
|  |               [sg.Col([ | ||||||
|               [sg.Text('Click refresh once or twice.. once for list, second to get CPU usage')], |               [sg.Text('Click refresh once or twice.. once for list, second to get CPU usage')], | ||||||
|               [sg.Text('Filter by typing name', font='ANY 14'), sg.Input(size=(15,1), font='any 14', key='-FILTER-')], |               [sg.Text('Filter by typing name', font='ANY 14'), sg.Input(size=(15,1), font='any 14', key='-FILTER-')], | ||||||
|               [sg.Button('Sort by Name', ), |               [sg.Button('Sort by Name', ), | ||||||
|                sg.Button('Sort by % CPU', button_color=('white', 'DarkOrange2')), |                sg.Button('Sort by % CPU', button_color=('white', 'DarkOrange2')), | ||||||
|                sg.Button('Kill', button_color=('white','red'), bind_return_key=True), |                sg.Button('Kill', button_color=('white','red'), bind_return_key=True), | ||||||
|                sg.Exit(button_color=('white', 'sea green'))]] |                sg.Exit(button_color=('white', 'sea green')), sg.Sizegrip()]], expand_x=True) ]] | ||||||
| 
 | 
 | ||||||
|     window = sg.Window('Process Killer', layout, |     window = sg.Window('Process Killer', layout, | ||||||
|                        keep_on_top=True, |                        keep_on_top=True, | ||||||
|                        auto_size_buttons=False, |                        auto_size_buttons=False, | ||||||
|                        default_button_element_size=(12,1), |                        default_button_element_size=(12,1), | ||||||
|                        return_keyboard_events=True, |                        return_keyboard_events=True, | ||||||
|  |                        resizable=True, | ||||||
|  |                        right_click_menu=sg.MENU_RIGHT_CLICK_EDITME_EXIT, | ||||||
|                        finalize=True) |                        finalize=True) | ||||||
| 
 |     window['-PROCESSES-'].expand(True, True) | ||||||
| 
 |     window.set_min_size(window.size) | ||||||
|     display_list = show_list_by_name(window) |     display_list = show_list_by_name(window) | ||||||
|     # ----------------  main loop  ---------------- |     # ----------------  main loop  ---------------- | ||||||
|     while True: |     while True: | ||||||
|  | @ -102,6 +105,11 @@ def main(): | ||||||
|             # for process in sorted_by_cpu_procs: |             # for process in sorted_by_cpu_procs: | ||||||
|             #     display_list.append('{:5d} {:5.2f} {}\n'.format(process[2], process[0]/10, process[1])) |             #     display_list.append('{:5d} {:5.2f} {}\n'.format(process[2], process[0]/10, process[1])) | ||||||
|             # window['-PROCESSES-'].update(display_list) |             # window['-PROCESSES-'].update(display_list) | ||||||
|  |             new_output = [] | ||||||
|  |             for line in display_list: | ||||||
|  |                 if values['-FILTER-'] in line.lower(): | ||||||
|  |                     new_output.append(line) | ||||||
|  |             window['-PROCESSES-'].update(new_output) | ||||||
|         elif event == 'Kill': |         elif event == 'Kill': | ||||||
|             processes_to_kill = values['-PROCESSES-'] |             processes_to_kill = values['-PROCESSES-'] | ||||||
|             for proc in processes_to_kill: |             for proc in processes_to_kill: | ||||||
|  | @ -120,6 +128,8 @@ def main(): | ||||||
|             for process in sorted_by_cpu_procs: |             for process in sorted_by_cpu_procs: | ||||||
|                 display_list.append('{:5d} {:5.2f} {}\n'.format(process[2], process[0]/10, process[1])) |                 display_list.append('{:5d} {:5.2f} {}\n'.format(process[2], process[0]/10, process[1])) | ||||||
|             window['-PROCESSES-'].update(display_list) |             window['-PROCESSES-'].update(display_list) | ||||||
|  |         elif event == 'Edit Me': | ||||||
|  |             sg.execute_editor(__file__) | ||||||
|         else:                   # was a typed character |         else:                   # was a typed character | ||||||
|             if display_list is not None: |             if display_list is not None: | ||||||
|                 new_output = [] |                 new_output = [] | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue