ターミネーターエミュレーターをグアケのように表示および非表示にするにはどうすればよいですか?


14

端末エミュレーターとしてターミネーター0.96を使用しています。バックグラウンドで実行し、guakeターミナルのように表示/非表示にする方法はありますか(ショートカットキーを使用)。


1
@hashken答えはこれを本当に簡単にします:webupd8.org/2011/07/install-terminator-with-built-in-quake.html
ブランドン

回答:


17

私は同じことをしようとしていました(グアケとターミネーターの両方のファンになっています)。ここに私が思いついたものがあります(desquaこの質問への回答のカスタマイズされたバージョン):

アプリケーションを起動するか、すでに起動している場合はウィンドウを表示するか、フォーカスされている場合は最小化する

1)wmctrlxdotoolをインストールするか、ターミナルに:sudo apt-get install wmctrl xdotool

2)スクリプトを作成します。

  • ファイルgedit〜/ bin / launch_focus_min.shを作成します

これを貼り付けます:

#!/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)キーボードショートカットを作成します。

  • キーボード設定を開き、コマンドでカスタムショートカットを作成します/home/<user>/bin/launch_focus_min.sh terminator(〜/ binは機能しません)

  • このコマンドをShift + Escape(またはguakeに使用したキーボードショートカット)に割り当てます。


私はこれを試してみましたが、私にはうまくいかないようです。
チラグ

これは完璧なソリューションです。最高のターミネーターと最高のグアケ、ありがとう。
ランボー

私のために仕事にそれのための「/home/<user>/bin/launch_focus_min.shターミネーター」への変更「〜/ binに/ launch_focus_min.shターミネーター」に持っていた
Vituel

ファイルの先頭にbash shebangを追加して、zshで適切に実行する#!/bin/bash
必要がありました。– sean_j_roberts

4

これを行う最も簡単な方法はxdotool、を使用し、windowunmap/windowmapコマンドを使用して目的のクラスのウィンドウを非表示/再表示することです。(このアプローチは、他の回答では言及されていませんxdotool。)このソリューションは、使用しているウィンドウマネージャーに関係なく、すべてのデスクトップでうまく機能します。マンページのメモとして、

X11の用語では、ウィンドウのマッピングとは、画面上にウィンドウを表示することを意味します。

そのため、ウィンドウのマッピングを解除すると反対のことが行われ、ウィンドウが非表示になります。残念ながら、xdotoolマップ/マップ解除状態を切り替えるために使用できるトグルはありませんが、必要な2つのコマンドは以下のとおりです。最初はウィンドウを隠します:

xdotool search --class terminator windowunmap %@

2番目は効果を逆にします。

xdotool search --class terminator windowmap %@

ウィンドウがすでに最小化されている場合、windowunmapコマンドは失敗することに注意してください。

詳細についてman xdotoolは、Ubuntuのオンラインマンページ、およびこの関連する質問に対する私の回答を参照してください。


2

ターミネーターで一連の設定を選択することにより、Guakeとほぼ同様に機能させることができます。

詳細については、次の記事を参照してください。
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html

目的の結果を得るには、記事のすべての手順に従うことをお勧めします。私はいくつかのステップをスキップしました。それらは必要ではないと思っていましたが、実際にはいくつかのバグを克服するために必要でした。


0

私は単に使用することをお勧めします yakuakekdeデスクトップには、guakeと同じスタイルの端末ます。

を実行してインストールできsudo apt-get install yakuakeます。


ターミネーターを残すことはできません。過去2年間、私はそれを使用しています。今ではほぼ中毒です。:)
チラグ

0

最も単純な解決策は、ターミネーターをランチャーロックし、Ubuntuが提供するショートカットを使用することです。

ランチャーショートカットを使用して、ランチャーにロックされているアプリケーションを起動できます。

スーパー+ 1から9

使用可能なショートカットの完全なリストについては、スーパーキーを押したままにします。


0

guakeには奇妙なコンソール出力の混乱があるので、Linuxミントのbyobuでgnome端末を上げて最小化するスクリプトを書きました。次に、管理者のキーボード->ショートカットセクションのショートカットに追加しました。

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}

ここでは、風は単なるウィンドウ名です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.