Шаблоны поведения для новичков
Модератор: immortal
- Lerych
- Сообщения: 191
- Зарегистрирован: Чт дек 14, 2017 8:46 pm
- Откуда: Московская область, Серпухов
- Благодарил (а): 79 раз
- Поблагодарили: 24 раза
Re: Шаблоны поведения для новичков
А если создать файл скрипта (типа bash-скрипта), где прописать открытие окна браузером, а это скрипт запускать через шаблон?
- Рейтинг: 1.16%
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Шаблоны поведения для новичков
отличная идея, что мы, действительно, упёрлись в php!
win10 connect https://connect.smartliving.ru/profile/303
- Lerych
- Сообщения: 191
- Зарегистрирован: Чт дек 14, 2017 8:46 pm
- Откуда: Московская область, Серпухов
- Благодарил (а): 79 раз
- Поблагодарили: 24 раза
Re: Шаблоны поведения для новичков
Я так подозреваю надо использовать для запуска скрипта что-то типа, safe_exec? Синтаксис такого кода можно где посмотреть?
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Шаблоны поведения для новичков
Легко ищется поиском по содержимому, например, в windows_tts.class.php
Код: Выделить всё
safe_exec('cscript ' . DOC_ROOT . '/rc/sapi.js ' . $message, 1, $level);
Код: Выделить всё
{
if (IsWindowsOS())
safe_exec(DOC_ROOT . '/rc/madplay.exe ' . $filename, $exclusive, $priority);
else
safe_exec('mplayer ' . $filename . " >/dev/null 2>&1", $exclusive, $priority);
}
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
- Lerych
- Сообщения: 191
- Зарегистрирован: Чт дек 14, 2017 8:46 pm
- Откуда: Московская область, Серпухов
- Благодарил (а): 79 раз
- Поблагодарили: 24 раза
Re: Шаблоны поведения для новичков
Спасибо! Буду пробовать.
А то я поиском по форуму "safe_exec" ничего не нашёл.
А то я поиском по форуму "safe_exec" ничего не нашёл.
- Lerych
- Сообщения: 191
- Зарегистрирован: Чт дек 14, 2017 8:46 pm
- Откуда: Московская область, Серпухов
- Благодарил (а): 79 раз
- Поблагодарили: 24 раза
Re: Шаблоны поведения для новичков
Мужчины!
Кто может протестировать это:
Поставить это https://www.npmjs.com/package/chromix-too
Потом протестить с этим
Кто может протестировать это:
Поставить это https://www.npmjs.com/package/chromix-too
Потом протестить с этим
скрипт может работать с несколькими окнами и позволяет вам выбрать нужную вкладку в правом окне, используя сравнение строк для заголовков таблеток и используя возможность некоторых браузеров выбрать определенную вкладку путем отправки нажатий клавиш.
Код имеет два параметра: позицию вкладки в окне (число от 1 до 8) и подстроку заголовка вкладки, чтобы определить правильную вкладку.
Код ниже основан на Google Chrome, см. Комментарий к некоторым строкам кода, чтобы узнать, как изменить его для случая с Firefox (или вы можете изменить его, чтобы получить имя браузера во вводе).
Сохраните этот код в файле, скажем, например tab_refresh.sh
(Примечание: этот код расширяет этот код, как в ответе blockloop)
#!/bin/bash
BROWSER=google-chrome # Or BROWSER=firefox for the Firefox case
TABNUM=$1
TABTITLE=$2
CUR_WID=$(xdotool getwindowfocus)
for WID in $(xdotool search --onlyvisible --class $BROWSER)
do
xdotool windowactivate $WID
xdotool key "ctrl+$TABNUM"
# Or "alt+$TABNUM" for the Firefox case
WIN_TITLE=$(xdotool getwindowname $WID)
if [[ $WIN_TITLE = *"$TABTITLE"* ]]
then
xdotool key 'F5'
fi
done
xdotool windowactivate $CUR_WID
После создания файла сделайте его исполняемым, например, набрав:
chmod +x tab_refresh.sh
Наконец, чтобы использовать этот скрипт, вы должны ввести что-то вроде:
./tab_refresh.sh TABNUM TABTITLE
Например, скажем, вы хотите обновить 4-ю вкладку в окне Google Chrome, где заголовок 4-й вкладки содержит строку foo.
./tab_refresh.sh 4 foo
- Lerych
- Сообщения: 191
- Зарегистрирован: Чт дек 14, 2017 8:46 pm
- Откуда: Московская область, Серпухов
- Благодарил (а): 79 раз
- Поблагодарили: 24 раза
Re: Шаблоны поведения для новичков
А это можно использовать:xor писал(а): ↑Пт ноя 09, 2018 10:40 amКоллективный мозг не нашел решение для пхп((Lerych писал(а):Ясно. Спасибо. Какие ещё могут быть варианты?
Serge:
Или из чистого пхп хрен вообще окно открыть, ведь серверный язык?
skysilver:
Ну по логике да, пхп выполняется в бэкэнде и переключать вкладки в веб-морде он по умолчанию не может.
Отправлено с моего Redmi 4X через Tapatalk
(This is for linux users only).
We know now how we can fork a process in linux with the & operator.
And by using command: nohup MY_COMMAND > /dev/null 2>&1 & echo $! we can return the pid of the process.
This small class is made so you can keep in track of your created processes ( meaning start/stop/status ).
You may use it to start a process or join an exisiting PID process.
<?php
// You may use status(), start(), and stop(). notice that start() method gets called automatically one time.
$process = new Process('ls -al');
// or if you got the pid, however here only the status() metod will work.
$process = new Process();
$process.setPid(my_pid);
?>
<?php
// Then you can start/stop/ check status of the job.
$process.stop();
$process.start();
if ($process.status()){
echo "The process is currently running";
}else{
echo "The process is not running.";
}
?>
<?php
/* An easy way to keep in track of external processes.
* Ever wanted to execute a process in php, but you still wanted to have somewhat controll of the process ? Well.. This is a way of doing it.
* @compability: Linux only. (Windows does not work).
* @author: Peec
*/
class Process{
private $pid;
private $command;
public function __construct($cl=false){
if ($cl != false){
$this->command = $cl;
$this->runCom();
}
}
private function runCom(){
$command = 'nohup '.$this->command.' > /dev/null 2>&1 & echo $!';
exec($command ,$op);
$this->pid = (int)$op[0];
}
public function setPid($pid){
$this->pid = $pid;
}
public function getPid(){
return $this->pid;
}
public function status(){
$command = 'ps -p '.$this->pid;
exec($command,$op);
if (!isset($op[1]))return false;
else return true;
}
public function start(){
if ($this->command != '')$this->runCom();
else return true;
}
public function stop(){
$command = 'kill '.$this->pid;
exec($command);
if ($this->status() == false)return true;
else return false;
}
}
?>
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: Шаблоны поведения для новичков
Коллеги, вопрос по шаблонам поведения... Использую их для голосового управления.
Совершенно случайно наткнулся, что Алиса почему-то разрывает предложения, где встречается соединительное "и".
Когда я засылаю эту фразу через command.php она рвется на 2 команды.
hттp://192.168.168.188/command.php?qry="Главный вопрос жизни вселенной и вообще"
Вот что происходит в консоли Алисы: Пробовал брать в ковычки и без - бесполезно... Если перенести "и" или еще куда-то добавить - порвет фразу еще и там, превратив её в 3 строки!
В самом скрипте command.php нашел строку Define('DEVIDER', 'и');. Видимо оно и портит все? Но что с этим делать и можно ли просто удалить? Не повредит ли прочему функционалу?
Совершенно случайно наткнулся, что Алиса почему-то разрывает предложения, где встречается соединительное "и".
Когда я засылаю эту фразу через command.php она рвется на 2 команды.
hттp://192.168.168.188/command.php?qry="Главный вопрос жизни вселенной и вообще"
Вот что происходит в консоли Алисы: Пробовал брать в ковычки и без - бесполезно... Если перенести "и" или еще куда-то добавить - порвет фразу еще и там, превратив её в 3 строки!
В самом скрипте command.php нашел строку Define('DEVIDER', 'и');. Видимо оно и портит все? Но что с этим делать и можно ли просто удалить? Не повредит ли прочему функционалу?
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Шаблоны поведения для новичков
Это было сделано для
Включи что-то тут и выключи то-то там
Если девайдер закомментить, то, естественно, не будет работать указанная (довольно искусственная, кстати -- и работает, а или нет) конструкция(((
Отправлено с моего Redmi 4X через Tapatalk
Включи что-то тут и выключи то-то там
Если девайдер закомментить, то, естественно, не будет работать указанная (довольно искусственная, кстати -- и работает, а или нет) конструкция(((
Отправлено с моего Redmi 4X через Tapatalk
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Шаблоны поведения для новичков
отписал в предыдущей темеhc2hunter писал(а): ↑Чт дек 27, 2018 12:24 pmКоллеги, вопрос по шаблонам поведения... Использую их для голосового управления.
Совершенно случайно наткнулся, что Алиса почему-то разрывает предложения, где встречается соединительное "и".
Когда я засылаю эту фразу через command.php она рвется на 2 команды.
hттp://192.168.168.188/command.php?qry="Главный вопрос жизни вселенной и вообще"
Вот что происходит в консоли Алисы:
gv.png
Пробовал брать в ковычки и без - бесполезно... Если перенести "и" или еще куда-то добавить - порвет фразу еще и там, превратив её в 3 строки!
В самом скрипте command.php нашел строку Define('DEVIDER', 'и');. Видимо оно и портит все? Но что с этим делать и можно ли просто удалить? Не повредит ли прочему функционалу?
- За это сообщение автора tarasfrompir поблагодарил:
- hc2hunter (Чт дек 27, 2018 1:08 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!