J'utilise terminator 0.96 comme émulateur de terminal. Comment puis-je le faire fonctionner en arrière-plan et le faire apparaître / disparaître comme un terminal guake (c'est-à-dire en utilisant une touche de raccourci).
J'utilise terminator 0.96 comme émulateur de terminal. Comment puis-je le faire fonctionner en arrière-plan et le faire apparaître / disparaître comme un terminal guake (c'est-à-dire en utilisant une touche de raccourci).
Réponses:
J'essayais de faire la même chose (être fan de guake et de terminator). Voici ce que j'ai trouvé (une version personnalisée de la réponse de desqua à cette question ):
Lancer une application ou afficher sa fenêtre si elle est déjà lancée ou minimiser si elle est focalisée
1) Installez wmctrl & xdotool , ou dans un terminal:sudo apt-get install wmctrl xdotool
2) Créez un script:
Et collez ceci:
#!/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) Créez votre raccourci clavier:
Ouvrez vos paramètres de clavier et créez un raccourci personnalisé avec la commande: /home/<user>/bin/launch_focus_min.sh terminator
(~ / bin ne fonctionnera pas)
assignez cette commande à Shift + Escape (ou au raccourci clavier que vous avez utilisé pour guake).
#!/bin/bash
La façon la plus simple de le faire serait d'utiliser xdotool
et d'utiliser la windowunmap/windowmap
commande pour masquer / afficher la classe de fenêtres souhaitée. (Cette approche n'a pas été mentionnée dans les autres réponses qui le mentionnent xdotool
.) La solution fonctionnera bien sur tous les bureaux, quel que soit le gestionnaire de fenêtres qu'ils utilisent. Comme l'indique la page de manuel ,
Dans la terminologie X11, mapper une fenêtre signifie la rendre visible à l'écran.
Ainsi, le démappage d'une fenêtre fera le contraire et masquera la fenêtre. Malheureusement, il n'y a pas de bascule à utiliser xdotool
pour basculer entre les états de mappage / démappage, mais les deux commandes dont vous avez besoin sont ci-dessous. Le premier cache la fenêtre:
xdotool search --class terminator windowunmap %@
et le second inverse l'effet:
xdotool search --class terminator windowmap %@
Veuillez noter que si la fenêtre est déjà réduite, la windowunmap
commande échouera.
Pour plus d'informations, consultez man xdotool
les pages de manuel Ubuntu en ligne et ma réponse à cette question connexe .
En sélectionnant un ensemble de préférences dans Terminator, vous pouvez le faire fonctionner presque comme Guake.
Reportez-vous à l'article suivant pour des explications détaillées.
http://www.webupd8.org/2011/07/07/install-terminator-with-built-in-quake.html
Je vous conseille de suivre toutes les étapes de l'article pour obtenir les résultats souhaités. J'ai sauté quelques étapes, pensant qu'elles n'étaient pas nécessaires, mais qu'elles étaient en fait nécessaires pour surmonter certains bugs.
Je recommanderais simplement d'utiliser yakuake
un terminal dans le même style que guake pour le bureau kde.
Vous pouvez l'installer en exécutant sudo apt-get install yakuake
.
Eh bien, la solution la plus simple serait de verrouiller Terminator sur le lanceur et d'utiliser les raccourcis fournis par Ubuntu.
Vous pouvez démarrer n'importe quelle application verrouillée sur le lanceur à l'aide du raccourci du lanceur:
Super + 1 à 9
Pour une liste complète des raccourcis disponibles, maintenez la touche Super .
J'ai écrit un script pour augmenter et minimiser le terminal gnome avec byobu dans linux mint, car guake a des problèmes de sortie de console étranges. Ensuite, je l'ai ajouté aux raccourcis de la section clavier administrateur -> raccourcis.
script nommé 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 n'est ici que le nom de la fenêtre.