如何创建自己的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里程较少的人有用。)

  1. 在/ usr / share / unity-webapps / userscripts /目录下为您的应用程序创建一个子文件夹。 为了保持一致性,最好将文件夹命名为unity-webapps-。

    cd / usr / share / unity-webapps / userscripts
    sudo mkdir unity-webapps-mysite

  2. 将集成脚本(使用user.js扩展名)移动到刚刚创建的目录:

    sudo mv~ / somefolder / Mysite.user.js / usr / share / unity-webapps / userscripts / unity-webapps-mysite /

  3. 在名为manifest.json的同一目录中创建一个新文件:

    cd / usr / share / unity-webapps / userscripts / unity-webapps-mysite sudo touch manifest.json

  4. 在您喜欢的文本编辑器中打开manifest.json文件:

    sudo nano manifest.json

  5. 向该空文件添加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”保持文件笔直。

  6. 将这些图像文件复制到目录/ 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并安装它。 但我不清楚这一部分。 无论如何,您需要确保备份主文件夹中的所有内容以防万一。