Como criar minha própria integração de unidade webapp?

2

Estou tentando criar algumas aplicações web para usar com o Firefox. Recebi um tutorial da Canonical ( link ) e eu não entendi uma coisa, talvez alguém possa me ajudar.

Eu tenho que executar o seguinte script no console da 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 });

Tudo está bem, criou o iniciador de ícones e funciona com o Alt + Tab. O suficiente para mim agora, mas, se eu fechar as janelas, o ícone do launcher que eu criei antes de parar de funcionar (quero dizer, ele abre o site, mas não funciona como outro aplicativo da web e não aparece no alt + tab também). Talvez eu tenha que executar este script automaticamente toda vez que eu entrar nesse site (neste exemplo, Tumblr). Como posso fazer isso?

Obrigado,

    
por euDennis 16.03.2013 / 22:57

2 respostas

3

Sim, você está certo. Você precisa executar isso novamente.

Basicamente, os webapps são scripts de usuário que são executados toda vez que você entra em um determinado site (em seu caso, link ), que fornece a integração do site na área de trabalho do Unity.

Então, se você quiser tornar isso "permanente" (executar esse código sempre que entrar no site), você pode incluir esse js no site (se for o proprietário) ou usar algo como GreaseMonkey ou TamperMonkey para incluir esse script em sites que você não controla.

Claro, você também pode criar um pacote: veja a origem de unity-webapps-youtube , por exemplo.

    
por Salem 17.03.2013 / 00:27
0

Veja como integrar o script no Ubuntu "corretamente", antes de criar um pacote de instalação. Estou incluindo em cada estágio os comandos do terminal para fazer o que descrevo. Por uma questão de generalidade, isso pressupõe que você esteja integrando um aplicativo chamado "Mysite". (Eu estou dando instruções mais explícitas aqui do que o op provavelmente precisa, mas eu quero ter certeza que é útil para aqueles com menos milhagem Linux.)

  1. Crie uma subpasta para seu aplicativo no diretório / usr / share / unity-webapps / userscripts /. Para consistência, é bom nomear sua pasta unity-webapps -.

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

  2. Mova seu script de integração (com a extensão user.js) para o diretório que você acabou de criar:

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

  3. Crie um novo arquivo no mesmo diretório chamado manifest.json:

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

  4. Abra o arquivo manifest.json no seu editor de texto favorito:

    sudo nano manifest.json

  5. Adicione a esse arquivo vazio os metadados necessários para a integração do webapp. Esses metadados devem ser baseados na seção de comentários de abertura do seu script de integração. Aqui está um arquivo básico de manifesto padrão para o nosso script Mysite:

    {"includes": [" link ", " link "],
    "requer": ["utils.js"],
    "name": "Mysite",
    "scripts": ["Mysite.user.js"],
    "mantenedor": "Eu",
    "manifest-version": "1.0",
    "integração-versão": "1.0",
    "package-name": "Mysite",
    "icons": {"128": "128 / unity-webapps-mysite.png",
            "48": "48 / unit-webapps-mysite.png",         "52": "52 / unity-webapps-mysite.png",         "64": "64 / unity-webapps-mysite.png"}, "domain": "mysite.com",
    "homepage": " link ",
    "licença": "GPL-3"}

  6. Crie um ícone quadrado para seu aplicativo com pelo menos 128 x 128 pixels e faça cópias redimensionadas de 64 x 64, 52 x 52 e 48 x 48. (Eu apenas uso o visualizador de imagens gThumb para isso. O GIMP também funciona.) Você precisa dar todos os arquivos o mesmo nome (unity-webapps-mysite.png), então você pode querer criar pastas separadas para cada um chamado "128" "64" "52" e "48" para manter os arquivos diretos.

  7. Copie esses arquivos de imagem para as subpastas apropriadas do diretório / usr / share / icons / unity-webapps-applications / apps. Se você já tiver o pacote webapps instalado, essas subpastas já deverão existir.

    sudo mv ~ / algumapasta / 128 / unity-webapps-mysite.png / usr / share / ícones / unity-webapps-applications / apps / 128 /
    sudo mv ~ / algumapasta / 64 / unit-webapps-mysite.png / usr / share / ícones / unity-webapps-applications / apps / 64 /
    sudo mv ~ / somefolder / 52 / unidade-webapps-mysite.png / usr / share / ícones / unidade-webapps-applications / apps / 52 /
    sudo mv ~ / somefolder / 48 / unidade-webapps-mysite.png / usr / share / ícones / unity-webapps-applications / apps / 48 /

Agora, sua webapp deve ser integrada ao Unity! Você deve ser capaz de encontrá-lo pesquisando a lente de aplicativos do painel Unity e, em seguida, se desejar, fixá-lo ao seu iniciador Unity. É possível que o ícone não seja atendido imediatamente, mas, nesse caso, faça o logout e faça o login novamente. Sua webapp deve agora aparecer em toda a sua glória icônica.

O que eu não sei é se as atualizações do pacote oficial unity-webapps-applications removerão qualquer um desses arquivos, então estou trabalhando para descobrir como empacotar um script como .deb e instalá-lo. Mas não estou claro sobre essa parte. De uma forma ou de outra, você vai querer ter certeza de que você tem um backup de tudo na sua pasta pessoal para o caso.

    
por monotasker 16.04.2013 / 20:53