【发布时间】:2014-06-08 02:39:51
【问题描述】:
我试图在 Win7 中将每个配置文件的窗口组分开。我发现这是可行的,方法是在taskbar.grouping.useprofile 的所有配置文件中创建首选项并将其设置为 true 并重新启动所有配置文件 (https://bugzilla.mozilla.org/show_bug.cgi?id=644914) 的浏览器。
但它的工作原理是它改变了 defaultGroupId Cc["@mozilla.org/windows-taskbar;1"].getService(Ci.nsIWinTaskbar).defaultGroupId
问题在于,在创建此首选项之前,Firefox 使用 firefox.exe 的 defaultGroupId,但在创建首选项配置文件后,现在的 defaultGroupId 与此不同。因此,如果最初,在创建该首选项并重新启动浏览器之前,如果用户已固定firefox.exe,那么在创建首选项并重新启动浏览器后它将始终是分开的。
所以我想做的是在profiles.ini中标记为Default=1的配置文件我想以编程方式使其使用firefox.exe的defaultGroupId,但事情是一旦创建了pref并重新启动了浏览器我无法弄清楚firefox.exe 的defaultGroupId。
我最后的解决方案是:(1)安装我的插件时,如果taskbar.grouping.useprofile 是的首选项在那里并设置为true,然后将其设置为false并要求用户重新启动重新启动它将找出defaultGrupId并将其存储为首选项然后我将添加首选项然后要求用户再次重新启动(真的不想这样做)(2)如果@的首选项安装我的插件987654334@ 不在那里并设置为 true 然后将首选项设置为当前 defaultGroupId 的值。
【问题讨论】:
-
我认为这是可能的。是否可以在此代码运行之前阅读
wt.defaultGroupId:mxr.mozilla.org/mozilla-central/source/widget/windows/…
标签: windows-7 process firefox-addon profile xpcom