Почему при открытии две отдельные иконки панели группируются под одной иконкой

У меня есть два отдельных файла .desktop, заблокированных на панели. Оба они открывают окна терминала и запускают серию команд (с пользовательским вводом). Проблема в том, что когда один уже открыт, другие открываются, и оба они объединяются в один (тот, который был открыт первым). Это немного беспокоит, так как ... скажем, если я открыл окно терминала с помощью комбинации клавиш ctrl + alt + t, вместо того, чтобы открывать новый значок на панели, он добавлялся в уже открытый файл .desktop!

[111 ] Я использую Ubuntu 12.10 с интерфейсом Unity.

2
задан 08.04.2020, 22:23

4 ответа

Я думаю, что проблема может быть в WM_CLASS (STRING) в свойствах окна gnome-терминала

Если у вас есть два файла рабочего стола с разными значками, но с gnome-Terminal .. Вы можете проверить WM_CLASS с помощью команды xprop

  • xprop | grep WM_CLASS

Затем щелкните в окнах (с помощью перекрестного курсора ) ... и результат для ваших приложений должен быть:

WM_CLASS (STRING) = "gnome-терминал", "Gnome-терминал"

[1132 ] По моему мнению, из-за того, что окна имеют одинаковый WM_CLASS, они будут сгруппированы в Unity Launcher.


Установить класс & amp; Имя в Gnome-Terminal

Чтобы избежать этой проблемы, вы можете попытаться установить разные строки WM_CLASS для каждого файла рабочего стола.

Команда должна быть:

  • gnome-terminal --disable-factory --class <appname> --name <appname>

Здесь у вас есть пример для запуска gnome-terminal & amp; выполнить небольшой сценарий.

  • gnome-terminal --disable-factory --class term-red --name term-red --title Term-Red --window-with-profile=red -e '/home/virtual/Desktop/test1.sh'

Пример с двумя файлами рабочего стола.

Я создал 2 настольных файла, которые будут запускать скрипты (с использованием gnome-терминал) , а значок на рабочем столе gnome-терминала привязан к Unity Launcher.

1) gnome-терминал.desktop
2) term-green.desktop
3) term-red. настольные .

enter image description here

Когда я щелкаю по 3 файлам рабочего стола, они не группируются под одним значком.

enter image description here

Как видите, 3 терминала работают (со своей иконкой) .

enter image description here

Здесь у вас есть содержание term-red.desktop.

enter image description here

Важными ключами, которые нужно добавить в файлы .desktop, будут:

  • Exec=gnome-terminal --disable-factory --class term-red --name term-red --title Term-Red --window-with-profile=red -e '/home/virtual/Desktop/test1.sh'
  • StartupWMClass=term-red [ 1125]
  • StartupNotify=true

Здесь у вас есть информация о Спецификации записи рабочего стола .


Другой вариант - запускать xterm вместо gnome-терминал.
xterm примет класс опции & amp; имя.

  • Exec=uxterm -class term-red -name term-red -T Term-Red -e '/home/virtual/Desktop/test1.sh'

ПРИМЕЧАНИЕ: Пожалуйста, измените эти примеры в соответствии с вашими потребностями.

Надеюсь, это поможет.

3
ответ дан 08.04.2020, 22:25

Возможно, это потому, что вы используете gnome-terminal для Exec. С помощью документации вы можете обратиться к исполняемому файлу, а затем добавить строку Terminal=true, чтобы выполнить его в терминале.

[Desktop Entry]
Version=0
Name=Your app
Comment=An app for doing something
Exec=/complete/path/to/your/file
Icon=gnome-terminal
Terminal=true
Type=Application
Categories=Application;

Вот снимок экрана, который показывает результат тестового приложения с иконкой, такой же, как у Terminal: окна не сгруппированы.

Вы также можете использовать свой собственный значок, чтобы отличать приложения. Перемещение файла SVG или PNG в ~/.icons и использование только name.ext файла для Icon даст лучший результат в Unity.

1
ответ дан 08.04.2020, 22:23

Очень простой, но не выгодный подход для тех, кто не хватает времени:

  1. Закройте все открытые окна файловой системы.
  2. Разблокируйте значок файлов на боковой панели.
  3. Используя панель запуска, найдите файлы и снова откройте окно.
  4. Заблокируйте значок для панели запуска снова.

Это может или не может решить это за вас. Я просто новичок в Ubuntu. Надеюсь, это поможет :)

0
ответ дан 08.04.2020, 22:24

Они сгруппированы таким образом, чтобы держать ваш пусковой механизм в чистоте (представьте, если у вас было открыто десять окон). Если вы щелкнете по этому значку один раз, фокус перейдет к одному из тех окон, которые в последний раз были в фокусе. Если вы щелкнете этот значок еще раз, он должен развернуть все эти окна на рабочем столе и позволить вам выбрать то, что вы хотите - например, так:

Spread

Это действительно удобно, когда ты привыкаешь к этому.

1
ответ дан 08.04.2020, 22:24

Теги

Похожие вопросы