А это можно как-то проиллюстрировать? Может скриншот похожего,
может я ересь написал, почему такие вопросы возникают?
Окно любой программы может быть «свёрнуто», закрыто или «свёрнуто» в трей. Это универсальное поведение для разных распространенных ОС.
Некоторые программы свёрнутые в трей, при попытке их еще раз запустить, просто разворачиваются. А некоторые – другие – программы плодятся и множатся при запуске. И не всегда это поведение можно настроить.
и что трей туда не засунуть? я не пользовался openbox и не знаю как там устроено, в wm который использую все в куче на одной панеле живет и скрытые окна и трей - как в винде рядом с часиками.
Насколько я помню - меню опенбокса - кривая труднонастраиваемая опциональная хреновина, а трей должен быть всё таки в панели. И openbox не настолько гибкий, там один xml-конфиг и простые вещи задаются сложными конструкциями. Секции настройки трея не помню.
Трей это не «список программ», это api взаимодействия с приложениями для вывода их значков. Если меню не предполагает сложных виджетов - без шансов. Ну или через правку исходников.
взаимодействия с приложениями для вывода их значков.
выведу вместо значков их названия
там один xml-конфиг и простые вещи задаются сложными конструкциями.
человечество не стоит на месте, скоро на всех компах будут ИИ-процессоры и наконец то комьютер сам будет писать эти сложные конфиги для менюшек опенбокса.
Никак! Если осилишь - то из С++ библиотеки наверное можно. Но вообще нет ни нодного ДЕ/ВМ с дублированием трея и вообще внешним взаимодействием с треем.
Думаю сначала надо написать С/С++/rust/vala клиент-прослойку чтобы потом дёргать его из баша и питона.
Я ещё никогда и нигде не встречал ничего подобного. Самое близкое это расширения для гнома, возвращающие трей в гномошел или перемещающие его по панелями этого шела.
О, или есть какой то WM, конфиг к которому пишется как раз на С. И вроде как там можно сделать всё что угодно, только сложно.
Если имеется в виду меню Openbox в панели, то за это отвечает панелька, которая должна это поддерживать, а не сам Openbox. Панелька Tint2, например, поддерживает.
О, или есть какой то WM, конфиг к которому пишется как раз на С. И вроде как там можно сделать всё что угодно, только сложно.
dwm что ли? Там трей тоже в панель встраивается через XEMBED, ничего особенного. Содержимое такого трея это просто окна нескучные. Чтобы с ними взаимодействовать из скрипта понадобится какое-то дикое шаманство с xdotool для управления мышиным курсором. Ну может повезет и в самом приложении будут какие-то средства, типа вытащить окно из трея по хоткею. Короче, трей маздай. Это чисто мышевозная херня из винды.
дикое шаманство с xdotool для управления мышиным курсором. Ну может повезет и в самом приложении будут какие-то средства, типа вытащить окно из трея по хоткею.
вот почему то все «шаманства» сводятся к програмно кликнуть в иконку и выбрать из меню. Как то совсем дико.
Дико конечно страдать такой фигней. От трея нужно было давно отказаться в пользу скратчпадов и уведомлений. Вместо этого одни линуксоделы переизобретают тот же самый трей, другие его выкидывают и не дают ничего взамен.
Короче, трей маздай. Это чисто мышевозная херня из винды.
но вот тут н согласен. Нужно дополнить api новыми возможностями, а не закапывать. Видимая область для уведомления о запуске и/или событиях нужна, причём не только десктопам но и смартфонам и планшетам. Маленькая такая, не навязчивая, но чтобы вмещалось 6-8-10+ значков. И кмк виндовй трей был бы даже для андроида лучше той хрени, которую наворотили в 5+ андроидах. Там ВСЁ лишнее кроме видимых значков (с изменяемым видом для статуса) и возможности ткнуть один из них чтобы открыть нужное приложение. Ну и разумеется настройки «это скрывать, это показывать всегда», ну так это ещё в ХР было на хорошем уровне.
Потому что трей - старое и примитивное api. Оно заточено только под вывод сетки значков, есть функуия изменять картинку и реагировать на правый или левый клик. И всё! Больше ничего трей не умеет. Собственно этого вполне достаточно - простота реализации и стандартзация здесь важнее 100500 функций.
Это всегда страшная свалка, жирная и неудобная. И ещё сношающая мозги когда левая пятка зачешется. Но при этом нет функции просто показать что клиент запущен и работает. Нут уж, трей лучше.
Но главное - все умеют работать с треями, api более-менее стандартизованы. А вся эта уведомительная хрень потребует отдельных релизаций для гном/кде/xfce/openbox и отдельных для версий Х11/вайланд/винда/другое. Весело? Весело!