Terminal emülatörü olarak 0.96 terminatörünü kullanıyorum. Nasıl arka planda çalışmasını ve guake terminali gibi görünmesini / kaybolmasını sağlayabilirim (yani bir kısayol tuşu kullanarak).
Terminal emülatörü olarak 0.96 terminatörünü kullanıyorum. Nasıl arka planda çalışmasını ve guake terminali gibi görünmesini / kaybolmasını sağlayabilirim (yani bir kısayol tuşu kullanarak).
Yanıtlar:
Aynı şeyi yapmaya çalışıyordum (hem guake hem de terminatörün hayranı olmak). İşte geldiklerim ( desqua'nın bu soruya cevabının özelleştirilmiş bir versiyonu ):
Bir uygulamayı başlatmak veya zaten başlatılmışsa penceresini göstermek veya odaklanmışsa simge durumuna küçültmek için
1) wmctrl & xdotool'u veya bir terminale takın :sudo apt-get install wmctrl xdotool
2) Bir senaryo oluşturun:
Ve bunu yapıştırın:
#!/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) Klavye kısayolunuzu yapın:
Klavye ayarlarınızı açın ve şu komutla özel bir kısayol oluşturun: /home/<user>/bin/launch_focus_min.sh terminator
(~ / bin çalışmaz)
bu komutu Shift + Escape'e (veya guake için kullandığınız klavye kısayoluna) atayın.
#!/bin/bash
Bunu yapmanın en kolay yolu kullanmak xdotool
ve windowunmap/windowmap
istenen pencereleri gizlemek / göstermek için bu komutu kullanmak olacaktır . (Bu yaklaşım söz konusu diğer cevaplarda belirtilmemiştir xdotool
.) Çözüm, hangi pencere yöneticisini kullanırlarsa kullansın tüm masaüstü bilgisayarlarda iyi sonuç verecektir. Gibi manpage notları ,
X11 terminolojisinde, bir pencerenin eşlenmesi, pencerenin ekranda görünür kılınması anlamına gelir.
Bu nedenle, bir pencerenin eşleştirmesini kaldırmak tam tersini yapar ve pencereyi gizler. Ne yazık ki, xdotool
harita / eşleme durumları arasında geçiş yapmak için kullanılabilecek bir geçiş yok , ancak ihtiyacınız olan iki komut aşağıda. İlki pencereyi gizler:
xdotool search --class terminator windowunmap %@
ve ikincisi etkiyi tersine çevirir:
xdotool search --class terminator windowmap %@
Pencere zaten küçültülmüşse, windowunmap
komutun başarısız olacağını lütfen unutmayın .
Daha fazla bilgi için bkz man xdotool
. Ubuntu çevrimiçi yönetiyor ve bu soruya cevabım .
Terminator'de bir dizi tercih seçerek, neredeyse Guake'e benzer bir şekilde çalışmasını sağlayabilirsiniz.
Ayrıntılı açıklama için aşağıdaki makaleye bakın.
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html
İstenilen sonuçları almak için makaledeki tüm adımları izlemenizi tavsiye ederim. Gerekli olmadığını düşünerek birkaç adım atladım, ancak bazı hataların üstesinden gelmek için gerçekten gerekliydi.
En basit çözüm, Terminator'u başlatıcıya kilitlemek ve Ubuntu'nun sağladığı kısayolları kullanmak olacaktır .
Başlatıcı kısayolunu kullanarak başlatıcıya kilitlenmiş herhangi bir uygulamayı başlatabilirsiniz:
Süper + 1 ila 9
Kullanılabilir hazır kısayolların tam listesi için Süper tuşunu basılı tutun .
Linux nane içinde byobu ile gnome terminalini yükseltmek ve en aza indirgemek için bir senaryo yazdım, çünkü guake'nin garip konsol çıktı karışıklıkları var. Sonra bunu yönetici klavyesi-> kapatma yolları bölümündeki kısayollara ekledim.
guake-toggling-for-gnome-terminal.sh adlı script :
#!/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 sadece buradaki pencere adı.