Может кто то подскажет?
в общем нужно обновить окно вкладку nemo вне скрипта клавиши "ctrl+r" или "F5"
в скрипте пытаюсь так:
xdotool search --name "Домашняя папка" windowactivate key ctrl+r
окно nemo "Домашняя папка" вылазит на передний план но не обновляется
Эмуляция нажатия клавиш в скрипте
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3010 раз
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
mint,
Код: Выделить всё
app='Домашняя папка'
window_id=`wmctrl -l | grep "$app" | cut -d' ' -f1`
wmctrl -i -R $window_id && xdotool key F5
-
Автор темы - Сообщения: 60
- Зарегистрирован: 20 фев 2017, 09:28
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
1 раз сработало потом перестало, попробовал запустить с терминала такая ошибка
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 20 (X_GetProperty)
Resource id in failed request: 0x7600003
Serial number of failed request: 16
Current serial number in output stream: 16
wmctrl: ключ должен использоваться с аргументом — «R»
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 20 (X_GetProperty)
Resource id in failed request: 0x7600003
Serial number of failed request: 16
Current serial number in output stream: 16
wmctrl: ключ должен использоваться с аргументом — «R»
-
Автор темы - Сообщения: 60
- Зарегистрирован: 20 фев 2017, 09:28
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
Chocobo,
обновляет не окно "Домашняя папка" а окно терминала из которого запущен скрипт появляется новая строка с символом "~"
обновляет не окно "Домашняя папка" а окно терминала из которого запущен скрипт появляется новая строка с символом "~"
-
- Сообщения: 6875
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1312 раз
- Поблагодарили: 724 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
mint, если нужно через время, то...
напишу свой вариант, пусть и кривой.
Итак, допустим, мы хотим обновлять окно ФМ каждую минуту.
При этом у нас есть папка скриптов.
~/.scripts
Теперь создадим скрипт
где, XXXXXXXXX - числовой идентификатор окна, который в свою очередь мы получаем из
Теперь нам осталось зациклить.
Делаем алиасы
В итоге:
делаем раз: "хдемышь" - узнаем ID окна.
делаем два: "наноапнемо" - меняем ID окна, ставя нужный.
делаем три: "апнемо".
Цель достигнута.
Возможно кто напишет сценарий лучше.
напишу свой вариант, пусть и кривой.
Итак, допустим, мы хотим обновлять окно ФМ каждую минуту.
При этом у нас есть папка скриптов.
~/.scripts
Теперь создадим скрипт
Код: Выделить всё
cd ~/.scripts
nano upnemo.sh
#!/bin/sh xdotool key --window XXXXXXXXX "F5"
Код: Выделить всё
xdotool getmouselocation --shell
$ хдемышь X=1161 Y=473 SCREEN=0 WINDOW=92274689
Код: Выделить всё
watch --interval=60 ~/.scripts/upnemo.sh
Код: Выделить всё
alias хдемышь="xdotool getmouselocation --shell"
alias апнемо="watch --interval=60 ~/.scripts/upnemo.sh"
alias наноапнемо="nano ~/.scripts/upnemo.sh"
делаем раз: "хдемышь" - узнаем ID окна.
делаем два: "наноапнемо" - меняем ID окна, ставя нужный.
делаем три: "апнемо".
Цель достигнута.
Возможно кто напишет сценарий лучше.
-
Автор темы - Сообщения: 60
- Зарегистрирован: 20 фев 2017, 09:28
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
Dja, Попробовал ваш вариант, не работает
У себя для теста использовал задержку в 5 секунд чтоб попробовать на разных окнах, id окна определяется, xdotool отрабатывает без ошибок, похоже он это вообще не умеет (передавать клавиши окнам) проверьте у себя пожалуйста
sleep 5 ; WIN=$(xdotool getmouselocation --shell | sed '/WINDOW/!d;s/^.*=//') ; xdotool key --window $WIN "F5"
У себя для теста использовал задержку в 5 секунд чтоб попробовать на разных окнах, id окна определяется, xdotool отрабатывает без ошибок, похоже он это вообще не умеет (передавать клавиши окнам) проверьте у себя пожалуйста
-
- Сообщения: 6875
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1312 раз
- Поблагодарили: 724 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
mint, у меня текст в HexChat, к примеру, передает. И ентером посылает. Уж обновлять окна не приходилось ))) Даже не знаю как проверить. Это ж надо чтоб какое-то изменение делалось. А так то смысл обновлять
Код: Выделить всё
xdotool type --window 111149059 "текст" && xdotool key --window 111149059 "Return"
-
Автор темы - Сообщения: 60
- Зарегистрирован: 20 фев 2017, 09:28
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
Dja, у меня скрипт вносит изменения и они видны только при обновлении окна клавишей F5
Код: Выделить всё
#!/bin/bash
DCLICK () {
xdg-open "$3/$4"
}
export -f DCLICK
GUI () {
for i in $(ls -1 "$1" | sed 's/ //g')
do
A=$(echo "$i" | sed 's// /g')
grep -wq "$A" "$1/.hidden" && echo -e "TRUE\nСкрыто\n$1"|| echo -e "FALSE\nВидимый\n$1"
echo "$A"
done | yad --list --checklist --title='' --window-icon='imagemagick' --width=400 --height=400\
--dclick-action='bash -c "DCLICK %s"' --tooltip-column=2 --no-rules-hint --print-all\
--column='' --column='подсказка:HD' --column='Директория:HD' --column='Скрытые элементы обозначены галкой'
}
REZ=$(GUI "$1")
[ $? -ne 0 ] && exit # если нажата кнопка "Ok" то продолжаем скрипт
REZULTAT=$(echo "$REZ" | awk -F "|" '/^TRUE/ {print $4}')
if [ -z "$REZULTAT" ]
then rm "$1/.hidden"
else echo "$REZULTAT" > "$1/.hidden"
fi
-
Автор темы - Сообщения: 60
- Зарегистрирован: 20 фев 2017, 09:28
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
- Контактная информация:
Эмуляция нажатия клавиш в скрипте
Вот файл Action
Код: Выделить всё
[Nemo Action]
Name=Скрыть объекты
Comment=Позволяет скрыть файлы директории без добавления точки перед именем, по прямому запросу объекты доступны
Exec=hidden.sh '%P'
Icon-Name=imagemagick
Selection=none
Extensions=any;
Conditions=dbus org.Cinnamon;
EscapeSpaces=false
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей