Vimium: 機能リクエスト:新しいWeb拡張APIを使用したmacOS BigSurでのSafariのサポート

作成日 2020年06月28日  ·  16コメント  ·  ソース: philc/vimium

Safari Web Extensions APIを使用すると、同じコードベースを使用してSafariをサポートできるはずです。

Safariの現在の代替手段には、Vimiumと同等の機能がないため、これは非常に優れています。

リンク:

https://developer.apple.com/documentation/safariservices/safari_web_extensions
https://developer.apple.com/videos/play/wwdc2020/10665/
https://hacks.mozilla.org/2020/06/welcoming-safari-to-the-webextensions-community/

最も参考になるコメント

みなさん、こんにちは! 私は、 VimiumのSafariポートであるVimariの(時々不在の)メンテナです。 Vimariは何年も前にVimiumコードベースからフォークされており、Vimiumの新機能にほとんど遅れをとっています。 新しいSafariWeb拡張機能のサポートに非常に興奮しています。理論的には、VimariコードベースをVimiumコードベースと統合できます(必要な場合)。 Vimiumのメンテナが何を望んでいるかに応じて、ここでコラボレーションの機会がいくつかあります。

  • Safari Web拡張機能のサポートをVimiumに追加し、Vimium開発者にApp Store外のリリースを管理させます(ここでの更新はより困難になります)
  • Safari Web拡張機能のサポートをVimiumに追加し、Vimium開発者にAppStoreへのリリースを管理させます
  • Safari Web拡張機能のサポートをVimiumに追加し、Vimari開発者(現在は私)にAppStoreへのリリースを管理させます。 必要に応じて、これをVimiumに名前変更できます。
  • Safariのサポートに興味がない場合、または様子見のアプローチを取りたい場合、VimariはVimiumコードベースの新しいフォークを作成してSafari対応のポートを構築し、可能な場合はアップストリームにパッチを提供し、独自のリリースを実行します。 App Store
  • VimariはVimiumから新しいフォークを分岐し、独自の新しいコードベースを作成します。 これは本質的に何年も前に行われたことであり、私の最も好ましくないオプションです。

全てのコメント16件

Apple Developerアカウントが必要です。これは、毎年99米ドルを意味します...

このようなものの費用を賄うためにVimiumの取り組みに寄付する方法はありますか? Safari Web Extensions APIは、特にVimiumの動作を見る可能性があるため、おそらく私を最も興奮させたWWDCの発表でした。

ここにはいくつかのオプションがあります。

  1. 費用を賄うために寄付をすることができます。 (GitHubスポンサーなど)
  2. AppStoreでアプリを販売して費用を賄うことができます。 いいね(ダークリーダー)
  3. 誰かの個人アカウントでデプロイします(とにかくApple Developer Programに登録する必要があるので、私は私に貢献できてうれしいです)
  4. AppStoreには配布せず、ユーザーはXcodeを使用して構築するか、独自の配布方法を作成できます。

私の唯一の懸念は、SafariのWebExtensionAPIサポートがvimiumには十分ではないということです

私もこれに興味があります。 現在、私は自分のフォークでSafariの代替手段の1つであるVimariに少し取り組んでいます。 macOS Big Surベータ版を実行しているため、VimiumプロジェクトでSafari Web拡張機能コンバーターを正常に実行でき、次の結果が得られました。

$ xcrun safari-web-extension-converter ./vimium --project-location ./vimium-xcode
Xcode Project Location: ./vimium-xcode
App Name: Vimium
App Bundle Identifier: com.yourCompany.Vimium
Language: Swift
Is this correct? [yes]: yes
Warning: The following keys in your manifest.json are not supported by your current version of Safari. If these are critical to your extension, you should review your code to see if you need to make changes to support Safari:
        history
        clipboardRead
        match_about_blank
        bookmarks
        sessions
        notifications

matchesキーがcontent_scripts/file_urls.css定義されている行78のマニフェストcontent_scriptsにエラーがあったため、最初は拡張機能を実行できませんcontent_scripts/file_urls.css

"matches": ["file:///", "file:///*/"],

私はVimiumのコードベースに精通していませんが、マニフェストからcssファイルを削除してもアプリケーションが壊れることはないと考えたので、マニフェストのこのセクションを削除しました。 この後、Safari14で拡張機能をビルドしてアクティブ化することができました。

