web-dev-qa-db-ja.com

独自のwebapp統合統合を作成する方法は?

Firefoxで使用するwebappを作成しようとしています。 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)にアクセスするたびに、このスクリプトを自動的に実行する必要があるかもしれません。どうやってやるの?

おかげで、

2
euDennis

はい、あなたは正しいです。もう一度実行する必要があります。

基本的にwebappsは ユーザースクリプト であり、特定のWebサイトにアクセスするたびに実行されます(あなたのケースでは https://tumblr.com/dashboard )。 Unityデスクトップ上のWebサイト。

そのため、「永続的」にしたい場合(Webサイトに入力するたびにそのコードを実行します)、Webサイトにそのjsを含める(所有している場合)か、 GreaseMonkey のようなものを使用できます TamperMonkey は、管理していないWebサイトにそのスクリプトを含めます。

もちろん、パッケージを作成することもできます。たとえば、unity-webapps-youtubeのソースを参照してください。

3
Salem

インストールパッケージを作成する前に、スクリプトを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. マニフェスト.jsonファイルをお気に入りのテキストエディターで開きます。

    Sudo nano manifest.json

  5. その空のファイルに、webapp統合に必要なメタデータを追加します。このメタデータは、統合スクリプトの開始コメントセクションに基づいている必要があります。 Mysiteスクリプトの基本的なボイラープレートマニフェストファイルを次に示します。

    {"includes":[" https://mysite.com/)"、 " http://mysite.com/ "]、
    "requires":["utils.js"]、
    "name": "Mysite"、
    "scripts":["Mysite.user.js"]、
    "maintainer": "Me"、
    "manifest-version": "1.0"、
    "integration-version": "1.0"、
    "package-name": "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 "}、" domain ":" mysite.com "、
    "homepage": " https://mysite.com/ "、
    "license": "GPL-3"}

  6. アプリ用に少なくとも128x128ピクセルの正方形のアイコンを作成し、64x64、52x52、48x48のサイズ変更コピーを作成します。 (これにはgThumb画像ビューアを使用します。GIMPも動作します。)すべてのファイルに同じ名前(unity-webapps-mysiteを付ける必要があります。 .png)そのため、「128」、「64」、「52」、「48」と呼ばれるフォルダーごとに個別のフォルダーを作成して、ファイルをまっすぐにしたい場合があります。

  7. これらのイメージファイルをディレクトリ/ 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としてパッケージ化してインストールする方法を考えています。しかし、私はその部分については不明です。いずれにしても、万が一に備えて、ホームフォルダー内のすべてのバックアップがあることを確認する必要があります。

0
monotasker