Как сделать так, чтобы эмулятор терминатора появлялся и исчезал как guake?

Я использую терминатор 0,96 в качестве эмулятора терминала. Как я могу заставить его работать в фоновом режиме и заставлять его появляться / исчезать, как в терминале guake (то есть с помощью сочетания клавиш).

14
задан 11 October 2012 в 10:18

6 ответов

Самый простой способ сделать это - использовать xdotool и команду windowunmap/windowmap, чтобы скрыть / показать нужный класс окон. (Этот подход не упоминался в других ответах, в которых упоминается xdotool.) Решение будет хорошо работать на всех рабочих столах, независимо от того, какой менеджер окон они используют. Как отмечено в на странице руководства ,

В терминологии X11 отображение окна означает, что оно отображается на экране.

Таким образом, отключение окна сделает противоположное и скроет окно. К сожалению, нет переключателя, доступного для использования с xdotool для переключения между состояниями map / unmap, но две необходимые вам команды приведены ниже. Первая скрывает окно:

xdotool search --class terminator windowunmap %@

, а вторая отменяет эффект:

xdotool search --class terminator windowmap %@

Обратите внимание, что если окно уже свернуто, команда windowunmap будет неудачной.

Для получения дополнительной информации см. man xdotool, руководства Ubuntu онлайн и мой ответ на этот связанный вопрос .

0
ответ дан 11 October 2012 в 10:18

Я бы порекомендовал просто использовать yakuake, терминал в том же стиле, что и guake для рабочего стола kde.

Вы можете установить его, запустив sudo apt-get install yakuake.

0
ответ дан 11 October 2012 в 10:18

Ну, самое простое решение - просто заблокировать Terminator для запуска и использовать ярлыки , которые предоставляет Ubuntu.

Вы можете запустить любое приложение, которое заблокировано для запуска, используя ярлык запуска:

Super + от 1 до 9

Полный список готовых доступных ярлыков, удерживайте клавишу Super .

0
ответ дан 11 October 2012 в 10:18

Выбрав набор настроек в Терминаторе, вы можете настроить его почти так же, как в Guake.

Обратитесь к следующей статье для подробного объяснения.
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html

Я бы посоветовал вам выполнить все шаги статья, чтобы получить желаемые результаты. Я пропустил несколько шагов, думая, что они не были необходимы, но на самом деле были необходимы, чтобы преодолеть некоторые ошибки.

0
ответ дан 11 October 2012 в 10:18

Я написал скрипт для поднятия и минимизации терминала gnome с помощью byobu в linux mint, потому что в guake есть некоторые странные проблемы с консолью. Затем я добавил его в список сочетаний клавиш в разделе «Клавиатура администратора».

скрипт с именем 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}

Бёбу - это просто имя окна.

0
ответ дан 11 October 2012 в 10:18

Я пытался сделать то же самое (быть фанатом и гакэ, и терминатора). Вот что я придумал (настраиваемая версия ответа desqua на этот вопрос ):

Чтобы запустить приложение или показать его окно если он уже запущен или минимизирован, если он сфокусирован

1) Установите wmctrl & amp; xdotool или в терминале: 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).

0
ответ дан 11 October 2012 в 10:18

Другие вопросы по тегам:

Похожие вопросы: