Как изменить масштаб bgimage заголовка

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


person Oval    schedule 19.03.2019    source источник
comment
Что именно вы имеете в виду под растяжкой здесь? Вы хотите, чтобы он увеличивался, сохраняя соотношение сторон? Не соблюдается соотношение сторон? Что должно произойти, если изображение больше, чем заголовок? В принципе, не могли бы вы показать пример того, как выглядит изображение и как должен выглядеть фон заголовка.   -  person Uli Schlachter    schedule 20.03.2019


Ответы (2)


Вот патч к конфигурации по умолчанию, который делает фон заголовка из файла. Файл масштабируется до точного размера заголовка.

diff --git a/awesomerc.lua b/awesomerc.lua
index fa584b8a8..3e3a54c0d 100644
--- a/awesomerc.lua
+++ b/awesomerc.lua
@@ -542,6 +542,14 @@ client.connect_signal("manage", function (c)
     end
 end)

+local tb_bg_image = gears.surface("/tmp/variant_outside.png")
+local bg_width, bg_height = gears.surface.get_size(tb_bg_image)
+local function bg_image_function(_, cr, width, height)
+    cr:scale(width / bg_width, height / bg_height)
+    cr:set_source_surface(tb_bg_image)
+    cr:paint()
+end
+
 -- @DOC_TITLEBARS@
 -- Add a titlebar if titlebars_enabled is set to true in the rules.
 client.connect_signal("request::titlebars", function(c)
@@ -557,7 +565,8 @@ client.connect_signal("request::titlebars", function(c)
         end)
     )

-    awful.titlebar(c) : setup {
+    local args = { bgimage_normal = bg_image_function, bgimage_focus = bg_image_function }
+    awful.titlebar(c, args) : setup {
         { -- Left
             awful.titlebar.widget.iconwidget(c),
             buttons = buttons,
person Uli Schlachter    schedule 20.03.2019

Что-то вроде следующего изменения в конфигурации по умолчанию, что вам нужно? (Конечно, используйте другое имя файла)

diff --git a/awesomerc.lua b/awesomerc.lua
index fa584b8a8..7e6ccad55 100644
--- a/awesomerc.lua
+++ b/awesomerc.lua
@@ -557,7 +557,9 @@ client.connect_signal("request::titlebars", function(c)
         end)
     )

-    awful.titlebar(c) : setup {
+    local bg = { type = "png", file = "/tmp/variant_outside.png" }
+    local args = { bg_normal = bg, bg_focus = bg }
+    awful.titlebar(c, args) : setup {
         { -- Left
             awful.titlebar.widget.iconwidget(c),
             buttons = buttons,
person Uli Schlachter    schedule 19.03.2019
comment
Нет, моя проблема заключается не в том, чтобы придать заголовку фоновое изображение, а в том, что фоновое изображение не растягивается должным образом над заголовком. - person Oval; 20.03.2019
comment
Ах, извините. Я неправильно прочитал. Почему-то я подумал, что вы хотите, чтобы он не растягивался. - person Uli Schlachter; 20.03.2019