アクティベーション時に、何かをグレースケールに変換できないためにSafariがクラッシュするという問題が発生しました(すべての拡張ロゴはグレースケールであるため、おそらくロゴです)。 再起動後、VimiumのアイコンもSafariに表示されません。

Screenshot 2020-07-11 at 19 10 32

Screenshot 2020-07-11 at 19 30 26

ただし、拡張機能はアクティブ化されているようです。この次の画像では、Webサイトのコンテンツにアクセスするためのアクセス許可をツールに付与した後、拡張機能によってページにロードされたすべてのファイルを確認できます(Vimariの場合と同様)。

Screenshot 2020-07-11 at 19 18 31

ただし、残念ながら、Vimiumの機能はいずれも機能していないようです。コンソール(XcodeまたはSafari)にエラーが表示されないため、最初の呼び出しが行われていない可能性があります。 SafariでVimiumの動作バージョン(おそらくすべての機能を備えていない)を取得するためにこのパスを継続することに関心がある場合は、Vimiumコードベースに精通している誰かと午後を過ごしてそれを取得しようと思います仕事。

Vimiumはバックグラウンドページを所有している必要があるため、エラーメッセージはオプションページではなくbgページのコンソールに表示される場合があります。

あなたは正しかった、私はバックグラウンドページでエラーを見つけました:

Screenshot 2020-07-11 at 20 50 17

みなさん、こんにちは! 私は、 VimiumのSafariポートであるVimariの(時々不在の)メンテナです。 Vimariは何年も前にVimiumコードベースからフォークされており、Vimiumの新機能にほとんど遅れをとっています。 新しいSafariWeb拡張機能のサポートに非常に興奮しています。理論的には、VimariコードベースをVimiumコードベースと統合できます(必要な場合)。 Vimiumのメンテナが何を望んでいるかに応じて、ここでコラボレーションの機会がいくつかあります。

  • Safari Web拡張機能のサポートをVimiumに追加し、Vimium開発者にApp Store外のリリースを管理させます(ここでの更新はより困難になります)
  • Safari Web拡張機能のサポートをVimiumに追加し、Vimium開発者にAppStoreへのリリースを管理させます
  • Safari Web拡張機能のサポートをVimiumに追加し、Vimari開発者(現在は私)にAppStoreへのリリースを管理させます。 必要に応じて、これをVimiumに名前変更できます。
  • Safariのサポートに興味がない場合、または様子見のアプローチを取りたい場合、VimariはVimiumコードベースの新しいフォークを作成してSafari対応のポートを構築し、可能な場合はアップストリームにパッチを提供し、独自のリリースを実行します。 App Store
  • VimariはVimiumから新しいフォークを分岐し、独自の新しいコードベースを作成します。 これは本質的に何年も前に行われたことであり、私の最も好ましくないオプションです。

@danielcompton最初のアイデアが可能かどうか

@danielcomptonよろしくお願いします! Safariのサポートにとても興味があります。 あなたが提示したオプションのうち、2番目は目標です。 ChromeとFirefoxストアへのリリースを管理しており、App Storeでも管理できます(アクティブな開発者アカウントを持っています)。

どこから始めますか?

Safari14が公開されました。 この取り組みを促進するために支援が必要な未解決の問題を抱えている人はいますか?

やあ。 この面で何か進展があるかどうか疑問に思います。

ChromeでVimiumを使用していますが、Safariでも使用したいと思っています。

これを見たいのですが、Vimiumは私がまだChromeを使用している数少ない理由の1つです。 Safariに切り替えて、バッテリーの寿命を延ばしたいと思っています。

やあ。 これについて何か進展があるのだろうか。

Safariでvimiumを使うのを待っていました。

私はmacOSBigSurのSafariでVimariをうまく使用しています。

@philc @danielcompton進捗状況/ロードマップはありますか? なんらかの形でお手伝いできますか?
vimiumがvimariのマージを受け入れたいという愛❤️
本当にスピードを上げるためにサファリに切り替えたいのですが、 T (開いているタブを検索)コマンドがないとxDが失われます

@philc @danielcompton進捗状況/ロードマップはありますか? なんらかの形でお手伝いできますか?
vimiumがvimariのマージを受け入れたいという愛❤️
本当にスピードを上げるためにサファリに切り替えたいのですが、 T (開いているタブを検索)コマンドがないとxDが失われます

Safariのvimiumも待っています。 開いているタブを切り替える場合は、このAlfredワークフローが役立つ可能性があります: https

このページは役に立ちましたか?
0 / 5 - 0 評価