diff options
author | zachir <zachir@librem.one> | 2021-09-12 00:16:03 -0500 |
---|---|---|
committer | zachir <zachir@librem.one> | 2021-09-12 00:16:03 -0500 |
commit | 39a43d551613a0d352941b850773e63923bd9eaa (patch) | |
tree | 7a9f13dca5fb88ce63f4e0e8589a03dcd1b22409 /themes/xresources/theme.lua |
Initialize lua config
Diffstat (limited to 'themes/xresources/theme.lua')
-rw-r--r-- | themes/xresources/theme.lua | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/themes/xresources/theme.lua b/themes/xresources/theme.lua new file mode 100644 index 0000000..ce7c84f --- /dev/null +++ b/themes/xresources/theme.lua @@ -0,0 +1,134 @@ +--------------------------------------------- +-- Awesome theme which follows xrdb config -- +-- by Yauhen Kirylau -- +--------------------------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi +local xrdb = xresources.get_current_theme() +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +-- inherit default theme +local theme = dofile(themes_path.."default/theme.lua") +-- load vector assets' generators for this theme + +theme.font = "mononoki Nerd Font Mono 10" + +theme.bg_normal = xrdb.color0 +theme.bg_focus = xrdb.color2 +theme.bg_urgent = xrdb.color13 +theme.bg_minimize = xrdb.color8 +theme.bg_systray = theme.bg_normal + +theme.fg_normal = xrdb.foreground +theme.fg_focus = xrdb.foreground +theme.fg_urgent = xrdb.foreground +theme.fg_minimize = xrdb.cikir7 + +theme.useless_gap = dpi(3) +theme.border_width = dpi(2) +theme.border_normal = xrdb.color0 +theme.border_focus = xrdb.color9 +theme.border_marked = xrdb.color10 + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +theme.tooltip_fg = theme.fg_normal +theme.tooltip_bg = theme.bg_normal + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(16) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Recolor Layout icons: +theme = theme_assets.recolor_layout(theme, theme.fg_normal) + +-- Recolor titlebar icons: +-- +local function darker(color_value, darker_n) + local result = "#" + for s in color_value:gmatch("[a-fA-F0-9][a-fA-F0-9]") do + local bg_numeric_value = tonumber("0x"..s) - darker_n + if bg_numeric_value < 0 then bg_numeric_value = 0 end + if bg_numeric_value > 255 then bg_numeric_value = 255 end + result = result .. string.format("%2.2x", bg_numeric_value) + end + return result +end +theme = theme_assets.recolor_titlebar( + theme, theme.fg_normal, "normal" +) +theme = theme_assets.recolor_titlebar( + theme, darker(theme.fg_normal, -60), "normal", "hover" +) +theme = theme_assets.recolor_titlebar( + theme, xrdb.color1, "normal", "press" +) +theme = theme_assets.recolor_titlebar( + theme, theme.fg_focus, "focus" +) +theme = theme_assets.recolor_titlebar( + theme, darker(theme.fg_focus, -60), "focus", "hover" +) +theme = theme_assets.recolor_titlebar( + theme, xrdb.color1, "focus", "press" +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Try to determine if we are running light or dark colorscheme: +local bg_numberic_value = 0; +for s in theme.bg_normal:gmatch("[a-fA-F0-9][a-fA-F0-9]") do + bg_numberic_value = bg_numberic_value + tonumber("0x"..s); +end +local is_dark_bg = (bg_numberic_value < 383) + +-- Generate wallpaper: +local wallpaper_bg = xrdb.color8 +local wallpaper_fg = xrdb.color7 +local wallpaper_alt_fg = xrdb.color12 +if not is_dark_bg then + wallpaper_bg, wallpaper_fg = wallpaper_fg, wallpaper_bg +end +theme.wallpaper = function(s) + return theme_assets.wallpaper(wallpaper_bg, wallpaper_fg, wallpaper_alt_fg, s) +end + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 |