GTK +ファイルダイアログを代替に置き換えます


26

別のファイルダイアログを使用するようにGTK +プログラムを構成する方法はありますか?

デフォルトのダイアログで古代の 記事読んで、現在のバージョンとの違いを確認することは、近い将来に改善されることの前兆ではありません。

私はこの質問を読んだことがありますが、1年近くでそうする数少ない人の1人のようです。その質問に対するコメントで述べたように:

archlinuxには、KDE用のFFのパッチバージョンがあります。あなたがKDEにいて、ドルフィン/それが何であるかを削除したバージョンのようにうまく機能しますが、KDEを使用していない場合は残念ながらファイルセレクタを変更しないようです

現在、私はカスタムOpenboxセットアップを使用しているため、Firefoxは嫌いなGTK +ダイアログを使用するようになりました。ただし、このソリューションはFirefoxでのみ機能するため、これをシステムからグローバルに削除する方法を希望します。


1
私が適切に理解している場合、OpenboxにあるGTKダイアログでは、ファイル名を入力したり、ロケーションバーを編集したりできませんか?どうして?他の人が見られるように、システムにGTKダイアログのスクリーンショットを投稿する方が良いと思います。
clearkimura

@clearkimura少なくともほとんどの場合、ロケーションバーがあります(それが頻繁に省略される原因を特定できませんでした。)私の本当の不満は、大きなディレクトリ(数百の画像ファイル)を開くときに時々必要になる非常に長いロード時間です
-gandalf3

1
@clearkimura私にとっては、たとえばgimp(GTK 2)によって表示されるダイアログで、平均で数100 kBの画像ファイルを1000個まで含むディレクトリに移動すると、20秒以上ハングします。イルカの同じディレクトリに移動すると、すぐにロードされます。
gandalf3

回答:


8

この回答は元の投稿から修正されています、2015年後半に最初に回答ました。内容が再配置され、一部の冗長なテキストが削除され、関連するテキストが追加されました。

いくつかの説明

[...]たとえばGIMP(GTK + 2)によって表示されるダイアログにより、20秒以上ハングします。Dolphinの同じディレクトリに移動すると、すぐにロードされます。

イメージエディターのGTK +ファイルチューザーを(Qtファイルチューザーの代わりに)Qtファイルマネージャーと比較するのはやや奇妙です。また、これらのアプリケーションは同じツールキットを使用しません。物事は互いに異なる方法で処理されることは明らかです。

少なくともほとんどの場合、ロケーションバーがあります(それが頻繁に省略される原因を特定できませんでした。)

GTK +ダイアログの場合、ファイルチューザーで「最近使用した」を表示している間、ロケーションバーは表示されません。このビューでは、Ctrl+ Lショートカットキーも機能しません。これが、OPがファイル選択ツールでロケーションバーを省略していると主張した理由です。

直接回答

KGtkは、GTK +アプリケーションでKDEダイアログを使用するためのハック的な方法です。2006年半ばに初めてリリースされ、KDE-Apps.orgでアップストリームとして、またAURパッケージを介して利用可能になりました。

これは有望に思えますが、この作業の意図はQtおよびGTK +アプリケーションの外観を統一することであることに注意してください。最も可能性が高いのは、ユーザーによって議論されている遅い問題に対処していないことです。

拡張回答(2015-11-23)

この拡張回答は、質問で提起された2つの問題、嫌いなGTK +ダイアログ(使いやすさの問題)とダイアログがしばらくハングする(応答性の問題)に対処します。

以下は、GTK +に関連する関連問題に言及するバグレポートです。

  • 2008年のDebianバグレポートは、 GTK +ファイル選択が開くのが遅く、そのパス名を最速で編集することができないと訴えました。

  • 2008年のKubuntuメタバグレポートでは、GTK +ダイアログがKDEネイティブダイアログよりもなじみがないため、使用が困難になっています。

  • 2009年の質問では、 GTK +ファイル選択ダイアログを使用して、ネットワーク経由で多くのファイルを含むディレクトリを参照するのが非常に遅いと不平を言っていました。

  • 2011年の質問は、標準のダイアログでは不可能なGTK +ファイル選択をカスタマイズする方法を尋ねていました。

  • 2012年のGTK + 2.0バグレポートには、Webブラウザー経由でファイルをアップロードする際に問題があり、GTK + 2ファイルチューザーが遅くなるか、数分間ハングしていました。

  • 2014年のGD.SEの質問は、ファイルへのパスを編集するための参照ボタンやテキストボックスがなかったため、GIMPでファイルをすばやく開く方法を尋ねるために投稿されました。

次は、KDEに関連する関連問題(特に応答性の問題)に言及するバグレポートです。

  • 2010年のKDEバグレポートは、KDEダイアログが非常に遅いことを明らかにしています。

  • 2012年のKDEバグレポートも同様に、KDE ​​4.Xリリースでは、KDEダイアログが他のファイルチューザーよりも遅くなる可能性があると報告しました。

GTK +ダイアログまたはKDEダイアログに関係なく、応答性の問題は珍しくなく、特定の条件(キャッシュされていないアイコンなど)が満たされると明らかになります。

拡張回答(2017-02-12)

使いやすさの問題に関して、GTK +とKDEの両方のダイアログは、過去数年間にそれぞれのデスクトップ環境で変更されました。

