LINUX.ORG.RU

Сообщения Sullome

 

Стильно, Модно, Молодёжно

Галерея — Скриншоты

Chromebook, Archlinux, awesome.

Приобрёл хромбук (дешёвый, небольшой, лёгкий, шустрый), послал к чёрту ChromeOS, установил Арч. И понеслась.

В оформлении рабочего стола решил уйти от десктопа в совсем другую степь.

Всё тот же awesome, подогнанный под цветовую схему Numix Blue, динамические теги (спасибо Tyrannical за это), тема GTK — Numix-Blue, иконки Numix-Circle.

BCD-часики. Море, камни.

Скриншот с ЛОРом (не влез из-за размера ☹): http://itmages.ru/image/view/1624838/6ea0151a

>>> Просмотр (1366x768, 1288 Kb)

 , , ,

Sullome
()

DeaDBeeF, обложки альбомов, для которых нет обложки

Форум — Desktop

По умолчанию используется изображение виниловой пластинки с надписью «Неизвестный альбом».

Есть ли способ изменить эту заглушку или вообще сделать так, чтобы она не показывалась?

 ,

Sullome
()

Тёмный Арч с циановыми вставками

Галерея — Скриншоты

Вот такой вот рабочий стол. Archlinux + awesome.

Сижу обычно допоздна в тёмной комнате, так что тёмная тема необходима. Минимализм уважаю, но слишком сильно в него ударяться не люблю. Надо будет допилить тему, много чего не сделано, но пока просто лень.

Слева в верху тэги, справа вверху (слева-направо) индиктор загруженности памяти, индикаторы загруженности процессоров (4) и часы.

Вопросы, советы, комментарии?

>>> Просмотр (1280x1024, 259 Kb)

 ,

Sullome
()

Не понимаю, как работает cairo_mask_surface

Форум — Development

Собственно, суть проблемы в названии.

Копаюсь с настройкой awesome. Для одного конкретного imagebox'а переопределяю функцию отрисовки, и всё неплохо за одним минусом — cairo отказывается использовать маску.

Вероятно, проблема в моей голове или в каком-то невозможно базовом понятии. Поиск ничего не дал, чтение документации тоже.

-- Это обычная функция отрисовки imagebox'а, за исключением конечных строк
function l_box:draw (wibox, cr, width, height)
    if not self._image then return end

    cr:save()

    if not self.resize_forbidden then
        -- Let's scale the image so that it fits into (width, height)
        local w = self._image:get_width()
        local h = self._image:get_height()
        local aspect = width / w
        local aspect_h = height / h
        if aspect > aspect_h then aspect = aspect_h end

        cr:scale(aspect, aspect)
    end

    -- Вот тут и изменения
    if l_box._mask then -- _mask — это просто true/false
        cr:set_source_rgb(0, 0, 0) -- источник заполняем чёрным
        cr:mask_surface(self._image,0,0) -- как я думаю, это должно заставить cairo
                                         -- закрасить чёрным только те области,
                                         -- которые в self._image непрозрачны. Но почему-то,
                                         -- если добавить эту строчку, ничего не рисуется вообще.
                                         -- Если убрать, то, как и надо, область изображения
                                         -- целиком заливается чёрным.
        cr:paint()
    else
        cr:set_source_surface(self._image, 0, 0)
        cr:paint()
    end

    cr:restore()
end
Очень хочется, чтобы всё таки эта маска заработала, однако куда копать, уже просто не знаю.

 , , , lgi,

Sullome
()

RSS подписка на новые темы