beautiful: Track the font for oopango
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
d9aa194cb3
commit
ad2bc9d183
|
@ -17,7 +17,9 @@ local util = require("awful.util")
|
||||||
local capi =
|
local capi =
|
||||||
{
|
{
|
||||||
screen = screen,
|
screen = screen,
|
||||||
awesome = awesome
|
awesome = awesome,
|
||||||
|
oocairo = oocairo,
|
||||||
|
oopango = oopango
|
||||||
}
|
}
|
||||||
|
|
||||||
--- Theme library.
|
--- Theme library.
|
||||||
|
@ -25,6 +27,29 @@ module("beautiful")
|
||||||
|
|
||||||
-- Local data
|
-- Local data
|
||||||
local theme
|
local theme
|
||||||
|
local font
|
||||||
|
local font_height
|
||||||
|
|
||||||
|
function get_font()
|
||||||
|
return font
|
||||||
|
end
|
||||||
|
|
||||||
|
function get_font_height()
|
||||||
|
return font_height
|
||||||
|
end
|
||||||
|
|
||||||
|
local function set_font(f)
|
||||||
|
font = capi.oopango.font_description_from_string(f)
|
||||||
|
|
||||||
|
-- Create a temporary surface that we need for computing the size :(
|
||||||
|
local surface = capi.oocairo.image_surface_create("argb32", 1, 1)
|
||||||
|
local cr = capi.oocairo.context_create(surface)
|
||||||
|
local layout = capi.oopango.cairo.layout_create(cr)
|
||||||
|
layout:set_font_description(font)
|
||||||
|
|
||||||
|
local width, height = layout:get_pixel_size()
|
||||||
|
font_height = height
|
||||||
|
end
|
||||||
|
|
||||||
--- Init function, should be runned at the beginning of configuration file.
|
--- Init function, should be runned at the beginning of configuration file.
|
||||||
-- @param path The theme file path.
|
-- @param path The theme file path.
|
||||||
|
@ -51,7 +76,7 @@ function init(path)
|
||||||
util.spawn(theme.wallpaper_cmd[util.cycle(#theme.wallpaper_cmd, s)], false, s)
|
util.spawn(theme.wallpaper_cmd[util.cycle(#theme.wallpaper_cmd, s)], false, s)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if theme.font then capi.awesome.font = theme.font end
|
if theme.font then set_font(theme.font) end
|
||||||
if theme.fg_normal then capi.awesome.fg = theme.fg_normal end
|
if theme.fg_normal then capi.awesome.fg = theme.fg_normal end
|
||||||
if theme.bg_normal then capi.awesome.bg = theme.bg_normal end
|
if theme.bg_normal then capi.awesome.bg = theme.bg_normal end
|
||||||
else
|
else
|
||||||
|
@ -68,6 +93,9 @@ function get()
|
||||||
return theme
|
return theme
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Set the default font
|
||||||
|
set_font("sans 8")
|
||||||
|
|
||||||
setmetatable(_M, { __index = function(t, k) return theme[k] end })
|
setmetatable(_M, { __index = function(t, k) return theme[k] end })
|
||||||
|
|
||||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
||||||
|
|
Loading…
Reference in New Issue