---------------------------
-- Default awesome theme --
---------------------------

local gears = require("gears")
local theme_assets = require("beautiful.theme_assets")
local xresources = require("beautiful.xresources")
local dpi = xresources.apply_dpi

local gfs = require("gears.filesystem")
local themes_path = gfs.get_themes_dir()

local theme = {}

theme.font = "Sans Serif 11"
theme.icon_font = "Font Awesome 6 Free"
theme.icon_size = 11

theme.bg_normal = "#151821"
theme.bg_dark = "#000000"
theme.bg_focus = "#1f2430"
theme.bg_urgent = "#ed8274"

theme.fg_normal = "#ffffff"
theme.fg_focus = "#e4e4e4"
theme.fg_urgent = "#ffffff"
theme.fg_minimize = "#ffffff"

theme.taglist_bg_empty = theme.bg_normal
theme.taglist_bg_occupied = "#ffffff1a"
theme.taglist_bg_urgent = "#e91e6399"
theme.taglist_bg_focus = theme.bg_focus

theme.tasklist_bg_normal = theme.bg_normal
theme.tasklist_bg_focus = theme.bg_focus
theme.tasklist_bg_urgent = theme.bg_urgent

theme.tasklist_fg_focus = theme.fg_focus
theme.tasklist_fg_urgent = theme.fg_urgent
theme.tasklist_fg_normal = theme.fg_normal

theme.useless_gap       = dpi(7)
theme.gap_single_client = true

theme.border_width  = dpi(0)
theme.corner_radius = dpi(10)

theme.transparency = 85

-- 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]
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]

-- notification_font
-- notification_[bg|fg]
-- notification_[width|height|margin]
-- notification_[border_color|border_width|shape|opacity]

theme.menu_height = dpi(15)
theme.menu_width  = dpi(100)
-- menu_[bg|fg]_[normal|focus]
-- menu_[border_color|border_width]

-- Image recoloring
local function get_icon(icon_raw)
    if icon_raw ~= nil then
        return gears.color.recolor_image(icon_raw, theme.fg_focus)
    else
        return nil
    end
end

-- Define the image to load
theme.titlebar_close_button_normal = get_icon(themes_path.."default/titlebar/close_normal.png")
theme.titlebar_close_button_focus  = get_icon(themes_path.."default/titlebar/close_focus.png")

theme.titlebar_minimize_button_normal = get_icon(themes_path.."default/titlebar/minimize_normal.png")
theme.titlebar_minimize_button_focus  = get_icon(themes_path.."default/titlebar/minimize_focus.png")

theme.titlebar_ontop_button_normal_inactive = get_icon(themes_path.."default/titlebar/ontop_normal_inactive.png")
theme.titlebar_ontop_button_focus_inactive  = get_icon(themes_path.."default/titlebar/ontop_focus_inactive.png")
theme.titlebar_ontop_button_normal_active = get_icon(themes_path.."default/titlebar/ontop_normal_active.png")
theme.titlebar_ontop_button_focus_active  = get_icon(themes_path.."default/titlebar/ontop_focus_active.png")

theme.titlebar_sticky_button_normal_inactive = get_icon(themes_path.."default/titlebar/sticky_normal_inactive.png")
theme.titlebar_sticky_button_focus_inactive  = get_icon(themes_path.."default/titlebar/sticky_focus_inactive.png")
theme.titlebar_sticky_button_normal_active = get_icon(themes_path.."default/titlebar/sticky_normal_active.png")
theme.titlebar_sticky_button_focus_active  = get_icon(themes_path.."default/titlebar/sticky_focus_active.png")

theme.titlebar_floating_button_normal_inactive = get_icon(themes_path.."default/titlebar/floating_normal_inactive.png")
theme.titlebar_floating_button_focus_inactive  = get_icon(themes_path.."default/titlebar/floating_focus_inactive.png")
theme.titlebar_floating_button_normal_active = get_icon(themes_path.."default/titlebar/floating_normal_active.png")
theme.titlebar_floating_button_focus_active  = get_icon(themes_path.."default/titlebar/floating_focus_active.png")

theme.titlebar_maximized_button_normal_inactive = get_icon(themes_path.."default/titlebar/maximized_normal_inactive.png")
theme.titlebar_maximized_button_focus_inactive  = get_icon(themes_path.."default/titlebar/maximized_focus_inactive.png")
theme.titlebar_maximized_button_normal_active = get_icon(themes_path.."default/titlebar/maximized_normal_active.png")
theme.titlebar_maximized_button_focus_active  = get_icon(themes_path.."default/titlebar/maximized_focus_active.png")

theme.wallpaper = get_icon(themes_path.."default/background.png")

-- You can use your own layout icons like this:
theme.layout_fairh = get_icon(themes_path.."default/layouts/fairhw.png")
theme.layout_fairv = get_icon(themes_path.."default/layouts/fairvw.png")
theme.layout_floating  = get_icon(themes_path.."default/layouts/floatingw.png")
theme.layout_magnifier = get_icon(themes_path.."default/layouts/magnifierw.png")
theme.layout_max = get_icon(themes_path.."default/layouts/maxw.png")
theme.layout_fullscreen = get_icon(themes_path.."default/layouts/fullscreenw.png")
theme.layout_tilebottom = get_icon(themes_path.."default/layouts/tilebottomw.png")
theme.layout_tileleft   = get_icon(themes_path.."default/layouts/tileleftw.png")
theme.layout_tile = get_icon(themes_path.."default/layouts/tilew.png")
theme.layout_tiletop = get_icon(themes_path.."default/layouts/tiletopw.png")
theme.layout_spiral  = get_icon(themes_path.."default/layouts/spiralw.png")
theme.layout_dwindle = get_icon(themes_path.."default/layouts/dwindlew.png")
theme.layout_cornernw = get_icon(themes_path.."default/layouts/cornernww.png")
theme.layout_cornerne = get_icon(themes_path.."default/layouts/cornernew.png")
theme.layout_cornersw = get_icon(themes_path.."default/layouts/cornersww.png")
theme.layout_cornerse = get_icon(themes_path.."default/layouts/cornersew.png")

-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
    theme.menu_height, theme.bg_focus, theme.fg_focus
)

-- 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 = "Tela-blue-dark"

return theme
