我如何控制所有窗口阴影?

我如何控制所有窗口阴影?

如何控制所有窗口阴影/框阴影?Gnome 主题似乎有不同大小的阴影,所以我认为这是可能的。

以下是我尝试过的:

  1. 编辑“~/.config/gtk-3.0/gtk.css”中的 gtk.css,添加:

    .window-frame {box-shadow: none;}
    .window-frame:backdrop {box-shadow: none;}
    
  2. 我将相同的 css 添加到安装在“~/.themes/”中的下载主题的副本中 - 它没有 .window-frame 类,所以我添加了它。

  3. 我添加了相同的 css 以及从“/usr/share/themes/”复制出来的默认主题之一 (Albatross) - 它在“gtk-widgets.css”中有一个 .window-frame 类,所以我对其进行了修改。

每次尝试后我都重新启动了 Gnome shell。第一次和第二次尝试都没有效果。第三次尝试确实消除了阴影,但似乎也影响了应用程序的刷新 - 文本滚动不会刷新。

--

规格:Ubuntu 18.04,带 Gnome/Mutter

答案1

解决此问题的方法是编辑您正在使用的任何主题中的“gtk.css” - 主题确实控制着阴影。我已经在 Ubuntu 18.04 上测试过了。您可以在“~/.config/gtk-3.0/gtk.css”中编辑默认主题,或者,一个更好的主意是,您可以编辑自己安装的主题,即使它是默认主题的副本。将您的主题安装在主目录“~/.themes/”文件夹中,然后在其“gtk-3.0”文件夹中找到“gtk.css”文件。在文本编辑器中打开该文件并搜索“decoration”和“decoration:backdrop”。要删除窗口阴影,请注释掉 box-shadow 行并将您自己的设置添加到“none”,如下所示:

decoration
{
    border-radius: 6px 6px 0 0;
    border-width: 0px;
    /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/
    box-shadow: none;
    margin: 4px;
}

decoration:backdrop
{
    border-radius: 6px 6px 0 0;
    border-width: 0px;
    /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/
    box-shadow: none;
    margin: 4px;
}

保存文件。在“设置”>“外观”中,您需要加载主题 - 如果您已经在使用它,请将其更改为另一个主题,然后再将其更改回您的主题。窗口现在应该没有阴影 - 见下图。

在此处输入图片描述

答案2

我们随时可以启用 GTK Inspector ( gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true) 并进行详细查看。

这是我的~/.config/gtk-3.0/gtk.css

window decoration, window paned, window paned headerbar {
/* square top corners */
    border-radius: 0;
}

window paned headerbar
{
/* header top shadow */
    box-shadow: none;
}   

window decoration
{
/* Remove shadows */
    box-shadow: none;
/* window border */
    border: 1px solid silver;
}

在此处输入图片描述

相关内容