Есть ли способ напрямую сказать моей программе на Python использовать мышь с os.system ("import filename.png")? - PullRequest
0 голосов
/ 20 апреля 2019

Я пытался написать небольшой скрипт скриншота для arch.Это работает, но проблема в том, что когда я пытаюсь назначить ему привязку клавиш в моем i3-config, он ничего не делает.

Сначала я попытался написать его полностью в bash, который работал нормально, но я наткнулся на ту же проблему с нимне выполняется.Поэтому я перенаправил вывод в лог-файл, чтобы проверить его, и он приветствует меня следующим:

import: unable to grab mouse '': Datei oder Verzeichnis nicht gefunden @ error/xwindow.c/XSelectWindow/9306.
import: unable to read X window image '': Erfolg @ error/xwindow.c/XImportImage/4942.
import: unable to read X window image '': Erfolg @ error/xwindow.c/XImportImage/5049.
import:  `/home/lukas/Screenshot/20190419/scoot7.png' @ error/import.c/ImportImageCommand/1288.

Первая строка перевода: не удалось найти файл или каталог @ error [...] TranslationErfolg: success

Я пытался найти его в Google, но это ни к чему не привело, и я не нашел пути, напоминающего error / xwindow.c и т. Д.

Вот мой код:

#!/usr/bin/env python
import os, os.path
import datetime
import sys

d = datetime.datetime.today()
directory="/home/lukas/Screenshot/%s"%d.strftime('%Y%m%d')

if not os.path.exists(directory):
    os.mkdir(directory)

fileCount = 1
for file in os.listdir(directory):
    if file.endswith('.png'):
        fileCount+=1

filename = "%s/scr%d.png"%(directory,fileCount)
os.system("import %s"%filename)

, и вот мой вход в мою конфигурацию i3:

bindsym $mod+Shift+F12          exec --no-startup-id scoot > /tmp/log.out 2>&1

Ожидаемый результат этого заключается в том, что когда я нажимаю mod + shift + f12, он долженпревратить мой указатель мыши в «перекрестие», чтобы я мог выбрать что-то и сделал снимок экрана с этим.Фактический результат заключается в том, что если я запускаю его как обычно, он работает, но если я пытаюсь использовать комбинацию клавиш, он просто ничего не делает, кроме вывода в мой лог-файл.

Я в значительной степени новичок в программировании и Linux,и я понятия не имею, почему она не может найти мою мышь, и я хотел узнать, могу ли я явно указать программе использовать ее или есть другой способ сделать это.

Большое спасибо.

Hugenotte

...