Попытка присвоения aDefaultGroupId

Firefox назначает defaultGroupId используя этот исходный код на C++.

Через XPCOM я могу получить это так:

Cc["@mozilla.org/windows-taskbar;1"].getService(Ci.nsIWinTaskbar).defaultGroupId;

Я также могу установить его с nsIWinTaskbar обслуживание, но я должен делать это каждый раз, когда я открываю окно.

Таким образом, в основном, когда открывается окно, оно открывается с идентификатором группы DEFAULT.

Я хочу изменить это defaultGroupId, Это возможно? Моя альтернатива - установить идентификатор группы для каждого окна при его открытии, что довольно интенсивно, и поэтому я бы хотел избежать:(

1 ответ

Решение

Прежде всего defaultGroupId на самом деле не назначен. По сути, это свойство getter, которое пересчитывается каждый раз, когда вы получаете к нему доступ. Таким образом, вы не можете переназначить его.

Вы можете переопределить / проксировать весь сервис, но это также не сработает, потому что метод также вызывается напрямую в некоторых местах, минуя альтернативную реализацию XPCOM, которую вы предоставите. Таким образом, вы не можете переопределить это.

Вы не хотите исправлять память процесса, потому что это будет настолько большим хаком, что это взорвется вам в лицо, как минимум, в будущей версии.

Поэтому нет, вы не можете переопределить / переназначить значение по умолчанию.

Другие вопросы по тегам