У меня есть пара терминальных программ, которые я никогда не смогу оставить позади. Когда я запускаю их из командной строки с чем-то вроде

gnome-terminal --command foo

или когда я создаю файл Foo.desktop и нажимаю на значок в обзоре приложений, Gnome правильно делает, что создает новое окно терминала и запускает в нем программу. Я даже могу дать окну отдельный заголовок с помощью --title = Foo. Но имя приложения в том виде, в котором оно известно Gnome, показано в верхней панели и рядом с ним значок, по-прежнему просто "Терминал" и общий значок "подсказка". :-(

Помимо плохой эстетики это также делает неудобным переключение на окно, потому что оно объединено в пользовательском интерфейсе со всеми терминалами, на которых работают оболочки. Если бы я был пользователем мыши (ухмылка), потребовался бы дополнительный щелчок, чтобы выбрать окно из группы терминалов - поскольку я являюсь пользователем клавиатуры на 90% и более, я не могу просто войти в обзор и ввести "Foo", потому что что бы начать новый, а не переключиться на работающий.

Итак, где пользовательский интерфейс получает эти биты информации, чтобы я мог пойти туда и изменить их? Пытаясь решить эту загадку, я нашел кое-что интересное: если я использую urxvt вместо gnome-терминала в качестве эмулятора, Gnome отображает «rxvt-unicode» в качестве имени приложения. Откуда, черт возьми, это происходит? Программа называется "urxvt", как и окно (в смысле имен ресурсов Xwindow), а класс окна - "Urxvt". Насколько я знаю, "rxvt-unicode" было просто ориентированным на человека красивым названием проекта, а не тем, что система понимала, так где же Gnome его получил?

1 ответ1

0

Вы не можете, потому что так работает GNOME Terminal; это все еще одно приложение со многими окнами. (Это похоже на открытие нескольких веб-страниц в разных окнах в Firefox.)

Проблема UX частично решена расширением оболочки Alternate Tab - хотя даже без этого клавиша Tab в обзоре переключается между всеми окнами, а не только сгруппированными приложениями.

(FWIW: я не уверен, откуда rxvt-unicode , но если вы запустите strings /usr/bin/urxvt|grep rxvt-unicode , он там появится)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .