如何在Unity / Compiz中获得窗口框架半径?

时间:2013-05-25 15:13:55

标签: linux qt window compiz window-decoration

有没有办法在Unity(Compiz窗口管理器)中获取窗口框架半径?我应该通过解析活动窗口主题来做到这一点吗?如果是这样,我应该解析哪些文件?任何其他方式也被接受。另外,如果你知道任何其他WM的解决方案,请写下来。

我使用Qt,并且,据我所知,它不提供“盒子”的这种功能。但是,如果你知道任何Qt选项,他们是首选。

窗框半径下,我的意思是以下区域(红色,红色除边):

例如,在插图中,框架边框半径为6像素,因为红色边框内的正方形边是6像素。

2 个答案:

答案 0 :(得分:1)

对于Ubuntu 14.04.02 LTS / Unity,半径由CSS控制在/ usr / share / themes /< 主题名称> /gtk-3.0/apps/unity.css

找到“border-radius:”行,如下文所示。 根据标准CSS半径规则更改值。默认值为:6px 6px 0 0;

这只会改变顶部的标题栏,并应用于标题栏的4个角落。

注销/登录以使更改生效。

下面显示的文字来自修改后的/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);
}

答案 1 :(得分:0)

它在

下的shell主题的css文件中定义
/usr/share/themes

您要搜索的是

border-radius

windows的属性。