Bisakah saya mengubah nama tab guake untuk menampilkan perintah saat ini?

13

Saya menggunakan guake dengan sangat berat, dan ssh ke lebih dari 3 komputer kapan saja. Saya juga memiliki daemon yang berjalan di beberapa tab (terminal). Yang ingin saya ketahui, Apakah mungkin untuk memiliki nama perintah saat ini sebagai nama Terminal? Menyukai tab, dan mengubah namanya menyebabkan hal ini: (Lihat tab setelah Terminal 5)

Lihatlah tab setelah Terminal 5

Terima kasih.

theTuxRacer
sumber
Lihat jawaban saya untuk pertanyaan terkait untuk menunjukkan representasi singkat dari direktori saat ini sebagai judul tab.
krlmlr
Apa yang Anda maksud dengan "perintah saat ini"? apakah selalu ada perintah yang berjalan di setiap terminal? apa yang seharusnya judul ketika tidak ada yang berjalan?
rubo77

Jawaban:

4

Ini adalah bug guake (0.4.1). Saya hanya melihat dan menyelesaikan masalah ini melalui laporan bug ini meskipun penulis mengatakan ini bukan metode terbaik: https://github.com/Guake/guake/issues/205

Saya menemukan bahwa memindahkan kode penghancuran dialog (guake.py line 983) turun setelah kode yang menetapkan label tab (baris 986) benar-benar menyelesaikan masalah. jadi kode yang berfungsi untuk saya terlihat seperti ini:

    response = dialog.run()
    # dialog.destroy() 

    if response == gtk.RESPONSE_ACCEPT:
        self.selected_tab.set_label(entry.get_text())

    dialog.destroy()

mungkin ada beberapa masalah dengan gtk dan dialog, tetapi saya belum menemukan perubahan kode yang terhubung dengan gtk di versi 0.4.1 diff.

EDIT : guake 0.4.2 dapat mengubah nama tab dengan benar

hutushen222
sumber
1
ini tidak menjawab pertanyaan
phil294
3

Saya tidak yakin ini berfungsi untuk tipuan, ini bekerja untuk sebagian besar emulator terminal. Anda dapat memasukkan gema pada skrip Anda untuk mengubah judul terminal:

echo -ne "\033]0;your_title_here\007"
João Pinto
sumber
itu tidak berhasil, ketika saya mengetiknya di terminal.
theTuxRacer
1
Itu karena prompt shell Anda biasanya akan mengaturnya ke direktori kerja saat ini. Periksa variabel PS1.
ak2
Itu tidak bekerja di Ubuntu 15.10 saya. Saya memeriksa echo $PS1yang menunjukkan sesuatu seperti \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$apa yang membantu saya menyelesaikan ini?
rubo77
3

Sedikit peretasan, tetapi ini akan mengubah nama terminal saat ini menjadi apa pun yang Anda inginkan.

function ssh() {
    guake -r "$@";
    /usr/bin/ssh $@
}

Juga jika Anda memperbarui PROMPT_COMMAND Anda, Anda dapat memiliki fungsi untuk memperbarui nama terminal setiap kali. Meskipun ini tidak akan berfungsi untuk masalah ssh Anda karena hanya mengubah nama setelah perintah dijalankan.

misalnya

export PROMPT_COMMAND=renameTerminal

function renameTerminal() {
    guake -r "$SOMENAME";
}
pengguna257818
sumber
2

Ketika saya ingin mengubah nama tab di guake, saya cukup klik kanan nama tab dan klik kiri ganti nama. Kotak munculan terbuka untuk mengetikkan nama baru.

charlie-tca
sumber
tentu, tetapi bagaimana Anda bisa menambahkan ini ke skrip?
rubo77
1

Anda cukup mengubah tabname dengan

guake -r newtabname

Jika Anda ingin mendapatkan perintah menjalankan terbaru, gunakan misalnya

echo "!!" | cut -f 1 -d " "

!!diperluas oleh bash saat Anda mengetiknya. Itu tidak diperluas dengan substitusi alias. Jadi, Anda harus menggunakan historybuilt-in untuk melakukan ekspansi untuk memasukkannya ke alias:

alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'

ketika perintah terakhirmu adalah

echo this is a test

lalu menelepon

setguaketitle

akan menetapkan judul menjadi "echo".

rubo77
sumber
0

Jika Anda mengganti shell Anda menjadi zsh, Anda dapat menambahkan ini ke ~/.zshrc:

preexec() {
    echo -n '\e]0;'
    echo -nE "$1"
    print -nP '  (%~)'
    echo -n '\a'
}

dan itu akan menampilkan perintah saat ini dan direktori kerja saat ini. Ini bekerja untuk semua emulator terminal, bukan hanya goyang.

Untuk menginstal zsh:

sudo apt-get install zsh

untuk mencobanya katakan saja

zsh

untuk menjadikannya default untuk terminal baru:

chsh -s /bin/zsh 
poolie
sumber
1
zsh tidak bekerja sama sekali dengan guake :(
theTuxRacer
Oh, benar, saya ingat pernah menyentuh masalah itu sebelumnya. Tetapi setidaknya beberapa bug yang berkaitan dengan itu sekarang tampaknya sudah diperbaiki, misalnya < guake.org/ticket/49 >.
poolie