From b09ab0864dabd7742bac29a359d4a1cfcd495a81 Mon Sep 17 00:00:00 2001 From: Marley <23287005+punkfairie@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:35:48 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20Remove=20files=20unneccesary=20f?= =?UTF-8?q?or=20mac?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .Xresources | 38 -- .config/.fehbg | 2 - .config/awesome/.luarc.json | 5 - .config/awesome/config.lua | 102 --- .config/awesome/helpers/init.lua | 3 - .config/awesome/helpers/ui.lua | 188 ------ .config/awesome/lib/animation/init.lua | 225 ------- .../awesome/lib/animation/subscribable.lua | 47 -- .config/awesome/lib/animation/tween.lua | 533 ---------------- .config/awesome/lib/better-resize.lua | 138 ---- .config/awesome/lib/bling | 1 - .config/awesome/lib/catppuccin | 1 - .config/awesome/lib/exit-screen.lua | 186 ------ .config/awesome/lib/init.lua | 9 - .config/awesome/lib/json.lua | 372 ----------- .config/awesome/lib/layout-machi | 1 - .config/awesome/lib/rubato | 1 - .config/awesome/lib/savefloats.lua | 58 -- .config/awesome/main/bindings.lua | 286 --------- .config/awesome/main/custom_bindings.lua | 63 -- .config/awesome/main/error_handling.lua | 31 - .config/awesome/main/init.lua | 14 - .config/awesome/main/layout.lua | 35 - .config/awesome/main/menu.lua | 107 ---- .config/awesome/main/rules.lua | 78 --- .config/awesome/main/tags.lua | 10 - .config/awesome/main/wallpaper.lua | 26 - .config/awesome/rc.lua | 25 - .config/awesome/signals/cpu.lua | 20 - .config/awesome/signals/disk.lua | 23 - .config/awesome/signals/init.lua | 14 - .config/awesome/signals/mem.lua | 22 - .config/awesome/signals/mic.lua | 29 - .config/awesome/signals/player.lua | 31 - .config/awesome/signals/playerctl.lua | 17 - .config/awesome/signals/uptime.lua | 16 - .config/awesome/signals/volume.lua | 26 - .../themes/catppuccin/assets/music.png | Bin 404927 -> 0 bytes .../awesome/themes/catppuccin/assets/pfp.jpg | Bin 7540 -> 0 bytes .../themes/catppuccin/assets/volume-off.png | Bin 5729 -> 0 bytes .../themes/catppuccin/assets/volume-on.png | Bin 5208 -> 0 bytes .../themes/catppuccin/assets/volume.svg | 57 -- .config/awesome/themes/catppuccin/buttons.png | Bin 11964 -> 0 bytes .../themes/catppuccin/layouts/centered.png | Bin 3625 -> 0 bytes .../themes/catppuccin/layouts/dwindle.png | Bin 3532 -> 0 bytes .../themes/catppuccin/layouts/equalarea.png | Bin 3530 -> 0 bytes .../themes/catppuccin/layouts/floating.png | Bin 2609 -> 0 bytes .../themes/catppuccin/layouts/machi.png | Bin 2765 -> 0 bytes .../awesome/themes/catppuccin/layouts/max.png | Bin 3754 -> 0 bytes .../themes/catppuccin/layouts/mstab.png | Bin 3557 -> 0 bytes .../themes/catppuccin/layouts/tile.png | Bin 3495 -> 0 bytes .config/awesome/themes/catppuccin/submenu.png | Bin 440 -> 0 bytes .../themes/catppuccin/taglist/squarefw.png | Bin 187 -> 0 bytes .../themes/catppuccin/taglist/squarew.png | Bin 193 -> 0 bytes .config/awesome/themes/catppuccin/theme.lua | 202 ------ .../themes/catppuccin/titlebar/close.svg | 1 - .../catppuccin/titlebar/close_hover.svg | 1 - .../themes/catppuccin/titlebar/maximize.svg | 1 - .../catppuccin/titlebar/maximize_hover.svg | 10 - .../themes/catppuccin/titlebar/minimize.svg | 1 - .../catppuccin/titlebar/minimize_hover.svg | 10 - .../themes/catppuccin/titlebar/ontop.svg | 1 - .../themes/catppuccin/titlebar/unfocus.svg | 1 - .config/awesome/ui/info-panel/calendar.lua | 85 --- .config/awesome/ui/info-panel/init.lua | 121 ---- .../awesome/ui/info-panel/music-player.lua | 256 -------- .config/awesome/ui/info-panel/player.lua | 116 ---- .config/awesome/ui/info-panel/profile.lua | 179 ------ .../weather/icons/weather-clear-night.svg | 3 - .../weather/icons/weather-clear-sky.svg | 3 - .../weather/icons/weather-clouds-night.svg | 8 - .../weather/icons/weather-clouds.svg | 8 - .../icons/weather-few-clouds-night.svg | 4 - .../weather/icons/weather-few-clouds.svg | 3 - .../info-panel/weather/icons/weather-fog.svg | 3 - .../weather/icons/weather-freezing-rain.svg | 9 - .../icons/weather-overcast-symbolic.svg | 4 - .../weather/icons/weather-overcast.svg | 8 - .../weather/icons/weather-severe-alert.svg | 4 - .../icons/weather-showers-scattered.svg | 4 - .../weather/icons/weather-showers.svg | 4 - .../weather/icons/weather-snow-rain.svg | 8 - .../weather/icons/weather-snow-scattered.svg | 8 - .../info-panel/weather/icons/weather-snow.svg | 8 - .../weather/icons/weather-storm.svg | 9 - .../weather/icons/weather-windy.svg | 3 - .../awesome/ui/info-panel/weather/init.lua | 229 ------- .config/awesome/ui/init.lua | 5 - .config/awesome/ui/notif-panel/init.lua | 334 ---------- .../ui/notif-panel/widgets/bri_slider.lua | 50 -- .../ui/notif-panel/widgets/mic_slider.lua | 124 ---- .../ui/notif-panel/widgets/vol_slider.lua | 124 ---- .config/awesome/ui/popups/init.lua | 10 - .config/awesome/ui/popups/layout/init.lua | 131 ---- .../awesome/ui/popups/notifications/error.lua | 12 - .../awesome/ui/popups/notifications/init.lua | 350 ---------- .../ui/popups/notifications/playerctl.lua | 20 - .config/awesome/ui/popups/scratchpad/init.lua | 27 - .config/awesome/ui/popups/volume/init.lua | 284 --------- .config/awesome/ui/titlebar/init.lua | 57 -- .config/awesome/ui/top-panel/config.lua | 13 - .config/awesome/ui/top-panel/init.lua | 110 ---- .../awesome/ui/top-panel/widgets/clock.lua | 34 - .config/awesome/ui/top-panel/widgets/cpu.lua | 47 -- .config/awesome/ui/top-panel/widgets/date.lua | 34 - .config/awesome/ui/top-panel/widgets/disk.lua | 39 -- .config/awesome/ui/top-panel/widgets/init.lua | 14 - .../awesome/ui/top-panel/widgets/launcher.lua | 7 - .config/awesome/ui/top-panel/widgets/mem.lua | 41 -- .config/awesome/ui/top-panel/widgets/menu.lua | 26 - .../awesome/ui/top-panel/widgets/power.lua | 18 - .../ui/top-panel/widgets/promptbox.lua | 5 - .../ui/top-panel/widgets/pulseaudio.lua | 80 --- .../ui/top-panel/widgets/seperator.lua | 12 - .../awesome/ui/top-panel/widgets/systray.lua | 64 -- .../awesome/ui/top-panel/widgets/taglist.lua | 114 ---- .../awesome/ui/top-panel/widgets/tasklist.lua | 8 - .config/awesome/utilities/screensht | 209 ------ .config/gtk-3.0/bookmarks | 1 - .config/gtk-3.0/settings.ini | 4 - .config/gtk-4.0/assets | 1 - .config/gtk-4.0/gtk-dark.css | 1 - .config/gtk-4.0/gtk.css | 1 - .config/mopidy/mopidy.conf | 168 ----- .config/ncmpcpp/config | 598 ------------------ .config/openrazer/persistence.conf | 25 - .config/openrazer/razer.conf | 23 - .config/packages/all | 143 ----- .config/picom.conf | 498 --------------- .config/qalculate/qalc.cfg | 84 --- .config/razercommander/macro_logic.json | 1 - .config/razercommander/profiles | 1 - .config/rofi/config.rasi | 29 - .config/systemd/user/tmux.service | 17 - .config/yay/config.json | 50 -- .config/zathura/catppuccin-frappe | 38 -- .config/zathura/catppuccin-latte | 38 -- .config/zathura/catppuccin-macchiato | 38 -- .config/zathura/catppuccin-mocha | 38 -- .config/zathura/zathurarc | 1 - .icons/default/index.theme | 2 - .../share/rofi/themes/catppuccin-frappe.rasi | 111 ---- .../share/rofi/themes/catppuccin-latte.rasi | 111 ---- .../rofi/themes/catppuccin-macchiato.rasi | 111 ---- .../share/rofi/themes/catppuccin-mocha.rasi | 111 ---- .screenlayout/multihead.sh | 2 - .xprofile | 38 -- 147 files changed, 8842 deletions(-) delete mode 100644 .Xresources delete mode 100755 .config/.fehbg delete mode 100644 .config/awesome/.luarc.json delete mode 100644 .config/awesome/config.lua delete mode 100644 .config/awesome/helpers/init.lua delete mode 100644 .config/awesome/helpers/ui.lua delete mode 100644 .config/awesome/lib/animation/init.lua delete mode 100644 .config/awesome/lib/animation/subscribable.lua delete mode 100644 .config/awesome/lib/animation/tween.lua delete mode 100644 .config/awesome/lib/better-resize.lua delete mode 160000 .config/awesome/lib/bling delete mode 160000 .config/awesome/lib/catppuccin delete mode 100644 .config/awesome/lib/exit-screen.lua delete mode 100644 .config/awesome/lib/init.lua delete mode 100644 .config/awesome/lib/json.lua delete mode 160000 .config/awesome/lib/layout-machi delete mode 160000 .config/awesome/lib/rubato delete mode 100644 .config/awesome/lib/savefloats.lua delete mode 100644 .config/awesome/main/bindings.lua delete mode 100644 .config/awesome/main/custom_bindings.lua delete mode 100644 .config/awesome/main/error_handling.lua delete mode 100644 .config/awesome/main/init.lua delete mode 100644 .config/awesome/main/layout.lua delete mode 100644 .config/awesome/main/menu.lua delete mode 100644 .config/awesome/main/rules.lua delete mode 100644 .config/awesome/main/tags.lua delete mode 100644 .config/awesome/main/wallpaper.lua delete mode 100644 .config/awesome/rc.lua delete mode 100644 .config/awesome/signals/cpu.lua delete mode 100644 .config/awesome/signals/disk.lua delete mode 100644 .config/awesome/signals/init.lua delete mode 100644 .config/awesome/signals/mem.lua delete mode 100644 .config/awesome/signals/mic.lua delete mode 100644 .config/awesome/signals/player.lua delete mode 100644 .config/awesome/signals/playerctl.lua delete mode 100644 .config/awesome/signals/uptime.lua delete mode 100644 .config/awesome/signals/volume.lua delete mode 100644 .config/awesome/themes/catppuccin/assets/music.png delete mode 100644 .config/awesome/themes/catppuccin/assets/pfp.jpg delete mode 100644 .config/awesome/themes/catppuccin/assets/volume-off.png delete mode 100644 .config/awesome/themes/catppuccin/assets/volume-on.png delete mode 100644 .config/awesome/themes/catppuccin/assets/volume.svg delete mode 100644 .config/awesome/themes/catppuccin/buttons.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/centered.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/dwindle.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/equalarea.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/floating.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/machi.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/max.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/mstab.png delete mode 100644 .config/awesome/themes/catppuccin/layouts/tile.png delete mode 100644 .config/awesome/themes/catppuccin/submenu.png delete mode 100644 .config/awesome/themes/catppuccin/taglist/squarefw.png delete mode 100644 .config/awesome/themes/catppuccin/taglist/squarew.png delete mode 100644 .config/awesome/themes/catppuccin/theme.lua delete mode 100644 .config/awesome/themes/catppuccin/titlebar/close.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/close_hover.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/maximize.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/maximize_hover.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/minimize.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/minimize_hover.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/ontop.svg delete mode 100644 .config/awesome/themes/catppuccin/titlebar/unfocus.svg delete mode 100644 .config/awesome/ui/info-panel/calendar.lua delete mode 100644 .config/awesome/ui/info-panel/init.lua delete mode 100644 .config/awesome/ui/info-panel/music-player.lua delete mode 100644 .config/awesome/ui/info-panel/player.lua delete mode 100644 .config/awesome/ui/info-panel/profile.lua delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-clear-night.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-clear-sky.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-clouds-night.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-clouds.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-few-clouds-night.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-few-clouds.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-fog.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-freezing-rain.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-overcast-symbolic.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-overcast.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-severe-alert.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-showers-scattered.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-showers.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-snow-rain.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-snow-scattered.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-snow.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-storm.svg delete mode 100644 .config/awesome/ui/info-panel/weather/icons/weather-windy.svg delete mode 100644 .config/awesome/ui/info-panel/weather/init.lua delete mode 100644 .config/awesome/ui/init.lua delete mode 100644 .config/awesome/ui/notif-panel/init.lua delete mode 100644 .config/awesome/ui/notif-panel/widgets/bri_slider.lua delete mode 100644 .config/awesome/ui/notif-panel/widgets/mic_slider.lua delete mode 100644 .config/awesome/ui/notif-panel/widgets/vol_slider.lua delete mode 100644 .config/awesome/ui/popups/init.lua delete mode 100644 .config/awesome/ui/popups/layout/init.lua delete mode 100644 .config/awesome/ui/popups/notifications/error.lua delete mode 100644 .config/awesome/ui/popups/notifications/init.lua delete mode 100644 .config/awesome/ui/popups/notifications/playerctl.lua delete mode 100644 .config/awesome/ui/popups/scratchpad/init.lua delete mode 100644 .config/awesome/ui/popups/volume/init.lua delete mode 100644 .config/awesome/ui/titlebar/init.lua delete mode 100644 .config/awesome/ui/top-panel/config.lua delete mode 100644 .config/awesome/ui/top-panel/init.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/clock.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/cpu.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/date.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/disk.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/init.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/launcher.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/mem.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/menu.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/power.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/promptbox.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/pulseaudio.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/seperator.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/systray.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/taglist.lua delete mode 100644 .config/awesome/ui/top-panel/widgets/tasklist.lua delete mode 100644 .config/awesome/utilities/screensht delete mode 100644 .config/gtk-3.0/bookmarks delete mode 100644 .config/gtk-3.0/settings.ini delete mode 120000 .config/gtk-4.0/assets delete mode 120000 .config/gtk-4.0/gtk-dark.css delete mode 120000 .config/gtk-4.0/gtk.css delete mode 100644 .config/mopidy/mopidy.conf delete mode 100644 .config/ncmpcpp/config delete mode 100644 .config/openrazer/persistence.conf delete mode 100644 .config/openrazer/razer.conf delete mode 100644 .config/packages/all delete mode 100644 .config/picom.conf delete mode 100644 .config/qalculate/qalc.cfg delete mode 100644 .config/razercommander/macro_logic.json delete mode 100644 .config/razercommander/profiles delete mode 100644 .config/rofi/config.rasi delete mode 100644 .config/systemd/user/tmux.service delete mode 100644 .config/yay/config.json delete mode 100644 .config/zathura/catppuccin-frappe delete mode 100644 .config/zathura/catppuccin-latte delete mode 100644 .config/zathura/catppuccin-macchiato delete mode 100644 .config/zathura/catppuccin-mocha delete mode 100644 .config/zathura/zathurarc delete mode 100644 .icons/default/index.theme delete mode 100644 .local/share/rofi/themes/catppuccin-frappe.rasi delete mode 100644 .local/share/rofi/themes/catppuccin-latte.rasi delete mode 100644 .local/share/rofi/themes/catppuccin-macchiato.rasi delete mode 100644 .local/share/rofi/themes/catppuccin-mocha.rasi delete mode 100755 .screenlayout/multihead.sh delete mode 100644 .xprofile 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 aae8c492877ec1399349459c557d4264c5d1e1f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404927 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ⅆ3lMPGHM*){GKLR80}p9j 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

