LINUX.ORG.RU

Какое приложение рисует таскбар в Mate?

 ,


0

2

Я бы хотел, чтобы можно было на кнопке переключения на окно работающего приложения можно было через контекстное меню изменить одну иконку на другую (чтобы они стали на разных окнах одного приложения разными). Что мне надо сделать? Может какое-то заменяющее приложение-форк установить с такой функцией? Как оно называется?

Для примера - приложение freeciv-клиент, запущено несколько штук, хотелось бы разным инстансам присвоить разные иконки флагов разных стран вместо этого одинакового желтого глобуса.

★★★★

Последнее исправление: Shushundr (всего исправлений: 2)

Панели в ΜΑΤΕ рисует, насколько я помню, mate-panel.

Требование весьма интересное. Кажется ни в одной панели такой функции нет, но может быть, это можно поменять на уровне менеджера окон?

Самое близкое что приходит на ум — вроде бы, такая функция была в WindowMaker’е.

pericles ★★
()

Как оно называется?

Awesome WM, делай как душе нравится. А вообще xseticon.

P.S.

xseticon

А какой аналог на вейленде?

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от pericles

Я прочитал README на странице https://github.com/mate-desktop/mate-panel и мне непонятно, чем апплет «the Window List» отличается от апплета «the Window Selector», для чего предназначен каждый из них, и какой нужен мне.

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

Кажется, что Window List — выпадающий список с окнами, а Window Selector – кнопки окон на панели.

pericles ★★
()

Я вижу, что у топика есть подписчик, поэтому спешу поделиться прогрессом.
Размышления проходили в четыре раунда, с каждым новым раундом уровень неадекватности повышался.

Раунд 0.

Я попробовал добавлять на панель три апплета:
1) «Переключатель окон» (Кнопка переключения между открытыми окнами)
2) «Список окон» (Область, где размещаются кнопки открытых окон)
3) «Указатель окон» (Указатель окон)

Для того, чтобы их добавлять, я нажимаю на панели правой кнопкой мыши (ПКМ), появляется (всплывающее?) контекстное меню, в котором первый пункт «Добавить...», выбираю его, затем жду около 32-х секунд (когда идёт поиск апплетов), после чего
появляется окно «Добавить на панель»,
с полем ввода «Найти элемент, чтобы добавить на панель:»,
со списком найденных апплетов, и
с четырьмя кнопками «Помощь», «Назад», «Добавить» и «Закрыть».

С чем связана задержка в 32-е секунды, и как её устранить - мне не известно.

Кнопка «Помощь» не работает, выдаёт сообщение:
«Ошибка»
«Не удалось показать документ справки «mate-user-guide»»
«Указанный адрес не поддерживается»
«Закрыть».
какой именно адрес не поддерживается - в тексте сообщения об ошибке не говорится.

Раунд 1.

Явно у авторов апплетов возникали проблемы с тем, как назвать апплет и как описать зачем он.
Если я буду делать ещё один свой новый апплет, то как я его назову? И какое будет описание? Варианты:
«Различатель окон» (Задаёт иконки и/или названия окон, для избранной программы)
«Раскрашиватель окон» (Красит кнопки нежным цветом, пишет подписи апплет)
«Значкователь окон» (Все заголовки, он разметит лихо. Ведь имя его - Иероглиф)
«Выбиратор окон» (Синяя или Красная? Выбирай, Нео)

Я до этого топика пользовался только апплетом «Список окон». У него есть выбор - группировать ли окна по приложениям,
а я бы хотел, чтобы окна показывались не все, а только окна того приложения, которое настроено для данного инстанса апплета.
Помещу «Список окон» на нижнюю панель", а свой апплет на верхнюю панель, в одном или двух экземплярах.

Раунд 2.

Можно, в принципе, совместить список кнопок с меню. В меню выбирать - какое приложение нужно, а его окна будут как кнопки.
Переключение через меню будет альтернативой нажатию Alt+Tab.
(это такая новая фича, которую я только сейчас придумал, возможна ли её реализация - не знаю.
Но имеющийся другой апплет-меню «Переключатель окон» как-то это делает, значит это возможно)
И тогда можно будет обойтись одним экземпляром аплета - он будет одновременно и списком и меню.
В списке апплет будет показывать только разные окна текущего приложения, а в меню будет позволять выбирать приложения.
Переключился на блокнот - показывает разные окна именно блокнота.
Переключился по Alt+Tab на другое приложение - кнопки на апплете тоже переключились
и стали отображать только окна того нового приложения.

