Как управлять всеми тенями окон?

Как управлять всеми тенями окон?

Как мне контролировать все тени окон/коробок? Темы Gnome, похоже, имеют разные размеры теней, поэтому я предполагаю, что это возможно.

Вот что я попробовал:

  1. Отредактируйте gtk.css в "~/.config/gtk-3.0/gtk.css", добавив:

    .window-frame {box-shadow: none;}
    .window-frame:backdrop {box-shadow: none;}
    
  2. Я добавил тот же css в копию загруженной темы, установленной в "~/.themes/" - в ней не было класса .window-frame, поэтому я его добавил.

  3. Я добавил тот же css, а также одну из тем по умолчанию (Albatross), скопированную из "/usr/share/themes/" - у нее был класс .window-frame в "gtk-widgets.css", поэтому я изменил его.

Я перезапускал Gnome shell после каждого. Попытки 1 и 2 ничего не дали. Попытка 3 избавила от теней, но также, похоже, повлияла на обновление в приложениях — прокрутка текста не обновляется.

--

Характеристики: Ubuntu 18.04 с Gnome/Mutter

решение1

Решение этой проблемы — отредактировать «gtk.css» в любой теме, которую вы используете — темы управляют тенью drop/box. Я тестировал это на Ubuntu 18.04. Вы можете отредактировать тему по умолчанию в «~/.config/gtk-3.0/gtk.css» или, что гораздо лучше, вы можете отредактировать свою собственную установленную тему, даже если это копия темы по умолчанию. Установите свою тему в папку домашнего каталога «~/.themes/», а затем найдите файл «gtk.css» в его папке «gtk-3.0». Откройте файл в текстовом редакторе и найдите «decoration» и «decoration:backdrop». Чтобы удалить тень Windows, закомментируйте строку 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;
}

введите описание изображения здесь

Связанный контент