Làm thế nào để tôi làm cho trình giả lập terminator xuất hiện và biến mất như guake?


14

Tôi đang sử dụng terminator 0.96 làm trình giả lập thiết bị đầu cuối. Làm cách nào tôi có thể làm cho nó chạy trong nền và làm cho nó xuất hiện / biến mất như thiết bị đầu cuối guake (tức là sử dụng phím tắt).


1
Câu trả lời @hashken làm cho việc này thực sự dễ dàng: webupd8.org/2011/07/install-terminator-with-built-in-quake.html
Brandon Bertelsen

Câu trả lời:


17

Tôi đã cố gắng làm điều tương tự (là một fan hâm mộ của cả guake và terminator). Đây là những gì tôi đã đưa ra (một phiên bản tùy chỉnh của câu trả lời của desqua cho câu hỏi này ):

Để khởi chạy một ứng dụng hoặc để hiển thị cửa sổ của nó nếu đã được khởi chạy hoặc để thu nhỏ nếu nó được tập trung

1) Cài đặt wmctrl & xdotool hoặc trong thiết bị đầu cuối:sudo apt-get install wmctrl xdotool

2) Tạo kịch bản:

  • Tạo một tệp gedit ~ / bin / launch_f Focus_min.sh

Và dán cái này:

#!/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
  • Làm cho nó thực thi: chmod +x ~/bin/launch_focus_min.sh

3) Tạo phím tắt cho bàn phím của bạn:

  • Mở cài đặt bàn phím của bạn và tạo một shorcut tùy chỉnh bằng lệnh: /home/<user>/bin/launch_focus_min.sh terminator(~ / bin sẽ không hoạt động)

  • gán lệnh này cho Shift + Escape (hoặc bất kỳ phím tắt nào bạn đã sử dụng để thực hiện).


Tôi đã thử điều này nhưng nó dường như không làm việc cho tôi.
Chirag

Đây là giải pháp hoàn hảo, The Guake hay nhất với Terminator, Thanks.
viết vào

đã phải thay đổi "~ / bin / launch_f Focus_min.sh terminator" thành "/home/<user>/bin/launch_f Focus_min.sh terminator" để nó hoạt động với tôi
Vituel

Tôi đã phải thêm một bash shebang vào đầu tập tin để khiến nó chạy đúng theo zsh:#!/bin/bash
sean_j_roberts

4

Cách dễ nhất để làm điều này sẽ là sử dụng xdotoolvà sử dụng windowunmap/windowmaplệnh để ẩn / bỏ ẩn lớp cửa sổ mong muốn. (Cách tiếp cận này không được đề cập trong các câu trả lời khác có đề cập xdotool.) Giải pháp sẽ hoạt động tốt trên tất cả các máy tính để bàn, bất kể trình quản lý cửa sổ nào họ đang sử dụng. Như trang ghi chú ,

Trong thuật ngữ X11, ánh xạ một cửa sổ có nghĩa là làm cho nó hiển thị trên màn hình.

Vì vậy, bỏ sơ đồ một cửa sổ sẽ làm ngược lại và ẩn cửa sổ. Thật không may, không có chuyển đổi có sẵn để sử dụng xdotoolđể chuyển đổi giữa các trạng thái ánh xạ / unmap, nhưng hai lệnh bạn cần ở bên dưới. Cái đầu tiên ẩn cửa sổ:

xdotool search --class terminator windowunmap %@

và thứ hai đảo ngược hiệu ứng:

xdotool search --class terminator windowmap %@

Xin lưu ý rằng nếu cửa sổ đã được thu nhỏ, windowunmaplệnh sẽ không thành công.

Để biết thêm thông tin man xdotool, hãy xem các trang web Ubuntu trực tuyếncâu trả lời của tôi cho câu hỏi liên quan này .


2

Bằng cách chọn một nhóm tùy chọn trong Terminator, bạn có thể làm cho nó hoạt động gần giống với Guake.

Tham khảo bài viết sau để được giải thích chi tiết.
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html

Tôi sẽ khuyên bạn làm theo tất cả các bước trong bài viết để có được kết quả mong muốn. Tôi đã bỏ qua một vài bước, nghĩ rằng chúng không cần thiết, nhưng thực sự cần thiết để khắc phục một số lỗi.


0

Tôi muốn giới thiệu đơn giản là sử dụng yakuake, một thiết bị đầu cuối có cùng kiểu với guake cho máy tính để bàn kde.

Bạn có thể cài đặt nó bằng cách chạy sudo apt-get install yakuake.


Không thể rời bỏ terminator. Tôi đang sử dụng nó kể từ 2 năm qua. Gần như nghiện nó bây giờ. :)
Chirag

0

Giải pháp đơn giản nhất sẽ là khóa Terminator để khởi chạy và sử dụng các phím tắt mà Ubuntu cung cấp.

Bạn có thể khởi động bất kỳ ứng dụng nào bị khóa với launcher bằng phím tắt launcher:

Siêu + 1 đến 9

Để có danh sách đầy đủ các phím tắt có sẵn, hãy giữ phím Siêu .


0

Tôi đã viết một kịch bản để nâng cao và giảm thiểu thiết bị đầu cuối gnome với byobu trong linux mint, bởi vì guake có một số mớ hỗn độn đầu ra giao diện điều khiển kỳ lạ. Sau đó, tôi đã thêm nó vào các phím tắt trong bàn phím quản trị viên-> phần cắt xén.

tập lệnh có tên 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 chỉ là tên cửa sổ ở đây.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.