如何创建自己的webapp统一集成?
我正在尝试创建一些用于Firefox的webapps。 我从Canonical( http://developer.ubuntu.com/resources/app-developer-cookbook/unity/integrating-tumblr-to-your-desktop/ )获得了一个教程,我不明白一件事,也许有人可以帮我。
我必须在Web控制台中运行以下脚本:
// ==UserScript== // @name tumblr-unity-integration // @include https://tumblr.com/dashboard // @version @VERSION@ // @author WebApps Team // @require utils.js // ==/UserScript== window.Unity = external.getUnityObject(1.0); Unity.init({ name: "Tumblr", iconUrl: "icon://Tumblr", onInit: null });
一切都很好,它创建了图标启动器并使用alt + tab。 这对我来说已经足够了,但是,如果我关闭窗口,我停止工作之前创建的启动器图标(我的意思是,它打开网站,但不像其他webapp那样工作,并且不会在alt + tab中显示太)。 也许每次我进入该网站时都必须自动运行此脚本(在本例中为Tumblr)。 我怎样才能做到这一点?
谢谢,
是的,你是对的。 你需要再次执行它。
基本上,webapps是用户脚本 ,每次进入确定的网站(在您的情况下, https://tumblr.com/dashboard )时执行,然后提供Unity桌面上的网站集成。
因此,如果您想要“永久”(每次进入网站时执行该代码),您可以在网站上包含该js(如果您拥有它)或使用GreaseMonkey或TamperMonkey之类的东西在网站上包含该脚本你无法控制的。
当然,您也可以创建一个包:例如,请参阅unity-webapps-youtube
的来源。
以下是如何“正确地”将脚本集成到Ubuntu中,而不是制作安装包。 我在每个阶段都包括终端命令来执行我所描述的操作。 为了一般性,这假设您正在集成一个名为“Mysite”的应用程序。 (我在这里给出了比op可能需要的更明确的指示,但我想确保它对那些Linux里程较少的人有用。)
-
在/ usr / share / unity-webapps / userscripts /目录下为您的应用程序创建一个子文件夹。 为了保持一致性,最好将文件夹命名为unity-webapps-。
cd / usr / share / unity-webapps / userscripts
sudo mkdir unity-webapps-mysite -
将集成脚本(使用user.js扩展名)移动到刚刚创建的目录:
sudo mv~ / somefolder / Mysite.user.js / usr / share / unity-webapps / userscripts / unity-webapps-mysite /
-
在名为manifest.json的同一目录中创建一个新文件:
cd / usr / share / unity-webapps / userscripts / unity-webapps-mysite sudo touch manifest.json
-
在您喜欢的文本编辑器中打开manifest.json文件:
sudo nano manifest.json
-
向该空文件添加webapp集成所需的元数据。 此元数据应基于集成脚本的打开注释部分。 这是我们的Mysite脚本的基本样板清单文件:
{“includes”:[“ https://mysite.com/ ”,“ http://mysite.com/ ”],
“需要”:[ “utils.js”],
“名”:“MYSITE”
“脚本”:[ “Mysite.user.js”],
“维护者”:“我”,
“清单版本”:“1.0”,
“综合版”:“1.0”,
“包名”:“MYSITE”
“图标”:{ “128”: “128 /团结-web应用-mysite.png”,
“48”:“48 / unity-webapps-mysite.png”,“52”:“52 / unity-webapps-mysite.png”,“64”:“64 / unity-webapps-mysite.png”},“域“:” mysite.com”
“主页”:“ http://ubuntu.miximages.com/unity/em (unity-webapps-mysite.png),这样你就可以为每个文件创建单独的文件夹,叫做“128” “64”“52”和“48”保持文件笔直。 -
将这些图像文件复制到目录/ usr / share / icons / unity-webapps-applications / apps的相应子文件夹中。 如果已安装webapps包,则这些子文件夹应该已存在。
sudo mv~ / somefolder / 128 / unity-webapps-mysite.png / usr / share / icons / unity-webapps-applications / apps / 128 /
sudo mv~ / somefolder / 64 / unity-webapps-mysite.png / usr / share / icons / unity-webapps-applications / apps / 64 /
sudo mv~ / somefolder / 52 / unity-webapps-mysite.png / usr / share / icons / unity-webapps-applications / apps / 52 /
sudo mv~ / somefolder / 48 / unity-webapps-mysite.png / usr / share / icons / unity-webapps-applications / apps / 48 /
您的webapp现在应该集成到Unity中! 你应该能够找到它搜索Unity破折号的应用程序镜头然后(如果你想)将它固定到Unity启动器上。 可能不会立即拾取图标,但在这种情况下,只需注销并再次登录即可。 您的webapp现在应该出现在其所有标志性的荣耀中。
我不知道的是官方unity-webapps-applications包的更新是否会删除任何这些文件,所以我正在研究如何将脚本打包为.deb并安装它。 但我不清楚这一部分。 无论如何,您需要确保备份主文件夹中的所有内容以防万一。