Я пытаюсь добавить горячие клавиши для быстрого открытия некоторых приложений (например, KeePassXC), и я сделал то, что хотел
Настройки клавиатуры -> Сочетания клавиш -> / usr / bin / keepassxc; wmctrl -a keepassxc
Это работает во время первого запуска или когда окно было полностью закрыто. Проблема начинается, когда окно не активировано, и я хочу активировать его и перенести на передний план. Во время нажатия горячей клавиши Ubuntu просто показывает уведомление о том, что Программа готова, без активации. Я новичок в этой системе, мне нужна помощь в поиске способа избавиться от этого уведомления и на самом деле сосредоточить внимание на необходимом приложении.
Можно использовать некоторые расширения оболочки GNOME для удаления "Программы, Готовое" уведомление и также помещает недавно запущенное окно в фокус, например
Это не может сделать ничего для решения вопроса уведомления в вопросе. Однако описанный шаблон "команда" ([cmd] ; wmctrl -a [cls]
) может запустить несколько экземпляров программы, которой избегает следующий сценарий. Для использования сохраните где-нибудь в пути, такой как ~/bin/find_app.sh
, и дайте его, выполняют разрешение (chmod +x ~/bin/find_app.sh
).
#! /usr/bin/env bash
if [ $# -lt 1 ]; then
echo "usage: `basename $0` [class-name] [command] [args]"
echo
echo "Find and activate window with [class-name]."
echo "Execute [command] if window cannot be found."
echo
echo "If [command] is not given, it is assumed to be [class-name]"
exit 1
fi
if [ $# -lt 2 ]; then
# find_app="wmctrl -xa $class"
class="$1"
find_app="xdotool search --onlyvisible --class $class windowactivate"
command="$1"
else
class="$1"
find_app="xdotool search --onlyvisible --class $class windowactivate"
shift
command="$@"
fi
if (! eval "${find_app}") ; then
eval "xdotool exec ${command}"
fi