LINUX.ORG.RU

Скрипт запуска viber

 , , ,


0

1

Так как viber не умеет запускаться свёрнутым в трей, решил сделать скрипт запуска закрывающий его окно:

#!/bin/bash

/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=viber --file-forwarding com.viber.Viber @@u %u@@
sleep 5
wmctrl -c Viber

Этот скрипт запускает viber, но не закрывает его. wmctrl тупо не отрабатывает. При этом в консоли wmctrl -c Viber отрабатывает хорошо (при открытом окне viber). В скрипте не работает. Пробовал и с viber установленным через flatpak, и через deb и appimage, это не влияет.

Перемещено hobbit из general

★★

Последнее исправление: KOT040188 (всего исправлений: 1)
Ответ на: комментарий от KOT040188

Вопрос в том, запускается ли приложение в фоне или нет. Если нет, то скрипт просто останавливается на первой строке, пока Вайбер работает. Советую попробовать запустить его в консоли, и посмотреть переходит ли оно в фон. Если нет, то нужно добавить соотв. перевод в фоновый режим. Как рекомендовали выше.

thegoldone ★★
()
Ответ на: комментарий от thegoldone

Я не знаю ничего про фоновый режим, но указал в первом сообщении, что если просто запустить команду wmctrl -c Viber в консоли при открытом окне Viber, он закрывается. В скрипта я использовал те же елманды, что были в главном меню для запуска Viber установленного через deb и через flatpak. Appimage естественно просто скачан и запущен.

KOT040188 ★★
() автор топика
Ответ на: комментарий от Aoka

Да, так работает. Но оказалось, если открыта эта тема в вивальди, в её названии есть Viber и команда wmctrl -c Viber пытается закрыть вивальди. Как ей указать конкретно окно Viber?

KOT040188 ★★
() автор топика
Последнее исправление: KOT040188 (всего исправлений: 1)
Ответ на: комментарий от fumanchez

Окно запускается меньше 5 секунд. Я и 10 ставил, но без & вторая команда не отрабатывала.

KOT040188 ★★
() автор топика
Последнее исправление: KOT040188 (всего исправлений: 1)
Ответ на: комментарий от KOT040188

Я и 10 ставил, но без & вторая команда не отрабатывала.

Потому что без &, у тебя скрипт на первой строчке останавливается пока ты из Viber не выйдешь. А из отдельного терминала понятно, что срабатывало, т.к. это другой терминал.

Чтобы работало только с окном Viber, попробуй

-x                   Include WM_CLASS in the window list or
                       interpret <WIN> as the WM_CLASS name.

Но надо будет указывать WM_CLASS, какой он там у него, я не знаю, ищи.

Ещё как вариант

-F                   Modifies the behavior of the window title matching
                       algorithm. It will match only the full window title
                       instead of a substring, when this option is used.
                       Furthermore it makes the matching case sensitive.

Но я фиг знаю какое там полное имя окна у твоего viber, одно там слово или нет. Ну и надежнее всё же WM_CLASS.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от KOT040188

Ну да. Я установил вайбер, у меня так получилось, попробуй. Только у меня не через флатпак установлен и пришлось xdotool использовать.

#!/bin/bash

/usr/bin/viber &
sleep 5
pid=`pidof Viber`
wid=`xdotool  search --pid $pid`
xdotool windowminimize $wid
Aoka
()