Я написал небольшой скрипт на python для навигации по моим открытым окнам во fluxbox.Скажем, я использую Firefox, например, и я хочу проверить PDF, который открыт в другом рабочем пространстве.Нажав горячую клавишу, я должен открыть графический интерфейс с индексированным списком управляемых окон.И как только я нахожу свой pdf, нажав на клавиатуре соответствующий индекс, я должен быть телепортирован в приложение pdf.
Теперь я хотел бы привязать его к горячей клавише, чтобы мой fluxbox выполнил скрипт ипоказывает мне только графический интерфейс, так что я могу выбрать свое окно.
Поэтому я отредактировал файл .fluxbox / keys и добавил:
Mod4 W :Exec script.py
Однако ононе показывает мне ничего.Я также попытался Exec gnome-terminal -x /path/to/script.py, но безуспешно.
Сценарий имеет права на выполнение исполняемого файла.И это прекрасно работает, если я открываю терминал и набираю script.py
У меня нет идей, где ошибка.
Это скрипт на python:
#!/usr/bin/env python3
'''
Python script for handling wmctrl
This is the attempt at a graphic interface!
'''
import subprocess as sp
import tkinter as tk
p1 = sp.Popen(['wmctrl', '-l'], stdout=sp.PIPE)
process = []
for line in p1.stdout:
line = str(line)
line = line[23:-3]
process.append(line)
root = tk.Tk()
root.title('Window selection menu')
for i in range(len(process)):
text = tk.Label(root, text='{} {}'.format(i,process[i]), font=('Arial',12))
text.pack()
possible_keys = list(range(len(process)))
def go_to_window(key):
key = int(key.char)
sp.call(['wmctrl', '-a', process[key]])
root.destroy()
for i in possible_keys:
root.bind(i, go_to_window)
root.mainloop()