LINUX.ORG.RU

История изменений

Исправление windows10, (текущая версия) :

Во-первых, convention over configuration – злое зло.

Это почему ?

Во-вторых, а если я хочу из приложения две иконки нарисовать?

Хоть десять. У тебя условный gtk_container_add, им ты можешь добавлять что угодно вкуда угодно, лишь бы у этого вкуда был идентификатор. И тогда ты сам себе определяешь меню, реакцию на него, сам рисуешь свою иконку и обрабатываешь события. Ну а приложению трея останется лишь чистить мусор :)

А в-третьих, я перестал понимать, ты говоришь о пользовательском (т.е. доступном прикладному программисту) API, или о том, как оно внутри реализовано?

Как внутри.

Как по мне, концепция «оба приложения общаются друг другом через установленное соединение сквозь посредник» избыточнее концепции «хотящее в трей приложение кладет себя в папку, хотящие вывести трей приложения читают папку» :)

Нарисуй к нему фасад

Фасад фасадом, а даже если абстрагироваться от задачи «систрей» - реализация шины нелогичная и непонятная с кучей шелухи, которая может работать, а может и не работать.

Introspect:

<method name="GetAll">
<arg type="s" name="interface_name" direction="in"/>
<arg type="a{sv}" name="properties" direction="out"/>
</method>

Окей, получили метод GetAll, вызываем. Ответ: Error: No such interface “”. Каааак? Ты же только что мне вывел что он у меня есть. Это кстати пример как работает реализация SNI. И вот уже чтобы мне побороть эти костыли, мне нужно писать свой костыль. За таймаут 25 с я чуть позже расскажу =)

Исходная версия windows10, :

Во-первых, convention over configuration – злое зло.

Это почему ?

Во-вторых, а если я хочу из приложения две иконки нарисовать?

Хоть десять. У тебя условный gtk_container_add, им ты можешь добавлять что угодно вкуда угодно, лишь бы у этого вкуда был идентификатор. И тогда ты сам себе определяешь меню, реакцию на него, сам рисуешь свою иконку и обрабатываешь события. Ну а приложению трея останется лишь чистить мусор :)

А в-третьих, я перестал понимать, ты говоришь о пользовательском (т.е. доступном прикладному программисту) API, или о том, как оно внутри реализовано?

Как внутри.

Как по мне, концепция «оба приложения общаются друг другом через установленное соединение сквозь посредник» избыточнее концепции «хотящее в трей приложение помечает кладет себя в папку, хотящие вывести трей приложения читают папку» :)

Нарисуй к нему фасад

Фасад фасадом, а даже если абстрагироваться от задачи «систрей» - реализация шины нелогичная и непонятная с кучей шелухи, которая может работать, а может и не работать.

Introspect:

<method name="GetAll">
<arg type="s" name="interface_name" direction="in"/>
<arg type="a{sv}" name="properties" direction="out"/>
</method>

Окей, получили метод GetAll, вызываем. Ответ: Error: No such interface “”. Каааак? Ты же только что мне вывел что он у меня есть. Это кстати пример как работает реализация SNI. И вот уже чтобы мне побороть эти костыли, мне нужно писать свой костыль. За таймаут 25 с я чуть позже расскажу =)