Вот сценарий, который закроет все окна определенного приложения, когда вы нажмете на одно из его окон (используя killall):
#! /usr/bin/env python
import sys,os, subprocess
# Function based on code from Apport
def get_window_pid():
xprop = subprocess.Popen(['xprop', '_NET_WM_PID'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(out, err) = xprop.communicate()
if xprop.returncode == 0:
try:
return int(out.split()[-1])
except ValueError:
error_message(_('Cannot identify package'),
_('xprop failed to determine process ID of the window') + '\n\n' + err)
return -1
else:
error_message(_('Cannot identify package'),
_('xprop failed to determine process ID of the window') + '\n\n' + err)
return -1
def get_window_exe():
pid = get_window_pid()
if pid == -1:
return ''
return os.path.realpath('/proc/' + str(pid) + '/exe')
def close_all():
app = get_window_exe()
os.system('killall ' + app)
if __name__=='__main__':
close_all()
Сохраните это в файле (например, [ f3]) и убедитесь, что он находится в системном пути и является исполняемым.
Затем вы можете запустить его в любое время, нажав Alt + F2 и набрав closeall.