Я хочу запустить скрипт Python с графическим интерфейсом с горячей клавишей в Fluxbox - PullRequest
0 голосов
/ 06 февраля 2019

Я написал небольшой скрипт на 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...