!a?MUw5U9D~uJ!^; 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 diff --git a/.config/awesome/themes/catppuccin/assets/pfp.jpg b/.config/awesome/themes/catppuccin/assets/pfp.jpg deleted file mode 100644 index 8d4863a3d2daddb3d9311394963080d05f23d059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7540 zcmeHMcT`i^x<53*GJ}YKB25J&VhDtq0Er_42BZigLV#RI0)z;mgdz~p89OLL9}&nf zNRd!3C?MTIihziKkfDoo2uKY`G4BM_@ve8@TF}A z@NMF}0KhBysm^6>7Oon%&DJkx8aQs@Mxj!C-6&piYRW2r_DPH>KmR6GSc=CE;5(pT zBn9$$0e-L-yRN!Xsa{AJ%+pudi9m5CD&r|0us|m-n5wc04A4afdO6|AM5>%K(Us(> z2YFvs1(72W^dL4GrYfdh`b0O<=^!7XRgl>^d=MFrAVAQl9lC+YKo2huBGpMQ(Bq<~ zFEUUMvMG)P>s%NHk=vwD$$Aishm$K2iR1?39EEaGPE|!&RRscy_z+x>mZuCqNq}d1 zkWYOL2nbLPP*bM(xWZHs2n0+84uiv?AOq@q$&>072=(+m3@Yr9+tfHk^u_y-yr?9K zryN()$(iCu)q_BG$bFKgl3f1Q{+Bp#Et`P=)#T)Kxu-}=qA%s5A6L!VlSD@q5@O>#Qz%qLbm-M$Y0~&s9@Y-d^N29{ZPSaF*W@X$A1~?=Q;QAfNhO- zlZ!k>!TWg-J*k*esI4g^Q1B!I(w9oXlaZP(2yM8Nwi8rE6R!bPhZ9tw2xp=e)LBDa zUCTw?MN6Bgp$q$OLfr9gff!F;s*@+42&#jCG6__6COB)msH-8Ma5W7rsJf;K9O~?( zsSb4llS@ri1p#+f)%>jaRr7xvmaRyENd%@7>`PK|=kh;azB~D*7=I7f_i%kv1ip#< zJ-fb#>zg9*P2}&{^*vnQ6oGFd|3AvEzqb=aPjC+r0B#mIJ%BzSz{k(e&nEyL1Ox=O z3GNaS1dH&_o!fVb2=Cb=A}k^zDlR1r(6L}cH=eUj4Bva+(G5{Kju$;eB|$jWe@ z0Xv0w+`tcy2*9ZUq`(akFCVzq+S(#8 zo_P8A1w^(T+;d3vr?Y~hPTr9zf41(0pR}~{xtcE~uO@z2UBkJ0R-YObUBKxEgt*FR zU?Xm`@qgsNM}l@WH#47vXm+e#-(kY4bAYh0iQ&nJHb$S7nd$r5pA3S#UX?|pbAZ%z zg^8pAd9wMvCCHN3+~KJS^zE^Yk`4~QC(Hr1hqRpb?tfTWBqLwppfION8k)$PBHdnf z3TT#=@MUEd)=$Hgw+eLyR)ExG-`fm;>NQI&B*E(&yiE7M@WYSkM|R$(YUmpJF0zTBvpYeCPOsq$9-ERFYzZ9kV& zam+(DMvN)$ZC(0HvJ73(`gWHh+jt-*)Q7vn=NA5qYb#lOde4O|VsdI&;cG;jSLl4_ zc4C0_0ry1L?a-m4743#6HmShAJ|eY4$s^H82%>0gPKdv4>m4A{#ju~7>rJ^X*x;`t z8@3pDNOy}20DELa-sz}6h(qbe%%*?HWn$+XBlg-p>2l~W?9SL4}YYFzN%{6R|GVO%IC_FSFv^wXSfziWSE|Z6-?dUT4KEI#(nQxYOP*ve=Pa8&B~s>0@J| z*K3M8mZQ2+%okIw)shc8+2)dT{Rh#@hX>Xq;)_>Uq3iO2IM5)z)FS!*xJ?+XrpIV7L`vfT z+_I^v_)_j4OGcvsQ5gBS27iTK8nDtvN-s7qL@oT1?N#}sbL?*o&bXd(iLgahb7 zPJtxgL`a6~;{4p=I4Z|`q3E(}LvS(s*VmwdGM+$OO?R(nFvMOpNsb7utgegTC!T6| zUq0@gpVIpC=s*ZPjK=B$fFC?e1P@r$#%Z2GT7o+6=*T@FB9Qdl>b%=NIPT~8 z$MMg`uYi#6(>V7EKBW1q9eaKy_7;dJRGv{NdK@h)McatN!Jl)R`HrZqujZ|}ae$>m z+;^edmw5;bs*OI){WzJTKUyh&4Fq}h>PwF0h*{9>*7o$gE~&c8eYo>yG|)dRRk7PR zz@)-G5ZJNM7~IxX~zPH&+HyK$M<2nd=n#(N9HQ3;4+-{I75L{O> zrDj8ALMQ7SJv{yzVbh;4YM%ftaUWFft=63>S7oysLc(@|$Zp&*KMxmy{$pO3M^ADo z_Q?~h3%yDVBdcd;3rr@?Ju?=rVWbH<) zoKvPpK^)Liohg+Vd*RK$zucf=tgv%R*mEcN4U z%8cGKUHJT5zS6`9&Owy}*cUB}+{K5zi)Nh3Y51rS76smzPUV&MhNbzjjhp0`V;(MF zT;Tfg_l3?#)CPv2uj^wm=h9%at?sKRr7bKU(KEuvW7!D^|771@?WH&T2ZMZ0k&?>90#i+Uz3I6#MN zWZvb9Z2O|*6d%Xk-RS(50^b5pe`BlYX`kT7qKegi)9u$%+OWA%WU4dQM_I~X`36ox z1lkd&96w?|Py!z^Ar`Pe6R=xW@h|CJ*)&6u$u3z9*HL?BS*X(wpg~K$Sxw9GamsD| z1e_fu20uk8HW}PyY?=g;4&})K}8&Dw2t$1$N$Q+)~k!at(FV6WTPp%JKhxZPah&-2ExjXQY=6-GbZ|^(%71%H zoiEVXU(c`)>7ZYec$sdD^Z(!=o;AU`h7rHMB z{3GMxa2uwmzd?E4_IIz;gnNdWiTLhJa~BSvHnX&6)jc;M)mo#j^j%T7bJ6LS0MG0y zpi-JOlV$B-e=*mDWN1QtaigmG-VR$yJD&)0N=5g2Ue%jZ-QFJR?VtzmS%8PF*l4V3 zW=SE$2SaD1+B@S@TW>d|r?%ymUvW;g6&h>;Pk z3{~a+TGy0Sn*6ra>^~;jsR|Ci1{=fe+f@Kw^WkOVOQm`39{0edL?;Jur!_53v&Bzy zCHRaS+Os;SOM}%=e=Y=9N|+pWzCDS1sz;>!C-jW8-)35y@E`K!nDeB?cdDgnLJMM+K`h z)myH}JdMG|MmuWk2G>O~&gHhA<92>_=kK4FwqI4c)bt+1ejK>!o}MON zY#JyQFX1(kVA^t6+BncEgig*`K^y&|(<^*+(E&1{cCT}|GCphPWM0JN=B#lwBIfD@ z+n&%LR_pZK?OghEgE+VGqp;BINJ3%L;e*EeEJ6nG`71D^u;bliZbDmxALNg5j%$GN z$!+yumvUBFR_ys|wOrC8Fr}GSb6ntA+s_r{D$2+E7;&G!+#*vrr1X!D{Qi<73ABj^ z>KzUmhFK~5Z1`jFVg)A8UT%>9oYBq5_Mtw|4Q&z=jvsbuytKo^yWPop{(zTCIF0CYs){!So zLiKgiw%1P?q=HXMzN6JXtN9m~Zm5MiVuM89J9ypfh(L>~d}#_&wp-hm{UcmPT^1ju z5?Cp^EQ`8}t`Hq-%@`7W-+1(+9s A)Bpeg 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 842d7de3d87702bc0b9d9eeccdeaf211bf6c40c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5729 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 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 81124d7bc6757d52dac72d9786949ecf59377f55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5208 zcmbVQc{r5c+keI|g^@4WvZq4Uv1>>w%D!aJGGnL2*vFPpS;mqirG%vHS<7yWCQ#^~7vf)xF4qu;*L2LLB;>g!y##E#M^5t$C| zQOD@Z%iX>om%8P2X2e8mMeCKCPP=(r{fCj?QaDmuIL&a7=Siorp}mez+o;y(n~#p) z)Ya9!%t>=)mJE=8%U{k<>h=|FQqms;SY~fAhIp#lh4gK&r=I0QdyaHPTu@rw-)q0r z+)9mj>^H77w<3&7`0t+rgGe>)^>e5a2O-f$5m~Hggjq)tVb?nZjxg5GvmK%x76UNI znC$CN!ivMfq;8ViSZH)l9Hij<&+|mTwa1c6abHt}YRJnMev6)3r`%RTt&1hFEn%>;C8Mz zV7X5+jM_9ycgaa8Ta>mM;)2Dcu2W1dy5IyXoiW(+I)sU)RQ&~A(N;;WuFzS-*#<&Z zu>>3gEvca|Enavjw> zB6f#tHvUqKUm}RX<$p=L$mL2ZWqQkJ&?bl;9(OXv@kCmutnydnbbH8#~k86)ZB$BR|JPiKyVV zaxbF-SbjuBtc5&i^JLmm#{JA0-7;6r-ou{pC6j=TV5C3Ez;XNK4VgehB#D~Yw?P6${Ih%;#_0xak<_C3)E^9+-NFlA~T^Y z%848>KSO&r{Y8%HDI~#R$htja+hz6)AvH$7YG=5??kC)D%z7gGPSg4m+Y`TIPIOs| zW#sb&N$f`TQ5nmLIVxRWHPV+<$Z`QDXhMzg9;VA`X<=fryWEf|Fc!Gtcpd5c-p>#DE89rJwEQ zY#J#Lg%QmsyWB@@q}@&fYOSW+yu-V?vak__xVqYLqm`dO2Ra9Ur4Ta{#_*`SXt!wU zYK|Oi~I& zqr;uAg;9NBNIvv2zVUeuj-Iy`(d-ij#zI z&)FG`_1dgsP#+G`?avz-TMWRZYKMi)gQ?DK!kh*-yz(5p!cL6yj)BB8U?(su*m7-U zFD|ccH)q*Rfyjes4tXiZ`7q?o0jGAG%kvAI1{BSSHbCGreKh!!hI^8zKMRhRW|da6 zdrXQovM*SX4}G7{Nv-;ME%n;vAVr+H;kkQ~{S`Yob8q<9DcbpHEahhZk8Om`L9Yuw ze_>KO0bU7#SBQ|EaKw}$mZH1vKcrGfJPlR~M5XUOlQgn=bNsS!h^pKG6OdD-9N8Gy z_ceDn$5j?ihb!A-A=(`?_{geA-MfP#A?p-YK*lK4_aUwZ82RacgTAePNkWMHd8+&r zsmbvM&hXxVodC=I+13>b9FXaJvlRQaPL?fq35C-7xhYucj4RB;lXm%;HttPy#JX(f zs0h>wPPF98(w<4uA7oTn9Sm&lm4H$SU^q{6I@i}$*lG=Wo@{AR6gw_gs~lNdp&Xgq zw{1lNOd%wDt9ShqFYR+@J;BWu@a`ZtM^5Btf<;yIjK7h4MOJtYBeJ0wY#QfN5{)s z&NwOqNh4Tn#1vY#vaad>XKU*j0DmrQ!z7YQzApsFu)&v;yYUSB%h!k4h2|USr{fnl z9!r*2A=b3ABT@yI!?ivjh*pT^Ye6t`%yoig&Ywn%i^CxsG2w3vx1mGdTOL1hJXhju z+^+R)!RH66-;@u>a+uHh&+G+})8*!zB%ijP;A;(U4lWB0svxnCQnt?T1YwxOc{lK{ z=}YlLts|4wUR|~r?(Wurdc!}ZHJ26xgh7`xaj!~cZ#50Me+gS1&4pEd+aku~ECmRw z*#D&fDjDsu-{{nO8Ohhfr$j7g>#vLac+(YTNdnUCrEJQD1eZdreDB&UKmY+Y_NK0_ zvNTu6o;)5{rUUsLm)+9BV2;>psja-f{@fw~1Bdp`xG(Vz{niI>YHmrX0eou6vuli= z`@=*aT|~^#k=8nvrLV=hDt}=Sb#z|H?Nr1<#O1lLSr72?jirTkS;7`?X1#3oZ9w7Wl><>vBcRB@KGf#I-oH8Rv4SxhIG#S-c=bJ_j%y(K4!#&_?mqGL5Oh8cpx{( zN}BQ}pZom!!90)^)rw^S=kgiQHzIeMpP#LgL7u$S06K8d72E3#Nda8eXs6Aa-J0eW z0#7G$Fv0E&CvdLFTq#WQvo!2759To$U#42xMqXqi24dn(9yC;1>~;tmxv*D1=Lx-@4TxxGRijK zl|kd*W+NSgzEDK|#=4~cXRYL%B4@Y1SNQPi>$F`VU9}FN+|i6J_*KxKD|hqk^w6Io z83b8P)t4+Y&JOy!EH*Y%@Cf`V;6(Wgn-0JN-dW%ix}Zh2s*T>Ko8@Oi_iJ~{V<826 z{mXbgx2CVwa1j{sccJ~2SKyvGieGYq_-m0yNiIFiy~)$TGAyie;T1@U+;+U>U&{Dq z(80LAY#ZL=`jd{--#^#cL1r98Jhv9cyj_xXWjiKqAF{?LWVr_6Z2>oNx~Yw4)8irP zArrv-kzGJU`Qv?10gOUaj=*i9mTo&0?rF%7*Gp-H%K5gr6PLU~cXv?`+a_l>)Nw5| zc7(doOX(q>d7=T1izHv|_+_>{Q8!Nx@(7_(GB#gwc#{tuK;uriXIdY=XJ(}vQ#&5pQUrXa2Od;EGX;^taR-C zqx+1wR~J$Dur7IgGDP@C7%N6Dos*hg@fM-p%q51RQ?5g?QtnQcfM-z z&vOn=mvjo1`$ikXO!G=RgF|Iv7kHyK&F69q^wwfXziKt8RbnjbEnMo9{jJcWm^VrVERyQ}>?G*G|rFL^$*n^1!xa5uXMhKhwc{Kg!@v zC8P2 zp4q#h_usQe;(V6A?6iTypd>D-dVaZSfXnwumNmzIs0jP<5isSrx`(tsT^&>;`@C!8O;Xns%bQ%ioiTjIQMtDM8p?Y{<(|Wb>l7B?y*F7+bfmBMciSvs z&gO#>mF;_Jfg_%&m5cddXKY} z{;FEshJB5YV9{N)Dy^OwV{N!-{tY|@ts9o#bMCibtbYIb5z66;B49NUDf z_@$M%EA6=XcP@u|mU6*WlY2%8VjSjNh%`z{L?Y3h$58VT&19Swk>eK&QB9Dp64++D z>iF80d3x8OMf_f;XJlU>2$e|noaFTpSNXm)L_Hg^y!Mvl+Nc9^em(tsdOKiG%ourS zW%^sr^_{F5RK3&Xc~9Q&OWQerKwS1znHJ?@2!jP#&prKWY$ka7!=uhQo&pWE|AlRT zgGQ4xO7H`(ss(u})S)S=r&oG%VrGdB)dvf94zY0rjxTn`sf zGe4si`7b1m$09FYC>_q&GCw16DoKnB@#)o;SckR_Md@p z@1Kw%u-Ilh4Us7vT`k$3Vne*@FRV~ik$481Ounv7-7*ka%Q4@NhG3*3_oFOYREH_f zd#;}TL~ivs{>dQZB}8>}o+ZKQBN`xj)9Y;auomL$!-Uj$S%(TJ>T)giF-B{4i-S0 zLooFkj3yRot^Z7*sU5Q^T((15`YJsagYS-&nYbwxyT`Uos#0_PnRQ_}+k-9YxKo1V z(<2bSLNO4;FqH=y*Vc4I$DaNr+j;iXIE`-t*3Vctc=ewP@>wRr(YB@w7pOg-n4x2$ z{2L#iPJtzihK8V(-Sx)xQsbl2L1o64on$YVFCH$_ybrUNJ*E;Nz6iET&eWudg{q-} za);0bYLwc^&}J42Zfa#@_6dGG&fnohHrX5;KnofyW&9^Wjf4uMzbVbzVQ(;+yHC(4 zR#S)+&z>qXlM!fs^rkhA5!D;=f!fAuIY{Ep96PzEc*CJebkM(I+4`t}Qr^rmF(k=S zezSj&@Htcoth0zWasA=0FAsLGQQi&gQbiEmNFLhJ1!?8KY4eetphz-A+(K0vQ+UPq zN!mt4M1*^H=+zz^q+mW#)K-FH>7jDt>ffb@D7BpvkNiIYgHMV&)tCmNru%n!kFv#5 z{C{7YO7JQ<5P^QcK`8GPL&0*}xgcHJAUEeAccg28J4gUUgrcIX0zwv{W~rctR8d1J qD@r2}NCaXOb0+@(DBSUL^Y#e){}oDQvot^jKwsBHr~C@~-v0o20rHgq 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 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/.config/awesome/themes/catppuccin/buttons.png b/.config/awesome/themes/catppuccin/buttons.png deleted file mode 100644 index de4cce8fcbb663392d4ab61a7b02f78bf648942c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11964 zcmeAS@N?(olHy`uVBq!ia0y~y;0H1}3OJa7)ba#t2OuR`;u=vBoS#-wo>-L1P+nfH zmzkGcoSayYs+V7sKKq@G6i^Xofk$L90|Vb-5N14{zaoW!fw4BgC&cyZgFC+-Z}@Wk z>X)mRKV7`=^YXG!XU}eZ@!;o$#a|CSU-$Ch+LyaGJiN8$#je#aH^18R=EsrQkB=RD zzWeQp$6Fun`0!)zwEO!H+}-x+*}mzWcV17t{B_EOALsY(oqXZ@w6ni2ADDT4{rwkP zC-$9qe{SXd7mL=`sV&RE>ZBw`PmY=DfmbGl# z!mbH3dne85ubk1;IjeTYr0S);O$7@}8hgvC>;C$T58 zASkOnAT_4KFC{N1(KDvPJ~GoSBE;T1%+AW)&f3w|!qvpa-OkL@*v8QqC}L`BW#Xl0 z#0Iwm!)#y~39iP_a}u^>GwhQo4TGAN zZ3S#`g*#G5OH_>3+@NS@4TeV3Xo-rYeQySA84^=G(lU#Ki{3$zOu@y+&}(Onh8>oa z4eP@alez~*o%%i9y$X(H`$qPumJNR@ydxD<0P$DIht$H#~mB)m%YgqJ*3g|xIk*t%gZ;ilO%dN7cSdq zS*YaBrOtKo@BId5)wIVUhFkmYMXi3mv!y*I zo}O4>G2X~D*M7;(`tv6gN)Fwtoi(|?r>52K#$Lb6f6jQkX>s44Y4t04(z)bW-E-;= zx3CucH}wsB-5WFH%72fNUttS2U*PPY&wYh|?uO#v1#vH0+RIsYan0TEH)z4~6<>F$ z?o*kr$0BgRq45|BN3$oTbSO>n=-NL=)ofEi> z8Zyn^(MkYVtDzNyL#+`5YabI^@Pa!I!#SDKq7(%NGNN^dU=dL@(kQsm5-kB+2DAnm zbYVx!F)x-4oR~!l?${wB0U=c;#Afl)W;IHhLj*E{MIiqShAd9YWJ+4aKSWE^;a-yu z)ojj@APmf(M90o($a){PO;6@zopr E05~%MT>t<8 diff --git a/.config/awesome/themes/catppuccin/layouts/centered.png b/.config/awesome/themes/catppuccin/layouts/centered.png deleted file mode 100644 index 180f6dea52f90b50f5a8a53c7efe566cd88c3237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3625 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 diff --git a/.config/awesome/themes/catppuccin/layouts/equalarea.png b/.config/awesome/themes/catppuccin/layouts/equalarea.png deleted file mode 100644 index 89280abd335b048db9c8f877905a60f931162db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3530 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 TQi!T>00000NkvXXu0mjf6*$#@ diff --git a/.config/awesome/themes/catppuccin/layouts/machi.png b/.config/awesome/themes/catppuccin/layouts/machi.png deleted file mode 100644 index fa158b5281862035e7a34d973d4055c7997cfb25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2765 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 T#w)W400000NkvXXu0mjfnK=}y diff --git a/.config/awesome/themes/catppuccin/layouts/max.png b/.config/awesome/themes/catppuccin/layouts/max.png deleted file mode 100644 index fcbad9aed5e2ecee7119b4dfe4704aab31fbc61d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3754 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 X$MK&rzAi=usDi=M)z4*}Q$iB}5zjAs diff --git a/.config/awesome/themes/catppuccin/taglist/squarew.png b/.config/awesome/themes/catppuccin/taglist/squarew.png deleted file mode 100644 index 913f2ca6ba168e824644509d6fed72b31c677d49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV!3HGtKUiJ>QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sf4K5~rW$n|Rx>tZgk|nMYCC>S| zxv6<249-QVi6yBi3gww484B*6z5(HleBwYwGM+AuAr_~TfA}*PG;qo!WN03EeKyd5 d%Z(A}pyPS@6O*PM?E$J|@O1TaS?83{1OQ#WGiU$+ 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 &