Как правильно использовать линейный градиент при стилизации оболочки GNOME?

Я работаю над расширением gnome-shell и не могу заставить линейный градиент работать должным образом (или вообще вообще). документация по GTK или эта post утверждает, что мы должны иметь возможность использовать что-то вроде этого:

label {
  background-image: linear-gradient(to top right, blue 20%, #f0f 80%);

  /*OR*/

  background-image: -gtk-gradient (linear,
                                   0 0, 0 1,
                                   color-stop(0, @yellow),
                                   color-stop(0.2, @blue),
                                   color-stop(1, #0f0));
}

Но это не работает, градиент не появляется.

Пока единственный способ получить градиент — это использовать следующие недокументированные свойства:

label {
    background-gradient-start: rgba(255, 0, 0, 1);
    background-gradient-end: rgba(0, 255, 0, 1);
}

Проблема в том, что мне нужно использовать функцию линейного градиента для точной настройки градиента. Является ли это возможным?


person ChG    schedule 13.01.2018    source источник
comment
Я не уверен в этом на 100%, но Gnome Shell использует St для виджетов, поддерживающих CSS, но я не думаю, что он использует Gtk CSS.   -  person andy.holmes    schedule 16.01.2018


Ответы (1)


Первые два не работают, потому что GNOME еще не реализовал несколько/настраиваемых цветовых остановок. Вы можете попробовать создать тему GTK+ 2/3 и использовать вместо нее классы или создать несколько масштабируемых изображений (например, .svg) для того, что вам нужно, и использовать их вместо этого.

person RivenSkaye    schedule 09.07.2018