web-dev-qa-db-fra.com

Comment créer ma propre intégration d'unité webapp?

J'essaie de créer des applications Web à utiliser avec Firefox. J'ai eu un tutoriel de Canonical ( http://developer.ubuntu.com/resources/app-developer-cookbook/unity/integrating-tumblr-to-your-desktop/ ) et je ne l'ai pas fait. comprendre une chose, peut-être que quelqu'un pourrait m'aider.

Je dois exécuter le script suivant dans la console 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 });

Tout va bien, il a créé le lanceur d'icônes et fonctionne avec alt + tab. C’est assez pour moi maintenant, mais, si je ferme les fenêtres, l’icône du lanceur que j’ai créée avant de cesser de fonctionner (je veux dire, elle ouvre le site, mais ne fonctionne pas comme les autres applications Web et n’apparaît pas dans alt + tab aussi). Peut-être que je dois exécuter ce script automatiquement à chaque fois que j'entre sur ce site (dans cet exemple, Tumblr). Comment puis je faire ça?

Merci,

2
euDennis

Oui, tu as raison. Vous devez l'exécuter à nouveau.

Les webapps sont essentiellement scripts utilisateur qui sont exécutés chaque fois que vous entrez sur un site Web déterminé (dans votre cas, https://tumblr.com/dashboard ), qui fournit ensuite l'intégration. le site Web sur le bureau Unity.

Donc si vous voulez rendre cela "permanent" (exécutez ce code chaque fois que vous entrez sur le site), vous pouvez inclure ce js sur le site (si vous en êtes le propriétaire) ou utiliser quelque chose comme GreaseMonkey ou TamperMonkey pour inclure ce script sur des sites Web que vous ne contrôlez pas.

Bien sûr, vous pouvez aussi créer un paquet: voir la source de unity-webapps-youtube par exemple.

3
Salem

Voici comment intégrer le script dans Ubuntu "correctement", sans créer de paquet d'installation. J'inclus à chaque étape les commandes du terminal pour faire ce que je décris. Par souci de généralité, cela suppose que vous intégriez une application appelée "Mysite". (Je donne ici des instructions plus explicites que l'opération n'en a probablement besoin, mais je veux m'assurer que cela est utile pour ceux qui utilisent moins de Linux.)

  1. Créez un sous-dossier pour votre application dans le répertoire/usr/share/unity-webapps/userscripts /. Pour plus de cohérence, il est bon de nommer votre dossier unity-webapps-.

    cd/usr/share/unity-webapps/scripts utilisateur
    Sudo mkdir unité-webapps-mysite

  2. Déplacez votre script d'intégration (avec l'extension user.js) dans le répertoire que vous venez de créer:

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

  3. Créez un nouveau fichier dans ce même répertoire appelé manifest.json:

    cd/usr/share/unity-webapps/scripts utilisateur/unity-webapps-mysite Appuyez sur manifest.json

  4. Ouvrez ce fichier manifest.json dans votre éditeur de texte préféré:

    Sudo nano manifest.json

  5. Ajoutez à ce fichier vide les métadonnées requises pour l'intégration de l'application Web. Ces métadonnées doivent être basées sur la section des commentaires d’ouverture de votre script d’intégration. Voici un fichier manifeste de base standard pour notre script Mysite:

    {"inclut": [" https://monsite.com/", " http://monsite.com/ "],
    "requiert": ["utils.js"],
    "name": "Mysite",
    "scripts": ["Mysite.user.js"],
    "mainteneur": "moi",
    "manifest-version": "1.0",
    "version d'intégration": "1.0",
    "nom-paquet": "Mysite",
    "icons": {"128": "128/unity-webapps-mysite.png",
    "48": "48/unity-webapps-mysite.png", "52": "52/unity-webapps-mysite.png", "64": "64/unity-webapps-mysite. png "}," domaine ":" mysite.com ",
    "homepage": " https://mysite.com/ ",
    "licence": "GPL-3"}

  6. Créez une icône carrée pour votre application d'au moins 128 pixels par 128 pixels et créez des copies redimensionnées au format 64x64, 52x52 et 48x48. (Je viens d'utiliser gThumb image viewer pour cela. GIMP fonctionne également.) Vous devez donner le même nom à tous les fichiers (unity-webapps-mysite .png), vous voudrez peut-être créer des dossiers distincts pour chacun d'eux, appelés "128", "64", "52" et "48", afin de conserver les fichiers en ligne.

  7. Copiez ces fichiers image dans les sous-dossiers appropriés du répertoire/usr/share/icons/unity-webapps-applications/apps. Si le paquet Webapps est déjà installé, ces sous-dossiers doivent déjà exister.

    Sudo mv ~/un-dossier/128/unity-webapps-mysite.png/usr/share/icons/unity-webapps-applications/apps/128 /
    Sudo mv ~/un-dossier/64/unity-webapps-mysite.png/usr/share/icons/unity-webapps-applications/apps/64 /
    Sudo mv ~/un-dossier/52/unity-webapps-mysite.png/usr/share/icons/unity-webapps-applications/apps/52 /
    Sudo mv ~/un-dossier/48/unity-webapps-mysite.png/usr/share/icons/unity-webapps-applications/apps/48 /

Votre application Web devrait maintenant être intégrée à Unity! Vous devriez pouvoir le trouver en train de chercher l'objectif des applications du tiret Unity, puis (si vous le souhaitez) épinglez-le sur votre lanceur Unity. Il est possible que l'icône ne soit pas détectée immédiatement, mais dans ce cas, déconnectez-vous puis reconnectez-vous. Votre application Web devrait maintenant apparaître dans toute sa gloire emblématique.

Ce que je ne sais pas, c'est si les mises à jour du paquet officiel unity-webapps-applications vont supprimer l'un de ces fichiers. Je cherche donc à créer un script en tant que .deb et à l'installer. Mais je ne suis pas clair sur cette partie. D'une manière ou d'une autre, vous voudrez vous assurer que vous avez une sauvegarde de tout ce qui se trouve dans votre dossier personnel au cas où.

0
monotasker