Сценарий открытия существующего окна вместо нового окна

Несмотря на лучшие общие решения, вот причина, по которой это не удалось в этом скрипте:

FINDOPTS="-type f -mtime +3 -exec rm -rf {} \;"
                                            ^

Параметр findожидает символ ;. Поскольку ;на самом деле (не случайно)также конец ограничителя команды оболочки, его необходимо экранировать в команде оболочки, поэтому обычно набирается \;. Если теперь вы поместите этот символ в переменную, он никогда не будет оцениваться оболочкой как разделитель. Таким образом, его нельзя экранировать.

Воспроизведение ошибки без переменной:

$ find /etc -exec ls "\;"
find: missing argument to `-exec'

Так что просто замените строку на:

FINDOPTS="-type f -mtime +3 -exec rm -rf {} ;"
1
10.01.2020, 20:43
1 ответ

Было предложено Я использую dbus-sendдля открытия Spotify из URI, однако я обнаружил ограничения, характерные для Spotify API (открытие URI перезапустило трек вместо только подтягивание страница исполнителя ). На самом деле это ошибка Spotify .

В целом, наиболее подходящей стратегией для WM, такого как i3, является проверка того, запущен ли процесс, а затем условное выделение окна или запуск приложения по мере необходимости. Это то, на чем я остановился.

В i3 вы можете сфокусировать окно с помощью i3-msg '[class="Spotify"] focus'. Используйте xpropдля идентификации метаинформации, чтобы выбрать окно.

0
27.01.2020, 23:55

Теги

Похожие вопросы