diff --git a/.config/awesome/config.lua b/.config/awesome/config.lua
index 4f007ae..d0341be 100644
--- a/.config/awesome/config.lua
+++ b/.config/awesome/config.lua
@@ -22,6 +22,7 @@ M.theme = {
flavor = "macchiato",
accent = "pink",
wallpaper = config_dir .. "themes/catppuccin/buttons.png",
+ pfp = config_dir .. "themes/catppuccin/assets/pfp.jpg",
icons = {},
}
@@ -34,11 +35,49 @@ M.theme.icons.tags = {
misc = " ",
}
+M.icons = {
+ menu = "",
+ power = "",
+ tags = {
+ general = " ",
+ files = " ",
+ media = " ",
+ terminal = " ",
+ coding = " ",
+ misc = " ",
+ },
+ cal = "",
+ clock = "",
+ arr = {
+ r = "»",
+ l = "«",
+ },
+ vol = {
+ on = "",
+ off = "",
+ low = "",
+ med = "",
+ high = "",
+ },
+ mem = "",
+ cpu = "",
+ disk = "",
+}
+
M.widget = {}
+M.widget.clock = {
+ format = "%I:%M %p",
+}
+
+M.widget.date = {
+ format = "%a %b %d",
+}
+
M.widget.weather = {
api_key = "e894c3e6c1a9d2217eee94791e845c96",
coordinates = { lat = "47.773140", lon = "-122.303660" },
+ units = "imperial",
}
M.widget.github = {
diff --git a/.config/awesome/helpers/init.lua b/.config/awesome/helpers/init.lua
index 64140a4..35cc365 100644
--- a/.config/awesome/helpers/init.lua
+++ b/.config/awesome/helpers/init.lua
@@ -1,3 +1,3 @@
return {
- ui = require(... .. ".ui"),
+ ui = require("helpers.ui"),
}
diff --git a/.config/awesome/helpers/ui.lua b/.config/awesome/helpers/ui.lua
index 585e1f5..88e1c76 100644
--- a/.config/awesome/helpers/ui.lua
+++ b/.config/awesome/helpers/ui.lua
@@ -2,20 +2,53 @@ local awful = require("awful")
local wibox = require("wibox")
local gshape = require("gears.shape")
local gmatrix = require("gears.matrix")
-local ipairs = ipairs
-local capi = { mouse = mouse }
+local beautiful = require("beautiful")
-local _ui = {}
+local capi = { mouse = mouse }
+local theme = beautiful.get()
+
+local ui = {}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.colorize_text(text, color)
+---Set text color
+---@param text string
+---@param color string
+---@return string
+function ui.colorize_text(text, color)
return "" .. text .. ""
end
+---Change a font attribute
+---@param attr string attribute(s) to add, e.g. "Bold 16"
+---@return string
+function ui.set_font(attr)
+ return beautiful.get_merged_font(theme.font, attr):to_string()
+end
+
+---Create an icon widget
+---@param i string the icon
+---@param c string the icon's color
+---@return table widget the widget
+function ui.create_icon(i, c)
+ local widget = {
+ {
+ font = ui.set_font("12.5"),
+ text = " " .. i,
+ widget = wibox.widget.textbox,
+ },
+ fg = c,
+ widget = wibox.container.background,
+ }
+ return widget
+end
+
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.add_hover_cursor(w, hover_cursor)
+---Change cursor on hovering
+---@param w any widget to change cursor on
+---@param hover_cursor string cursor to change to
+function ui.add_hover_cursor(w, hover_cursor)
local original_cursor = "left_ptr"
w:connect_signal("mouse::enter", function()
@@ -35,7 +68,7 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.vertical_pad(height)
+function ui.vertical_pad(height)
return wibox.widget({
forced_height = height,
layout = wibox.layout.fixed.vertical,
@@ -44,7 +77,7 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.horizontal_pad(width)
+function ui.horizontal_pad(width)
return wibox.widget({
forced_width = width,
layout = wibox.layout.fixed.horizontal,
@@ -53,13 +86,13 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.rrect(radius)
+function ui.rrect(radius)
return function(cr, width, height)
gshape.rounded_rect(cr, width, height, radius)
end
end
-function _ui.pie(width, height, start_angle, end_angle, radius)
+function ui.pie(width, height, start_angle, end_angle, radius)
return function(cr)
gshape.pie(cr, width, height, start_angle, end_angle, radius)
end
@@ -67,7 +100,7 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.prgram(height, base)
+function ui.prgram(height, base)
return function(cr, width)
gshape.parallelogram(cr, width, height, base)
end
@@ -75,7 +108,7 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.prrect(radius, tl, tr, br, bl)
+function ui.prrect(radius, tl, tr, br, bl)
return function(cr, width, height)
gshape.partially_rounded_rect(cr, width, height, tl, tr, br, bl, radius)
end
@@ -83,7 +116,7 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.custom_shape(cr, width, height)
+function ui.custom_shape(cr, width, height)
cr:move_to(0, height / 25)
cr:line_to(height / 25, 0)
cr:line_to(width, 0)
@@ -111,13 +144,13 @@ local function _get_widget_geometry(_hierarchy, widget)
end
end
-function _ui.get_widget_geometry(_wibox, widget)
+function ui.get_widget_geometry(_wibox, widget)
return _get_widget_geometry(_wibox._drawable._widget_hierarchy, widget)
end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.screen_mask(s, bg)
+function ui.screen_mask(s, bg)
local mask = wibox({
visible = false,
ontop = true,
@@ -131,7 +164,7 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function _ui.grouping_widget(w1, w2, dpi1)
+function ui.grouping_widget(w1, w2, dpi1)
local container = wibox.widget({
w1,
{
@@ -149,4 +182,4 @@ end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-return _ui
+return ui
diff --git a/.config/awesome/lib/init.lua b/.config/awesome/lib/init.lua
index 3c0542c..d4efccb 100644
--- a/.config/awesome/lib/init.lua
+++ b/.config/awesome/lib/init.lua
@@ -1,4 +1,9 @@
-require(... .. ".better-resize")
-require(... .. ".savefloats")
-require(... .. ".exit-screen")
+local req = {
+ "better-resize",
+ "savefloats",
+ "exit-screen",
+}
+for _, x in pairs(req) do
+ require(... .. "." .. x)
+end
diff --git a/.config/awesome/main/init.lua b/.config/awesome/main/init.lua
index 68c8908..23cfb09 100644
--- a/.config/awesome/main/init.lua
+++ b/.config/awesome/main/init.lua
@@ -1,8 +1,14 @@
--- require("main.error_handling")
-require(... .. ".layout")
-require(... .. ".menu")
-require(... .. ".wallpaper")
-require(... .. ".bindings")
-require(... .. ".custom_bindings")
-require(... .. ".rules")
-require(... .. ".tags")
+local req = {
+ "error_handling",
+ "layout",
+ "menu",
+ "wallpaper",
+ "bindings",
+ "custom_bindings",
+ "rules",
+ "tags",
+}
+
+for _, x in pairs(req) do
+ require(... .. "." .. x)
+end
diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
index e21f0f1..286dc69 100644
--- a/.config/awesome/rc.lua
+++ b/.config/awesome/rc.lua
@@ -19,3 +19,6 @@ require("signals")
-- Ui/Panels --
require("ui")
+
+-- local f = beautiful.get().font
+-- beautiful.get_merged_font(f, "50"):to_string()
diff --git a/.config/awesome/signals/cpu.lua b/.config/awesome/signals/cpu.lua
index afd1096..43cd9ad 100644
--- a/.config/awesome/signals/cpu.lua
+++ b/.config/awesome/signals/cpu.lua
@@ -2,9 +2,7 @@ local awful = require("awful")
local gears = require("gears")
local function get_cpu()
- local script = [[
- echo $[100-$(vmstat 1 2|tail -1|awk '{print $15}')]
- ]]
+ local script = "echo $[100-$(vmstat 1 2|tail -1|awk '{print $15}')]"
awful.spawn.easy_async_with_shell(script, function(cpu_perc)
cpu_perc = cpu_perc:match("%d+")
@@ -20,4 +18,3 @@ gears.timer({
get_cpu()
end,
})
-
diff --git a/.config/awesome/signals/disk.lua b/.config/awesome/signals/disk.lua
index af7ce76..c89bae4 100644
--- a/.config/awesome/signals/disk.lua
+++ b/.config/awesome/signals/disk.lua
@@ -2,12 +2,10 @@ local awful = require("awful")
local gears = require("gears")
local config = require("config")
-local which_disk = config.widget.disk.name
+local disk = config.widget.disk.name
local function get_disk()
- local script = [[
- df -kH -B 1MB ]] .. which_disk .. [[ | tail -1 | awk '{printf $5}'
- ]]
+ local script = "df -kH -B 1MB" .. disk .. "| tail -1 | awk '{printf $5}'"
awful.spawn.easy_async_with_shell(script, function(disk_perc)
disk_perc = disk_perc:match("%d+")
diff --git a/.config/awesome/signals/mem.lua b/.config/awesome/signals/mem.lua
index f487f4e..368d052 100644
--- a/.config/awesome/signals/mem.lua
+++ b/.config/awesome/signals/mem.lua
@@ -20,4 +20,3 @@ gears.timer({
get_mem()
end,
})
-
diff --git a/.config/awesome/signals/mic.lua b/.config/awesome/signals/mic.lua
index 7432dde..963a526 100644
--- a/.config/awesome/signals/mic.lua
+++ b/.config/awesome/signals/mic.lua
@@ -21,7 +21,9 @@ local function get_vol()
end)
end)
end
+
awesome.connect_signal("widget::update_mic", function() -- Needs to be Updated if muted! For Mute in Sidebar Widget
get_vol()
end)
+
get_vol()
diff --git a/.config/awesome/signals/player.lua b/.config/awesome/signals/player.lua
index b31a215..a710827 100644
--- a/.config/awesome/signals/player.lua
+++ b/.config/awesome/signals/player.lua
@@ -16,13 +16,16 @@ local function get_player()
artist = string.gsub(artist, "\n", "")
length = string.gsub(length, "\n", "")
status = string.gsub(status, "\n", "")
+
awesome.emit_signal("signal::player", title, artist, length, status)
end)
end)
end)
end)
end
+
awesome.connect_signal("widget::update_player", function()
get_player()
end)
+
get_player()
diff --git a/.config/awesome/signals/playerctl.lua b/.config/awesome/signals/playerctl.lua
index 4f7da5c..dc29d93 100644
--- a/.config/awesome/signals/playerctl.lua
+++ b/.config/awesome/signals/playerctl.lua
@@ -13,4 +13,5 @@ end
if not instance then
instance = new()
end
+
return instance
diff --git a/.config/awesome/signals/uptime.lua b/.config/awesome/signals/uptime.lua
index 5bc5b61..f839401 100644
--- a/.config/awesome/signals/uptime.lua
+++ b/.config/awesome/signals/uptime.lua
@@ -2,7 +2,7 @@ local awful = require("awful")
local function get_uptime()
local script = [[
- uptime -p | sed 's/up\s*//g' | sed 's/\s*days/d/g' | sed 's/\s*day/d/g' | sed 's/\s*hours/h/g' | sed 's/\s*hour/h/g' | sed 's/\s*minutes/m/g' | sed 's/\s*minute/m/g'
+ uptime -p | sed 's/up\s*//g' | sed 's/\s*days*/d/g' | sed 's/\s*hours*/h/g' | sed 's/\s*minutes*/m/g'
]]
awful.spawn.easy_async_with_shell(script, function(uptime)
@@ -14,4 +14,3 @@ awesome.connect_signal("widget::update_uptime", function()
get_uptime()
end)
get_uptime()
-
diff --git a/.config/awesome/ui/info-panel/calendar.lua b/.config/awesome/ui/info-panel/calendar.lua
index 25da61e..6053eb4 100644
--- a/.config/awesome/ui/info-panel/calendar.lua
+++ b/.config/awesome/ui/info-panel/calendar.lua
@@ -1,6 +1,9 @@
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
+local beautiful = require("beautiful")
+local helpers = require("helpers")
+
+local dpi = beautiful.xresources.apply_dpi
+local theme = beautiful.get()
-- Creating Calendar
----------------------
@@ -8,29 +11,30 @@ local dpi = require("beautiful.xresources").apply_dpi
-- copied from awesome doc and adjusted a bit
local styles = {}
-styles.month = { bg_color = beautiful.xcolorS0 }
+styles.month = { bg_color = theme.xcolorS0 }
styles.normal = {
- bg_color = beautiful.xcolorS0,
+ bg_color = theme.xcolorS0,
padding = dpi(6),
- fg_color = beautiful.xcolorT2,
+ fg_color = theme.xcolorT2,
}
styles.focus = {
- fg_color = beautiful.xcolor7,
+ fg_color = theme.xcolor7,
padding = dpi(6),
markup = function(t)
return "" .. t .. ""
end,
}
styles.header = {
- fg_color = beautiful.xcolor2,
+ fg_color = theme.xcolor2,
markup = function(t)
return "" .. t .. ""
end,
}
styles.weekday = {
- fg_color = beautiful.xcolorT2,
+ fg_color = theme.xcolorT2,
markup = function(t)
- return '' .. t .. ""
+ local f = helpers.ui.set_font("16")
+ return '' .. t .. ""
end,
}
@@ -45,6 +49,7 @@ local function decorate_cell(widget, flag)
if props.markup and widget.get_text and widget.set_markup then
widget:set_markup(props.markup(widget:get_text()))
end
+
-- Change bg color for weekends
local ret = wibox.widget({
{
@@ -62,7 +67,7 @@ end
local calendar = wibox.widget({
date = os.date("*t"),
- font = beautiful.font_name .. "14",
+ font = helpers.ui.set_font("14"),
fn_embed = decorate_cell,
widget = wibox.widget.calendar.month,
})
diff --git a/.config/awesome/ui/info-panel/init.lua b/.config/awesome/ui/info-panel/init.lua
index d21c0dd..f34b63d 100644
--- a/.config/awesome/ui/info-panel/init.lua
+++ b/.config/awesome/ui/info-panel/init.lua
@@ -1,11 +1,12 @@
local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
-
+local beautiful = require("beautiful")
local rubato = require("lib.rubato")
+local dpi = beautiful.xresources.apply_dpi
+local theme = beautiful.get()
+
-- Var
local width = dpi(410)
local height = awful.screen.focused().geometry.height - dpi(100)
@@ -19,23 +20,7 @@ local function round_widget(radius)
end
end
-local function center_widget(widgets)
- return wibox.widget({
- nil,
- {
- nil,
- widgets,
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- expand = "none",
- layout = wibox.layout.align.vertical,
- })
-end
-
local function box_widget(widgets, _width, _height)
- --local centered_widget = center_widget(widgets)
-
return wibox.widget({
{
{
@@ -46,7 +31,7 @@ local function box_widget(widgets, _width, _height)
forced_width = dpi(_width),
forced_height = dpi(_height),
shape = round_widget(8),
- bg = beautiful.bg_focus, --for widget Rounded and Border
+ bg = theme.bg_focus, --for widget Rounded and Border
widget = wibox.container.background,
},
margins = { left = dpi(20), right = dpi(20) },
@@ -57,7 +42,6 @@ end
-- Get widgets
local weather_widget = require("ui.info-panel.weather")
local profile_widget = require("ui.info-panel.profile")
---local player_widget = require "ui.info-panel.player" -- Old MPD widget
local calendar_widget = require("ui.info-panel.calendar")
local music_widget = require("ui.info-panel.music-player")
@@ -65,15 +49,7 @@ local music_widget = require("ui.info-panel.music-player")
-- Combine some widgets
local weather = box_widget(weather_widget, 380, 180)
local profile = box_widget(profile_widget, 380, 210)
---local player = box_widget(player_widget, 380, 150) -- Box MPD widget
local calendar = box_widget(calendar_widget, 380, 340)
--- Spacing
-local space = function(_height)
- return wibox.widget({
- forced_height = dpi(_height),
- layout = wibox.layout.align.horizontal,
- })
-end
-- Sidebar
local sidebar = wibox({
@@ -82,17 +58,15 @@ local sidebar = wibox({
width = width,
height = height,
y = dpi(60),
- bg = beautiful.bg_normal,
+ bg = theme.bg_normal,
border_width = dpi(3),
- border_color = beautiful.xcolorS0,
+ border_color = theme.xcolorS0,
})
-- Sidebar widget setup
sidebar:setup({
{
profile,
- --player,
- --stats,
music_widget,
weather,
calendar,
@@ -122,26 +96,18 @@ sidebar.timer = gears.timer({
sidebar.visible = not sidebar.visible
end,
})
---aa.timer = gears.timer { -- Updates the Player every second
--- timeout = 1,
--- autostart = false,
--- callback = function()
--- awesome.emit_signal("widget::update_player")
--- end
---}
+
sidebar.shape = function(cr, w, h) --Rounded Corners
gears.shape.rounded_rect(cr, w, h, 14)
end
+
-- Toggle function
sidebar.toggle = function()
if sidebar.visible then
- -- aa.timer:stop() -- Stops to Update the Player Signal
slide.target = awful.screen.focused().geometry.x - sidebar.width
sidebar.timer:start()
else
- -- awesome.emit_signal("widget::update_player") -- Updates it before the Timer so it doesn't Jump the Length
awesome.emit_signal("widget::update_uptime")
- -- aa.timer:start()
slide.target = awful.screen.focused().geometry.x + dpi(20)
sidebar.visible = not sidebar.visible
end
diff --git a/.config/awesome/ui/info-panel/music-player.lua b/.config/awesome/ui/info-panel/music-player.lua
index ce9c314..93bf44c 100644
--- a/.config/awesome/ui/info-panel/music-player.lua
+++ b/.config/awesome/ui/info-panel/music-player.lua
@@ -1,23 +1,24 @@
local awful = require("awful")
local gears = require("gears")
-local beautiful = require("beautiful").get()
-local xresources = require("beautiful.xresources")
-local dpi = xresources.apply_dpi
+local beautiful = require("beautiful")
local wibox = require("wibox")
local helpers = require("helpers")
local playerctl_daemon = require("signals.playerctl")
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
---- Music Player
---- ~~~~~~~~~~~~
local music_text = wibox.widget({
- font = beautiful.font_name .. "Medium 10",
+ font = helpers.ui.set_font("Medium 10"),
valign = "center",
widget = wibox.widget.textbox,
})
local music_art = wibox.widget({
- image = beautiful.music,
+ image = theme.music,
resize = true,
widget = wibox.widget.imagebox,
})
@@ -33,7 +34,7 @@ local filter_color = {
type = "linear",
from = { 0, 0 },
to = { 0, 160 },
- stops = { { 0, beautiful.xcolorS0 .. "cc" }, { 1, beautiful.xcolorS0 } },
+ stops = { { 0, theme.xcolorS0 .. "cc" }, { 1, theme.xcolorS0 } },
}
local music_art_filter = wibox.widget({
@@ -48,13 +49,13 @@ local music_art_filter = wibox.widget({
})
local music_title = wibox.widget({
- font = beautiful.font_name .. "Regular 13",
+ font = helpers.ui.set_font("Regular 13"),
valign = "center",
widget = wibox.widget.textbox,
})
local music_artist = wibox.widget({
- font = beautiful.font_name .. "Bold 16",
+ font = helpers.ui.set_font("Bold 16"),
valign = "center",
widget = wibox.widget.textbox,
})
@@ -68,8 +69,8 @@ local function volume_control()
bar_width = dpi(4),
shape = helpers.ui.rrect(6),
bar_shape = helpers.ui.rrect(6),
- color = beautiful.xcolor2,
- background_color = beautiful.xcolorS0,
+ color = theme.xcolor2,
+ background_color = theme.xcolorS0,
border_width = 0,
widget = wibox.widget.progressbar,
})
@@ -100,6 +101,7 @@ local function volume_control()
awful.button({}, 4, function()
awful.spawn.with_shell("playerctl volume 0.05+")
end),
+
awful.button({}, 5, function()
awful.spawn.with_shell("playerctl volume 0.05-")
end)
@@ -107,25 +109,26 @@ local function volume_control()
return volume
end
+
-- Player's Button
local toggle = wibox.widget.textbox()
-toggle.font = beautiful.font_name .. "26"
+toggle.font = helpers.ui.set_font("26")
toggle:buttons(gears.table.join(awful.button({}, 1, function()
playerctl_daemon:play_pause()
end)))
local next = wibox.widget.textbox()
-next.font = beautiful.font_name .. "26"
-next.markup = "怜"
+next.font = helpers.ui.set_font("26")
+next.markup = ""
next:buttons(gears.table.join(awful.button({}, 1, function()
playerctl_daemon:next()
end)))
local back = wibox.widget.textbox()
-back.font = beautiful.font_name .. "26"
-back.markup = "玲"
+back.font = helpers.ui.set_font("26")
+back.markup = ""
back:buttons(gears.table.join(awful.button({}, 1, function()
playerctl_daemon:previous()
@@ -194,7 +197,7 @@ local function music()
},
forced_width = dpi(350),
shape = helpers.ui.prrect(8, false, true, true, false),
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
widget = wibox.container.background,
})
end
@@ -211,7 +214,7 @@ local music_widget = wibox.widget({
layout = wibox.layout.align.horizontal,
},
forced_height = dpi(150),
- bg = beautiful.xcolorbase,
+ bg = theme.xcolorbase,
shape = helpers.ui.rrect(8),
widget = wibox.container.background,
},
@@ -231,21 +234,21 @@ playerctl_daemon:connect_signal("metadata", function(_, title, artist, album_pat
artist = "Nothing Playing"
end
if album_path == "" then
- album_path = beautiful.music
+ album_path = theme.music
end
music_art:set_image(gears.surface.load_uncached(album_path))
- music_title:set_markup_silently(helpers.ui.colorize_text(title, beautiful.xcolorT2))
- music_artist:set_markup_silently(helpers.ui.colorize_text(artist, beautiful.xcolor2))
+ music_title:set_markup_silently(helpers.ui.colorize_text(title, theme.xcolorT2))
+ music_artist:set_markup_silently(helpers.ui.colorize_text(artist, theme.xcolor2))
end)
playerctl_daemon:connect_signal("playback_status", function(_, playing, _)
if playing then
- music_text:set_markup_silently(helpers.ui.colorize_text("Now Playing", beautiful.xcolorO0)) --"#666c79"
- toggle.markup = helpers.ui.colorize_text("", beautiful.xcolor2)
+ music_text:set_markup_silently(helpers.ui.colorize_text("Now Playing", theme.xcolorO0))
+ toggle.markup = helpers.ui.colorize_text("", theme.xcolor2)
else
- music_text:set_markup_silently(helpers.ui.colorize_text("Music", beautiful.xcolorO0))
- toggle.markup = helpers.ui.colorize_text("", beautiful.xcolor2)
+ music_text:set_markup_silently(helpers.ui.colorize_text("Music", theme.xcolorO0))
+ toggle.markup = helpers.ui.colorize_text("", theme.xcolor2)
end
end)
diff --git a/.config/awesome/ui/info-panel/player.lua b/.config/awesome/ui/info-panel/player.lua
index 618edd7..cb0d336 100644
--- a/.config/awesome/ui/info-panel/player.lua
+++ b/.config/awesome/ui/info-panel/player.lua
@@ -1,36 +1,39 @@
local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
+local beautiful = require("beautiful")
+local helpers = require("helpers")
+
+local dpi = beautiful.xresources.apply_dpi
-- Make Widgets
-----------------
-- Song's Title
local title = wibox.widget.textbox()
-title.font = beautiful.font_name .. "Medium 16"
+title.font = helpers.ui.set_font("Medium 16")
title.align = "left"
title.valign = "bottom"
-- Song's Artist
local artist = wibox.widget.textbox()
-artist.font = beautiful.font_name .. "Regular 16"
+artist.font = helpers.ui.set_font("Regular 16")
artist.align = "left"
artist.valign = "bottom"
-- Song's Length
local length = wibox.widget.textbox()
-length.font = beautiful.font_name .. "Regular 14"
+length.font = helpers.ui.set_font("Regular 14")
length.align = "center"
length.valign = "center"
-- Player's Button
local toggle = wibox.widget.textbox()
-toggle.font = beautiful.font_name .. "26"
+toggle.font = helpers.ui.set_font("26")
toggle:buttons(gears.table.join(awful.button({}, 1, function()
awful.spawn("mpc toggle", false)
+
if toggle.markup:match("") then
toggle.markup = ""
else
@@ -39,7 +42,7 @@ toggle:buttons(gears.table.join(awful.button({}, 1, function()
end)))
local next = wibox.widget.textbox()
-next.font = beautiful.font_name .. "26"
+next.font = helpers.ui.set_font("26")
next.markup = ""
next:buttons(gears.table.join(awful.button({}, 1, function()
@@ -47,7 +50,7 @@ next:buttons(gears.table.join(awful.button({}, 1, function()
end)))
local back = wibox.widget.textbox()
-back.font = beautiful.font_name .. "26"
+back.font = helpers.ui.set_font("26")
back.markup = ""
back:buttons(gears.table.join(awful.button({}, 1, function()
@@ -104,7 +107,7 @@ return wibox.widget({
spacing = dpi(6),
layout = wibox.layout.fixed.vertical,
},
- top = 30,
+ top = dpi(30),
bottom = 0,
layout = wibox.container.margin,
},
diff --git a/.config/awesome/ui/info-panel/profile.lua b/.config/awesome/ui/info-panel/profile.lua
index b333c8c..b1773a2 100644
--- a/.config/awesome/ui/info-panel/profile.lua
+++ b/.config/awesome/ui/info-panel/profile.lua
@@ -1,57 +1,55 @@
local awful = require("awful")
local wibox = require("wibox")
local gears = require("gears")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local helpers = require("helpers")
-local dpi = require("beautiful.xresources").apply_dpi
-local user1 = os.getenv("USER")
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
+local os_user = os.getenv("USER")
-- Create Widgets
-------------------
-- Pfp
local pfp = wibox.widget.imagebox()
-pfp.image = beautiful.pfp
+pfp.image = require("config").theme.pfp
pfp.clip_shape = gears.shape.circle
pfp.forced_width = dpi(130)
pfp.forced_height = dpi(130)
-- User
local user = wibox.widget.textbox()
-user.font = beautiful.font_name .. "SemiBold 18"
+user.font = helpers.ui.set_font("SemiBold 18")
user.align = "left"
-user.markup = "" .. user1 .. ""
+user.markup = helpers.ui.colorize_text(os_user, theme.fg_normal)
-- Hostname
local hostname = wibox.widget.textbox()
-hostname.font = beautiful.font_name .. "Regular 14"
+hostname.font = helpers.ui.set_font("Regular 14")
hostname.align = "left"
-awful.spawn.easy_async_with_shell("echo $HOST", function(stdout)
- hostname.markup = "" .. "@" .. tostring(stdout) .. ""
+awful.spawn.easy_async_with_shell("hostnamectl --static", function(stdout)
+ hostname.markup = helpers.ui.colorize_text("@" .. tostring(stdout), theme.xcolor1)
end)
-- Battery
local uptimeosd = wibox.widget.textbox()
-uptimeosd.font = beautiful.font_name .. "12"
+uptimeosd.font = helpers.ui.set_font("12")
uptimeosd.align = "center"
-- Get data 4 widgets!
awesome.connect_signal("signal::uptime", function(uptime)
- uptimeosd.markup = "" .. "up " .. uptime .. ""
+ uptimeosd.markup = helpers.ui.colorize_text("up " .. uptime, theme.fg_normal)
end)
-- Spacing horizontally
-local space = wibox.widget({
- forced_height = dpi(6),
- layout = wibox.layout.align.horizontal,
-})
local shutdown = wibox.widget({
{
{
- font = beautiful.font_name .. "30",
- markup = "" .. "" .. "",
+ font = helpers.ui.set_font("30"),
+ markup = helpers.ui.colorize_text("", theme.xcolor10),
align = "center",
valign = "center",
widget = wibox.widget.textbox,
@@ -62,7 +60,7 @@ local shutdown = wibox.widget({
right = dpi(11),
widget = wibox.container.margin,
},
- bg = beautiful.xcolorS1,
+ bg = theme.xcolorS1,
shape = helpers.ui.rrect(8),
widget = wibox.container.background,
})
@@ -70,8 +68,8 @@ local shutdown = wibox.widget({
local reboot = wibox.widget({
{
{
- font = beautiful.font_name .. "30",
- markup = "" .. "" .. "",
+ font = helpers.ui.set_font("30"),
+ markup = helpers.ui.colorize_text("", theme.xcolor2),
align = "center",
valign = "center",
widget = wibox.widget.textbox,
@@ -82,24 +80,24 @@ local reboot = wibox.widget({
right = dpi(11),
widget = wibox.container.margin,
},
- bg = beautiful.xcolorS1,
+ bg = theme.xcolorS1,
shape = helpers.ui.rrect(8),
widget = wibox.container.background,
})
shutdown:connect_signal("mouse::enter", function()
- shutdown.bg = beautiful.xcolorS2
+ shutdown.bg = theme.xcolorS2
end)
shutdown:connect_signal("mouse::leave", function()
- shutdown.bg = beautiful.xcolorS1
+ shutdown.bg = theme.xcolorS1
end)
reboot:connect_signal("mouse::enter", function()
- reboot.bg = beautiful.xcolorS2
+ reboot.bg = theme.xcolorS2
end)
reboot:connect_signal("mouse::leave", function()
- reboot.bg = beautiful.xcolorS1
+ reboot.bg = theme.xcolorS1
end)
shutdown:buttons(gears.table.join(awful.button({}, 1, function()
@@ -119,8 +117,8 @@ local buttons = wibox.widget({
spacing = dpi(8),
layout = wibox.layout.fixed.horizontal,
},
- top = 10,
- left = 57,
+ top = dpi(10),
+ left = dpi(57),
widget = wibox.container.margin,
})
@@ -134,6 +132,7 @@ local name = wibox.widget({
left = 0,
widget = wibox.container.margin,
})
+
local uptimebox = wibox.widget({
{
{
@@ -141,11 +140,11 @@ local uptimebox = wibox.widget({
spacing = dpi(2),
layout = wibox.layout.fixed.vertical,
},
- top = 3,
- bottom = 3,
+ top = dpi(3),
+ bottom = dpi(3),
widget = wibox.container.margin,
},
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
shape = helpers.ui.rrect(7),
widget = wibox.container.background,
})
@@ -167,7 +166,7 @@ return wibox.widget({
buttons,
layout = wibox.layout.fixed.vertical,
},
- top = 30,
+ top = dpi(30),
layout = wibox.container.margin,
},
spacing = dpi(30),
diff --git a/.config/awesome/ui/info-panel/weather/init.lua b/.config/awesome/ui/info-panel/weather/init.lua
index c82b1c2..f832ad1 100644
--- a/.config/awesome/ui/info-panel/weather/init.lua
+++ b/.config/awesome/ui/info-panel/weather/init.lua
@@ -1,12 +1,14 @@
local awful = require("awful")
local wibox = require("wibox")
local gears = require("gears")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
-local filesystem = gears.filesystem
+local beautiful = require("beautiful")
local json = require("lib.json")
-local config = require("config")
-local icon_dir = filesystem.get_configuration_dir() .. "ui/info-panel/weather/icons/"
+local helpers = require("helpers")
+
+local config = require("config").widget.weather
+
+local dpi = beautiful.xresources.apply_dpi
+local icon_dir = gears.filesystem.get_configuration_dir() .. "ui/info-panel/weather/icons/"
--- Weather Widget
--- ~~~~~~~~~~~~~~
@@ -49,13 +51,13 @@ local current_weather_widget = wibox.widget({
{
id = "description",
text = "Mostly cloudy",
- font = beautiful.font_name .. "Bold 10",
+ font = helpers.ui.set_font("Bold 10"),
widget = wibox.widget.textbox,
},
{
id = "humidity",
text = "Humidity: 80%",
- font = beautiful.font_name .. " 9",
+ font = helpers.ui.set_font("9"),
widget = wibox.widget.textbox,
},
layout = wibox.layout.fixed.vertical,
@@ -69,16 +71,16 @@ local current_weather_widget = wibox.widget({
{
{
{
- id = "tempareture_current",
+ id = "temp_current",
markup = "20°",
align = "right",
- font = beautiful.font_name .. "Bold 16",
+ font = helpers.ui.set_font("Bold 16"),
widget = wibox.widget.textbox,
},
{
id = "feels_like",
markup = "Feels like: 19°",
- font = beautiful.font_name .. " 8",
+ font = helpers.ui.set_font("8"),
widget = wibox.widget.textbox,
},
spacing = dpi(-6),
@@ -95,7 +97,7 @@ local hourly_widget = function()
{
id = "time",
text = "12PM",
- font = beautiful.font_name .. " 9",
+ font = helpers.ui.set_font("9"),
widget = wibox.widget.textbox,
},
widget = wibox.container.place,
@@ -113,9 +115,9 @@ local hourly_widget = function()
},
{
{
- id = "tempareture",
+ id = "temp",
markup = "1°",
- font = beautiful.font_name .. " 9",
+ font = helpers.ui.set_font("9"),
widget = wibox.widget.textbox,
},
widget = wibox.container.place,
@@ -127,12 +129,17 @@ local hourly_widget = function()
widget.update = function(result)
local time = widget:get_children_by_id("time")[1]
local icon = widget:get_children_by_id("icon")[1]
- local temp = widget:get_children_by_id("tempareture")[1]
+ local temp = widget:get_children_by_id("temp")[1]
+
temp:set_markup(math.floor(result.temp) .. "°")
+
time:set_text(os.date("%I%p", tonumber(result.dt)))
+
icon.image = icon_dir .. icon_map[result.weather[1].icon] .. ".svg"
+
icon:emit_signal("widget::redraw_needed")
end
+
return widget
end
@@ -146,7 +153,7 @@ local hourly_widget_6 = hourly_widget()
local weather_widget = wibox.widget({
{
text = "Weather",
- font = beautiful.font_name .. "Bold 16",
+ font = helpers.ui.set_font("Bold 16"),
align = "center",
widget = wibox.widget.textbox,
},
@@ -165,23 +172,19 @@ local weather_widget = wibox.widget({
layout = wibox.layout.fixed.vertical,
})
-local api_key = config.widget.weather.api_key
-local coordinates = config.widget.weather.coordinates
-
local show_hourly_forecast = true
local show_daily_forecast = true
-local units = "imperial"
local url = (
"https://api.openweathermap.org/data/2.5/onecall"
.. "?lat="
- .. coordinates.lat
+ .. config.coordinates.lat
.. "&lon="
- .. coordinates.lon
+ .. config.coordinates.lon
.. "&appid="
- .. api_key
+ .. config.api_key
.. "&units="
- .. units
+ .. config.units
.. "&exclude=minutely"
.. (show_hourly_forecast == false and ",hourly" or "")
.. (show_daily_forecast == false and ",daily" or "")
@@ -199,14 +202,20 @@ awful.widget.watch(string.format(GET_FORECAST_CMD, url), 600, function(_, stdout
local icon = current_weather_widget:get_children_by_id("icon")[1]
local description = current_weather_widget:get_children_by_id("description")[1]
local humidity = current_weather_widget:get_children_by_id("humidity")[1]
- local temp_current = current_weather_widget:get_children_by_id("tempareture_current")[1]
+ local temp_current = current_weather_widget:get_children_by_id("temp_current")[1]
local feels_like = current_weather_widget:get_children_by_id("feels_like")[1]
+
icon.image = icon_dir .. icon_map[result.current.weather[1].icon] .. ".svg"
icon:emit_signal("widget::redraw_needed")
+
description:set_text(result.current.weather[1].description:gsub("^%l", string.upper))
+
humidity:set_text("Humidity: " .. result.current.humidity .. "%")
+
temp_current:set_markup(math.floor(result.current.temp) .. "°")
+
feels_like:set_markup("Feels like: " .. math.floor(result.current.feels_like) .. "°")
+
-- Hourly widget setup
hourly_widget_1.update(result.hourly[1])
hourly_widget_2.update(result.hourly[2])
diff --git a/.config/awesome/ui/notif-panel/init.lua b/.config/awesome/ui/notif-panel/init.lua
index e36f06c..dc95a31 100644
--- a/.config/awesome/ui/notif-panel/init.lua
+++ b/.config/awesome/ui/notif-panel/init.lua
@@ -1,22 +1,24 @@
local gears = require("gears")
local awful = require("awful")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local helpers = require("helpers")
local naughty = require("naughty")
local rubato = require("lib.rubato")
-local dpi = require("beautiful.xresources").apply_dpi
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
local notifs_text = wibox.widget({
- font = beautiful.font .. " Bold 20",
+ font = helpers.ui.set_font("Bold 20"),
markup = "Notifications",
halign = "center",
widget = wibox.widget.textbox,
})
local notifs_clear = wibox.widget({
- markup = " ",
- font = beautiful.font_name .. " Bold 21",
+ markup = helpers.ui.colorize_text(" ", theme.xcolor10),
+ font = helpers.ui.set_font("Bold 21"),
align = "center",
valign = "center",
widget = wibox.widget.textbox,
@@ -25,6 +27,7 @@ local notifs_clear = wibox.widget({
notifs_clear:buttons(gears.table.join(awful.button({}, 1, function()
_G.Notif_center_reset_notifs_container()
end)))
+
helpers.ui.add_hover_cursor(notifs_clear, "hand2")
local notifs_empty = wibox.widget({
@@ -33,8 +36,8 @@ local notifs_empty = wibox.widget({
{
nil,
{
- markup = "Nothing Here!",
- font = beautiful.font .. " Bold 17",
+ markup = helpers.ui.colorize_text("Nothing Here!", theme.xcolorT2),
+ font = helpers.ui.set_font("Bold 17"),
align = "center",
valign = "center",
widget = wibox.widget.textbox,
@@ -43,27 +46,27 @@ local notifs_empty = wibox.widget({
},
layout = wibox.layout.align.horizontal,
},
- forced_height = 730,
+ forced_height = dpi(730),
widget = wibox.container.background,
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
shape = helpers.ui.rrect(8),
})
local notifs_container = wibox.widget({
- spacing = 10,
+ spacing = dpi(10),
spacing_widget = {
{
shape = helpers.ui.rrect(8),
widget = wibox.container.background,
},
- top = 2,
- bottom = 2,
- left = 6,
- right = 6,
+ top = dpi(2),
+ bottom = dpi(2),
+ left = dpi(6),
+ right = dpi(6),
widget = wibox.container.margin,
},
- forced_width = 320,
- forced_height = 730, --Use it like in notifs_empty else it will look weird
+ forced_width = dpi(320),
+ forced_height = dpi(730), --Use it like in notifs_empty else it will look weird
layout = wibox.layout.fixed.vertical,
})
@@ -101,8 +104,8 @@ local create_notif = function(icon, n)
widget = wibox.widget.imagebox,
},
strategy = "exact",
- height = 50,
- width = 50,
+ height = dpi(50),
+ width = dpi(50),
widget = wibox.container.constraint,
},
{
@@ -112,22 +115,22 @@ local create_notif = function(icon, n)
{
{
step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- speed = 50,
+ speed = dpi(50),
{
markup = n.title,
- font = beautiful.font .. " Bold 9",
+ font = helpers.ui.set_font("Bold 9"),
align = "left",
widget = wibox.widget.textbox,
},
- forced_width = 140,
+ forced_width = dpi(140),
widget = wibox.container.scroll.horizontal,
},
nil,
{
- markup = "" .. time .. "",
+ markup = helpers.ui.colorize_text(time, theme.xcolorT2),
align = "right",
valign = "bottom",
- font = beautiful.font .. " Bold 10",
+ font = helpers.ui.set_font("Bold 10"),
widget = wibox.widget.textbox,
},
expand = "none",
@@ -135,32 +138,32 @@ local create_notif = function(icon, n)
},
{
step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- speed = 50,
+ speed = dpi(50),
{
markup = n.message,
align = "left",
widget = wibox.widget.textbox,
},
- forced_width = 165,
+ forced_width = dpi(165),
widget = wibox.container.scroll.horizontal,
},
- spacing = 3,
+ spacing = dpi(3),
layout = wibox.layout.fixed.vertical,
},
expand = "none",
layout = wibox.layout.align.vertical,
},
- left = 17,
+ left = dpi(17),
widget = wibox.container.margin,
},
layout = wibox.layout.align.horizontal,
},
- margins = 15,
+ margins = dpi(15),
widget = wibox.container.margin,
},
- forced_height = 85,
+ forced_height = dpi(85),
widget = wibox.container.background,
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
shape = helpers.ui.rrect(8),
})
@@ -199,7 +202,7 @@ naughty.connect_signal("request::display", function(n)
local appicon = n.icon or n.app_icon
if not appicon then
- appicon = beautiful.pfp --notification_icon
+ appicon = theme.pfp --notification_icon
end
notifs_container:insert(1, create_notif(appicon, n))
@@ -215,18 +218,18 @@ local notifs = wibox.widget({
expand = "none",
layout = wibox.layout.align.horizontal,
},
- left = 5,
- right = 5,
- top = 7,
- bottom = 7,
+ left = dpi(5),
+ right = dpi(5),
+ top = dpi(7),
+ bottom = dpi(7),
layout = wibox.container.margin,
},
widget = wibox.container.background,
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
shape = helpers.ui.rrect(8),
},
notifs_container,
- spacing = 20,
+ spacing = dpi(20),
layout = wibox.layout.fixed.vertical,
})
@@ -240,20 +243,20 @@ local actions = wibox.widget({
widget = require("ui.notif-panel.widgets.mic_slider"),
},
layout = wibox.layout.flex.vertical,
- spacing = 1,
+ spacing = dpi(1),
},
widget = wibox.container.margin,
- top = 20,
- bottom = 20,
- left = 35,
- right = 35,
+ top = dpi(20),
+ bottom = dpi(20),
+ left = dpi(35),
+ right = dpi(35),
},
- forced_height = 120,
+ forced_height = dpi(120),
widget = wibox.container.background,
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
shape = helpers.ui.rrect(8),
})
---
+
-- Sidebar
local action = wibox({
visible = false,
@@ -261,20 +264,26 @@ local action = wibox({
width = dpi(410),
height = awful.screen.focused().geometry.height - dpi(100),
y = dpi(60),
- bg = beautiful.bg_normal,
+ bg = theme.bg_normal,
border_width = dpi(3),
- border_color = beautiful.xcolorS0,
+ border_color = theme.xcolorS0,
})
-- Sidebar widget setup
action:setup({
{
notifs,
+ nil,
actions,
spacing = dpi(20),
- layout = wibox.layout.fixed.vertical,
+ layout = wibox.layout.align.vertical,
+ },
+ margins = {
+ top = dpi(20),
+ bottom = dpi(20),
+ left = dpi(20),
+ right = dpi(20),
},
- margins = { top = dpi(20), bottom = dpi(20), left = dpi(20), right = dpi(20) },
widget = wibox.container.margin,
})
@@ -300,6 +309,7 @@ action.timer = gears.timer({
action.shape = function(cr, w, h) --Rounded Corners
gears.shape.rounded_rect(cr, w, h, 14)
end
+
-- Toggle function
action.toggle = function()
if action.visible then
diff --git a/.config/awesome/ui/notif-panel/widgets/bri_slider.lua b/.config/awesome/ui/notif-panel/widgets/bri_slider.lua
index d1b046b..f505401 100644
--- a/.config/awesome/ui/notif-panel/widgets/bri_slider.lua
+++ b/.config/awesome/ui/notif-panel/widgets/bri_slider.lua
@@ -1,18 +1,21 @@
local gears = require("gears")
local awful = require("awful")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local helpers = require("helpers")
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
local slider = wibox.widget({
bar_shape = helpers.ui.rrect(9),
bar_height = 6,
- bar_color = beautiful.bg_focus,
- bar_active_color = beautiful.xcolor7,
+ bar_color = theme.bg_focus,
+ bar_active_color = theme.xcolor7,
handle_shape = gears.shape.circle,
- handle_color = beautiful.xcolor7,
- handle_width = 12,
- value = 25,
+ handle_color = theme.xcolor7,
+ handle_width = dpi(12),
+ value = dpi(25),
widget = wibox.widget.slider,
})
@@ -20,8 +23,8 @@ helpers.ui.add_hover_cursor(slider, "hand1")
local bri_slider = wibox.widget({
{
- markup = helpers.ui.colorize_text(" ", beautiful.xcolor7),
- font = beautiful.font .. " 14",
+ markup = helpers.ui.colorize_text(" ", theme.xcolor7),
+ font = helpers.ui.set_font("14"),
align = "center",
valign = "center",
widget = wibox.widget.textbox(),
diff --git a/.config/awesome/ui/notif-panel/widgets/mic_slider.lua b/.config/awesome/ui/notif-panel/widgets/mic_slider.lua
index 2a62ab8..371eb6e 100644
--- a/.config/awesome/ui/notif-panel/widgets/mic_slider.lua
+++ b/.config/awesome/ui/notif-panel/widgets/mic_slider.lua
@@ -1,34 +1,36 @@
local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local helpers = require("helpers")
-local dpi = require("beautiful.xresources").apply_dpi
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
local config = require("config")
local microphone = config.widget.mic.name
local slider = wibox.widget({
bar_shape = helpers.ui.rrect(9),
- bar_height = 6,
- bar_color = beautiful.xcolorbase,
- bar_active_color = beautiful.xcolor2,
+ bar_height = dpi(6),
+ bar_color = theme.xcolorbase,
+ bar_active_color = theme.xcolor2,
handle_shape = gears.shape.circle,
- handle_color = beautiful.xcolor2,
- handle_width = 12,
- value = 75,
+ handle_color = theme.xcolor2,
+ handle_width = dpi(12),
+ value = dpi(75),
forced_width = dpi(239),
widget = wibox.widget.slider,
})
local osd_value = wibox.widget({
text = "0%",
- font = beautiful.font_name .. "10",
+ font = helpers.ui.set_font("10"),
widget = wibox.widget.textbox(),
})
local icon = wibox.widget({
- markup = helpers.ui.colorize_text("", beautiful.xcolor2),
- font = beautiful.font_name .. "14",
+ markup = helpers.ui.colorize_text("", theme.xcolor2),
+ font = helpers.ui.set_font("14"),
align = "center",
valign = "center",
widget = wibox.widget.textbox(),
@@ -37,11 +39,11 @@ local icon = wibox.widget({
local function get_val()
awesome.connect_signal("signal::mic", function(_, muted)
if muted then
- icon.markup = ""
- icon.font = beautiful.font_name .. "14"
+ icon.markup = helpers.ui.colorize_text("", theme.xcolor2)
+ icon.font = helpers.ui.set_font("14")
else
- icon.markup = ""
- icon.font = beautiful.font_name .. "17"
+ icon.markup = helpers.ui.colorize_text("", theme.xcolor2)
+ icon.font = helpers.ui.set_font("17")
end
end)
end
@@ -49,9 +51,7 @@ end
get_val()
icon:buttons(gears.table.join(awful.button({}, 1, function()
- local script = [[
- pamixer --source ]] .. microphone .. [[ -t
- ]]
+ local script = "pamixer --source" .. microphone .. "-t"
awful.spawn(script, false)
awesome.emit_signal("widget::update_mic")
@@ -65,6 +65,7 @@ slider:buttons(gears.table.join(
end
slider:set_value(slider:get_value() + 5)
end),
+
awful.button({}, 5, nil, function()
if slider:get_value() < 0 then
slider:set_value(0)
@@ -85,8 +86,8 @@ local mic_slider = wibox.widget({
},
left = 0,
right = dpi(14),
- top = 5,
- bottom = 5,
+ top = dpi(5),
+ bottom = dpi(5),
layout = wibox.container.margin,
},
slider,
@@ -119,4 +120,5 @@ slider:connect_signal("property::value", function(_, new_value)
local volume_level = slider:get_value()
osd_value.text = volume_level .. "%"
end)
+
return mic_slider
diff --git a/.config/awesome/ui/notif-panel/widgets/vol_slider.lua b/.config/awesome/ui/notif-panel/widgets/vol_slider.lua
index a6920d5..d488061 100644
--- a/.config/awesome/ui/notif-panel/widgets/vol_slider.lua
+++ b/.config/awesome/ui/notif-panel/widgets/vol_slider.lua
@@ -1,31 +1,33 @@
local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local helpers = require("helpers")
-local dpi = require("beautiful.xresources").apply_dpi
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
local slider = wibox.widget({
bar_shape = helpers.ui.rrect(9),
- bar_height = 6,
- bar_color = beautiful.xcolorbase,
- bar_active_color = beautiful.xcolor2,
+ bar_height = dpi(6),
+ bar_color = theme.xcolorbase,
+ bar_active_color = theme.xcolor2,
handle_shape = gears.shape.circle,
- handle_color = beautiful.xcolor2,
- handle_width = 12,
- value = 75,
+ handle_color = theme.xcolor2,
+ handle_width = dpi(12),
+ value = dpi(75),
forced_width = dpi(239),
widget = wibox.widget.slider,
})
local osd_value = wibox.widget({
text = "0%",
- font = beautiful.font_name .. "10",
+ font = helpers.ui.set_font("10"),
widget = wibox.widget.textbox(),
})
local icon = wibox.widget({
- markup = helpers.ui.colorize_text(" ", beautiful.xcolor2),
- font = beautiful.font_name .. "14",
+ markup = helpers.ui.colorize_text(" ", theme.xcolor2),
+ font = helpers.ui.set_font("14"),
align = "center",
valign = "center",
widget = wibox.widget.textbox(),
@@ -34,9 +36,9 @@ local icon = wibox.widget({
local function get_val()
awesome.connect_signal("signal::volume", function(_, muted)
if muted then
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text("", theme.xcolor2)
else
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text("", theme.xcolor2)
end
end)
end
@@ -44,9 +46,7 @@ end
get_val()
icon:buttons(gears.table.join(awful.button({}, 1, function()
- local script = [[
- pamixer -t
- ]]
+ local script = "pamixer -t"
awful.spawn(script, false)
awesome.emit_signal("widget::update_vol")
@@ -60,6 +60,7 @@ slider:buttons(gears.table.join(
end
slider:set_value(slider:get_value() + 5)
end),
+
awful.button({}, 5, nil, function()
if slider:get_value() < 0 then
slider:set_value(0)
@@ -80,8 +81,8 @@ local vol_slider = wibox.widget({
},
left = 0,
right = dpi(14),
- top = 5,
- bottom = 5,
+ top = dpi(5),
+ bottom = dpi(5),
layout = wibox.container.margin,
},
slider,
@@ -119,4 +120,5 @@ slider:connect_signal("property::value", function(_, new_value)
local volume_level = slider:get_value()
osd_value.text = volume_level .. "%"
end)
+
return vol_slider
diff --git a/.config/awesome/ui/popups/init.lua b/.config/awesome/ui/popups/init.lua
index 996c529..8d6ae8b 100644
--- a/.config/awesome/ui/popups/init.lua
+++ b/.config/awesome/ui/popups/init.lua
@@ -1,4 +1,10 @@
-require(... .. ".layout")
-require(... .. ".notifications")
-require(... .. ".scratchpad")
-require(... .. ".volume")
+local req = {
+ "layout",
+ "notifications",
+ "scratchpad",
+ "volume",
+}
+
+for _, x in pairs(req) do
+ require(... .. "." .. x)
+end
diff --git a/.config/awesome/ui/popups/layout/init.lua b/.config/awesome/ui/popups/layout/init.lua
index eaa028f..08b5a28 100644
--- a/.config/awesome/ui/popups/layout/init.lua
+++ b/.config/awesome/ui/popups/layout/init.lua
@@ -1,30 +1,33 @@
local awful = require("awful")
local gears = require("gears")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local wibox = require("wibox")
local keys = require("config").keys
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
local ll = awful.widget.layoutlist({
base_layout = wibox.widget({
- spacing = 5,
- forced_num_cols = 4,
+ spacing = dpi(5),
+ forced_num_cols = dpi(4),
layout = wibox.layout.grid.vertical,
}),
+
widget_template = {
{
{
id = "icon_role",
- forced_height = 1,
- forced_width = 1,
+ forced_height = dpi(1),
+ forced_width = dpi(1),
widget = wibox.widget.imagebox,
},
- margins = 15,
+ margins = dpi(15),
widget = wibox.container.margin,
},
id = "background_role",
- forced_width = 70,
- forced_height = 70,
+ forced_width = dpi(70),
+ forced_height = dpi(70),
shape = gears.shape.rounded_rect,
widget = wibox.container.background,
},
@@ -36,14 +39,16 @@ local layout_popup = awful.popup({
margins = 4, --border margins (padding)
widget = wibox.container.margin,
}),
- border_color = beautiful.border_normal,
- bg = beautiful.bg_normal,
- border_width = beautiful.border_width,
+
+ border_color = theme.border_normal,
+ bg = theme.bg_normal,
+ border_width = theme.border_width,
placement = awful.placement.centered,
ontop = true,
visible = false,
shape = gears.shape.rounded_rect,
})
+
function gears.table.iterate_value(t, value, step_size, filter, _)
local k = gears.table.hasitem(t, value)
if not k then
@@ -60,6 +65,7 @@ function gears.table.iterate_value(t, value, step_size, filter, _)
return t[k2], k2
end
end
+
return
end
@@ -69,7 +75,6 @@ end
-- Timer for Death of PopUp
layout_popup.timer = gears.timer({
timeout = 0.8,
- --autostart = true,
single_shot = true,
callback = function()
layout_popup.visible = false
@@ -84,37 +89,34 @@ function layout_popup.changed()
layout_popup.timer:again()
end
end
--- Mouse Support -- Disable if not Wanted --
+
+-- Mouse Support
layout_popup:connect_signal("mouse::enter", function()
layout_popup.timer:stop()
end)
layout_popup:connect_signal("mouse::leave", function()
layout_popup.timer:start()
end)
--- Make sure you remove the default Mod4+Space and Mod4+Shift+Space
--- keybindings before adding this.
awful.keygrabber({
start_callback = function()
layout_popup.visible = true
end,
+
stop_callback = function()
layout_popup.visible = false
end,
+
export_keybindings = true,
stop_event = "release",
stop_key = { "Escape", "Super_L", "Super_R" },
+
keybindings = {
{
{ keys.mod },
" ",
function()
- --layout_popup.timer:again()
- awful.layout.set(
- gears.table.iterate_value(ll.layouts, ll.current_layout, 1),
- --layout_popup.timer:start()
- layout_popup.changed()
- )
+ awful.layout.set(gears.table.iterate_value(ll.layouts, ll.current_layout, 1), layout_popup.changed())
end,
},
@@ -122,12 +124,7 @@ awful.keygrabber({
{ keys.mod, "Shift" },
" ",
function()
- --layout_popup.timer:again()
- awful.layout.set(
- gears.table.iterate_value(ll.layouts, ll.current_layout, -1),
- --layout_popup.timer:start()
- layout_popup.changed()
- )
+ awful.layout.set(gears.table.iterate_value(ll.layouts, ll.current_layout, -1), layout_popup.changed())
end,
},
},
diff --git a/.config/awesome/ui/popups/notifications/init.lua b/.config/awesome/ui/popups/notifications/init.lua
index f96ab5b..259734d 100644
--- a/.config/awesome/ui/popups/notifications/init.lua
+++ b/.config/awesome/ui/popups/notifications/init.lua
@@ -1,13 +1,15 @@
local gears = require("gears")
local wibox = require("wibox")
local awful = require("awful")
-local beautiful = require("beautiful").get()
-local xresources = require("beautiful.xresources")
-local dpi = xresources.apply_dpi
+local beautiful = require("beautiful")
local naughty = require("naughty")
local helpers = require("helpers")
local menubar = require("menubar")
local animation = require("lib.animation")
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
--- Naughty Notifications with animation
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -44,13 +46,13 @@ naughty.connect_signal("request::icon", function(n, context, hints)
end)
--- Use XDG icon
-naughty.connect_signal("request::action_icon", function(a, context, hints)
+naughty.connect_signal("request::action_icon", function(a, _, hints)
a.icon = menubar.utils.lookup_icon(hints.id)
end)
naughty.connect_signal("request::display", function(n)
--- random accent color
- local accent_colors = beautiful.xcolor2
+ local accent_colors = theme.xcolor2
--- table of icons
local app_icons = {
@@ -71,8 +73,8 @@ naughty.connect_signal("request::display", function(n)
local app_icon_n = wibox.widget({
{
- font = beautiful.font_name .. "Round 13",
- markup = "" .. app_icon .. "",
+ font = helpers.ui.set_font("Round 13"),
+ markup = helpers.ui.colorize_text(app_icon, theme.xcolorbase),
align = "center",
valign = "center",
widget = wibox.widget.textbox,
@@ -122,15 +124,15 @@ naughty.connect_signal("request::display", function(n)
})
local app_name = wibox.widget({
- font = beautiful.font_name .. "Bold 12",
+ font = helpers.ui.set_font("Bold 12"),
text = n.app_name:gsub("^%l", string.upper),
widget = wibox.widget.textbox,
})
local dismiss = wibox.widget({
{
- font = beautiful.font_name .. "Bold 10",
- markup = helpers.ui.colorize_text("", beautiful.xcolor2),
+ font = helpers.ui.set_font("Bold 10"),
+ markup = helpers.ui.colorize_text("", theme.xcolor2),
widget = wibox.widget.textbox,
valign = "center",
align = "center",
@@ -152,7 +154,7 @@ naughty.connect_signal("request::display", function(n)
value = 0,
thickness = dpi(4),
rounded_edge = true,
- bg = beautiful.xcolorbase,
+ bg = theme.xcolorbase,
colors = {
{
type = "linear",
@@ -169,8 +171,9 @@ naughty.connect_signal("request::display", function(n)
},
dismiss,
})
+
local title2 = wibox.widget.textbox()
- title2.font = beautiful.font_name .. "Bold 11"
+ title2.font = helpers.ui.set_font("Bold 11")
title2.text = n.title
local title = wibox.widget({
@@ -182,7 +185,7 @@ naughty.connect_signal("request::display", function(n)
})
local message2 = wibox.widget.textbox()
- message2.font = beautiful.font_name .. "11"
+ message2.font = helpers.ui.set_font("11")
message2.text = n.message
local message = wibox.widget({
@@ -195,16 +198,18 @@ naughty.connect_signal("request::display", function(n)
local actions = wibox.widget({
notification = n,
+
base_layout = wibox.widget({
spacing = dpi(3),
layout = wibox.layout.flex.horizontal,
}),
+
widget_template = {
{
{
{
id = "text_role",
- font = beautiful.font_name .. "10",
+ font = helpers.ui.set_font("10"),
widget = wibox.widget.textbox,
},
left = dpi(6),
@@ -213,7 +218,7 @@ naughty.connect_signal("request::display", function(n)
},
widget = wibox.container.place,
},
- bg = beautiful.xcolorbase,
+ bg = theme.xcolorbase,
forced_height = dpi(25),
forced_width = dpi(70),
widget = wibox.container.background,
@@ -230,11 +235,12 @@ naughty.connect_signal("request::display", function(n)
type = "notification",
cursor = "hand2",
shape = helpers.ui.rrect(12),
- border_color = beautiful.xcolorS0,
+ border_color = theme.xcolorS0,
border_width = dpi(3),
maximum_width = dpi(350),
maximum_height = dpi(180),
bg = "#00000000",
+
widget_template = {
{
layout = wibox.layout.fixed.vertical,
@@ -249,7 +255,7 @@ naughty.connect_signal("request::display", function(n)
margins = { top = dpi(3), bottom = dpi(3), left = dpi(15), right = dpi(15) },
widget = wibox.container.margin,
},
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
widget = wibox.container.background,
},
{
@@ -288,7 +294,7 @@ naughty.connect_signal("request::display", function(n)
},
--- Anti-aliasing container
shape = helpers.ui.rrect(0),
- bg = beautiful.xcolorbase,
+ bg = theme.xcolorbase,
widget = wibox.container.background,
},
})
@@ -326,7 +332,7 @@ naughty.connect_signal("request::display", function(n)
anim:start()
end)
- local notification_height = widget.height + beautiful.notification_spacing
+ local notification_height = widget.height + theme.notification_spacing
local total_notifications_height = #naughty.active * notification_height
if total_notifications_height > n.screen.workarea.height then
diff --git a/.config/awesome/ui/popups/notifications/playerctl.lua b/.config/awesome/ui/popups/notifications/playerctl.lua
index 303a0b4..7343b37 100644
--- a/.config/awesome/ui/popups/notifications/playerctl.lua
+++ b/.config/awesome/ui/popups/notifications/playerctl.lua
@@ -1,10 +1,12 @@
local naughty = require("naughty")
local playerctl_daemon = require("signals.playerctl")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
+
+local theme = beautiful.get()
playerctl_daemon:connect_signal("metadata", function(_, title, artist, album_path, _, new, _)
if album_path == "" then -- Sets Image for Notification --
- album_path = beautiful.music
+ album_path = theme.music
end
if new == true then
diff --git a/.config/awesome/ui/popups/scratchpad/init.lua b/.config/awesome/ui/popups/scratchpad/init.lua
index 48d1a15..a0661c9 100644
--- a/.config/awesome/ui/popups/scratchpad/init.lua
+++ b/.config/awesome/ui/popups/scratchpad/init.lua
@@ -1,26 +1,16 @@
local bling = require("lib.bling")
-local rubato = require("lib.rubato") -- Totally optional, only required if you are using animations.
+local rubato = require("lib.rubato")
-- These are example rubato tables. You can use one for just y, just x, or both.
-- The duration and easing is up to you. Please check out the rubato docs to learn more.
local anim_y = rubato.timed({
pos = -1000,
rate = 60,
- --easing = rubato.quadratic,
intro = 0.2,
duration = 0.4,
awestore_compat = true, -- This option must be set to true.
})
-local anim_x = rubato.timed({
- pos = 1720,
- rate = 60,
- easing = rubato.quadratic,
- intro = 0.1,
- duration = 0.3,
- awestore_compat = true, -- This option must be set to true.
-})
-
local term_scratch = bling.module.scratchpad({
command = "alacritty --class spad", -- How to spawn the scratchpad
rule = { instance = "spad" }, -- The rule that the scratchpad will be searched by
diff --git a/.config/awesome/ui/popups/volume/init.lua b/.config/awesome/ui/popups/volume/init.lua
index 47b936e..f336599 100644
--- a/.config/awesome/ui/popups/volume/init.lua
+++ b/.config/awesome/ui/popups/volume/init.lua
@@ -1,17 +1,18 @@
local gears = require("gears")
local awful = require("awful")
-local beautiful = require("beautiful").get()
-local xresources = require("beautiful.xresources")
-local dpi = xresources.apply_dpi
+local beautiful = require("beautiful")
local wibox = require("wibox")
local helpers = require("helpers")
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
--- Volume OSD
--- ~~~~~~~~~~
local icon = wibox.widget({
{
id = "icon2",
- image = beautiful.volume_on,
+ image = theme.volume_on,
resize = true,
widget = wibox.widget.imagebox,
},
@@ -20,11 +21,12 @@ local icon = wibox.widget({
bottom = dpi(12),
widget = wibox.container.margin,
})
+
local icon3 = icon.icon2
local osd_header = wibox.widget({
text = "Volume",
- font = beautiful.font_name .. "Bold 12",
+ font = helpers.ui.set_font("Bold 12"),
align = "left",
valign = "center",
widget = wibox.widget.textbox,
@@ -32,7 +34,7 @@ local osd_header = wibox.widget({
local osd_value = wibox.widget({
text = "0%",
- font = beautiful.font_name .. "Bold 12",
+ font = helpers.ui.set_font("Bold 12"),
align = "center",
valign = "center",
widget = wibox.widget.textbox,
@@ -44,9 +46,9 @@ local slider_osd = wibox.widget({
id = "vol_osd_slider",
bar_shape = gears.shape.rounded_rect,
bar_height = dpi(12),
- bar_color = beautiful.xcolorS0,
- bar_active_color = beautiful.xcolor2,
- handle_color = beautiful.xcolor2,
+ bar_color = theme.xcolorS0,
+ bar_active_color = theme.xcolor2,
+ handle_color = theme.xcolor2,
handle_shape = gears.shape.circle,
handle_width = dpi(24),
handle_border_color = "#00000012",
@@ -60,6 +62,7 @@ local slider_osd = wibox.widget({
})
local vol_osd_slider = slider_osd.vol_osd_slider
+
vol_osd_slider:buttons(gears.table.join(
awful.button({}, 4, nil, function()
if vol_osd_slider:get_value() > 100 then
@@ -68,6 +71,7 @@ vol_osd_slider:buttons(gears.table.join(
end
vol_osd_slider:set_value(vol_osd_slider:get_value() + 5)
end),
+
awful.button({}, 5, nil, function()
if vol_osd_slider:get_value() < 0 then
vol_osd_slider:set_value(0)
@@ -84,11 +88,13 @@ local update_volume = function() -- Sets the Volume Correct
vol_osd_slider.value = tonumber(stdout:match("%d+"))
end)
end
+
awesome.connect_signal("widget::update_vol", function()
update_volume()
end)
update_volume()
+
vol_osd_slider:connect_signal("property::value", function(_, new_value)
local volume_level = vol_osd_slider:get_value()
awful.spawn("pamixer --set-volume " .. new_value, false)
@@ -99,6 +105,7 @@ vol_osd_slider:connect_signal("property::value", function(_, new_value)
-- Update the volume slider if values here change
awesome.emit_signal("widget::update_vol_pulse")
awesome.emit_signal("widget::update_vol_slider", volume_level)
+
if awful.screen.focused().show_vol_osd then
awesome.emit_signal("module::volume_osd:show", true)
end
@@ -132,10 +139,10 @@ screen.connect_signal("request::desktop_decoration", function(s)
width = volume_osd_width,
maximum_height = volume_osd_height,
maximum_width = volume_osd_width,
- bg = beautiful.transparent,
+ bg = theme.transparent,
offset = dpi(5),
border_width = dpi(3),
- border_color = beautiful.xcolorS0,
+ border_color = theme.xcolorS0,
ontop = true,
visible = false,
preferred_anchors = "middle",
@@ -172,7 +179,7 @@ screen.connect_signal("request::desktop_decoration", function(s)
right = dpi(24),
widget = wibox.container.margin,
},
- bg = beautiful.xcolorbase,
+ bg = theme.xcolorbase,
widget = wibox.container.background,
},
})
@@ -212,6 +219,7 @@ end
local function get_vol()
local script = "pamixer --get-volume"
local script2 = "pamixer --get-mute"
+
awful.spawn.easy_async_with_shell(script, function()
awful.spawn.easy_async_with_shell(script2, function(is_mute)
local muted
@@ -223,13 +231,13 @@ local function get_vol()
end
if muted then
- vol_osd_slider.bar_active_color = beautiful.xcolor10
- vol_osd_slider.handle_color = beautiful.xcolor10
- icon3.image = beautiful.volume_off
+ vol_osd_slider.bar_active_color = theme.xcolor10
+ vol_osd_slider.handle_color = theme.xcolor10
+ icon3.image = theme.volume_off
else
- vol_osd_slider.bar_active_color = beautiful.xcolor2
- vol_osd_slider.handle_color = beautiful.xcolor2
- icon3.image = beautiful.volume_on
+ vol_osd_slider.bar_active_color = theme.xcolor2
+ vol_osd_slider.handle_color = theme.xcolor2
+ icon3.image = theme.volume_on
end
end)
end)
@@ -237,7 +245,9 @@ end
awesome.connect_signal("module::volume_osd:show", function(bool)
placement_placer()
+
awful.screen.focused().volume_osd_overlay.visible = bool
+
if bool then
awesome.emit_signal("module::volume_osd:rerun")
awesome.emit_signal("module::brightness_osd:show", false)
@@ -247,29 +257,25 @@ awesome.connect_signal("module::volume_osd:show", function(bool)
end
end
end)
+
local volume = {}
+
volume.increase = function()
- local script = [[
- pamixer -i 5
- ]]
+ local script = "pamixer -i 5"
awful.spawn(script, false)
get_vol()
end
volume.decrease = function()
- local script = [[
- pamixer -d 5
- ]]
+ local script = "pamixer -d 5"
awful.spawn(script, false)
get_vol()
end
volume.mute = function()
- local script = [[
- pamixer -t
- ]]
+ local script = "pamixer -t"
awful.spawn(script, false)
get_vol()
diff --git a/.config/awesome/ui/titlebar/init.lua b/.config/awesome/ui/titlebar/init.lua
index 5bb0d6e..97673e0 100644
--- a/.config/awesome/ui/titlebar/init.lua
+++ b/.config/awesome/ui/titlebar/init.lua
@@ -1,6 +1,9 @@
local awful = require("awful")
local gears = require("gears")
local wibox = require("wibox")
+local xresources = require("beautiful.xresources")
+
+local dpi = xresources.apply_dpi
--- Rounded Corners Client Side ---
-- Use Picom If you Can --
@@ -25,6 +28,7 @@ client.connect_signal("request::titlebars", function(c)
awful.button({}, 1, function()
c:activate({ context = "titlebar", action = "mouse_move" })
end),
+
awful.button({}, 3, function()
c:activate({ context = "titlebar", action = "mouse_resize" })
end)
@@ -34,19 +38,22 @@ client.connect_signal("request::titlebars", function(c)
size = 30,
expand = "none",
})
+
local left = {
buttons = buttons,
layout = wibox.layout.fixed.horizontal(),
}
+
local middle = {
buttons = buttons,
layout = wibox.layout.fixed.horizontal(),
}
+
local right = {
awful.titlebar.widget.maximizedbutton(c),
awful.titlebar.widget.minimizebutton(c),
awful.titlebar.widget.closebutton(c),
- spacing = 11.5,
+ spacing = dpi(11.5),
layout = wibox.layout.fixed.horizontal(),
}
@@ -57,10 +64,10 @@ client.connect_signal("request::titlebars", function(c)
right,
layout = wibox.layout.align.horizontal(),
},
- left = 13.5,
- right = 13.5,
- top = 7.4,
- bottom = 7.4,
+ left = dpi(13.5),
+ right = dpi(13.5),
+ top = dpi(7.4),
+ bottom = dpi(7.4),
layout = wibox.container.margin,
})
end)
diff --git a/.config/awesome/ui/top-panel/init.lua b/.config/awesome/ui/top-panel/init.lua
index a25bf0e..d8afbdd 100644
--- a/.config/awesome/ui/top-panel/init.lua
+++ b/.config/awesome/ui/top-panel/init.lua
@@ -1,49 +1,16 @@
--- Standard awesome library --
local awful = require("awful")
local wibox = require("wibox")
local widgets = require("ui.top-panel.widgets")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
-local dpi = require("beautiful.xresources").apply_dpi
-
-local clock = widgets.clock
-local date = widgets.date
-local cpu = widgets.cpu
-local disk = widgets.disk
-local keyboard = widgets.keyboard
-local mem = widgets.mem
-local menu = widgets.menu
-local systray = widgets.systray
-local audio = widgets.audio
-local seperator = widgets.seperator
-local layoutbox = widgets.layoutbox
-
-local function create_icon(i, c) --Icon Creation
- local widget = {
- {
- font = beautiful.font_name .. "12.5",
- text = " " .. i,
- widget = wibox.widget.textbox,
- },
- fg = c,
- widget = wibox.container.background,
- }
- return widget
-end
-
--- Create Icons with Color --
-local calendar_icon = create_icon("", beautiful.xcolor5)
-local clock_icon = create_icon("", beautiful.xcolor12)
-local keyboard_icon = create_icon("", beautiful.xcolor4)
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
screen.connect_signal("request::desktop_decoration", function(s)
- -- Create Clock with Colerfull Widget --
local clockdate = wibox.widget({
layout = wibox.layout.fixed.horizontal,
- calendar_icon,
- date,
- clock_icon,
- clock, -- Middle widget
+ widgets.date,
+ widgets.clock,
})
local tasklist = wibox.widget({
@@ -51,7 +18,7 @@ screen.connect_signal("request::desktop_decoration", function(s)
layout = wibox.layout.fixed.horizontal,
s.tasklist, -- needs to be here (under the screen.connect_signal) bc of the s
},
- forced_width = 300,
+ forced_width = dpi(300),
layout = wibox.layout.fixed.horizontal,
})
@@ -66,16 +33,16 @@ screen.connect_signal("request::desktop_decoration", function(s)
{
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
- menu,
- seperator,
+ widgets.menu,
+ widgets.seperator,
s.taglist,
- seperator,
+ widgets.seperator,
tasklist,
},
- left = 5, --Padding
+ left = dpi(5),
right = 0,
- top = 2,
- bottom = 2,
+ top = dpi(2),
+ bottom = dpi(2),
layout = wibox.container.margin,
},
{
@@ -85,35 +52,34 @@ screen.connect_signal("request::desktop_decoration", function(s)
},
left = 0,
right = 0,
- top = 1,
- bottom = 1,
+ top = dpi(1),
+ bottom = dpi(1),
layout = wibox.container.margin,
},
{ -- Right widgets
{
layout = wibox.layout.fixed.horizontal,
- systray,
- seperator,
- audio,
- mem,
- cpu,
- disk,
- keyboard_icon,
- keyboard,
- layoutbox,
+ widgets.systray,
+ widgets.seperator,
+ widgets.audio,
+ widgets.mem,
+ widgets.cpu,
+ widgets.disk,
+ widgets.layoutbox,
},
left = 0,
- right = 2,
- top = 1,
- bottom = 1,
+ right = dpi(2),
+ top = dpi(1),
+ bottom = dpi(1),
layout = wibox.container.margin,
},
},
})
+
s.border2 = awful.wibar({
position = "top",
screen = s,
- bg = beautiful.xcolorS0,
+ bg = theme.xcolorS0,
height = dpi(2),
})
end)
diff --git a/.config/awesome/ui/top-panel/widgets/clock.lua b/.config/awesome/ui/top-panel/widgets/clock.lua
index 18d05af..52033ec 100644
--- a/.config/awesome/ui/top-panel/widgets/clock.lua
+++ b/.config/awesome/ui/top-panel/widgets/clock.lua
@@ -1,19 +1,34 @@
local gears = require("gears")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-require("awful.hotkeys_popup.keys")
+local helpers = require("helpers")
+local config = require("config")
+local beautiful = require("beautiful")
--- Clock
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
+local clock_icon = helpers.ui.create_icon(config.icons.clock, theme.xcolor12)
local clock = wibox.widget.textbox()
-clock.font = beautiful.font_name .. "11"
+clock.font = helpers.ui.set_font("11")
+
gears.timer({
timeout = 60,
autostart = true,
call_now = true,
callback = function()
- clock.markup = os.date(" %I:%M %p")
+ clock.markup = os.date(config.widget.clock.format)
end,
})
-return clock
+return wibox.widget({
+ {
+ clock_icon,
+ clock,
+ spacing = dpi(8),
+ layout = wibox.layout.fixed.horizontal,
+ },
+ left = dpi(1),
+ right = dpi(1),
+ layout = wibox.container.margin,
+})
diff --git a/.config/awesome/ui/top-panel/widgets/cpu.lua b/.config/awesome/ui/top-panel/widgets/cpu.lua
index eef4ae2..64fe78d 100644
--- a/.config/awesome/ui/top-panel/widgets/cpu.lua
+++ b/.config/awesome/ui/top-panel/widgets/cpu.lua
@@ -1,16 +1,17 @@
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
+local beautiful = require("beautiful")
+local helpers = require("helpers.ui")
+local config = require("config")
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
-- Icon
-local icon = wibox.widget.textbox()
-icon.font = beautiful.font_name .. "12.5"
-icon.align = "center"
-icon.markup = ""
+local icon = helpers.create_icon(config.icons.cpu, theme.xcolor9)
-- Uptime
local cpu = wibox.widget.textbox()
-cpu.font = beautiful.font_name .. "10"
+cpu.font = helpers.set_font("10")
cpu.align = "center"
local function get_val()
@@ -35,11 +36,11 @@ local full = wibox.widget({
spacing = dpi(8),
layout = wibox.layout.fixed.horizontal,
},
- left = 1,
+ left = dpi(1),
right = 0,
layout = wibox.container.margin,
},
- forced_width = 73, -- Makes it fixed and not Moves Whole Bar
+ forced_width = dpi(73), -- Makes it fixed and not Moves Whole Bar
layout = wibox.layout.fixed.horizontal,
})
diff --git a/.config/awesome/ui/top-panel/widgets/date.lua b/.config/awesome/ui/top-panel/widgets/date.lua
index d732011..5f44027 100644
--- a/.config/awesome/ui/top-panel/widgets/date.lua
+++ b/.config/awesome/ui/top-panel/widgets/date.lua
@@ -1,19 +1,34 @@
local gears = require("gears")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-require("awful.hotkeys_popup.keys")
+local helpers = require("helpers")
+local beautiful = require("beautiful")
+local config = require("config")
--- Clock
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
+local icon = helpers.ui.create_icon(config.icons.cal, theme.xcolor5)
local date = wibox.widget.textbox()
-date.font = beautiful.font_name .. "11"
+date.font = helpers.ui.set_font("11")
+
gears.timer({
timeout = 60,
autostart = true,
call_now = true,
callback = function()
- date.markup = os.date(" %a %b %d")
+ date.markup = os.date(config.widget.date.format)
end,
})
-return date
+return wibox.widget({
+ {
+ icon,
+ date,
+ spacing = dpi(8),
+ layout = wibox.layout.fixed.horizontal,
+ },
+ left = dpi(1),
+ right = dpi(1),
+ layout = wibox.container.margin,
+})
diff --git a/.config/awesome/ui/top-panel/widgets/disk.lua b/.config/awesome/ui/top-panel/widgets/disk.lua
index 5086d78..11d3923 100644
--- a/.config/awesome/ui/top-panel/widgets/disk.lua
+++ b/.config/awesome/ui/top-panel/widgets/disk.lua
@@ -1,21 +1,24 @@
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
+local beautiful = require("beautiful")
+local helpers = require("helpers.ui")
+local config = require("config")
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
-- Icon
-local icon = wibox.widget.textbox()
-icon.font = beautiful.font_name .. "12.5"
-icon.align = "center"
-icon.markup = ""
+local icon = helpers.create_icon(config.icons.disk, theme.xcolor7)
-- Uptime
local disk = wibox.widget.textbox()
-disk.font = beautiful.font_name .. "10"
+disk.font = helpers.set_font("10")
disk.align = "center"
local function get_val()
awesome.connect_signal("signal::disk", function(disk_perc)
- disk.markup = tonumber(disk_perc) .. "%"
+ if disk_perc then
+ disk.markup = tonumber(disk_perc) .. "%"
+ end
end)
end
@@ -28,8 +31,8 @@ local full = wibox.widget({
spacing = dpi(8),
layout = wibox.layout.fixed.horizontal,
},
- left = 1,
- right = 8,
+ left = dpi(1),
+ right = dpi(8),
layout = wibox.container.margin,
})
diff --git a/.config/awesome/ui/top-panel/widgets/init.lua b/.config/awesome/ui/top-panel/widgets/init.lua
index 3e6e93d..6b41f7b 100644
--- a/.config/awesome/ui/top-panel/widgets/init.lua
+++ b/.config/awesome/ui/top-panel/widgets/init.lua
@@ -3,15 +3,13 @@ return {
cpu = require(... .. ".cpu"),
date = require(... .. ".date"),
disk = require(... .. ".disk"),
- keyboard = require(... .. ".keyboard"),
layoutbox = require(... .. ".layoutbox"),
mem = require(... .. ".mem"),
menu = require(... .. ".menu"),
- systray = require(... .. ".systray"),
promptbox = require(... .. ".promptbox"),
audio = require(... .. ".pulseaudio"),
seperator = require(... .. ".seperator"),
+ systray = require(... .. ".systray"),
taglist = require(... .. ".taglist"),
tasklist = require(... .. ".tasklist"),
- power = require(... .. ".power"),
}
diff --git a/.config/awesome/ui/top-panel/widgets/keyboard.lua b/.config/awesome/ui/top-panel/widgets/keyboard.lua
deleted file mode 100644
index afa487f..0000000
--- a/.config/awesome/ui/top-panel/widgets/keyboard.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-local awful = require("awful")
-
--- Keyboard map indicator and switcher
-local keyboardlayout = awful.widget.keyboardlayout()
-
-return keyboardlayout
-
diff --git a/.config/awesome/ui/top-panel/widgets/launcher.lua b/.config/awesome/ui/top-panel/widgets/launcher.lua
index 77e0acf..52a5662 100644
--- a/.config/awesome/ui/top-panel/widgets/launcher.lua
+++ b/.config/awesome/ui/top-panel/widgets/launcher.lua
@@ -1,7 +1,7 @@
local awful = require("awful")
-local beautiful = require("beautiful").get()
+local theme = require("beautiful").get()
local menu = require("main.menu")
-local launcher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = menu })
+local launcher = awful.widget.launcher({ image = theme.awesome_icon, menu = menu })
return launcher
diff --git a/.config/awesome/ui/top-panel/widgets/layoutbox.lua b/.config/awesome/ui/top-panel/widgets/layoutbox.lua
index 79788ec..e42078c 100644
--- a/.config/awesome/ui/top-panel/widgets/layoutbox.lua
+++ b/.config/awesome/ui/top-panel/widgets/layoutbox.lua
@@ -5,16 +5,19 @@ local layoutbox = awful.widget.layoutbox({
awful.button({}, 1, function()
awful.layout.inc(1)
end),
+
awful.button({}, 3, function()
awful.layout.inc(-1)
end),
+
awful.button({}, 4, function()
awful.layout.inc(-1)
end),
+
awful.button({}, 5, function()
awful.layout.inc(1)
end),
},
})
-return layoutbox
+return layoutbox
diff --git a/.config/awesome/ui/top-panel/widgets/mem.lua b/.config/awesome/ui/top-panel/widgets/mem.lua
index ec57df1..531d641 100644
--- a/.config/awesome/ui/top-panel/widgets/mem.lua
+++ b/.config/awesome/ui/top-panel/widgets/mem.lua
@@ -1,16 +1,17 @@
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
+local beautiful = require("beautiful")
+local helpers = require("helpers.ui")
+local config = require("config")
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
-- Icon
-local icon = wibox.widget.textbox()
-icon.font = beautiful.font_name .. "12.5"
-icon.align = "center"
-icon.markup = ""
+local icon = helpers.create_icon(config.icons.mem, theme.xcolor6)
-- Uptime
local mem = wibox.widget.textbox()
-mem.font = beautiful.font_name .. "10"
+mem.font = helpers.set_font("10")
mem.align = "center"
local function get_val()
@@ -29,11 +30,11 @@ local full = wibox.widget({
spacing = dpi(8),
layout = wibox.layout.fixed.horizontal,
},
- left = 1,
+ left = dpi(1),
right = 0,
layout = wibox.container.margin,
},
- forced_width = 73,
+ forced_width = dpi(73),
layout = wibox.layout.fixed.horizontal,
})
diff --git a/.config/awesome/ui/top-panel/widgets/menu.lua b/.config/awesome/ui/top-panel/widgets/menu.lua
index a0129d4..00688fd 100644
--- a/.config/awesome/ui/top-panel/widgets/menu.lua
+++ b/.config/awesome/ui/top-panel/widgets/menu.lua
@@ -1,24 +1,26 @@
local awful = require("awful")
local wibox = require("wibox")
-local gears = require("gears")
-local beautiful = require("beautiful").get()
-local helpers = require("helpers")
+local beautiful = require("beautiful")
+local helpers = require("helpers.ui")
+local config = require("config")
+
+local dpi = beautiful.xresources.apply_dpi
-- Menu
local menu = wibox.widget({
{
- font = beautiful.font_name .. "16",
- markup = "",
+ font = helpers.set_font("16"),
+ markup = config.icons.menu,
widget = wibox.widget.textbox(),
},
- bottom = 2,
+ bottom = dpi(2),
widget = wibox.container.margin,
})
-helpers.ui.add_hover_cursor(menu, "hand2")
+helpers.add_hover_cursor(menu, "hand2")
-menu:buttons(gears.table.join(awful.button({}, 1, function()
+menu:add_button(awful.button({}, 1, function()
awesome.emit_signal("sidebar::toggle")
-end)))
+end))
return menu
diff --git a/.config/awesome/ui/top-panel/widgets/power.lua b/.config/awesome/ui/top-panel/widgets/power.lua
index 5b4dff2..3fde28c 100644
--- a/.config/awesome/ui/top-panel/widgets/power.lua
+++ b/.config/awesome/ui/top-panel/widgets/power.lua
@@ -1,15 +1,18 @@
local awful = require("awful")
local wibox = require("wibox")
-local gears = require("gears")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
+local config = require("config")
+local helpers = require("helpers")
+
+local theme = beautiful.get()
-- Menu
local menu = wibox.widget.textbox()
-menu.font = beautiful.font_name .. "16"
-menu.markup = ""
+menu.font = helpers.ui.set_font("16")
+menu.markup = helpers.ui.colorize_text(config.icons.power, theme.xcolor10)
-menu:buttons(gears.table.join(awful.button({}, 1, function()
+menu:add_button(awful.button({}, 1, function()
awesome.emit_signal("module::exit_screen:show")
-end)))
+end))
return menu
diff --git a/.config/awesome/ui/top-panel/widgets/promptbox.lua b/.config/awesome/ui/top-panel/widgets/promptbox.lua
index 4b0b3ea..06ce84a 100644
--- a/.config/awesome/ui/top-panel/widgets/promptbox.lua
+++ b/.config/awesome/ui/top-panel/widgets/promptbox.lua
@@ -1,5 +1,5 @@
local awful = require("awful")
local promptbox = awful.widget.prompt()
-return promptbox
+return promptbox
diff --git a/.config/awesome/ui/top-panel/widgets/pulseaudio.lua b/.config/awesome/ui/top-panel/widgets/pulseaudio.lua
index 29e8a38..b2445cd 100644
--- a/.config/awesome/ui/top-panel/widgets/pulseaudio.lua
+++ b/.config/awesome/ui/top-panel/widgets/pulseaudio.lua
@@ -1,29 +1,28 @@
local awful = require("awful")
local wibox = require("wibox")
-local gears = require("gears")
-local beautiful = require("beautiful").get()
-local dpi = require("beautiful.xresources").apply_dpi
+local beautiful = require("beautiful")
local helpers = require("helpers")
+local config = require("config")
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
-- Icon
-local icon = wibox.widget.textbox()
-icon.font = beautiful.font_name .. "12.5"
-icon.align = "center"
-icon.markup = ""
+local icon = helpers.ui.create_icon(config.icons.vol.on, theme.xcolor2)
-- Uptime
local pulseaudio = wibox.widget.textbox()
-pulseaudio.font = beautiful.font_name .. "10"
+pulseaudio.font = helpers.ui.set_font("10")
pulseaudio.align = "center"
local function get_val()
awesome.connect_signal("signal::volume", function(vol, muted)
if muted then
pulseaudio.markup = "muted"
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text(config.icons.vol.off, theme.xcolor2)
else
pulseaudio.markup = tonumber(vol) .. "%"
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text(config.icons.vol.on, theme.xcolor2)
end
end)
end
@@ -39,39 +38,43 @@ local full = wibox.widget({
layout = wibox.layout.fixed.horizontal,
},
left = dpi(5),
- right = 8,
+ right = dpi(8),
layout = wibox.container.margin,
},
- forced_width = 73,
+ forced_width = dpi(73),
layout = wibox.layout.fixed.horizontal,
})
-full:buttons(gears.table.join(awful.button({}, 1, function()
+full:add_button(awful.button({}, 1, function()
awesome.emit_signal("action::toggle")
-end)))
+end))
+
-- Update Function
-local update_volume = function() -- Sets the Volume Correct
+local update_volume = function()
awful.spawn.easy_async_with_shell("pamixer --get-volume", function(stdout)
pulseaudio.markup = tonumber(stdout:match("%d+")) .. "%"
if tonumber(stdout:match("%d+")) < 10 then
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text(config.icons.vol.low, theme.xcolor2)
elseif tonumber(stdout:match("%d+")) < 50 then
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text(config.icons.vol.med, theme.xcolor2)
elseif tonumber(stdout:match("%d+")) < 100 then
- icon.markup = ""
+ icon.markup = helpers.ui.colorize_text(config.icons.vol.high, theme.xcolor2)
else
end
end)
end
update_volume()
+
awesome.connect_signal("widget::update_vol", function()
update_volume()
end)
+
awesome.connect_signal("widget::update_vol_pulse", function()
update_volume()
end)
+
helpers.ui.add_hover_cursor(full, "hand2")
return full
diff --git a/.config/awesome/ui/top-panel/widgets/seperator.lua b/.config/awesome/ui/top-panel/widgets/seperator.lua
index f1776b3..d4b64da 100644
--- a/.config/awesome/ui/top-panel/widgets/seperator.lua
+++ b/.config/awesome/ui/top-panel/widgets/seperator.lua
@@ -1,9 +1,12 @@
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local wibox = require("wibox")
+local helpers = require("helpers")
+
+local theme = beautiful.get()
local seperator = wibox.widget.textbox()
-seperator.font = beautiful.font_name .. "14"
-seperator.markup = "|"
+seperator.font = helpers.ui.set_font("14")
+seperator.markup = helpers.ui.colorize_text("|", theme.xcolorT2)
return seperator
diff --git a/.config/awesome/ui/top-panel/widgets/systray.lua b/.config/awesome/ui/top-panel/widgets/systray.lua
index 210d3fa..8f3cf86 100644
--- a/.config/awesome/ui/top-panel/widgets/systray.lua
+++ b/.config/awesome/ui/top-panel/widgets/systray.lua
@@ -1,35 +1,38 @@
local awful = require("awful")
local wibox = require("wibox")
-local gears = require("gears")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local rubato = require("lib.rubato")
-local dpi = require("beautiful.xresources").apply_dpi
+local helpers = require("helpers")
+local config = require("config")
+
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
local arrow = wibox.widget.textbox()
-arrow.font = beautiful.font_name .. "13"
-arrow.markup = "»"
+arrow.font = helpers.ui.set_font("13")
+arrow.markup = config.icons.arr.r
-local mysystray = wibox.widget.systray()
-mysystray.visible = true
-beautiful.systray_icon_spacing = dpi(4)
+local systray = wibox.widget.systray()
+systray.visible = true
+theme.systray_icon_spacing = dpi(4)
-local widget = wibox.widget({
+local sys = wibox.widget({
widget = wibox.container.constraint,
strategy = "max",
- width = dpi(0),
+ visible = true,
+ width = 0,
{
widget = wibox.container.margin,
margins = dpi(2),
- mysystray,
+ systray,
},
})
-widget.visible = true
local slide = rubato.timed({
duration = 0.9,
awestore_compat = true,
subscribed = function(pos)
- widget.width = pos
+ sys.width = pos
end,
})
@@ -37,29 +40,25 @@ local value = true
arrow.toggle = function()
if value == false then
- arrow.markup = "»"
+ arrow.markup = config.icons.arr.r
value = true
slide:set(2)
else
- arrow.markup = "«"
+ arrow.markup = config.icons.arr.l
slide:set(500)
value = false
end
end
-awesome.connect_signal("arrow::toggle", function()
+arrow:add_button(awful.button({}, 1, function()
arrow.toggle()
-end)
+end))
-arrow:buttons(gears.table.join(awful.button({}, 1, function()
- awesome.emit_signal("arrow::toggle")
-end)))
-
-local sys = wibox.widget({
+local full = wibox.widget({
layout = wibox.layout.fixed.horizontal,
arrow,
- widget,
+ sys,
spacing = dpi(2),
})
-return sys
+return full
diff --git a/.config/awesome/ui/top-panel/widgets/taglist.lua b/.config/awesome/ui/top-panel/widgets/taglist.lua
index 48b0369..a37c489 100644
--- a/.config/awesome/ui/top-panel/widgets/taglist.lua
+++ b/.config/awesome/ui/top-panel/widgets/taglist.lua
@@ -1,14 +1,17 @@
local awful = require("awful")
local wibox = require("wibox")
-local beautiful = require("beautiful").get()
+local beautiful = require("beautiful")
local bling = require("lib.bling")
-
local keys = require("config").keys
+local theme = beautiful.get()
+local dpi = beautiful.xresources.apply_dpi
+
awful.screen.connect_for_each_screen(function(s)
s.taglist = awful.widget.taglist({
screen = s,
filter = awful.widget.taglist.filter.all,
+
widget_template = {
{
{
@@ -18,15 +21,17 @@ awful.screen.connect_for_each_screen(function(s)
},
layout = wibox.layout.fixed.horizontal,
},
- left = 4,
- right = 4,
+ left = dpi(4),
+ right = dpi(4),
widget = wibox.container.margin,
},
id = "background_role",
widget = wibox.container.background,
+
-- Add support for hover colors and an index label
- create_callback = function(self, c3, index, _) --luacheck: no unused args
+ create_callback = function(self, c3, index, _)
self:get_children_by_id("text_role")[1].markup = " " .. index .. " "
+
self:connect_signal("mouse::enter", function()
-- BLING: Only show widget when there are clients in the tag
if #c3:clients() > 0 then
@@ -36,6 +41,7 @@ awful.screen.connect_for_each_screen(function(s)
awesome.emit_signal("bling::tag_preview::visibility", s, true)
end
end)
+
self:connect_signal("mouse::leave", function()
-- BLING: Turn the widget off
awesome.emit_signal("bling::tag_preview::visibility", s, false)
@@ -45,28 +51,35 @@ awful.screen.connect_for_each_screen(function(s)
end
end)
end,
+
update_callback = function(self, _, index, _)
self:get_children_by_id("text_role")[1].markup = " " .. index .. " "
end,
},
+
buttons = {
awful.button({}, 1, function(t)
t:view_only()
end),
+
awful.button({ keys.mod }, 1, function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end),
+
awful.button({}, 3, awful.tag.viewtoggle),
+
awful.button({ keys.mod }, 3, function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end),
+
awful.button({}, 4, function(t)
awful.tag.viewprev(t.screen)
end),
+
awful.button({}, 5, function(t)
awful.tag.viewnext(t.screen)
end),
@@ -80,16 +93,18 @@ awful.screen.connect_for_each_screen(function(s)
scale = 0.2, -- The scale of the previews compared to the screen
honor_padding = true, -- Honor padding when creating widget size
honor_workarea = true, -- Honor work area when creating widget size
+
placement_fn = function(c) -- Place the widget using awful.placement (this overrides x & y)
awful.placement.top_left(c, {
margins = {
- top = 31,
+ top = dpi(31),
left = 0,
},
})
end,
+
background_widget = wibox.widget({ -- Set a background image (like a wallpaper) for the widget
- image = beautiful.wallpaper,
+ image = theme.wallpaper,
horizontal_fit_policy = "fit",
vertical_fit_policy = "fit",
widget = wibox.widget.imagebox,
diff --git a/.gitignore b/.gitignore
index eb0cdf3..cf1614f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,4 @@ data/
.config/pulse/cookie
.gnupg/
.config/nvim/lazy-lock.json
+.config/browsh/