有沒有辦法在Unity(Compiz窗口管理器)中獲取窗口框架半徑?我應該通過解析活動窗口主題來做到這一點嗎?如果是這樣,我應該解析哪些文件?任何其他方式也被接受。另外,如果你知道任何其他WM的解決方案,請寫下它。如何在Unity/Compiz中獲取窗口框架半徑?
我使用Qt,並且,據我所知,它並不提供這種「盒子」功能。但是,如果你知道任何Qt選項,他們是首選。
在窗框半徑我指的是以下的區域(由紅色邊界,不包括紅色):
例如,在該圖中,幀邊界半徑爲6像素,因爲紅色邊框內的正方形是6px。
有沒有辦法在Unity(Compiz窗口管理器)中獲取窗口框架半徑?我應該通過解析活動窗口主題來做到這一點嗎?如果是這樣,我應該解析哪些文件?任何其他方式也被接受。另外,如果你知道任何其他WM的解決方案,請寫下它。如何在Unity/Compiz中獲取窗口框架半徑?
我使用Qt,並且,據我所知,它並不提供這種「盒子」功能。但是,如果你知道任何Qt選項,他們是首選。
在窗框半徑我指的是以下的區域(由紅色邊界,不包括紅色):
例如,在該圖中,幀邊界半徑爲6像素,因爲紅色邊框內的正方形是6px。
對於Ubuntu的LTS 02年4月14日/團結,半徑由CSS在/ usr /共享/主題/ < 主題名稱 > /gtk-3.0/apps/unity.css
找到行「控制border-radius:「,如下文所示。 根據標準CSS半徑規則更改值。默認值是:6px 6px 0 0;
這隻改變頂部的標題欄並應用於標題欄的四個角落。
註銷/登錄以使更改生效。
下面顯示的文本來自修改後的/usr/share/themes/Radiance/gtk-3.0/apps/unity.css中的「Radiance」主題。
UnityDecoration.top {
border: 1px solid rgba (85, 40, 0, 0.04); /* shade (@dark_bg_color) (shade (#edebe6, 1.06) */
border-bottom-width: 0;
--> border-radius: 3px 3px 0 0;
padding: 1px 6px 0 6px;
box-shadow: inset 0 0 transparent, inset 0 0 transparent,
inset 0 1px shade (#edebe6, 1.065), inset 0 0 transparent;
background-color: transparent;
background-clip: border-box;
background-image: -gtk-gradient (linear, left top, left bottom,
from (shade (#edebe6, 1.06)),
to (@dark_bg_color));
color: shade (@dark_bg_color, 0.4);
text-shadow: 1px 0 shade (@dark_bg_color, 1.06), -1px 0 shade (@dark_bg_color, 1.06),
0 1px shade (@dark_bg_color, 1.06), 0 -1px shade (@dark_bg_color, 1.06);
}
它在外殼主題的CSS文件中定義
/usr/share/themes
下你所尋找的是窗戶的
border-radius
財產。
主題的css文件中有很多'border-radius'值,但我找不到任何與窗口裝飾相關的人。舉個例子,你可以在[Adwaita主題](http://gnome-look.org/content/show.php/?content=144237)中找到相應的行嗎? –
你的意思是窗框部分? http://qt-project.org/doc/qt-4.8/qt.html#WindowFrameSection-enum –
@RachelGallen不,我已更新問題,請再看一遍。 –
你要改變的是窗口管理器裝飾(即標題欄)的一部分。 GTK +無法控制這一點(你在Qt中也指出過這種情況)。因此,您的解決方案很可能取決於正在運行會話中使用的窗口管理器。如果你在Gnome上,很可能你可能正在運行metacity或compiz。如果你運行的是metacity,你可能需要在'/ usr/share/themes/*'下的'metacity-theme - *。xml'命令中檢查主題文件(可能有多個窗口管理器主題)... –