diff --git a/.Xresources b/.Xresources
deleted file mode 100644
index 85e866c..0000000
--- a/.Xresources
+++ /dev/null
@@ -1,38 +0,0 @@
-*background: #24273A
-*foreground: #CAD3F5
-
-! black
-*color0: #494D64
-*color8: #5B6078
-
-! red
-*color1: #ED8796
-*color9: #ED8796
-
-! green
-*color2: #A6DA95
-*color10: #A6DA95
-
-! yellow
-*color3: #EED49F
-*color11: #EED49F
-
-! blue
-*color4: #8AADF4
-*color12: #8AADF4
-
-! magenta
-*color5: #F5BDE6
-*color13: #F5BDE6
-
-! cyan
-*color6: #8BD5CA
-*color14: #8BD5CA
-
-! white
-*color7: #B8C0E0
-*color15: #A5ADCB
-
-! Make Rofi use fish shell
-rofi.run-command: fish -c '{cmd}'
-rofi.run-list-command: 'fish -c functions'
diff --git a/.config/.fehbg b/.config/.fehbg
deleted file mode 100755
index 2860bc2..0000000
--- a/.config/.fehbg
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-feh --no-fehbg --bg-fill '/home/marley/data/photos/wallpaper/city.png'
diff --git a/.config/awesome/.luarc.json b/.config/awesome/.luarc.json
deleted file mode 100644
index 90910e5..0000000
--- a/.config/awesome/.luarc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
- "diagnostics.globals": ["awesome", "client", "button", "dbus", "drawable", "drawin", "key", "keygrabber", "mousegrabber", "root", "selection", "tag", "window", "table.unpack", "unpack", "math.atan2", "jit", "pack", "mouse", "screen", "nlog", "log", "context"],
- "workspace.library": ["/usr/share/awesome/lib/", "/usr/share/lua/5.4/"]
-}
diff --git a/.config/awesome/config.lua b/.config/awesome/config.lua
deleted file mode 100644
index d054a6e..0000000
--- a/.config/awesome/config.lua
+++ /dev/null
@@ -1,102 +0,0 @@
-local config_dir = require("gears.filesystem").get_configuration_dir()
-
-local M = {}
-
-M.keys = {
- mod = "Mod4",
- alt = "Mod1",
-}
-
-M.apps = {
- terminal = "wezterm",
- launcher = "rofi -show drun",
- browser = "firefox",
- file_manager = "thunar",
- editor = os.getenv("EDITOR") or "nvim",
-}
-
-M.apps.start_editor = M.apps.terminal .. "-e" .. M.apps.editor
-M.apps.music_player = M.apps.terminal .. "--class music -e ncmpcpp"
-
-M.theme = {
- flavor = "macchiato",
- accent1 = "pink",
- accent2 = "rosewater",
- -- wallpaper = config_dir .. "themes/catppuccin/buttons.png",
- wallpaper = "~/data/photos/wallpaper/city.png",
- pfp = config_dir .. "themes/catppuccin/assets/pfp.jpg",
- icon_theme = "Papirus",
- font = {
- family = "FairiesevkaSans Nerd Font Propo",
- size = "10",
- },
-}
-
-M.icons = {
- menu = "",
- power = "",
- restart = "",
- sleep = "",
- exit = "",
- lock = "",
- music = {
- next = "",
- prev = "",
- pause = "",
- play = "",
- },
- tags = {
- general = " ",
- files = " ",
- media = " ",
- terminal = " ",
- coding = " ",
- misc = " ",
- },
- cal = "",
- clock = "",
- arr = {
- r = "»",
- l = "«",
- },
- vol = {
- on = "",
- off = "",
- low = "",
- med = "",
- high = "",
- },
- mem = "",
- cpu = "",
- disk = "",
-}
-
-M.widget = {}
-
-M.widget.clock = {
- format = "%I:%M %p",
-}
-
-M.widget.date = {
- format = "%a %b %d",
-}
-
-M.widget.weather = {
- api_key = "e894c3e6c1a9d2217eee94791e845c96",
- coordinates = { lat = "47.773140", lon = "-122.303660" },
- units = "imperial",
-}
-
-M.widget.github = {
- username = "punkfairie",
-}
-
-M.widget.mic = {
- name = "",
-}
-
-M.widget.disk = {
- name = "/dev/sdb3",
-}
-
-return M
diff --git a/.config/awesome/helpers/init.lua b/.config/awesome/helpers/init.lua
deleted file mode 100644
index 35cc365..0000000
--- a/.config/awesome/helpers/init.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-return {
- ui = require("helpers.ui"),
-}
diff --git a/.config/awesome/helpers/ui.lua b/.config/awesome/helpers/ui.lua
deleted file mode 100644
index be852bf..0000000
--- a/.config/awesome/helpers/ui.lua
+++ /dev/null
@@ -1,188 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local gshape = require("gears.shape")
-local gmatrix = require("gears.matrix")
-local beautiful = require("beautiful")
-
-local capi = { mouse = mouse }
-local theme = beautiful.get()
-
-local ui = {}
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
----Set text color
----@param text string
----@param color string
----@return string
-function ui.colorize_text(text, color)
- return "" .. text .. ""
-end
-
----Change a font attribute
----@param attr string attribute(s) to add, e.g. "Bold 16"
----@param font? string base font to use, for use in the theme file itself
----@return string
-function ui.set_font(attr, font)
- font = font or theme.font
-
- return beautiful.get_merged_font(font, attr):to_string()
-end
-
----Create an icon widget
----@param i string the icon
----@param c string the icon's color
----@return table widget the widget
-function ui.create_icon(i, c)
- local widget = {
- {
- font = ui.set_font("12.5"),
- text = " " .. i,
- widget = wibox.widget.textbox,
- },
- fg = c,
- widget = wibox.container.background,
- }
- return widget
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
----Change cursor on hovering
----@param w any widget to change cursor on
----@param hover_cursor string cursor to change to
-function ui.add_hover_cursor(w, hover_cursor)
- local original_cursor = "left_ptr"
-
- w:connect_signal("mouse::enter", function()
- local widget = capi.mouse.current_wibox
- if widget then
- widget.cursor = hover_cursor
- end
- end)
-
- w:connect_signal("mouse::leave", function()
- local widget = capi.mouse.current_wibox
- if widget then
- widget.cursor = original_cursor
- end
- end)
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.vertical_pad(height)
- return wibox.widget({
- forced_height = height,
- layout = wibox.layout.fixed.vertical,
- })
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.horizontal_pad(width)
- return wibox.widget({
- forced_width = width,
- layout = wibox.layout.fixed.horizontal,
- })
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.rrect(radius)
- return function(cr, width, height)
- gshape.rounded_rect(cr, width, height, radius)
- end
-end
-
-function ui.pie(width, height, start_angle, end_angle, radius)
- return function(cr)
- gshape.pie(cr, width, height, start_angle, end_angle, radius)
- end
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.prgram(height, base)
- return function(cr, width)
- gshape.parallelogram(cr, width, height, base)
- end
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.prrect(radius, tl, tr, br, bl)
- return function(cr, width, height)
- gshape.partially_rounded_rect(cr, width, height, tl, tr, br, bl, radius)
- end
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.custom_shape(cr, width, height)
- cr:move_to(0, height / 25)
- cr:line_to(height / 25, 0)
- cr:line_to(width, 0)
- cr:line_to(width, height - height / 25)
- cr:line_to(width - height / 25, height)
- cr:line_to(0, height)
- cr:close_path()
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-local function _get_widget_geometry(_hierarchy, widget)
- local width, height = _hierarchy:get_size()
- if _hierarchy:get_widget() == widget then
- -- Get the extents of this widget in the device space
- local x, y, w, h = gmatrix.transform_rectangle(_hierarchy:get_matrix_to_device(), 0, 0, width, height)
- return { x = x, y = y, width = w, height = h, hierarchy = _hierarchy }
- end
-
- for _, child in ipairs(_hierarchy:get_children()) do
- local ret = _get_widget_geometry(child, widget)
- if ret then
- return ret
- end
- end
-end
-
-function ui.get_widget_geometry(_wibox, widget)
- return _get_widget_geometry(_wibox._drawable._widget_hierarchy, widget)
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.screen_mask(s, bg)
- local mask = wibox({
- visible = false,
- ontop = true,
- type = "splash",
- screen = s,
- })
- awful.placement.maximize(mask)
- mask.bg = bg
- return mask
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-function ui.grouping_widget(w1, w2, dpi1)
- local container = wibox.widget({
- w1,
- {
- nil,
- w2,
- expand = "none",
- layout = wibox.layout.flex.vertical,
- },
- spacing = dpi1,
- layout = wibox.layout.fixed.horizontal,
- })
-
- return container
-end
-
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-return ui
diff --git a/.config/awesome/lib/animation/init.lua b/.config/awesome/lib/animation/init.lua
deleted file mode 100644
index fd1500a..0000000
--- a/.config/awesome/lib/animation/init.lua
+++ /dev/null
@@ -1,225 +0,0 @@
--------------------------------------------
--- @author https://github.com/Kasper24
--- @copyright 2021-2022 Kasper24
--------------------------------------------
-
-local GLib = require("lgi").GLib
-local gobject = require("gears.object")
-local gtable = require("gears.table")
-local subscribable = require("lib.animation.subscribable")
-local tween = require("lib.animation.tween")
-local ipairs = ipairs
-local table = table
-local pairs = pairs
-
-local animation_manager = {}
-animation_manager.easing = {
- linear = "linear",
- inQuad = "inQuad",
- outQuad = "outQuad",
- inOutQuad = "inOutQuad",
- outInQuad = "outInQuad",
- inCubic = "inCubic",
- outCubic = "outCubic",
- inOutCubic = "inOutCubic",
- outInCubic = "outInCubic",
- inQuart = "inQuart",
- outQuart = "outQuart",
- inOutQuart = "inOutQuart",
- outInQuart = "outInQuart",
- inQuint = "inQuint",
- outQuint = "outQuint",
- inOutQuint = "inOutQuint",
- outInQuint = "outInQuint",
- inSine = "inSine",
- outSine = "outSine",
- inOutSine = "inOutSine",
- outInSine = "outInSine",
- inExpo = "inExpo",
- outExpo = "outExpo",
- inOutExpo = "inOutExpo",
- outInExpo = "outInExpo",
- inCirc = "inCirc",
- outCirc = "outCirc",
- inOutCirc = "inOutCirc",
- outInCirc = "outInCirc",
- inElastic = "inElastic",
- outElastic = "outElastic",
- inOutElastic = "inOutElastic",
- outInElastic = "outInElastic",
- inBack = "inBack",
- outBack = "outBack",
- inOutBack = "inOutBack",
- outInBack = "outInBack",
- inBounce = "inBounce",
- outBounce = "outBounce",
- inOutBounce = "inOutBounce",
- outInBounce = "outInBounce",
-}
-
-local animation = {}
-
-local instance = nil
-
-local ANIMATION_FRAME_DELAY = 5
-
-local function second_to_micro(sec)
- return sec * 1000000
-end
-
-function animation:start(args)
- args = args or {}
-
- -- Awestoer/Rubbto compatibility
- -- I'd rather this always be a table, but Awestoer/Rubbto
- -- except the :set() method to have 1 number value parameter
- -- used to set the target
- local is_table = type(args) == "table"
- local initial = is_table and (args.pos or self.pos) or self.pos
- local subject = is_table and (args.subject or self.subject) or self.subject
- local target = is_table and (args.target or self.target) or args
- local duration = is_table and (args.duration or self.duration) or self.duration
- local easing = is_table and (args.easing or self.easing) or self.easing
-
- duration = self._private.anim_manager._private.instant == true and 0.01 or duration
-
- if self.tween == nil or self.reset_on_stop == true then
- self.tween = tween.new({
- initial = initial,
- subject = subject,
- target = target,
- duration = second_to_micro(duration),
- easing = easing,
- })
- end
-
- if self._private.anim_manager._private.animations[self.index] == nil then
- table.insert(self._private.anim_manager._private.animations, self)
- end
-
- self.state = true
- self.last_elapsed = GLib.get_monotonic_time()
-
- self.started:fire()
- self:emit_signal("started")
-end
-
-function animation:set(args)
- self:start(args)
- self:emit_signal("set")
-end
-
-function animation:stop()
- self.state = false
- self:emit_signal("stopped")
-end
-
-function animation:abort()
- animation:stop()
- self:emit_signal("aborted")
-end
-
-function animation:initial()
- return self._private.initial
-end
-
-function animation_manager:set_instant(value)
- self._private.instant = value
-end
-
-function animation_manager:new(args)
- args = args or {}
-
- args.pos = args.pos or 0
- args.subject = args.subject or nil
- args.target = args.target or nil
- args.duration = args.duration or 0
- args.easing = args.easing or nil
- args.loop = args.loop or false
- args.signals = args.signals or {}
- args.update = args.update or nil
- args.reset_on_stop = args.reset_on_stop == nil and true or args.reset_on_stop
-
- -- Awestoer/Rubbto compatibility
- args.subscribed = args.subscribed or nil
- local ret = subscribable()
- ret.started = subscribable()
- ret.ended = subscribable()
- if args.subscribed ~= nil then
- ret:subscribe(args.subscribed)
- end
-
- for sig, sigfun in pairs(args.signals) do
- ret:connect_signal(sig, sigfun)
- end
- if args.update ~= nil then
- ret:connect_signal("update", args.update)
- end
-
- gtable.crush(ret, args, true)
- gtable.crush(ret, animation, true)
-
- ret._private = {}
- ret._private.anim_manager = self
- ret._private.initial = args.pos
-
- return ret
-end
-
-local function new()
- local ret = gobject({})
- gtable.crush(ret, animation_manager, true)
-
- ret._private = {}
- ret._private.animations = {}
- ret._private.instant = false
-
- GLib.timeout_add(GLib.PRIORITY_DEFAULT, ANIMATION_FRAME_DELAY, function()
- ---@diagnostic disable-next-line: redefined-local
- for index, animation in ipairs(ret._private.animations) do
- if animation.state == true then
- -- compute delta time
- local time = GLib.get_monotonic_time()
- local delta = time - animation.last_elapsed
- animation.last_elapsed = time
-
- -- If pos is true, the animation has ended
- local pos = animation.tween:update(delta)
- if pos == true then
- -- Loop the animation, don't end it.
- -- Useful for widgets like the spinning cicle
- if animation.loop == true then
- animation.tween:reset()
- else
- -- Snap to end
- animation.pos = animation.tween.target
- animation:fire(animation.pos)
- animation:emit_signal("update", animation.pos)
-
- animation.state = false
- animation.ended:fire(pos)
- table.remove(ret._private.animations, index)
- animation:emit_signal("ended", animation.pos)
- end
- -- Animation in process, keep updating
- else
- animation.pos = pos
- animation:fire(animation.pos)
- animation:emit_signal("update", animation.pos)
- end
- else
- table.remove(ret._private.animations, index)
- end
- end
-
- -- call again the function after cooldown
- return true
- end)
-
- return ret
-end
-
-if not instance then
- instance = new()
-end
-return instance
diff --git a/.config/awesome/lib/animation/subscribable.lua b/.config/awesome/lib/animation/subscribable.lua
deleted file mode 100644
index f8cf1a0..0000000
--- a/.config/awesome/lib/animation/subscribable.lua
+++ /dev/null
@@ -1,47 +0,0 @@
--------------------------------------------
--- @author https://github.com/Kasper24
--- @copyright 2021-2022 Kasper24
--------------------------------------------
-
-local gobject = require("gears.object")
-
--- Kidna copying awesotre's stores on a surface level for added compatibility
-local function subscribable()
- local ret = gobject({})
- local subscribed = {}
-
- -- Subscrubes a function to the object so that it's called when `fire` is
- -- Calls subscribe_callback if it exists as well
- function ret:subscribe(func)
- local id = tostring(func):gsub("function: ", "")
- subscribed[id] = func
-
- if self.subscribe_callback then
- self.subscribe_callback(func)
- end
- end
-
- -- Unsubscribes a function and calls unsubscribe_callback if it exists
- function ret:unsubscribe(func)
- if not func then
- subscribed = {}
- else
- local id = tostring(func):gsub("function: ", "")
- subscribed[id] = nil
- end
-
- if self.unsubscribe_callback then
- self.unsubscribe_callback(func)
- end
- end
-
- function ret:fire(...)
- for _, func in pairs(subscribed) do
- func(...)
- end
- end
-
- return ret
-end
-
-return subscribable
diff --git a/.config/awesome/lib/animation/tween.lua b/.config/awesome/lib/animation/tween.lua
deleted file mode 100644
index aa9a564..0000000
--- a/.config/awesome/lib/animation/tween.lua
+++ /dev/null
@@ -1,533 +0,0 @@
--------------------------------------------
--- @author https://github.com/Kasper24
--- @copyright 2021-2022 Kasper24
--------------------------------------------
-
--- easing
-
--- Adapted from https://github.com/EmmanuelOga/easing. See LICENSE.txt for credits.
--- For all easing functions:
--- t = time == how much time has to pass for the tweening to complete
--- b = begin == starting property value
--- c = change == ending - beginning
--- d = duration == running time. How much time has passed *right now*
-
-local gobject = require("gears.object")
-local gtable = require("gears.table")
-
-local tween = {
- _VERSION = "tween 2.1.1",
- _DESCRIPTION = "tweening for lua",
- _URL = "https://github.com/kikito/tween.lua",
- _LICENSE = [[
- MIT LICENSE
- Copyright (c) 2014 Enrique García Cota, Yuichi Tateno, Emmanuel Oga
- Permission is hereby granted, free of charge, to any person obtaining a
- copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- ]],
-}
-
-local sin, cos, pi, sqrt, abs, asin = math.sin, math.cos, math.pi, math.sqrt, math.abs, math.asin
-
--- linear
-local function linear(t, b, c, d)
- return c * t / d + b
-end
-
--- quad
-local function inQuad(t, b, c, d)
- return c * ((t / d) ^ 2) + b
-end
-local function outQuad(t, b, c, d)
- t = t / d
- return -c * t * (t - 2) + b
-end
-local function inOutQuad(t, b, c, d)
- t = t / d * 2
- if t < 1 then
- return c / 2 * (t ^ 2) + b
- end
- return -c / 2 * ((t - 1) * (t - 3) - 1) + b
-end
-local function outInQuad(t, b, c, d)
- if t < d / 2 then
- return outQuad(t * 2, b, c / 2, d)
- end
- return inQuad((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- cubic
-local function inCubic(t, b, c, d)
- return c * ((t / d) ^ 3) + b
-end
-local function outCubic(t, b, c, d)
- return c * (((t / d - 1) ^ 3) + 1) + b
-end
-local function inOutCubic(t, b, c, d)
- t = t / d * 2
- if t < 1 then
- return c / 2 * t * t * t + b
- end
- t = t - 2
- return c / 2 * (t * t * t + 2) + b
-end
-local function outInCubic(t, b, c, d)
- if t < d / 2 then
- return outCubic(t * 2, b, c / 2, d)
- end
- return inCubic((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- quart
-local function inQuart(t, b, c, d)
- return c * ((t / d) ^ 4) + b
-end
-local function outQuart(t, b, c, d)
- return -c * (((t / d - 1) ^ 4) - 1) + b
-end
-local function inOutQuart(t, b, c, d)
- t = t / d * 2
- if t < 1 then
- return c / 2 * (t ^ 4) + b
- end
- return -c / 2 * (((t - 2) ^ 4) - 2) + b
-end
-local function outInQuart(t, b, c, d)
- if t < d / 2 then
- return outQuart(t * 2, b, c / 2, d)
- end
- return inQuart((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- quint
-local function inQuint(t, b, c, d)
- return c * ((t / d) ^ 5) + b
-end
-local function outQuint(t, b, c, d)
- return c * (((t / d - 1) ^ 5) + 1) + b
-end
-local function inOutQuint(t, b, c, d)
- t = t / d * 2
- if t < 1 then
- return c / 2 * (t ^ 5) + b
- end
- return c / 2 * (((t - 2) ^ 5) + 2) + b
-end
-local function outInQuint(t, b, c, d)
- if t < d / 2 then
- return outQuint(t * 2, b, c / 2, d)
- end
- return inQuint((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- sine
-local function inSine(t, b, c, d)
- return -c * cos(t / d * (pi / 2)) + c + b
-end
-local function outSine(t, b, c, d)
- return c * sin(t / d * (pi / 2)) + b
-end
-local function inOutSine(t, b, c, d)
- return -c / 2 * (cos(pi * t / d) - 1) + b
-end
-local function outInSine(t, b, c, d)
- if t < d / 2 then
- return outSine(t * 2, b, c / 2, d)
- end
- return inSine((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- expo
-local function inExpo(t, b, c, d)
- if t == 0 then
- return b
- end
- return c * (2 ^ (10 * (t / d - 1))) + b - c * 0.001
-end
-local function outExpo(t, b, c, d)
- if t == d then
- return b + c
- end
- return c * 1.001 * (-(2 ^ (-10 * t / d)) + 1) + b
-end
-local function inOutExpo(t, b, c, d)
- if t == 0 then
- return b
- end
- if t == d then
- return b + c
- end
- t = t / d * 2
- if t < 1 then
- return c / 2 * (2 ^ (10 * (t - 1))) + b - c * 0.0005
- end
- return c / 2 * 1.0005 * (-(2 ^ (-10 * (t - 1))) + 2) + b
-end
-local function outInExpo(t, b, c, d)
- if t < d / 2 then
- return outExpo(t * 2, b, c / 2, d)
- end
- return inExpo((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- circ
-local function inCirc(t, b, c, d)
- return (-c * (sqrt(1 - ((t / d) ^ 2)) - 1) + b)
-end
-local function outCirc(t, b, c, d)
- return (c * sqrt(1 - ((t / d - 1) ^ 2)) + b)
-end
-local function inOutCirc(t, b, c, d)
- t = t / d * 2
- if t < 1 then
- return -c / 2 * (sqrt(1 - t * t) - 1) + b
- end
- t = t - 2
- return c / 2 * (sqrt(1 - t * t) + 1) + b
-end
-local function outInCirc(t, b, c, d)
- if t < d / 2 then
- return outCirc(t * 2, b, c / 2, d)
- end
- return inCirc((t * 2) - d, b + c / 2, c / 2, d)
-end
-
--- elastic
-local function calculatePAS(p, a, c, d)
- p, a = p or d * 0.3, a or 0
- if a < abs(c) then
- return p, c, p / 4
- end -- p, a, s
- return p, a, p / (2 * pi) * asin(c / a) -- p,a,s
-end
-local function inElastic(t, b, c, d, a, p)
- local s
- if t == 0 then
- return b
- end
- t = t / d
- if t == 1 then
- return b + c
- end
- p, a, s = calculatePAS(p, a, c, d)
- t = t - 1
- return -(a * (2 ^ (10 * t)) * sin((t * d - s) * (2 * pi) / p)) + b
-end
-local function outElastic(t, b, c, d, a, p)
- local s
- if t == 0 then
- return b
- end
- t = t / d
- if t == 1 then
- return b + c
- end
- p, a, s = calculatePAS(p, a, c, d)
- return a * (2 ^ (-10 * t)) * sin((t * d - s) * (2 * pi) / p) + c + b
-end
-local function inOutElastic(t, b, c, d, a, p)
- local s
- if t == 0 then
- return b
- end
- t = t / d * 2
- if t == 2 then
- return b + c
- end
- p, a, s = calculatePAS(p, a, c, d)
- t = t - 1
- if t < 0 then
- return -0.5 * (a * (2 ^ (10 * t)) * sin((t * d - s) * (2 * pi) / p)) + b
- end
- return a * (2 ^ (-10 * t)) * sin((t * d - s) * (2 * pi) / p) * 0.5 + c + b
-end
-local function outInElastic(t, b, c, d, a, p)
- if t < d / 2 then
- return outElastic(t * 2, b, c / 2, d, a, p)
- end
- return inElastic((t * 2) - d, b + c / 2, c / 2, d, a, p)
-end
-
--- back
-local function inBack(t, b, c, d, s)
- s = s or 1.70158
- t = t / d
- return c * t * t * ((s + 1) * t - s) + b
-end
-local function outBack(t, b, c, d, s)
- s = s or 1.70158
- t = t / d - 1
- return c * (t * t * ((s + 1) * t + s) + 1) + b
-end
-local function inOutBack(t, b, c, d, s)
- s = (s or 1.70158) * 1.525
- t = t / d * 2
- if t < 1 then
- return c / 2 * (t * t * ((s + 1) * t - s)) + b
- end
- t = t - 2
- return c / 2 * (t * t * ((s + 1) * t + s) + 2) + b
-end
-local function outInBack(t, b, c, d, s)
- if t < d / 2 then
- return outBack(t * 2, b, c / 2, d, s)
- end
- return inBack((t * 2) - d, b + c / 2, c / 2, d, s)
-end
-
--- bounce
-local function outBounce(t, b, c, d)
- t = t / d
- if t < 1 / 2.75 then
- return c * (7.5625 * t * t) + b
- end
- if t < 2 / 2.75 then
- t = t - (1.5 / 2.75)
- return c * (7.5625 * t * t + 0.75) + b
- elseif t < 2.5 / 2.75 then
- t = t - (2.25 / 2.75)
- return c * (7.5625 * t * t + 0.9375) + b
- end
- t = t - (2.625 / 2.75)
- return c * (7.5625 * t * t + 0.984375) + b
-end
-local function inBounce(t, b, c, d)
- return c - outBounce(d - t, 0, c, d) + b
-end
-local function inOutBounce(t, b, c, d)
- if t < d / 2 then
- return inBounce(t * 2, 0, c, d) * 0.5 + b
- end
- return outBounce(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b
-end
-local function outInBounce(t, b, c, d)
- if t < d / 2 then
- return outBounce(t * 2, b, c / 2, d)
- end
- return inBounce((t * 2) - d, b + c / 2, c / 2, d)
-end
-
-tween.easing = {
- linear = linear,
- inQuad = inQuad,
- outQuad = outQuad,
- inOutQuad = inOutQuad,
- outInQuad = outInQuad,
- inCubic = inCubic,
- outCubic = outCubic,
- inOutCubic = inOutCubic,
- outInCubic = outInCubic,
- inQuart = inQuart,
- outQuart = outQuart,
- inOutQuart = inOutQuart,
- outInQuart = outInQuart,
- inQuint = inQuint,
- outQuint = outQuint,
- inOutQuint = inOutQuint,
- outInQuint = outInQuint,
- inSine = inSine,
- outSine = outSine,
- inOutSine = inOutSine,
- outInSine = outInSine,
- inExpo = inExpo,
- outExpo = outExpo,
- inOutExpo = inOutExpo,
- outInExpo = outInExpo,
- inCirc = inCirc,
- outCirc = outCirc,
- inOutCirc = inOutCirc,
- outInCirc = outInCirc,
- inElastic = inElastic,
- outElastic = outElastic,
- inOutElastic = inOutElastic,
- outInElastic = outInElastic,
- inBack = inBack,
- outBack = outBack,
- inOutBack = inOutBack,
- outInBack = outInBack,
- inBounce = inBounce,
- outBounce = outBounce,
- inOutBounce = inOutBounce,
- outInBounce = outInBounce,
-}
-
--- Private interface
-local function copyTables(destination, keysTable, valuesTable)
- valuesTable = valuesTable or keysTable
- local mt = getmetatable(keysTable)
- if mt and getmetatable(destination) == nil then
- setmetatable(destination, mt)
- end
-
- for k, v in pairs(keysTable) do
- if type(v) == "table" then
- destination[k] = copyTables({}, v, valuesTable[k])
- else
- destination[k] = valuesTable[k]
- end
- end
- return destination
-end
-
-local function checkSubjectAndTargetRecursively(subject, target, path)
- path = path or {}
- local targetType, newPath
- for k, targetValue in pairs(target) do
- targetType, newPath = type(targetValue), copyTables({}, path)
- table.insert(newPath, tostring(k))
- if targetType == "number" then
- assert(
- type(subject[k]) == "number",
- "Parameter '" .. table.concat(newPath, "/") .. "' is missing from subject or isn't a number"
- )
- elseif targetType == "table" then
- checkSubjectAndTargetRecursively(subject[k], targetValue, newPath)
- else
- assert(
- targetType == "number",
- "Parameter '" .. table.concat(newPath, "/") .. "' must be a number or table of numbers"
- )
- end
- end
-end
-
-local function checkNewParams(_, _, subject, target, easing)
- -- assert(type(initial) == 'number' and duration > 0, "duration must be a positive number. Was " .. tostring(duration))
- -- assert(type(duration) == 'number' and duration > 0, "duration must be a positive number. Was " .. tostring(duration))
- assert(type(easing) == "function", "easing must be a function. Was " .. tostring(easing))
-
- if subject and target then
- local tsubject = type(subject)
- assert(
- tsubject == "table" or tsubject == "userdata",
- "subject must be a table or userdata. Was " .. tostring(subject)
- )
- assert(type(target) == "table", "target must be a table. Was " .. tostring(target))
- checkSubjectAndTargetRecursively(subject, target)
- end
-end
-
-local function getEasingFunction(easing)
- easing = easing or "linear"
- if type(easing) == "string" then
- local name = easing
- easing = tween.easing[name]
- if type(easing) ~= "function" then
- error("The easing function name '" .. name .. "' is invalid")
- end
- end
- return easing
-end
-
-local function performEasingOnSubject(subject, target, initial, clock, duration, easing)
- local t, b, c, d
- for k, v in pairs(target) do
- if type(v) == "table" then
- performEasingOnSubject(subject[k], v, initial[k], clock, duration, easing)
- else
- t, b, c, d = clock, initial[k], v - initial[k], duration
- subject[k] = easing(t, b, c, d)
- end
- end
-end
-
-local function performEasing(table, initial, target, clock, duration, easing)
- if type(target) == "table" then
- local t, b, c, d
- for k, v in pairs(target) do
- if type(v) == "table" then
- table[k] = {}
- performEasing(table[k], initial[k], v, clock, duration, easing)
- else
- t, b, c, d = clock, initial[k], v - initial[k], duration
- table[k] = easing(t, b, c, d)
- end
- end
-
- return table
- else
- local t, b, c, d = clock, initial, target - initial, duration
- return easing(t, b, c, d)
- end
-end
-
--- Public interface
-local Tween = {}
-
-function Tween:set(clock)
- assert(type(clock) == "number", "clock must be a positive number or 0")
-
- if self.subject and self.initial == 0 then
- self.initial = copyTables({}, self.target, self.subject)
- end
-
- self.clock = clock
-
- if self.clock <= 0 then
- self.clock = 0
- if self.subject then
- copyTables(self.subject, self.initial)
- end
- elseif self.clock >= self.duration then -- the tween has expired
- self.clock = self.duration
-
- if self.subject then
- copyTables(self.subject, self.target)
- end
- else
- if self.subject then
- performEasingOnSubject(self.subject, self.target, self.initial, self.clock, self.duration, self.easing)
- else
- local pos = {}
- return performEasing(pos, self.initial, self.target, self.clock, self.duration, self.easing)
- end
- end
-
- return self.clock >= self.duration
-end
-
-function Tween:update(dt)
- assert(type(dt) == "number", "dt must be a number")
- return self:set(self.clock + dt)
-end
-
-function Tween:reset()
- return self:set(0)
-end
-
-function tween.new(args)
- args = args or {}
-
- args.initial = args.initial or 0
- args.subject = args.subject or nil
- args.target = args.target or nil
- args.duration = args.duration or 0
- args.easing = args.easing or nil
-
- args.easing = getEasingFunction(args.easing)
- checkNewParams(args.initial, args.duration, args.subject, args.target, args.easing)
-
- local ret = gobject({})
- ret.clock = 0
-
- gtable.crush(ret, args, true)
- gtable.crush(ret, Tween, true)
-
- return ret
-end
-
-return tween
diff --git a/.config/awesome/lib/better-resize.lua b/.config/awesome/lib/better-resize.lua
deleted file mode 100644
index b3ac9ad..0000000
--- a/.config/awesome/lib/better-resize.lua
+++ /dev/null
@@ -1,138 +0,0 @@
-local capi = {
- client = client,
- mouse = mouse,
- screen = screen,
- mousegrabber = mousegrabber,
-}
-local awful = require("awful")
-
-local function mouse_resize_handler(m, c)
- awful.client.incwfact(0, c) -- needed to fix normalization at start
- local start = m(capi.mouse.coords())
- local x, y = start.x, start.y
- local wa = m(c.screen.workarea)
- local idx = awful.client.idx(c)
- local c_above
- local idx_above, idx_below
- local wfact_above, wfact_below
- local jump_to = { x = x, y = y }
- local move_mwfact = false
-
- do
- local g = m(c:geometry())
-
- local v_border = 0.2 * g.height
-
- if idx and idx.idx > 1 and y >= g.y and y <= g.y + v_border then
- -- we are near the top edge of the window
- c_above = awful.client.next(-1, c)
- C_BELOW = c
- jump_to.y = g.y
- idx_above = idx.idx - 1
- idx_below = idx.idx
- elseif idx and idx.idx < idx.num and y >= g.y + g.height - v_border then
- -- we are near the bottom edge of the window
- c_above = c
- C_BELOW = awful.client.next(1, c)
- idx_above = idx.idx
- idx_below = idx.idx + 1
- jump_to.y = g.y + g.height
- end
-
- local mw_split = wa.x + wa.width * c.screen.selected_tag.master_width_factor
-
- if math.abs(mw_split - x) > wa.width / 6 then
- move_mwfact = false
- else
- move_mwfact = true
- jump_to.x = mw_split
- end
- end
-
- if idx and idx_above then
- local t = c.screen.selected_tag
- local data = t.windowfact or {}
- local colfact = data[idx.col] or {}
- wfact_above = colfact[idx_above] or 1
- wfact_below = colfact[idx_below] or 1
- end
-
- if idx_above and move_mwfact then
- CURSOR = "cross"
- elseif idx_above then
- CURSOR = m({ y = "sb_v_double_arrow", x = "sb_h_double_arrow" }).y
- elseif move_mwfact then
- CURSOR = m({ y = "sb_v_double_arrow", x = "sb_h_double_arrow" }).x
- else
- return false
- end
-
- capi.mouse.coords(m(jump_to))
-
- capi.mousegrabber.run(function(_mouse)
- if not c.valid then
- return false
- end
-
- local pressed = false
- for _, v in ipairs(_mouse.buttons) do
- if v then
- pressed = true
- break
- end
- end
-
- _mouse = m(_mouse)
-
- if pressed then
- if move_mwfact then
- c.screen.selected_tag.master_width_factor = math.min(math.max((_mouse.x - wa.x) / wa.width, 0.01), 0.99)
- end
-
- if idx and idx_above then
- local factor_delta = (_mouse.y - jump_to.y) / wa.height
-
- if factor_delta < 0 then
- factor_delta = math.max(factor_delta, -(wfact_above - 0.05))
- else
- factor_delta = math.min(factor_delta, wfact_below - 0.05)
- end
-
- local t = c.screen.selected_tag
- local data = t.windowfact or {}
- local colfact = data[idx.col] or {}
- colfact[idx_above] = wfact_above + factor_delta
- colfact[idx_below] = wfact_below - factor_delta
- awful.client.incwfact(0, c_above) -- just in case
- end
- return true
- else
- return false
- end
- end, CURSOR)
-
- return true
-end
-
-awful.layout.suit.tile.mouse_resize_handler = function(c)
- return mouse_resize_handler(function(x)
- return x
- end, c)
-end
----@diagnostic disable-next-line: duplicate-set-field
-awful.layout.suit.tile.bottom.mouse_resize_handler = function(c)
- return mouse_resize_handler(function(q)
- return { x = q.y, y = q.x, width = q.height, height = q.width }
- end, c)
-end
-
--- local old_coords = mouse.coords
-
--- mouse.coords = function(...)
--- if select(1, ...) and not(select(1, ...).blah) then
--- print("set mouse!!!")
--- print(debug.traceback())
-
--- end
--- return old_coords(...)
--- end
diff --git a/.config/awesome/lib/bling b/.config/awesome/lib/bling
deleted file mode 160000
index 1f6bd0d..0000000
--- a/.config/awesome/lib/bling
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1f6bd0d5ef150a1801d20c69437ceff61d65fac5
diff --git a/.config/awesome/lib/catppuccin b/.config/awesome/lib/catppuccin
deleted file mode 160000
index 1af8166..0000000
--- a/.config/awesome/lib/catppuccin
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1af8166d2afdf0622d0a3d38d7b40d3958ab138d
diff --git a/.config/awesome/lib/exit-screen.lua b/.config/awesome/lib/exit-screen.lua
deleted file mode 100644
index 429d793..0000000
--- a/.config/awesome/lib/exit-screen.lua
+++ /dev/null
@@ -1,186 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-local config = require("config")
-
-local dpi = beautiful.xresources.apply_dpi
-local theme = beautiful.get()
-
---- Minimalist Exit Screen
---- ~~~~~~~~~~~~~~~~~~~~~~
-
---- Icons
-local icon_font = helpers.ui.set_font("bold 45")
-local poweroff_text_icon = config.icons.power
-local reboot_text_icon = config.icons.restart
-local suspend_text_icon = config.icons.sleep
-local exit_text_icon = config.icons.exit
-local lock_text_icon = config.icons.lock
-
-local button_bg = theme.color.base
-local button_size = dpi(120)
-
---- Commands
-local poweroff_command = function()
- awful.spawn.with_shell("systemctl poweroff")
- awesome.emit_signal("module::exit_screen:hide")
-end
-
-local reboot_command = function()
- awful.spawn.with_shell("systemctl reboot")
- awesome.emit_signal("module::exit_screen:hide")
-end
-
-local suspend_command = function()
- awesome.emit_signal("module::exit_screen:hide")
- awful.spawn.with_shell("systemctl suspend")
-end
-
-local exit_command = function()
- awesome.quit()
-end
-
-local lock_command = function()
- awesome.emit_signal("module::exit_screen:hide")
-end
-
-local create_button = function(symbol, hover_color, _, command)
- local icon = wibox.widget({
- forced_height = button_size,
- forced_width = button_size,
- halign = "center",
- valign = "center",
- font = icon_font,
- markup = helpers.ui.colorize_text(symbol, theme.color.surface0),
- widget = wibox.widget.textbox(),
- })
-
- local button = wibox.widget({
- {
- nil,
- icon,
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- forced_height = button_size,
- forced_width = button_size,
- border_width = dpi(8),
- border_color = theme.color.surface0,
- shape = helpers.ui.rrect(theme.border_width * 2),
- bg = button_bg,
- widget = wibox.container.background,
- })
-
- button:buttons(gears.table.join(awful.button({}, 1, function()
- command()
- end)))
-
- button:connect_signal("mouse::enter", function()
- icon.markup = helpers.ui.colorize_text(icon.text, hover_color)
- button.border_color = hover_color
- end)
- button:connect_signal("mouse::leave", function()
- icon.markup = helpers.ui.colorize_text(icon.text, theme.color.surface0)
- button.border_color = theme.color.surface0
- end)
-
- helpers.ui.add_hover_cursor(button, "hand1")
-
- return button
-end
-
---- Create the buttons
-local poweroff = create_button(poweroff_text_icon, theme.color.red, "Poweroff", poweroff_command)
-local reboot = create_button(reboot_text_icon, theme.color.green, "Reboot", reboot_command)
-local suspend = create_button(suspend_text_icon, theme.color.peach, "Suspend", suspend_command)
-local exit = create_button(exit_text_icon, theme.color.blue, "Exit", exit_command)
-local lock = create_button(lock_text_icon, theme.color.pink, "Lock", lock_command)
-
-local create_exit_screen = function(s)
- s.exit_screen = wibox({
- screen = s,
- type = "splash",
- visible = false,
- ontop = true,
- bg = theme.color.transparent,
- fg = theme.fg_normal,
- height = s.geometry.height,
- width = s.geometry.width,
- x = s.geometry.x,
- y = s.geometry.y,
- })
-
- s.exit_screen:buttons(gears.table.join(
- awful.button({}, 2, function()
- awesome.emit_signal("module::exit_screen:hide")
- end),
- awful.button({}, 3, function()
- awesome.emit_signal("module::exit_screen:hide")
- end)
- ))
-
- s.exit_screen:setup({
- nil,
- {
- nil,
- {
- poweroff,
- reboot,
- suspend,
- exit,
- lock,
- spacing = dpi(50),
- layout = wibox.layout.fixed.horizontal,
- },
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- expand = "none",
- layout = wibox.layout.align.vertical,
- })
-end
-
-screen.connect_signal("request::desktop_decoration", function(s)
- create_exit_screen(s)
-end)
-
-screen.connect_signal("removed", function(s)
- create_exit_screen(s)
-end)
-
-local exit_screen_grabber = awful.keygrabber({
- auto_start = true,
- stop_event = "release",
- keypressed_callback = function(_, _, key, _)
- 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
- awesome.emit_signal("module::exit_screen:hide")
- end
- end,
-})
-
-awesome.connect_signal("module::exit_screen:show", function()
- for s in screen do
- s.exit_screen.visible = false
- end
- awful.screen.focused().exit_screen.visible = true
- exit_screen_grabber:start()
-end)
-
-awesome.connect_signal("module::exit_screen:hide", function()
- exit_screen_grabber:stop()
- for s in screen do
- s.exit_screen.visible = false
- end
-end)
diff --git a/.config/awesome/lib/init.lua b/.config/awesome/lib/init.lua
deleted file mode 100644
index d4efccb..0000000
--- a/.config/awesome/lib/init.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-local req = {
- "better-resize",
- "savefloats",
- "exit-screen",
-}
-
-for _, x in pairs(req) do
- require(... .. "." .. x)
-end
diff --git a/.config/awesome/lib/json.lua b/.config/awesome/lib/json.lua
deleted file mode 100644
index f64bdc4..0000000
--- a/.config/awesome/lib/json.lua
+++ /dev/null
@@ -1,372 +0,0 @@
---
--- json.lua
---
--- Copyright (c) 2020 rxi
---
--- Permission is hereby granted, free of charge, to any person obtaining a copy of
--- this software and associated documentation files (the "Software"), to deal in
--- the Software without restriction, including without limitation the rights to
--- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
--- of the Software, and to permit persons to whom the Software is furnished to do
--- so, subject to the following conditions:
---
--- The above copyright notice and this permission notice shall be included in all
--- copies or substantial portions of the Software.
---
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
--- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
--- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
--- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
--- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
--- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
--- SOFTWARE.
---
-
-local json = { _version = "0.1.2" }
-
--------------------------------------------------------------------------------
--- Encode
--------------------------------------------------------------------------------
-
-local encode
-
-local escape_char_map = {
- ["\\"] = "\\",
- ['"'] = '"',
- ["\b"] = "b",
- ["\f"] = "f",
- ["\n"] = "n",
- ["\r"] = "r",
- ["\t"] = "t",
-}
-
-local escape_char_map_inv = { ["/"] = "/" }
-for k, v in pairs(escape_char_map) do
- escape_char_map_inv[v] = k
-end
-
-local function escape_char(c)
- return "\\" .. (escape_char_map[c] or string.format("u%04x", c:byte()))
-end
-
-local function encode_nil(_)
- return "null"
-end
-
-local function encode_table(val, stack)
- local res = {}
- stack = stack or {}
-
- -- Circular reference?
- if stack[val] then
- error("circular reference")
- end
-
- stack[val] = true
-
- if rawget(val, 1) ~= nil or next(val) == nil then
- -- Treat as array -- check keys are valid and it is not sparse
- local n = 0
- for k in pairs(val) do
- if type(k) ~= "number" then
- error("invalid table: mixed or invalid key types")
- end
- n = n + 1
- end
- if n ~= #val then
- error("invalid table: sparse array")
- end
- -- Encode
- for _, v in ipairs(val) do
- table.insert(res, encode(v, stack))
- end
- stack[val] = nil
- return "[" .. table.concat(res, ",") .. "]"
- else
- -- Treat as an object
- for k, v in pairs(val) do
- if type(k) ~= "string" then
- error("invalid table: mixed or invalid key types")
- end
- table.insert(res, encode(k, stack) .. ":" .. encode(v, stack))
- end
- stack[val] = nil
- return "{" .. table.concat(res, ",") .. "}"
- end
-end
-
-local function encode_string(val)
- return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
-end
-
-local function encode_number(val)
- -- Check for NaN, -inf and inf
- if val ~= val or val <= -math.huge or val >= math.huge then
- error("unexpected number value '" .. tostring(val) .. "'")
- end
- return string.format("%.14g", val)
-end
-
-local type_func_map = {
- ["nil"] = encode_nil,
- ["table"] = encode_table,
- ["string"] = encode_string,
- ["number"] = encode_number,
- ["boolean"] = tostring,
-}
-
-encode = function(val, stack)
- local t = type(val)
- local f = type_func_map[t]
- if f then
- return f(val, stack)
- end
- error("unexpected type '" .. t .. "'")
-end
-
-function json.encode(val)
- return (encode(val))
-end
-
--------------------------------------------------------------------------------
--- Decode
--------------------------------------------------------------------------------
-
-local parse
-
-local function create_set(...)
- local res = {}
- for i = 1, select("#", ...) do
- res[select(i, ...)] = true
- end
- return res
-end
-
-local space_chars = create_set(" ", "\t", "\r", "\n")
-local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
-local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
-local literals = create_set("true", "false", "null")
-
-local literal_map = {
- ["true"] = true,
- ["false"] = false,
- ["null"] = nil,
-}
-
-local function next_char(str, idx, set, negate)
- for i = idx, #str do
- if set[str:sub(i, i)] ~= negate then
- return i
- end
- end
- return #str + 1
-end
-
-local function decode_error(str, idx, msg)
- local line_count = 1
- local col_count = 1
- for i = 1, idx - 1 do
- col_count = col_count + 1
- if str:sub(i, i) == "\n" then
- line_count = line_count + 1
- col_count = 1
- end
- end
- error(string.format("%s at line %d col %d", msg, line_count, col_count))
-end
-
-local function codepoint_to_utf8(n)
- -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
- local f = math.floor
- if n <= 0x7f then
- return string.char(n)
- elseif n <= 0x7ff then
- return string.char(f(n / 64) + 192, n % 64 + 128)
- elseif n <= 0xffff then
- return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
- elseif n <= 0x10ffff then
- return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128, f(n % 4096 / 64) + 128, n % 64 + 128)
- end
- error(string.format("invalid unicode codepoint '%x'", n))
-end
-
-local function parse_unicode_escape(s)
- local n1 = tonumber(s:sub(1, 4), 16)
- local n2 = tonumber(s:sub(7, 10), 16)
- -- Surrogate pair?
- if n2 then
- return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
- else
- return codepoint_to_utf8(n1)
- end
-end
-
-local function parse_string(str, i)
- local res = ""
- local j = i + 1
- local k = j
-
- while j <= #str do
- local x = str:byte(j)
-
- if x < 32 then
- decode_error(str, j, "control character in string")
- elseif x == 92 then -- `\`: Escape
- res = res .. str:sub(k, j - 1)
- j = j + 1
- local c = str:sub(j, j)
- if c == "u" then
- local hex = str:match("^[dD][89aAbB]%x%x\\u%x%x%x%x", j + 1)
- or str:match("^%x%x%x%x", j + 1)
- or decode_error(str, j - 1, "invalid unicode escape in string")
- res = res .. parse_unicode_escape(hex)
- j = j + #hex
- else
- if not escape_chars[c] then
- decode_error(str, j - 1, "invalid escape char '" .. c .. "' in string")
- end
- res = res .. escape_char_map_inv[c]
- end
- k = j + 1
- elseif x == 34 then -- `"`: End of string
- res = res .. str:sub(k, j - 1)
- return res, j + 1
- end
-
- j = j + 1
- end
-
- decode_error(str, i, "expected closing quote for string")
-end
-
-local function parse_number(str, i)
- local x = next_char(str, i, delim_chars)
- local s = str:sub(i, x - 1)
- local n = tonumber(s)
- if not n then
- decode_error(str, i, "invalid number '" .. s .. "'")
- end
- return n, x
-end
-
-local function parse_literal(str, i)
- local x = next_char(str, i, delim_chars)
- local word = str:sub(i, x - 1)
- if not literals[word] then
- decode_error(str, i, "invalid literal '" .. word .. "'")
- end
- return literal_map[word], x
-end
-
-local function parse_array(str, i)
- local res = {}
- local n = 1
- i = i + 1
- while 1 do
- local x
- i = next_char(str, i, space_chars, true)
- -- Empty / end of array?
- if str:sub(i, i) == "]" then
- i = i + 1
- break
- end
- -- Read token
- x, i = parse(str, i)
- res[n] = x
- n = n + 1
- -- Next token
- i = next_char(str, i, space_chars, true)
- local chr = str:sub(i, i)
- i = i + 1
- if chr == "]" then
- break
- end
- if chr ~= "," then
- decode_error(str, i, "expected ']' or ','")
- end
- end
- return res, i
-end
-
-local function parse_object(str, i)
- local res = {}
- i = i + 1
- while 1 do
- local key, val
- i = next_char(str, i, space_chars, true)
- -- Empty / end of object?
- if str:sub(i, i) == "}" then
- i = i + 1
- break
- end
- -- Read key
- if str:sub(i, i) ~= '"' then
- decode_error(str, i, "expected string for key")
- end
- key, i = parse(str, i)
- -- Read ':' delimiter
- i = next_char(str, i, space_chars, true)
- if str:sub(i, i) ~= ":" then
- decode_error(str, i, "expected ':' after key")
- end
- i = next_char(str, i + 1, space_chars, true)
- -- Read value
- val, i = parse(str, i)
- -- Set
- res[key] = val
- -- Next token
- i = next_char(str, i, space_chars, true)
- local chr = str:sub(i, i)
- i = i + 1
- if chr == "}" then
- break
- end
- if chr ~= "," then
- decode_error(str, i, "expected '}' or ','")
- end
- end
- return res, i
-end
-
-local char_func_map = {
- ['"'] = parse_string,
- ["0"] = parse_number,
- ["1"] = parse_number,
- ["2"] = parse_number,
- ["3"] = parse_number,
- ["4"] = parse_number,
- ["5"] = parse_number,
- ["6"] = parse_number,
- ["7"] = parse_number,
- ["8"] = parse_number,
- ["9"] = parse_number,
- ["-"] = parse_number,
- ["t"] = parse_literal,
- ["f"] = parse_literal,
- ["n"] = parse_literal,
- ["["] = parse_array,
- ["{"] = parse_object,
-}
-
-parse = function(str, idx)
- local chr = str:sub(idx, idx)
- local f = char_func_map[chr]
- if f then
- return f(str, idx)
- end
- decode_error(str, idx, "unexpected character '" .. chr .. "'")
-end
-
-function json.decode(str)
- if type(str) ~= "string" then
- error("expected argument of type string, got " .. type(str))
- end
- local res, idx = parse(str, next_char(str, 1, space_chars, true))
- idx = next_char(str, idx, space_chars, true)
- if idx <= #str then
- decode_error(str, idx, "trailing garbage")
- end
- return res
-end
-
-return json
diff --git a/.config/awesome/lib/layout-machi b/.config/awesome/lib/layout-machi
deleted file mode 160000
index 497d076..0000000
--- a/.config/awesome/lib/layout-machi
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 497d076903e6f5375c0456593f24adcca3db07e6
diff --git a/.config/awesome/lib/rubato b/.config/awesome/lib/rubato
deleted file mode 160000
index 8a3737b..0000000
--- a/.config/awesome/lib/rubato
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8a3737b7af4c9dc40c53d700118333d36541d4d3
diff --git a/.config/awesome/lib/savefloats.lua b/.config/awesome/lib/savefloats.lua
deleted file mode 100644
index 6fec1ba..0000000
--- a/.config/awesome/lib/savefloats.lua
+++ /dev/null
@@ -1,58 +0,0 @@
-local awful = require("awful")
-
-local function rel(screen, win)
- return {
- x = (win.x - screen.x) / screen.width,
- y = (win.y - screen.y) / screen.height,
- width = win.width / screen.width,
- aspect = win.height / win.width,
- }
-end
-
-local function unrel(s, _rel)
- return _rel
- and {
- x = s.x + s.width * _rel.x,
- y = s.y + s.height * _rel.y,
- width = s.width * _rel.width,
- height = _rel.aspect * s.width * _rel.width,
- }
-end
-
-local stored = {}
-
-local function forget(c)
- stored[c] = nil
-end
-
-local floating = awful.layout.suit.floating
-
-function Remember(c)
- if floating == awful.layout.get(c.screen) or c.floating then
- stored[c.window] = rel(c.screen.geometry, c:geometry())
- end
-end
-
-function Restore(c)
- local s = stored[c.window]
- if s then
- c:geometry(unrel(c.screen.geometry, stored[c.window]))
- return true
- else
- return false
- end
-end
-
-client.connect_signal("manage", Remember)
-client.connect_signal("property::geometry", Remember)
-client.connect_signal("unmanage", forget)
-
-tag.connect_signal("property::layout", function(t)
- if floating == awful.layout.get(t.screen) then
- for _, c in ipairs(t:clients()) do
- c:geometry(unrel(t.screen.geometry, stored[c.window]))
- end
- end
-end)
-
-return Restore
diff --git a/.config/awesome/main/bindings.lua b/.config/awesome/main/bindings.lua
deleted file mode 100644
index d61a828..0000000
--- a/.config/awesome/main/bindings.lua
+++ /dev/null
@@ -1,286 +0,0 @@
-local awful = require("awful")
-local hotkeys_popup = require("awful.hotkeys_popup")
-local menubar = require("menubar")
-local machi = require("lib.layout-machi")
-local menu = require("main.menu")
-
-local config = require("config")
-local apps = config.apps
-local keys = config.keys
-
--- General awesome keybindings
-awful.keyboard.append_global_keybindings({
- awful.key({ keys.mod, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }),
-
- awful.key({ keys.mod, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
-
- awful.key({ keys.mod, "Control", "Shift" }, "x", function()
- awful.prompt.run({
- prompt = "Run Lua code: ",
- textbox = awful.screen.focused().promptbox.widget,
- exe_callback = awful.util.eval,
- history_path = awful.util.get_cache_dir() .. "/history_eval",
- })
- end, { description = "lua execute prompt", group = "awesome" }),
-
- awful.key({ keys.mod }, "Return", function()
- awful.spawn(apps.terminal)
- end, { description = "open a terminal", group = "launcher" }),
-
- awful.key({ keys.mod, "Shift" }, "c", function()
- menu.mainmenu:show()
- end, { description = "show main menu", group = "awesome" }),
-
- awful.key({ keys.mod }, "p", function()
- menubar.show()
- end, { description = "show the menubar", group = "launcher" }),
-})
-
--- Tag bindings
-awful.keyboard.append_global_keybindings({
- awful.key({ keys.mod, "Control" }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }),
-
- awful.key({ keys.mod }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }),
-
- awful.key({ keys.mod }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }),
-
- awful.key({ keys.mod }, "Tab", awful.tag.history.restore, { description = "go back", group = "tag" }),
-})
-
-awful.keyboard.append_global_keybindings({
- awful.key({
- modifiers = { keys.mod },
- keygroup = "numrow",
- description = "only view tag",
- group = "tag",
- on_press = function(index)
- local screen = awful.screen.focused()
- local tag = screen.tags[index]
- if tag then
- tag:view_only()
- end
- end,
- }),
-
- awful.key({
- modifiers = { keys.mod, "Control" },
- keygroup = "numrow",
- description = "toggle tag",
- group = "tag",
- on_press = function(index)
- local screen = awful.screen.focused()
- local tag = screen.tags[index]
- if tag then
- awful.tag.viewtoggle(tag)
- end
- end,
- }),
-
- awful.key({
- modifiers = { keys.mod, "Shift" },
- keygroup = "numrow",
- description = "move focused client to tag",
- group = "tag",
- on_press = function(index)
- if client.focus then
- local tag = client.focus.screen.tags[index]
- if tag then
- client.focus:move_to_tag(tag)
- end
- end
- end,
- }),
-
- awful.key({
- modifiers = { keys.mod, "Control", "Shift" },
- keygroup = "numrow",
- description = "toggle focused client on tag",
- group = "tag",
- on_press = function(index)
- if client.focus then
- local tag = client.focus.screen.tags[index]
- if tag then
- client.focus:toggle_tag(tag)
- end
- end
- end,
- }),
-
- awful.key({
- modifiers = { keys.mod },
- keygroup = "numpad",
- description = "select layout directly",
- group = "layout",
- on_press = function(index)
- local t = awful.screen.focused().selected_tag
- if t then
- t.layout = t.layouts[index] or t.layout
- end
- end,
- }),
-})
-
--- Focus bindings
-awful.keyboard.append_global_keybindings({
- awful.key({ keys.mod }, "c", function()
- awful.client.focus.byidx(1)
- end, { description = "focus next by index", group = "client" }),
-
- awful.key({ keys.mod }, "x", function()
- awful.client.focus.byidx(-1)
- end, { description = "focus previous by index", group = "client" }),
-
- awful.key({ keys.mod }, "Escape", function()
- awful.client.focus.history.previous()
- if client.focus then
- client.focus:raise()
- end
- end, { description = "go back", group = "client" }),
-
- awful.key({ keys.mod, "Control" }, "j", function()
- awful.screen.focus_relative(1)
- end, { description = "focus the next screen", group = "screen" }),
-
- awful.key({ keys.mod, "Control" }, "k", function()
- awful.screen.focus_relative(-1)
- end, { description = "focus the previous screen", group = "screen" }),
-
- awful.key({ keys.mod, "Control" }, "n", function()
- local c = awful.client.restore()
- -- Focus restored client
- if c then
- c:activate({ raise = true, context = "key.unminimize" })
- end
- end, { description = "restore minimized", group = "client" }),
-})
-
--- Layout bindings
-awful.keyboard.append_global_keybindings({
- awful.key({ keys.mod, "Shift" }, "j", function()
- awful.client.swap.byidx(1)
- end, { description = "swap with next client by index", group = "client" }),
-
- awful.key({ keys.mod, "Shift" }, "k", function()
- awful.client.swap.byidx(-1)
- end, { description = "swap with previous client by index", group = "client" }),
-
- awful.key(
- { keys.mod },
- "u",
- awful.client.urgent.jumpto,
- { description = "jump to urgent client", group = "client" }
- ),
-
- awful.key({ keys.mod }, "l", function()
- awful.tag.incmwfact(0.05)
- end, { description = "increase master width factor", group = "layout" }),
-
- awful.key({ keys.mod }, "h", function()
- awful.tag.incmwfact(-0.05)
- end, { description = "decrease master width factor", group = "layout" }),
-
- awful.key({ keys.mod, "Shift" }, "h", function()
- awful.tag.incnmaster(1, nil, true)
- end, { description = "increase the number of master clients", group = "layout" }),
-
- awful.key({ keys.mod, "Shift" }, "l", function()
- awful.tag.incnmaster(-1, nil, true)
- end, { description = "decrease the number of master clients", group = "layout" }),
-
- awful.key({ keys.mod, "Control" }, "h", function()
- awful.tag.incncol(1, nil, true)
- end, { description = "increase the number of columns", group = "layout" }),
-
- awful.key({ keys.mod, "Control" }, "l", function()
- awful.tag.incncol(-1, nil, true)
- end, { description = "decrease the number of columns", group = "layout" }),
-
- awful.key({ keys.mod }, "-", function()
- machi.default_editor.start_interactive()
- end, { description = "edit the current layout if it is a machi layout", group = "layout" }),
-
- awful.key({ keys.mod }, ".", function()
- machi.switcher.start(client.focus)
- end, { description = "switch between windows for a machi layout", group = "layout" }),
-})
-
--- Client bindings
-client.connect_signal("request::default_keybindings", function()
- awful.keyboard.append_client_keybindings({
- awful.key({ keys.mod }, "f", function(c)
- c.fullscreen = not c.fullscreen
- c:raise()
- end, { description = "toggle fullscreen", group = "client" }),
-
- awful.key({ keys.mod }, "w", function(c)
- c:kill()
- end, { description = "close", group = "client" }),
-
- awful.key(
- { keys.mod, "Control" },
- "space",
- awful.client.floating.toggle,
- { description = "toggle floating", group = "client" }
- ),
-
- awful.key({ keys.mod, "Control" }, "Return", function(c)
- c:swap(awful.client.getmaster())
- end, { description = "move to master", group = "client" }),
-
- awful.key({ keys.mod }, "o", function(c)
- c:move_to_screen()
- end, { description = "move to screen", group = "client" }),
-
- awful.key({ keys.mod }, "t", function(c)
- c.ontop = not c.ontop
- end, { description = "toggle keep on top", group = "client" }),
-
- awful.key({ keys.mod }, "n", function(c)
- -- The client currently has the input focus, so it cannot be
- -- minimized, since minimized clients can't have the focus.
- c.minimized = true
- end, { description = "minimize", group = "client" }),
-
- awful.key({ keys.mod }, "m", function(c)
- c.maximized = not c.maximized
- c:raise()
- end, { description = "(un)maximize", group = "client" }),
-
- awful.key({ keys.mod, "Control" }, "m", function(c)
- c.maximized_vertical = not c.maximized_vertical
- c:raise()
- end, { description = "(un)maximize vertically", group = "client" }),
-
- awful.key({ keys.mod, "Shift" }, "m", function(c)
- c.maximized_horizontal = not c.maximized_horizontal
- c:raise()
- end, { description = "(un)maximize horizontally", group = "client" }),
- })
-end)
-
--- Mouse bindings
-awful.mouse.append_global_mousebindings({
- awful.button({}, 3, function()
- menu.mainmenu:toggle()
- end),
-
- awful.button({}, 4, awful.tag.viewprev),
-
- awful.button({}, 5, awful.tag.viewnext),
-})
-
-client.connect_signal("request::default_mousebindings", function()
- awful.mouse.append_client_mousebindings({
- awful.button({}, 1, function(c)
- c:activate({ context = "mouse_click" })
- end),
-
- awful.button({ keys.mod }, 1, function(c)
- c:activate({ context = "mouse_click", action = "mouse_move" })
- end),
-
- awful.button({ keys.mod }, 3, function(c)
- c:activate({ context = "mouse_click", action = "mouse_resize" })
- end),
- })
-end)
diff --git a/.config/awesome/main/custom_bindings.lua b/.config/awesome/main/custom_bindings.lua
deleted file mode 100644
index f373c44..0000000
--- a/.config/awesome/main/custom_bindings.lua
+++ /dev/null
@@ -1,63 +0,0 @@
-local awful = require("awful")
-local volume = require("ui.popups.volume")
-local filesystem = require("gears.filesystem")
-local config = require("config")
-
-local keys = config.keys
-
-local config_dir = filesystem.get_configuration_dir()
-local utils_dir = config_dir .. "utilities/"
-
-local screenshot_area = utils_dir .. "screensht area"
-local screenshot_full = utils_dir .. "screensht full"
-
-awful.keyboard.append_global_keybindings({
- awful.key({ keys.mod }, "r", function()
- awful.spawn(config.apps.launcher)
- end, { description = "show rofi", group = "launcher" }),
-
- awful.key({ keys.mod }, "Print", function()
- awful.spawn.easy_async_with_shell(screenshot_area, function() end)
- end, { description = "take a area screenshot", group = "Utils" }),
-
- awful.key({}, "Print", function()
- awful.spawn.easy_async_with_shell(screenshot_full, function() end)
- end, { description = "take a full screenshot", group = "Utils" }),
-
- awful.key({ keys.mod }, "q", function()
- awesome.emit_signal("module::exit_screen:show")
- end, { description = "show Exit Screen", group = "Utils" }),
-
- awful.key({ keys.mod }, "s", function()
- awesome.emit_signal("scratchpad::toggle")
- end, { description = "show Scratchpad", group = "Utils" }),
-
- awful.key({ keys.mod }, "b", function()
- awful.spawn.easy_async_with_shell("headsetcontrol -l 0", function() end)
- end, { description = "headsetcontrol", group = "Utils" }),
-
- awful.key({ keys.mod }, "t", function()
- awful.titlebar.toggle(client.focus)
- end, { description = "toggle titlebar for active client", group = "Utils" }), -- Toggle titlebar
-})
-
--- Volume
-awful.keyboard.append_global_keybindings({
- awful.key({}, "XF86AudioRaiseVolume", function()
- volume.increase()
- awesome.emit_signal("widget::update_vol")
- awesome.emit_signal("module::volume_osd:show", true)
- end),
-
- awful.key({}, "XF86AudioLowerVolume", function()
- volume.decrease()
- awesome.emit_signal("widget::update_vol")
- awesome.emit_signal("module::volume_osd:show", true)
- end),
-
- awful.key({}, "XF86AudioMute", function()
- volume.mute()
- awesome.emit_signal("widget::update_vol")
- awesome.emit_signal("module::volume_osd:show", true)
- end),
-})
diff --git a/.config/awesome/main/error_handling.lua b/.config/awesome/main/error_handling.lua
deleted file mode 100644
index eb3bfb0..0000000
--- a/.config/awesome/main/error_handling.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-local naughty = require("naughty")
-
--- Error handling
--- Check if awesome encountered an error during startup and fell back to
--- another config (This code will only ever execute for the fallback config)
-if awesome.startup_errors then
- naughty.notify({
- preset = naughty.config.presets.critical,
- title = "Oops, there were errors during startup!",
- text = awesome.startup_errors,
- })
-end
-
--- Handle runtime errors after startup
-do
- local in_error = false
- awesome.connect_signal("debug::error", function(err)
- -- Make sure we don't go into an endless error loop
- if in_error then
- return
- end
- in_error = true
-
- naughty.notify({
- preset = naughty.config.presets.critical,
- title = "Oops, an error happened!",
- text = tostring(err),
- })
- in_error = false
- end)
-end
diff --git a/.config/awesome/main/init.lua b/.config/awesome/main/init.lua
deleted file mode 100644
index 23cfb09..0000000
--- a/.config/awesome/main/init.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-local req = {
- "error_handling",
- "layout",
- "menu",
- "wallpaper",
- "bindings",
- "custom_bindings",
- "rules",
- "tags",
-}
-
-for _, x in pairs(req) do
- require(... .. "." .. x)
-end
diff --git a/.config/awesome/main/layout.lua b/.config/awesome/main/layout.lua
deleted file mode 100644
index ef2a728..0000000
--- a/.config/awesome/main/layout.lua
+++ /dev/null
@@ -1,35 +0,0 @@
-local awful = require("awful")
-local bling = require("lib.bling")
-local machi = require("lib.layout-machi")
-
--- Custom Layouts
-local mstab = bling.layout.mstab
-local centered = bling.layout.centered
-local equal = bling.layout.equalarea
-local deck = bling.layout.deck
-
-machi.editor.nested_layouts = {
- ["0"] = deck,
- ["1"] = awful.layout.suit.spiral,
- ["2"] = awful.layout.suit.fair,
- ["3"] = awful.layout.suit.fair.horizontal,
-}
-
--- Table of layouts to cover with awful.layout.inc, order matters.
-awful.layout.append_default_layouts({
- awful.layout.suit.tile,
- awful.layout.suit.spiral.dwindle,
- awful.layout.suit.floating,
- awful.layout.suit.max,
- centered,
- mstab,
- equal,
- machi.default_layout,
-})
-
-client.connect_signal("manage", function(c)
- if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then
- -- Prevent clients from being unreachable after screen count changes.
- awful.placement.no_offscreen(c)
- end
-end)
diff --git a/.config/awesome/main/menu.lua b/.config/awesome/main/menu.lua
deleted file mode 100644
index 52dbb13..0000000
--- a/.config/awesome/main/menu.lua
+++ /dev/null
@@ -1,107 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local helpers = require("helpers")
-local hotkeys_popup = require("awful.hotkeys_popup")
-
-local theme = require("beautiful").get()
-local apps = require("config").apps
-
-local menu = {}
-
-local rofi = {}
-rofi.timer = gears.timer({
- autostart = false,
- timeout = 0.1,
- single_shot = true,
- callback = function()
- awful.spawn(apps.launcher)
- end,
-})
-
-menu.awesome = {
- {
- "Hotkeys",
- function()
- hotkeys_popup.show_help(nil, awful.screen.focused())
- end,
- },
- { "Manual", apps.terminal .. " -e man awesome" },
- { "Edit Config", apps.start_editor .. " " .. awesome.conffile },
- { "Restart", awesome.restart },
- {
- "Quit",
- function()
- awesome.quit()
- end,
- },
-}
-
-menu.mainmenu = awful.menu({
- items = {
- {
- "Applications",
- function()
- menu.mainmenu:hide()
- rofi.timer:start()
- end,
- },
- { "Terminal", apps.terminal },
- { "Web Browser", apps.browser },
- { "File Manager", apps.file_manager },
- { "Text Editor", apps.code_editor },
- { "Music Player", apps.music_player },
- {
- "Info Panel",
- function()
- awesome.emit_signal("sidebar::toggle")
- end,
- },
- {
- "Notifications",
- function()
- awesome.emit_signal("action::toggle")
- end,
- },
- {
- "Exit",
- function()
- awesome.emit_signal("module::exit_screen:show")
- end,
- },
- { "AwesomeWM", menu.awesome },
- },
-})
-
--- apply rounded corners to menus when picom isn't available, thanks to u/signalsourcesexy
--- also applies antialiasing! - By me.
-menu.mainmenu.wibox.shape = helpers.ui.rrect(10)
-menu.mainmenu.wibox.bg = theme.bg_normal .. "00"
-menu.mainmenu.wibox:set_widget(wibox.widget({
- menu.mainmenu.wibox.widget,
- bg = theme.bg_normal,
- shape = helpers.ui.rrect(0),
- widget = wibox.container.background,
-}))
-
--- apply rounded corners to submenus, thanks to u/signalsourcesexy
--- also applies antialiasing! - By me.
-awful.menu.original_new = awful.menu.new
-
----@diagnostic disable-next-line: duplicate-set-field
-function awful.menu.new(...)
- local ret = awful.menu.original_new(...)
-
- ret.wibox.shape = helpers.ui.rrect(10)
- ret.wibox.bg = theme.bg_normal .. "00"
- ret.wibox:set_widget(wibox.widget({
- ret.wibox.widget,
- widget = wibox.container.background,
- bg = theme.color.base,
- shape = helpers.ui.rrect(0),
- }))
-
- return ret
-end
-
-return menu
diff --git a/.config/awesome/main/rules.lua b/.config/awesome/main/rules.lua
deleted file mode 100644
index 9749b2e..0000000
--- a/.config/awesome/main/rules.lua
+++ /dev/null
@@ -1,78 +0,0 @@
-local awful = require("awful")
-local ruled = require("ruled")
-local dpi = require("beautiful.xresources").apply_dpi
-local helpers = require("helpers")
-local config = require("config")
-
-ruled.client.connect_signal("request::rules", function()
- ruled.client.append_rule({
- id = "global",
- rule = {},
- properties = {
- focus = awful.client.focus.filter,
- raise = true,
- screen = awful.screen.preferred,
- placement = awful.placement.no_overlap + awful.placement.no_offscreen,
- },
- })
-
- ruled.client.append_rule({
- id = "titlebars",
- rule_any = {
- type = { "normal", "dialog" },
- },
- properties = {
- titlebars_enabled = false,
- },
- })
-
- ruled.client.append_rule({
- rule = { class = config.apps.launcher },
- properties = {
- titlebars_enabled = false,
- },
- })
-
- ruled.client.append_rule({
- rule = { instance = "origin.exe" },
- properties = {
- floating = true,
- titlebars_enabled = false,
- shape = helpers.ui.rrect(0),
- border_width = dpi(0),
- },
- })
-
- ruled.client.append_rule({
- rule = { instance = "bf1.exe" },
- properties = { shape = helpers.ui.rrect(0), fullscreen = true, tag = "", switchtotag = true },
- })
- ruled.client.append_rule({
- rule = { instance = "wine" },
- properties = { shape = helpers.ui.rrect(0), titlebars_enabled = false },
- })
-
- ruled.client.append_rule({
- rule_any = {
- floating = true,
- },
- properties = {
- placement = awful.placement.centered,
- ontop = true,
- },
- })
-
- ruled.client.append_rule({
- rule_any = {
- class = {
- "xfce",
- },
- instance = {
- "xfce",
- },
- },
- properties = {
- floating = true,
- },
- })
-end)
diff --git a/.config/awesome/main/tags.lua b/.config/awesome/main/tags.lua
deleted file mode 100644
index fbd5106..0000000
--- a/.config/awesome/main/tags.lua
+++ /dev/null
@@ -1,10 +0,0 @@
-local awful = require("awful")
-local icons = require("config").icons.tags
-
-screen.connect_signal("request::desktop_decoration", function(s)
- awful.tag(
- { icons.general, icons.files, icons.media, icons.terminal, icons.coding, icons.misc },
- s,
- awful.layout.layouts[1]
- )
-end)
diff --git a/.config/awesome/main/wallpaper.lua b/.config/awesome/main/wallpaper.lua
deleted file mode 100644
index c7dff3f..0000000
--- a/.config/awesome/main/wallpaper.lua
+++ /dev/null
@@ -1,26 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-
-local image = require("config").theme.wallpaper
-
-local function set_wall(s)
- awful.wallpaper({
- screen = s,
- widget = {
- {
- image = image,
- upscale = true,
- downscale = true,
- widget = wibox.widget.imagebox,
- },
- valign = "center",
- halign = "center",
- tiled = true,
- widget = wibox.container.tile,
- },
- })
-end
-
-screen.connect_signal("request::wallpaper", function(s)
- set_wall(s)
-end)
diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
deleted file mode 100644
index 941396c..0000000
--- a/.config/awesome/rc.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-pcall(require, "luarocks.loader")
-
-local gears = require("gears")
-local beautiful = require("beautiful")
-local awful = require("awful")
-
-require("awful.autofocus")
-
--- Theme --
-beautiful.init(gears.filesystem.get_configuration_dir() .. "themes/catppuccin/theme.lua")
-
--- Main/Configuration --
-require("main")
-
--- Libraries/Modules --
-require("lib")
-
--- Signals/Monitoring --
-require("signals")
-
--- Ui/Panels --
-require("ui")
-
--- Autostart --
-awful.spawn.with_shell("picom")
diff --git a/.config/awesome/signals/cpu.lua b/.config/awesome/signals/cpu.lua
deleted file mode 100644
index 43cd9ad..0000000
--- a/.config/awesome/signals/cpu.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-
-local function get_cpu()
- local script = "echo $[100-$(vmstat 1 2|tail -1|awk '{print $15}')]"
-
- awful.spawn.easy_async_with_shell(script, function(cpu_perc)
- cpu_perc = cpu_perc:match("%d+")
- awesome.emit_signal("signal::cpu", cpu_perc)
- end)
-end
-
-gears.timer({
- timeout = 1,
- call_now = true,
- autostart = true,
- callback = function()
- get_cpu()
- end,
-})
diff --git a/.config/awesome/signals/disk.lua b/.config/awesome/signals/disk.lua
deleted file mode 100644
index c89bae4..0000000
--- a/.config/awesome/signals/disk.lua
+++ /dev/null
@@ -1,23 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-
-local config = require("config")
-local disk = config.widget.disk.name
-
-local function get_disk()
- local script = "df -kH -B 1MB" .. disk .. "| tail -1 | awk '{printf $5}'"
-
- awful.spawn.easy_async_with_shell(script, function(disk_perc)
- disk_perc = disk_perc:match("%d+")
- awesome.emit_signal("signal::disk", disk_perc)
- end)
-end
-
-gears.timer({
- timeout = 2000,
- call_now = true,
- autostart = true,
- callback = function()
- get_disk()
- end,
-})
diff --git a/.config/awesome/signals/init.lua b/.config/awesome/signals/init.lua
deleted file mode 100644
index e5c1910..0000000
--- a/.config/awesome/signals/init.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-local req = {
- "volume",
- "mic",
- "cpu",
- "mem",
- "player",
- "disk",
- "uptime",
- "playerctl",
-}
-
-for _, x in pairs(req) do
- require("signals." .. x)
-end
diff --git a/.config/awesome/signals/mem.lua b/.config/awesome/signals/mem.lua
deleted file mode 100644
index 368d052..0000000
--- a/.config/awesome/signals/mem.lua
+++ /dev/null
@@ -1,22 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-
-local function get_mem()
- local script = [[
- free | grep Mem | awk '{print $3/$2 * 100.0}' | cut -f 1 -d "."
- ]]
-
- awful.spawn.easy_async_with_shell(script, function(mem_perc)
- mem_perc = mem_perc:match("%d+")
- awesome.emit_signal("signal::mem", mem_perc)
- end)
-end
-
-gears.timer({
- timeout = 4,
- call_now = true,
- autostart = true,
- callback = function()
- get_mem()
- end,
-})
diff --git a/.config/awesome/signals/mic.lua b/.config/awesome/signals/mic.lua
deleted file mode 100644
index 963a526..0000000
--- a/.config/awesome/signals/mic.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-local awful = require("awful")
-
-local config = require("config")
-local microphone = config.widget.mic.name
-
-local vol_sc = "pamixer --source " .. microphone .. " --get-volume"
-local mute_sc = "pamixer --source " .. microphone .. " --get-mute"
-
-local function get_vol()
- awful.spawn.easy_async_with_shell(vol_sc, function(vol)
- awful.spawn.easy_async_with_shell(mute_sc, function(mute)
- local muted
-
- if mute:match("false") then
- muted = false
- else
- muted = true
- end
-
- awesome.emit_signal("signal::mic", vol, muted)
- end)
- end)
-end
-
-awesome.connect_signal("widget::update_mic", function() -- Needs to be Updated if muted! For Mute in Sidebar Widget
- get_vol()
-end)
-
-get_vol()
diff --git a/.config/awesome/signals/player.lua b/.config/awesome/signals/player.lua
deleted file mode 100644
index a710827..0000000
--- a/.config/awesome/signals/player.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-local awful = require("awful")
-
--- Script
-local title_sc = "mpc -f %title% | head -1"
-local artist_sc = "mpc -f %artist% | head -1"
-local length_sc = "mpc | awk '{print $3}' | awk 'NR==2'"
-local status_sc = "mpc | awk '{print $1}' | awk 'NR==2' | sed 's/[[]*//g' | sed 's/[]]*//g'"
-
--- function
-local function get_player()
- awful.spawn.easy_async_with_shell(title_sc, function(title)
- awful.spawn.easy_async_with_shell(artist_sc, function(artist)
- awful.spawn.easy_async_with_shell(length_sc, function(length)
- awful.spawn.easy_async_with_shell(status_sc, function(status)
- title = string.gsub(title, "\n", "")
- artist = string.gsub(artist, "\n", "")
- length = string.gsub(length, "\n", "")
- status = string.gsub(status, "\n", "")
-
- awesome.emit_signal("signal::player", title, artist, length, status)
- end)
- end)
- end)
- end)
-end
-
-awesome.connect_signal("widget::update_player", function()
- get_player()
-end)
-
-get_player()
diff --git a/.config/awesome/signals/playerctl.lua b/.config/awesome/signals/playerctl.lua
deleted file mode 100644
index dc29d93..0000000
--- a/.config/awesome/signals/playerctl.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-local bling = require("lib.bling")
-
-local instance = nil
-
-local function new()
- return bling.signal.playerctl.lib({
- update_on_activity = true,
- player = { "mopidy", "spotify", "%any" },
- debounce_delay = 1,
- })
-end
-
-if not instance then
- instance = new()
-end
-
-return instance
diff --git a/.config/awesome/signals/uptime.lua b/.config/awesome/signals/uptime.lua
deleted file mode 100644
index f839401..0000000
--- a/.config/awesome/signals/uptime.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-local awful = require("awful")
-
-local function get_uptime()
- local script = [[
- uptime -p | sed 's/up\s*//g' | sed 's/\s*days*/d/g' | sed 's/\s*hours*/h/g' | sed 's/\s*minutes*/m/g'
- ]]
-
- awful.spawn.easy_async_with_shell(script, function(uptime)
- uptime = string.gsub(uptime, "\n", "")
- awesome.emit_signal("signal::uptime", uptime)
- end)
-end
-awesome.connect_signal("widget::update_uptime", function()
- get_uptime()
-end)
-get_uptime()
diff --git a/.config/awesome/signals/volume.lua b/.config/awesome/signals/volume.lua
deleted file mode 100644
index c004aa5..0000000
--- a/.config/awesome/signals/volume.lua
+++ /dev/null
@@ -1,26 +0,0 @@
-local awful = require("awful")
-
-local vol_sc = "pamixer --get-volume"
-local mute_sc = "pamixer --get-mute"
-
-local function get_vol()
- awful.spawn.easy_async_with_shell(vol_sc, function(vol)
- awful.spawn.easy_async_with_shell(mute_sc, function(mute)
- local muted
-
- if mute:match("false") then
- muted = false
- else
- muted = true
- end
-
- awesome.emit_signal("signal::volume", vol, muted)
- end)
- end)
-end
-
-awesome.connect_signal("widget::update_vol", function() -- Needs to be Updated if muted! For Pulseaudio Widget
- get_vol()
-end)
-
-get_vol()
diff --git a/.config/awesome/themes/catppuccin/assets/music.png b/.config/awesome/themes/catppuccin/assets/music.png
deleted file mode 100644
index aae8c49..0000000
Binary files a/.config/awesome/themes/catppuccin/assets/music.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/assets/pfp.jpg b/.config/awesome/themes/catppuccin/assets/pfp.jpg
deleted file mode 100644
index 8d4863a..0000000
Binary files a/.config/awesome/themes/catppuccin/assets/pfp.jpg and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/assets/volume-off.png b/.config/awesome/themes/catppuccin/assets/volume-off.png
deleted file mode 100644
index 842d7de..0000000
Binary files a/.config/awesome/themes/catppuccin/assets/volume-off.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/assets/volume-on.png b/.config/awesome/themes/catppuccin/assets/volume-on.png
deleted file mode 100644
index 81124d7..0000000
Binary files a/.config/awesome/themes/catppuccin/assets/volume-on.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/assets/volume.svg b/.config/awesome/themes/catppuccin/assets/volume.svg
deleted file mode 100644
index 7a59aa1..0000000
--- a/.config/awesome/themes/catppuccin/assets/volume.svg
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
diff --git a/.config/awesome/themes/catppuccin/buttons.png b/.config/awesome/themes/catppuccin/buttons.png
deleted file mode 100644
index de4cce8..0000000
Binary files a/.config/awesome/themes/catppuccin/buttons.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/centered.png b/.config/awesome/themes/catppuccin/layouts/centered.png
deleted file mode 100644
index 180f6de..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/centered.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/dwindle.png b/.config/awesome/themes/catppuccin/layouts/dwindle.png
deleted file mode 100644
index 318db09..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/dwindle.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/equalarea.png b/.config/awesome/themes/catppuccin/layouts/equalarea.png
deleted file mode 100644
index 89280ab..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/equalarea.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/floating.png b/.config/awesome/themes/catppuccin/layouts/floating.png
deleted file mode 100644
index 501cb4e..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/floating.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/machi.png b/.config/awesome/themes/catppuccin/layouts/machi.png
deleted file mode 100644
index fa158b5..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/machi.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/max.png b/.config/awesome/themes/catppuccin/layouts/max.png
deleted file mode 100644
index fcbad9a..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/max.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/mstab.png b/.config/awesome/themes/catppuccin/layouts/mstab.png
deleted file mode 100644
index 874c6a5..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/mstab.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/layouts/tile.png b/.config/awesome/themes/catppuccin/layouts/tile.png
deleted file mode 100644
index 960158b..0000000
Binary files a/.config/awesome/themes/catppuccin/layouts/tile.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/submenu.png b/.config/awesome/themes/catppuccin/submenu.png
deleted file mode 100644
index b2778e2..0000000
Binary files a/.config/awesome/themes/catppuccin/submenu.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/taglist/squarefw.png b/.config/awesome/themes/catppuccin/taglist/squarefw.png
deleted file mode 100644
index 2a86430..0000000
Binary files a/.config/awesome/themes/catppuccin/taglist/squarefw.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/taglist/squarew.png b/.config/awesome/themes/catppuccin/taglist/squarew.png
deleted file mode 100644
index 913f2ca..0000000
Binary files a/.config/awesome/themes/catppuccin/taglist/squarew.png and /dev/null differ
diff --git a/.config/awesome/themes/catppuccin/theme.lua b/.config/awesome/themes/catppuccin/theme.lua
deleted file mode 100644
index 39a362e..0000000
--- a/.config/awesome/themes/catppuccin/theme.lua
+++ /dev/null
@@ -1,202 +0,0 @@
-local beautiful = require("beautiful")
-local gfs = require("gears.filesystem")
-local config = require("config")
-local helpers = require("helpers")
-
-local palette = require("lib.catppuccin.catppuccin." .. config.theme.flavor)
-
-local theme_assets = beautiful.theme_assets
-local dpi = beautiful.xresources.apply_dpi
-
-local theme_path = gfs.get_configuration_dir() .. "themes/catppuccin/"
-
-local theme = {}
-
-theme.color = {}
-
--- Transparent Color --
-theme.color.transparent = "#00000000"
-
--- Base --
-theme.color.crust = palette.crust.hex
-theme.color.mantle = palette.mantle.hex
-theme.color.base = palette.base.hex
-
--- Surface --
-theme.color.surface0 = palette.surface0.hex
-theme.color.surface1 = palette.surface1.hex
-theme.color.surface2 = palette.surface2.hex
-
--- Overlay --
-theme.color.overlay0 = palette.overlay0.hex
-theme.color.overlay1 = palette.overlay1.hex
-theme.color.overlay2 = palette.overlay2.hex
-
--- Text --
-theme.color.text = palette.text.hex
-theme.color.subtext0 = palette.subtext0.hex
-theme.color.subtext1 = palette.subtext1.hex
-
-theme.color.lavender = palette.lavender.hex
-theme.color.blue = palette.blue.hex
-theme.color.sapphire = palette.sapphire.hex
-theme.color.sky = palette.sky.hex
-theme.color.teal = palette.teal.hex
-theme.color.green = palette.green.hex
-theme.color.yellow = palette.yellow.hex
-theme.color.peach = palette.peach.hex
-theme.color.maroon = palette.maroon.hex
-theme.color.red = palette.red.hex
-theme.color.mauve = palette.mauve.hex
-theme.color.pink = palette.pink.hex
-theme.color.flamingo = palette.flamingo.hex
-theme.color.rosewater = palette.rosewater.hex
-
-theme.color.accent1 = theme.color[config.theme.accent1]
-theme.color.accent2 = theme.color[config.theme.accent2]
-
-theme.music = theme_path .. "assets/music.png"
-theme.volume_on = theme_path .. "assets/volume-on.png"
-theme.volume_off = theme_path .. "assets/volume-off.png"
-theme.pfp = config.theme.pfp
-theme.wallpaper = config.theme.wallpaper
-theme.font = config.theme.font.family .. " " .. config.theme.font.size
-
-theme.titlebar_bg_focus = theme.color.base
-theme.titlebar_bg = theme.color.base
-theme.bg_normal = theme.color.base
-theme.bg_focus = theme.color.surface0
-theme.bg_urgent = theme.color.red
-theme.bg_minimize = theme.color.surface1
-theme.bg_systray = theme.bg_normal
-
-theme.fg_normal = theme.color.subtext1 -- text color
-theme.fg_focus = theme.color.accent1
-theme.fg_urgent = theme.color.text
-theme.fg_minimize = theme.color.text
-
-theme.useless_gap = dpi(10)
-theme.border_width = dpi(1)
-theme.border_normal = theme.color.surface0
-theme.border_focus = theme.color.accent1
-theme.border_marked = theme.color.maroon
-
-theme.menu_font = helpers.ui.set_font("12", theme.font)
-theme.menu_bg_focus = theme.color.base
-theme.menu_fg_focus = theme.color.accent2
-theme.menu_border_width = dpi(2)
-theme.menu_border_color = theme.color.surface0
-theme.submenu = config.icons.arr.r .. " "
-theme.menu_height = dpi(37)
-theme.menu_width = dpi(194)
-
-theme.tasklist_bg_focus = theme.color.base
-theme.tasklist_fg_focus = theme.color.lavender
-theme.tasklist_disable_icon = true
-theme.tasklist_font = helpers.ui.set_font("11", theme.font)
-
-theme.taglist_spacing = dpi(2)
-theme.taglist_bg_focus = theme.color.base
-theme.taglist_disable_icon = true
-theme.taglist_font = helpers.ui.set_font("11", theme.font)
-theme.taglist_fg_focus = theme.color.accent2
-theme.taglist_fg_empty = theme.color.surface2
-theme.taglist_fg_occupied = theme.color.sky
-
--- Generate taglist squares:
-local taglist_square_size = dpi(0)
-theme.taglist_squares_sel = theme_assets.taglist_squares_sel(taglist_square_size, theme.color.accent2)
-theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(taglist_square_size, theme.taglist_fg_occupied)
-
--- Edge Snap
-theme.snap_bg = theme.color.accent1
-theme.snap_border_width = dpi(5)
-theme.snap_shape = helpers.ui.rrect(0)
-
--- Hotkey Popup
-theme.hotkeys_shape = helpers.ui.rrect(12)
-theme.hotkeys_border_color = theme.color.accent1
-theme.hotkeys_modifiers_fg = theme.color.overlay2
-theme.hotkeys_font = helpers.ui.set_font("10", theme.font)
-theme.hotkeys_description_font = helpers.ui.set_font("10", theme.font)
-
--- Layoutlist
-theme.layoutlist_shape_selected = helpers.ui.rrect(7)
-
--- Tabs
-theme.mstab_bar_height = dpi(1)
-theme.mstab_dont_resize_slaves = true
-theme.mstab_bar_padding = dpi(10)
-theme.mstab_border_radius = dpi(6)
-theme.mstab_bar_ontop = false
-theme.mstab_tabbar_position = "top"
-theme.mstab_tabbar_style = "default"
-theme.mstab_bar_disable = true
-
--- Layout Machi
-theme.machi_switcher_border_color = theme.color.surface0
-theme.machi_switcher_border_opacity = 0.4
-theme.machi_editor_border_color = theme.color.surface1
-theme.machi_editor_border_opacity = 0.4
-theme.machi_editor_active_opacity = 0.4
-
--- Bling
-theme.tag_preview_widget_border_radius = dpi(6)
-theme.tag_preview_client_border_radius = dpi(6)
-theme.tag_preview_client_opacity = 1
-theme.tag_preview_client_bg = theme.color.base
-theme.tag_preview_client_border_color = theme.color.surface0
-theme.tag_preview_client_border_width = dpi(2)
-theme.tag_preview_widget_border_color = theme.color.accent1
-theme.tag_preview_widget_border_width = dpi(2)
-theme.tag_preview_widget_margin = 4
-
--- Notifications
-theme.notification_spacing = dpi(4)
-theme.notification_bg = theme.color.base
-
--- Titlebar icons
-theme.titlebar_close_button_normal = theme_path .. "titlebar/unfocus.svg"
-theme.titlebar_close_button_focus = theme_path .. "titlebar/close.svg"
-theme.titlebar_close_button_normal_hover = theme_path .. "titlebar/close_hover.svg"
-theme.titlebar_close_button_focus_hover = theme_path .. "titlebar/close_hover.svg"
-
-theme.titlebar_minimize_button_normal = theme_path .. "titlebar/unfocus.svg"
-theme.titlebar_minimize_button_focus = theme_path .. "titlebar/minimize.svg"
-theme.titlebar_minimize_button_normal_hover = theme_path .. "titlebar/minimize_hover.svg"
-theme.titlebar_minimize_button_focus_hover = theme_path .. "titlebar/minimize_hover.svg"
-
-theme.titlebar_ontop_button_normal_inactive = theme_path .. "titlebar/unfocus.svg"
-theme.titlebar_ontop_button_focus_inactive = theme_path .. "titlebar/ontop.svg"
-
-theme.titlebar_ontop_button_normal_active = theme_path .. "titlebar/unfocus.svg"
-theme.titlebar_ontop_button_focus_active = theme_path .. "titlebar/ontop.svg"
-
-theme.titlebar_maximized_button_normal_active = theme_path .. "titlebar/unfocus.svg"
-theme.titlebar_maximized_button_focus_active = theme_path .. "titlebar/maximize.svg"
-theme.titlebar_maximized_button_normal_active_hover = theme_path .. "titlebar/maximize_hover.svg"
-theme.titlebar_maximized_button_focus_active_hover = theme_path .. "titlebar/maximize_hover.svg"
-
-theme.titlebar_maximized_button_normal_inactive = theme_path .. "titlebar/unfocus.svg"
-theme.titlebar_maximized_button_focus_inactive = theme_path .. "titlebar/maximize.svg"
-theme.titlebar_maximized_button_normal_inactive_hover = theme_path .. "titlebar/maximize_hover.svg"
-theme.titlebar_maximized_button_focus_inactive_hover = theme_path .. "titlebar/maximize_hover.svg"
-
--- Layout icons
-theme.layout_floating = theme_path .. "layouts/floating.png"
-theme.layout_max = theme_path .. "layouts/max.png"
-theme.layout_tile = theme_path .. "layouts/tile.png"
-theme.layout_dwindle = theme_path .. "layouts/dwindle.png"
-theme.layout_centered = theme_path .. "layouts/centered.png"
-theme.layout_mstab = theme_path .. "layouts/mstab.png"
-theme.layout_equalarea = theme_path .. "layouts/equalarea.png"
-theme.layout_machi = theme_path .. "layouts/machi.png"
-
--- Generate Awesome icon:
-theme.awesome_icon = theme_assets.awesome_icon(theme.menu_height, theme.bg_focus, theme.fg_focus)
-
--- Define the icon theme for application icons. If not set then the icons
--- from /usr/share/icons and /usr/share/icons/hicolor will be used.
-theme.icon_theme = config.theme.icon_theme
-
-return theme
diff --git a/.config/awesome/themes/catppuccin/titlebar/close.svg b/.config/awesome/themes/catppuccin/titlebar/close.svg
deleted file mode 100644
index e322f94..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/close.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.config/awesome/themes/catppuccin/titlebar/close_hover.svg b/.config/awesome/themes/catppuccin/titlebar/close_hover.svg
deleted file mode 100644
index ce5e14d..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/close_hover.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.config/awesome/themes/catppuccin/titlebar/maximize.svg b/.config/awesome/themes/catppuccin/titlebar/maximize.svg
deleted file mode 100644
index 6e2c884..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/maximize.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.config/awesome/themes/catppuccin/titlebar/maximize_hover.svg b/.config/awesome/themes/catppuccin/titlebar/maximize_hover.svg
deleted file mode 100644
index ec5e48a..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/maximize_hover.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/.config/awesome/themes/catppuccin/titlebar/minimize.svg b/.config/awesome/themes/catppuccin/titlebar/minimize.svg
deleted file mode 100644
index 3c233b7..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/minimize.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.config/awesome/themes/catppuccin/titlebar/minimize_hover.svg b/.config/awesome/themes/catppuccin/titlebar/minimize_hover.svg
deleted file mode 100644
index bfb63e6..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/minimize_hover.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/.config/awesome/themes/catppuccin/titlebar/ontop.svg b/.config/awesome/themes/catppuccin/titlebar/ontop.svg
deleted file mode 100644
index 901dd95..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/ontop.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.config/awesome/themes/catppuccin/titlebar/unfocus.svg b/.config/awesome/themes/catppuccin/titlebar/unfocus.svg
deleted file mode 100644
index 14ba0b1..0000000
--- a/.config/awesome/themes/catppuccin/titlebar/unfocus.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.config/awesome/ui/info-panel/calendar.lua b/.config/awesome/ui/info-panel/calendar.lua
deleted file mode 100644
index 143dffb..0000000
--- a/.config/awesome/ui/info-panel/calendar.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-
-local dpi = beautiful.xresources.apply_dpi
-local theme = beautiful.get()
-
--- Creating Calendar
-----------------------
-
--- copied from awesome doc and adjusted a bit
-local styles = {}
-
-styles.month = { bg_color = theme.color.surface0 }
-styles.normal = {
- bg_color = theme.color.surface0,
- padding = dpi(6),
- fg_color = theme.color.subtext1,
-}
-styles.focus = {
- fg_color = theme.color.yellow,
- padding = dpi(6),
- markup = function(t)
- return "" .. t .. ""
- end,
-}
-styles.header = {
- fg_color = theme.color.blue,
- markup = function(t)
- return "" .. t .. ""
- end,
-}
-styles.weekday = {
- fg_color = theme.color.subtext1,
- markup = function(t)
- local f = helpers.ui.set_font("16")
- return '' .. t .. ""
- end,
-}
-
--- The Function
-local function decorate_cell(widget, flag)
- if flag == "monthheader" and not styles.monthheader then
- flag = "header"
- end
-
- local props = styles[flag] or {}
-
- if props.markup and widget.get_text and widget.set_markup then
- widget:set_markup(props.markup(widget:get_text()))
- end
-
- -- Change bg color for weekends
- local ret = wibox.widget({
- {
- widget,
- margins = props.padding,
- widget = wibox.container.margin,
- },
- fg = props.fg_color,
- bg = props.bg_color,
- widget = wibox.container.background,
- })
-
- return ret
-end
-
-local calendar = wibox.widget({
- date = os.date("*t"),
- font = helpers.ui.set_font("14"),
- fn_embed = decorate_cell,
- widget = wibox.widget.calendar.month,
-})
-
-return wibox.widget({
- nil,
- {
- nil,
- calendar,
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- expand = "none",
- layout = wibox.layout.align.vertical,
-})
diff --git a/.config/awesome/ui/info-panel/init.lua b/.config/awesome/ui/info-panel/init.lua
deleted file mode 100644
index 5720f45..0000000
--- a/.config/awesome/ui/info-panel/init.lua
+++ /dev/null
@@ -1,121 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local rubato = require("lib.rubato")
-
-local dpi = beautiful.xresources.apply_dpi
-local theme = beautiful.get()
-
--- Var
-local width = dpi(410)
-local height = awful.screen.focused().geometry.height - dpi(100)
-
--- Helper
------------
-
-local function round_widget(radius)
- return function(cr, w, h)
- gears.shape.rounded_rect(cr, w, h, radius)
- end
-end
-
-local function box_widget(widgets, _width, _height)
- return wibox.widget({
- {
- {
- widgets,
- margins = dpi(16),
- widget = wibox.container.margin,
- },
- forced_width = dpi(_width),
- forced_height = dpi(_height),
- shape = round_widget(8),
- bg = theme.bg_focus, --for widget Rounded and Border
- widget = wibox.container.background,
- },
- margins = { left = dpi(20), right = dpi(20) },
- widget = wibox.container.margin,
- })
-end
-
--- Get widgets
-local weather_widget = require("ui.info-panel.weather")
-local profile_widget = require("ui.info-panel.profile")
-
-local calendar_widget = require("ui.info-panel.calendar")
-local music_widget = require("ui.info-panel.music-player")
-
--- Combine some widgets
-local weather = box_widget(weather_widget, 380, 180)
-local profile = box_widget(profile_widget, 380, 210)
-local calendar = box_widget(calendar_widget, 380, 340)
-
--- Sidebar
-local sidebar = wibox({
- visible = false,
- ontop = true,
- width = width,
- height = height,
- y = dpi(60),
- bg = theme.bg_normal,
- border_width = theme.border_width * 2,
- border_color = theme.border_normal,
-})
-
--- Sidebar widget setup
-sidebar:setup({
- {
- profile,
- music_widget,
- weather,
- calendar,
- spacing = dpi(20),
- layout = wibox.layout.fixed.vertical,
- },
- margins = { top = dpi(20), bottom = dpi(20) },
- widget = wibox.container.margin,
-})
-
--- Slide animation
-local slide = rubato.timed({
- pos = awful.screen.focused().geometry.x - sidebar.width,
- rate = 60,
- intro = 0.2,
- duration = 0.4,
- subscribed = function(pos)
- sidebar.x = awful.screen.focused().geometry.x + pos
- end,
-})
-
--- Timer of sidebar's death
-sidebar.timer = gears.timer({
- timeout = 0.5,
- single_shot = true,
- callback = function()
- sidebar.visible = not sidebar.visible
- end,
-})
-
-sidebar.shape = function(cr, w, h) --Rounded Corners
- gears.shape.rounded_rect(cr, w, h, 14)
-end
-
--- Toggle function
-sidebar.toggle = function()
- if sidebar.visible then
- slide.target = awful.screen.focused().geometry.x - sidebar.width
- sidebar.timer:start()
- else
- awesome.emit_signal("widget::update_uptime")
- slide.target = awful.screen.focused().geometry.x + dpi(20)
- sidebar.visible = not sidebar.visible
- end
-end
-
--- Get signal to execute the function (if that makes sense)
-awesome.connect_signal("sidebar::toggle", function()
- sidebar.toggle()
-end)
-
-return sidebar
diff --git a/.config/awesome/ui/info-panel/music-player.lua b/.config/awesome/ui/info-panel/music-player.lua
deleted file mode 100644
index 5e1b270..0000000
--- a/.config/awesome/ui/info-panel/music-player.lua
+++ /dev/null
@@ -1,256 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local beautiful = require("beautiful")
-local wibox = require("wibox")
-local helpers = require("helpers")
-local playerctl_daemon = require("signals.playerctl")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
----- Music Player
----- ~~~~~~~~~~~~
-
-local music_text = wibox.widget({
- font = helpers.ui.set_font("Medium 10"),
- valign = "center",
- widget = wibox.widget.textbox,
-})
-
-local music_art = wibox.widget({
- image = theme.music,
- resize = true,
- widget = wibox.widget.imagebox,
-})
-
-local music_art_container = wibox.widget({
- music_art,
- forced_height = dpi(200),
- forced_width = dpi(200),
- widget = wibox.container.background,
-})
-
-local filter_color = {
- type = "linear",
- from = { 0, 0 },
- to = { 0, 160 },
- stops = { { 0, theme.color.surface0 .. "cc" }, { 1, theme.color.surface0 } },
-}
-
-local music_art_filter = wibox.widget({
- {
- bg = filter_color,
- forced_height = dpi(120),
- forced_width = dpi(120),
- widget = wibox.container.background,
- },
- direction = "east",
- widget = wibox.container.rotate,
-})
-
-local music_title = wibox.widget({
- font = helpers.ui.set_font("Regular 13"),
- valign = "center",
- widget = wibox.widget.textbox,
-})
-
-local music_artist = wibox.widget({
- font = helpers.ui.set_font("Bold 16"),
- valign = "center",
- widget = wibox.widget.textbox,
-})
-
---- Volume Control
-local function volume_control()
- local volume_bar = wibox.widget({
- max_value = 100,
- value = 100,
- bar_height = dpi(12),
- bar_width = dpi(4),
- shape = helpers.ui.rrect(6),
- bar_shape = helpers.ui.rrect(6),
- color = theme.color.blue,
- background_color = theme.color.surface0,
- border_width = 0,
- widget = wibox.widget.progressbar,
- })
-
- -- Update bar
- local function set_slider_value(_, volume)
- volume_bar.value = volume * 100
- end
-
- playerctl_daemon:connect_signal("volume", set_slider_value)
-
- volume_bar:connect_signal("button::press", function()
- playerctl_daemon:disconnect_signal("volume", set_slider_value)
- end)
-
- volume_bar:connect_signal("button::release", function()
- playerctl_daemon:connect_signal("volume", set_slider_value)
- end)
-
- local volume = wibox.widget({
- volume_bar,
- direction = "east",
- widget = wibox.container.rotate,
- })
-
- volume:buttons(gears.table.join(
- -- Scroll - Increase or decrease volume
- awful.button({}, 4, function()
- awful.spawn.with_shell("playerctl volume 0.05+")
- end),
-
- awful.button({}, 5, function()
- awful.spawn.with_shell("playerctl volume 0.05-")
- end)
- ))
-
- return volume
-end
-
--- Player's Button
-local toggle = wibox.widget.textbox()
-toggle.font = helpers.ui.set_font("26")
-
-toggle:buttons(gears.table.join(awful.button({}, 1, function()
- playerctl_daemon:play_pause()
-end)))
-
-local next = wibox.widget.textbox()
-next.font = helpers.ui.set_font("26")
-next.markup = config.icons.music.next
-
-next:buttons(gears.table.join(awful.button({}, 1, function()
- playerctl_daemon:next()
-end)))
-
-local back = wibox.widget.textbox()
-back.font = helpers.ui.set_font("26")
-back.markup = config.icons.music.prev
-
-back:buttons(gears.table.join(awful.button({}, 1, function()
- playerctl_daemon:previous()
-end)))
-
-local function music()
- return wibox.widget({
- {
- {
- music_art_container,
- music_art_filter,
- layout = wibox.layout.stack,
- },
- {
- {
- {
- music_text,
- helpers.ui.vertical_pad(dpi(15)),
- {
-
- {
- widget = wibox.container.scroll.horizontal,
- step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- fps = 60,
- speed = 75,
- music_artist,
- },
- {
- widget = wibox.container.scroll.horizontal,
- step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- fps = 60,
- speed = 75,
- music_title,
- },
- forced_width = dpi(170),
- layout = wibox.layout.fixed.vertical,
- },
- layout = wibox.layout.fixed.vertical,
- },
- nil,
- {
- {
- back,
- toggle,
- next,
- spacing = dpi(25),
- layout = wibox.layout.fixed.horizontal,
- },
- forced_height = dpi(70),
- top = dpi(10),
- bottom = dpi(10),
- right = dpi(10),
- left = dpi(115),
- widget = wibox.container.margin,
- },
- expand = "none",
- layout = wibox.layout.align.vertical,
- },
- top = dpi(9),
- bottom = dpi(9),
- left = dpi(10),
- right = dpi(10),
- widget = wibox.container.margin,
- },
- layout = wibox.layout.stack,
- },
- forced_width = dpi(350),
- shape = helpers.ui.prrect(8, false, true, true, false),
- bg = theme.color.surface0,
- widget = wibox.container.background,
- })
-end
-
-local music_widget = wibox.widget({
- {
- {
- music(),
- {
- volume_control(),
- margins = { top = dpi(0), bottom = dpi(0), left = dpi(10), right = dpi(10) },
- widget = wibox.container.margin,
- },
- layout = wibox.layout.align.horizontal,
- },
- forced_height = dpi(150),
- bg = theme.color.base,
- shape = helpers.ui.rrect(8),
- widget = wibox.container.background,
- },
- left = dpi(20),
- right = dpi(10),
- color = "#FF000000",
- widget = wibox.container.margin,
-})
-
---- playerctl
---- -------------
-playerctl_daemon:connect_signal("metadata", function(_, title, artist, album_path, _, _, _)
- if title == "" then
- title = "Nothing Playing"
- end
- if artist == "" then
- artist = "Nothing Playing"
- end
- if album_path == "" then
- album_path = theme.music
- end
-
- music_art:set_image(gears.surface.load_uncached(album_path))
- music_title:set_markup_silently(helpers.ui.colorize_text(title, theme.color.subtext1))
- music_artist:set_markup_silently(helpers.ui.colorize_text(artist, theme.color.blue))
-end)
-
-playerctl_daemon:connect_signal("playback_status", function(_, playing, _)
- if playing then
- music_text:set_markup_silently(helpers.ui.colorize_text("Now Playing", theme.color.overlay0))
- toggle.markup = helpers.ui.colorize_text(config.icons.music.pause, theme.color.blue)
- else
- music_text:set_markup_silently(helpers.ui.colorize_text("Music", theme.color.overlay0))
- toggle.markup = helpers.ui.colorize_text(config.icons.music.play, theme.color.blue)
- end
-end)
-
-return music_widget
diff --git a/.config/awesome/ui/info-panel/player.lua b/.config/awesome/ui/info-panel/player.lua
deleted file mode 100644
index b2b1e0e..0000000
--- a/.config/awesome/ui/info-panel/player.lua
+++ /dev/null
@@ -1,116 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-local config = require("config")
-
-local dpi = beautiful.xresources.apply_dpi
-
--- Make Widgets
------------------
-
--- Song's Title
-local title = wibox.widget.textbox()
-title.font = helpers.ui.set_font("Medium 16")
-title.halign = "left"
-title.valign = "bottom"
-
--- Song's Artist
-local artist = wibox.widget.textbox()
-artist.font = helpers.ui.set_font("Regular 16")
-artist.halign = "left"
-artist.valign = "bottom"
-
--- Song's Length
-local length = wibox.widget.textbox()
-length.font = helpers.ui.set_font("Regular 14")
-length.halign = "center"
-length.valign = "center"
-
--- Player's Button
-local toggle = wibox.widget.textbox()
-toggle.font = helpers.ui.set_font("26")
-
-toggle:buttons(gears.table.join(awful.button({}, 1, function()
- awful.spawn("mpc toggle", false)
-
- if toggle.markup:match("") then
- toggle.markup = config.icons.music.play
- else
- toggle.markup = config.icons.music.pause
- end
-end)))
-
-local next = wibox.widget.textbox()
-next.font = helpers.ui.set_font("26")
-next.markup = config.icons.music.next
-
-next:buttons(gears.table.join(awful.button({}, 1, function()
- awful.spawn("mpc next", false)
-end)))
-
-local back = wibox.widget.textbox()
-back.font = helpers.ui.set_font("26")
-back.markup = config.icons.music.prev
-
-back:buttons(gears.table.join(awful.button({}, 1, function()
- awful.spawn("mpc prev", false)
-end)))
-
--- Get data
-awesome.connect_signal("signal::player", function(t, a, l, s)
- if not s:match("playing") then
- toggle.markup = config.icons.music.play
- else
- toggle.markup = config.icons.music.pause
- end
-
- title.markup = t
- artist.markup = a
- length.markup = l
-end)
-
--- Grouping Widgets
----------------------
-
-local buttons = wibox.widget({
- back,
- toggle,
- next,
- spacing = dpi(11),
- layout = wibox.layout.fixed.horizontal,
-})
-
-return wibox.widget({
- {
- nil,
- {
- title,
- artist,
- spacing = dpi(12),
- layout = wibox.layout.fixed.vertical,
- },
- expand = "none",
- layout = wibox.layout.align.vertical,
- },
- {
- nil,
- nil,
- {
- length,
- {
- nil,
- buttons,
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- spacing = dpi(6),
- layout = wibox.layout.fixed.vertical,
- },
- top = dpi(30),
- bottom = 0,
- layout = wibox.container.margin,
- },
- layout = wibox.layout.flex.horizontal,
-})
diff --git a/.config/awesome/ui/info-panel/profile.lua b/.config/awesome/ui/info-panel/profile.lua
deleted file mode 100644
index f516f81..0000000
--- a/.config/awesome/ui/info-panel/profile.lua
+++ /dev/null
@@ -1,179 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local gears = require("gears")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local os_user = os.getenv("USER")
-
-if not os_user then
- os_user = "user"
-end
-
--- Create Widgets
--------------------
-
--- Pfp
-local pfp = wibox.widget.imagebox()
-pfp.image = require("config").theme.pfp
-pfp.clip_shape = gears.shape.circle
-pfp.forced_width = dpi(130)
-pfp.forced_height = dpi(130)
-
--- User
-local user = wibox.widget.textbox()
-user.font = helpers.ui.set_font("SemiBold 18")
-user.halign = "left"
-user.markup = helpers.ui.colorize_text(os_user, theme.fg_normal)
-
--- Hostname
-local hostname = wibox.widget.textbox()
-hostname.font = helpers.ui.set_font("Regular 14")
-hostname.halign = "left"
-
-awful.spawn.easy_async_with_shell("hostnamectl --static", function(stdout)
- hostname.markup = helpers.ui.colorize_text("@" .. tostring(stdout), theme.color.lavender)
-end)
-
--- Battery
-local uptimeosd = wibox.widget.textbox()
-uptimeosd.font = helpers.ui.set_font("12")
-uptimeosd.halign = "center"
-
--- Get data 4 widgets!
-awesome.connect_signal("signal::uptime", function(uptime)
- uptimeosd.markup = helpers.ui.colorize_text("up " .. uptime, theme.fg_normal)
-end)
-
--- Spacing horizontally
-local shutdown = wibox.widget({
- {
- {
- font = helpers.ui.set_font("30"),
- markup = helpers.ui.colorize_text(config.icons.power, theme.color.red),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox,
- },
- top = dpi(9),
- bottom = dpi(9),
- left = dpi(11),
- right = dpi(11),
- widget = wibox.container.margin,
- },
- bg = theme.color.surface1,
- shape = helpers.ui.rrect(8),
- widget = wibox.container.background,
-})
-
-local reboot = wibox.widget({
- {
- {
- font = helpers.ui.set_font("30"),
- markup = helpers.ui.colorize_text(config.icons.restart, theme.color.blue),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox,
- },
- top = dpi(9),
- bottom = dpi(9),
- left = dpi(11),
- right = dpi(11),
- widget = wibox.container.margin,
- },
- bg = theme.color.surface1,
- shape = helpers.ui.rrect(8),
- widget = wibox.container.background,
-})
-shutdown:connect_signal("mouse::enter", function()
- shutdown.bg = theme.color.surface2
-end)
-
-shutdown:connect_signal("mouse::leave", function()
- shutdown.bg = theme.color.surface1
-end)
-
-reboot:connect_signal("mouse::enter", function()
- reboot.bg = theme.color.surface2
-end)
-
-reboot:connect_signal("mouse::leave", function()
- reboot.bg = theme.color.surface1
-end)
-
-shutdown:buttons(gears.table.join(awful.button({}, 1, function()
- awesome.emit_signal("module::exit_screen:show")
-end)))
-
-reboot:buttons(gears.table.join(awful.button({}, 1, function()
- awful.spawn.with_shell("loginctl reboot")
-end)))
-
--- Grouping widgets
----------------------
-local buttons = wibox.widget({
- {
- reboot,
- shutdown,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- top = dpi(10),
- left = dpi(57),
- widget = wibox.container.margin,
-})
-
-local name = wibox.widget({
- {
- user,
- hostname,
- spacing = dpi(4),
- layout = wibox.layout.fixed.vertical,
- },
- left = 0,
- widget = wibox.container.margin,
-})
-
-local uptimebox = wibox.widget({
- {
- {
- uptimeosd,
- spacing = dpi(2),
- layout = wibox.layout.fixed.vertical,
- },
- top = dpi(3),
- bottom = dpi(3),
- widget = wibox.container.margin,
- },
- bg = theme.color.surface0,
- shape = helpers.ui.rrect(7),
- widget = wibox.container.background,
-})
-
--- The Profile Widget
-return wibox.widget({
- {
- {
- pfp,
- uptimebox,
- spacing = dpi(20),
- layout = wibox.layout.fixed.vertical,
- },
- layout = wibox.layout.fixed.vertical,
- },
- {
- {
- name,
- buttons,
- layout = wibox.layout.fixed.vertical,
- },
- top = dpi(30),
- layout = wibox.container.margin,
- },
- spacing = dpi(30),
- layout = wibox.layout.fixed.horizontal,
-})
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-clear-night.svg b/.config/awesome/ui/info-panel/weather/icons/weather-clear-night.svg
deleted file mode 100644
index ecf451a..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-clear-night.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-clear-sky.svg b/.config/awesome/ui/info-panel/weather/icons/weather-clear-sky.svg
deleted file mode 100644
index e84065c..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-clear-sky.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-clouds-night.svg b/.config/awesome/ui/info-panel/weather/icons/weather-clouds-night.svg
deleted file mode 100644
index 1a00dff..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-clouds-night.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-clouds.svg b/.config/awesome/ui/info-panel/weather/icons/weather-clouds.svg
deleted file mode 100644
index d709745..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-clouds.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-few-clouds-night.svg b/.config/awesome/ui/info-panel/weather/icons/weather-few-clouds-night.svg
deleted file mode 100644
index e8243ae..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-few-clouds-night.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-few-clouds.svg b/.config/awesome/ui/info-panel/weather/icons/weather-few-clouds.svg
deleted file mode 100644
index 7279f9f..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-few-clouds.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-fog.svg b/.config/awesome/ui/info-panel/weather/icons/weather-fog.svg
deleted file mode 100644
index 81d0a39..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-fog.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-freezing-rain.svg b/.config/awesome/ui/info-panel/weather/icons/weather-freezing-rain.svg
deleted file mode 100644
index d83c93a..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-freezing-rain.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-overcast-symbolic.svg b/.config/awesome/ui/info-panel/weather/icons/weather-overcast-symbolic.svg
deleted file mode 100644
index 79a543f..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-overcast-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-overcast.svg b/.config/awesome/ui/info-panel/weather/icons/weather-overcast.svg
deleted file mode 100644
index e85bb96..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-overcast.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-severe-alert.svg b/.config/awesome/ui/info-panel/weather/icons/weather-severe-alert.svg
deleted file mode 100644
index 3a512f7..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-severe-alert.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-showers-scattered.svg b/.config/awesome/ui/info-panel/weather/icons/weather-showers-scattered.svg
deleted file mode 100644
index 7749e85..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-showers-scattered.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-showers.svg b/.config/awesome/ui/info-panel/weather/icons/weather-showers.svg
deleted file mode 100644
index b0f387f..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-showers.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-snow-rain.svg b/.config/awesome/ui/info-panel/weather/icons/weather-snow-rain.svg
deleted file mode 100644
index 391fac5..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-snow-rain.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-snow-scattered.svg b/.config/awesome/ui/info-panel/weather/icons/weather-snow-scattered.svg
deleted file mode 100644
index 9be2009..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-snow-scattered.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-snow.svg b/.config/awesome/ui/info-panel/weather/icons/weather-snow.svg
deleted file mode 100644
index d1f7d1c..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-snow.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-storm.svg b/.config/awesome/ui/info-panel/weather/icons/weather-storm.svg
deleted file mode 100644
index cb2cba6..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-storm.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/icons/weather-windy.svg b/.config/awesome/ui/info-panel/weather/icons/weather-windy.svg
deleted file mode 100644
index 65bec4f..0000000
--- a/.config/awesome/ui/info-panel/weather/icons/weather-windy.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/.config/awesome/ui/info-panel/weather/init.lua b/.config/awesome/ui/info-panel/weather/init.lua
deleted file mode 100644
index b9437e2..0000000
--- a/.config/awesome/ui/info-panel/weather/init.lua
+++ /dev/null
@@ -1,229 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local gears = require("gears")
-local beautiful = require("beautiful")
-local json = require("lib.json")
-local helpers = require("helpers")
-
-local config = require("config").widget.weather
-
-local dpi = beautiful.xresources.apply_dpi
-local icon_dir = gears.filesystem.get_configuration_dir() .. "ui/info-panel/weather/icons/"
-
---- Weather Widget
---- ~~~~~~~~~~~~~~
-
-local GET_FORECAST_CMD = [[bash -c "curl -s --show-error -X GET '%s'"]]
-
-local icon_map = {
- ["01d"] = "weather-clear-sky",
- ["02d"] = "weather-few-clouds",
- ["03d"] = "weather-clouds",
- ["04d"] = "weather-few-clouds",
- ["09d"] = "weather-showers-scattered",
- ["10d"] = "weather-showers",
- ["11d"] = "weather-strom",
- ["13d"] = "weather-snow",
- ["50d"] = "weather-fog",
- ["01n"] = "weather-clear-night",
- ["02n"] = "weather-few-clouds-night",
- ["03n"] = "weather-clouds-night",
- ["04n"] = "weather-clouds-night",
- ["09n"] = "weather-showers-scattered",
- ["10n"] = "weather-showers",
- ["11n"] = "weather-strom",
- ["13n"] = "weather-snow",
- ["50n"] = "weather-fog",
-}
-
-local current_weather_widget = wibox.widget({
- {
- {
- id = "icon",
- image = icon_dir .. "weather-showers.svg",
- resize = true,
- forced_height = dpi(42),
- forced_width = dpi(42),
- widget = wibox.widget.imagebox,
- },
- {
- {
- {
- id = "description",
- text = "Mostly cloudy",
- font = helpers.ui.set_font("Bold 10"),
- widget = wibox.widget.textbox,
- },
- {
- id = "humidity",
- text = "Humidity: 80%",
- font = helpers.ui.set_font("9"),
- widget = wibox.widget.textbox,
- },
- layout = wibox.layout.fixed.vertical,
- },
- widget = wibox.container.place,
- },
- spacing = dpi(10),
- layout = wibox.layout.fixed.horizontal,
- },
- nil,
- {
- {
- {
- id = "temp_current",
- markup = "20°",
- halign = "right",
- font = helpers.ui.set_font("Bold 16"),
- widget = wibox.widget.textbox,
- },
- {
- id = "feels_like",
- markup = "Feels like: 19°",
- font = helpers.ui.set_font("8"),
- widget = wibox.widget.textbox,
- },
- spacing = dpi(-6),
- layout = wibox.layout.fixed.vertical,
- },
- widget = wibox.container.place,
- },
- layout = wibox.layout.align.horizontal,
-})
-
-local hourly_widget = function()
- local widget = wibox.widget({
- {
- {
- id = "time",
- text = "12PM",
- font = helpers.ui.set_font("9"),
- widget = wibox.widget.textbox,
- },
- widget = wibox.container.place,
- },
- {
- {
- id = "icon",
- image = icon_dir .. "weather-clear-sky.svg",
- resize = true,
- forced_height = dpi(16),
- forced_width = dpi(16),
- widget = wibox.widget.imagebox,
- },
- widget = wibox.container.place,
- },
- {
- {
- id = "temp",
- markup = "1°",
- font = helpers.ui.set_font("9"),
- widget = wibox.widget.textbox,
- },
- widget = wibox.container.place,
- },
- spacing = dpi(6),
- layout = wibox.layout.fixed.vertical,
- })
-
- widget.update = function(result)
- local time = widget:get_children_by_id("time")[1]
- local icon = widget:get_children_by_id("icon")[1]
- local temp = widget:get_children_by_id("temp")[1]
-
- temp:set_markup(math.floor(result.temp) .. "°")
-
- time:set_text(os.date("%I%p", tonumber(result.dt)))
-
- icon.image = icon_dir .. icon_map[result.weather[1].icon] .. ".svg"
-
- icon:emit_signal("widget::redraw_needed")
- end
-
- return widget
-end
-
-local hourly_widget_1 = hourly_widget()
-local hourly_widget_2 = hourly_widget()
-local hourly_widget_3 = hourly_widget()
-local hourly_widget_4 = hourly_widget()
-local hourly_widget_5 = hourly_widget()
-local hourly_widget_6 = hourly_widget()
-
-local weather_widget = wibox.widget({
- {
- text = "Weather",
- font = helpers.ui.set_font("Bold 16"),
- halign = "center",
- widget = wibox.widget.textbox,
- },
- current_weather_widget,
- {
- hourly_widget_1,
- hourly_widget_2,
- hourly_widget_3,
- hourly_widget_4,
- hourly_widget_5,
- hourly_widget_6,
- spacing = dpi(10),
- layout = wibox.layout.flex.horizontal,
- },
- spacing = dpi(10),
- layout = wibox.layout.fixed.vertical,
-})
-
-local show_hourly_forecast = true
-local show_daily_forecast = true
-
-local url = (
- "https://api.openweathermap.org/data/2.5/onecall"
- .. "?lat="
- .. config.coordinates.lat
- .. "&lon="
- .. config.coordinates.lon
- .. "&appid="
- .. config.api_key
- .. "&units="
- .. config.units
- .. "&exclude=minutely"
- .. (show_hourly_forecast == false and ",hourly" or "")
- .. (show_daily_forecast == false and ",daily" or "")
-)
-
-awful.widget.watch(string.format(GET_FORECAST_CMD, url), 600, function(_, stdout, stderr)
- if stderr == "" then
- local result = json.decode(stdout)
-
- if not result.current then
- return
- end
-
- -- Current weather setup
- local icon = current_weather_widget:get_children_by_id("icon")[1]
- local description = current_weather_widget:get_children_by_id("description")[1]
- local humidity = current_weather_widget:get_children_by_id("humidity")[1]
- local temp_current = current_weather_widget:get_children_by_id("temp_current")[1]
- local feels_like = current_weather_widget:get_children_by_id("feels_like")[1]
-
- icon.image = icon_dir .. icon_map[result.current.weather[1].icon] .. ".svg"
- icon:emit_signal("widget::redraw_needed")
-
- description:set_text(result.current.weather[1].description:gsub("^%l", string.upper))
-
- humidity:set_text("Humidity: " .. result.current.humidity .. "%")
-
- temp_current:set_markup(math.floor(result.current.temp) .. "°")
-
- feels_like:set_markup("Feels like: " .. math.floor(result.current.feels_like) .. "°")
-
- -- Hourly widget setup
- hourly_widget_1.update(result.hourly[1])
- hourly_widget_2.update(result.hourly[2])
- hourly_widget_3.update(result.hourly[3])
- hourly_widget_4.update(result.hourly[4])
- hourly_widget_5.update(result.hourly[5])
- hourly_widget_6.update(result.hourly[6])
- end
-end)
-
-return weather_widget
diff --git a/.config/awesome/ui/init.lua b/.config/awesome/ui/init.lua
deleted file mode 100644
index 7b7d1af..0000000
--- a/.config/awesome/ui/init.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-require("ui.popups")
-require("ui.notif-panel")
-require("ui.info-panel")
-require("ui.top-panel")
-require("ui.titlebar")
diff --git a/.config/awesome/ui/notif-panel/init.lua b/.config/awesome/ui/notif-panel/init.lua
deleted file mode 100644
index 04deb87..0000000
--- a/.config/awesome/ui/notif-panel/init.lua
+++ /dev/null
@@ -1,334 +0,0 @@
-local gears = require("gears")
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-local naughty = require("naughty")
-local rubato = require("lib.rubato")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local notifs_text = wibox.widget({
- font = helpers.ui.set_font("Bold 20"),
- markup = "Notifications",
- halign = "center",
- widget = wibox.widget.textbox,
-})
-
-local notifs_clear = wibox.widget({
- markup = helpers.ui.colorize_text(" ", theme.color.red),
- font = helpers.ui.set_font("Bold 21"),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox,
-})
-
-notifs_clear:buttons(gears.table.join(awful.button({}, 1, function()
- _G.Notif_center_reset_notifs_container()
-end)))
-
-helpers.ui.add_hover_cursor(notifs_clear, "hand2")
-
-local notifs_empty = wibox.widget({
- {
- nil,
- {
- nil,
- {
- markup = helpers.ui.colorize_text("Nothing Here!", theme.color.subtext1),
- font = helpers.ui.set_font("Bold 17"),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox,
- },
- layout = wibox.layout.align.vertical,
- },
- layout = wibox.layout.align.horizontal,
- },
- forced_height = dpi(730),
- widget = wibox.container.background,
- bg = theme.color.surface0,
- shape = helpers.ui.rrect(8),
-})
-
-local notifs_container = wibox.widget({
- spacing = dpi(10),
- spacing_widget = {
- {
- shape = helpers.ui.rrect(8),
- widget = wibox.container.background,
- },
- top = dpi(2),
- bottom = dpi(2),
- left = dpi(6),
- right = dpi(6),
- widget = wibox.container.margin,
- },
- forced_width = dpi(320),
- forced_height = dpi(730), --Use it like in notifs_empty else it will look weird
- layout = wibox.layout.fixed.vertical,
-})
-
-local remove_notifs_empty = true
-
-Notif_center_reset_notifs_container = function()
- notifs_container:reset(notifs_container)
- notifs_container:insert(1, notifs_empty)
- remove_notifs_empty = true
-end
-
-Notif_center_remove_notif = function(box)
- notifs_container:remove_widgets(box)
-
- if #notifs_container.children == 0 then
- notifs_container:insert(1, notifs_empty)
- remove_notifs_empty = true
- end
-end
-
-local create_notif = function(icon, n)
- local time = os.date("%H:%M")
- local box = {}
-
- box = wibox.widget({
- {
- {
- {
- {
- image = icon,
- resize = true,
- clip_shape = helpers.ui.rrect(8),
- halign = "center",
- valign = "center",
- widget = wibox.widget.imagebox,
- },
- strategy = "exact",
- height = dpi(50),
- width = dpi(50),
- widget = wibox.container.constraint,
- },
- {
- {
- nil,
- {
- {
- {
- step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- speed = dpi(50),
- {
- markup = n.title,
- font = helpers.ui.set_font("Bold 9"),
- halign = "left",
- widget = wibox.widget.textbox,
- },
- forced_width = dpi(140),
- widget = wibox.container.scroll.horizontal,
- },
- nil,
- {
- markup = helpers.ui.colorize_text(time, theme.color.subtext1),
- halign = "right",
- valign = "bottom",
- font = helpers.ui.set_font("Bold 10"),
- widget = wibox.widget.textbox,
- },
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- {
- step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- speed = dpi(50),
- {
- markup = n.message,
- halign = "left",
- widget = wibox.widget.textbox,
- },
- forced_width = dpi(165),
- widget = wibox.container.scroll.horizontal,
- },
- spacing = dpi(3),
- layout = wibox.layout.fixed.vertical,
- },
- expand = "none",
- layout = wibox.layout.align.vertical,
- },
- left = dpi(17),
- widget = wibox.container.margin,
- },
- layout = wibox.layout.align.horizontal,
- },
- margins = dpi(15),
- widget = wibox.container.margin,
- },
- forced_height = dpi(85),
- widget = wibox.container.background,
- bg = theme.color.surface0,
- shape = helpers.ui.rrect(8),
- })
-
- box:buttons(gears.table.join(awful.button({}, 1, function()
- _G.Notif_center_remove_notif(box)
- end)))
-
- return box
-end
-
-notifs_container:buttons(gears.table.join(
- awful.button({}, 4, nil, function()
- if #notifs_container.children == 1 then
- return
- end
- notifs_container:insert(1, notifs_container.children[#notifs_container.children])
- notifs_container:remove(#notifs_container.children)
- end),
-
- awful.button({}, 5, nil, function()
- if #notifs_container.children == 1 then
- return
- end
- notifs_container:insert(#notifs_container.children + 1, notifs_container.children[1])
- notifs_container:remove(1)
- end)
-))
-
-notifs_container:insert(1, notifs_empty)
-
-naughty.connect_signal("request::display", function(n)
- if #notifs_container.children == 1 and remove_notifs_empty then
- notifs_container:reset(notifs_container)
- remove_notifs_empty = false
- end
-
- local appicon = n.icon or n.app_icon
- if not appicon then
- appicon = theme.pfp --notification_icon
- end
-
- notifs_container:insert(1, create_notif(appicon, n))
-end)
-
-local notifs = wibox.widget({
- {
- {
- {
- nil,
- notifs_text,
- notifs_clear,
- expand = "none",
- layout = wibox.layout.align.horizontal,
- },
- left = dpi(5),
- right = dpi(5),
- top = dpi(7),
- bottom = dpi(7),
- layout = wibox.container.margin,
- },
- widget = wibox.container.background,
- bg = theme.color.surface0,
- shape = helpers.ui.rrect(8),
- },
- notifs_container,
- spacing = dpi(20),
- layout = wibox.layout.fixed.vertical,
-})
-
-local actions = wibox.widget({
- {
- {
- {
- widget = require("ui.notif-panel.widgets.vol_slider"),
- },
- {
- widget = require("ui.notif-panel.widgets.mic_slider"),
- },
- layout = wibox.layout.flex.vertical,
- spacing = dpi(1),
- },
- widget = wibox.container.margin,
- top = dpi(20),
- bottom = dpi(20),
- left = dpi(35),
- right = dpi(35),
- },
- forced_height = dpi(120),
- widget = wibox.container.background,
- bg = theme.color.surface0,
- shape = helpers.ui.rrect(8),
-})
-
--- Sidebar
-local action = wibox({
- visible = false,
- ontop = true,
- width = dpi(410),
- height = awful.screen.focused().geometry.height - dpi(100),
- y = dpi(60),
- bg = theme.bg_normal,
- border_width = theme.border_width * 2,
- border_color = theme.border_normal,
-})
-
--- Sidebar widget setup
-action:setup({
- {
- notifs,
- nil,
- actions,
- spacing = dpi(20),
- layout = wibox.layout.align.vertical,
- },
- margins = {
- top = dpi(20),
- bottom = dpi(20),
- left = dpi(20),
- right = dpi(20),
- },
- widget = wibox.container.margin,
-})
-
--- Slide animation
-local slide = rubato.timed({
- pos = awful.screen.focused().geometry.x - awful.screen.focused().geometry.width,
- rate = 60,
- intro = 0.2,
- duration = 0.4,
- subscribed = function(pos)
- action.x = awful.screen.focused().geometry.x - pos
- end,
-})
-
--- Timer of action's death
-action.timer = gears.timer({
- timeout = 0.5,
- single_shot = true,
- callback = function()
- action.visible = not action.visible
- end,
-})
-action.shape = function(cr, w, h) --Rounded Corners
- gears.shape.rounded_rect(cr, w, h, 14)
-end
-
--- Toggle function
-action.toggle = function()
- if action.visible then
- slide.target = awful.screen.focused().geometry.x - awful.screen.focused().geometry.width
- action.timer:start()
- else
- awesome.emit_signal("widget::update_vol")
- awesome.emit_signal("widget::update_mic")
- slide.target = awful.screen.focused().geometry.x
- - awful.screen.focused().geometry.width
- + action.width
- + dpi(25)
- action.visible = not action.visible
- end
-end
-
--- Get signal to execute the function (if that makes sense)
-awesome.connect_signal("action::toggle", function()
- action.toggle()
-end)
-
-return action
diff --git a/.config/awesome/ui/notif-panel/widgets/bri_slider.lua b/.config/awesome/ui/notif-panel/widgets/bri_slider.lua
deleted file mode 100644
index 7cb05e0..0000000
--- a/.config/awesome/ui/notif-panel/widgets/bri_slider.lua
+++ /dev/null
@@ -1,50 +0,0 @@
-local gears = require("gears")
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local slider = wibox.widget({
- bar_shape = helpers.ui.rrect(9),
- bar_height = 6,
- bar_color = theme.bg_focus,
- bar_active_color = theme.color.yellow,
- handle_shape = gears.shape.circle,
- handle_color = theme.color.yellow,
- handle_width = dpi(12),
- value = dpi(25),
- widget = wibox.widget.slider,
-})
-
-helpers.ui.add_hover_cursor(slider, "hand1")
-
-local bri_slider = wibox.widget({
- {
- markup = helpers.ui.colorize_text(" ", theme.color.yellow),
- font = helpers.ui.set_font("14"),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox(),
- },
- slider,
- layout = wibox.layout.fixed.horizontal,
- spacing = 0,
-})
-
-awful.spawn.easy_async_with_shell(
- "brightnessctl | grep -i 'current' | awk '{ print $4}' | tr -d \"(%)\"",
- function(stdout)
- local value = string.gsub(stdout, "^%s*(.-)%s*$", "%1")
- bri_slider.value = tonumber(value)
- end
-)
-
-slider:connect_signal("property::value", function(_, new_value)
- slider.value = new_value
- awful.spawn("brightnessctl set " .. new_value .. "%", false)
-end)
-
-return bri_slider
diff --git a/.config/awesome/ui/notif-panel/widgets/mic_slider.lua b/.config/awesome/ui/notif-panel/widgets/mic_slider.lua
deleted file mode 100644
index 338538e..0000000
--- a/.config/awesome/ui/notif-panel/widgets/mic_slider.lua
+++ /dev/null
@@ -1,124 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local config = require("config")
-local microphone = config.widget.mic.name
-
-local slider = wibox.widget({
- bar_shape = helpers.ui.rrect(9),
- bar_height = dpi(6),
- bar_color = theme.color.base,
- bar_active_color = theme.color.blue,
- handle_shape = gears.shape.circle,
- handle_color = theme.color.blue,
- handle_width = dpi(12),
- value = dpi(75),
- forced_width = dpi(239),
- widget = wibox.widget.slider,
-})
-
-local osd_value = wibox.widget({
- text = "0%",
- font = helpers.ui.set_font("10"),
- widget = wibox.widget.textbox(),
-})
-local icon = wibox.widget({
- markup = helpers.ui.colorize_text("", theme.color.blue),
- font = helpers.ui.set_font("14"),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox(),
-})
-
-local function get_val()
- awesome.connect_signal("signal::mic", function(_, muted)
- if muted then
- icon.markup = helpers.ui.colorize_text("", theme.color.blue)
- icon.font = helpers.ui.set_font("14")
- else
- icon.markup = helpers.ui.colorize_text("", theme.color.blue)
- icon.font = helpers.ui.set_font("17")
- end
- end)
-end
-
-get_val()
-
-icon:buttons(gears.table.join(awful.button({}, 1, function()
- local script = "pamixer --source" .. microphone .. "-t"
-
- awful.spawn(script, false)
- awesome.emit_signal("widget::update_mic")
-end)))
-
-slider:buttons(gears.table.join(
- awful.button({}, 4, nil, function()
- if slider:get_value() > 100 then
- slider:set_value(100)
- return
- end
- slider:set_value(slider:get_value() + 5)
- end),
-
- awful.button({}, 5, nil, function()
- if slider:get_value() < 0 then
- slider:set_value(0)
- return
- end
- slider:set_value(slider:get_value() - 5)
- end)
-))
-
-helpers.ui.add_hover_cursor(slider, "hand1")
-helpers.ui.add_hover_cursor(icon, "hand2")
-
-local mic_slider = wibox.widget({
- {
- {
- layout = wibox.layout.fixed.horizontal,
- icon,
- },
- left = 0,
- right = dpi(14),
- top = dpi(5),
- bottom = dpi(5),
- layout = wibox.container.margin,
- },
- slider,
- layout = wibox.layout.fixed.horizontal,
- {
- {
- layout = wibox.layout.fixed.horizontal,
- osd_value,
- },
- left = dpi(3),
- right = 0,
- top = 0,
- bottom = 0,
- layout = wibox.container.margin,
- },
-})
-
-local update_microphone = function() -- Sets the Volume Correct
- awful.spawn.easy_async_with_shell("pamixer --source " .. microphone .. " --get-volume", function(stdout)
- slider.value = tonumber(stdout:match("%d+"))
- end)
-end
-
-awesome.connect_signal("widget::update_mic", function()
- update_microphone()
-end)
-
-slider:connect_signal("property::value", function(_, new_value)
- awful.spawn("pamixer --source " .. microphone .. " --set-volume " .. new_value, false)
- local volume_level = slider:get_value()
- osd_value.text = volume_level .. "%"
-end)
-
-return mic_slider
diff --git a/.config/awesome/ui/notif-panel/widgets/vol_slider.lua b/.config/awesome/ui/notif-panel/widgets/vol_slider.lua
deleted file mode 100644
index 4b4c1f4..0000000
--- a/.config/awesome/ui/notif-panel/widgets/vol_slider.lua
+++ /dev/null
@@ -1,124 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local slider = wibox.widget({
- bar_shape = helpers.ui.rrect(9),
- bar_height = dpi(6),
- bar_color = theme.color.base,
- bar_active_color = theme.color.blue,
- handle_shape = gears.shape.circle,
- handle_color = theme.color.blue,
- handle_width = dpi(12),
- value = dpi(75),
- forced_width = dpi(239),
- widget = wibox.widget.slider,
-})
-
-local osd_value = wibox.widget({
- text = "0%",
- font = helpers.ui.set_font("10"),
- widget = wibox.widget.textbox(),
-})
-local icon = wibox.widget({
- markup = helpers.ui.colorize_text(" ", theme.color.blue),
- font = helpers.ui.set_font("14"),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox(),
-})
-
-local function get_val()
- awesome.connect_signal("signal::volume", function(_, muted)
- if muted then
- icon.markup = helpers.ui.colorize_text("", theme.color.blue)
- else
- icon.markup = helpers.ui.colorize_text("", theme.color.blue)
- end
- end)
-end
-
-get_val()
-
-icon:buttons(gears.table.join(awful.button({}, 1, function()
- local script = "pamixer -t"
-
- awful.spawn(script, false)
- awesome.emit_signal("widget::update_vol")
-end)))
-
-slider:buttons(gears.table.join(
- awful.button({}, 4, nil, function()
- if slider:get_value() > 100 then
- slider:set_value(100)
- return
- end
- slider:set_value(slider:get_value() + 5)
- end),
-
- awful.button({}, 5, nil, function()
- if slider:get_value() < 0 then
- slider:set_value(0)
- return
- end
- slider:set_value(slider:get_value() - 5)
- end)
-))
-
-helpers.ui.add_hover_cursor(slider, "hand1")
-helpers.ui.add_hover_cursor(icon, "hand2")
-
-local vol_slider = wibox.widget({
- {
- {
- layout = wibox.layout.fixed.horizontal,
- icon,
- },
- left = 0,
- right = dpi(14),
- top = dpi(5),
- bottom = dpi(5),
- layout = wibox.container.margin,
- },
- slider,
- layout = wibox.layout.fixed.horizontal,
- {
- {
- layout = wibox.layout.fixed.horizontal,
- osd_value,
- },
- left = dpi(3),
- right = 0,
- top = 0,
- bottom = 0,
- layout = wibox.container.margin,
- },
-})
-
-local update_volume = function() -- Sets the Volume Correct
- awful.spawn.easy_async_with_shell("pamixer --get-volume", function(stdout)
- slider.value = tonumber(stdout:match("%d+"))
- end)
-end
-
-awesome.connect_signal("widget::update_vol", function()
- update_volume()
-end)
-
-awesome.connect_signal("widget::update_vol_slider", function(volume_level)
- slider:set_value(volume_level)
-end)
-
-slider:connect_signal("property::value", function(_, new_value)
- awful.spawn("pamixer --set-volume " .. new_value, false)
- awesome.emit_signal("widget::update_vol_pulse") -- update_vol_pulse doesn't Update Volume Signal
- local volume_level = slider:get_value()
- osd_value.text = volume_level .. "%"
-end)
-
-return vol_slider
diff --git a/.config/awesome/ui/popups/init.lua b/.config/awesome/ui/popups/init.lua
deleted file mode 100644
index 8d6ae8b..0000000
--- a/.config/awesome/ui/popups/init.lua
+++ /dev/null
@@ -1,10 +0,0 @@
-local req = {
- "layout",
- "notifications",
- "scratchpad",
- "volume",
-}
-
-for _, x in pairs(req) do
- require(... .. "." .. x)
-end
diff --git a/.config/awesome/ui/popups/layout/init.lua b/.config/awesome/ui/popups/layout/init.lua
deleted file mode 100644
index 08b5a28..0000000
--- a/.config/awesome/ui/popups/layout/init.lua
+++ /dev/null
@@ -1,131 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local beautiful = require("beautiful")
-local wibox = require("wibox")
-
-local keys = require("config").keys
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local ll = awful.widget.layoutlist({
- base_layout = wibox.widget({
- spacing = dpi(5),
- forced_num_cols = dpi(4),
- layout = wibox.layout.grid.vertical,
- }),
-
- widget_template = {
- {
- {
- id = "icon_role",
- forced_height = dpi(1),
- forced_width = dpi(1),
- widget = wibox.widget.imagebox,
- },
- margins = dpi(15),
- widget = wibox.container.margin,
- },
- id = "background_role",
- forced_width = dpi(70),
- forced_height = dpi(70),
- shape = gears.shape.rounded_rect,
- widget = wibox.container.background,
- },
-})
-
-local layout_popup = awful.popup({
- widget = wibox.widget({
- ll,
- margins = 4, --border margins (padding)
- widget = wibox.container.margin,
- }),
-
- border_color = theme.border_normal,
- bg = theme.bg_normal,
- border_width = theme.border_width,
- placement = awful.placement.centered,
- ontop = true,
- visible = false,
- shape = gears.shape.rounded_rect,
-})
-
-function gears.table.iterate_value(t, value, step_size, filter, _)
- local k = gears.table.hasitem(t, value)
- if not k then
- return
- end
-
- step_size = step_size or 1
- local new_key = gears.math.cycle(#t, k + step_size)
-
- if filter and not filter(t[new_key]) then
- for i = 1, #t do
- local k2 = gears.math.cycle(#t, new_key + i)
- if filter(t[k2]) then
- return t[k2], k2
- end
- end
-
- return
- end
-
- return t[new_key], new_key
-end
-
--- Timer for Death of PopUp
-layout_popup.timer = gears.timer({
- timeout = 0.8,
- single_shot = true,
- callback = function()
- layout_popup.visible = false
- end,
-})
-
-function layout_popup.changed()
- layout_popup.visible = true
- if not layout_popup.visible then
- layout_popup.timer:start()
- else
- layout_popup.timer:again()
- end
-end
-
--- Mouse Support
-layout_popup:connect_signal("mouse::enter", function()
- layout_popup.timer:stop()
-end)
-layout_popup:connect_signal("mouse::leave", function()
- layout_popup.timer:start()
-end)
-
-awful.keygrabber({
- start_callback = function()
- layout_popup.visible = true
- end,
-
- stop_callback = function()
- layout_popup.visible = false
- end,
-
- export_keybindings = true,
- stop_event = "release",
- stop_key = { "Escape", "Super_L", "Super_R" },
-
- keybindings = {
- {
- { keys.mod },
- " ",
- function()
- awful.layout.set(gears.table.iterate_value(ll.layouts, ll.current_layout, 1), layout_popup.changed())
- end,
- },
-
- {
- { keys.mod, "Shift" },
- " ",
- function()
- awful.layout.set(gears.table.iterate_value(ll.layouts, ll.current_layout, -1), layout_popup.changed())
- end,
- },
- },
-})
diff --git a/.config/awesome/ui/popups/notifications/error.lua b/.config/awesome/ui/popups/notifications/error.lua
deleted file mode 100644
index 5414ce0..0000000
--- a/.config/awesome/ui/popups/notifications/error.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-local naughty = require("naughty")
-
---- Check if awesome encountered an error during startup and fell back to
---- another config (This code will only ever execute for the fallback config)
-naughty.connect_signal("request::display_error", function(message, startup)
- naughty.notification({
- urgency = "critical",
- app_name = "Awesome",
- title = "Oops, an error happened" .. (startup and " during startup!" or "!"),
- message = message,
- })
-end)
diff --git a/.config/awesome/ui/popups/notifications/init.lua b/.config/awesome/ui/popups/notifications/init.lua
deleted file mode 100644
index 6f4590d..0000000
--- a/.config/awesome/ui/popups/notifications/init.lua
+++ /dev/null
@@ -1,350 +0,0 @@
-local gears = require("gears")
-local wibox = require("wibox")
-local awful = require("awful")
-local beautiful = require("beautiful")
-local naughty = require("naughty")
-local helpers = require("helpers")
-local menubar = require("menubar")
-local animation = require("lib.animation")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
---- Naughty Notifications with animation
---- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-naughty.persistence_enabled = true
-naughty.config.defaults.ontop = true
-naughty.config.defaults.timeout = 6
-naughty.config.defaults.title = "System Notification"
-naughty.config.defaults.position = "top_right"
-
-local function get_oldest_notification()
- for _, notification in ipairs(naughty.active) do
- if notification and notification.timeout > 0 then
- return notification
- end
- end
-
- --- Fallback to first one.
- return naughty.active[1]
-end
-
---- Handle notification icon
-naughty.connect_signal("request::icon", function(n, context, hints)
- --- Handle other contexts here
- if context ~= "app_icon" then
- return
- end
-
- --- Use XDG icon
- local path = menubar.utils.lookup_icon(hints.app_icon) or menubar.utils.lookup_icon(hints.app_icon:lower())
-
- if path then
- n.icon = path
- end
-end)
-
---- Use XDG icon
-naughty.connect_signal("request::action_icon", function(a, _, hints)
- a.icon = menubar.utils.lookup_icon(hints.id)
-end)
-
-naughty.connect_signal("request::display", function(n)
- --- random accent color
- local accent_colors = theme.color.accent
-
- --- table of icons
- local app_icons = {
- ["firefox"] = { icon = "" },
- ["discord"] = { icon = "" },
- ["music"] = { icon = "" },
- ["screenshot tool"] = { icon = "" },
- }
-
- local app_icon = nil
- local tolow = string.lower
-
- if app_icons[tolow(n.app_name)] then
- app_icon = app_icons[tolow(n.app_name)].icon
- else
- app_icon = ""
- end
-
- local app_icon_n = wibox.widget({
- {
- font = helpers.ui.set_font("Round 13"),
- markup = helpers.ui.colorize_text(app_icon, theme.color.base),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox,
- },
- bg = accent_colors,
- widget = wibox.container.background,
- shape = gears.shape.circle,
- forced_height = dpi(20),
- forced_width = dpi(20),
- })
-
- local icon = wibox.widget({
- {
- {
- {
- image = n.icon,
- resize = true,
- clip_shape = gears.shape.circle,
- halign = "center",
- valign = "center",
- widget = wibox.widget.imagebox,
- },
- border_width = dpi(2),
- border_color = accent_colors,
- shape = gears.shape.circle,
- widget = wibox.container.background,
- },
- strategy = "exact",
- height = dpi(50),
- width = dpi(50),
- widget = wibox.container.constraint,
- },
- {
- nil,
- nil,
- {
- nil,
- nil,
- app_icon_n,
- layout = wibox.layout.align.horizontal,
- expand = "none",
- },
- layout = wibox.layout.align.vertical,
- expand = "none",
- },
- layout = wibox.layout.stack,
- })
-
- local app_name = wibox.widget({
- font = helpers.ui.set_font("Bold 12"),
- text = n.app_name:gsub("^%l", string.upper),
- widget = wibox.widget.textbox,
- })
-
- local dismiss = wibox.widget({
- {
- font = helpers.ui.set_font("Bold 10"),
- markup = helpers.ui.colorize_text("", theme.color.accent),
- widget = wibox.widget.textbox,
- valign = "center",
- halign = "center",
- },
- margins = dpi(4),
- widget = wibox.container.margin,
- })
-
- dismiss:buttons(gears.table.join(awful.button({}, 1, function()
- n:destroy(naughty.notification_closed_reason.dismissed_by_user)
- end)))
-
- local timeout_arc = wibox.widget({
- widget = wibox.container.arcchart,
- forced_width = dpi(26),
- forced_height = dpi(26),
- max_value = 100,
- min_value = 0,
- value = 0,
- thickness = dpi(4),
- rounded_edge = true,
- bg = theme.color.base,
- colors = {
- {
- type = "linear",
- from = { 0, 0 },
- to = { 400, 400 },
- stops = {
- { 0, accent_colors },
- { 0.2, accent_colors },
- { 0.4, accent_colors },
- { 0.6, accent_colors },
- { 0.8, accent_colors },
- },
- },
- },
- dismiss,
- })
-
- local title2 = wibox.widget.textbox()
- title2.font = helpers.ui.set_font("Bold 11")
- title2.text = n.title
-
- local title = wibox.widget({
- widget = wibox.container.scroll.horizontal,
- step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- fps = 60,
- speed = 75,
- title2,
- })
-
- local message2 = wibox.widget.textbox()
- message2.font = helpers.ui.set_font("11")
- message2.text = n.message
-
- local message = wibox.widget({
- widget = wibox.container.scroll.horizontal,
- step_function = wibox.container.scroll.step_functions.waiting_nonlinear_back_and_forth,
- fps = 60,
- speed = 75,
- message2,
- })
-
- local actions = wibox.widget({
- notification = n,
-
- base_layout = wibox.widget({
- spacing = dpi(3),
- layout = wibox.layout.flex.horizontal,
- }),
-
- widget_template = {
- {
- {
- {
- id = "text_role",
- font = helpers.ui.set_font("10"),
- widget = wibox.widget.textbox,
- },
- left = dpi(6),
- right = dpi(6),
- widget = wibox.container.margin,
- },
- widget = wibox.container.place,
- },
- bg = theme.color.base,
- forced_height = dpi(25),
- forced_width = dpi(70),
- widget = wibox.container.background,
- },
- style = {
- underline_normal = false,
- underline_selected = true,
- },
- widget = naughty.list.actions,
- })
-
- local widget = naughty.layout.box({
- notification = n,
- type = "notification",
- cursor = "hand2",
- shape = helpers.ui.rrect(12),
- border_color = theme.color.surface0,
- border_width = dpi(3),
- maximum_width = dpi(350),
- maximum_height = dpi(180),
- bg = "#00000000",
-
- widget_template = {
- {
- layout = wibox.layout.fixed.vertical,
- {
- {
- {
- layout = wibox.layout.align.horizontal,
- app_name,
- nil,
- timeout_arc,
- },
- margins = { top = dpi(3), bottom = dpi(3), left = dpi(15), right = dpi(15) },
- widget = wibox.container.margin,
- },
- bg = theme.color.surface0,
- widget = wibox.container.background,
- },
- {
- {
- layout = wibox.layout.fixed.vertical,
- {
- layout = wibox.layout.fixed.horizontal,
- spacing = dpi(10),
- icon,
- {
- expand = "none",
- layout = wibox.layout.align.vertical,
- nil,
- {
- layout = wibox.layout.fixed.vertical,
- title,
- message,
- },
- nil,
- },
- },
- {
- helpers.ui.vertical_pad(dpi(10)),
- {
- actions,
- shape = helpers.ui.rrect(0),
- widget = wibox.container.background,
- },
- visible = n.actions and #n.actions > 0,
- layout = wibox.layout.fixed.vertical,
- },
- },
- margins = dpi(15),
- widget = wibox.container.margin,
- },
- },
- --- Anti-aliasing container
- shape = helpers.ui.rrect(0),
- bg = theme.color.base,
- widget = wibox.container.background,
- },
- })
-
- --- Don't destroy the notification on click ---
- widget.buttons = {}
-
- --- Disables Hand Cursor in Whole wibox ---
- helpers.ui.add_hover_cursor(widget, "left_ptr")
-
- --- Adds Close Cursor on Close Sign ---
- helpers.ui.add_hover_cursor(dismiss, "hand2")
-
- local anim = animation:new({
- duration = n.timeout,
- target = 100,
- easing = animation.easing.linear,
- reset_on_stop = false,
- update = function(_, pos)
- timeout_arc.value = pos
- end,
- })
-
- anim:connect_signal("ended", function()
- n:reset_timeout(0.0000001)
- end)
-
- widget:connect_signal("mouse::enter", function()
- n:reset_timeout(0)
- anim:stop()
- end)
-
- widget:connect_signal("mouse::leave", function()
- anim:start()
- end)
-
- local notification_height = widget.height + theme.notification_spacing
- local total_notifications_height = #naughty.active * notification_height
-
- if total_notifications_height > n.screen.workarea.height then
- get_oldest_notification():destroy(naughty.notification_closed_reason.too_many_on_screen)
- end
-
- anim:start()
-
- --- Destroy popups notifs if dont_disturb mode is on
- ---@diagnostic disable-next-line: undefined-field
- if _G.dnd_state then
- naughty.destroy_all_notifications(nil, 1)
- end
-end)
-
-require(... .. ".error")
diff --git a/.config/awesome/ui/popups/notifications/playerctl.lua b/.config/awesome/ui/popups/notifications/playerctl.lua
deleted file mode 100644
index 7343b37..0000000
--- a/.config/awesome/ui/popups/notifications/playerctl.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-local naughty = require("naughty")
-local playerctl_daemon = require("signals.playerctl")
-local beautiful = require("beautiful")
-
-local theme = beautiful.get()
-
-playerctl_daemon:connect_signal("metadata", function(_, title, artist, album_path, _, new, _)
- if album_path == "" then -- Sets Image for Notification --
- album_path = theme.music
- end
-
- if new == true then
- naughty.notify({
- app_name = "Music",
- title = title,
- text = artist,
- image = album_path,
- })
- end
-end)
diff --git a/.config/awesome/ui/popups/scratchpad/init.lua b/.config/awesome/ui/popups/scratchpad/init.lua
deleted file mode 100644
index a0661c9..0000000
--- a/.config/awesome/ui/popups/scratchpad/init.lua
+++ /dev/null
@@ -1,27 +0,0 @@
-local bling = require("lib.bling")
-local rubato = require("lib.rubato")
-
--- These are example rubato tables. You can use one for just y, just x, or both.
--- The duration and easing is up to you. Please check out the rubato docs to learn more.
-local anim_y = rubato.timed({
- pos = -1000,
- rate = 60,
- intro = 0.2,
- duration = 0.4,
- awestore_compat = true, -- This option must be set to true.
-})
-
-local term_scratch = bling.module.scratchpad({
- command = "alacritty --class spad", -- How to spawn the scratchpad
- rule = { instance = "spad" }, -- The rule that the scratchpad will be searched by
- sticky = true, -- Whether the scratchpad should be sticky
- autoclose = true, -- Whether it should hide itself when losing focus
- floating = true, -- Whether it should be floating (MUST BE TRUE FOR ANIMATIONS)
- geometry = { x = 456, y = 33, height = 600, width = 1000 }, -- The geometry in a floating state
- reapply = true, -- Whether all those properties should be reapplied on every new opening of the scratchpad (MUST BE TRUE FOR ANIMATIONS)
- dont_focus_before_close = false, -- When set to true, the scratchpad will be closed by the toggle function regardless of whether its focused or not. When set to false, the toggle function will first bring the scratchpad into focus and only close it on a second call
- rubato = { y = anim_y }, -- Optional. This is how you can pass in the rubato tables for animations. If you don't want animations, you can ignore this option.
-})
-awesome.connect_signal("scratchpad::toggle", function()
- term_scratch:toggle()
-end)
diff --git a/.config/awesome/ui/popups/volume/init.lua b/.config/awesome/ui/popups/volume/init.lua
deleted file mode 100644
index 98a3f84..0000000
--- a/.config/awesome/ui/popups/volume/init.lua
+++ /dev/null
@@ -1,284 +0,0 @@
-local gears = require("gears")
-local awful = require("awful")
-local beautiful = require("beautiful")
-local wibox = require("wibox")
-local helpers = require("helpers")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
---- Volume OSD
---- ~~~~~~~~~~
-local icon = wibox.widget({
- {
- id = "icon2",
- image = theme.volume_on,
- resize = true,
- widget = wibox.widget.imagebox,
- },
- forced_height = dpi(150),
- top = dpi(12),
- bottom = dpi(12),
- widget = wibox.container.margin,
-})
-
-local icon3 = icon.icon2
-
-local osd_header = wibox.widget({
- text = "Volume",
- font = helpers.ui.set_font("Bold 12"),
- halign = "left",
- valign = "center",
- widget = wibox.widget.textbox,
-})
-
-local osd_value = wibox.widget({
- text = "0%",
- font = helpers.ui.set_font("Bold 12"),
- halign = "center",
- valign = "center",
- widget = wibox.widget.textbox,
-})
-
-local slider_osd = wibox.widget({
- nil,
- {
- id = "vol_osd_slider",
- bar_shape = gears.shape.rounded_rect,
- bar_height = dpi(12),
- bar_color = theme.color.surface0,
- bar_active_color = theme.color.blue,
- handle_color = theme.color.blue,
- handle_shape = gears.shape.circle,
- handle_width = dpi(24),
- handle_border_color = "#00000012",
- handle_border_width = dpi(1),
- maximum = 100,
- widget = wibox.widget.slider,
- },
- nil,
- expand = "none",
- layout = wibox.layout.align.vertical,
-})
-
-local vol_osd_slider = slider_osd.vol_osd_slider
-
-vol_osd_slider:buttons(gears.table.join(
- awful.button({}, 4, nil, function()
- if vol_osd_slider:get_value() > 100 then
- vol_osd_slider:set_value(100)
- return
- end
- vol_osd_slider:set_value(vol_osd_slider:get_value() + 5)
- end),
-
- awful.button({}, 5, nil, function()
- if vol_osd_slider:get_value() < 0 then
- vol_osd_slider:set_value(0)
- return
- end
- vol_osd_slider:set_value(vol_osd_slider:get_value() - 5)
- end)
-))
-
-helpers.ui.add_hover_cursor(vol_osd_slider, "hand1")
-
-local update_volume = function() -- Sets the Volume Correct
- awful.spawn.easy_async_with_shell("pamixer --get-volume", function(stdout)
- vol_osd_slider.value = tonumber(stdout:match("%d+"))
- end)
-end
-
-awesome.connect_signal("widget::update_vol", function()
- update_volume()
-end)
-
-update_volume()
-
-vol_osd_slider:connect_signal("property::value", function(_, new_value)
- local volume_level = vol_osd_slider:get_value()
- awful.spawn("pamixer --set-volume " .. new_value, false)
-
- -- Update textbox widget text
- osd_value.text = volume_level .. "%"
-
- -- Update the volume slider if values here change
- awesome.emit_signal("widget::update_vol_pulse")
- awesome.emit_signal("widget::update_vol_slider", volume_level)
-
- if awful.screen.focused().show_vol_osd then
- awesome.emit_signal("module::volume_osd:show", true)
- end
-end)
-
-vol_osd_slider:connect_signal("button::press", function()
- awful.screen.focused().show_vol_osd = true
-end)
-
-vol_osd_slider:connect_signal("mouse::enter", function()
- awful.screen.focused().show_vol_osd = true
-end)
-
--- The emit will come from the volume-slider
-awesome.connect_signal("module::volume_osd", function(volume)
- vol_osd_slider:set_value(volume)
-end)
-
-local volume_osd_height = dpi(250)
-local volume_osd_width = dpi(250)
-
-screen.connect_signal("request::desktop_decoration", function(s)
- s = s or {}
- s.show_vol_osd = false
-
- s.volume_osd_overlay = awful.popup({
- type = "notification",
- screen = s,
- shape = helpers.ui.rrect(15),
- height = volume_osd_height,
- width = volume_osd_width,
- maximum_height = volume_osd_height,
- maximum_width = volume_osd_width,
- bg = theme.color.transparent,
- offset = dpi(5),
- border_width = dpi(3),
- border_color = theme.color.surface0,
- ontop = true,
- visible = false,
- preferred_anchors = "middle",
- preferred_positions = { "left", "right", "top", "bottom" },
- widget = {
- {
- {
- layout = wibox.layout.fixed.vertical,
- {
- {
- layout = wibox.layout.align.horizontal,
- expand = "none",
- nil,
- icon,
- nil,
- },
- {
- layout = wibox.layout.fixed.vertical,
- spacing = dpi(5),
- {
- layout = wibox.layout.align.horizontal,
- expand = "none",
- osd_header,
- nil,
- osd_value,
- },
- slider_osd,
- },
- spacing = dpi(10),
- layout = wibox.layout.fixed.vertical,
- },
- },
- left = dpi(24),
- right = dpi(24),
- widget = wibox.container.margin,
- },
- bg = theme.color.base,
- widget = wibox.container.background,
- },
- })
-
- -- Reset timer on mouse hover
- s.volume_osd_overlay:connect_signal("mouse::enter", function()
- awful.screen.focused().show_vol_osd = true
- awesome.emit_signal("module::volume_osd:rerun")
- end)
-end)
-
-local hide_osd = gears.timer({
- timeout = 1,
- autostart = true,
- callback = function()
- local focused = awful.screen.focused()
- focused.volume_osd_overlay.visible = false
- focused.show_vol_osd = false
- end,
-})
-
-awesome.connect_signal("module::volume_osd:rerun", function()
- if hide_osd.started then
- hide_osd:again()
- else
- hide_osd:start()
- end
-end)
-
-local placement_placer = function()
- local focused = awful.screen.focused()
- local volume_osd = focused.volume_osd_overlay
- awful.placement.centered(volume_osd)
-end
-
--- Get Vol
-local function get_vol()
- local script = "pamixer --get-volume"
- local script2 = "pamixer --get-mute"
-
- awful.spawn.easy_async_with_shell(script, function()
- awful.spawn.easy_async_with_shell(script2, function(is_mute)
- local muted
-
- if is_mute:match("true") then
- muted = true
- else
- muted = false
- end
-
- if muted then
- vol_osd_slider.bar_active_color = theme.color.red
- vol_osd_slider.handle_color = theme.color.red
- icon3.image = theme.volume_off
- else
- vol_osd_slider.bar_active_color = theme.color.blue
- vol_osd_slider.handle_color = theme.color.blue
- icon3.image = theme.volume_on
- end
- end)
- end)
-end
-
-awesome.connect_signal("module::volume_osd:show", function(bool)
- placement_placer()
-
- awful.screen.focused().volume_osd_overlay.visible = bool
-
- if bool then
- awesome.emit_signal("module::volume_osd:rerun")
- awesome.emit_signal("module::brightness_osd:show", false)
- else
- if hide_osd.started then
- hide_osd:stop()
- end
- end
-end)
-
-local volume = {}
-
-volume.increase = function()
- local script = "pamixer -i 5"
-
- awful.spawn(script, false)
- get_vol()
-end
-
-volume.decrease = function()
- local script = "pamixer -d 5"
-
- awful.spawn(script, false)
- get_vol()
-end
-
-volume.mute = function()
- local script = "pamixer -t"
-
- awful.spawn(script, false)
- get_vol()
-end
-
-return volume
diff --git a/.config/awesome/ui/titlebar/init.lua b/.config/awesome/ui/titlebar/init.lua
deleted file mode 100644
index 598c1c3..0000000
--- a/.config/awesome/ui/titlebar/init.lua
+++ /dev/null
@@ -1,57 +0,0 @@
-local awful = require("awful")
-local gears = require("gears")
-local wibox = require("wibox")
-local xresources = require("beautiful.xresources")
-
-local dpi = xresources.apply_dpi
-
--- Add a titlebar if titlebars_enabled is set to true in the rules.
-client.connect_signal("request::titlebars", function(c)
- -- buttons for the titlebar
- local buttons = gears.table.join(
- awful.button({}, 1, function()
- c:activate({ context = "titlebar", action = "mouse_move" })
- end),
-
- awful.button({}, 3, function()
- c:activate({ context = "titlebar", action = "mouse_resize" })
- end)
- )
-
- local titlebar_top = awful.titlebar(c, {
- size = 30,
- expand = "none",
- })
-
- local left = {
- buttons = buttons,
- layout = wibox.layout.fixed.horizontal(),
- }
-
- local middle = {
- buttons = buttons,
- layout = wibox.layout.fixed.horizontal(),
- }
-
- local right = {
- awful.titlebar.widget.maximizedbutton(c),
- awful.titlebar.widget.minimizebutton(c),
- awful.titlebar.widget.closebutton(c),
- spacing = dpi(11.5),
- layout = wibox.layout.fixed.horizontal(),
- }
-
- titlebar_top:setup({
- {
- left,
- middle,
- right,
- layout = wibox.layout.align.horizontal(),
- },
- left = dpi(13.5),
- right = dpi(13.5),
- top = dpi(7.4),
- bottom = dpi(7.4),
- layout = wibox.container.margin,
- })
-end)
diff --git a/.config/awesome/ui/top-panel/config.lua b/.config/awesome/ui/top-panel/config.lua
deleted file mode 100644
index 7f03189..0000000
--- a/.config/awesome/ui/top-panel/config.lua
+++ /dev/null
@@ -1,13 +0,0 @@
-local beautiful = require("beautiful")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local M = {
- margin = theme.useless_gap * 2,
- padding = theme.useless_gap / 1.5,
-}
-
-M.height = (M.padding * 2) + dpi(20)
-
-return M
diff --git a/.config/awesome/ui/top-panel/init.lua b/.config/awesome/ui/top-panel/init.lua
deleted file mode 100644
index 9a86e65..0000000
--- a/.config/awesome/ui/top-panel/init.lua
+++ /dev/null
@@ -1,110 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local widgets = require("ui.top-panel.widgets")
-local beautiful = require("beautiful")
-local gears = require("gears")
-local vars = require("ui.top-panel.config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-screen.connect_signal("request::desktop_decoration", function(s)
- local clockdate = wibox.widget({
- layout = wibox.layout.fixed.horizontal,
- widgets.date,
- widgets.clock,
- })
-
- local tasklist = wibox.widget({
- {
- layout = wibox.layout.fixed.horizontal,
- s.tasklist, -- needs to be here (under the screen.connect_signal) bc of the s
- },
- forced_width = dpi(300),
- layout = wibox.layout.fixed.horizontal,
- })
-
- local layoutbox = awful.widget.layoutbox({
- screen = s,
- buttons = {
- awful.button({}, 1, function()
- awful.layout.inc(1)
- end),
-
- awful.button({}, 3, function()
- awful.layout.inc(-1)
- end),
-
- awful.button({}, 4, function()
- awful.layout.inc(-1)
- end),
-
- awful.button({}, 5, function()
- awful.layout.inc(1)
- end),
- },
- })
-
- -- Create the wibox
- s.mywibox = awful.wibar({
- position = "top",
- screen = s,
- margins = {
- top = vars.margin,
- right = vars.margin,
- left = vars.margin,
- },
- border_width = theme.border_width,
- border_color = theme.border_normal,
- height = vars.height,
- shape = gears.shape.rounded_rect,
-
- widget = {
- layout = wibox.layout.align.horizontal,
- expand = "none",
- {
- { -- Left widgets
- layout = wibox.layout.fixed.horizontal,
- widgets.menu,
- widgets.seperator,
- s.taglist,
- widgets.seperator,
- tasklist,
- },
- left = theme.useless_gap,
- right = 0,
- top = vars.padding,
- bottom = vars.padding,
- layout = wibox.container.margin,
- },
- {
- {
- layout = wibox.layout.align.horizontal,
- clockdate,
- },
- left = 0,
- right = 0,
- top = vars.padding,
- bottom = vars.padding,
- layout = wibox.container.margin,
- },
- { -- Right widgets
- {
- layout = wibox.layout.fixed.horizontal,
- widgets.systray,
- widgets.seperator,
- widgets.audio,
- widgets.mem,
- widgets.cpu,
- widgets.disk,
- layoutbox,
- },
- left = 0,
- right = theme.useless_gap,
- top = vars.padding,
- bottom = vars.padding,
- layout = wibox.container.margin,
- },
- },
- })
-end)
diff --git a/.config/awesome/ui/top-panel/widgets/clock.lua b/.config/awesome/ui/top-panel/widgets/clock.lua
deleted file mode 100644
index b84def2..0000000
--- a/.config/awesome/ui/top-panel/widgets/clock.lua
+++ /dev/null
@@ -1,34 +0,0 @@
-local gears = require("gears")
-local wibox = require("wibox")
-local helpers = require("helpers")
-local config = require("config")
-local beautiful = require("beautiful")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local clock_icon = helpers.ui.create_icon(config.icons.clock, theme.color.pink)
-
-local clock = wibox.widget.textbox()
-clock.font = helpers.ui.set_font("11")
-
-gears.timer({
- timeout = 60,
- autostart = true,
- call_now = true,
- callback = function()
- clock.markup = os.date(config.widget.clock.format)
- end,
-})
-
-return wibox.widget({
- {
- clock_icon,
- clock,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(1),
- right = dpi(1),
- layout = wibox.container.margin,
-})
diff --git a/.config/awesome/ui/top-panel/widgets/cpu.lua b/.config/awesome/ui/top-panel/widgets/cpu.lua
deleted file mode 100644
index 9201546..0000000
--- a/.config/awesome/ui/top-panel/widgets/cpu.lua
+++ /dev/null
@@ -1,47 +0,0 @@
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers.ui")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
--- Icon
-local icon = helpers.create_icon(config.icons.cpu, theme.color.maroon)
-
--- Uptime
-local cpu = wibox.widget.textbox()
-cpu.font = helpers.set_font("10")
-cpu.halign = "center"
-
-local function get_val()
- awesome.connect_signal("signal::cpu", function(cpu_perc)
- if cpu_perc then
- cpu_perc = tonumber(cpu_perc)
- else
- cpu_perc = "?"
- end
-
- cpu.markup = cpu_perc .. "%"
- end)
-end
-
-get_val()
-
-local full = wibox.widget({
- {
- {
- icon,
- cpu,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(1),
- right = 0,
- layout = wibox.container.margin,
- },
- forced_width = dpi(73), -- Makes it fixed and not Moves Whole Bar
- layout = wibox.layout.fixed.horizontal,
-})
-
-return full
diff --git a/.config/awesome/ui/top-panel/widgets/date.lua b/.config/awesome/ui/top-panel/widgets/date.lua
deleted file mode 100644
index 17dace5..0000000
--- a/.config/awesome/ui/top-panel/widgets/date.lua
+++ /dev/null
@@ -1,34 +0,0 @@
-local gears = require("gears")
-local wibox = require("wibox")
-local helpers = require("helpers")
-local beautiful = require("beautiful")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local icon = helpers.ui.create_icon(config.icons.cal, theme.color.teal)
-
-local date = wibox.widget.textbox()
-date.font = helpers.ui.set_font("11")
-
-gears.timer({
- timeout = 60,
- autostart = true,
- call_now = true,
- callback = function()
- date.markup = os.date(config.widget.date.format)
- end,
-})
-
-return wibox.widget({
- {
- icon,
- date,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(1),
- right = dpi(1),
- layout = wibox.container.margin,
-})
diff --git a/.config/awesome/ui/top-panel/widgets/disk.lua b/.config/awesome/ui/top-panel/widgets/disk.lua
deleted file mode 100644
index 941b556..0000000
--- a/.config/awesome/ui/top-panel/widgets/disk.lua
+++ /dev/null
@@ -1,39 +0,0 @@
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers.ui")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
--- Icon
-local icon = helpers.create_icon(config.icons.disk, theme.color.yellow)
-
--- Uptime
-local disk = wibox.widget.textbox()
-disk.font = helpers.set_font("10")
-disk.halign = "center"
-
-local function get_val()
- awesome.connect_signal("signal::disk", function(disk_perc)
- if disk_perc then
- disk.markup = tonumber(disk_perc) .. "%"
- end
- end)
-end
-
-get_val()
-
-local full = wibox.widget({
- {
- icon,
- disk,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(1),
- right = dpi(8),
- layout = wibox.container.margin,
-})
-
-return full
diff --git a/.config/awesome/ui/top-panel/widgets/init.lua b/.config/awesome/ui/top-panel/widgets/init.lua
deleted file mode 100644
index 9ef50c1..0000000
--- a/.config/awesome/ui/top-panel/widgets/init.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-return {
- clock = require(... .. ".clock"),
- cpu = require(... .. ".cpu"),
- date = require(... .. ".date"),
- disk = require(... .. ".disk"),
- mem = require(... .. ".mem"),
- menu = require(... .. ".menu"),
- promptbox = require(... .. ".promptbox"),
- audio = require(... .. ".pulseaudio"),
- seperator = require(... .. ".seperator"),
- systray = require(... .. ".systray"),
- taglist = require(... .. ".taglist"),
- tasklist = require(... .. ".tasklist"),
-}
diff --git a/.config/awesome/ui/top-panel/widgets/launcher.lua b/.config/awesome/ui/top-panel/widgets/launcher.lua
deleted file mode 100644
index 52a5662..0000000
--- a/.config/awesome/ui/top-panel/widgets/launcher.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-local awful = require("awful")
-local theme = require("beautiful").get()
-local menu = require("main.menu")
-
-local launcher = awful.widget.launcher({ image = theme.awesome_icon, menu = menu })
-
-return launcher
diff --git a/.config/awesome/ui/top-panel/widgets/mem.lua b/.config/awesome/ui/top-panel/widgets/mem.lua
deleted file mode 100644
index b534066..0000000
--- a/.config/awesome/ui/top-panel/widgets/mem.lua
+++ /dev/null
@@ -1,41 +0,0 @@
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers.ui")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
--- Icon
-local icon = helpers.create_icon(config.icons.mem, theme.color.green)
-
--- Uptime
-local mem = wibox.widget.textbox()
-mem.font = helpers.set_font("10")
-mem.halign = "center"
-
-local function get_val()
- awesome.connect_signal("signal::mem", function(mem_perc)
- mem.markup = tonumber(mem_perc) .. "%"
- end)
-end
-
-get_val()
-
-local full = wibox.widget({
- {
- {
- icon,
- mem,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(1),
- right = 0,
- layout = wibox.container.margin,
- },
- forced_width = dpi(73),
- layout = wibox.layout.fixed.horizontal,
-})
-
-return full
diff --git a/.config/awesome/ui/top-panel/widgets/menu.lua b/.config/awesome/ui/top-panel/widgets/menu.lua
deleted file mode 100644
index 00688fd..0000000
--- a/.config/awesome/ui/top-panel/widgets/menu.lua
+++ /dev/null
@@ -1,26 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers.ui")
-local config = require("config")
-
-local dpi = beautiful.xresources.apply_dpi
-
--- Menu
-local menu = wibox.widget({
- {
- font = helpers.set_font("16"),
- markup = config.icons.menu,
- widget = wibox.widget.textbox(),
- },
- bottom = dpi(2),
- widget = wibox.container.margin,
-})
-
-helpers.add_hover_cursor(menu, "hand2")
-
-menu:add_button(awful.button({}, 1, function()
- awesome.emit_signal("sidebar::toggle")
-end))
-
-return menu
diff --git a/.config/awesome/ui/top-panel/widgets/power.lua b/.config/awesome/ui/top-panel/widgets/power.lua
deleted file mode 100644
index a952d46..0000000
--- a/.config/awesome/ui/top-panel/widgets/power.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local config = require("config")
-local helpers = require("helpers")
-
-local theme = beautiful.get()
-
--- Menu
-local menu = wibox.widget.textbox()
-menu.font = helpers.ui.set_font("16")
-menu.markup = helpers.ui.colorize_text(config.icons.power, theme.color.red)
-
-menu:add_button(awful.button({}, 1, function()
- awesome.emit_signal("module::exit_screen:show")
-end))
-
-return menu
diff --git a/.config/awesome/ui/top-panel/widgets/promptbox.lua b/.config/awesome/ui/top-panel/widgets/promptbox.lua
deleted file mode 100644
index 06ce84a..0000000
--- a/.config/awesome/ui/top-panel/widgets/promptbox.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-local awful = require("awful")
-
-local promptbox = awful.widget.prompt()
-
-return promptbox
diff --git a/.config/awesome/ui/top-panel/widgets/pulseaudio.lua b/.config/awesome/ui/top-panel/widgets/pulseaudio.lua
deleted file mode 100644
index e4d1e5c..0000000
--- a/.config/awesome/ui/top-panel/widgets/pulseaudio.lua
+++ /dev/null
@@ -1,80 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local helpers = require("helpers")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
--- Icon
-local icon = helpers.ui.create_icon(config.icons.vol.on, theme.color.blue)
-
--- Uptime
-local pulseaudio = wibox.widget.textbox()
-pulseaudio.font = helpers.ui.set_font("10")
-pulseaudio.halign = "center"
-
-local function get_val()
- awesome.connect_signal("signal::volume", function(vol, muted)
- if muted then
- pulseaudio.markup = "muted"
- icon.markup = helpers.ui.colorize_text(config.icons.vol.off, theme.color.blue)
- else
- pulseaudio.markup = tonumber(vol) .. "%"
- icon.markup = helpers.ui.colorize_text(config.icons.vol.on, theme.color.blue)
- end
- end)
-end
-
-get_val()
-
-local full = wibox.widget({
- {
- {
- icon,
- pulseaudio,
- spacing = dpi(8),
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(5),
- right = dpi(8),
- layout = wibox.container.margin,
- },
- forced_width = dpi(73),
- layout = wibox.layout.fixed.horizontal,
-})
-
-full:add_button(awful.button({}, 1, function()
- awesome.emit_signal("action::toggle")
-end))
-
--- Update Function
-local update_volume = function()
- awful.spawn.easy_async_with_shell("pamixer --get-volume", function(stdout)
- pulseaudio.markup = tonumber(stdout:match("%d+")) .. "%"
-
- if tonumber(stdout:match("%d+")) < 10 then
- icon.markup = helpers.ui.colorize_text(config.icons.vol.low, theme.color.blue)
- elseif tonumber(stdout:match("%d+")) < 50 then
- icon.markup = helpers.ui.colorize_text(config.icons.vol.med, theme.color.blue)
- elseif tonumber(stdout:match("%d+")) < 100 then
- icon.markup = helpers.ui.colorize_text(config.icons.vol.high, theme.color.blue)
- else
- end
- end)
-end
-
-update_volume()
-
-awesome.connect_signal("widget::update_vol", function()
- update_volume()
-end)
-
-awesome.connect_signal("widget::update_vol_pulse", function()
- update_volume()
-end)
-
-helpers.ui.add_hover_cursor(full, "hand2")
-
-return full
diff --git a/.config/awesome/ui/top-panel/widgets/seperator.lua b/.config/awesome/ui/top-panel/widgets/seperator.lua
deleted file mode 100644
index 183a7e1..0000000
--- a/.config/awesome/ui/top-panel/widgets/seperator.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-local beautiful = require("beautiful")
-local wibox = require("wibox")
-local helpers = require("helpers")
-
-local theme = beautiful.get()
-
-local seperator = wibox.widget.textbox()
-
-seperator.font = helpers.ui.set_font("14")
-seperator.markup = helpers.ui.colorize_text("|", theme.color.subtext1)
-
-return seperator
diff --git a/.config/awesome/ui/top-panel/widgets/systray.lua b/.config/awesome/ui/top-panel/widgets/systray.lua
deleted file mode 100644
index 8f3cf86..0000000
--- a/.config/awesome/ui/top-panel/widgets/systray.lua
+++ /dev/null
@@ -1,64 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local rubato = require("lib.rubato")
-local helpers = require("helpers")
-local config = require("config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-local arrow = wibox.widget.textbox()
-arrow.font = helpers.ui.set_font("13")
-arrow.markup = config.icons.arr.r
-
-local systray = wibox.widget.systray()
-systray.visible = true
-theme.systray_icon_spacing = dpi(4)
-
-local sys = wibox.widget({
- widget = wibox.container.constraint,
- strategy = "max",
- visible = true,
- width = 0,
- {
- widget = wibox.container.margin,
- margins = dpi(2),
- systray,
- },
-})
-
-local slide = rubato.timed({
- duration = 0.9,
- awestore_compat = true,
- subscribed = function(pos)
- sys.width = pos
- end,
-})
-
-local value = true
-
-arrow.toggle = function()
- if value == false then
- arrow.markup = config.icons.arr.r
- value = true
- slide:set(2)
- else
- arrow.markup = config.icons.arr.l
- slide:set(500)
- value = false
- end
-end
-
-arrow:add_button(awful.button({}, 1, function()
- arrow.toggle()
-end))
-
-local full = wibox.widget({
- layout = wibox.layout.fixed.horizontal,
- arrow,
- sys,
- spacing = dpi(2),
-})
-
-return full
diff --git a/.config/awesome/ui/top-panel/widgets/taglist.lua b/.config/awesome/ui/top-panel/widgets/taglist.lua
deleted file mode 100644
index 01d5383..0000000
--- a/.config/awesome/ui/top-panel/widgets/taglist.lua
+++ /dev/null
@@ -1,114 +0,0 @@
-local awful = require("awful")
-local wibox = require("wibox")
-local beautiful = require("beautiful")
-local bling = require("lib.bling")
-local keys = require("config").keys
-local vars = require("ui.top-panel.config")
-
-local theme = beautiful.get()
-local dpi = beautiful.xresources.apply_dpi
-
-awful.screen.connect_for_each_screen(function(s)
- s.taglist = awful.widget.taglist({
- screen = s,
- filter = awful.widget.taglist.filter.all,
-
- widget_template = {
- {
- {
- {
- id = "text_role",
- widget = wibox.widget.textbox,
- },
- layout = wibox.layout.fixed.horizontal,
- },
- left = dpi(4),
- right = dpi(4),
- widget = wibox.container.margin,
- },
- id = "background_role",
- widget = wibox.container.background,
-
- -- Add support for hover colors and an index label
- create_callback = function(self, c3, index, _)
- self:get_children_by_id("text_role")[1].markup = " " .. index .. " "
-
- self:connect_signal("mouse::enter", function()
- -- BLING: Only show widget when there are clients in the tag
- if #c3:clients() > 0 then
- -- BLING: Update the widget with the new tag
- awesome.emit_signal("bling::tag_preview::update", c3)
- -- BLING: Show the widget
- awesome.emit_signal("bling::tag_preview::visibility", s, true)
- end
- end)
-
- self:connect_signal("mouse::leave", function()
- -- BLING: Turn the widget off
- awesome.emit_signal("bling::tag_preview::visibility", s, false)
-
- if self.has_backup then
- self.bg = self.backup
- end
- end)
- end,
-
- update_callback = function(self, _, index, _)
- self:get_children_by_id("text_role")[1].markup = " " .. index .. " "
- end,
- },
-
- buttons = {
- awful.button({}, 1, function(t)
- t:view_only()
- end),
-
- awful.button({ keys.mod }, 1, function(t)
- if client.focus then
- client.focus:move_to_tag(t)
- end
- end),
-
- awful.button({}, 3, awful.tag.viewtoggle),
-
- awful.button({ keys.mod }, 3, function(t)
- if client.focus then
- client.focus:toggle_tag(t)
- end
- end),
-
- awful.button({}, 4, function(t)
- awful.tag.viewprev(t.screen)
- end),
-
- awful.button({}, 5, function(t)
- awful.tag.viewnext(t.screen)
- end),
- },
- })
-
- bling.widget.tag_preview.enable({
- show_client_content = true, -- Whether or not to show the client content
- x = 0, -- The x-coord of the popup
- y = 0, -- The y-coord of the popup
- scale = 0.2, -- The scale of the previews compared to the screen
- honor_padding = true, -- Honor padding when creating widget size
- honor_workarea = true, -- Honor work area when creating widget size
-
- placement_fn = function(c) -- Place the widget using awful.placement (this overrides x & y)
- awful.placement.top_left(c, {
- margins = {
- top = vars.height + (vars.margin * 1.5),
- left = vars.margin,
- },
- })
- end,
-
- background_widget = wibox.widget({ -- Set a background image (like a wallpaper) for the widget
- image = theme.wallpaper,
- horizontal_fit_policy = "fit",
- vertical_fit_policy = "fit",
- widget = wibox.widget.imagebox,
- }),
- })
-end)
diff --git a/.config/awesome/ui/top-panel/widgets/tasklist.lua b/.config/awesome/ui/top-panel/widgets/tasklist.lua
deleted file mode 100644
index fb2aaae..0000000
--- a/.config/awesome/ui/top-panel/widgets/tasklist.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-local awful = require("awful")
-
-awful.screen.connect_for_each_screen(function(s)
- s.tasklist = awful.widget.tasklist({
- screen = s,
- filter = awful.widget.tasklist.filter.focused,
- })
-end)
diff --git a/.config/awesome/utilities/screensht b/.config/awesome/utilities/screensht
deleted file mode 100644
index ad04f88..0000000
--- a/.config/awesome/utilities/screensht
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/bin/bash
-set -o pipefail
-
-<> $_LOG_FILE_ 2>&1
- exit 1
- fi
-}
-
-# Check save directory
-# Create it if it doesn't exist
-function check_dir() {
- if [[ ! -d "$_SCREENSHOT_DIR_" || ! -d "$_ORIGINAL_DIR_" ]]; then
- mkdir -p "$_SCREENSHOT_DIR_"
- mkdir -p "$_ORIGINAL_DIR_"
- fi
-}
-
-function get_latest_img() {
- _LATEST_IMAGE_=$(/bin/ls -th $_SCREENSHOT_DIR_ | grep -vE '.screensht.png$' | grep -E '.png$' | head -n 1)
-
- if [[ $( echo "$_LATEST_IMAGE_" | wc -w ) -eq 0 ]]; then
- exit 1
- else
- _LATEST_IMAGE_="$_SCREENSHOT_DIR_/$_LATEST_IMAGE_"
- fi
-}
-
-function convert() {
- _target_file_=$( echo "$_LATEST_IMAGE_" | sed 's/.png/.screensht.png/g' )
-
- if [[ $_BORDER_SIZE_ -ge 3 ]]; then
- magick convert "$_LATEST_IMAGE_" \
- -format 'roundrectangle 1,1 %[fx:w+4],%[fx:h+4] '"$_ROUNDED_CORNER_"','"$_ROUNDED_CORNER_"''\
- info: > $_SCREENSHOT_DIR_/_rounded_.mvg
- check
-
- magick convert "$_LATEST_IMAGE_" -border $_BORDER_SIZE_ -alpha transparent \
- -background none -fill white -stroke none -strokewidth 0 \
- -draw "@"$_SCREENSHOT_DIR_"/_rounded_.mvg" $_SCREENSHOT_DIR_/_rounded_mask_.png >> $_LOG_FILE_ 2>&1
- check
-
- magick convert "$_LATEST_IMAGE_" -border $_BORDER_SIZE_ -alpha transparent \
- -background none -fill none -stroke $_FG_COLOR_ -strokewidth $_BORDER_SIZE_ \
- -draw "@"$_SCREENSHOT_DIR_"/_rounded_.mvg" $_SCREENSHOT_DIR_/_rounded_overlay_.png >> $_LOG_FILE_ 2>&1
- check
-
- magick convert "$_LATEST_IMAGE_" -alpha set -bordercolor none -border $_BORDER_SIZE_ \
- $_SCREENSHOT_DIR_/_rounded_mask_.png -compose DstIn -composite \
- $_SCREENSHOT_DIR_/_rounded_overlay_.png -compose Over -composite \
- "$_target_file_" >> $_LOG_FILE_ 2>&1 && \
- rm -f $_SCREENSHOT_DIR_/_rounded_*
- check
- else
- magick convert "$_LATEST_IMAGE_" \( +clone -alpha extract -draw 'fill black polygon 0,0 0,'"$_ROUNDED_CORNER_"' '"$_ROUNDED_CORNER_"',0 fill white circle '"$_ROUNDED_CORNER_"','"$_ROUNDED_CORNER_"' '"$_ROUNDED_CORNER_"',0' \
- \( +clone -flip \) -compose Multiply -composite \
- \( +clone -flop \) -compose Multiply -composite \
- \) -alpha off -compose CopyOpacity -composite -compose over "$_target_file_" >> $_LOG_FILE_ 2>&1
- check
- fi
-
- magick convert "$_target_file_" \( +clone -background black -shadow $_SHADOW_SIZE_ \) +swap -background none -layers merge +repage "$_target_file_" >> $_LOG_FILE_ 2>&1 \
- && magick convert "$_target_file_" -bordercolor $_BG_COLOR_ -border $_BG_SIZE_ "$_target_file_" >> $_LOG_FILE_ 2>&1
- check
-
- echo -en " $_AUTHOR_NAME_ " | magick convert "$_target_file_" -gravity ${_AUTHOR_POST_[0]} -pointsize $_FONT_SIZE_ -fill $_AUTHOR_COLOR_ -undercolor none -font $_FONT_ -annotate ${_AUTHOR_POST_[1]} @- "$_target_file_" \
- >> $_LOG_FILE_ 2>&1 && magick convert "$_target_file_" -gravity South -chop 0x$(( $_BG_SIZE_ / 2 )) "$_target_file_" >> $_LOG_FILE_ 2>&1
- check
-
- magick convert "$_target_file_" -gravity North -background $_BG_COLOR_ -splice 0x$(( $_BG_SIZE_ / 2 )) "$_target_file_" >> $_LOG_FILE_ 2>&1
- check
-
- magick convert "$_target_file_" -profile /usr/share/color/icc/colord/sRGB.icc "$_target_file_" >> $_LOG_FILE_ 2>&1
- check
-}
-
-function summary() {
- _runtime_job_=$(($2-$1))
- hours=$((_runtime_job_ / 3600)); minutes=$(( (_runtime_job_ % 3600) / 60 )); seconds=$(( (_runtime_job_ % 3600) % 60 ))
-
- if [[ $3 != "failed" ]]; then
- xclip -selection clipboard -t image/png -i $_target_file_ >> $_LOG_FILE_ 2>&1
-
- awesome-client "
- -- IMPORTANT NOTE: THIS PART OF THE SCRIPT IS LUA!
- naughty = require('naughty')
- awful = require('awful')
- beautiful = require('beautiful')
- dpi = beautiful.xresources.apply_dpi
-
- local open_image = naughty.action {
- name = 'Open',
- icon_only = false,
- }
-
- local delete_image = naughty.action {
- name = 'Delete',
- icon_only = false,
- }
-
- -- Execute the callback when 'Open' is pressed
- open_image:connect_signal('invoked', function()
- awful.spawn('xdg-open ' .. '${_target_file_}', false)
- end)
-
- -- Execute the callback when 'Delete' is pressed
- delete_image:connect_signal('invoked', function()
- awful.spawn('gio trash ' .. '${_target_file_}', false)
- end)
-
- -- Show notification
- naughty.notification ({
- app_name = 'Screenshot Tool',
- icon = '${_target_file_}',
- timeout = 10,
- title = 'Screenshot!',
- message = '${_notif_message_}',
- actions = { open_image, delete_image }
- })
- "
- fi
-}
-
-function main() {
- check_dir
-
- rm -f $_LOG_FILE_
- _start_job_=$(date +%s)
-
- _screenshot_command_="$1"
- _notif_message_="$2"
-
- $_screenshot_command_ $_SCREENSHOT_DIR_\/$_start_job_.png> /dev/null 2>&1
- check
-
- get_latest_img
- convert
-
- mv $_LATEST_IMAGE_ $_ORIGINAL_DIR_
-
- _end_job_=$(date +%s)
- summary $_start_job_ $_end_job_
-}
-
-# Check the args passed
-if [ -z "$1" ] || ([ "$1" != 'full' ] && [ "$1" != 'area' ]);
-then
- echo "
- Requires an argument:
- area - Area screenshot
- full - Fullscreen screenshot
-
- Example:
- ./screensht area
- ./screensht full
- "
-elif [ "$1" = 'full' ];
-then
- msg="Full screenshot saved and copied to clipboard!"
- main 'maim -u -m 10' "${msg}"
-elif [ "$1" = 'area' ];
-then
- msg='Area screenshot saved and copied to clipboard!'
- main 'maim -u -m 10 -s -b 2 -c 0.35,0.55,0.85,0.25 -l' "${msg}"
-fi
diff --git a/.config/gtk-3.0/bookmarks b/.config/gtk-3.0/bookmarks
deleted file mode 100644
index 85b462c..0000000
--- a/.config/gtk-3.0/bookmarks
+++ /dev/null
@@ -1 +0,0 @@
-file:///home/marley/data
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
deleted file mode 100644
index 79cd81c..0000000
--- a/.config/gtk-3.0/settings.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[Settings]
-gtk-cursor-theme-name = Catppuccin-Macchiato-Pink-Cursors
-gtk-theme-name = Catppuccin-Macchiato-Standard-Pink-Dark
-gtk-icon-theme-name = Papirus
diff --git a/.config/gtk-4.0/assets b/.config/gtk-4.0/assets
deleted file mode 120000
index 684ab65..0000000
--- a/.config/gtk-4.0/assets
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/themes/Catppuccin-Macchiato-Standard-Pink-Dark/gtk-4.0/assets
\ No newline at end of file
diff --git a/.config/gtk-4.0/gtk-dark.css b/.config/gtk-4.0/gtk-dark.css
deleted file mode 120000
index ebf594d..0000000
--- a/.config/gtk-4.0/gtk-dark.css
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/themes/Catppuccin-Macchiato-Standard-Pink-Dark/gtk-4.0/gtk-dark.css
\ No newline at end of file
diff --git a/.config/gtk-4.0/gtk.css b/.config/gtk-4.0/gtk.css
deleted file mode 120000
index 8637865..0000000
--- a/.config/gtk-4.0/gtk.css
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/themes/Catppuccin-Macchiato-Standard-Pink-Dark/gtk-4.0/gtk.css
\ No newline at end of file
diff --git a/.config/mopidy/mopidy.conf b/.config/mopidy/mopidy.conf
deleted file mode 100644
index e30faf1..0000000
--- a/.config/mopidy/mopidy.conf
+++ /dev/null
@@ -1,168 +0,0 @@
-# For further information about options in this file see:
-# https://docs.mopidy.com/
-#
-# The initial commented out values reflect the defaults as of:
-# Mopidy 3.4.1
-# Mopidy-ALSAMixer 2.0.1
-# Mopidy-File 3.4.1
-# Mopidy-HTTP 3.4.1
-# Mopidy-Local 3.2.1
-# Mopidy-M3U 3.4.1
-# Mopidy-MPD 3.3.0
-# Mopidy-MPRIS 3.0.3
-# Mopidy-Podcast 3.0.1
-# Mopidy-SoftwareMixer 3.4.1
-# Mopidy-Stream 3.4.1
-#
-# Available options and defaults might have changed since then,
-# run `mopidy config` to see the current effective config and
-# `mopidy --version` to check the current version.
-
-[core]
-#cache_dir = $XDG_CACHE_DIR/mopidy
-#config_dir = $XDG_CONFIG_DIR/mopidy
-#data_dir = $XDG_DATA_DIR/mopidy
-#max_tracklist_length = 10000
-#restore_state = false
-
-[logging]
-#verbosity = 0
-#format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
-#color = true
-#config_file =
-
-[audio]
-#mixer = software
-#mixer_volume =
-output = tee name=t ! queue ! autoaudiosink t. ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE ! udpsink host=localhost port=5555
-#buffer_time =
-
-[proxy]
-#scheme =
-#hostname =
-#port =
-#username =
-#password =
-
-[file]
-enabled = false
-media_dirs =
- /mnt/babeshare/babez/Music|Babeshare
-# $XDG_MUSIC_DIR|Music
-# ~/|Home
-#excluded_file_extensions =
-# .directory
-# .html
-# .jpeg
-# .jpg
-# .log
-# .nfo
-# .pdf
-# .png
-# .txt
-# .zip
-#show_dotfiles = false
-#follow_symlinks = false
-#metadata_timeout = 1000
-
-[http]
-#enabled = true
-#hostname = 127.0.0.1
-#port = 6680
-#zeroconf = Mopidy HTTP server on $hostname
-#allowed_origins =
-#csrf_protection = true
-#default_app = mopidy
-
-[m3u]
-#enabled = true
-#base_dir =
-#default_encoding = latin-1
-#default_extension = .m3u8
-#playlists_dir =
-
-[softwaremixer]
-#enabled = true
-
-[stream]
-enabled = false
-#protocols =
-# http
-# https
-# mms
-# rtmp
-# rtmps
-# rtsp
-#metadata_blacklist =
-#timeout = 5000
-
-[alsamixer]
-#enabled = true
-#card = 0
-#control = Master
-#min_volume = 0
-#max_volume = 100
-#volume_scale = cubic
-
-[local]
-#enabled = true
-#max_search_results = 100
-media_dir = /mnt/babeshare/babez/Music/
-#scan_timeout = 1000
-#scan_flush_threshold = 100
-#scan_follow_symlinks = false
-#included_file_extensions =
-#excluded_file_extensions =
-# .cue
-# .directory
-# .html
-# .jpeg
-# .jpg
-# .log
-# .nfo
-# .pdf
-# .png
-# .txt
-# .zip
-#directories =
-# Albums local:directory?type=album
-# Artists local:directory?type=artist
-# Composers local:directory?type=artist&role=composer
-# Genres local:directory?type=genre
-# Performers local:directory?type=artist&role=performer
-# Release Years local:directory?type=date&format=%25Y
-# Tracks local:directory?type=track
-# Last Week's Updates local:directory?max-age=604800
-# Last Month's Updates local:directory?max-age=2592000
-#timeout = 10
-#use_artist_sortname = false
-#album_art_files =
-# *.jpg
-# *.jpeg
-# *.png
-
-[mpd]
-#enabled = true
-hostname = 127.0.0.1
-#port = 6600
-#password =
-#max_connections = 20
-#connection_timeout = 60
-#zeroconf = Mopidy MPD server on $hostname
-#command_blacklist =
-# listall
-# listallinfo
-#default_playlist_scheme = m3u
-
-[mpris]
-#enabled = true
-#bus_type = session
-
-[podcast]
-enabled = false
-#browse_root = Podcasts.opml
-#browse_order = desc
-#lookup_order = asc
-#cache_size = 64
-#cache_ttl = 86400
-#timeout = 10
diff --git a/.config/ncmpcpp/config b/.config/ncmpcpp/config
deleted file mode 100644
index 345fc55..0000000
--- a/.config/ncmpcpp/config
+++ /dev/null
@@ -1,598 +0,0 @@
-##############################################################
-## This is an example configuration file. Copy it to ##
-## $XDG_CONFIG_HOME/ncmpcpp/config or $HOME/.ncmpcpp/config ##
-## and set up your preferences. ##
-##############################################################
-#
-##### directories ######
-##
-## Directory for storing ncmpcpp related files. Changing it is useful if you
-## want to store everything somewhere else and provide command line setting for
-## alternative location to config file which defines that while launching
-## ncmpcpp.
-##
-#
-#ncmpcpp_directory = ~/.config/ncmpcpp
-#
-##
-## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other
-## MPD clients (eg. ncmpc) also use that location.
-##
-#
-#lyrics_directory = ~/.lyrics
-#
-##### connection settings #####
-#
-#mpd_host = localhost
-#
-#mpd_port = 6600
-#
-#mpd_connection_timeout = 5
-#
-## Needed for tag editor and file operations to work.
-##
-mpd_music_dir = /mnt/babeshare/babez/Music/
-#
-#mpd_crossfade_time = 5
-#
-# Exclude pattern for random song action
-# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
-#random_exclude_pattern = "^(temp|midi_songs).*"
-#
-##### music visualizer #####
-##
-## In order to make music visualizer work with MPD you need to use the fifo
-## output. Its format parameter has to be set to 44100:16:1 for mono
-## visualization or 44100:16:2 for stereo visualization. As an example here is
-## the relevant section for mpd.conf:
-##
-## audio_output {
-## type "fifo"
-## name "Visualizer feed"
-## path "/tmp/mpd.fifo"
-## format "44100:16:2"
-## }
-##
-## If the visualization on occasion diverges from the audio output, please set
-## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms)
-## or less to prevent that from happening.
-##
-## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is
-## also accepted. For example, the following section in mopidy.conf:
-##
-## [audio]
-## output = tee name=t ! queue ! autoaudiosink t.
-## ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE
-## ! udpsink host=localhost port=5555
-##
-## will make localhost:5555 available as a source of data for the stereo
-## visualizer.
-##
-#
-visualizer_data_source = "localhost:5555"
-#
-##
-## Note: Below parameter is needed for ncmpcpp to determine which output
-## provides data for visualizer and reset it at the beginning of visualization
-## to synchronize with audio.
-##
-#
-# visualizer_output_name = Visualizer feed
-#
-##
-## If you set format to 44100:16:2, make it 'yes'.
-##
-# visualizer_in_stereo = yes
-#
-##
-## Note: set below to >=10 only if you have synchronization issues with
-## visualization and audio.
-##
-#
-#visualizer_sync_interval = 0
-#
-##
-## Note: To enable spectrum frequency visualization you need to compile ncmpcpp
-## with fftw3 support.
-##
-#
-## Available values: spectrum, wave, wave_filled, ellipse.
-##
-# visualizer_type = spectrum
-#
-#visualizer_fps = 60
-#
-#visualizer_autoscale = no
-#
-# visualizer_look = ●▮
-#
-#visualizer_color = blue, cyan, green, yellow, magenta, red
-#
-## Alternative subset of 256 colors for terminals that support it.
-##
-# visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161
-#
-##
-## Note: The next few visualization options apply to the spectrum visualizer.
-##
-#
-## Use unicode block characters for a smoother, more continuous look.
-## This will override the visualizer_look option. With transparent terminals
-## and visualizer_in_stereo set, artifacts may be visible on the bottom half of
-## the visualization.
-#
-#visualizer_spectrum_smooth_look = yes
-#
-## A value between 1 and 5 inclusive. Specifying a larger value makes the
-## visualizer look at a larger slice of time, which results in less jumpy
-## visualizer output.
-#
-#visualizer_spectrum_dft_size = 2
-#
-#visualizer_spectrum_gain = 10
-#
-## Left-most frequency of visualizer in Hz, must be less than HZ MAX
-#
-#visualizer_spectrum_hz_min = 20
-#
-## Right-most frequency of visualizer in Hz, must be greater than HZ MIN
-#
-#visualizer_spectrum_hz_max = 20000
-#
-##### system encoding #####
-##
-## ncmpcpp should detect your charset encoding but if it failed to do so, you
-## can specify charset encoding you are using here.
-##
-## Note: You can see whether your ncmpcpp build supports charset detection by
-## checking output of `ncmpcpp --version`.
-##
-## Note: Since MPD uses UTF-8 by default, setting this option makes sense only
-## if your encoding is different.
-##
-#
-#system_encoding = ""
-#
-##### delays #####
-#
-## Time of inactivity (in seconds) after playlist highlighting will be disabled
-## (0 = always on).
-##
-#playlist_disable_highlight_delay = 5
-#
-## Defines how long messages are supposed to be visible.
-##
-#message_delay_time = 5
-#
-##### song format #####
-##
-## For a song format you can use:
-##
-## %l - length
-## %f - filename
-## %D - directory
-## %a - artist
-## %A - album artist
-## %t - title
-## %b - album
-## %y - date
-## %n - track number (01/12 -> 01)
-## %N - full track info (01/12 -> 01/12)
-## %g - genre
-## %c - composer
-## %p - performer
-## %d - disc
-## %C - comment
-## %P - priority
-## $R - begin right alignment
-##
-## If you want to make sure that a part of the format is displayed only when
-## certain tags are present, you can archieve it by grouping them with brackets,
-## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are
-## present or '' otherwise. It is also possible to define a list of
-## alternatives by providing several groups and separating them with '|',
-## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is
-## not present.
-##
-## Note: If you want to set limit on maximal length of a tag, just put the
-## appropriate number between % and character that defines tag type, e.g. to
-## make album take max. 20 terminal cells, use '%20b'.
-##
-## In addition, formats support markers used for text attributes. They are
-## followed by character '$'. After that you can put:
-##
-## - 0 - default window color (discards all other colors)
-## - 1 - black
-## - 2 - red
-## - 3 - green
-## - 4 - yellow
-## - 5 - blue
-## - 6 - magenta
-## - 7 - cyan
-## - 8 - white
-## - 9 - end of current color
-## - b - bold text
-## - u - underline text
-## - r - reverse colors
-## - a - use alternative character set
-##
-## If you don't want to use a non-color attribute anymore, just put it again,
-## but this time insert character '/' between '$' and attribute character,
-## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with
-## reversed colors.
-##
-## If you want to use 256 colors and/or background colors in formats (the naming
-## scheme is described below in section about color definitions), it can be done
-## with the syntax $(COLOR), e.g. to set the artist tag to one of the
-## non-standard colors and make it have yellow background, you need to write
-## $(197_yellow)%a$(end). Note that for standard colors this is interchangable
-## with attributes listed above.
-##
-## Note: colors can be nested.
-##
-#
-#song_list_format = {%a - }{%t}|{$8%f$9}$R{$3%l$9}
-#
-#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f}
-#
-#song_library_format = {%n - }{%t}|{%f}
-#
-#alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
-#
-#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
-#
-#current_item_prefix = $(yellow)$r
-#
-#current_item_suffix = $/r$(end)
-#
-#current_item_inactive_column_prefix = $(white)$r
-#
-#current_item_inactive_column_suffix = $/r$(end)
-#
-#now_playing_prefix = $b
-#
-#now_playing_suffix = $/b
-#
-#browser_playlist_prefix = "$2playlist$9 "
-#
-#selected_item_prefix = $6
-#
-#selected_item_suffix = $9
-#
-#modified_item_prefix = $3> $9
-#
-##
-## Note: attributes are not supported for the following variables.
-##
-#song_window_title_format = {%a - }{%t}|{%f}
-##
-## Note: Below variables are used for sorting songs in browser. The sort mode
-## determines how songs are sorted, and can be used in combination with a sort
-## format to specify a custom sorting format. Available values for
-## browser_sort_mode are "type", "name", "mtime", "format" and "none".
-##
-#
-#browser_sort_mode = type
-#
-#browser_sort_format = {%a - }{%t}|{%f} {%l}
-#
-##### columns settings #####
-##
-## syntax of song columns list format is "column column etc."
-##
-## - syntax for each column is:
-##
-## (width of the column)[color of the column]{displayed tag}
-##
-## Note: Width is by default in %, if you want a column to have fixed size, add
-## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
-## screen (so the real width will depend on actual screen size), whereas
-## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
-## is.
-##
-## - color is optional (if you want the default one, leave the field empty).
-##
-## Note: You can give a column additional attributes by putting appropriate
-## character after displayed tag character. Available attributes are:
-##
-## - r - column will be right aligned
-## - E - if tag is empty, empty tag marker won't be displayed
-##
-## You can also:
-##
-## - give a column custom name by putting it after attributes, separated with
-## character ':', e.g. {lr:Length} gives you right aligned column of lengths
-## named "Length".
-##
-## - define sequence of tags, that have to be displayed in case predecessor is
-## empty in a way similar to the one in classic song format, i.e. using '|'
-## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
-## display artist tag and then composer and performer if previous ones are not
-## available.
-##
-#
-#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
-#
-##### various settings #####
-#
-##
-## Note: Custom command that will be executed each time song changes. Useful for
-## notifications etc.
-##
-#execute_on_song_change = ""
-#
-##
-## Note: Custom command that will be executed each time player state
-## changes. The environment variable MPD_PLAYER_STATE is set to the current
-## state (either unknown, play, pause, or stop) for its duration.
-##
-#
-#execute_on_player_state_change = ""
-#
-#playlist_show_mpd_host = no
-#
-#playlist_show_remaining_time = no
-#
-#playlist_shorten_total_times = no
-#
-#playlist_separate_albums = no
-#
-##
-## Note: Possible display modes: classic, columns.
-##
-#playlist_display_mode = columns
-#
-#browser_display_mode = classic
-#
-#search_engine_display_mode = classic
-#
-#playlist_editor_display_mode = classic
-#
-#discard_colors_if_item_is_selected = yes
-#
-#show_duplicate_tags = yes
-#
-#incremental_seeking = yes
-#
-#seek_time = 1
-#
-#volume_change_step = 2
-#
-#autocenter_mode = no
-#
-#centered_cursor = no
-#
-##
-## Note: You can specify third character which will be used to build 'empty'
-## part of progressbar.
-##
-#progressbar_look = =>
-#
-## Available values: database, playlist.
-##
-#default_place_to_search_in = database
-#
-## Available values: classic, alternative.
-##
-#user_interface = classic
-#
-#data_fetching_delay = yes
-#
-## Available values: artist, album_artist, date, genre, composer, performer.
-##
-#media_library_primary_tag = artist
-#
-#media_library_albums_split_by_date = yes
-#
-#media_library_hide_album_dates = no
-#
-## Available values: wrapped, normal.
-##
-#default_find_mode = wrapped
-#
-#default_tag_editor_pattern = %n - %t
-#
-#header_visibility = yes
-#
-#statusbar_visibility = yes
-#
-## Show the "Connected to ..." message on startup
-#connected_message_on_startup = yes
-#
-#titles_visibility = yes
-#
-#header_text_scrolling = yes
-#
-#cyclic_scrolling = no
-#
-#lyrics_fetchers = azlyrics, genius, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
-#
-#follow_now_playing_lyrics = no
-#
-#fetch_lyrics_for_current_song_in_background = no
-#
-#store_lyrics_in_song_dir = no
-#
-#generate_win32_compatible_filenames = yes
-#
-#allow_for_physical_item_deletion = no
-#
-##
-## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
-## language you set and if it fails, it will fall back to english. Otherwise it
-## will use english the first time.
-##
-## Note: Language has to be expressed as an ISO 639 alpha-2 code.
-##
-#lastfm_preferred_language = en
-#
-#space_add_mode = add_remove
-#
-#show_hidden_files_in_local_browser = no
-#
-##
-## How shall screen switcher work?
-##
-## - "previous" - switch between the current and previous screen.
-## - "screen1,...,screenN" - switch between given sequence of screens.
-##
-## Screens available for use: help, playlist, browser, search_engine,
-## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
-## lyrics, last_fm.
-##
-#screen_switcher_mode = playlist, browser
-#
-##
-## Note: You can define startup screen by choosing screen from the list above.
-##
-#startup_screen = playlist
-#
-##
-## Note: You can define startup slave screen by choosing screen from the list
-## above or an empty value for no slave screen.
-##
-#startup_slave_screen = ""
-#
-#startup_slave_screen_focus = no
-#
-##
-## Default width of locked screen (in %). Acceptable values are from 20 to 80.
-##
-#
-#locked_screen_width_part = 50
-#
-#ask_for_locked_screen_width_part = yes
-#
-#jump_to_now_playing_song_at_start = yes
-#
-#ask_before_clearing_playlists = yes
-#
-#clock_display_seconds = no
-#
-#display_volume_level = yes
-#
-#display_bitrate = no
-#
-#display_remaining_time = no
-#
-## Available values: none, basic, extended, perl.
-##
-#regular_expressions = perl
-#
-##
-## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
-## sorting items in browser, tags in media library, etc.
-##
-#ignore_leading_the = no
-#
-##
-## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
-## filtering lists. This takes an effect only if boost was compiled with ICU
-## support.
-##
-#ignore_diacritics = no
-#
-#block_search_constraints_change_if_items_found = yes
-#
-#mouse_support = yes
-#
-#mouse_list_scroll_whole_page = no
-#
-#lines_scrolled = 5
-#
-#empty_tag_marker =
-#
-#tags_separator = " | "
-#
-#tag_editor_extended_numeration = no
-#
-#media_library_sort_by_mtime = no
-#
-#enable_window_title = yes
-#
-##
-## Note: You can choose default search mode for search engine. Available modes
-## are:
-##
-## - 1 - use mpd built-in searching (no regexes, pattern matching)
-##
-## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
-## if your mpd is on a remote machine, downloading big database to process
-## it can take a while
-##
-## - 3 - match only exact values (this mode uses mpd function for searching in
-## database and local one for searching in current playlist)
-##
-#
-#search_engine_default_search_mode = 1
-#
-#external_editor = nano
-#
-## Note: set to yes if external editor is a console application.
-##
-#use_console_editor = yes
-#
-##### colors definitions #####
-##
-## It is possible to set a background color by setting a color value
-## "_", e.g. red_black will set foregound color to red
-## and background color to black.
-##
-## In addition, for terminals that support 256 colors it is possible to set one
-## of them by using a number in range [1, 256] instead of color name,
-## e.g. numerical value corresponding to red_black is 2_1. To find out if the
-## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
-## help screen for list of available colors and their numerical values.
-##
-## What is more, there are two special values for the background color:
-## "transparent" and "current". The first one explicitly sets the background to
-## be transparent, while the second one allows you to preserve current
-## background color and change only the foreground one. It's used implicitly
-## when background color is not specified.
-##
-## Moreover, it is possible to attach format information to selected color
-## variables by appending to their end a colon followed by one or more format
-## flags, e.g. black:b or red:ur. The following variables support this syntax:
-## visualizer_color, color1, color2, empty_tag_color, volume_color,
-## state_line_color, state_flags_color, progressbar_color,
-## progressbar_elapsed_color, player_state_color, statusbar_time_color,
-## alternative_ui_separator_color.
-##
-## Note: due to technical limitations of older ncurses version, if 256 colors
-## are used there is a possibility that you'll be able to use only colors with
-## transparent background.
-#
-#colors_enabled = yes
-#
-#empty_tag_color = cyan
-#
-#header_window_color = default
-#
-#volume_color = default
-#
-#state_line_color = default
-#
-#state_flags_color = default:b
-#
-#main_window_color = yellow
-#
-#color1 = white
-#
-#color2 = green
-#
-#progressbar_color = black:b
-#
-#progressbar_elapsed_color = green:b
-#
-#statusbar_color = default
-#
-#statusbar_time_color = default:b
-#
-#player_state_color = default:b
-#
-#alternative_ui_separator_color = black:b
-#
-#window_border_color = green
-#
-#active_window_border = red
-#
diff --git a/.config/openrazer/persistence.conf b/.config/openrazer/persistence.conf
deleted file mode 100644
index 6440b21..0000000
--- a/.config/openrazer/persistence.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-[PM2038H11502057]
-dpi_x = 1800
-dpi_y = 1800
-poll_rate = 500
-logo_active = True
-logo_brightness = 75
-logo_effect = spectrum
-logo_colors = 0 255 0 0 255 255 0 0 255
-logo_speed = 1
-logo_wave_dir = 1
-scroll_active = True
-scroll_brightness = 75
-scroll_effect = spectrum
-scroll_colors = 0 255 0 0 255 255 0 0 255
-scroll_speed = 1
-scroll_wave_dir = 1
-
-[IO2049F50104914]
-backlight_active = True
-backlight_brightness = 75
-backlight_effect = wave
-backlight_colors = 0 255 0 0 255 255 0 0 255
-backlight_speed = 1
-backlight_wave_dir = 1
-
diff --git a/.config/openrazer/razer.conf b/.config/openrazer/razer.conf
deleted file mode 100644
index b4a316b..0000000
--- a/.config/openrazer/razer.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-[General]
-# Verbose logging (logs debug messages - lotsa spam)
-verbose_logging = False
-
-
-[Startup]
-# Set the sync effects flag to true so any assignment of effects will work across devices
-sync_effects_enabled = True
-
-# Turn off the devices when the systems screensaver kicks in
-devices_off_on_screensaver = True
-
-# Battery notifier
-battery_notifier = True
-
-# Battery notification frequency [s] (0 to disable)
-battery_notifier_freq = 600
-
-# Battery notifications appear when device reaches this percentage
-battery_notifier_percent = 33
-
-# Apply effects saved to disk when daemon starts
-restore_persistence = False
diff --git a/.config/packages/all b/.config/packages/all
deleted file mode 100644
index c15612a..0000000
--- a/.config/packages/all
+++ /dev/null
@@ -1,143 +0,0 @@
-aic94xx-firmware
-alsa-utils
-arandr
-argparse
-asdf-vm
-ast-firmware
-awesome-git
-base
-base-devel
-bat
-bat-extras
-bind
-browsh-bin
-btop
-catppuccin-cursors-macchiato
-catppuccin-gtk-theme-macchiato
-cheat-bin
-colord
-copyq
-cowsay
-dotfiles.sh-git
-efibootmgr
-eza
-fd
-feh
-firefox
-fish
-fontforge
-fortune-mod-archlinux
-fortune-mod-billwurtz
-fzf
-gd
-git
-git-delta
-git-filter-repo
-github-cli
-glow
-gparted
-grub
-gum
-gvfs-smb
-hyfetch
-imagemagick
-iptables-nft
-jc
-lazygit
-lazysql
-libheif
-libtransmission
-linux
-linux-firmware
-linux-firmware-qlogic
-linux-headers
-lolcat
-lsof
-luarocks
-mailhog-bin
-man-db
-man-pages
-meilisearch
-mesa
-mopidy
-mopidy-alsamixer
-mopidy-iris
-mopidy-local
-mopidy-mpd
-mopidy-mpris
-mopidy-podcast
-mpc
-ncmpcpp
-neovim
-networkmanager
-nginx-mainline
-nm-connection-editor
-ntfs-3g
-openrazer-daemon
-os-prober
-pamixer
-papirus-folders-catppuccin-git
-papirus-icon-theme
-picom-git
-pipewire
-pipewire-alsa
-pipewire-pulse
-pkgfile
-playerctl
-plocate
-postgresql
-python-catppuccin
-python-pip
-python-pipenv
-python-pipx
-python-pynvim
-qt5-graphicaleffects
-qt5-quickcontrols2
-qt5-svg
-razercommander
-re2c
-reflector
-ripgrep
-rofi
-rofi-calc
-rsync
-rust
-sddm
-shfmt
-smbclient
-starship
-termux-language-server
-thunar
-timeshift
-tmux
-topgrade
-transmission-cli
-transmission-gtk
-ttf-apple-emoji
-ttf-fairiesevka
-ttf-fairiesevka-propo
-ttf-fairiesevka-term
-ttf-firacode-nerd
-ttf-nerd-fonts-symbols
-ttfautohint
-udisks2
-ufw
-unzip
-upd72020x-fw
-ventoy-bin
-volta
-wd719x-firmware
-wezterm
-wget
-wireshark-gtk2
-wishlist-bin
-xclip
-xf86-video-nouveau
-xorg-server
-xorg-server-xephyr
-xorg-xinit
-xorg-xrandr
-xterm
-yay
-zathura
-zathura-pdf-mupdf
diff --git a/.config/picom.conf b/.config/picom.conf
deleted file mode 100644
index cef3cc8..0000000
--- a/.config/picom.conf
+++ /dev/null
@@ -1,498 +0,0 @@
-#################################
-# Animations #
-#################################
-
-animations: false;
-animation-stiffness = 125
-
-animation-window-mass = 1.0
-
-animation-dampening = 18
-
-animation-clamping = false
-
-animation-for-open-window = "zoom"; #open window
-
-animation-for-unmap-window = "zoom"; #minimize window
-
-animation-for-workspace-switch-in = "fly-in"; #the windows in the workspace that is coming in
-
-animation-for-workspace-switch-out = "fly-in"; #the windows in the workspace that are coming out
-
-animation-for-transient-window = "slide-up"; #popup windows
-
-#################################
-# Shadows #
-#################################
-
-
-# Enabled client-side shadows on windows. Note desktop windows
-# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
-# unless explicitly requested using the wintypes option.
-#
-# shadow = false
-shadow = true;
-
-# The blur radius for shadows, in pixels. (defaults to 12)
-# shadow-radius = 12
-shadow-radius = 7;
-#shadow-radius = 0;
-# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
-#shadow-opacity = 0
-
-# The left offset for shadows, in pixels. (defaults to -15)
-# shadow-offset-x = -15
-shadow-offset-x = -7;
-
-# The top offset for shadows, in pixels. (defaults to -15)
-# shadow-offset-y = -15
-shadow-offset-y = -7;
-
-# Avoid drawing shadows on dock/panel windows. This option is deprecated,
-# you should use the *wintypes* option in your config file instead.
-#
-# no-dock-shadow = false
-
-# Don't draw shadows on drag-and-drop windows. This option is deprecated,
-# you should use the *wintypes* option in your config file instead.
-#
-# no-dnd-shadow = false
-
-# Red color value of shadow (0.0 - 1.0, defaults to 0).
-# shadow-red = 0
-
-# Green color value of shadow (0.0 - 1.0, defaults to 0).
-# shadow-green = 0
-
-# Blue color value of shadow (0.0 - 1.0, defaults to 0).
-# shadow-blue = 0
-
-# Do not paint shadows on shaped windows. Note shaped windows
-# here means windows setting its shape through X Shape extension.
-# Those using ARGB background is beyond our control.
-# Deprecated, use
-# shadow-exclude = 'bounding_shaped'
-# or
-# shadow-exclude = 'bounding_shaped && !rounded_corners'
-# instead.
-#
-# shadow-ignore-shaped = ''
-
-# Specify a list of conditions of windows that should have no shadow.
-#
-# examples:
-# shadow-exclude = "n:e:Notification";
-#
-# shadow-exclude = []
-shadow-exclude = [
- "name = 'Notification'",
- "class_g = 'Conky'",
- "class_g = 'slop'",
- "class_g = 'origin.exe'",
- "class_g ?= 'Notify-osd'",
- "class_g = 'Cairo-clock'",
- "_GTK_FRAME_EXTENTS@:c"
-];
-
-# Specify a X geometry that describes the region in which shadow should not
-# be painted in, such as a dock window region. Use
-# shadow-exclude-reg = "x10+0+0"
-# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
-#
-# shadow-exclude-reg = ""
-
-# Crop shadow of a window fully on a particular Xinerama screen to the screen.
-# xinerama-shadow-crop = false
-
-
-#################################
-# Fading #
-#################################
-
-
-# Fade windows in/out when opening/closing and when opacity changes,
-# unless no-fading-openclose is used.
-# fading = false
-fading = true
-
-# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
-# fade-in-step = 0.028
-fade-in-step = 0.03;
-
-# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
-# fade-out-step = 0.03
-fade-out-step = 0.03;
-
-# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
-# fade-delta = 10
-
-# Specify a list of conditions of windows that should not be faded.
-fade-exclude = [
- "class_g = 'slop'", #maim
- "class_g = 'origin.exe'",
-]
-
-# Do not fade on window open/close.
-# no-fading-openclose = false
-
-# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
-# no-fading-destroyed-argb = false
-
-
-#################################
-# Transparency / Opacity #
-#################################
-
-
-# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
-# inactive-opacity = 1
-inactive-opacity = 0.68;
-
-# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
- frame-opacity = 1.0
-#frame-opacity = 0.7;
-
-# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
-# menu-opacity = 1.0
-
-# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
-# inactive-opacity-override = true
-inactive-opacity-override = true;
-
-# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
-active-opacity = 0.92;
-
-# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
-# inactive-dim = 0.0
-
-# Specify a list of conditions of windows that should always be considered focused.
-# focus-exclude = []
-focus-exclude = [
- "class_g = 'awesome'",
- "class_g = 'Cairo-clock'",
- "class_g = 'Rofi'",
- "class_g = 'firefox'",
- "class_g = 'Firefox'",
- "class_g = 'VSCodium'",
- "class_g = 'feh'",
- "class_g = 'Thunar'",
- "class_g = 'slop'",
- "class_g = 'origin.exe'",
- "class_g = 'Virt-manager'",
- "class_g = 'discord'",
- "class_g = 'steam_app_0'",
- "class_g = 'SlimeRancher2.exe'",
- "class_g = 'Steam'",
- "class_g = 'origin.exe'",
- "class_g = 'Minecraft 1.8.9'",
- "class_g = 'VirtualBox Machine'",
- "class_g = 'Wine'",
-];
-
-# Use fixed inactive dim value, instead of adjusting according to window opacity.
-# inactive-dim-fixed = 1.0
-
-# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
-# like `50:name *= "Firefox"`. picom-trans is recommended over this.
-# Note we don't make any guarantee about possible conflicts with other
-# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
-# example:
-# opacity-rule = [ "80:class_g = 'URxvt'" ];
-#
- opacity-rule = [
- "100:class_g= 'awesome'",
- "100:class_g= 'Rofi'",
- "95:class_g= 'URxvt'",
- "100:class_g= 'firefox'",
- "100:class_g= 'Firefox'",
- "100:class_g= 'VSCodium'",
- "100:class_g= 'feh'",
- "100:class_g= 'Thunar'",
- "100:class_g= 'slop'",
- "100:class_g= 'Virt-manager'",
- "100:class_g= 'discord'",
- "100:class_g= 'steam_app_0'",
- "100:class_g= 'Steam'",
- "100:class_g= 'origin.exe'",
- "100:class_g= 'bf1.exe'",
- "100:class_g= 'Minecraft 1.8.9'",
- "100:class_g= 'SlimeRancher2.exe'",
- "100:class_g= 'VirtualBox Machine'",
- "100:class_g= 'Wine'",
-];
-
-
-#################################
-# Background-Blurring #
-#################################
-
-
-# Parameters for background blurring, see the *BLUR* section for more information.
-# blur-method =
-blur-method = "dual_kawase"
-blur-size = 30
-#
-# blur-deviation = false
-
-# Blur background of semi-transparent / ARGB windows.
-# Bad in performance, with driver-dependent behavior.
-# The name of the switch may change without prior notifications.
-#
-# blur-background = false
-
-# Blur background of windows when the window frame is not opaque.
-# Implies:
-# blur-background
-# Bad in performance, with driver-dependent behavior. The name may change.
-#
-# blur-background-frame = false
-
-
-# Use fixed blur strength rather than adjusting according to window opacity.
-# blur-background-fixed = false
-
-
-# Specify the blur convolution kernel, with the following format:
-# example:
-# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
-#
-# blur-kern = ''
-blur-kern = "11x11gaussian";
-
-
-# Exclude conditions for background blur.
-# blur-background-exclude = []
-blur-background-exclude = [
- "window_type = 'dock'",
- "class_g = 'origin.exe'",
- "class_g = 'slop'", # Very important for screenshot, if set else won't work
- "window_type = 'desktop'",
- "_GTK_FRAME_EXTENTS@:c"
-];
-
-#################################
-# General Settings #
-#################################
-
-# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
-# daemon = false
-
-# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
-# `xrender` is the default one.
-#
-#backend = "xrender";
-backend = "glx";
-
-# Enable/disable VSync.
-#vsync = false
-vsync = true
-
-# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
-# dbus = false
-
-# Try to detect WM windows (a non-override-redirect window with no
-# child that has 'WM_STATE') and mark them as active.
-#
-# mark-wmwin-focused = false
-mark-wmwin-focused = true;
-
-# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
-mark-ovredir-focused = false
-#mark-ovredir-focused = true;
-
-# Try to detect windows with rounded corners and don't consider them
-# shaped windows. The accuracy is not very high, unfortunately.
-#
-# detect-rounded-corners = false
-
-detect-rounded-corners = true;
-
-# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
-# not passing '_NET_WM_OPACITY' of client windows to frame windows.
-#
-# detect-client-opacity = false
-detect-client-opacity = true;
-
-# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
-# boost performance. This should not be used with
-# vsync drm/opengl/opengl-oml
-# as they essentially does sw-opti's job already,
-# unless you wish to specify a lower refresh rate than the actual value.
-#
-# sw-opti =
-
-# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
-# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
-# provided that the WM supports it.
-#
-# use-ewmh-active-win = false
-
-# Unredirect all windows if a full-screen opaque window is detected,
-# to maximize performance for full-screen windows. Known to cause flickering
-# when redirecting/unredirecting windows.
-#
-# unredir-if-possible = false
-
-# Delay before unredirecting the window, in milliseconds. Defaults to 0.
-# unredir-if-possible-delay = 0
-
-# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
-# unredir-if-possible-exclude = []
-
-# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
-# in the same group focused at the same time.
-#
-# detect-transient = false
-detect-transient = true
-
-# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
-# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
-# detect-transient is enabled, too.
-#
-# detect-client-leader = false
-detect-client-leader = true
-
-# Resize damaged region by a specific number of pixels.
-# A positive value enlarges it while a negative one shrinks it.
-# If the value is positive, those additional pixels will not be actually painted
-# to screen, only used in blur calculation, and such. (Due to technical limitations,
-# with use-damage, those pixels will still be incorrectly painted to screen.)
-# Primarily used to fix the line corruption issues of blur,
-# in which case you should use the blur radius value here
-# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
-# with a 5x5 one you use `--resize-damage 2`, and so on).
-# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
-#
-# resize-damage = 1
-
-# Specify a list of conditions of windows that should be painted with inverted color.
-# Resource-hogging, and is not well tested.
-#
-# invert-color-include = []
-
-# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
-# Might cause incorrect opacity when rendering transparent content (but never
-# practically happened) and may not work with blur-background.
-# My tests show a 15% performance boost. Recommended.
-#
-# glx-no-stencil = false
-
-# GLX backend: Avoid rebinding pixmap on window damage.
-# Probably could improve performance on rapid window content changes,
-# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
-# Recommended if it works.
-#
-# glx-no-rebind-pixmap = false
-
-# Disable the use of damage information.
-# This cause the whole screen to be redrawn everytime, instead of the part of the screen
-# has actually changed. Potentially degrades the performance, but might fix some artifacts.
-# The opposing option is use-damage
-#
-# no-use-damage = false
-use-damage = true
-
-# Use X Sync fence to sync clients' draw calls, to make sure all draw
-# calls are finished before picom starts drawing. Needed on nvidia-drivers
-# with GLX backend for some users.
-#
-# xrender-sync-fence = tue
-
-# GLX backend: Use specified GLSL fragment shader for rendering window contents.
-# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
-# in the source tree for examples.
-#
-# glx-fshader-win = ''
-
-# Force all windows to be painted with blending. Useful if you
-# have a glx-fshader-win that could turn opaque pixels transparent.
-#
-# force-win-blend = false
-
-# Do not use EWMH to detect fullscreen windows.
-# Reverts to checking if a window is fullscreen based only on its size and coordinates.
-#
-# no-ewmh-fullscreen = false
-
-# Dimming bright windows so their brightness doesn't exceed this set value.
-# Brightness of a window is estimated by averaging all pixels in the window,
-# so this could comes with a performance hit.
-# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
-#
-# max-brightness = 1.0
-
-# Make transparent windows clip other windows like non-transparent windows do,
-# instead of blending on top of them.
-#
-# transparent-clipping = false
-
-# Set the log level. Possible values are:
-# "trace", "debug", "info", "warn", "error"
-# in increasing level of importance. Case doesn't matter.
-# If using the "TRACE" log level, it's better to log into a file
-# using *--log-file*, since it can generate a huge stream of logs.
-#
-# log-level = "debug"
-log-level = "warn";
-
-# Set the log file.
-# If *--log-file* is never specified, logs will be written to stderr.
-# Otherwise, logs will to written to the given file, though some of the early
-# logs might still be written to the stderr.
-# When setting this option from the config file, it is recommended to use an absolute path.
-#
-# log-file = '/path/to/your/log/file'
-
-# Show all X errors (for debugging)
-# show-all-xerrors = false
-
-# Write process ID to a file.
-# write-pid-path = '/path/to/your/log/file'
-
-# Window type settings
-#
-# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
-# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
-# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
-# "tooltip", "notification", "combo", and "dnd".
-#
-# Following per window-type options are available: ::
-#
-# fade, shadow:::
-# Controls window-type-specific shadow and fade settings.
-#
-# opacity:::
-# Controls default opacity of the window type.
-#
-# focus:::
-# Controls whether the window of this type is to be always considered focused.
-# (By default, all window types except "normal" and "dialog" has this on.)
-#
-# full-shadow:::
-# Controls whether shadow is drawn under the parts of the window that you
-# normally won't be able to see. Useful when the window has parts of it
-# transparent, and you want shadows in those areas.
-#
-# redir-ignore:::
-# Controls whether this type of windows should cause screen to become
-# redirected again after been unredirected. If you have unredir-if-possible
-# set, and doesn't want certain window to cause unnecessary screen redirection,
-# you can set this to `true`.
-#
-wintypes:
-{
- tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
- dock = { shadow = false; }
- dnd = { shadow = false; }
- popup_menu = { opacity = 0.8; }
- dropdown_menu = { opacity = 0.8; }
-};
-
-corner-radius = 12.0;
-round-borders = 1;
-rounded-corners-exclude = [
- "class_g = 'polybar'",
- "class_g = 'awesome'",
- "class_g = 'origin.exe'",
- "window_type = 'dock'"
-];
diff --git a/.config/qalculate/qalc.cfg b/.config/qalculate/qalc.cfg
deleted file mode 100644
index 0397b91..0000000
--- a/.config/qalculate/qalc.cfg
+++ /dev/null
@@ -1,84 +0,0 @@
-
-[General]
-version=4.9.0
-save_mode_on_exit=1
-save_definitions_on_exit=1
-clear_history_on_exit=0
-ignore_locale=0
-colorize=1
-auto_update_exchange_rates=-1
-spacious=1
-vertical_space=1
-excessive_parenthesis=0
-short_multiplication=1
-use_unicode_signs=1
-use_unicode_exponents=1
-lower_case_numbers=0
-duodecimal_symbols=0
-lower_case_e=0
-imaginary_j=0
-base_display=1
-twos_complement=1
-hexadecimal_twos_complement=0
-spell_out_logical_operators=1
-digit_grouping=0
-decimal_comma=-1
-dot_as_separator=-1
-comma_as_separator=0
-multiplication_sign=2
-division_sign=0
-
-[Mode]
-min_deci=0
-use_min_deci=0
-max_deci=2
-use_max_deci=0
-precision=10
-interval_arithmetic=1
-interval_display=0
-min_exp=-1
-negative_exponents=0
-sort_minus_last=1
-number_fraction_format=-1
-complex_number_form=0
-use_prefixes=1
-use_prefixes_for_all_units=0
-use_prefixes_for_currencies=0
-use_binary_prefixes=0
-abbreviate_names=1
-all_prefixes_enabled=0
-denominator_prefix_enabled=1
-place_units_separately=1
-auto_post_conversion=3
-mixed_units_conversion=3
-local_currency_conversion=1
-number_base=10
-number_base_expression=10
-read_precision=0
-assume_denominators_nonzero=1
-warn_about_denominators_assumed_nonzero=1
-structuring=1
-angle_unit=1
-caret_as_xor=0
-concise_uncertainty_input=0
-functions_enabled=1
-variables_enabled=1
-calculate_variables=1
-calculate_functions=1
-variable_units_enabled=1
-sync_units=1
-unknownvariables_enabled=0
-units_enabled=1
-allow_complex=1
-allow_infinite=1
-indicate_infinite_series=0
-show_ending_zeroes=1
-rounding_mode=0
-approximation=-1
-interval_calculation=1
-in_rpn_mode=0
-rpn_syntax=0
-limit_implicit_multiplication=0
-parsing_mode=0
-default_assumption_type=4
-default_assumption_sign=0
diff --git a/.config/razercommander/macro_logic.json b/.config/razercommander/macro_logic.json
deleted file mode 100644
index 9e26dfe..0000000
--- a/.config/razercommander/macro_logic.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file
diff --git a/.config/razercommander/profiles b/.config/razercommander/profiles
deleted file mode 100644
index 3c330bf..0000000
--- a/.config/razercommander/profiles
+++ /dev/null
@@ -1 +0,0 @@
-[{"name": "Empty", "colors": [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]}]
\ No newline at end of file
diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi
deleted file mode 100644
index 8719876..0000000
--- a/.config/rofi/config.rasi
+++ /dev/null
@@ -1,29 +0,0 @@
-configuration {
- modi: "window,run,drun,calc";
- icon-theme: "Papirus";
- show-icons: true;
- terminal: "wezterm";
- drun-display-format: "{icon} {name}";
- location: 0;
- disable-history: false;
- hide-scrollbar: true;
- display-drun: " Apps ";
- display-run: " Run ";
- display-window: " Window ";
- display-Network: " Network ";
- display-calc: " Calc ";
- sidebar-mode: true;
-}
-
-@theme "catppuccin-macchiato"
-
-* {
- blue: #f5bde6;
- border-col: @blue;
- font: "FairiesevkaSans Nerd Font Propo 12";
-}
-
-window {
- border: 1px;
- border-radius: 12px;
-}
diff --git a/.config/systemd/user/tmux.service b/.config/systemd/user/tmux.service
deleted file mode 100644
index 1b9bef3..0000000
--- a/.config/systemd/user/tmux.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=tmux default session (detached)
-Documentation=man:tmux(1)
-
-[Service]
-Type=forking
-Environment=DISPLAY=:0
-ExecStart=/usr/bin/tmux new-session -d
-
-ExecStop=/home/marley/.tmux/plugins/tmux-resurrect/scripts/save.sh
-ExecStop=/usr/bin/tmux kill-server
-KillMode=control-group
-
-RestartSec=2
-
-[Install]
-WantedBy=default.target
diff --git a/.config/yay/config.json b/.config/yay/config.json
deleted file mode 100644
index 77d058b..0000000
--- a/.config/yay/config.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "aururl": "https://aur.archlinux.org",
- "aurrpcurl": "https://aur.archlinux.org/rpc?",
- "buildDir": "/home/marley/.cache/yay",
- "editor": "",
- "editorflags": "",
- "makepkgbin": "makepkg",
- "makepkgconf": "",
- "pacmanbin": "pacman",
- "pacmanconf": "/etc/pacman.conf",
- "redownload": "no",
- "answerclean": "None",
- "answerdiff": "Installed",
- "answeredit": "",
- "answerupgrade": "",
- "gitbin": "git",
- "gpgbin": "gpg",
- "gpgflags": "",
- "mflags": "",
- "sortby": "votes",
- "searchby": "name-desc",
- "gitflags": "",
- "removemake": "yes",
- "sudobin": "sudo",
- "sudoflags": "",
- "version": "12.3.0",
- "requestsplitn": 150,
- "completionrefreshtime": 7,
- "maxconcurrentdownloads": 1,
- "bottomup": true,
- "sudoloop": false,
- "timeupdate": false,
- "devel": false,
- "cleanAfter": false,
- "keepSrc": false,
- "provides": true,
- "pgpfetch": true,
- "cleanmenu": false,
- "diffmenu": false,
- "editmenu": false,
- "combinedupgrade": true,
- "useask": false,
- "batchinstall": false,
- "singlelineresults": false,
- "separatesources": true,
- "debug": false,
- "rpc": true,
- "doubleconfirm": true,
- "rebuild": "no"
-}
diff --git a/.config/zathura/catppuccin-frappe b/.config/zathura/catppuccin-frappe
deleted file mode 100644
index d0321d2..0000000
--- a/.config/zathura/catppuccin-frappe
+++ /dev/null
@@ -1,38 +0,0 @@
-set default-fg "#C6D0F5"
-set default-bg "#303446"
-
-set completion-bg "#414559"
-set completion-fg "#C6D0F5"
-set completion-highlight-bg "#575268"
-set completion-highlight-fg "#C6D0F5"
-set completion-group-bg "#414559"
-set completion-group-fg "#8CAAEE"
-
-set statusbar-fg "#C6D0F5"
-set statusbar-bg "#414559"
-
-set notification-bg "#414559"
-set notification-fg "#C6D0F5"
-set notification-error-bg "#414559"
-set notification-error-fg "#E78284"
-set notification-warning-bg "#414559"
-set notification-warning-fg "#FAE3B0"
-
-set inputbar-fg "#C6D0F5"
-set inputbar-bg "#414559"
-
-set recolor "true"
-set recolor-lightcolor "#303446"
-set recolor-darkcolor "#C6D0F5"
-
-set index-fg "#C6D0F5"
-set index-bg "#303446"
-set index-active-fg "#C6D0F5"
-set index-active-bg "#414559"
-
-set render-loading-bg "#303446"
-set render-loading-fg "#C6D0F5"
-
-set highlight-color "#575268"
-set highlight-fg "#F4B8E4"
-set highlight-active-color "#F4B8E4"
diff --git a/.config/zathura/catppuccin-latte b/.config/zathura/catppuccin-latte
deleted file mode 100644
index 2634397..0000000
--- a/.config/zathura/catppuccin-latte
+++ /dev/null
@@ -1,38 +0,0 @@
-set default-fg "#4C4F69"
-set default-bg "#EFF1F5"
-
-set completion-bg "#CCD0DA"
-set completion-fg "#4C4F69"
-set completion-highlight-bg "#575268"
-set completion-highlight-fg "#4C4F69"
-set completion-group-bg "#CCD0DA"
-set completion-group-fg "#1E66F5"
-
-set statusbar-fg "#4C4F69"
-set statusbar-bg "#CCD0DA"
-
-set notification-bg "#CCD0DA"
-set notification-fg "#4C4F69"
-set notification-error-bg "#CCD0DA"
-set notification-error-fg "#D20F39"
-set notification-warning-bg "#CCD0DA"
-set notification-warning-fg "#FAE3B0"
-
-set inputbar-fg "#4C4F69"
-set inputbar-bg "#CCD0DA"
-
-set recolor "true"
-set recolor-lightcolor "#EFF1F5"
-set recolor-darkcolor "#4C4F69"
-
-set index-fg "#4C4F69"
-set index-bg "#EFF1F5"
-set index-active-fg "#4C4F69"
-set index-active-bg "#CCD0DA"
-
-set render-loading-bg "#EFF1F5"
-set render-loading-fg "#4C4F69"
-
-set highlight-color "#575268"
-set highlight-fg "#EA76CB"
-set highlight-active-color "#EA76CB"
diff --git a/.config/zathura/catppuccin-macchiato b/.config/zathura/catppuccin-macchiato
deleted file mode 100644
index 37718a3..0000000
--- a/.config/zathura/catppuccin-macchiato
+++ /dev/null
@@ -1,38 +0,0 @@
-set default-fg "#CAD3F5"
-set default-bg "#24273A"
-
-set completion-bg "#363A4F"
-set completion-fg "#CAD3F5"
-set completion-highlight-bg "#575268"
-set completion-highlight-fg "#CAD3F5"
-set completion-group-bg "#363A4F"
-set completion-group-fg "#8AADF4"
-
-set statusbar-fg "#CAD3F5"
-set statusbar-bg "#363A4F"
-
-set notification-bg "#363A4F"
-set notification-fg "#CAD3F5"
-set notification-error-bg "#363A4F"
-set notification-error-fg "#ED8796"
-set notification-warning-bg "#363A4F"
-set notification-warning-fg "#FAE3B0"
-
-set inputbar-fg "#CAD3F5"
-set inputbar-bg "#363A4F"
-
-set recolor "true"
-set recolor-lightcolor "#24273A"
-set recolor-darkcolor "#CAD3F5"
-
-set index-fg "#CAD3F5"
-set index-bg "#24273A"
-set index-active-fg "#CAD3F5"
-set index-active-bg "#363A4F"
-
-set render-loading-bg "#24273A"
-set render-loading-fg "#CAD3F5"
-
-set highlight-color "#575268"
-set highlight-fg "#F5BDE6"
-set highlight-active-color "#F5BDE6"
diff --git a/.config/zathura/catppuccin-mocha b/.config/zathura/catppuccin-mocha
deleted file mode 100644
index f341d62..0000000
--- a/.config/zathura/catppuccin-mocha
+++ /dev/null
@@ -1,38 +0,0 @@
-set default-fg "#CDD6F4"
-set default-bg "#1E1E2E"
-
-set completion-bg "#313244"
-set completion-fg "#CDD6F4"
-set completion-highlight-bg "#575268"
-set completion-highlight-fg "#CDD6F4"
-set completion-group-bg "#313244"
-set completion-group-fg "#89B4FA"
-
-set statusbar-fg "#CDD6F4"
-set statusbar-bg "#313244"
-
-set notification-bg "#313244"
-set notification-fg "#CDD6F4"
-set notification-error-bg "#313244"
-set notification-error-fg "#F38BA8"
-set notification-warning-bg "#313244"
-set notification-warning-fg "#FAE3B0"
-
-set inputbar-fg "#CDD6F4"
-set inputbar-bg "#313244"
-
-set recolor "true"
-set recolor-lightcolor "#1E1E2E"
-set recolor-darkcolor "#CDD6F4"
-
-set index-fg "#CDD6F4"
-set index-bg "#1E1E2E"
-set index-active-fg "#CDD6F4"
-set index-active-bg "#313244"
-
-set render-loading-bg "#1E1E2E"
-set render-loading-fg "#CDD6F4"
-
-set highlight-color "#575268"
-set highlight-fg "#F5C2E7"
-set highlight-active-color "#F5C2E7"
diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc
deleted file mode 100644
index 2b870f7..0000000
--- a/.config/zathura/zathurarc
+++ /dev/null
@@ -1 +0,0 @@
-include catppuccin-macchiato
diff --git a/.icons/default/index.theme b/.icons/default/index.theme
deleted file mode 100644
index d878bb7..0000000
--- a/.icons/default/index.theme
+++ /dev/null
@@ -1,2 +0,0 @@
-[icon theme]
-Inherits=Catppuccin-Macchiato-Pink-Cursors
diff --git a/.local/share/rofi/themes/catppuccin-frappe.rasi b/.local/share/rofi/themes/catppuccin-frappe.rasi
deleted file mode 100644
index e6e8783..0000000
--- a/.local/share/rofi/themes/catppuccin-frappe.rasi
+++ /dev/null
@@ -1,111 +0,0 @@
-* {
- bg-col: #303446;
- bg-col-light: #303446;
- border-col: #303446;
- selected-col: #303446;
- blue: #8caaee;
- fg-col: #c6d0f5;
- fg-col2: #e78284;
- grey: #737994;
-
- width: 600;
- font: "JetBrainsMono Nerd Font 14";
-}
-
-element-text, element-icon , mode-switcher {
- background-color: inherit;
- text-color: inherit;
-}
-
-window {
- height: 360px;
- border: 3px;
- border-color: @border-col;
- background-color: @bg-col;
-}
-
-mainbox {
- background-color: @bg-col;
-}
-
-inputbar {
- children: [prompt,entry];
- background-color: @bg-col;
- border-radius: 5px;
- padding: 2px;
-}
-
-prompt {
- background-color: @blue;
- padding: 6px;
- text-color: @bg-col;
- border-radius: 3px;
- margin: 20px 0px 0px 20px;
-}
-
-textbox-prompt-colon {
- expand: false;
- str: ":";
-}
-
-entry {
- padding: 6px;
- margin: 20px 0px 0px 10px;
- text-color: @fg-col;
- background-color: @bg-col;
-}
-
-listview {
- border: 0px 0px 0px;
- padding: 6px 0px 0px;
- margin: 10px 0px 0px 20px;
- columns: 2;
- lines: 5;
- background-color: @bg-col;
-}
-
-element {
- padding: 5px;
- background-color: @bg-col;
- text-color: @fg-col ;
-}
-
-element-icon {
- size: 25px;
-}
-
-element selected {
- background-color: @selected-col ;
- text-color: @fg-col2 ;
-}
-
-mode-switcher {
- spacing: 0;
- }
-
-button {
- padding: 10px;
- background-color: @bg-col-light;
- text-color: @grey;
- vertical-align: 0.5;
- horizontal-align: 0.5;
-}
-
-button selected {
- background-color: @bg-col;
- text-color: @blue;
-}
-
-message {
- background-color: @bg-col-light;
- margin: 2px;
- padding: 2px;
- border-radius: 5px;
-}
-
-textbox {
- padding: 6px;
- margin: 20px 0px 0px 20px;
- text-color: @blue;
- background-color: @bg-col-light;
-}
diff --git a/.local/share/rofi/themes/catppuccin-latte.rasi b/.local/share/rofi/themes/catppuccin-latte.rasi
deleted file mode 100644
index 6826db6..0000000
--- a/.local/share/rofi/themes/catppuccin-latte.rasi
+++ /dev/null
@@ -1,111 +0,0 @@
-* {
- bg-col: #eff1f5;
- bg-col-light: #eff1f5;
- border-col: #eff1f5;
- selected-col: #eff1f5;
- blue: #1e66f5;
- fg-col: #4c4f69;
- fg-col2: #d20f39;
- grey: #9ca0b0;
-
- width: 600;
- font: "JetBrainsMono Nerd Font 14";
-}
-
-element-text, element-icon , mode-switcher {
- background-color: inherit;
- text-color: inherit;
-}
-
-window {
- height: 360px;
- border: 3px;
- border-color: @border-col;
- background-color: @bg-col;
-}
-
-mainbox {
- background-color: @bg-col;
-}
-
-inputbar {
- children: [prompt,entry];
- background-color: @bg-col;
- border-radius: 5px;
- padding: 2px;
-}
-
-prompt {
- background-color: @blue;
- padding: 6px;
- text-color: @bg-col;
- border-radius: 3px;
- margin: 20px 0px 0px 20px;
-}
-
-textbox-prompt-colon {
- expand: false;
- str: ":";
-}
-
-entry {
- padding: 6px;
- margin: 20px 0px 0px 10px;
- text-color: @fg-col;
- background-color: @bg-col;
-}
-
-listview {
- border: 0px 0px 0px;
- padding: 6px 0px 0px;
- margin: 10px 0px 0px 20px;
- columns: 2;
- lines: 5;
- background-color: @bg-col;
-}
-
-element {
- padding: 5px;
- background-color: @bg-col;
- text-color: @fg-col ;
-}
-
-element-icon {
- size: 25px;
-}
-
-element selected {
- background-color: @selected-col ;
- text-color: @fg-col2 ;
-}
-
-mode-switcher {
- spacing: 0;
- }
-
-button {
- padding: 10px;
- background-color: @bg-col-light;
- text-color: @grey;
- vertical-align: 0.5;
- horizontal-align: 0.5;
-}
-
-button selected {
- background-color: @bg-col;
- text-color: @blue;
-}
-
-message {
- background-color: @bg-col-light;
- margin: 2px;
- padding: 2px;
- border-radius: 5px;
-}
-
-textbox {
- padding: 6px;
- margin: 20px 0px 0px 20px;
- text-color: @blue;
- background-color: @bg-col-light;
-}
diff --git a/.local/share/rofi/themes/catppuccin-macchiato.rasi b/.local/share/rofi/themes/catppuccin-macchiato.rasi
deleted file mode 100644
index 22746c8..0000000
--- a/.local/share/rofi/themes/catppuccin-macchiato.rasi
+++ /dev/null
@@ -1,111 +0,0 @@
-* {
- bg-col: #24273a;
- bg-col-light: #24273a;
- border-col: #24273a;
- selected-col: #24273a;
- blue: #8aadf4;
- fg-col: #cad3f5;
- fg-col2: #ed8796;
- grey: #6e738d;
-
- width: 600;
- font: "FiraCode Nerd Font 14";
-}
-
-element-text, element-icon , mode-switcher {
- background-color: inherit;
- text-color: inherit;
-}
-
-window {
- height: 360px;
- border: 3px;
- border-color: @border-col;
- background-color: @bg-col;
-}
-
-mainbox {
- background-color: @bg-col;
-}
-
-inputbar {
- children: [prompt,entry];
- background-color: @bg-col;
- border-radius: 5px;
- padding: 2px;
-}
-
-prompt {
- background-color: @blue;
- padding: 6px;
- text-color: @bg-col;
- border-radius: 3px;
- margin: 20px 0px 0px 20px;
-}
-
-textbox-prompt-colon {
- expand: false;
- str: ":";
-}
-
-entry {
- padding: 6px;
- margin: 20px 0px 0px 10px;
- text-color: @fg-col;
- background-color: @bg-col;
-}
-
-listview {
- border: 0px 0px 0px;
- padding: 6px 0px 0px;
- margin: 10px 0px 0px 20px;
- columns: 2;
- lines: 5;
- background-color: @bg-col;
-}
-
-element {
- padding: 5px;
- background-color: @bg-col;
- text-color: @fg-col ;
-}
-
-element-icon {
- size: 25px;
-}
-
-element selected {
- background-color: @selected-col ;
- text-color: @fg-col2 ;
-}
-
-mode-switcher {
- spacing: 0;
- }
-
-button {
- padding: 10px;
- background-color: @bg-col-light;
- text-color: @grey;
- vertical-align: 0.5;
- horizontal-align: 0.5;
-}
-
-button selected {
- background-color: @bg-col;
- text-color: @blue;
-}
-
-message {
- background-color: @bg-col-light;
- margin: 2px;
- padding: 2px;
- border-radius: 5px;
-}
-
-textbox {
- padding: 6px;
- margin: 20px 0px 0px 20px;
- text-color: @blue;
- background-color: @bg-col-light;
-}
diff --git a/.local/share/rofi/themes/catppuccin-mocha.rasi b/.local/share/rofi/themes/catppuccin-mocha.rasi
deleted file mode 100644
index 38c0b80..0000000
--- a/.local/share/rofi/themes/catppuccin-mocha.rasi
+++ /dev/null
@@ -1,111 +0,0 @@
-* {
- bg-col: #1e1e2e;
- bg-col-light: #1e1e2e;
- border-col: #1e1e2e;
- selected-col: #1e1e2e;
- blue: #89b4fa;
- fg-col: #cdd6f4;
- fg-col2: #f38ba8;
- grey: #6c7086;
-
- width: 600;
- font: "JetBrainsMono Nerd Font 14";
-}
-
-element-text, element-icon , mode-switcher {
- background-color: inherit;
- text-color: inherit;
-}
-
-window {
- height: 360px;
- border: 3px;
- border-color: @border-col;
- background-color: @bg-col;
-}
-
-mainbox {
- background-color: @bg-col;
-}
-
-inputbar {
- children: [prompt,entry];
- background-color: @bg-col;
- border-radius: 5px;
- padding: 2px;
-}
-
-prompt {
- background-color: @blue;
- padding: 6px;
- text-color: @bg-col;
- border-radius: 3px;
- margin: 20px 0px 0px 20px;
-}
-
-textbox-prompt-colon {
- expand: false;
- str: ":";
-}
-
-entry {
- padding: 6px;
- margin: 20px 0px 0px 10px;
- text-color: @fg-col;
- background-color: @bg-col;
-}
-
-listview {
- border: 0px 0px 0px;
- padding: 6px 0px 0px;
- margin: 10px 0px 0px 20px;
- columns: 2;
- lines: 5;
- background-color: @bg-col;
-}
-
-element {
- padding: 5px;
- background-color: @bg-col;
- text-color: @fg-col ;
-}
-
-element-icon {
- size: 25px;
-}
-
-element selected {
- background-color: @selected-col ;
- text-color: @fg-col2 ;
-}
-
-mode-switcher {
- spacing: 0;
- }
-
-button {
- padding: 10px;
- background-color: @bg-col-light;
- text-color: @grey;
- vertical-align: 0.5;
- horizontal-align: 0.5;
-}
-
-button selected {
- background-color: @bg-col;
- text-color: @blue;
-}
-
-message {
- background-color: @bg-col-light;
- margin: 2px;
- padding: 2px;
- border-radius: 5px;
-}
-
-textbox {
- padding: 6px;
- margin: 20px 0px 0px 20px;
- text-color: @blue;
- background-color: @bg-col-light;
-}
diff --git a/.screenlayout/multihead.sh b/.screenlayout/multihead.sh
deleted file mode 100755
index b7f7049..0000000
--- a/.screenlayout/multihead.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-xrandr --output DVI-I-1 --off --output DVI-D-1 --mode 1680x1050 --pos 1920x75 --rotate normal --output HDMI-1 --off --output DP-1 --mode 1920x1200 --pos 0x0 --rotate normal
diff --git a/.xprofile b/.xprofile
deleted file mode 100644
index 3f33e82..0000000
--- a/.xprofile
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env sh
-
-sysresources=/etc/X11/xinit/.Xresources
-sysmodmap=/etc/X11/xinit/.Xmodmap
-userresources=$HOME/.Xresources
-usermodmap=$HOME/.Xmodmap
-
-if [ -f "$sysresources" ]; then
- xrdb -merge "$sysresources"
-fi
-
-if [ -f "$sysmodmap" ]; then
- xmodmap "$sysmodmap"
-fi
-
-if [ -f "$userresources" ]; then
- xrdb -merge "$userresources"
-fi
-
-if [ -f "$usermodmap" ]; then
- xmodmap -merge "$usermodmap"
-fi
-
-if [ -d /etc/X11/xinit/xinitrc.d ]; then
- for f in /etc/X11/xinit/xinitrc.d/?*.sh; do
- # shellcheck source=/dev/null
- [ -x "$f" ] && . "$f"
- done
-
- unset f
-fi
-
-"$HOME/.screenlayout/multihead.sh"
-
-"$HOME/.config/.fehbg"
-
-copyq &
-mopidy &