Чи можу я змінити назву вкладки guake, щоб показати поточну команду?


13

Я дуже сильно використовую guake і вмикаю більше ніж на 3 комп’ютери в будь-який момент часу. У мене також є демон, що працює на деяких вкладках (терміналах). Що я хочу знати, чи можна мати ім’я поточної команди як ім'я Терміналу? Клацання правою кнопкою миші та зміна її назви призводить до цього: (Подивіться на вкладку після Терміналу 5)

Подивіться на вкладку після Терміналу 5

Спасибі.


Дивіться мою відповідь на відповідне запитання, щоб показати скорочене подання поточного каталогу як заголовка вкладки.
krlmlr

Що ви маєте на увазі під "поточною командою"? чи завжди в кожному терміналі працює команда? яким повинен бути заголовок, коли нічого не працює?
rubo77

Відповіді:


4

Це помилка guake (0.4.1). Я просто бачу і вирішую цю проблему через цей звіт про помилку, хоча автор каже, що це не найкращий метод: https://github.com/Guake/guake/isissue/205

я дізнався, що переміщення коду знищення діалогу (рядок 983 guake.py) після коду, який встановлює мітку вкладки (рядок 986), фактично вирішує проблему. тому код, який працює для мене, виглядає приблизно так:

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

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

    dialog.destroy()

можливо, є якась проблема з gtk і діалогами, але я не знайшов змін коду, пов'язаних з gtk у версії 0.4.1 diff.

EDIT : guake 0.4.2 може правильно змінити назву вкладки


1
це не відповідає на питання
phil294

3

Я не впевнений, що це працює для guake, це працює для більшості емуляторів терміналів. Ви можете включити відлуння у свої сценарії, щоб змінити назву терміналу:

echo -ne "\033]0;your_title_here\007"

це не спрацювало, коли я набрав його в терміналі.
theTuxRacer

1
Це тому, що підказки вашої оболонки зазвичай встановлюють її в поточну робочу директорію. Перевірте змінну PS1.
ak2

Не працює і на моєму Ubuntu 15.10. Я перевірив, echo $PS1що показує щось подібне, \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$що це допомагає мені вирішити це?
rubo77

3

Трохи зламайте, але це перейменовано поточний термінал у все, для чого ви збилися.

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

Крім того, якщо ви оновлюєте свій PROMPT_COMMAND, ви можете мати функцію щоразу оновлювати ім'я терміналу. Хоча це не спрацює для вашої проблеми ssh, оскільки воно змінює ім'я лише після запуску команди.

напр

export PROMPT_COMMAND=renameTerminal

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

2

Коли я хочу змінити ім’я вкладки в guake, я просто клацніть правою кнопкою миші назву вкладки та натисніть ліву клавішу перейменувати. Відкриється спливаюче вікно для введення нового імені.


звичайно, але як ви можете додати це до сценарію?
rubo77

1

Ви можете просто змінити ім'я вкладки за допомогою

guake -r newtabname

Якщо ви хочете отримати останню запущену команду, використовуйте, наприклад,

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

!!розширюється bash під час введення. Він не розширюється шляхом підстановки псевдонімом. Тому вам потрібно використовувати historyвбудований модуль для розширення, щоб поставити його в псевдонім:

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

коли була твоя остання команда

echo this is a test

то дзвонить

setguaketitle

встановить заголовок "відлуння".


0

Якщо ви змінили оболонку на zsh, ви можете додати це до свого ~/.zshrc:

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

і він покаже поточну команду та поточний робочий каталог. Це працює для всіх термінальних емуляторів, а не лише для guake.

Щоб встановити zsh:

sudo apt-get install zsh

спробувати це просто скажіть

zsh

щоб зробити його за замовчуванням для нових терміналів:

chsh -s /bin/zsh 

1
zsh взагалі не працює з guake :(
theTuxRacer

О, так, я пам’ятаю, як раніше стикався з цією проблемою. Але принаймні деякі помилки, пов’язані з цим, зараз здаються виправленими, наприклад, < guake.org/ticket/49 >.
poolie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.