После проигрывания немного от терминала с wmctrl
, теперь прибывает следующий шаг. Выполниться wmctrl
из сценария удара.
Я действительно достигаю для выполнения wmctrl
в ударе, когда это является абсолютно одним.
Пример:
#!/bin/bash
SOUDIR=/usr/bin
echo "$SOUDIR"
$SOUDIR/wmctrl -i -r 0x040000b3 -e 0,0,0,500,800
Но когда я добавляю линейный код Firefox, он не работает. Я, хотя то время сна добавления работало бы, но я был неправ.
Это - текущий код:
#!/bin/bash
firefox http://www.google.de
sleep 30s
SOUDIR=/usr/bin
echo "$SOUDIR"
$SOUDIR/wmctrl -i -r 0x040000b3 -e 0,0,0,500,800
Как изменить размер веб-браузера с помощью этого кода удара?
Я плохо знаком с ударом и человечностью.
Хорошо несколько точек:
/usr/bin
добавленный. Shell найдет wmctrl отдельно. Это для очень конкретных случаев, которые могут включить мобильность. firefox
команда. Сценарий продолжится, только если предыдущая команда выходит. Так как Firefox не выходит, сценарий ожидает его. wmctrl
, где я нахожу шестнадцатеричный идентификатор окна путем ссылки на имя класса. Лично я сделал бы это этот путь:
#!/bin/bash
firefox http://www.google.de &
sleep 3
WM_ID=$(wmctrl -lx | awk '$3~/Navigator.Firefox/ {print $1}')
wmctrl -i -r $WM_ID -e 0,0,0,500,800
Здесь мы открываем Firefox, позволяем ему работать в фоне, тогда мы извлекаем шестнадцатеричный идентификатор окна, которое соответствует классу Navigator.Firefox
. В wmctrl -lx
поле 3 является wm_class, и поле 1 является шестнадцатеричным идентификатором. awk помогает нам извлечь поле 1 здесь. Наконец мы ссылаемся на тот числовой идентификатор в финале wmctrl оператор
Кажется вероятным, что эти firefox
команда заблокировала бы сценарий от развития, пока это не вышло. Просто отодвиньте его на задний план, и Ваш сценарий может прогрессировать:
firefox http://www.google.de &
На тангенциальной ноте, Вы могли бы также хотеть посмотреть -no-remote
для Firefox. Это остановит команду, взаимодействующую с любыми существующими экземплярами Firefox в Вашем ДИСПЛЕЕ.
, В то время как мы говорим касательные, эти firefox
, команда имеет несколько аргументов помощника , что - наряду с -no-remote
— может помочь Вам быть нацеленными на новое окно.
, Например, можно установить определенное имя класса, и затем сделали, чтобы Compiz обработал изменение размеров автоволшебно . И wmctrl -x <WM_CLASS>
позволит Вам быть нацеленными на класс, а не идентификатор. , Вероятно более устойчивый, чем предназначение для имен Окна или идентификаторов также.