LINUX.ORG.RU
ФорумTalks

[консолемания][юзабилити] Допилил ~/.bashrc показывать имена команд в заголовке

 


0

1

Как я и писал в галерее, у меня bash настроен отображать выполняемые команды в заголовке окна, что дико удобно, когда открыто 100500 эмуляторов терминала, и надо найти нужный в alt+tab-списке.

Сегодня у меня дошли руки прикрутить туда же показ названий сигналов, если команда была убита сигналом. За одно привел в порядок быдлокод в ~/.bashrc и дописал комментарии, так что теперь не стыдно показать результат анонимусу.

В общем, кому нужно, забирайте. Для Ъ не будет, т.к. там простыня кода на полторы экранных страницы.

Утащил. Посмотрю на досуге.

greenzu
()

Для Ъ и забаненных блогспотом как видно нету... Ну и пользуйся сам, всё равно на чужие бложики не хожу!

minakov ★★★★★
()

прикрутил себе. спасибо. выглядит неплохо.

null123 ★★
()

Чего только не придумают, лишь бы не использовать konsole

madcore ★★★★★
()

Чего только ни придумают, лишь бы не юзать i3+vim-like mark/goto.

x3al ★★★★★
()
Ответ на: комментарий от ostin

Ага, в binutils-2.17.50.0.6-6.el5 у declare нет опции -A.

ostin ★★★★★
()
Ответ на: комментарий от ostin

Хм.

$ man bash | grep 'declare \[-' -A10
       declare [-aAfFgilrtux] [-p] [name[=value] ...]
       typeset [-aAfFgilrtux] [-p] [name[=value] ...]
              Declare  variables  and/or  give them attributes.  If no names are given then display the values of variables.  The -p option will display the attributes and values of each name.  When -p is
              used with name arguments, additional options are ignored.  When -p is supplied without name arguments, it will display the attributes and values of all variables having the attributes speci‐
              fied  by the additional options.  If no other options are supplied with -p, declare will display the attributes and values of all shell variables.  The -f option will restrict the display to
              shell functions.  The -F option inhibits the display of function definitions; only the function name and attributes are printed.  If the extdebug shell option is  enabled  using  shopt,  the
              source  file  name  and  line  number  where the function is defined are displayed as well.  The -F option implies -f.  The -g option forces variables to be created or modified at the global
              scope, even when declare is executed in a shell function.  It is ignored in all other cases.  The following options can be used to restrict output to variables with the  specified  attribute
              or to give variables attributes:
              -a     Each name is an indexed array variable (see Arrays above).
              -A     Each name is an associative array variable (see Arrays above).
$ $SHELL --version
GNU bash, version 4.2.6(2)-release (i686-pc-linux-gnu)
geekless ★★
() автор топика

А в zsh это почти что из коробки.

GotF ★★★★★
()
Ответ на: комментарий от geekless
$ $SHELL --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
 The  following  options  can  be  used  to restrict output to variables with the specified attribute or to give variables attributes:
              -a     Each name is an array variable (see Arrays above).
              -f     Use function names only.
              -i     The variable is treated as an integer; arithmetic evaluation (see ARITHMETIC EVALUATION ) is performed when the variable is assigned a value.
              -r     Make names readonly.  These names cannot then be assigned values by subsequent assignment statements or unset.
              -t     Give  each  name  the trace attribute.  Traced functions inherit the DEBUG and RETURN traps from the calling shell.  The trace attribute has no special meaning for variables.
              -x     Mark names for export to subsequent commands via the environment.
ostin ★★★★★
()

> когда открыто 100500 эмуляторов терминала, и надо найти нужный в alt+tab-списке.

Что только не придумают, лишь бы не использовать screen.

drull ★☆☆☆
()
Ответ на: комментарий от geekless

Тем что не нужно держать открытыми 100500 окон, заголовки видны в статусной строке, удобное управление с клавиатуры.

drull ★☆☆☆
()
Ответ на: комментарий от drull

> заголовки видны в статусной строке

Заголовки либастрал будет выставлять?

удобное управление с клавиатуры

Как оконный менеджер надо использовать оконный менеджер, а не мультиплексор консоли.

Тем что не нужно держать открытыми 100500 окон

Окнобоязнь, новая болезнь?

