Terminatör emülatörünün guake gibi görünmesini ve kaybolmasını nasıl sağlarım?


14

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).


1
@hashken cevabı bunu gerçekten kolaylaştırıyor: webupd8.org/2011/07/install-terminator-with-built-in-quake.html
Brandon Bertelsen

Yanıtlar:


17

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:

  • Bir dosya yapın gedit ~ / bin / launch_focus_min.sh

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
  • Yürütülebilir yap: 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.


Bunu denedim ama benim için işe yaramıyor.
Chirag

Bu mükemmel bir çözüm, Terminatör en iyi ile Guake iyi, Teşekkürler.
wranvaud

benim için çalışması için "~ / bin / launch_focus_min.sh terminator" yerine "/ home / <user> /bin/launch_focus_min.sh terminator" ifadesini değiştirmek zorunda kaldım
Vituel

#!/bin/bash
Zsh

4

Bunu yapmanın en kolay yolu kullanmak xdotoolve windowunmap/windowmapistenen 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, xdotoolharita / 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, windowunmapkomutun 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 .


2

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.


0

Basitçe yakuake, kde masaüstü için guake ile aynı tarzda bir terminal kullanmanızı tavsiye ederim .

Çalıştırarak kurabilirsiniz sudo apt-get install yakuake.


Sonlandırıcıdan ayrılamaz. Son 2 yıldan beri kullanıyorum. Şimdiye kadar neredeyse bağımlısı. :)
Chirag

0

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 .


0

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ı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.