2

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

我使用 Qt,而且,据我所知,它没有提供这样的“盒子”功能。但是,如果您知道任何 Qt 选项,它们是首选。

窗框半径下,我指的是以下区域(以红色为界,不包括红色):

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

4

2 回答 2

1

对于 Ubuntu 14.04.02 LTS/Unity,半径由 /usr/share/themes/<主题名称>/gtk-3.0/apps/unity.css中的 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);
}
于 2015-10-12T15:21:29.520 回答
0

它在 shell 主题的 css 文件中定义

/usr/share/themes

您正在寻找的是

border-radius

窗户的属性。

于 2013-06-02T08:11:08.310 回答