diff --git a/.xfiles/lovelace b/.xfiles/lovelace new file mode 100644 index 0000000..20fb979 --- /dev/null +++ b/.xfiles/lovelace @@ -0,0 +1,19 @@ +*background: #1D1F28 +*foreground: #FDFDFD +*cursorColor: #C574DD +*color0: #282A36 +*color1: #F37F97 +*color2: #5ADECD +*color3: #F2A272 +*color4: #8897F4 +*color5: #C574DD +*color6: #79E6F3 +*color7: #FDFDFD +*color8: #414458 +*color9: #FF4971 +*color10: #18E3C8 +*color11: #FF8037 +*color12: #556FFF +*color13: #B043D1 +*color14: #3FDCEE +*color15: #BEBEC1 diff --git a/config/awesome/awesome-cleanup.sh b/config/awesome/awesome-cleanup.sh new file mode 100755 index 0000000..a6d5492 --- /dev/null +++ b/config/awesome/awesome-cleanup.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Noodle Cleanup Script +# Some of my widgets (mpd, volume) rely on scripts that have to be +# run persistently in the background. +# They sleep until mpd/volume state changes, in an infinite loop. +# As a result when awesome restarts, they keep running in background, along with the new ones that are created after the restart. +# This script cleans up the old processes. + +# Mpd widget +ps aux | grep "mpc idle player" | grep -v grep | awk '{print $2}' | xargs kill +# Volume widget +ps aux | grep "pactl subscribe" | grep -v grep | awk '{print $2}' | xargs kill diff --git a/config/awesome/exit_screen.lua b/config/awesome/exit_screen.lua new file mode 100644 index 0000000..c4d33c2 --- /dev/null +++ b/config/awesome/exit_screen.lua @@ -0,0 +1,280 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") +local naughty = require("naughty") + +local helpers = require("helpers") +local pad = helpers.pad +local keygrabber = require("awful.keygrabber") + +-- Appearance +local icon_size = beautiful.exit_screen_icon_size or 140 +local text_font = beautiful.exit_screen_font or "sans 14" + +-- Commands +local poweroff_command = function() + awful.spawn.with_shell("poweroff") + awful.keygrabber.stop(exit_screen_grabber) +end +local reboot_command = function() + awful.spawn.with_shell("reboot") + awful.keygrabber.stop(exit_screen_grabber) +end +local suspend_command = function() + awful.spawn.with_shell("i3lock & systemctl suspend") + exit_screen_hide() +end +local exit_command = function() + awesome.quit() +end +local lock_command = function() + awful.spawn.with_shell("i3lock") + exit_screen_hide() +end + +local username = os.getenv("USER") +-- Capitalize username +local goodbye_widget = wibox.widget.textbox("Goodbye " .. username:sub(1,1):upper()..username:sub(2)) +goodbye_widget.font = "sans 50" + +local poweroff_icon = wibox.widget.imagebox(beautiful.poweroff_icon) +poweroff_icon.resize = true +poweroff_icon.forced_width = icon_size +poweroff_icon.forced_height = icon_size +local poweroff_text = wibox.widget.textbox("Poweroff") +poweroff_text.font = text_font + +local poweroff = wibox.widget{ + { + pad(0), + poweroff_icon, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + { + pad(1), + poweroff_text, + pad(1), + expand = "none", + layout = wibox.layout.align.horizontal + }, + layout = wibox.layout.fixed.vertical +} +poweroff:buttons(gears.table.join( + awful.button({ }, 1, function () + poweroff_command() + end) +)) + +local reboot_icon = wibox.widget.imagebox(beautiful.reboot_icon) +reboot_icon.resize = true +reboot_icon.forced_width = icon_size +reboot_icon.forced_height = icon_size +local reboot_text = wibox.widget.textbox("Reboot") +reboot_text.font = text_font + +local reboot = wibox.widget{ + { + pad(0), + reboot_icon, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + { + pad(0), + reboot_text, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + layout = wibox.layout.fixed.vertical +} +reboot:buttons(gears.table.join( + awful.button({ }, 1, function () + reboot_command() + end) +)) + +local suspend_icon = wibox.widget.imagebox(beautiful.suspend_icon) +suspend_icon.resize = true +suspend_icon.forced_width = icon_size +suspend_icon.forced_height = icon_size +local suspend_text = wibox.widget.textbox("Suspend") +suspend_text.font = text_font + +local suspend = wibox.widget{ + { + pad(0), + suspend_icon, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + { + pad(0), + suspend_text, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + layout = wibox.layout.fixed.vertical +} +suspend:buttons(gears.table.join( + awful.button({ }, 1, function () + suspend_command() + end) +)) + + +local exit_icon = wibox.widget.imagebox(beautiful.exit_icon) +exit_icon.resize = true +exit_icon.forced_width = icon_size +exit_icon.forced_height = icon_size +local exit_text = wibox.widget.textbox("Exit") +exit_text.font = text_font + +local exit = wibox.widget{ + { + pad(0), + exit_icon, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + { + pad(0), + exit_text, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + layout = wibox.layout.fixed.vertical +} +exit:buttons(gears.table.join( + awful.button({ }, 1, function () + exit_command() + end) +)) + +local lock_icon = wibox.widget.imagebox(beautiful.lock_icon) +lock_icon.resize = true +lock_icon.forced_width = icon_size +lock_icon.forced_height = icon_size +local lock_text = wibox.widget.textbox("Lock") +lock_text.font = text_font + +local lock = wibox.widget{ + { + pad(0), + lock_icon, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + { + pad(1), + lock_text, + pad(1), + expand = "none", + layout = wibox.layout.align.horizontal + }, + layout = wibox.layout.fixed.vertical +} +lock:buttons(gears.table.join( + awful.button({ }, 1, function () + lock_command() + end) +)) + +-- Get screen geometry +local screen_width = awful.screen.focused().geometry.width +local screen_height = awful.screen.focused().geometry.height + +-- Create the widget +exit_screen = wibox({x = 0, y = 0, visible = false, ontop = true, type = "dock", height = screen_height, width = screen_width}) + +exit_screen.bg = beautiful.exit_screen_bg or beautiful.wibar_bg or "#111111" +exit_screen.fg = beautiful.exit_screen_fg or beautiful.wibar_fg or "#FEFEFE" + +local exit_screen_grabber +function exit_screen_hide() + awful.keygrabber.stop(exit_screen_grabber) + exit_screen.visible = false +end +function exit_screen_show() + -- naughty.notify({text = "starting the keygrabber"}) + exit_screen_grabber = awful.keygrabber.run(function(_, key, event) + if event == "release" then return end + + if key == 's' then + suspend_command() + elseif key == 'e' then + exit_command() + elseif key == 'l' then + lock_command() + elseif key == 'p' then + poweroff_command() + elseif key == 'r' then + reboot_command() + elseif key == 'Escape' or key == 'q' or key == 'x' then + -- naughty.notify({text = "Cancel"}) + exit_screen_hide() + -- else awful.keygrabber.stop(exit_screen_grabber) + end + end) + exit_screen.visible = true +end + +exit_screen:buttons(gears.table.join( + -- Middle click - Hide exit_screen + awful.button({ }, 2, function () + exit_screen_hide() + end), + -- Right click - Hide exit_screen + awful.button({ }, 3, function () + exit_screen_hide() + end) +)) + +-- Item placement +exit_screen:setup { + pad(0), + { + { + pad(0), + goodbye_widget, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + }, + { + pad(0), + { + -- { + poweroff, + pad(3), + reboot, + pad(3), + suspend, + pad(3), + exit, + pad(3), + lock, + layout = wibox.layout.fixed.horizontal + -- }, + -- widget = exit_screen_box + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal + -- layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.fixed.vertical + }, + pad(0), + expand = "none", + layout = wibox.layout.align.vertical +} diff --git a/config/awesome/noodle/battery_bar.lua b/config/awesome/noodle/battery_bar.lua new file mode 100644 index 0000000..352f6bb --- /dev/null +++ b/config/awesome/noodle/battery_bar.lua @@ -0,0 +1,46 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +-- Set colors +local active_color = beautiful.battery_bar_active_color or "#5AA3CC" +local background_color = beautiful.battery_bar_background_color or "#222222" + +-- Configuration +local update_interval = 30 -- in seconds + +local battery_bar = wibox.widget{ + max_value = 100, + value = 50, + forced_height = 10, + margins = { + top = 10, + bottom = 10, + }, + forced_width = 200, + shape = gears.shape.rounded_bar, + bar_shape = gears.shape.rounded_bar, + color = active_color, + background_color = background_color, + border_width = 0, + border_color = beautiful.border_color, + widget = wibox.widget.progressbar, +} + +local function update_widget(bat) + battery_bar.value = bat +end + +local bat_script = [[ + bash -c ' + upower -i $(upower -e | grep BAT) | grep percentage + ']] + +awful.widget.watch(bat_script, update_interval, function(widget, stdout) + local bat = stdout:match(':%s*(.*)..') + -- bat = string.gsub(bat, '^%s*(.-)%s*$', '%1') + update_widget(bat) +end) + +return battery_bar diff --git a/config/awesome/noodle/cpu_bar.lua b/config/awesome/noodle/cpu_bar.lua new file mode 100644 index 0000000..9f7c502 --- /dev/null +++ b/config/awesome/noodle/cpu_bar.lua @@ -0,0 +1,47 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +-- Set colors +local active_color = beautiful.cpu_bar_active_color or "#5AA3CC" +local background_color = beautiful.cpu_bar_background_color or "#222222" + +-- Configuration +local update_interval = 5 -- in seconds + +local cpu_bar = wibox.widget{ + max_value = 100, + value = 50, + forced_height = 10, + margins = { + top = 10, + bottom = 10, + }, + forced_width = 200, + shape = gears.shape.rounded_bar, + bar_shape = gears.shape.rounded_bar, + color = active_color, + background_color = background_color, + border_width = 0, + border_color = beautiful.border_color, + widget = wibox.widget.progressbar, +} + +local function update_widget(cpu_idle) + cpu_bar.value = 100 - cpu_idle +end + +local cpu_idle_script = [[ + bash -c " + vmstat 1 2 | tail -1 | awk '{printf \"%d\", $15}' + "]] + +awful.widget.watch(cpu_idle_script, update_interval, function(widget, stdout) + -- local cpu_idle = stdout:match('+(.*)%.%d...(.*)%(') + local cpu_idle = stdout + cpu_idle = string.gsub(cpu_idle, '^%s*(.-)%s*$', '%1') + update_widget(cpu_idle) +end) + +return cpu_bar diff --git a/config/awesome/noodle/desktop_control.lua b/config/awesome/noodle/desktop_control.lua new file mode 100644 index 0000000..b7450ed --- /dev/null +++ b/config/awesome/noodle/desktop_control.lua @@ -0,0 +1,72 @@ +local awful = require("awful") +local gears = require("gears") +local beautiful = require("beautiful") +local wibox = require("wibox") + +-- Get theme variables +local floating_icon = beautiful.layout_floating +local tile_icon = beautiful.layout_tile +local max_icon = beautiful.layout_max + +local desktop_control = wibox.widget.imagebox() + +-- Mouse control +desktop_control:buttons(gears.table.join( + -- Left click - Cycle through layouts + awful.button({ }, 1, function () + awful.layout.inc(1) + end), + -- Right click - Show clients in the current tag with rofi + awful.button({ }, 3, function () + awful.spawn.with_shell("rofi -show windowcd") + end), + -- Middle click - Close focused client + awful.button({ }, 2, function () + if client.focus ~= nil then + client.focus:kill() + end + end), + -- Scrolling - Scroll through clients + awful.button({ }, 4, function () + awful.client.focus.byidx(-1) + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(1) + end), + -- Side buttons - Minimize and restore minimized + awful.button({ }, 9, function () + if client.focus ~= nil then + client.focus.minimized = true + end + end), + awful.button({ }, 8, function () + local c = awful.client.restore() + if c then + client.focus = c + c:raise() + end + end) +)) + +local function update_widget() + local current_layout = awful.layout.getname(awful.layout.get(awful.screen.focused())) + if current_layout == "max" then + desktop_control.image = max_icon + elseif current_layout == "tile" then + desktop_control.image = tile_icon + elseif current_layout == "floating" then + desktop_control.image = floating_icon + else + desktop_control.image = tile_icon + end +end + +-- Signals +awful.tag.attached_connect_signal(s, "property::selected", function () + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::layout", function () + update_widget() +end) + +return desktop_control diff --git a/config/awesome/noodle/disk.lua b/config/awesome/noodle/disk.lua new file mode 100644 index 0000000..7daf74e --- /dev/null +++ b/config/awesome/noodle/disk.lua @@ -0,0 +1,33 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +-- Configuration +local update_interval = 120 -- in seconds + +local disk = wibox.widget{ + text = "free disk space", + align = 'center', + valign = 'center', + widget = wibox.widget.textbox +} + +local function update_widget(disk_space) + disk.markup = disk_space .. "B free" +end + +-- Use /dev/sdXY according to your setup +local disk_script = [[ + bash -c " + df -k -h /dev/sda1 | tail -1 | awk '{print $4}' + "]] + +awful.widget.watch(disk_script, update_interval, function(widget, stdout) + local disk_space = stdout + -- Remove trailing white space + disk_space = string.gsub(disk_space, '^%s*(.-)%s*$', '%1') + update_widget(disk_space) +end) + +return disk diff --git a/config/awesome/noodle/icon_taglist.lua b/config/awesome/noodle/icon_taglist.lua new file mode 100644 index 0000000..a4d30c3 --- /dev/null +++ b/config/awesome/noodle/icon_taglist.lua @@ -0,0 +1,116 @@ +local awful = require("awful") +local gears = require("gears") +local beautiful = require("beautiful") +local wibox = require("wibox") +local naughty = require("naughty") +local capi = { screen = screen, client = client } + +-- Get theme variables +local visible_clients_color = beautiful.icon_taglist_visible_clients_color or "#1D8CD2" +local visible_clients_text = beautiful.icon_taglist_visible_clients_text or "v: " +local hidden_clients_color = beautiful.icon_taglist_hidden_clients_color or "#2DD283" +local hidden_clients_text = beautiful.icon_taglist_hidden_clients_text or "h: " + +local ntags = 10 +local s = awful.screen.focused() +local tag_icons = {} +-- Create imageboxes and set their buttons +for i = 1, ntags do + table.insert(tag_icons, wibox.widget.imagebox()) + tag_icons[i]:buttons( + gears.table.join( + -- Left click - Tag back and forth + awful.button({ }, 1, function () + local current_tag = s.selected_tag + local clicked_tag = s.tags[i] + if clicked_tag == current_tag then + awful.tag.history.restore() + else + clicked_tag:view_only() + end + end), + -- Right click - Move focused client to tag + awful.button({ }, 3, function () + local clicked_tag = s.tags[i] + if client.focus then + client.focus:move_to_tag(clicked_tag) + end + end), + -- Scroll - Cycle through tags + awful.button({ }, 4, function () + awful.tag.viewprev() + end), + awful.button({ }, 5, function () + awful.tag.viewnext() + end) + )) +end + +local icon_taglist = wibox.widget{ + tag_icons[1], + tag_icons[2], + tag_icons[3], + tag_icons[4], + tag_icons[5], + tag_icons[6], + tag_icons[7], + tag_icons[8], + tag_icons[9], + tag_icons[10], + layout = wibox.layout.fixed.horizontal +} + +local function update_widget() + for i = 1, ntags do + local tag_clients + if s.tags[i] then + tag_clients = s.tags[i]:clients() + end + if s.tags[i] == s.selected_tag then + tag_icons[i].image = beautiful.taglist_icons_focused[i] + elseif awful.tag.getproperty(s.tags[i], "urgent") then + tag_icons[i].image = beautiful.taglist_icons_urgent[i] + elseif tag_clients and #tag_clients > 0 then + tag_icons[i].image = beautiful.taglist_icons_occupied[i] + else + tag_icons[i].image = beautiful.taglist_icons_empty[i] + end + end +end + +-- Signals +client.connect_signal("unmanage", function(c) + update_widget() +end) +client.connect_signal("untagged", function(c) + update_widget() +end) +client.connect_signal("tagged", function(c) + update_widget() +end) +client.connect_signal("screen", function(c) + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::selected", function () + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::hide", function () + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::activated", function () + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::screen", function () + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::index", function () + update_widget() +end) +awful.tag.attached_connect_signal(s, "property::urgent", function () + update_widget() +end) +--capi.screen.connect_signal("removed", function(s) + -- instances[get_screen(s)] = nil + -- end) + +return icon_taglist diff --git a/config/awesome/noodle/mpd_song.lua b/config/awesome/noodle/mpd_song.lua new file mode 100644 index 0000000..35d2667 --- /dev/null +++ b/config/awesome/noodle/mpd_song.lua @@ -0,0 +1,110 @@ +-- NOTE: +-- This widget runs a script in the background +-- When awesome restarts, its process will remain alive! +-- Don't worry though! The cleanup script that runs in rc.lua takes care of it :) + +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") +local naughty = require("naughty") + +-- Set colors +local title_color = beautiful.mpd_song_title_color or beautiful.wibar_fg +local artist_color = beautiful.mpd_song_artist_color or beautiful.wibar_fg +local paused_color = beautiful.mpd_song_paused_color or beautiful.normal_fg +-- Set notification icon path +local notification_icon = beautiful.mpd_icon + +local mpd_title = wibox.widget{ + text = "---------", + align = "center", + valign = "center", + widget = wibox.widget.textbox +} + +local mpd_artist = wibox.widget{ + text = "---------", + align = "center", + valign = "center", + widget = wibox.widget.textbox +} + +-- Main widget +local mpd_song = wibox.widget{ + mpd_title, + mpd_artist, + layout = wibox.layout.fixed.vertical +} + +local artist_fg +local artist_bg + +local last_notification_id +local function send_notification(artist, title) + notification = naughty.notify({ + -- title = "Now playing:", + -- text = title .. " -- " .. artist, + title = title, + text = artist, + icon = beautiful.music_icon, + -- width = 360, + -- height = 90, + icon_size = 60, + timeout = 4, + replaces_id = last_notification_id + }) + last_notification_id = notification.id +end + +local function update_widget() + awful.spawn.easy_async({"mpc", "-f", "[[%artist%@@%title%@]]"}, + function(stdout) + local artist = stdout:match('(.*)@@') + local title = stdout:match('@@(.*)@') + title = string.gsub(title, '^%s*(.-)%s*$', '%1') + local status = stdout:match('%[(.*)%]') + status = string.gsub(status, '^%s*(.-)%s*$', '%1') + if status == "paused" then + artist_fg = paused_color + title_fg = paused_color + else + artist_fg = artist_color + title_fg = title_color + if sidebar.visible == false then + send_notification(artist, title) + end + end + + -- Escape &'s + title = title:gsub("%&", "%&") + artist = artist:gsub("%&", "%&") + + -- naughty.notify({text = artist .. " - " .. title}) + mpd_title.markup = + "" + .. title .. "" + mpd_artist.markup = + "" + .. artist .. "" + end + ) + +end + +update_widget() + +-- Sleeps until mpd changes state (pause/play/next/prev) +local mpd_script = [[ + bash -c ' + mpc idleloop player + ']] + +awful.spawn.with_line_callback(mpd_script, { + stdout = function(line) + update_widget() + end +}) + + +return mpd_song diff --git a/config/awesome/noodle/ram_bar.lua b/config/awesome/noodle/ram_bar.lua new file mode 100644 index 0000000..a86a31f --- /dev/null +++ b/config/awesome/noodle/ram_bar.lua @@ -0,0 +1,47 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +-- Set colors +local active_color = beautiful.ram_bar_active_color or "#5AA3CC" +local background_color = beautiful.ram_bar_background_color or "#222222" + +-- Configuration +local update_interval = 20 -- in seconds + +local ram_bar = wibox.widget{ + max_value = 100, + value = 50, + forced_height = 10, + margins = { + top = 10, + bottom = 10, + }, + forced_width = 200, + shape = gears.shape.rounded_bar, + bar_shape = gears.shape.rounded_bar, + color = active_color, + background_color = background_color, + border_width = 0, + border_color = beautiful.border_color, + widget = wibox.widget.progressbar, +} + +local function update_widget(used_ram_percentage) + ram_bar.value = used_ram_percentage +end + +local used_ram_script = [[ + bash -c " + free -m | grep 'Mem:' | awk '{printf \"%d@@%d@\", $7, $2}' + "]] + +awful.widget.watch(used_ram_script, update_interval, function(widget, stdout) + local available = stdout:match('(.*)@@') + local total = stdout:match('@@(.*)@') + local used_ram_percentage = (total - available) / total * 100 + update_widget(used_ram_percentage) +end) + +return ram_bar diff --git a/config/awesome/noodle/temperature_bar.lua b/config/awesome/noodle/temperature_bar.lua new file mode 100644 index 0000000..638e665 --- /dev/null +++ b/config/awesome/noodle/temperature_bar.lua @@ -0,0 +1,46 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +-- Set colors +local active_color = beautiful.temperature_bar_active_color or "#5AA3CC" +local background_color = beautiful.temperature_bar_background_color or "#222222" + +-- Configuration +local update_interval = 15 -- in seconds + +local temperature_bar = wibox.widget{ + max_value = 100, + value = 50, + forced_height = 10, + margins = { + top = 10, + bottom = 10, + }, + forced_width = 200, + shape = gears.shape.rounded_bar, + bar_shape = gears.shape.rounded_bar, + color = active_color, + background_color = background_color, + border_width = 0, + border_color = beautiful.border_color, + widget = wibox.widget.progressbar, +} + +local function update_widget(temp) + temperature_bar.value = temp +end + +local temp_script = [[ + bash -c " + sensors | grep Package | awk '{print $4}' | cut -c 2-3 + "]] + +awful.widget.watch(temp_script, update_interval, function(widget, stdout) + local temp = stdout + temp = string.gsub(temp, '^%s*(.-)%s*$', '%1') + update_widget(temp) +end) + +return temperature_bar diff --git a/config/awesome/noodle/volume_bar.lua b/config/awesome/noodle/volume_bar.lua new file mode 100644 index 0000000..53f9741 --- /dev/null +++ b/config/awesome/noodle/volume_bar.lua @@ -0,0 +1,76 @@ +-- NOTE: +-- This widget runs a script in the background +-- When awesome restarts, its process will remain alive! +-- Don't worry though! The cleanup script that runs in rc.lua takes care of it :) + +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +-- Set colors +local active_color = beautiful.volume_bar_active_color or "#5AA3CC" +local muted_color = beautiful.volume_bar_muted_color or "#666666" +local active_background_color = beautiful.volume_bar_active_background_color or "#222222" +local muted_background_color = beautiful.volume_bar_muted_background_color or "#222222" + +local volume_bar = wibox.widget{ + max_value = 100, + value = 50, + forced_height = 10, + margins = { + top = 10, + bottom = 10, + }, + forced_width = 200, + shape = gears.shape.rounded_bar, + bar_shape = gears.shape.rounded_bar, + color = active_color, + background_color = active_background_color, + border_width = 0, + border_color = beautiful.border_color, + widget = wibox.widget.progressbar, +} + +local function update_widget() + awful.spawn.easy_async({"sh", "-c", "pactl list sinks"}, + function(stdout) + local volume = stdout:match('(%d+)%% /') + local muted = stdout:match('Mute:(%s+)[yes]') + local fill_color + local bg_color + if muted ~= nil then + fill_color = muted_color + bg_color = muted_background_color + else + fill_color = active_color + bg_color = active_background_color + end + volume_bar.value = volume + volume_bar.color = fill_color + volume_bar.background_color = bg_color + end + ) +end + +-- Signals +-- volume_bar:connect_signal("mouse::enter", function () +-- update_widget() +-- end) + +update_widget() + +-- Sleeps until pactl detects an event (volume up/down/toggle mute) +local volume_script = [[ + bash -c ' + pactl subscribe 2> /dev/null | grep --line-buffered "sink #0" + ']] + +awful.spawn.with_line_callback(volume_script, { + stdout = function(line) + update_widget() + end +}) + + +return volume_bar diff --git a/config/awesome/noodle/weather.lua b/config/awesome/noodle/weather.lua new file mode 100644 index 0000000..0a6ab5b --- /dev/null +++ b/config/awesome/noodle/weather.lua @@ -0,0 +1,91 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") +local naughty = require("naughty") + +-- Configuration +-- Get your key and find your city id at https://openweathermap.org/ +-- You will need to make an account! +local key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +local city_id = "yyyyyy" +local units = "metric" +local symbol = "°C" +-- Don't update too often, because your requests might get blocked for 24 hours +local update_interval = 1200 -- in seconds + +local weather_text = wibox.widget{ + text = "Loading...", + -- align = 'center', + valign = 'center', + -- font = "sans 14", + widget = wibox.widget.textbox +} + +local weather_icon = wibox.widget.imagebox(beautiful.whatever_icon) +weather_icon.resize = true +weather_icon.forced_width = 40 +weather_icon.forced_height = 40 + +local weather = wibox.widget{ + weather_icon, + weather_text, + layout = wibox.layout.fixed.horizontal +} + +local function update_widget(icon_code, weather_details) + -- Set icon + if string.find(icon_code, "01d") then + weather_icon.image = beautiful.sun_icon + elseif string.find(icon_code, "01n") then + weather_icon.image = beautiful.star_icon + elseif string.find(icon_code, "02d") then + weather_icon.image = beautiful.dcloud_icon + elseif string.find(icon_code, "02n") then + weather_icon.image = beautiful.ncloud_icon + elseif string.find(icon_code, "03") or string.find(icon_code, "04") then + weather_icon.image = beautiful.cloud_icon + elseif string.find(icon_code, "09") or string.find(icon_code, "10") then + weather_icon.image = beautiful.rain_icon + elseif string.find(icon_code, "11") then + weather_icon.image = beautiful.storm_icon + elseif string.find(icon_code, "13") then + weather_icon.image = beautiful.snow_icon + elseif string.find(icon_code, "50") or string.find(icon_code, "40") then + weather_icon.image = beautiful.mist_icon + else + weather_icon.image = beautiful.whatever_icon + end + + -- Set text + weather_text.markup = weather_details +end + +local weather_details_script = [[ + bash -c ' + KEY="]]..key..[[" + CITY="]]..city_id..[[" + UNITS="]]..units..[[" + SYMBOL="]]..symbol..[[" + + weather=$(curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID=$KEY&id=$CITY&units=$UNITS") + + if [ ! -z "$weather" ]; then + weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1) + weather_icon=$(echo "$weather" | jq -r ".weather[].icon" | head -1) + weather_description=$(echo "$weather" | jq -r ".weather[].description" | head -1) + + echo "$weather_icon" "$weather_description" "$weather_temp$SYMBOL" + else + echo "... Info unavailable" + fi +']] + +awful.widget.watch(weather_details_script, update_interval, function(widget, stdout) + local icon_code = string.sub(stdout, 1, 3) + local weather_details = string.sub(stdout, 5) + weather_details = string.gsub(weather_details, '^%s*(.-)%s*$', '%1') + update_widget(icon_code, weather_details) +end) + +return weather diff --git a/config/awesome/sidebar.lua b/config/awesome/sidebar.lua new file mode 100644 index 0000000..06d1105 --- /dev/null +++ b/config/awesome/sidebar.lua @@ -0,0 +1,455 @@ +local awful = require("awful") +local gears = require("gears") +local wibox = require("wibox") +local beautiful = require("beautiful") + +local helpers = require("helpers") +local pad = helpers.pad + +-- Item configuration +local exit_icon = wibox.widget.imagebox(beautiful.poweroff_icon) +exit_icon.resize = true +exit_icon.forced_width = 40 +exit_icon.forced_height = 40 +local exit_text = wibox.widget.textbox("Exit") +exit_text.font = "sans 13" + +local exit = wibox.widget{ + exit_icon, + exit_text, + layout = wibox.layout.fixed.horizontal +} +exit:buttons(gears.table.join( + awful.button({ }, 1, function () + exit_screen_show() + sidebar.visible = false + end) +)) + +local weather_widget = require("noodle.weather") +local weather_widget_text = weather_widget:get_all_children()[2] +weather_widget_text.font = "sans 13" +-- Dummy weather_widget for testing +-- (avoid making requests with every awesome restart) +-- local weather_widget = wibox.widget.textbox("[icon] clear sky 8oC") +local weather = wibox.widget{ + pad(0), + weather_widget, + pad(0), + layout = wibox.layout.align.horizontal, + expand = "none" +} + +local temperature_icon = wibox.widget.imagebox(beautiful.temperature_icon) +temperature_icon.resize = true +temperature_icon.forced_width = 40 +temperature_icon.forced_height = 40 +local temperature_bar = require("noodle.temperature_bar") +local temperature = wibox.widget{ + pad(0), + { + temperature_icon, + pad(1), + temperature_bar, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal +} + +local battery_icon = wibox.widget.imagebox(beautiful.battery_icon) +battery_icon.resize = true +battery_icon.forced_width = 40 +battery_icon.forced_height = 40 +awesome.connect_signal( + "charger_plugged", function(c) + battery_icon.image = beautiful.battery_charging_icon +end) +awesome.connect_signal( + "charger_unplugged", function(c) + battery_icon.image = beautiful.battery_icon +end) +local battery_bar = require("noodle.battery_bar") +local battery = wibox.widget{ + pad(0), + { + battery_icon, + pad(1), + battery_bar, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal +} + +local cpu_icon = wibox.widget.imagebox(beautiful.cpu_icon) +cpu_icon.resize = true +cpu_icon.forced_width = 40 +cpu_icon.forced_height = 40 +local cpu_bar = require("noodle.cpu_bar") +local cpu = wibox.widget{ + pad(0), + { + cpu_icon, + pad(1), + cpu_bar, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal +} + +cpu:buttons( + gears.table.join( + awful.button({ }, 1, function () + local matcher = function (c) + return awful.rules.match(c, {name = 'htop'}) + end + awful.client.run_or_raise(terminal .." -e htop", matcher) + end), + awful.button({ }, 3, function () + local matcher = function (c) + return awful.rules.match(c, {class = 'Lxtask'}) + end + awful.client.run_or_raise("lxtask", matcher) + end) +)) + +local ram_icon = wibox.widget.imagebox(beautiful.ram_icon) +ram_icon.resize = true +ram_icon.forced_width = 40 +ram_icon.forced_height = 40 +local ram_bar = require("noodle.ram_bar") +local ram = wibox.widget{ + pad(0), + { + ram_icon, + pad(1), + ram_bar, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal +} + +ram:buttons( + gears.table.join( + awful.button({ }, 1, function () + local matcher = function (c) + return awful.rules.match(c, {name = 'htop'}) + end + awful.client.run_or_raise(terminal .." -e htop", matcher) + end), + awful.button({ }, 3, function () + local matcher = function (c) + return awful.rules.match(c, {class = 'Lxtask'}) + end + awful.client.run_or_raise("lxtask", matcher) + end) +)) + + +local playerctl_button_size = 50 +local playerctl_toggle_icon = wibox.widget.imagebox(beautiful.playerctl_toggle_icon) +playerctl_toggle_icon.resize = true +playerctl_toggle_icon.forced_width = playerctl_button_size +playerctl_toggle_icon.forced_height = playerctl_button_size +playerctl_toggle_icon:buttons(gears.table.join( + awful.button({ }, 1, function () + awful.spawn.with_shell("mpc toggle") + end), + awful.button({ }, 3, function () + awful.spawn.with_shell("mpvc toggle") + end) +)) + +local playerctl_prev_icon = wibox.widget.imagebox(beautiful.playerctl_prev_icon) +playerctl_prev_icon.resize = true +playerctl_prev_icon.forced_width = playerctl_button_size +playerctl_prev_icon.forced_height = playerctl_button_size +playerctl_prev_icon:buttons(gears.table.join( + awful.button({ }, 1, function () + awful.spawn.with_shell("mpc prev") + end), + awful.button({ }, 3, function () + awful.spawn.with_shell("mpvc prev") + end) +)) + +local playerctl_next_icon = wibox.widget.imagebox(beautiful.playerctl_next_icon) +playerctl_next_icon.resize = true +playerctl_next_icon.forced_width = playerctl_button_size +playerctl_next_icon.forced_height = playerctl_button_size +playerctl_next_icon:buttons(gears.table.join( + awful.button({ }, 1, function () + awful.spawn.with_shell("mpc next") + end), + awful.button({ }, 3, function () + awful.spawn.with_shell("mpvc next") + end) +)) + +local playerctl_buttons = wibox.widget { + pad(0), + { + playerctl_prev_icon, + pad(1), + playerctl_toggle_icon, + pad(1), + playerctl_next_icon, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal, +} + +local time = wibox.widget.textclock("%H %M") +time.align = "center" +time.valign = "center" +time.font = "sans 50" + +local date = wibox.widget.textclock("%A, %B %d") +-- local date = wibox.widget.textclock("%A, %B %d, %Y") +date.align = "center" +date.valign = "center" +date.font = "sans medium 15" + +local fancy_date = wibox.widget.textclock("%j days around the sun") +fancy_date.align = "center" +fancy_date.valign = "center" +fancy_date.font = "sans 11" + +local mpd_song = require("noodle.mpd_song") +local mpd_widget_children = mpd_song:get_all_children() +local mpd_title = mpd_widget_children[1] +local mpd_artist = mpd_widget_children[2] +mpd_title.font = "sans medium 13" +mpd_artist.font = "sans 11" +-- Set forced height in order to limit the widgets to one line. +-- Might need to be adjusted depending on the font. +mpd_title.forced_height = 22 +mpd_artist.forced_height = 22 + +mpd_song:buttons(gears.table.join( + awful.button({ }, 1, function () + awful.spawn.with_shell("mpc toggle") + end), + awful.button({ }, 3, function () + awful.spawn(terminal .. " -e ncmpcpp", {floating = true}) + end), + awful.button({ }, 4, function () + awful.spawn.with_shell("mpc prev") + end), + awful.button({ }, 5, function () + awful.spawn.with_shell("mpc next") + end) +)) + +local disk_space = require("noodle.disk") +disk_space.font = "sans 13" +local disk_icon = wibox.widget.imagebox(beautiful.files_icon) +disk_icon.resize = true +disk_icon.forced_width = 40 +disk_icon.forced_height = 40 +local disk = wibox.widget{ + pad(0), + { + disk_icon, + disk_space, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal +} + +disk:buttons(gears.table.join( + awful.button({ }, 1, function () + awful.spawn(filemanager, {floating = true}) + end), + awful.button({ }, 3, function () + awful.spawn(filemanager .. " /data", {floating = true}) + end) +)) + +local search_icon = wibox.widget.imagebox(beautiful.search_icon) +search_icon.resize = true +search_icon.forced_width = 40 +search_icon.forced_height = 40 +local search_text = wibox.widget.textbox("Search") +search_text.font = "sans 13" + +local search = wibox.widget{ + search_icon, + search_text, + layout = wibox.layout.fixed.horizontal +} +search:buttons(gears.table.join( + awful.button({ }, 1, function () + awful.spawn.with_shell("rofi -show combi") + end), + awful.button({ }, 3, function () + awful.spawn.with_shell("rofi -show run") + end) +)) + +local volume_icon = wibox.widget.imagebox(beautiful.volume_icon) +volume_icon.resize = true +volume_icon.forced_width = 40 +volume_icon.forced_height = 40 +local volume_bar = require("noodle.volume_bar") +local volume = wibox.widget{ + pad(0), + { + volume_icon, + pad(1), + volume_bar, + layout = wibox.layout.fixed.horizontal + }, + pad(0), + expand = "none", + layout = wibox.layout.align.horizontal +} + +volume:buttons(gears.table.join( + -- Left click - Mute / Unmute + awful.button({ }, 1, function () + awful.spawn.with_shell("volume-control.sh toggle") + end), + -- Right click - Run or raise pavucontrol + awful.button({ }, 3, function () + local matcher = function (c) + return awful.rules.match(c, {class = 'Pavucontrol'}) + end + awful.client.run_or_raise("pavucontrol", matcher) + end), + -- Scroll - Increase / Decrease volume + awful.button({ }, 4, function () + awful.spawn.with_shell("volume-control.sh up") + end), + awful.button({ }, 5, function () + awful.spawn.with_shell("volume-control.sh down") + end) +)) + + +-- Create the sidebar +sidebar = wibox({x = 0, y = 0, visible = false, ontop = true, type = "dock"}) + +sidebar.bg = beautiful.sidebar_bg or beautiful.wibar_bg or "#111111" +sidebar.fg = beautiful.sidebar_fg or beautiful.wibar_fg or "#FFFFFF" +sidebar.opacity = beautiful.sidebar_opacity or 1 +sidebar.height = beautiful.sidebar_height or awful.screen.focused().geometry.height +sidebar.width = beautiful.sidebar_width or 300 +sidebar.y = beautiful.sidebar_y or 0 +local radius = beautiful.sidebar_border_radius or 0 +if beautiful.sidebar_position == "right" then + sidebar.x = awful.screen.focused().geometry.width - sidebar.width + sidebar.shape = helpers.prrect(radius, true, false, false, true) +else + sidebar.x = 0 + sidebar.shape = helpers.prrect(radius, false, true, true, false) +end + +sidebar:buttons(gears.table.join( + -- Middle click - Hide sidebar + awful.button({ }, 2, function () + sidebar.visible = false + end) +)) + +-- Hide sidebar when mouse leaves +if beautiful.sidebar_hide_on_mouse_leave then + sidebar:connect_signal("mouse::leave", function () + sidebar.visible = false + end) +end +-- Activate sidebar by moving the mouse at the edge of the screen +if beautiful.sidebar_hide_on_mouse_leave then + local sidebar_activator = wibox({y = 0, width = 1, height = awful.screen.focused().geometry.height, visible = true, ontop = false, opacity = 0, below = true}) + sidebar_activator:connect_signal("mouse::enter", function () + sidebar.visible = true + end) + + if beautiful.sidebar_position == "right" then + sidebar_activator.x = awful.screen.focused().geometry.width - sidebar_activator.width + else + sidebar_activator.x = 0 + end + + sidebar_activator:buttons( + gears.table.join( + awful.button({ }, 2, function () + sidebar.visible = not sidebar.visible + end), + awful.button({ }, 4, function () + awful.tag.viewprev() + end), + awful.button({ }, 5, function () + awful.tag.viewnext() + end) + )) +end + +-- Item placement +sidebar:setup { + { ----------- TOP GROUP ----------- + pad(1), + pad(1), + time, + date, + fancy_date, + pad(1), + weather, + pad(1), + pad(1), + layout = wibox.layout.fixed.vertical + }, + { ----------- MIDDLE GROUP ----------- + playerctl_buttons, + { + -- Put some padding at the left and right edge so that + -- it looks better with extremely long titles/artists + pad(2), + mpd_song, + pad(2), + layout = wibox.layout.align.horizontal, + }, + pad(1), + pad(1), + volume, + cpu, + temperature, + ram, + battery, + pad(1), + disk, + pad(1), + pad(1), + layout = wibox.layout.fixed.vertical + }, + { ----------- BOTTOM GROUP ----------- + { -- Search and exit screen + pad(0), + { + search, + pad(5), + exit, + pad(2), + layout = wibox.layout.fixed.horizontal + }, + pad(0), + layout = wibox.layout.align.horizontal, + expand = "none" + }, + pad(1), + layout = wibox.layout.fixed.vertical + }, + layout = wibox.layout.align.vertical, + -- expand = "none" +} diff --git a/config/awesome/themes/lovelace/icons/appearance.png b/config/awesome/themes/lovelace/icons/appearance.png new file mode 100644 index 0000000..5eff235 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/appearance.png differ diff --git a/config/awesome/themes/lovelace/icons/battery.png b/config/awesome/themes/lovelace/icons/battery.png new file mode 100644 index 0000000..d395680 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/battery.png differ diff --git a/config/awesome/themes/lovelace/icons/battery_charging.png b/config/awesome/themes/lovelace/icons/battery_charging.png new file mode 100644 index 0000000..56630aa Binary files /dev/null and b/config/awesome/themes/lovelace/icons/battery_charging.png differ diff --git a/config/awesome/themes/lovelace/icons/compositor.png b/config/awesome/themes/lovelace/icons/compositor.png new file mode 100644 index 0000000..a3ecec2 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/compositor.png differ diff --git a/config/awesome/themes/lovelace/icons/cpu.png b/config/awesome/themes/lovelace/icons/cpu.png new file mode 100644 index 0000000..d5af72f Binary files /dev/null and b/config/awesome/themes/lovelace/icons/cpu.png differ diff --git a/config/awesome/themes/lovelace/icons/discord.png b/config/awesome/themes/lovelace/icons/discord.png new file mode 100644 index 0000000..92fc1b4 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/discord.png differ diff --git a/config/awesome/themes/lovelace/icons/editor.png b/config/awesome/themes/lovelace/icons/editor.png new file mode 100644 index 0000000..6f68f3d Binary files /dev/null and b/config/awesome/themes/lovelace/icons/editor.png differ diff --git a/config/awesome/themes/lovelace/icons/exit.png b/config/awesome/themes/lovelace/icons/exit.png new file mode 100644 index 0000000..356eaea Binary files /dev/null and b/config/awesome/themes/lovelace/icons/exit.png differ diff --git a/config/awesome/themes/lovelace/icons/files.png b/config/awesome/themes/lovelace/icons/files.png new file mode 100644 index 0000000..38f1a94 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/files.png differ diff --git a/config/awesome/themes/lovelace/icons/firefox.png b/config/awesome/themes/lovelace/icons/firefox.png new file mode 100644 index 0000000..d4687cb Binary files /dev/null and b/config/awesome/themes/lovelace/icons/firefox.png differ diff --git a/config/awesome/themes/lovelace/icons/gimp.png b/config/awesome/themes/lovelace/icons/gimp.png new file mode 100644 index 0000000..e0206af Binary files /dev/null and b/config/awesome/themes/lovelace/icons/gimp.png differ diff --git a/config/awesome/themes/lovelace/icons/home.png b/config/awesome/themes/lovelace/icons/home.png new file mode 100644 index 0000000..8abe168 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/home.png differ diff --git a/config/awesome/themes/lovelace/icons/keyboard.png b/config/awesome/themes/lovelace/icons/keyboard.png new file mode 100644 index 0000000..3c957e0 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/keyboard.png differ diff --git a/config/awesome/themes/lovelace/icons/lock.png b/config/awesome/themes/lovelace/icons/lock.png new file mode 100644 index 0000000..850fd35 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/lock.png differ diff --git a/config/awesome/themes/lovelace/icons/logout.png b/config/awesome/themes/lovelace/icons/logout.png new file mode 100644 index 0000000..356eaea Binary files /dev/null and b/config/awesome/themes/lovelace/icons/logout.png differ diff --git a/config/awesome/themes/lovelace/icons/logout1.png b/config/awesome/themes/lovelace/icons/logout1.png new file mode 100644 index 0000000..df99ddc Binary files /dev/null and b/config/awesome/themes/lovelace/icons/logout1.png differ diff --git a/config/awesome/themes/lovelace/icons/lutris.png b/config/awesome/themes/lovelace/icons/lutris.png new file mode 100644 index 0000000..3a7a21c Binary files /dev/null and b/config/awesome/themes/lovelace/icons/lutris.png differ diff --git a/config/awesome/themes/lovelace/icons/mail.png b/config/awesome/themes/lovelace/icons/mail.png new file mode 100644 index 0000000..b41809f Binary files /dev/null and b/config/awesome/themes/lovelace/icons/mail.png differ diff --git a/config/awesome/themes/lovelace/icons/manual.png b/config/awesome/themes/lovelace/icons/manual.png new file mode 100644 index 0000000..a27190a Binary files /dev/null and b/config/awesome/themes/lovelace/icons/manual.png differ diff --git a/config/awesome/themes/lovelace/icons/music.png b/config/awesome/themes/lovelace/icons/music.png new file mode 100644 index 0000000..a7c27a8 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/music.png differ diff --git a/config/awesome/themes/lovelace/icons/muted.png b/config/awesome/themes/lovelace/icons/muted.png new file mode 100644 index 0000000..d6f4e0f Binary files /dev/null and b/config/awesome/themes/lovelace/icons/muted.png differ diff --git a/config/awesome/themes/lovelace/icons/playerctl_next.png b/config/awesome/themes/lovelace/icons/playerctl_next.png new file mode 100644 index 0000000..ba09002 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/playerctl_next.png differ diff --git a/config/awesome/themes/lovelace/icons/playerctl_prev.png b/config/awesome/themes/lovelace/icons/playerctl_prev.png new file mode 100644 index 0000000..1189b9e Binary files /dev/null and b/config/awesome/themes/lovelace/icons/playerctl_prev.png differ diff --git a/config/awesome/themes/lovelace/icons/playerctl_toggle.png b/config/awesome/themes/lovelace/icons/playerctl_toggle.png new file mode 100644 index 0000000..5f033da Binary files /dev/null and b/config/awesome/themes/lovelace/icons/playerctl_toggle.png differ diff --git a/config/awesome/themes/lovelace/icons/poweroff.png b/config/awesome/themes/lovelace/icons/poweroff.png new file mode 100644 index 0000000..e1464eb Binary files /dev/null and b/config/awesome/themes/lovelace/icons/poweroff.png differ diff --git a/config/awesome/themes/lovelace/icons/ram.png b/config/awesome/themes/lovelace/icons/ram.png new file mode 100644 index 0000000..3a6f333 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/ram.png differ diff --git a/config/awesome/themes/lovelace/icons/reboot.png b/config/awesome/themes/lovelace/icons/reboot.png new file mode 100644 index 0000000..dd5516a Binary files /dev/null and b/config/awesome/themes/lovelace/icons/reboot.png differ diff --git a/config/awesome/themes/lovelace/icons/reddit.png b/config/awesome/themes/lovelace/icons/reddit.png new file mode 100644 index 0000000..77ae480 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/reddit.png differ diff --git a/config/awesome/themes/lovelace/icons/redshift.png b/config/awesome/themes/lovelace/icons/redshift.png new file mode 100644 index 0000000..9621a2e Binary files /dev/null and b/config/awesome/themes/lovelace/icons/redshift.png differ diff --git a/config/awesome/themes/lovelace/icons/screenshot.png b/config/awesome/themes/lovelace/icons/screenshot.png new file mode 100644 index 0000000..8cfb6fb Binary files /dev/null and b/config/awesome/themes/lovelace/icons/screenshot.png differ diff --git a/config/awesome/themes/lovelace/icons/search.png b/config/awesome/themes/lovelace/icons/search.png new file mode 100644 index 0000000..47c1b90 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/search.png differ diff --git a/config/awesome/themes/lovelace/icons/sidebar.png b/config/awesome/themes/lovelace/icons/sidebar.png new file mode 100644 index 0000000..9c8ebbb Binary files /dev/null and b/config/awesome/themes/lovelace/icons/sidebar.png differ diff --git a/config/awesome/themes/lovelace/icons/steam.png b/config/awesome/themes/lovelace/icons/steam.png new file mode 100644 index 0000000..4cb91a3 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/steam.png differ diff --git a/config/awesome/themes/lovelace/icons/submenu.png b/config/awesome/themes/lovelace/icons/submenu.png new file mode 100644 index 0000000..ba09002 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/submenu.png differ diff --git a/config/awesome/themes/lovelace/icons/suspend.png b/config/awesome/themes/lovelace/icons/suspend.png new file mode 100644 index 0000000..c2c7105 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/suspend.png differ diff --git a/config/awesome/themes/lovelace/icons/telegram.png b/config/awesome/themes/lovelace/icons/telegram.png new file mode 100644 index 0000000..ec4661f Binary files /dev/null and b/config/awesome/themes/lovelace/icons/telegram.png differ diff --git a/config/awesome/themes/lovelace/icons/temperature.png b/config/awesome/themes/lovelace/icons/temperature.png new file mode 100644 index 0000000..fc9e83d Binary files /dev/null and b/config/awesome/themes/lovelace/icons/temperature.png differ diff --git a/config/awesome/themes/lovelace/icons/terminal.png b/config/awesome/themes/lovelace/icons/terminal.png new file mode 100644 index 0000000..41fe7a7 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/terminal.png differ diff --git a/config/awesome/themes/lovelace/icons/volume.png b/config/awesome/themes/lovelace/icons/volume.png new file mode 100644 index 0000000..114e609 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/volume.png differ diff --git a/config/awesome/themes/lovelace/icons/volume1.png b/config/awesome/themes/lovelace/icons/volume1.png new file mode 100644 index 0000000..2221c8d Binary files /dev/null and b/config/awesome/themes/lovelace/icons/volume1.png differ diff --git a/config/awesome/themes/lovelace/icons/youtube.png b/config/awesome/themes/lovelace/icons/youtube.png new file mode 100644 index 0000000..83332b8 Binary files /dev/null and b/config/awesome/themes/lovelace/icons/youtube.png differ diff --git a/config/awesome/themes/lovelace/layout/floating.png b/config/awesome/themes/lovelace/layout/floating.png new file mode 100644 index 0000000..80624b9 Binary files /dev/null and b/config/awesome/themes/lovelace/layout/floating.png differ diff --git a/config/awesome/themes/lovelace/layout/max.png b/config/awesome/themes/lovelace/layout/max.png new file mode 100644 index 0000000..b6a5547 Binary files /dev/null and b/config/awesome/themes/lovelace/layout/max.png differ diff --git a/config/awesome/themes/lovelace/layout/tile.png b/config/awesome/themes/lovelace/layout/tile.png new file mode 100644 index 0000000..b654bba Binary files /dev/null and b/config/awesome/themes/lovelace/layout/tile.png differ diff --git a/config/awesome/themes/lovelace/taglist/10_empty.png b/config/awesome/themes/lovelace/taglist/10_empty.png new file mode 100644 index 0000000..f91deec Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/10_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/10_focused.png b/config/awesome/themes/lovelace/taglist/10_focused.png new file mode 100644 index 0000000..c42918f Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/10_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/10_occupied.png b/config/awesome/themes/lovelace/taglist/10_occupied.png new file mode 100644 index 0000000..5611451 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/10_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/10_urgent.png b/config/awesome/themes/lovelace/taglist/10_urgent.png new file mode 100644 index 0000000..2f01f64 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/10_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/1_empty.png b/config/awesome/themes/lovelace/taglist/1_empty.png new file mode 100644 index 0000000..f1d23d3 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/1_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/1_focused.png b/config/awesome/themes/lovelace/taglist/1_focused.png new file mode 100644 index 0000000..f6878d2 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/1_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/1_occupied.png b/config/awesome/themes/lovelace/taglist/1_occupied.png new file mode 100644 index 0000000..d300769 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/1_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/1_urgent.png b/config/awesome/themes/lovelace/taglist/1_urgent.png new file mode 100644 index 0000000..c59884c Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/1_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/2_empty.png b/config/awesome/themes/lovelace/taglist/2_empty.png new file mode 100644 index 0000000..a644ef2 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/2_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/2_focused.png b/config/awesome/themes/lovelace/taglist/2_focused.png new file mode 100644 index 0000000..a0fb6ba Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/2_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/2_occupied.png b/config/awesome/themes/lovelace/taglist/2_occupied.png new file mode 100644 index 0000000..df035db Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/2_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/2_urgent.png b/config/awesome/themes/lovelace/taglist/2_urgent.png new file mode 100644 index 0000000..80393fe Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/2_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/3_empty.png b/config/awesome/themes/lovelace/taglist/3_empty.png new file mode 100644 index 0000000..4f62469 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/3_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/3_focused.png b/config/awesome/themes/lovelace/taglist/3_focused.png new file mode 100644 index 0000000..0e7100c Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/3_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/3_occupied.png b/config/awesome/themes/lovelace/taglist/3_occupied.png new file mode 100644 index 0000000..bef80ce Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/3_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/3_urgent.png b/config/awesome/themes/lovelace/taglist/3_urgent.png new file mode 100644 index 0000000..9d658d3 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/3_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/4_empty.png b/config/awesome/themes/lovelace/taglist/4_empty.png new file mode 100644 index 0000000..6f68f3d Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/4_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/4_focused.png b/config/awesome/themes/lovelace/taglist/4_focused.png new file mode 100644 index 0000000..939edcc Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/4_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/4_occupied.png b/config/awesome/themes/lovelace/taglist/4_occupied.png new file mode 100644 index 0000000..a62b51f Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/4_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/4_urgent.png b/config/awesome/themes/lovelace/taglist/4_urgent.png new file mode 100644 index 0000000..06d5af5 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/4_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/5_empty.png b/config/awesome/themes/lovelace/taglist/5_empty.png new file mode 100644 index 0000000..9ffb35b Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/5_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/5_focused.png b/config/awesome/themes/lovelace/taglist/5_focused.png new file mode 100644 index 0000000..3b82681 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/5_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/5_occupied.png b/config/awesome/themes/lovelace/taglist/5_occupied.png new file mode 100644 index 0000000..a3767d3 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/5_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/5_urgent.png b/config/awesome/themes/lovelace/taglist/5_urgent.png new file mode 100644 index 0000000..471d466 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/5_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/6_empty.png b/config/awesome/themes/lovelace/taglist/6_empty.png new file mode 100644 index 0000000..e0206af Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/6_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/6_focused.png b/config/awesome/themes/lovelace/taglist/6_focused.png new file mode 100644 index 0000000..35dd519 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/6_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/6_occupied.png b/config/awesome/themes/lovelace/taglist/6_occupied.png new file mode 100644 index 0000000..3eaa155 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/6_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/6_urgent.png b/config/awesome/themes/lovelace/taglist/6_urgent.png new file mode 100644 index 0000000..a320066 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/6_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/7_empty.png b/config/awesome/themes/lovelace/taglist/7_empty.png new file mode 100644 index 0000000..b41809f Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/7_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/7_focused.png b/config/awesome/themes/lovelace/taglist/7_focused.png new file mode 100644 index 0000000..c8e36bb Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/7_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/7_occupied.png b/config/awesome/themes/lovelace/taglist/7_occupied.png new file mode 100644 index 0000000..fc55227 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/7_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/7_urgent.png b/config/awesome/themes/lovelace/taglist/7_urgent.png new file mode 100644 index 0000000..bbe1add Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/7_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/8_empty.png b/config/awesome/themes/lovelace/taglist/8_empty.png new file mode 100644 index 0000000..364b8b3 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/8_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/8_focused.png b/config/awesome/themes/lovelace/taglist/8_focused.png new file mode 100644 index 0000000..e8362c8 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/8_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/8_occupied.png b/config/awesome/themes/lovelace/taglist/8_occupied.png new file mode 100644 index 0000000..353c995 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/8_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/8_urgent.png b/config/awesome/themes/lovelace/taglist/8_urgent.png new file mode 100644 index 0000000..fd5539f Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/8_urgent.png differ diff --git a/config/awesome/themes/lovelace/taglist/9_empty.png b/config/awesome/themes/lovelace/taglist/9_empty.png new file mode 100644 index 0000000..a7c27a8 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/9_empty.png differ diff --git a/config/awesome/themes/lovelace/taglist/9_focused.png b/config/awesome/themes/lovelace/taglist/9_focused.png new file mode 100644 index 0000000..bde5ac4 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/9_focused.png differ diff --git a/config/awesome/themes/lovelace/taglist/9_occupied.png b/config/awesome/themes/lovelace/taglist/9_occupied.png new file mode 100644 index 0000000..fb12d7b Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/9_occupied.png differ diff --git a/config/awesome/themes/lovelace/taglist/9_urgent.png b/config/awesome/themes/lovelace/taglist/9_urgent.png new file mode 100644 index 0000000..a5cedd7 Binary files /dev/null and b/config/awesome/themes/lovelace/taglist/9_urgent.png differ diff --git a/config/awesome/themes/lovelace/theme.lua b/config/awesome/themes/lovelace/theme.lua new file mode 100644 index 0000000..fb3f13e --- /dev/null +++ b/config/awesome/themes/lovelace/theme.lua @@ -0,0 +1,467 @@ +-- +-- ██ ██ +-- ░██ ░██ +-- ░██ ██████ ██ ██ █████ ░██ ██████ █████ █████ +-- ░██ ██░░░░██░██ ░██ ██░░░██ ░██ ░░░░░░██ ██░░░██ ██░░░██ +-- ░██░██ ░██░░██ ░██ ░███████ ░██ ███████ ░██ ░░ ░███████ +-- ░██░██ ░██ ░░████ ░██░░░░ ░██ ██░░░░██ ░██ ██░██░░░░ +-- ███░░██████ ░░██ ░░██████ ███░░████████░░█████ ░░██████ +-- ░░░ ░░░░░░ ░░ ░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░░░░ + +local theme_name = "lovelace" +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() +local icon_path = os.getenv("HOME") .. "/.config/awesome/themes/" .. theme_name .. "/icons/" +local layout_icon_path = os.getenv("HOME") .. "/.config/awesome/themes/" .. theme_name .. "/layout/" +local titlebar_icon_path = os.getenv("HOME") .. "/.config/awesome/themes/" .. theme_name .. "/titlebar/" +local weather_icon_path = os.getenv("HOME") .. "/.config/awesome/themes/" .. theme_name .. "/weather/" +local taglist_icon_path = os.getenv("HOME") .. "/.config/awesome/themes/" .. theme_name .. "/taglist/" +local tip = titlebar_icon_path --alias to save time/space +local xrdb = xresources.get_current_theme() +-- local theme = dofile(themes_path.."default/theme.lua") +local theme = {} + +-- theme.tip = titlebar_icon_path -- NOT local so that scripts can access it + +-- This is used to make it easier to align the panels in specific monitor positions +local awful = require("awful") +local screen_width = awful.screen.focused().geometry.width +local screen_height = awful.screen.focused().geometry.height + +-- Set theme wallpaper. +-- It won't change anything if you are using feh to set the wallpaper like I do. +theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/" .. theme_name .. "/wall.png" + +-- Set the theme font. This is the font that will be used by default in menus, bars, titlebars etc. +-- theme.font = "sans 11" +theme.font = "monospace bold 11" + +-- Get colors from .Xresources and set fallback colors +local xbackground = xrdb.background or "#1D1F28" +local xforeground = xrdb.foreground or "#FDFDFD" +local xcolor0 = xrdb.color0 or "#282A36" +local xcolor1 = xrdb.color1 or "#F37F97" +local xcolor2 = xrdb.color2 or "#5ADECD" +local xcolor3 = xrdb.color3 or "#F2A272" +local xcolor4 = xrdb.color4 or "#8897F4" +local xcolor5 = xrdb.color5 or "#C574DD" +local xcolor6 = xrdb.color6 or "#79E6F3" +local xcolor7 = xrdb.color7 or "#FDFDFD" +local xcolor8 = xrdb.color8 or "#414458" +local xcolor9 = xrdb.color9 or "#FF4971" +local xcolor10 = xrdb.color10 or "#18E3C8" +local xcolor11 = xrdb.color11 or "#FF8037" +local xcolor12 = xrdb.color12 or "#556FFF" +local xcolor13 = xrdb.color13 or "#B043D1" +local xcolor14 = xrdb.color14 or "#3FDCEE" +local xcolor15 = xrdb.color15 or "#BEBEC1" + +-- Set some colors that are used frequently as local variables +local accent_color = xcolor14 +local focused_color = xcolor14 +local unfocused_color = xcolor7 +local urgent_color = xcolor9 + +-- This is how to get other .Xresources values (beyond colors 0-15, or custom variables) +-- local cool_color = awesome.xrdb_get_value("", "color16") + +theme.bg_dark = xbackground +theme.bg_normal = xbackground +theme.bg_focus = xbackground +theme.bg_urgent = xbackground +theme.bg_minimize = xcolor8 +theme.bg_systray = xbackground + +theme.fg_normal = xcolor7 +theme.fg_focus = focused_color +theme.fg_urgent = urgent_color +theme.fg_minimize = xcolor8 + +-- Gaps +theme.useless_gap = dpi(3) +-- This could be used to manually determine how far away from the +-- screen edge the bars / notifications should be. +theme.screen_margin = dpi(3) + +-- Borders +theme.border_width = dpi(0) +theme.border_color = xcolor0 +theme.border_normal = xcolor0 +theme.border_focus = xcolor0 +-- Rounded corners +theme.border_radius = dpi(6) + +-- Titlebars +-- (Titlebar items can be customized in titlebars.lua) +theme.titlebars_enabled = true +theme.titlebar_size = dpi(35) +theme.titlebar_title_enabled = false +theme.titlebar_font = theme.font -- BUG: Uses theme.font regardless +-- Window title alignment: left, right, center +theme.titlebar_title_align = "center" +-- Titlebar position: top, bottom, left, right +theme.titlebar_position = "top" +-- Use 4 titlebars around the window to imitate borders +theme.titlebars_imitate_borders = false +theme.titlebar_bg = xcolor0 +-- theme.titlebar_bg_focus = xcolor5 +-- theme.titlebar_bg_normal = xcolor13 +theme.titlebar_fg_focus = xcolor7 +theme.titlebar_fg_normal = xcolor15 +--theme.titlebar_fg = xcolor7 + +-- Notifications +-- Position: bottom_left, bottom_right, bottom_middle, +-- top_left, top_right, top_middle +theme.notification_position = "top_right" -- BUG: some notifications appear at top_right regardless +theme.notification_border_width = 0 +theme.notification_border_radius = theme.border_radius +theme.notification_border_color = xcolor10 +theme.notification_bg = xbackground +theme.notification_fg = xcolor7 +theme.notification_crit_bg = urgent_color +theme.notification_crit_fg = xcolor0 +theme.notification_icon_size = dpi(60) +-- theme.notification_height = dpi(80) +-- theme.notification_width = dpi(300) +theme.notification_margin = dpi(15) +theme.notification_opacity = 1 +theme.notification_font = theme.font +theme.notification_padding = theme.screen_margin * 2 +theme.notification_spacing = theme.screen_margin * 2 + +-- Edge snap +theme.snap_bg = theme.bg_focus +if theme.border_width == 0 then + theme.snap_border_width = dpi(8) +else + theme.snap_border_width = theme.border_width * 2 +end +-- Doesnt work with 4.2, need awesome-git? +--theme.snapper_gap = theme.useless_gap + +-- Tag names +theme.tagnames = { + "1", -- tag 1 + "2", -- tag 2 + "3", -- tag 3 + "4", -- tag 4 + "5", -- tag 5 + "6", -- tag 6 + "7", -- tag 7 + "8", -- tag 8 + "9", -- tag 9 + "10" -- tag 10 +} + +-- Widget separator +theme.separator_text = "|" +--theme.separator_text = " :: " +--theme.separator_text = " • " +-- theme.separator_text = " •• " +theme.separator_fg = xcolor8 + +-- Wibar(s) +-- (Bar items can be customized in bars.lua) +theme.wibar_position = "bottom" +theme.wibar_detached = false +theme.wibar_height = dpi(45) +theme.wibar_fg = xcolor7 +theme.wibar_bg = xcolor0 .. "00" +--theme.wibar_opacity = 0.7 +theme.wibar_border_color = xcolor0 +theme.wibar_border_width = 0 +theme.wibar_border_radius = 0 +theme.wibar_border_radius = theme.border_radius +--theme.wibar_width = screen_width - theme.screen_margin * 4 -theme.wibar_border_width * 2 +theme.wibar_width = 620 +--theme.wibar_x = screen_width / 2 - theme.wibar_width - theme.screen_margin * 2 +--theme.wibar_x = theme.screen_margin * 2 +--theme.wibar_x = screen_width - theme.wibar_width - theme.wibar_border_width * 2 - theme.screen_margin * 2 +--theme.wibar_y = theme.screen_margin * 2 + +-- Widgets +theme.prefix_fg = xcolor8 + + --There are other variable sets + --overriding the default one when + --defined, the sets are: + --taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] + --tasklist_[bg|fg]_[focus|urgent] + --titlebar_[bg|fg]_[normal|focus] + --tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] + --mouse_finder_[color|timeout|animate_timeout|radius|factor] + --prompt_[fg|bg|fg_cursor|bg_cursor|font] + --hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] + --Example: +--theme.taglist_bg_focus = "#ff0000" + + --Tasklist +theme.tasklist_disable_icon = true +theme.tasklist_plain_task_name = true +theme.tasklist_bg_focus = xcolor0 .. "00" +theme.tasklist_fg_focus = focused_color +theme.tasklist_bg_normal = xcolor0 .. "00" +theme.tasklist_fg_normal = unfocused_color +theme.tasklist_bg_minimize = xcolor0 .. "00" +theme.tasklist_fg_minimize = theme.fg_minimize +theme.tasklist_bg_urgent = xcolor0 .. "00" +theme.tasklist_fg_urgent = urgent_color +theme.tasklist_spacing = 5 +theme.tasklist_align = "center" + +-- Sidebar +-- (Sidebar items can be customized in sidebar.lua) +theme.sidebar_bg = xbackground +theme.sidebar_bg_alt = xcolor0 +theme.sidebar_fg = xcolor7 +theme.sidebar_opacity = 1 +theme.sidebar_position = "left" -- left or right +theme.sidebar_width = 300 +theme.sidebar_height = screen_height +theme.sidebar_y = 0 +theme.sidebar_border_radius = 0 +theme.sidebar_hide_on_mouse_leave = true +theme.sidebar_show_on_mouse_edge = true + +-- Exit screen +theme.exit_screen_bg = xcolor0 .. "CC" +theme.exit_screen_fg = xcolor7 +theme.exit_screen_font = "sans 14" +theme.exit_screen_icon_size = 140 + +-- Other icons (mostly used in sidebar and menu) +theme.playerctl_toggle_icon = icon_path .. "playerctl_toggle.png" +theme.playerctl_prev_icon = icon_path .. "playerctl_prev.png" +theme.playerctl_next_icon = icon_path .. "playerctl_next.png" +theme.stats_icon = icon_path .. "stats.png" +theme.search_icon = icon_path .. "search.png" +theme.volume_icon = icon_path .. "volume.png" +theme.muted_icon = icon_path .. "muted.png" +theme.mpd_icon = icon_path .. "mpd.png" +theme.firefox_icon = icon_path .. "firefox.png" +theme.youtube_icon = icon_path .. "youtube.png" +theme.reddit_icon = icon_path .. "reddit.png" +theme.discord_icon = icon_path .. "discord.png" +theme.telegram_icon = icon_path .. "telegram.png" +theme.steam_icon = icon_path .. "steam.png" +theme.lutris_icon = icon_path .. "lutris.png" +theme.files_icon = icon_path .. "files.png" +theme.manual_icon = icon_path .. "manual.png" +theme.keyboard_icon = icon_path .. "keyboard.png" +theme.appearance_icon = icon_path .. "appearance.png" +theme.editor_icon = icon_path .. "editor.png" +theme.gimp_icon = icon_path .. "gimp.png" +theme.terminal_icon = icon_path .. "terminal.png" +theme.mail_icon = icon_path .. "mail.png" +theme.music_icon = icon_path .. "music.png" +theme.temperature_icon = icon_path .. "temperature.png" +theme.battery_icon = icon_path .. "battery.png" +theme.battery_charging_icon = icon_path .. "battery_charging.png" +theme.cpu_icon = icon_path .. "cpu.png" +theme.compositor_icon = icon_path .. "compositor.png" +theme.sidebar_icon = icon_path .. "sidebar.png" +theme.ram_icon = icon_path .. "ram.png" +theme.screenshot_icon = icon_path .. "screenshot.png" +theme.home_icon = icon_path .. "home.png" + +-- Weather icons +theme.cloud_icon = weather_icon_path .. "cloud.png" +theme.dcloud_icon = weather_icon_path .. "dcloud.png" +theme.ncloud_icon = weather_icon_path .. "ncloud.png" +theme.sun_icon = weather_icon_path .. "sun.png" +theme.star_icon = weather_icon_path .. "star.png" +theme.rain_icon = weather_icon_path .. "rain.png" +theme.snow_icon = weather_icon_path .. "snow.png" +theme.mist_icon = weather_icon_path .. "mist.png" +theme.storm_icon = weather_icon_path .. "storm.png" +theme.whatever_icon = weather_icon_path .. "whatever.png" + +-- Exit screen icons +theme.exit_icon = icon_path .. "exit.png" +theme.poweroff_icon = icon_path .. "poweroff.png" +theme.reboot_icon = icon_path .. "reboot.png" +theme.suspend_icon = icon_path .. "suspend.png" +theme.lock_icon = icon_path .. "lock.png" +-- theme.hibernate_icon = icon_path .. "hibernate.png" + +-- Icon taglist +local ntags = 10 +theme.taglist_icons_empty = {} +theme.taglist_icons_occupied = {} +theme.taglist_icons_focused = {} +theme.taglist_icons_urgent = {} +-- table.insert(tag_icons, tag) +for i = 1, ntags do + theme.taglist_icons_empty[i] = taglist_icon_path .. tostring(i) .. "_empty.png" + theme.taglist_icons_occupied[i] = taglist_icon_path .. tostring(i) .. "_occupied.png" + theme.taglist_icons_focused[i] = taglist_icon_path .. tostring(i) .. "_focused.png" + theme.taglist_icons_urgent[i] = taglist_icon_path .. tostring(i) .. "_urgent.png" +end + +-- Prompt +theme.prompt_fg = accent_color + +-- Text Taglist +theme.taglist_font = "Iosevka Nerd Font 12" +-- theme.taglist_font = theme.font +theme.taglist_bg_focus = xcolor0 .. "00" +theme.taglist_fg_focus = xcolor14 +theme.taglist_bg_occupied = xcolor0 .. "00" +theme.taglist_fg_occupied = xcolor4 +theme.taglist_bg_empty = xcolor0 .. "00" +theme.taglist_fg_empty = xcolor8 +theme.taglist_bg_urgent = xcolor0 .. "00" +theme.taglist_fg_urgent = urgent_color +theme.taglist_disable_icon = true +theme.taglist_spacing = dpi(0) +--theme.taglist_item_roundness = 0 +theme.taglist_item_roundness = theme.border_radius +-- Generate taglist squares: +local taglist_square_size = dpi(0) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_focus +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Variables set for theming the menu: +theme.menu_submenu_icon = icon_path.."submenu.png" +theme.menu_height = dpi(35) +theme.menu_width = dpi(180) +theme.menu_bg_normal = xcolor0 +theme.menu_fg_normal= xcolor7 +theme.menu_bg_focus = xcolor8 .. "55" +theme.menu_fg_focus= xcolor7 +theme.menu_border_width = 0 +theme.menu_border_color = xcolor0 + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Titlebar buttons +-- Define the images to load +theme.titlebar_close_button_normal = tip .. "close_normal.svg" +theme.titlebar_close_button_focus = tip .. "close_focus.svg" +theme.titlebar_minimize_button_normal = tip .. "minimize_normal.svg" +theme.titlebar_minimize_button_focus = tip .. "minimize_focus.svg" +theme.titlebar_ontop_button_normal_inactive = tip .. "ontop_normal_inactive.svg" +theme.titlebar_ontop_button_focus_inactive = tip .. "ontop_focus_inactive.svg" +theme.titlebar_ontop_button_normal_active = tip .. "ontop_normal_active.svg" +theme.titlebar_ontop_button_focus_active = tip .. "ontop_focus_active.svg" +theme.titlebar_sticky_button_normal_inactive = tip .. "sticky_normal_inactive.svg" +theme.titlebar_sticky_button_focus_inactive = tip .. "sticky_focus_inactive.svg" +theme.titlebar_sticky_button_normal_active = tip .. "sticky_normal_active.svg" +theme.titlebar_sticky_button_focus_active = tip .. "sticky_focus_active.svg" +theme.titlebar_floating_button_normal_inactive = tip .. "floating_normal_inactive.svg" +theme.titlebar_floating_button_focus_inactive = tip .. "floating_focus_inactive.svg" +theme.titlebar_floating_button_normal_active = tip .. "floating_normal_active.svg" +theme.titlebar_floating_button_focus_active = tip .. "floating_focus_active.svg" +theme.titlebar_maximized_button_normal_inactive = tip .. "maximized_normal_inactive.svg" +theme.titlebar_maximized_button_focus_inactive = tip .. "maximized_focus_inactive.svg" +theme.titlebar_maximized_button_normal_active = tip .. "maximized_normal_active.svg" +theme.titlebar_maximized_button_focus_active = tip .. "maximized_focus_active.svg" +-- (hover) +theme.titlebar_close_button_normal_hover = tip .. "close_normal_hover.svg" +theme.titlebar_close_button_focus_hover = tip .. "close_focus_hover.svg" +theme.titlebar_minimize_button_normal_hover = tip .. "minimize_normal_hover.svg" +theme.titlebar_minimize_button_focus_hover = tip .. "minimize_focus_hover.svg" +theme.titlebar_ontop_button_normal_inactive_hover = tip .. "ontop_normal_inactive_hover.svg" +theme.titlebar_ontop_button_focus_inactive_hover = tip .. "ontop_focus_inactive_hover.svg" +theme.titlebar_ontop_button_normal_active_hover = tip .. "ontop_normal_active_hover.svg" +theme.titlebar_ontop_button_focus_active_hover = tip .. "ontop_focus_active_hover.svg" +theme.titlebar_sticky_button_normal_inactive_hover = tip .. "sticky_normal_inactive_hover.svg" +theme.titlebar_sticky_button_focus_inactive_hover = tip .. "sticky_focus_inactive_hover.svg" +theme.titlebar_sticky_button_normal_active_hover = tip .. "sticky_normal_active_hover.svg" +theme.titlebar_sticky_button_focus_active_hover = tip .. "sticky_focus_active_hover.svg" +theme.titlebar_floating_button_normal_inactive_hover = tip .. "floating_normal_inactive_hover.svg" +theme.titlebar_floating_button_focus_inactive_hover = tip .. "floating_focus_inactive_hover.svg" +theme.titlebar_floating_button_normal_active_hover = tip .. "floating_normal_active_hover.svg" +theme.titlebar_floating_button_focus_active_hover = tip .. "floating_focus_active_hover.svg" +theme.titlebar_maximized_button_normal_inactive_hover = tip .. "maximized_normal_inactive_hover.svg" +theme.titlebar_maximized_button_focus_inactive_hover = tip .. "maximized_focus_inactive_hover.svg" +theme.titlebar_maximized_button_normal_active_hover = tip .. "maximized_normal_active_hover.svg" +theme.titlebar_maximized_button_focus_active_hover = tip .. "maximized_focus_active_hover.svg" + +-- You can use your own layout icons like this: +theme.layout_fairh = layout_icon_path .. "fairh.png" +theme.layout_fairv = layout_icon_path .. "fairv.png" +theme.layout_floating = layout_icon_path .. "floating.png" +theme.layout_magnifier = layout_icon_path .. "magnifier.png" +theme.layout_max = layout_icon_path .. "max.png" +theme.layout_fullscreen = layout_icon_path .. "fullscreen.png" +theme.layout_tilebottom = layout_icon_path .. "tilebottom.png" +theme.layout_tileleft = layout_icon_path .. "tileleft.png" +theme.layout_tile = layout_icon_path .. "tile.png" +theme.layout_tiletop = layout_icon_path .. "tiletop.png" +theme.layout_spiral = layout_icon_path .. "spiral.png" +theme.layout_dwindle = layout_icon_path .. "dwindle.png" +theme.layout_cornernw = layout_icon_path .. "cornernw.png" +theme.layout_cornerne = layout_icon_path .. "cornerne.png" +theme.layout_cornersw = layout_icon_path .. "cornersw.png" +theme.layout_cornerse = layout_icon_path .. "cornerse.png" + +-- Recolor layout icons +--theme = theme_assets.recolor_layout(theme, xcolor1) + +-- Noodle widgets customization -- +-- Desktop mode widget variables +-- Symbols    +-- theme.desktop_mode_color_floating = xcolor4 +-- theme.desktop_mode_color_tile = xcolor3 +-- theme.desktop_mode_color_max = xcolor1 +-- theme.desktop_mode_text_floating = "f" +-- theme.desktop_mode_text_tile = "t" +-- theme.desktop_mode_text_max = "m" + +-- Minimal tasklist widget variables +theme.minimal_tasklist_visible_clients_color = focused_color +theme.minimal_tasklist_visible_clients_text = "+ " +theme.minimal_tasklist_hidden_clients_color = xcolor8 +theme.minimal_tasklist_hidden_clients_text = " - " + +-- Mpd song +theme.mpd_song_title_color = xcolor7 +theme.mpd_song_artist_color = xcolor7 +theme.mpd_song_paused_color = xcolor8 + +-- Volume bar +theme.volume_bar_active_color = xcolor6 +theme.volume_bar_active_background_color = xcolor6 .. "33" +theme.volume_bar_muted_color = xcolor8 +theme.volume_bar_muted_background_color = xcolor8 .. "33" + +-- Temperature bar +theme.temperature_bar_active_color = xcolor1 +theme.temperature_bar_background_color = xcolor1 .. "33" + +-- Battery bar +theme.battery_bar_active_color = xcolor5 +theme.battery_bar_background_color = xcolor5 .. "33" + +-- CPU bar +theme.cpu_bar_active_color = xcolor2 +theme.cpu_bar_background_color = xcolor2 .. "33" + +-- RAM bar +theme.ram_bar_active_color = xcolor12 +theme.ram_bar_background_color = xcolor12 .. "33" + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = "/usr/share/icons/Numix" + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/config/awesome/themes/lovelace/titlebar/close_focus.svg b/config/awesome/themes/lovelace/titlebar/close_focus.svg new file mode 100644 index 0000000..cc0afd8 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/close_focus.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/close_focus_hover.svg b/config/awesome/themes/lovelace/titlebar/close_focus_hover.svg new file mode 100644 index 0000000..1b36690 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/close_focus_hover.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/close_normal.svg b/config/awesome/themes/lovelace/titlebar/close_normal.svg new file mode 100644 index 0000000..23bc06b --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/close_normal.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/close_normal_hover.svg b/config/awesome/themes/lovelace/titlebar/close_normal_hover.svg new file mode 100644 index 0000000..1b36690 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/close_normal_hover.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_focus_active.svg b/config/awesome/themes/lovelace/titlebar/floating_focus_active.svg new file mode 100644 index 0000000..02d847a --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_focus_active.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_focus_active_hover.svg b/config/awesome/themes/lovelace/titlebar/floating_focus_active_hover.svg new file mode 100644 index 0000000..0d6f5a4 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_focus_active_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_focus_inactive.svg b/config/awesome/themes/lovelace/titlebar/floating_focus_inactive.svg new file mode 100644 index 0000000..02d847a --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_focus_inactive.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_focus_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/floating_focus_inactive_hover.svg new file mode 100644 index 0000000..0d6f5a4 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_focus_inactive_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_normal_active.svg b/config/awesome/themes/lovelace/titlebar/floating_normal_active.svg new file mode 100644 index 0000000..0bfa73b --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_normal_active.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_normal_active_hover.svg b/config/awesome/themes/lovelace/titlebar/floating_normal_active_hover.svg new file mode 100644 index 0000000..0d6f5a4 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_normal_active_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_normal_inactive.svg b/config/awesome/themes/lovelace/titlebar/floating_normal_inactive.svg new file mode 100644 index 0000000..0bfa73b --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_normal_inactive.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/floating_normal_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/floating_normal_inactive_hover.svg new file mode 100644 index 0000000..0d6f5a4 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/floating_normal_inactive_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_focus_active.svg b/config/awesome/themes/lovelace/titlebar/maximized_focus_active.svg new file mode 100644 index 0000000..ea482a0 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_focus_active.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_focus_active_hover.svg b/config/awesome/themes/lovelace/titlebar/maximized_focus_active_hover.svg new file mode 100644 index 0000000..8ae8898 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_focus_active_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_focus_inactive.svg b/config/awesome/themes/lovelace/titlebar/maximized_focus_inactive.svg new file mode 100644 index 0000000..ea482a0 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_focus_inactive.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_focus_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/maximized_focus_inactive_hover.svg new file mode 100644 index 0000000..8ae8898 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_focus_inactive_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_normal_active.svg b/config/awesome/themes/lovelace/titlebar/maximized_normal_active.svg new file mode 100644 index 0000000..253c259 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_normal_active.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_normal_active_hover.svg b/config/awesome/themes/lovelace/titlebar/maximized_normal_active_hover.svg new file mode 100644 index 0000000..8ae8898 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_normal_active_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_normal_inactive.svg b/config/awesome/themes/lovelace/titlebar/maximized_normal_inactive.svg new file mode 100644 index 0000000..253c259 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_normal_inactive.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/maximized_normal_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/maximized_normal_inactive_hover.svg new file mode 100644 index 0000000..8ae8898 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/maximized_normal_inactive_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/minimize_focus.svg b/config/awesome/themes/lovelace/titlebar/minimize_focus.svg new file mode 100644 index 0000000..5ab83d3 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/minimize_focus.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/minimize_focus_hover.svg b/config/awesome/themes/lovelace/titlebar/minimize_focus_hover.svg new file mode 100644 index 0000000..4c398ce --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/minimize_focus_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/minimize_normal.svg b/config/awesome/themes/lovelace/titlebar/minimize_normal.svg new file mode 100644 index 0000000..eeee053 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/minimize_normal.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/minimize_normal_hover.svg b/config/awesome/themes/lovelace/titlebar/minimize_normal_hover.svg new file mode 100644 index 0000000..4c398ce --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/minimize_normal_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_focus_active.svg b/config/awesome/themes/lovelace/titlebar/ontop_focus_active.svg new file mode 100644 index 0000000..8f35879 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_focus_active.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_focus_active_hover.svg b/config/awesome/themes/lovelace/titlebar/ontop_focus_active_hover.svg new file mode 100644 index 0000000..7deb8f9 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_focus_active_hover.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_focus_inactive.svg b/config/awesome/themes/lovelace/titlebar/ontop_focus_inactive.svg new file mode 100644 index 0000000..8f35879 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_focus_inactive.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_focus_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/ontop_focus_inactive_hover.svg new file mode 100644 index 0000000..7deb8f9 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_focus_inactive_hover.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_normal_active.svg b/config/awesome/themes/lovelace/titlebar/ontop_normal_active.svg new file mode 100644 index 0000000..1f43790 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_normal_active.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_normal_active_hover.svg b/config/awesome/themes/lovelace/titlebar/ontop_normal_active_hover.svg new file mode 100644 index 0000000..7deb8f9 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_normal_active_hover.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_normal_inactive.svg b/config/awesome/themes/lovelace/titlebar/ontop_normal_inactive.svg new file mode 100644 index 0000000..1f43790 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_normal_inactive.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/ontop_normal_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/ontop_normal_inactive_hover.svg new file mode 100644 index 0000000..7deb8f9 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/ontop_normal_inactive_hover.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_focus_active.svg b/config/awesome/themes/lovelace/titlebar/sticky_focus_active.svg new file mode 100644 index 0000000..519f4d9 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_focus_active.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_focus_active_hover.svg b/config/awesome/themes/lovelace/titlebar/sticky_focus_active_hover.svg new file mode 100644 index 0000000..c038b96 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_focus_active_hover.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_focus_inactive.svg b/config/awesome/themes/lovelace/titlebar/sticky_focus_inactive.svg new file mode 100644 index 0000000..519f4d9 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_focus_inactive.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_focus_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/sticky_focus_inactive_hover.svg new file mode 100644 index 0000000..c038b96 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_focus_inactive_hover.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_normal_active.svg b/config/awesome/themes/lovelace/titlebar/sticky_normal_active.svg new file mode 100644 index 0000000..02d8a45 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_normal_active.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_normal_active_hover.svg b/config/awesome/themes/lovelace/titlebar/sticky_normal_active_hover.svg new file mode 100644 index 0000000..c038b96 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_normal_active_hover.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_normal_inactive.svg b/config/awesome/themes/lovelace/titlebar/sticky_normal_inactive.svg new file mode 100644 index 0000000..02d8a45 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_normal_inactive.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/titlebar/sticky_normal_inactive_hover.svg b/config/awesome/themes/lovelace/titlebar/sticky_normal_inactive_hover.svg new file mode 100644 index 0000000..c038b96 --- /dev/null +++ b/config/awesome/themes/lovelace/titlebar/sticky_normal_inactive_hover.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/config/awesome/themes/lovelace/weather/cloud.png b/config/awesome/themes/lovelace/weather/cloud.png new file mode 100644 index 0000000..da44c56 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/cloud.png differ diff --git a/config/awesome/themes/lovelace/weather/dcloud.png b/config/awesome/themes/lovelace/weather/dcloud.png new file mode 100644 index 0000000..f5527d0 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/dcloud.png differ diff --git a/config/awesome/themes/lovelace/weather/mist.png b/config/awesome/themes/lovelace/weather/mist.png new file mode 100644 index 0000000..1a0c0d0 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/mist.png differ diff --git a/config/awesome/themes/lovelace/weather/ncloud.png b/config/awesome/themes/lovelace/weather/ncloud.png new file mode 100644 index 0000000..e7b8677 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/ncloud.png differ diff --git a/config/awesome/themes/lovelace/weather/rain.png b/config/awesome/themes/lovelace/weather/rain.png new file mode 100644 index 0000000..0e243bb Binary files /dev/null and b/config/awesome/themes/lovelace/weather/rain.png differ diff --git a/config/awesome/themes/lovelace/weather/snow.png b/config/awesome/themes/lovelace/weather/snow.png new file mode 100644 index 0000000..9c983d0 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/snow.png differ diff --git a/config/awesome/themes/lovelace/weather/star.png b/config/awesome/themes/lovelace/weather/star.png new file mode 100644 index 0000000..a644ef2 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/star.png differ diff --git a/config/awesome/themes/lovelace/weather/storm.png b/config/awesome/themes/lovelace/weather/storm.png new file mode 100644 index 0000000..6b9fbe7 Binary files /dev/null and b/config/awesome/themes/lovelace/weather/storm.png differ diff --git a/config/awesome/themes/lovelace/weather/sun.png b/config/awesome/themes/lovelace/weather/sun.png new file mode 100644 index 0000000..2cba44f Binary files /dev/null and b/config/awesome/themes/lovelace/weather/sun.png differ diff --git a/config/awesome/themes/lovelace/weather/whatever.png b/config/awesome/themes/lovelace/weather/whatever.png new file mode 100644 index 0000000..45b90ea Binary files /dev/null and b/config/awesome/themes/lovelace/weather/whatever.png differ diff --git a/config/rofi/colors.rasi b/config/rofi/colors.rasi new file mode 100644 index 0000000..869f4a1 --- /dev/null +++ b/config/rofi/colors.rasi @@ -0,0 +1,20 @@ +* { + xbg: #1D1F28; + xfg: #FDFDFD; + x0: #282A36; + x1: #F37F97; + x2: #5ADECD; + x3: #F2A272; + x4: #8897F4; + x5: #C574DD; + x6: #79E6F3; + x7: #FDFDFD; + x8: #414458; + x9: #FF4971; + x10: #18E3C8; + x11: #FF8037; + x12: #556FFF; + x13: #B043D1; + x14: #3FDCEE; + x15: #FDFDFD; +} diff --git a/config/rofi/config.rasi b/config/rofi/config.rasi new file mode 100644 index 0000000..56d3bd9 --- /dev/null +++ b/config/rofi/config.rasi @@ -0,0 +1,208 @@ +@import "colors.rasi" + +configuration { + modi: "combi,windowcd,run"; + lines: 10; + columns: 2; + font: "sans 13"; + bw: 0; + location: 0; + padding: 0; + fixed-num-lines: true; + show-icons: false; + sidebar-mode: true; + combi-modi: "window,run"; + separator-style: "none"; + hide-scrollbar: true; + fullscreen: false; + fake-transparency: false; + scroll-method: 1; + window-format: "[{w}] ·· {c} ·· {t}"; + click-to-exit: true; + show-match: false; + color-normal: "@xbg, @xfg, @xbg, @xfg, @xbg"; + color-urgent: "@xbg, @x1, @xbg, @x1, @xfg"; + color-active: "@xbg, @xfg, @xbg, @xfg, @xbg"; + color-window: "@xbg, @x1, @xfg"; + combi-hide-mode-prefix: false; + display-window: ""; + display-windowcd: ""; + display-run: ""; + display-ssh: ""; + display-drun: ""; + display-combi: ""; + kb-remove-word-back: "Control+BackSpace,Alt+d,Alt+BackSpace"; + kb-accept-entry: "Control+m,Return,KP_Enter,Alt+m"; + kb-mode-next: "Shift+Right,Control+Tab,Alt+l,Alt+Tab"; + kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab,Alt+h"; + kb-row-left: "Control+Page_Up,Control+Alt+h"; + kb-row-right: "Control+Page_Down,Control+Alt+l"; + kb-row-up: "Up,Control+p,ISO_Left_Tab,Alt+k"; + kb-row-down: "Down,Control+n,Alt+j"; + kb-select-1: ""; + kb-select-2: ""; + kb-select-3: ""; + kb-select-4: ""; + kb-select-5: ""; + kb-select-6: ""; + kb-select-7: ""; + kb-select-8: ""; + kb-select-9: ""; + kb-select-10: ""; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + me-accept-custom: "MouseMiddle"; +} +* { + selected-normal-foreground: rgba ( 52, 60, 72, 100 % ); + foreground: rgba ( 224, 224, 224, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: rgba ( 52, 60, 72, 100 % ); + red: rgba ( 220, 50, 47, 100 % ); + selected-urgent-foreground: rgba ( 224, 224, 224, 100 % ); + blue: rgba ( 38, 139, 210, 100 % ); + urgent-foreground: rgba ( 240, 98, 146, 100 % ); + alternate-urgent-background: rgba ( 52, 60, 72, 100 % ); + active-foreground: rgba ( 224, 224, 224, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 52, 60, 72, 100 % ); + alternate-active-background: rgba ( 52, 60, 72, 100 % ); + background: rgba ( 52, 60, 72, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: rgba ( 52, 60, 72, 100 % ); + lightfg: rgba ( 88, 104, 117, 100 % ); + selected-normal-background: rgba ( 224, 224, 224, 100 % ); + border-color: rgba ( 240, 98, 146, 100 % ); + spacing: 2; + separatorcolor: rgba ( 224, 224, 224, 100 % ); + urgent-background: rgba ( 52, 60, 72, 100 % ); + selected-urgent-background: rgba ( 240, 98, 146, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + alternate-active-foreground: @active-foreground; + active-background: rgba ( 52, 60, 72, 100 % ); + selected-active-background: rgba ( 224, 224, 224, 100 % ); +} +window { + background-color: @xbg; + border: 0; + border-color: @x14; + border-radius: 12px; + padding: 40; + width: 50%; + height: 50%; +} +mainbox { + border: 0; + border-color: @x0; + padding: 6; +} +message { + border: 0px; + border-color: @x6; + padding: 1px; +} +textbox { + text-color: @xfg; +} +listview { + fixed-height: 0; + border: 0px; + border-color: @x6; + spacing: 2px; + scrollbar: false; + padding: 2px 0px 0px; +} +element { + border: 0; + padding: 1px; +} +element normal.normal { + background-color: rgba (0,0,0,0%); + text-color: @xfg; +} +element normal.urgent { + background-color: rgba (0,0,0,0%); + text-color: @x9; +} +element normal.active { + background-color: rgba (0,0,0,0%); + text-color: @x5; +} +element selected.normal { + background-color: rgba (0,0,0,0%); + text-color: @x13; +} +element selected.urgent { + background-color: rgba (0,0,0,0%); + text-color: @x13; +} +element selected.active { + background-color: rgba (0,0,0,0%); + text-color: @x13; +} +element alternate.normal { + background-color: rgba (0,0,0,0%); + text-color: @xfg; +} +element alternate.urgent { + background-color: rgba (0,0,0,0%); + text-color: @x9; +} +element alternate.active { + background-color: rgba (0,0,0,0%); + text-color: @x5; +} +scrollbar { + width: 4px ; + border: 0; + handle-color: @xfg; + handle-width: 8px ; + padding: 0; +} +sidebar { + border: 0px; + border-color: @x4; + border-radius: 20px; +} +button { + margin: 5px; + padding: 5px; + background-color: @xbg; + text-color: @x8; + border: 0px; + border-radius: 20px; + border-color: @x8; +} +button selected { + background-color: @xbg; + text-color: @x7; + border: 3px; + border-radius: 20px; + border-color: @x7; +} +inputbar { + spacing: 0px ; + text-color: @xfg; + padding: 1px ; + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +case-indicator { + spacing: 0; + text-color: @xfg; +} +entry { + spacing: 0; + text-color: @xfg; +} +prompt { + spacing: 0; + border: 0; + text-color: @xfg; +} +textbox-prompt-colon { + expand: false; + str: " "; + margin: 0px 0.3000em 0.0000em 0.0000em ; + text-color: inherit; +} diff --git a/previews/manta.png b/previews/manta.png new file mode 100644 index 0000000..6179bbe Binary files /dev/null and b/previews/manta.png differ diff --git a/previews/reasons.png b/previews/reasons.png new file mode 100644 index 0000000..8595742 Binary files /dev/null and b/previews/reasons.png differ