Elementary-Os

根據應用程序更改視窗欄的顏色/樣式

  • June 3, 2015

我一直在大量定制我的基本作業系統桌面以使其看起來更符合我的喜好,我想知道是否可以根據正在執行的應用程序更改每個視窗上方欄的顏色。似乎有可能,但是當我用Google搜尋它時,我什麼也找不到。事實上,我什麼也沒找到;沒有關於它的問題,沒有文章——我認為我可能把它稱為錯誤的東西,或者它就是不可能的。這就是我在這裡問的原因。是否可以動態更改視窗欄顏色?

另外我的第二個問題有點像第一個但不那麼重要,是否可以根據打開的應用程序的顏色動態更改桌面頂部面板的顏色?我使用 ImageMagick 看到了類似的東西,但我再也找不到了

tl; dr這是可能的,但它不是超級簡單,它不適用於每個應用程序。

首先,有一個名為 Gtk.CSS 的東西用於設置工具包的樣式。如果您熟悉 CSS,您就會知道它基於選擇元素(如類和 ID)進行操作。為了選擇特定的應用程序視窗,它需要設置一個您可以在 CSS 中選擇的 ID。有些應用程序可以,但有些應用程序沒有。幸運的是,Sam Hewitt 在找出哪些應用程序設置了 ID 方面做了很多工作。您可以使用他的 Paper 樣式表作為參考。

現在,您需要修改樣式表並為您想要自定義主題的每個應用添加新的 CSS 規則。這可能很複雜,具體取決於您目前使用的樣式表。

在小學,我們目前正在開發一個簡單的 Granite 實用程序,應用程序開發人員可以使用它來為其應用程序的標題欄設置顏色。但這需要從應用程序的原始碼中完成。

至於改變每個應用程序面板的顏色,目前這是不可能的。面板只知道焦點應用的狀態(最大化、平鋪或不)。它不會收到有關應用程序內部 CSS 的任何資訊。

引用自:https://unix.stackexchange.com/questions/205926