geekless ★★
() автор топика
Ответ на: комментарий от geekless

> Как оконный менеджер надо использовать оконный менеджер, а не мультиплексор консоли.

DESCRIPTION
       Screen  is  a  full-screen  window  manager

> Заголовки либастрал будет выставлять?

screen -X title <windowtitle> либо C-a A

> Окнобоязнь, новая болезнь?

Боюсь лишних сущностей.

drull ★☆☆☆
()
Ответ на: комментарий от drull

> Screen is a full-screen window manager

Цитировать надо правильно: «Screen is a full-screen window manager that multiplexes a physical terminal between several processes»

Боюсь лишних сущностей.

Оно и видно: использовать вперемешку иксовый и консольный менеджер окон не боишься.

screen -X title <windowtitle> либо C-a A

Угу, и тут мы плавно возвращаемся к сути моего скрипта к вопросу:

И чем мне поможет screen?

geekless ★★
() автор топика
Ответ на: комментарий от geekless

s/к сути моего скрипта к вопросу/к сути моего скрипта и к вопросу/

geekless ★★
() автор топика
Ответ на: комментарий от geekless

Отвечаю еще раз: поможет не открывать 100500 окон. Если боишься скринов - используй эмулятор терминала с табами: gnome-terminal или konsole.

drull ★☆☆☆
()
Ответ на: комментарий от drull

Отвечаю еще раз, без намёков, раз уж не доходит: данный скрипт абсолютно перпендикулярен окнам, табам и мультиплексору консоли. Он динамически выставляет из оболочки заголовок терминала через коды управления терминалом. А уж где этот заголовок отображается — дело вкуса.

geekless ★★
() автор топика
Ответ на: комментарий от geekless

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

drull ★☆☆☆
()
Ответ на: комментарий от drull

> Но использовать много открытых терминалов вместо табов - глупо.

Уффф... Не обижайся, но это занудство.

Я тащем-та и есть счастливый пользователь gnome-terminal с переключением табов по Alt+F1...Alt+F12, openbox-а и pytyle-а с тайлингом.

geekless ★★
() автор топика
Ответ на: комментарий от Rapt0r

konsole и без этого так может :)

Не может. Ваша konsole показывает только имя процесса, при чем даже не полное, а без аргументов. Показывать коды возврата она не может в принципе. Понимать, что при завершении выполнения команды надо не писать в заголовке 'bash', а оставить имя завершенного процесса — тоже.

Ну и это:

Цели (22): clucene-0.9.21b-1  exiv2-0.21.1-1  strigi-git20110107-2
           attica-0.2.0-1  libiodbc-3.52.7-4  virtuoso-6.1.2-1  soprano-2.6.0-1
           shared-desktop-ontologies-0.6.0-1  qca-2.0.3-1
           libdbusmenu-qt-0.8.0-1  polkit-qt-0.99.0-1  grantlee-0.1.8-1
           ilmbase-1.0.1-1  openexr-1.6.1-1  phonon-gstreamer-4.4.4-1
           phonon-4.4.4-1  kdelibs-4.6.1-2  ntrack-009-1  libssh-0.4.8-1
           oxygen-icons-4.6.1-1  kdebase-runtime-4.6.1-1
           kdebase-konsole-4.6.1-1

 Размер загружаемых файлов:   44,77 МБ
 Размер устанавливаемых файлов:   194,27 МБ
Когда эмулятор терминала тащит почти 200 метров зависимостей, включая здоровый набор иконок и аудиобиблиотеки — неладно что-то в кедо-королевстве.

geekless ★★
() автор топика
Ответ на: комментарий от drull

поможет не открывать 100500 окон

Правильный wm поможет не волноваться о количестве открытых окон.

baverman ★★★
()
Ответ на: комментарий от vsemprivet

Terminal.app

Кстати, всегда интересовало, а в нём можно щелкнуть мышой по ссылке и она откроется в браузере? А привязать действие на клик по настраиваемой последовательности символов? Или на лету поменять кодировку?

baverman ★★★
()
Ответ на: комментарий от baverman

1. Правым кликом - открыть ссылку
2. Не думаю и никогда не было повода такое использовать
3. Утф-8 уже давно на дворе

vsemprivet
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.