-- Standard awesome library local gears = require("gears") local gfs = require("gears.filesystem") -- Theme handling library local themes_path = gfs.get_themes_dir() local theme = dofile(themes_path .. "default/theme.lua") local theme_assets = require("beautiful.theme_assets") local xresources = require("beautiful.xresources") local xrdb = xresources.get_current_theme() local dpi = xresources.apply_dpi local helpers = require("helpers") -- Theme ---------- -- Load ~/.Xresources colors theme.xbackground = xrdb.background theme.xforeground = xrdb.foreground theme.xcolor0 = xrdb.color0 theme.xcolor1 = xrdb.color1 theme.xcolor2 = xrdb.color2 theme.xcolor3 = xrdb.color3 theme.xcolor4 = xrdb.color4 theme.xcolor5 = xrdb.color5 theme.xcolor6 = xrdb.color6 theme.xcolor7 = xrdb.color7 theme.xcolor8 = xrdb.color8 theme.xcolor9 = xrdb.color9 theme.xcolor10 = xrdb.color10 theme.xcolor11 = xrdb.color11 theme.xcolor12 = xrdb.color12 theme.xcolor13 = xrdb.color13 theme.xcolor14 = xrdb.color14 theme.xcolor15 = xrdb.color15 theme.darker_bg = "#0a1419" theme.lighter_bg = "#162026" theme.dash_fg = "#666c79" theme.transparent = "#00000000" -- Titlebar local icon_path = gfs.get_configuration_dir() .. "theme/assets/icons/" local titlebar_icon_dir = icon_path .. "titlebar/" -- PFP theme.pfp = gears.surface.load_uncached(gfs.get_configuration_dir() .. "theme/assets/pfp.png") -- Wallpaper theme.wallpaper = gears.surface.load_uncached(gfs.get_configuration_dir() .. "theme/assets/bg.png") -- Awesome Logo theme.awesome_logo = gears.surface.load_uncached(gfs.get_configuration_dir() .. "theme/assets/icons/awesome.png") -- Notifications icon theme.notification_icon = gears.surface.load_uncached(gfs.get_configuration_dir() .. "theme/assets/icons/notification.png") -- Fonts theme.font_name = "Iosevka " theme.font = theme.font_name .. "8" theme.icon_font_name = "Material Icons " theme.icon_font = theme.icon_font_name .. "18" theme.font_taglist = theme.icon_font_name .. "13" -- Background Colors theme.bg_dark = theme.darker_bg theme.bg_normal = theme.xbackground theme.bg_focus = theme.xcolor0 theme.bg_urgent = theme.xcolor8 theme.bg_minimize = theme.xcolor8 -- Foreground Colors theme.fg_normal = theme.xforeground theme.fg_focus = theme.xcolor4 theme.fg_urgent = theme.xcolor3 theme.fg_minimize = theme.xcolor8 theme.button_close = theme.xcolor1 -- Borders theme.border_width = dpi(0) theme.oof_border_width = dpi(0) theme.border_normal = theme.xbackground theme.border_focus = theme.xbackground theme.border_radius = dpi(3) theme.client_radius = dpi(3) theme.widget_border_width = dpi(3) theme.widget_border_color = theme.lighter_bg -- Taglist -- Generate taglist squares: local taglist_square_size = dpi(0) 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) theme.taglist_font = theme.font_taglist theme.taglist_bg = theme.wibar_bg theme.taglist_bg_focus = theme.lighter_bg theme.taglist_fg_focus = theme.xcolor3 theme.taglist_bg_urgent = theme.wibar_bg theme.taglist_fg_urgent = theme.xcolor6 theme.taglist_bg_occupied = theme.wibar_bg theme.taglist_fg_occupied = theme.xcolor6 theme.taglist_bg_empty = theme.wibar_bg theme.taglist_fg_empty = theme.xcolor8 theme.taglist_bg_volatile = transparent theme.taglist_fg_volatile = theme.xcolor11 theme.taglist_disable_icon = true theme.taglist_shape_focus = helpers.rrect(theme.border_radius) theme.taglist_shape_empty = helpers.rrect(theme.border_radius) theme.taglist_shape = helpers.rrect(theme.border_radius) theme.taglist_shape_urgent = helpers.rrect(theme.border_radius) theme.taglist_shape_volatile = helpers.rrect(theme.border_radius) -- Tasklist theme.tasklist_font = theme.font theme.tasklist_plain_task_name = true theme.tasklist_bg_focus = theme.lighter_bg theme.tasklist_fg_focus = theme.xcolor6 theme.tasklist_bg_minimize = theme.xcolor0 .. 55 theme.tasklist_fg_minimize = theme.xforeground .. 55 theme.tasklist_bg_normal = theme.darker_bg theme.tasklist_fg_normal = theme.xforeground theme.tasklist_disable_task_name = false theme.tasklist_disable_icon = true theme.tasklist_bg_urgent = theme.xcolor0 theme.tasklist_fg_urgent = theme.xcolor1 theme.tasklist_align = "center" -- Titlebars theme.titlebars_enabled = true theme.titlebar_bg_focus = theme.darker_bg theme.titlebar_bg_normal = theme.darker_bg theme.titlebar_fg_focus = theme.xbackground theme.titlebar_fg_normal = theme.xbackground theme.titlebar_size = dpi(30) theme.titlebar_position = "left" theme.titlebar_close_button_normal = titlebar_icon_dir .. "default.svg" theme.titlebar_close_button_focus = titlebar_icon_dir .. "close.svg" theme.titlebar_minimize_button_normal = titlebar_icon_dir .. "default.svg" theme.titlebar_minimize_button_focus = titlebar_icon_dir .. "minimize.svg" theme.titlebar_maximized_button_normal_inactive = titlebar_icon_dir .. "default.svg" theme.titlebar_maximized_button_focus_inactive = titlebar_icon_dir .. "maximized.svg" theme.titlebar_maximized_button_normal_active = titlebar_icon_dir .. "default.svg" theme.titlebar_maximized_button_focus_active = titlebar_icon_dir .. "maximized.svg" -- Pop up notifications theme.pop_size = dpi(180) theme.pop_bg = theme.xbackground theme.pop_bar_bg = theme.xcolor0 theme.pop_vol_color = theme.xcolor4 theme.pop_brightness_color = theme.xcolor3 theme.pop_fg = theme.xforeground theme.pop_border_radius = dpi(6) -- Tooltip theme.tooltip_height = dpi(490) theme.tooltip_width = dpi(310) theme.tooltip_bg = theme.xbackground theme.tooltip_box_bg = theme.bg_secondary theme.tooltip_fg = theme.xforeground theme.tooltip_box_fg = theme.xcolor8 theme.tooltip_margin = dpi(15) theme.tooltip_box_margin = dpi(10) theme.tooltip_gap = dpi(10) theme.tooltip_border_radius = dpi(6) theme.tooltip_box_border_radius = dpi(3) theme.tooltip_border_width = dpi(0) theme.tooltip_border_color = theme.xcolor0 -- Edge snap theme.snap_bg = theme.xcolor8 theme.snap_shape = helpers.rrect(0) -- Prompts theme.prompt_bg = transparent theme.prompt_fg = theme.xforeground -- Dashboard theme.dash_width = dpi(300) theme.dash_box_bg = theme.lighter_bg theme.dash_box_fg = theme.dash_fg -- Tooltips theme.tooltip_bg = theme.xbackground theme.tooltip_fg = theme.xforeground theme.tooltip_font = theme.font_name .. "10" theme.tooltip_border_width = 0 theme.tooltip_opacity = 1 theme.tooltip_align = "top" -- Menu theme.menu_height = dpi(30) theme.menu_width = dpi(140) theme.menu_font = theme.font_name .. "medium 9" theme.menu_bg_focus = theme.lighter_bg theme.menu_bg_normal = theme.xbackground theme.menu_fg_focus = theme.xforeground theme.menu_fg_normal = theme.xforeground theme.menu_border_color = theme.xcolor8 theme.menu_border_width = theme.border_width / 2 theme.menu_submenu = "ยป " theme.menu_submenu_icon = nil -- Hotkeys Pop Up theme.hotkeys_font = theme.font theme.hotkeys_border_color = theme.lighter_bg theme.hotkeys_group_margin = dpi(40) theme.hotkeys_shape = helpers.rrect(5) -- Layout List theme.layoutlist_border_color = theme.lighter_bg theme.layoutlist_border_width = theme.border_width theme.layoutlist_shape_selected = helpers.rrect(3) theme.layoutlist_bg_selected = theme.lighter_bg -- Recolor Layout icons: theme = theme_assets.recolor_layout(theme, theme.xforeground) -- Gaps theme.useless_gap = dpi(5) -- Exit Screen theme.exit_screen_fg = theme.xforeground theme.exit_screen_bg = theme.xbackground -- Wibar theme.wibar_height = (dpi(42) + theme.widget_border_width) * 0 theme.wibar_width = dpi(42) + theme.widget_border_width theme.wibar_margin = dpi(15) theme.wibar_spacing = dpi(15) theme.wibar_bg = theme.xbackground theme.wibar_bg_secondary = theme.lighter_bg theme.wibar_position = "left" -- Tabs theme.mstab_bar_height = dpi(60) theme.mstab_bar_padding = dpi(0) theme.mstab_border_radius = dpi(6) theme.tabbar_disable = true theme.tabbar_style = "modern" theme.tabbar_bg_focus = theme.xbackground theme.tabbar_bg_normal = theme.xcolor0 theme.tabbar_fg_focus = theme.xcolor0 theme.tabbar_fg_normal = theme.xcolor15 theme.tabbar_position = "bottom" theme.tabbar_AA_radius = 0 theme.tabbar_size = 40 theme.mstab_bar_ontop = true -- Notifications theme.notification_spacing = 19 theme.notification_border_radius = dpi(6) theme.notification_border_width = dpi(0) -- Swallowing theme.dont_swallow_classname_list = { "firefox", "gimp", "Google-chrome", "Thunar" } -- Layout Machi theme.machi_switcher_border_color = theme.lighter_bg theme.machi_switcher_border_opacity = 0.25 theme.machi_editor_border_color = theme.lighter_bg theme.machi_editor_border_opacity = 0.25 theme.machi_editor_active_opacity = 0.25 -- Tag Preview theme.tag_preview_widget_border_radius = theme.border_radius theme.tag_preview_client_border_radius = theme.border_radius theme.tag_preview_client_opacity = 0.1 theme.tag_preview_client_bg = theme.xbackground theme.tag_preview_client_border_color = theme.lighter_bg theme.tag_preview_client_border_width = theme.widget_border_width theme.tag_preview_widget_bg = theme.xbackground theme.tag_preview_widget_border_color = theme.widget_border_color theme.tag_preview_widget_border_width = theme.widget_border_width * 0 theme.tag_preview_widget_margin = dpi(10) -- Task Preview theme.task_preview_widget_border_radius = theme.border_radius theme.task_preview_widget_bg = theme.xbackground theme.task_preview_widget_border_color = theme.widget_border_color theme.task_preview_widget_border_width = theme.widget_border_width * 0 theme.task_preview_widget_margin = dpi(15) theme.fade_duration = 250 return theme