Нашел какое-то решение - не с python, а с bash, и оно не работает для удаленных картинок - работает только для локальных (из-за gwenview).Вот скрипт bash:
#!/bin/bash
cd /home/boris/Downloads/
name=`ls -t1 | head -1`
gwenview $name &
sleep 3
id=`ps -e | grep gwenview | awk '{print $1}'`
qdbus org.kde.gwenview-$id /gwenview/MainWindow_1/actions/edit_copy trigger
sleep 3
kill $id
Это также может быть сделано с помощью python of cource, но так как я делаю системный вызов, а не читаю на рисунке - нет необходимости использовать python.
Чтобы объяснить это - предположим, вы загрузили изображение в ~ / Downloads.Затем, если вы этот скрипт, он найдет самый свежий файл там, откроет его с помощью gwenview, скопирует его в буфер обмена (!), А затем закроет gwenview.
Я думаю, что он работает правильно - другие gwen не могут быть запущены,И если вы хотите использовать его - разумно связать скрипт с горячей клавишей.
Причина, по которой я искал такой скрипт, - это потому, что я хочу переключиться на веб-браузер, управляемый с клавиатуры (такой как Conkeror или Pentadactyl ) - и это позволяет быстро сохранить изображение - в то время как мне в основном нужно вставить его в некоторый файл .odt).
Этот сценарий может быть дополнительно сделандемон - который будет смотреть каталог загрузок.Но теперь я должен написать скрипт, который будет загружать изображение и автоматически помещать в буфер обмена - см. мой следующий вопрос .
Способ найти команду qdbus, которая может вам понадобиться, - это открыть
qdbusviewer
и найдите нужное приложение, затем нужную команду, а затем выполните аналогичный вызов, например, для блокировки экрана:
qdbus org.kde.krunner /ScreenSaver Lock