Adicione um atalho personalizado para abrir e focar o aplicativo Ubuntu 18.04

2

Estou tentando adicionar teclas de atalho para abrir rapidamente alguns aplicativos (por exemplo, KeePassXC) e fiz o que eu queria

Keyboard Settings -> Keyboard Shortcuts -> /usr/bin/keepassxc ; wmctrl -a keepassxc

Isso funciona durante a primeira execução ou quando a janela foi completamente fechada. O problema começa quando a janela não está ativada e eu quero ativá-la e trazê-la para frente. Ao pressionar a tecla de atalho, o Ubuntu apenas mostra a notificação de que o Programa está Pronto, sem ativação. Sou novo no sistema, preciso de ajuda para encontrar a maneira de me livrar dessa notificação e realmente levar o aplicativo necessário para a frente com foco.

    
por 0x49D1 07.05.2018 / 20:00

2 respostas

1

Você pode usar algumas extensões do shell do GNOME para remover a notificação "Programa está pronto" e também colocar a janela recém-lançada em foco, por exemplo

  1. Removedor de notificações 'Janela está pronta'
  2. NoAnnance (Remove a notificação 'O Windows está pronto' e também coloca a janela em foco)
  3. Foque minha janela (como acima)
por pomsky 07.05.2018 / 20:13
1

Isso pode não fazer nada para resolver o problema de notificação na pergunta. No entanto, o padrão de comando descrito ( [cmd] ; wmctrl -a [cls] ) pode iniciar várias instâncias de um programa, que o script a seguir evita. Para usar, salve em algum lugar no caminho, como ~/bin/find_app.sh , e conceda permissão de execução ( 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
    
por xiota 07.05.2018 / 20:58