GNU/Linux >> Linux の 問題 >  >> Ubuntu

特定の用途に別の GTK 3 テーマを使用する方法

この記事では、別の GTK 3 テーマを特定のアプリケーションに適用する方法について説明します (グローバル/デスクトップ GTK テーマとは異なるテーマ)。

では、デスクトップ全体に設定されているものとは異なる GTK3 テーマを使用するように一部のアプリケーションを設定する必要があるのはなぜでしょうか?アプリケーションが想定どおりに表示されない、または特定のテーマで壊れているように見える場合がありますが、Linux デスクトップ上の他のアプリケーションにそのテーマを使用したい場合があります。または、特定のテーマを 1 つまたは 2 つのアプリケーションだけに使用し、残りのアプリケーションには別のテーマを使用することを好むかもしれません。デスクトップ。

このスクリーンショットでは、Tweaks は Mint-Y テーマを使用し、Nautilus は Canta テーマを使用し、Gedit は Yaru-dark を使用し、Eolie Web はブラウザ (Flathub によってインストール) は Plata テーマを使用します。それらはすべて同時に実行されます。


例を挙げましょう。

Ubuntu 19.10 はデフォルトで明るいテーマと暗いテーマが混在していますが、以前の Ubuntu バージョンで使用されていたものとは異なります。ウィンドウ タイトルは暗いですが、メニュー バーは明るいです。これが、Visual Studio Code、Atom、または Sublime Text などのコード エディターが既定で暗い色のテーマを使用し、他のすべてが暗い場合に白いメニュー バーを使用する理由です。

この設定 (グローバル GTK 3 テーマよりも Yaru テーマと VS Code / Atom / Sublime Text の暗い色のテーマ) を維持したいが、VS Code / Atom / Sublime Text のメニュー バーを暗い色に変更すると、動作しません 場違いに見えない場合は、この記事の手順を使用して、VS Code / Atom / Sublime Text を設定して Yaru-dark テーマを使用し、他のすべてのアプリがデフォルトのものを混在させることができます Yaru デザインを使用する.

あなたも好きかもしれません:Yaru テーマを使用して Ubuntu 19.10 でダーク GNOME シェル メニューとダイアログを取得する方法

アプリケーションごとに GTK テーマを変更するには、GTK_THEME を使用します 「トピックの問題を簡単にデバッグすることを主な目的としている」という環境変数は、この GNOME GTK ページ .このため、このオプションはどこでも機能することが保証されておらず (実際には DBus 対応のアプリケーションでは機能しません)、ある時点で機能しなくなる可能性があります。

各 GTK 3 アプリのアプリケーション テーマは変更されますが、ウィンドウの装飾は変更されません。 (グローバルな GTK 3 テーマを引き続き使用します) クライアント側の装飾を使用しないアプリケーションの場合。

これは、特定のアプリで使用するテーマが Flathub / Snapcraft でサポートされている限り、ネイティブ アプリと Flatpak および Snap パッケージの両方で機能します (補足として、Flatpak アプリは Snap よりも多くのサードパーティのテーマをサポートしています) ) .

グローバル GTK3 トピック以外のトピックで個々のアプリケーションを開始する

アプリケーションごとにデフォルトの GTK テーマをオーバーライドするには、GTK_THEME を設定します。 アプリケーションの起動時に、アプリケーションが値として使用するトピックを含む環境変数。このように:

GTK_THEME=<theme-name> <application>

<theme-name> を置き換える必要があります トピックの名前 (たとえば、Tweaks アプリに示されているように) と <application>

カスタム テーマでこのアプリを実行する前に、アプリケーションの実行中のすべてのインスタンスを閉じる必要があることに注意してください (バックグラウンドで実行されている場合は、終了できます。たとえば、実行中のすべての Nautilus インスタンスを終了できます:killall nautilus ).

例を見てみましょう。 Yaru-dark をテーマとして Gedit を開始するとします。

GTK_THEME=Yaru-dark gedit

または、Canta をテーマとして Nautilus (ファイル アプリ) を起動し、他のアプリケーション用に設定した他のテーマを保持します。

GTK_THEME=Canta nautilus


設定したいテーマにダーク バリエーションがあり、それが分離されていない場合は、次のようにダーク テーマを使用することを示します:GTK_THEME=theme-name:dark .たとえば、Adwaita のダーク テーマ (個別の Adwaita-dark フォルダーはありませんが、ダーク テーマをサポートする) を使用するアプリケーションを取得するには、次のようにアプリケーションを起動します。

GTK_THEME=Adwaita:dark <application>

常に特定のアプリケーションをカスタム GTK 3 テーマで起動する

アプリケーション メニューまたはランチャーでそのアプリケーションのアイコンをクリックするたびに、特定の GTK 3 テーマ (デスクトップの GTK テーマ以外) でアプリケーションを起動する場合は、そうする必要があります。

アプリケーションのデスクトップ ファイルを /usr/share/applications からコピーすることから始めます。 ~/.local/share/applications まで . /usr/share/applications でデスクトップファイルを直接編集する場合 、アプリケーションが更新されるたびにデスクトップファイルが上書きされるため、これを繰り返す必要があります。ただし、~/.local/share/applications の後にデスクトップ ファイルをコピーすることにより、 、変更はアップグレードによって保持されます (そして、ユーザーにのみ影響します)。

次に、アプリケーションのデスクトップ ファイル (~/.local/share/applications にあるファイル) を開きます。 ) Gedit などのテキスト エディターを使用して、Exec= で始まる行を見つけます。 、および = の直後 env GTK_THEME=<theme-name> を追加 Space が続く . <theme-name> に置き換えます テーマの名前 (たとえば、Tweaks アプリに表示されるもの) に置き換えますが、それ以外は変更しないでください。

例。デスクトップ上の他のすべてのアプリに別のテーマを使用しながら、VS Code に強制的に Yaru-dark をテーマとして使用させたいとします。この場合、code.desktop をコピーします。 /usr/share/applications からのファイル ~/.local/share/applications/ へ 、心を開いて code.desktop その新しい場所からテキスト エディタで Exec を探します 管理。

元の VS Code デスクトップ ファイル (code.desktop) には次の内容があります:Exec 管理:

Exec=/usr/share/code/code --unity-launch %F

VS Code が Yaru-dark テーマを使用するように編集すると、この行は次のようになります。

Exec=env GTK_THEME=Yaru-dark /usr/share/code/code --unity-launch %F

アプリケーションに複数の Exec がある場合 行 (たとえば、アプリケーションのデスクトップ ファイルが、アプリ アイコンを右クリックしたときに表示されるデスクトップ アクションをサポートしている場合) は、行ごとに行います。

カスタム テーマでアプリケーションを実行する前に、アプリケーションの実行中のインスタンスをすべて閉じることを忘れないでください!

上記のr / Ubuntu(u / Manyfacedgodd)


Ubuntu
  1. 起動時に特定のワークスペースでプログラムを自動的に開始する方法は?

  2. 特定の用途に別の GTK 3 テーマを使用する方法

  3. Flatpak アプリで適切な Gtk テーマを使用する方法

  1. Inotifywaitを使用して、特定の拡張子のファイルを作成するためのディレクトリを監視する方法は?

  2. ユーザー定義のセッションにLightdmを使用する方法は?

  3. Ubuntu 15.04にGtkテーマをインストールする方法は?

  1. 単一のアプリケーションですべてのウィンドウをすばやく最小化するにはどうすればよいですか?

  2. シェルで設定された時間アプリケーションを実行する方法は?

  3. Linux の特定のポートで netstat を使用する方法