Теперь у «апплета в воображении фантаста» две функции - он не только различает окна, но и переключает приложения.
Поэтому, вероятно, ему потребуется новое название и описание.
«Гуртовщик окон» (группирует окна по приложениям и разнообразит значки)
Иконкой апплета сделать радугу с бараном, это позлит последователей Кейна (с их дивизом «одно приложение -> одно название -> одна иконка»).
Радуга будет символизировать возможность выбирать разные значки для разных окон одного приложения, а баран будет изображать
типичного последователя культа
группировку окон каждого отдельного приложения в отдельное стадо.

Раунд 3.

А что если окон у одного приложения по-настоящему много? Можно было бы присваивать каждому окну не один отличительный признак, а несколько. Например хештеги, у каждого окна - свои, причём не по одному. Это уже не фантастика, это фентези какое-то. Меня в хештегах всегда возмущало то, что всегда используется одна и та же иконка «решеточка», а ведь можно было использовать разные!

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

Awesome WM, делай как душе нравится.

Я никогда не использовал и не встречался с Awesome WM, чтобы понять как его использовать - надо его изучать. Это пугает.

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

Процитирую ТСа:

Для примера - приложение freeciv-клиент, запущено несколько штук, хотелось бы разным инстансам присвоить разные иконки флагов разных стран вместо этого одинакового желтого глобуса.

Можно сказать, раз нет - значит не нужно, но вот ТСу потребовалось и делает это одна утилита, а не отдельная под свое ДЕ.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от einhander

делает это одна утилита

В ридми репозитория https://github.com/xeyownt/xseticon говорится что таких утилит не одна, а две, ещё https://sourceforge.net/projects/xseticon/

И к ним нет пакетов (ни к одной) под мою операционку.

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

И к ним нет пакетов

Есть пакеты snap.

А вообще такую утилиту можно и собрать самому, инструкция же есть и она проста как 5 копеек.

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

ТСу хочется странного

Это только твоя точка зрения, которая очень напоминает позицию эпла с Айфоном - устанавливать приложения из других мест кроме эплстор это странно. Ну и дальше по твоему же тексту.

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

$ ./xseticon

usage: xseticon [options] path/to/icon.png
options:
  -name <text>    : apply icon to the window of the name supplied
  -id <windowid>  : apply icon to the window id supplied

Sets the window icon to the specified .png image. The image is loaded from
the file at runtime and sent to the X server; thereafter the file does not
need to exist, and can be deleted/renamed/modified without the X server or
window manager noticing.
If no window selection option is specified, the window can be interactively
selected using the cursor.

Hints:
  xseticon -id "$WINDOWID" path/to/icon.png
Will set the icon for an xterm.

https://en.wikipedia.org/wiki/File:Flag_of_Russia.png

Мне удалось поменять иконку у окна, но не нравится процедура. Недостаточно автоматизированная.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 2)
Ответ на: комментарий от PPP328

Мне непонятно как этот ярлык будет работать. Я так понимаю, что он будет запускать bash-скрипт, в котором будут последовательно запускаться программа и затем утилита xseticon. А как утилита xseticon узнает id окна запущенной программы?

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

Господи, ну научитесь уже самостоятельно мыслить.

echo !$ даст PID последней запущенной в скрипте программы (programname & echo !$) По PID получаете WID: https://unix.stackexchange.com/questions/321079/how-to-get-window-id-from-process-id . WID скармливаете вашей xseticon

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

не

echo "!$"

а
echo "$!"

а это меняет дело!

Причём заметьте, как вежливо я не назвал Вас мудаком за то, что Вы дали неправильный совет. А вот Вы мне успели нахамить, указав что я должен делать. В то время как я не мог этого сделать по Вашей же вине. (На работе так всем руководителям говорю. Про вину, конечно, а не про право указывать. Они злятся.)

Кроме того, программа может не успеть создать окно (за время задержки, которое я установлю между запуском программы и запуском xseticon). А если не будет окна, то я не смогу получить его WID (и надо будет писать цикл ожидания, что загружает процессор бесполезной загрузкой, что говорит о неправильном выборе архитектуры при композиции программного обеспечения).

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 8)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.