Estou usando o terminador 0,96 como emulador de terminal. Como posso fazê-lo funcionar em segundo plano e fazê-lo aparecer / desaparecer como um terminal guake (ou seja, usando uma tecla de atalho).
Estou usando o terminador 0,96 como emulador de terminal. Como posso fazê-lo funcionar em segundo plano e fazê-lo aparecer / desaparecer como um terminal guake (ou seja, usando uma tecla de atalho).
Respostas:
Eu estava tentando fazer a mesma coisa (sendo um fã de ambos, guake e terminator). Aqui está o que eu criei (uma versão personalizada da resposta da desqua para esta pergunta ):
Para iniciar um aplicativo ou mostrar sua janela, se já estiver iniciado, ou para minimizar se estiver focado
1) Instale o wmctrl & xdotool , ou em um terminal:sudo apt-get install wmctrl xdotool
2) Faça um script:
E cole este:
#!/bin/bash
#
# This script does this:
# launch an app if it isn't launched yet,
# focus the app if it is launched but not focused,
# minimize the app if it is focused.
#
# by desgua - 2012/04/29
# modified by olds22 - 2012/09/16
# - customized to accept a parameter
# - made special exception to get it working with terminator
# First let's check if the needed tools are installed:
tool1=$(which xdotool)
tool2=$(which wmctrl)
if [ -z $tool1 ]; then
echo "Xdotool is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install xdotool
else
echo "Exiting then..."
exit 1
fi
fi
if [ -z $tool2 ]; then
echo "Wmctrl is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install wmctrl
else
echo "Exiting then..."
exit 1
fi
fi
# check if we're trying to use an app that needs a special process name
# (because it runs multiple processes and/or under a different name)
app=$1
if [[ $app == terminator ]]; then
process_name=usr/bin/terminator
else
process_name=$app
fi
# Check if the app is running (in this case $process_name)
#pid=$(pidof $process_name) # pidof didn't work for terminator
pid=$(pgrep -f $process_name)
# If it isn't launched, then launch
if [ -z $pid ]; then
$app
else
# If it is launched then check if it is focused
foc=$(xdotool getactivewindow getwindowpid)
if [[ $pid == $foc ]]; then
# if it is focused, then minimize
xdotool getactivewindow windowminimize
else
# if it isn't focused then get focus
wmctrl -x -R $app
fi
fi
exit 0
chmod +x ~/bin/launch_focus_min.sh
3) Faça o atalho do teclado:
Abra as configurações do teclado e crie um atalho personalizado com o comando: /home/<user>/bin/launch_focus_min.sh terminator
(~ / bin não funcionará)
atribua este comando a Shift + Escape (ou qualquer atalho de teclado que você usou para guake).
#!/bin/bash
A maneira mais fácil de fazer isso seria usar xdotool
e usar o windowunmap/windowmap
comando para ocultar / mostrar a classe desejada de janelas. (Essa abordagem não foi mencionada nas outras respostas mencionadas xdotool
.) A solução funcionará bem em todos os desktops, independentemente do gerenciador de janelas que eles estiverem usando. Conforme observa a página de manual ,
Na terminologia X11, mapear uma janela significa torná-la visível na tela.
Portanto, desmarcar uma janela fará o oposto e ocultará a janela. Infelizmente, não há alternância disponível para xdotool
alternar entre os estados map / unmap, mas os dois comandos necessários estão abaixo. O primeiro oculta a janela:
xdotool search --class terminator windowunmap %@
e o segundo reverte o efeito:
xdotool search --class terminator windowmap %@
Observe que, se a janela já estiver minimizada, o windowunmap
comando não terá êxito.
Para obter mais informações man xdotool
, consulte o Ubuntu, páginas de manual online e minha resposta para esta pergunta relacionada .
Ao selecionar um conjunto de preferências no Terminator, você pode fazê-lo funcionar quase como o Guake.
Consulte o seguinte artigo para obter uma explicação detalhada.
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html
Aconselho você a seguir todas as etapas do artigo para obter os resultados desejados. Eu pulei alguns passos, pensando que eles não eram necessários, mas na verdade eram necessários para superar alguns bugs.
Eu recomendaria simplesmente usar yakuake
, um terminal no mesmo estilo que o guake para a área de trabalho do kde.
Você pode instalá-lo executando sudo apt-get install yakuake
.
Bem, a solução mais simples seria apenas bloquear o Terminator no iniciador e usar os atalhos que o Ubuntu fornece.
Você pode iniciar qualquer aplicativo bloqueado no iniciador usando o atalho do iniciador:
Super + 1 a 9
Para obter uma lista completa dos atalhos disponíveis, mantenha pressionada a tecla Super .
Eu escrevi um script para aumentar e minimizar o terminal gnome com byobu no linux mint, porque o guake tem algumas bagunças estranhas na saída do console. Em seguida, adicionei-o aos atalhos na seção administrador do teclado-> shurtcuts.
script chamado guake-toggling-for-gnome-terminal.sh :
#!/usr/bin/env bash
if ! pgrep -x "gnome-terminal" > /dev/null
then
gnome-terminal --app-id us.kirkland.terminals.byobu -e byobu
fi
byobuVisible=$(xdotool search --onlyvisible byobu)
byobuNotVisible=$(xdotool search byobu)
xdotool windowminimize ${byobuVisible}
xdotool windowraise ${byobuNotVisible}
Byobu é apenas o nome da janela aqui.