2013-08-18 2 views
1

То, что мы имеем здесь код, который ищет титул

AAA 

, если он находит его, он активирует его а затем переставляет его.

но проблема в том, что если файл не открыт, он будет
открыть его просто отлично. однако не активирует и не перемещает его.

a=`xdotool search --name "AAA"` 
if [[ "$a" ]]; then 
    xdotool windowactivate --sync $a 
    xdotool windowmove --sync $a 377 153 
    else 
    leafpad '/media/1/AAA' 
    xdotool windowactivate --sync $a 
    xdotool windowmove --sync $a 377 153 
    fi 

UPDATE

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

+0

вопрос был обновлен с данными. –

+0

Добро пожаловать в SO, вам не нужно прокомментировать ваш вопрос, который вы обновили с данными (мы можем это увидеть, и мы получаем уведомления об этом .. в основном). Не могли бы вы описать, какова ваша фактическая проблема (и, пожалуйста, не помещайте Python, если это не связано с python .. не будет быстрее решать вашу проблему). – Torxed

+0

Итак, если вы открываете окна с заголовком 'AAA', он не переустанавливается? Это проблема? – Torxed

ответ

1

Не совсем уверен, что пользователь испытывает проблемы с, но здесь мы идем:

a=`xdotool search --name "AAA"` 
if [[ "$a" ]]; then 
    xdotool windowactivate --sync $a 
    xdotool windowmove --sync $a 377 153 
else 
    leafpad '/media/1/AAA' 
    sleep 5 
    a=`xdotool search --name "AAA"` # <-- You need this 
    xdotool windowactivate --sync $a # <-- Otherwise $a will be empty (think about it) 
    xdotool windowmove --sync $a 377 153 
fi 

Причина окна не повторно позиционируется потому, что:

Вы искали «Leafpad» и поместите его в $a, но если листовая панель не запущена $a будет пуст, когда вы войдете в блок else. Поэтому вам нужно найти и поместить листовую панель в $a после ее повторного запуска, чтобы переместить ее.

+0

$ a был определен сверху, я все равно определил его, как вы рекомендовали, но это не решает проблему. до сна 5 goess. Я не уверен, почему эта часть не работает. –

+0

, хотя этот вопрос не решает проблему, я все равно выберу, чтобы получить 2 балла. –

+0

'$ a' был определен сверху, но он будет пустым, потому что не было окна с« AAA »(вот почему вы начинаете листовую панель ...). Поэтому, когда есть окно с «AAA», вам нужно вставить это окно в '$ a'. – Torxed