GTK +ダイアログでは、デフォルトでロケーションツールバーが表示されます。ただし、新しいバージョンのツールキットではデフォルトで非表示になっています。

  • GTK + 2.Xでは、ショートカットキーCtrl+ Lまたは[場所の編集] UIボタンを使用して、場所を編集できます。

  • GTK + 3.Xでは、Ctrl+ Lショートカットキーを使用して場所を編集できます([場所の編集] UIボタンがまったく表示されない場合があります)。

KDEダイアログの場合、ユニークな機能は、「UI」の下に常に表示される「ファイル名:」テキストフィールドと、編集時にロケーションツールバーに変換されるロケーションパスバーです。

  • KDE 3.Xでは、Ctrl+ キーLまたは/ショートカットキー、または「ファイル名:」テキストフィールドを使用して場所を編集できます(一部のプログラムでは場所バーを直接編集できません)。

  • KDE 4.Xでは、Ctrl+ Lショートカットキーまたは「ファイル名:」テキストフィールドを使用するか、マウスカーソルを使用してロケーションパスバーをクリックすることで、ロケーションを編集できます。

  • KDE 5.Xでは、KDE ​​4.Xと同様の場所を編集できます

対照的に、Qtダイアログは通常カスタマイズ可能で、GTK +またはKDEダイアログスタイルのいずれかを使用できます。ダイアログスタイルは、次のいずれかの方法で変更できます。

  • 手動構成、プログラム固有(VLCメディアプレーヤーなどによる)

  • システム全体の手動設定(Qt Settingsによる。これまでのところ、Ubuntuの古いリリース、つまり14.04のQt 4に依存するプログラムにのみ適用可能)

  • システム全体の自動構成(Ubuntuの新しいリリース、つまり16.04で自動的に検出される特定のツールキットパッケージをインストールすることにより)

さまざまなツールキットはさまざまなエクスペリエンスとダイアログスタイルを提供しますが、前述のすべてのツールキット(GTK +、KDE、およびQt)を使用すると、ファイル選択ダイアログで場所を編集できます。

TL; DR現在まで、KGtkはGTK +ダイアログを置き換える唯一の方法であるようで、アプリケーションごとに適用する必要があります。システム全体のケースでダイアログを実際に置き換える既知の代替手段はありません。そうでない場合は、GTK +ファイルチューザーの読み込みを高速化する回避策を探します(これは別の質問です)。


回答者のメモ:この回答は、GTK +、KDE、およびQtのファイルダイアログの使いやすさと応答性の問題に対処するために最初に書かれました。それ以降は状況が変わった可能性があり、この回答は非推奨になる可能性があります。したがって、この回答はコミュニティWikiになったため、評判の低い人なら誰でもこの投稿を改善したり、少なくとも今ではコミュニティの編集に対してよりオープンになります。


答えてくれてありがとう!理由はわかりませんが、私のシステムでは、kde / qtダイアログはGTKダイアログよりもはるかに高速で応答します。使いやすさに関しては、GTKダイアログには私が慣れていない/嫌いな多くの型にはまらない振る舞いがあります(たとえば、タブの完了後にEnterキーを押す必要があるため、再入力する前に2〜3秒遅れます)。KGtkを見てみましょう。
gandalf3

あなたの答えは意味がありません。「遅い」はUIには関係ありません。粒子シミュレーションではありません。KDEの方はパスを編集できますが、GTKの方が簡単にそれを行うことはできません。
LtWorf

最後に、全体的な回答を改善するための時間を作ることができました。KDEダイアログには、ファイルチューザーで場所を編集するオプションが多くあり、GTK +よりも簡単である可能性があることを確認しました。
clearkimura

6

2016年頃から答えはイエスです!少なくとも、GTK3アプリでKDEファイルチューザーを使用する場合。

Gtk +開発者はこれを「サンドボックスアプリケーション」の「ネイティブファイルチューザー」と呼びますが、これの主なターゲットはFlatpakであり、Windowsでこれらを使用することも可能にしました。ただし、トリックを使用して、サンドボックス化されていない/ flatpakアプリケーションにもこれを使用できます。

  1. xdg-desktop-portal-kdeパッケージをインストールします:Arch LinuxDebianFedoraKDE NeonUbuntu直接インストールリンク
  2. 実際にKDEを使用していない場合/usr/share/xdg-desktop-portal/portals/kde.portal$XDG_CURRENT_DESKTOP、セミコロンで区切られたの値を編集して行に追加しますUseIn=KDE(例:UseIn=KDE;xfce
  3. GTK_USE_PORTAL=1を追加します~/.pam_environmentGTKが常にサンドボックス環境にあるかのように動作ようにます
  4. ログアウトしてから再度ログインして、これらの変更を適用します

これは、クラシックGtkFileChooserDialogまたはGtkFileChooserWidgetAPI を使用するアプリでは機能しないことを追加する必要があります。これらは、GTK以外を使用してファイルチューザーをレンダリングするときに使用できないアプリケーションに、基盤となるGtkWidgetsを公開します。したがって、のみGtkFileChooserNativeGtkFileChooserButton動作します、あなたはまだ上記の手順を実行した後にGTKファイル選択を使用してGTKアプリを見れば、あなたは彼らにパッチを送信することもできます。;-)
ntninja

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.