Merge remote-tracking branch 'refs/remotes/origin/main'

This commit is contained in:
Penelope Gwen 2026-06-11 14:26:23 -07:00 committed by Penelope Gwen
commit 2f5a1dc1db
223 changed files with 1678 additions and 3141 deletions

View file

@ -37,7 +37,7 @@ depends = ["default"]
depends = ["graphical"] depends = ["graphical"]
[wayland.files] [wayland.files]
"wayland/config" = { target = "~/.config", type = "symbolic" } "wayland/config" = "~/.config"
"wayland/bashrc.d" = "~/.bashrc.d" "wayland/bashrc.d" = "~/.bashrc.d"
"wayland/bin" = "~/.local/bin" "wayland/bin" = "~/.local/bin"
@ -68,6 +68,7 @@ depends = ["wayland"]
"personal-laptop/bin" = "~/.local/bin" "personal-laptop/bin" = "~/.local/bin"
[personal-laptop.variables] [personal-laptop.variables]
matugen_monitor = "eDP-1"
[fajita] [fajita]
depends = ["wayland"] depends = ["wayland"]
@ -84,6 +85,7 @@ depends = ["wayland"]
"work-laptop/config" = "~/.config" "work-laptop/config" = "~/.config"
[work-laptop.variables] [work-laptop.variables]
matugen_monitor = "eDP-1"
[cosmo] [cosmo]
depends = ["x11"] depends = ["x11"]

View file

@ -4,8 +4,7 @@ if [[ -z ${ZELLIJ} ]] && command -v zellij; then
zellij && exit zellij && exit
fi fi
if [[ ! -f /usr/share/terminfo/a/alacritty ]]; then
if [[ ! -f /usr/share/terminfo/a/alacritty ]];then
export TERM=xterm-256color export TERM=xterm-256color
fi fi
@ -33,6 +32,8 @@ findfile() {
alias p="ps aux |grep " alias p="ps aux |grep "
#open file #open file
alias o="open " alias o="open "
alias bat="batcat"
alias cat="batcat"
#find large files #find large files
#alias find_largest_files="du -h -x -s -- * | sort -r -h | head -20" #alias find_largest_files="du -h -x -s -- * | sort -r -h | head -20"
#alias nano="hx" #alias nano="hx"
@ -209,7 +210,7 @@ export GIT_AUTHOR_NAME="Penelope Gwen"
export GIT_AUTHOR_EMAIL="penelope@pogmom.me" export GIT_AUTHOR_EMAIL="penelope@pogmom.me"
[[ -d $HOME/.local/bin ]] && export PATH="$HOME/.local/bin:$PATH" [[ -d $HOME/.local/bin ]] && export PATH="$HOME/.local/bin:$PATH"
if [[ -d $HOME/.cargo/bin ]] && [[ ! ":$PATH:" == *":$HOME/.cargo:"* ]];then if [[ -d $HOME/.cargo/bin ]] && [[ ! ":$PATH:" == *":$HOME/.cargo:"* ]]; then
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
fi fi
#[[ -d $HOME/.rustup/toolchains/nightly-$(uname -m)-unknown-linux-gnu/bin ]] && export PATH="$HOME/.rustup/toolchains/nightly-$(uname -m)-unknown-linux-gnu/bin:$PATH" #[[ -d $HOME/.rustup/toolchains/nightly-$(uname -m)-unknown-linux-gnu/bin ]] && export PATH="$HOME/.rustup/toolchains/nightly-$(uname -m)-unknown-linux-gnu/bin:$PATH"
@ -223,7 +224,7 @@ fi
MISSING_CMDS=() MISSING_CMDS=()
if type starship >/dev/null 2>&1;then if type starship >/dev/null 2>&1; then
eval "$(starship init bash)" eval "$(starship init bash)"
else else
MISSING_CMDS+=("starship") MISSING_CMDS+=("starship")
@ -231,26 +232,27 @@ else
TPUT_MAGENTA_BG="$(tput setab 5)$(tput setaf 0)" TPUT_MAGENTA_BG="$(tput setab 5)$(tput setaf 0)"
TPUT_MAGENTA="$(tput sgr0)$(tput setaf 5)" TPUT_MAGENTA="$(tput sgr0)$(tput setaf 5)"
TPUT_BLACK="$(tput sgr0)$(tput setaf 0)" TPUT_BLACK="$(tput sgr0)$(tput setaf 0)"
prompt_prefix=$(awk '{$1=$1};1' <<< "${prompt_prefix}");export prompt_prefix prompt_prefix=$(awk '{$1=$1};1' <<<"${prompt_prefix}")
export prompt_prefix
PS1='\[\e[1m\e[95m\]${prompt_prefix}\[\e[m\]\[${TPUT_MAGENTA_BG}▓▒░ 󰊟 \u ${TPUT_MAGENTA} ${TPUT_RED}󰣚 ${TPUT_MAGENTA}$(hostname | cut -d - -f 3-) ${TPUT_BLACK} \[\[\e[01;34m\]$(pwd|sed "s|${HOME}|~|"|perl -pe "s/(?<!(^~))(\\/.*)(?=\\/.*\\/)/\\/…/s")\[\e[00m\]\n\$ ' PS1='\[\e[1m\e[95m\]${prompt_prefix}\[\e[m\]\[${TPUT_MAGENTA_BG}▓▒░ 󰊟 \u ${TPUT_MAGENTA} ${TPUT_RED}󰣚 ${TPUT_MAGENTA}$(hostname | cut -d - -f 3-) ${TPUT_BLACK} \[\[\e[01;34m\]$(pwd|sed "s|${HOME}|~|"|perl -pe "s/(?<!(^~))(\\/.*)(?=\\/.*\\/)/\\/…/s")\[\e[00m\]\n\$ '
fi fi
if type npm >/dev/null 2>&1;then if type npm >/dev/null 2>&1; then
export NODE_PATH=$HOME/.local/lib/node_modules:$NODE_PATH export NODE_PATH=$HOME/.local/lib/node_modules:$NODE_PATH
export npm_config_prefix=$HOME/.local export npm_config_prefix=$HOME/.local
fi fi
if type pyenv >/dev/null 2>&1;then if type pyenv >/dev/null 2>&1; then
export PYENV_ROOT="$HOME/.pyenv" export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)" eval "$(pyenv init - bash)"
fi fi
if type hx >/dev/null 2>&1;then if type nvim >/dev/null 2>&1; then
EDITOR=$(which hx) EDITOR=$(which nvim)
GIT_EDITOR="$(which hx)" GIT_EDITOR="$(which nvim)"
else else
MISSING_CMDS+=("hx") MISSING_CMDS+=("nvim")
EDITOR=$(which nano) EDITOR=$(which nano)
GIT_EDITOR="$(which nano)" GIT_EDITOR="$(which nano)"
fi fi
@ -263,12 +265,12 @@ export VISUAL="${EDITOR}"
bind 'set show-all-if-ambiguous on' bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on' bind 'set completion-ignore-case on'
if type hyfetch >/dev/null 2>&1;then if type hyfetch >/dev/null 2>&1; then
hyfetch 2>/dev/null hyfetch 2>/dev/null
else else
MISSING_CMDS+=("hyfetch") MISSING_CMDS+=("hyfetch")
fi fi
if [[ "${#MISSING_CMDS[@]}" -gt 0 ]];then if [[ "${#MISSING_CMDS[@]}" -gt 0 ]]; then
printf "Missing commands: %s\n" ${MISSING_CMDS[@]} printf "Missing commands: %s\n" ${MISSING_CMDS[@]}
fi fi

79
default/bin/monochrome-image.sh Executable file
View file

@ -0,0 +1,79 @@
#!/bin/bash
contrast=0
darkness=10
hex='d7afaf'
hex_alt='111317'
invert_flag=''
darkness_color='black'
help() {
executable_path=$(basename "${0}")
printf "Usage: %s {FLAGS} [FILE]\n\
ARGUMENTS:\n\
-h display this help menu\n\
-i invert original image colors before applying color effects (off by default)\n\
-p [d7afaf] Primary hex color\n\
-s [111317] Secondary hex color\n\
-c [0] Contrast\n\
-d [10] Darkness\n\
FILE Full path to original image file\n" "${executable_path}"
exit 1
}
while getopts "hb:d:c:p:s:i" flag 2>/dev/null; do
case "${flag}" in
h)
help
;;
d)
darkness="${OPTARG}"
;;
b)
darkness_color='white'
darkness="${OPTARG}"
;;
c)
contrast="${OPTARG}"
;;
p)
hex="${OPTARG//#/}"
;;
s)
hex_alt="${OPTARG//#/}"
;;
i)
invert_flag='-negate'
;;
*)
printf "[ERROR] Invalid flag: %s\n\n" "${flag}"
help
;;
esac
done
shift $((OPTIND - 1))
file="${1}"
if [[ -z ${file} || ! -f "${file}" ]]; then
printf '[ERROR] Please provide an image file!\n\n'
help
fi
hex="${hex//#/}"
hex_alt="${hex_alt//#/}"
printf "darkness: %s\ncontrast: %s\nprimary color: #%s\nsecondary color: #%s\nfile: %s\n" "${darkness}" "${contrast}" "${hex}" "${hex_alt}" "${file}"
new_filename=$(basename "${file}")
convert "${file}" ${invert_flag} -contrast-stretch "${contrast}"% -fill "${darkness_color}" -colorize "${darkness}"% -set colorspace Gray -separate -average +level-colors "#${hex_alt},#${hex}" "${new_filename}-recolored-$(date +%Y-%m-%d_%H-%M-%S).jpg"
#convert "${1}" -contrast-stretch 7% -set colorspace Gray -separate -average +level-colors "#111317","#d7afaf" "$(basename ${1})-recolored-$(date +%Y-%m-%d_%H-%M-%S).jpg"
#convert "${1}" -linear-stretch 90% -fill black -colorize 5% -set colorspace Gray -separate -average +level-colors "#111317","#d7afaf" "$(basename ${1})-recolored-$(date +%Y-%m-%d_%H-%M-%S).jpg"
#convert "${1}" -contrast-stretch 5% -fill black -colorize 5% -set colorspace Gray -separate -average +level-colors "#111317","#d7afaf" "$(basename ${1})-recolored-$(date +%Y-%m-%d_%H-%M-%S).jpg"
#convert "${1}" -contrast-stretch 25% -fill black -colorize 25% -set colorspace Gray -separate -average +level-colors "#111317","#d7afaf" "$(basename ${1})-recolored-$(date +%Y-%m-%d_%H-%M-%S).jpg"
#convert "${1}" -contrast-stretch 100% -fill black -colorize 25% -set colorspace Gray -separate -average +level-colors "#111317","#d7afaf" "$(basename ${1})-recolored-$(date +%Y-%m-%d_%H-%M-%S).jpg"

View file

@ -0,0 +1,2 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

View file

@ -0,0 +1,14 @@
{
"extras": [
"lazyvim.plugins.extras.editor.neo-tree",
"lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.ui.edgy"
],
"install_version": 8,
"news": {
"NEWS.md": "11866"
},
"version": 8
}

View file

@ -0,0 +1,8 @@
-- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
--
-- Add any additional autocmds here
-- with `vim.api.nvim_create_autocmd`
--
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")

View file

@ -0,0 +1,3 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here

View file

@ -0,0 +1,73 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
vim.g.seoul256_disable_background = true
--require("seoul256")
vim.cmd([[
augroup NEOTREE_AUGROUP
autocmd!
au VimEnter * lua vim.defer_fn(function() vim.cmd("Neotree show left") end, 10)
augroup END
]])
vim.lsp.enable("bashls")
-- vim.cmd.colorscheme("dms")
require("lazy").setup({
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import/override with your plugins
{ import = "plugins" },
},
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = true,
-- lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
-- install = { colorscheme = { "seoul256" } },
checker = {
enabled = true, -- check for plugin updates periodically
notify = true, -- notify on update
}, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
-- "matchit",
-- "matchparen",
-- "netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
},
},
},
})
require("colorizer").setup({
options = {
parsers = { css = true, rgb = { enable = true, default = true }, hex = { enable = true, default = true } },
},
})

View file

@ -0,0 +1,3 @@
-- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here

View file

@ -0,0 +1,3 @@
-- NOTE: this file should never be accessed if AvengeMedia/base46 is not installed,
-- the neovim-colors.lua template will fail first.
return require("lualine.themes._base46")("dms")

View file

@ -0,0 +1,8 @@
return {
"folke/edgy.nvim",
event = "VeryLazy",
opts = {
laststatus = 3,
splitkeep = "screen",
},
}

View file

@ -0,0 +1,202 @@
-- since this is just an example spec, don't actually load anything here and return an empty spec
-- stylua: ignore
if true then return {} end
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
--
-- In your plugin files, you can:
-- * add extra plugins
-- * disable/enabled LazyVim plugins
-- * override the configuration of LazyVim plugins
return {
-- add gruvbox
-- { "ellisonleao/gruvbox.nvim" },
{
"shaunsingh/seoul256.nvim",
},
-- Configure LazyVim to load gruvbox
{
"LazyVim/LazyVim",
-- opts = {
-- colorscheme = "seoul256",
-- colorscheme = "gruvbox",
-- },
-- require("seoul256"),
},
-- change trouble config
{
"folke/trouble.nvim",
-- opts will be merged with the parent spec
opts = { use_diagnostic_signs = true },
},
-- disable trouble
{ "folke/trouble.nvim", enabled = false },
-- override nvim-cmp and add cmp-emoji
{
"hrsh7th/nvim-cmp",
dependencies = { "hrsh7th/cmp-emoji" },
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, { name = "emoji" })
end,
},
-- change some telescope options and a keymap to browse plugin files
{
"nvim-telescope/telescope.nvim",
keys = {
-- add a keymap to browse plugin files
-- stylua: ignore
{
"<leader>fp",
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
desc = "Find Plugin File",
},
},
-- change some options
opts = {
defaults = {
layout_strategy = "horizontal",
layout_config = { prompt_position = "top" },
sorting_strategy = "ascending",
winblend = 0,
},
},
},
-- add pyright to lspconfig
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- pyright will be automatically installed with mason and loaded with lspconfig
pyright = {},
},
},
},
-- add tsserver and setup with typescript.nvim instead of lspconfig
{
"neovim/nvim-lspconfig",
dependencies = {
"jose-elias-alvarez/typescript.nvim",
init = function()
require("lazyvim.util").lsp.on_attach(function(_, buffer)
-- stylua: ignore
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
end)
end,
},
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- tsserver will be automatically installed with mason and loaded with lspconfig
tsserver = {},
},
-- you can do any additional lsp server setup here
-- return true if you don't want this server to be setup with lspconfig
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
setup = {
-- example to setup with typescript.nvim
tsserver = function(_, opts)
require("typescript").setup({ server = opts })
return true
end,
-- Specify * to use this function as a fallback for any server
-- ["*"] = function(server, opts) end,
},
},
},
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
{ import = "lazyvim.plugins.extras.lang.typescript" },
-- add more treesitter parsers
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"bash",
"html",
"javascript",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"query",
"regex",
"tsx",
"typescript",
"vim",
"yaml",
},
},
},
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
-- would overwrite `ensure_installed` with the new value.
-- If you'd rather extend the default config, use the code below instead:
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
-- add tsx and treesitter
vim.list_extend(opts.ensure_installed, {
"tsx",
"typescript",
})
end,
},
-- the opts function can also be used to change the default opts:
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function(_, opts)
table.insert(opts.sections.lualine_x, {
function()
return "😄"
end,
})
end,
},
-- or you can return new options to override all the defaults
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function()
return {
--[[add your custom lualine config here]]
}
end,
},
-- use mini.starter instead of alpha
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
{ import = "lazyvim.plugins.extras.lang.json" },
-- add any tools you want to have installed below
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"stylua",
"shellcheck",
"shfmt",
"flake8",
},
},
},
}

View file

@ -0,0 +1,37 @@
return {
{
"elkowar/yuck.vim",
},
{
"chikamichi/mediawiki.vim",
},
{
"mrcjkb/rustaceanvim",
version = "^7", -- Recommended
lazy = false, -- This plugin is already lazy
},
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
---@module 'render-markdown'
---@type render.md.UserConfig
opts = {},
},
{
"catgoose/nvim-colorizer.lua",
event = "BufReadPre",
opts = {},
},
{
"AvengeMedia/base46",
lazy = true,
set_background = false,
transparency = true,
opts = {
set_background = false,
transparency = true,
},
},
}

View file

@ -0,0 +1,16 @@
return {
{
"shaunsingh/seoul256.nvim",
-- opts = {
-- seoul256_disable_background = true,
-- },
},
-- vim.g.seoul256_disable_background = false
{
"LazyVim/LazyVim",
opts = {
colorscheme = "dms",
},
},
}

View file

@ -0,0 +1,3 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120

View file

@ -4,9 +4,6 @@ update_info=filepicker.upd:filepicker-remove-old-previews-entry
[AdaptiveTransparency] [AdaptiveTransparency]
enabled=true enabled=true
[Colors:View]
BackgroundNormal=215,175,175,0
[ContrastEffect] [ContrastEffect]
contrast=0.2 contrast=0.2
enabled=false enabled=false

View file

@ -1,13 +1,9 @@
[[servers]] [[servers]]
address = "mc.pogmom.me" address = "mc.pogmom.me"
edition = "java" edition = "java"
[[servers]] #[[servers]]
address = "ian.hotn.gay" # address = "ian.hotn.gay"
edition = "java" # edition = "java"
[[servers]] [[servers]]
address = "mc.eugenesca.com" address = "mc.eugenesca.com"
edition = "java" edition = "java"
[[servers]]
address = "mc.eugenesca.com"
edition = "bedrock"

View file

@ -20,3 +20,4 @@ user_pref("browser.urlbar.switchTabs.adoptIntoActiveWindow",true);
user_pref("ui.systemUsesDarkTheme", 1); user_pref("ui.systemUsesDarkTheme", 1);
user_pref("widget.gtk.libadwaita-colors.enabled", false);

View file

@ -1,6 +1,6 @@
{ {
"color": { "color": {
"r": "215", "r": "135",
"g": "175", "g": "175",
"b": "135", "b": "135",
"a": "0.2" "a": "0.2"

View file

@ -218,4 +218,5 @@ user_pref("browser.urlbar.switchTabs.adoptIntoActiveWindow",true);
user_pref("ui.systemUsesDarkTheme", 1); user_pref("ui.systemUsesDarkTheme", 1);
user_pref("widget.gtk.libadwaita-colors.enabled", false);
user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom"); user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom");

View file

@ -13,7 +13,7 @@
} }
:root { :root {
--tabpanel-background-color: #11131766 !important; --tabpanel-background-color: #11131766 !important;
--toolbar-bgcolor: #d7af8733 !important; --toolbar-bgcolor: #87af8733 !important;
--toolbar-field-background-color: transparent !important; --toolbar-field-background-color: transparent !important;
--urlbar-box-bgcolor: transparent !important; --urlbar-box-bgcolor: transparent !important;
} }

View file

@ -80,7 +80,7 @@ NOTE: You can use the userContent.css file without change preferences (about:con
--tabs-height: 30px !important; --tabs-height: 30px !important;
--nav-btn-width: 30px !important; --nav-btn-width: 30px !important;
--nav-btn-height: 28px !important; --nav-btn-height: 28px !important;
--active-el-bg: #d7af8733 !important; --active-el-bg: #87af8733 !important;
--tabs-border-radius: 8px !important; --tabs-border-radius: 8px !important;
@media -moz-pref("browser.tabs.allow_transparent_browser") and (not (-moz-platform: windows)) { @media -moz-pref("browser.tabs.allow_transparent_browser") and (not (-moz-platform: windows)) {

View file

@ -218,4 +218,5 @@ user_pref("browser.urlbar.switchTabs.adoptIntoActiveWindow",true);
user_pref("ui.systemUsesDarkTheme", 1); user_pref("ui.systemUsesDarkTheme", 1);
user_pref("widget.gtk.libadwaita-colors.enabled", false);
user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom"); user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom");

View file

@ -218,5 +218,6 @@ user_pref("browser.urlbar.switchTabs.adoptIntoActiveWindow",true);
user_pref("ui.systemUsesDarkTheme", 1); user_pref("ui.systemUsesDarkTheme", 1);
user_pref("widget.gtk.libadwaita-colors.enabled", false);
user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom,mail.proton.me,*.eugenesca.com"); user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom,mail.proton.me,*.eugenesca.com");
user_pref("browser.display.use_document_fonts", 1); user_pref("browser.display.use_document_fonts", 1);

View file

@ -218,4 +218,5 @@ user_pref("browser.urlbar.switchTabs.adoptIntoActiveWindow",true);
user_pref("ui.systemUsesDarkTheme", 1); user_pref("ui.systemUsesDarkTheme", 1);
user_pref("widget.gtk.libadwaita-colors.enabled", false);
user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom,*.lanecc.edu,mail.google.com"); user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom,*.lanecc.edu,mail.google.com");

View file

@ -218,6 +218,7 @@ user_pref("browser.urlbar.switchTabs.adoptIntoActiveWindow",true);
user_pref("ui.systemUsesDarkTheme", 1); user_pref("ui.systemUsesDarkTheme", 1);
user_pref("widget.gtk.libadwaita-colors.enabled", false);
user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom,app.slack.com,na01.alma.exlibrisgroup.com,mail.google.com,*.livechatinc.com,*.lanecc.edu"); user_pref("privacy.resistFingerprinting.exemptedDomains", "*.pogmom.me,*.pog.mom,app.slack.com,na01.alma.exlibrisgroup.com,mail.google.com,*.livechatinc.com,*.lanecc.edu");
user_pref("dom.webgpu.enabled",true); user_pref("dom.webgpu.enabled",true);

View file

@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash
mkdir -p "${HOME/.cache/sway/logs/$(date +%Y%m%d).log 2>&1}" mkdir -p "${HOME/.cache/sway/logs/$(date +%Y%m%d).log 2>&1}"
alias sway="sway >> ${HOME/.cache/sway/logs/$(date +%Y%m%d).log 2>&1}" #alias sway="sway >> ${HOME/.cache/sway/logs/$(date +%Y%m%d).log 2>&1}"
ala() { ala() {
if [[ -z ${1} ]];then if [[ -z ${1} ]]; then
ALACRITTY_OPEN_DIR="$(pwd)" ALACRITTY_OPEN_DIR="$(pwd)"
else else
if [[ ${1:0:1} == "~" ]];then if [[ ${1:0:1} == "~" ]]; then
ALACRITTY_OPEN_DIR="$(realpath """${1/\~/${HOME}}""")" ALACRITTY_OPEN_DIR="$(realpath """${1/\~/${HOME}}""")"
else else
ALACRITTY OPEN_DIR="$(realpath """${1}""")" ALACRITTY OPEN_DIR="$(realpath """${1}""")"

View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
dms plugins list | grep ID | awk '{print $2}' | tee ~/.config/DankMaterialShell/plugins.txt

View file

@ -0,0 +1,27 @@
emojiLauncher
homeAssistantMonitor
mediaPlayer
sshConnections
tasks
cavaVisualizer
dankKDEConnect
dankRssWidget
developerUtilities
mediaFrame
musicLyrics
screenRecorder
commandRunner
dankActions
dankDesktopWeather
fullscreenPowerMenu
hiddenBar
qrGenerator
systemMonitorPlus
timer
calculator
dankBatteryAlerts
hostnameWidget
qcalCalendar
usbManager
dankCalendar
dankVault

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
{
"timezone": "America/Los_Angeles",
"calendars": [
{
"url": "https://cloud.pogmom.me/remote.php/dav/calendars/pogmommy/work/",
"username": "pogmommy"
},
{
"url": "https://cloud.pogmom.me/remote.php/dav/calendars/pogmommy/contact_birthdays/",
"username": "pogmommy"
},
{
"url": "https://cloud.pogmom.me/remote.php/dav/calendars/pogmommy/campbell-club/",
"username": "pogmommy"
},
{
"url": "https://cloud.pogmom.me/remote.php/dav/calendars/pogmommy/personal/",
"username": "pogmommy"
}
]
}

View file

@ -1,270 +0,0 @@
* {
all: unset; // Unsets everything so you can style everything from scratch
/* font-family: FontAwesome, Overpass; */
font-family: PogmomIcons, Overpass Nerd Font Propo;
}
@import "./style/colors.scss";
$bar-module-width: 25px;
$bar-module-bg-color: rgba($color5,0.0);
$bar-bg-color: rgba($color5,1);
$bar-fg-color: rgba($color15,1);
$bar-module-fg-color: rgba($color0,0.8);
$bar-module-inactive-fg-color: rgba($color0,0.4);
$bar-module-active-fg-color: rgba($color13,0.9);
// $bar-active-bg-color: rgba($color1,0.5);
// $bar-active-fg-color: $color1;
// $bar-module-active-shadow: 1px 1px 4px rgba($color5,0.5),-1px 1px 4px rgba($color5,0.5),1px -1px 4px rgba($color5,0.5),-1px -1px 4px rgba($color5,0.5);
$bar-module-active-shadow: 1px 1px 4px rgba($color8,0.6),-1px 1px 4px rgba($color8,0.6),1px -1px 4px rgba($color8,0.6),-1px -1px 4px rgba($color8,0.6);
$bar-module-hover-shadow: 1px 1px 4px rgba($color8,0.45),-1px 1px 4px rgba($color8,0.45),1px -1px 4px rgba($color8,0.45),-1px -1px 4px rgba($color8,0.45);
$bar-hover-bg-color: rgba($color1,0.5);
$bar-hover-fg-color: rgba($color13,0.6);
//$bar-module-border-radius: 8px;
$bar-module-border-radius: 12px;
$bar-module-bg-border-radius: $bar-module-border-radius - 3;
//$bar-module-inner-radius: $bar-module-border-radius - 2;
$bar-module-inner-radius: $bar-module-border-radius - 6;
@import "./style/bar.scss";
.bar {
menu {
color: $color5;
font-weight: bold;
background-color: rgba($color0,0.75);
border: 2px solid rgba($color5,0.65);
border-radius: $bar-module-border-radius;
menuitem {
padding:10px;
margin:5px 10px;
transition: all .2s ease;
&:backdrop {
background-color:green;
}
&:not(:disabled) {
background-color: rgba($color8,0.6);
border: 2px solid rgba($color0,0.5);
border-radius:6px;
}
&:hover {
background-color:rgba($color12,0.5);
color: $color1;
}
}
}
}
tooltip{
color: $color5;
font-weight: bold;
background-color: rgba($color0,0.85);
border: 2px solid rgba($color5,0.65);
border-radius: 8px;
}
$home-widget-bg-color: rgba($color0,0.85);
$home-widget-border-radius: 8px;
$home-widget-title-radius: $home-widget-border-radius $home-widget-border-radius 0px 0px;
$home-button-border-radius: 6px;
$home-button-circle-border-radius: 30px;
$home-button-bg-color: rgba($color5, 0.15);
$home-button-fg-opacity: 1;
$home-button-fg-color: rgba($color5,$home-button-fg-opacity);
$home-widget-subtitle-color: rgba($color7,0.6);
$home-button-hover-bg-color: rgba($color1, 0.5);
$home-widget-border-color: rgba($color5,1);
$home-widget-border-hover-color: rgba($color5,0.3);
revealer.home {
font-size: 0.95em;
padding-bottom: 25px;
&>box {
// & scrolledwindow, viewport.frame, box.home { //box.home {
// & scrolledwindow>*, viewport.frame, box.home { //box.home {
// border: 3px solid blue;
//
border-radius: 0px 20px 0px 20px;
// }
margin: 3px 10px;
&:first-child {
padding-top: 10px;
}
&:last-child {
padding-bottom: 10px;
}
}
.nowplayingbar {
padding: 0px;
border: 2px solid $home-widget-border-color;
border-radius: $home-widget-border-radius;
background-color: $home-widget-bg-color;
.mediadetails {
margin: 10px 15px;
label {
margin: 0px;
}
&.fullwidth {
margin: 5px 35px;
}
}
.art-button-overlay {
&.small {
font-size: 2em;
margin: 20px 0px 20px 20px;
}
&.big {
font-size: 3em;
margin: 20px;
}
background-color: rgba($color0,0.5);
color: $color5;
border-radius: $home-widget-border-radius;
}
.nowplayingart {
&.small {
margin: 20px 0px 20px 20px;
}
&.big {
margin: 25px;
min-height: 250px;
}
border: 1px solid $home-widget-border-color;
border-radius: $home-widget-border-radius;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
}
.mediabutton {
background-color: $home-button-bg-color;
border-radius: $home-button-circle-border-radius;
color: $home-button-fg-color;
transition: all 0.3s;
&:hover{
background-color: $home-button-hover-bg-color;
}
}
}
.rat {
background-position: center;
background-size: cover;
background-repeat: no-repeat;
border-radius: $home-widget-border-radius;
box-shadow: inset 0 0 0px 2px $home-widget-border-color, 0px 0px 9px 0px $home-widget-bg-color;
}
.minecraft {
.icon {
background-repeat: no-repeat;
background-position: center;
background-size: cover;
margin: 10px;
border-radius: $home-widget-border-radius;
}
.details {
// * { border: 2px solid red; }
color: $home-button-fg-color;
.title {
font-size: 1.1em;
font-weight: bold;
}
.motd {
color: $home-widget-subtitle-color;
font-size: 0.8em;
}
margin: 10px;
}
.button {
color: $home-button-fg-color;
background-color: $home-button-bg-color;
border-radius: $home-button-border-radius;
padding: 5px 0px;
margin: 0px 10px 10px;
transition: all 0.3s;
&:hover {
opacity: 0.5;
}
}
}
.weather {
color: $home-button-fg-color;
padding: 8px;
.weather-subtitle{
font-size: 0.8em;
color: $home-widget-subtitle-color;
}
}
.revealer-on-press {
border: 2px solid $home-widget-border-color;
border-radius: $home-widget-border-radius;
background-color: $home-widget-bg-color;
// box-shadow: 0px 0px 9px 0px $home-widget-bg-color;
}
.revealer-title {
background-color: $home-widget-border-color;
color: $home-widget-bg-color;
padding-bottom: 2px;
font-weight: bold;
transition: all 0.3s;
&:hover {
background-color: $home-widget-border-hover-color;
}
}
.weather,
.notes,
.shortcuts,
.reminders {
border-top: 2px solid $home-widget-border-color;
}
.notes,
.reminders {
color: $home-button-fg-color;
padding: 10px;
button {
background-color: $home-button-bg-color;
border-radius: $home-button-border-radius;
padding: 4px 8px;
margin: 4px;
transition: all 0.3s;
box {
.timestamp {
font-size: 0.8em;
margin-top: 2px;
color: $home-widget-subtitle-color;
}
.details {
font-size: 0.8em;
color: $home-widget-subtitle-color;
margin: 1px 10px;
}
.status {
margin: 0px 10px;
}
}
image {
opacity: $home-button-fg-opacity;
}
}
button:hover {
background-color: $home-button-hover-bg-color;
}
}
.shortcuts {
color: $home-button-fg-color;
padding: 15px;
button {
background-color: $home-button-bg-color;
border-radius: $home-button-circle-border-radius;
margin: 5px;
font-size: 1.2em;
transition: all 0.3s;
label {
font-size: 1.2em;
}
}
button:hover {
background-color: $home-button-hover-bg-color;
}
}
}

View file

@ -1,29 +0,0 @@
(include "modules/bar.yuck")
(defwindow bar
:windowtype "dock"
:exclusive true
:namespace "eww-bar"
:geometry (geometry :x "0%"
; :y "0%"
:y "5px"
:width "100%"
:height "30px"
; :anchor "top")
:anchor "top center")
; :reserve (struts :side "top" :distance "4%")
:reserve (struts :side "top" :distance "30px")
(bar))
(include "modules/home.yuck")
(defwindow home
:windowtype "normal"
:exclusive false
:geometry (geometry
; :y "27px"
; :width "300px"
:height "100%"
:anchor "center left")
:stacking "foreground"
(home))

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="cloud.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="m 6,20.727273 q -2.4872727,0 -4.2436364,-1.712728 Q 0,17.290909 0,14.814545 0,12.687273 1.2763636,11.018182 2.5636364,9.3490908 4.6363636,8.890909 5.3236364,6.381818 7.3636364,4.8327271 9.4145455,3.2727272 12,3.2727272 q 3.196364,0 5.410909,2.2254544 2.225455,2.2145455 2.225455,5.4109094 1.887272,0.218182 3.12,1.636364 Q 24,13.941818 24,15.818182 q 0,2.050909 -1.429091,3.48 -1.429091,1.429091 -3.48,1.429091 z"
id="path1"
style="stroke-width:1.09091;fill:#d7afaf;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="folder-network.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="M 1.2,14.4 V 2.4 A 2.4,2.4 0 0 1 3.6,0 h 7.2 l 2.4,2.4 h 7.2 a 2.4,2.4 0 0 1 2.4,2.4 v 9.6 a 2.4,2.4 0 0 1 -2.4,2.4 h -7.2 v 2.4 h 1.2 a 1.2,1.2 0 0 1 1.2,1.2 H 24 v 2.4 H 15.6 A 1.2,1.2 0 0 1 14.4,24 H 9.6 A 1.2,1.2 0 0 1 8.4,22.8 H 0 v -2.4 h 8.4 a 1.2,1.2 0 0 1 1.2,-1.2 h 1.2 V 16.8 H 3.6 A 2.4,2.4 0 0 1 1.2,14.4 Z"
id="path1"
style="fill:#d7afaf;fill-opacity:1;stroke-width:1.2" />
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="network-pos.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="14.256278"
inkscape:cx="15.186292"
inkscape:cy="16.203388"
inkscape:window-width="1580"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="M 17.454545,8.7272727 H 7.6363636 V 6.5454545 H 17.454545 V 8.7272727 M 6.5454545,6.5454545 H 4.3636364 V 8.7272727 H 6.5454545 V 6.5454545 m 0,-3.2727272 H 4.3636364 V 5.4545455 H 6.5454545 V 3.2727273 m 3.2727273,0 H 7.6363636 V 5.4545455 H 9.8181818 V 3.2727273 M 13.090909,17.454545 v 2.181819 h 1.090909 c 0.6,0 1.090909,0.490909 1.090909,1.090909 h 7.636364 v 2.181818 h -7.636364 c 0,0.6 -0.490909,1.090909 -1.090909,1.090909 H 9.8181818 c -0.6,0 -1.0909091,-0.490909 -1.0909091,-1.090909 H 1.0909091 v -2.181818 h 7.6363636 c 0,-0.6 0.4909091,-1.090909 1.0909091,-1.090909 H 10.909091 V 17.454545 H 3.2727273 c -1.2109091,0 -2.1818182,-0.970909 -2.1818182,-2.181818 V 2.1818182 C 1.0909091,0.97090909 2.0727273,0 3.2727273,0 H 20.727273 c 1.210909,0 2.181818,0.97090909 2.181818,2.1818182 V 15.272727 c 0,1.210909 -0.970909,2.181818 -2.181818,2.181818 h -7.636364 m 7.636364,-2.181818 V 2.1818182 H 3.2727273 V 15.272727 H 20.727273 M 10.909091,5.4545455 h 8.727273 V 3.2727273 H 10.909091 V 5.4545455 M 4.3636364,12 H 10.909091 V 9.8181818 H 4.3636364 V 12 m 8.7272726,2.181818 h 6.545455 V 12 h -6.545455 z"
id="path1"
style="stroke-width:1.09091;fill:#d7afaf;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="nintendo-wii.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#d7afaf"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="21.708333"
inkscape:cx="14.28023"
inkscape:cy="16.629559"
inkscape:window-width="2035"
inkscape:window-height="1358"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="m 19.008,17.878 h -2.244 v -7.38 h 2.244 v 7.38 M 19.2,7.846 c 0,0.732 -0.6,1.332 -1.32,1.332 A 1.332,1.332 0 0 1 16.548,7.846 c 0,-0.744 0.6,-1.344 1.332,-1.344 0.72,0 1.32,0.6 1.32,1.344 m 4.584,10.032 h -2.256 v -7.38 h 2.256 v 7.38 M 24,7.846 c 0,0.732 -0.6,1.332 -1.344,1.332 A 1.332,1.332 0 0 1 21.324,7.846 c 0,-0.744 0.6,-1.344 1.332,-1.344 0.744,0 1.344,0.6 1.344,1.344 M 13.08,7.21 h 2.4 l -2.544,8.94 c 0,0 -0.336,1.848 -1.8,1.848 -1.452,0 -1.788,-1.848 -1.788,-1.848 L 7.74,10.318 6.132,16.15 c 0,0 -0.348,1.848 -1.8,1.848 -1.452,0 -1.788,-1.848 -1.788,-1.848 L 0,7.21 H 2.4 L 4.464,15.154 6.132,8.71 C 6.516,7.09 7.74,7.114 7.74,7.114 c 0,0 1.224,-0.024 1.608,1.596 l 1.656,6.444 z"
id="path1"
style="fill:#d7afaf;fill-opacity:1;stroke-width:1.2" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="play-network.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="M 15.6,20.4 A 1.2,1.2 0 0 0 14.4,19.2 H 13.2 V 16.8 H 18 a 2.4,2.4 0 0 0 2.4,-2.4 V 2.4 A 2.4,2.4 0 0 0 18,0 H 6 A 2.4,2.4 0 0 0 3.6,2.4 v 12 A 2.4,2.4 0 0 0 6,16.8 h 4.8 v 2.4 H 9.6 A 1.2,1.2 0 0 0 8.4,20.4 H 0 v 2.4 H 8.4 A 1.2,1.2 0 0 0 9.6,24 h 4.8 a 1.2,1.2 0 0 0 1.2,-1.2 H 24 v -2.4 h -8.4 m -6,-7.2 V 3.6 l 6,4.8 z"
id="path1"
style="fill:#d7afaf;fill-opacity:1;stroke-width:1.2" />
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="router-network-wireless.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="M 22.285714,2.4 21.371429,3.3142857 C 20,2.0571429 18.285714,1.3714286 16.571429,1.3714286 c -1.714286,0 -3.428572,0.6857143 -4.8,1.9428571 L 10.857143,2.4 c 1.6,-1.6 3.657143,-2.4 5.714286,-2.4 2.057142,0 4.114285,0.8 5.714285,2.4 m -5.714285,0.2285714 c 1.371428,0 2.742857,0.5714286 3.771428,1.6 L 19.428571,5.1428571 C 18.628571,4.3428571 17.6,4 16.571429,4 15.542857,4 14.514286,4.3428571 13.714286,5.1428571 L 12.8,4.2285714 c 1.028571,-1.0285714 2.4,-1.6 3.771429,-1.6 m 1.142857,7.6571426 H 20 c 0.605714,0 1.188571,0.24 1.611429,0.674286 0.434285,0.422857 0.674285,1.005714 0.674285,1.611429 v 2.285714 c 0,0.605714 -0.24,1.188571 -0.674285,1.611428 C 21.188571,16.902857 20.605714,17.142857 20,17.142857 h -6.857143 v 2.285714 h 1.142857 c 0.628572,0 1.142857,0.514286 1.142857,1.142858 h 8 v 2.285714 h -8 C 15.428571,23.485714 14.914286,24 14.285714,24 H 9.7142859 C 9.0857145,24 8.5714288,23.485714 8.5714288,22.857143 H 0.57142879 V 20.571429 H 8.5714288 c 0,-0.628572 0.5142857,-1.142858 1.1428571,-1.142858 H 10.857143 V 17.142857 H 4.0000002 c -0.6057143,0 -1.1885714,-0.24 -1.6114286,-0.674286 C 1.9542859,16.045714 1.7142859,15.462857 1.7142859,14.857143 v -2.285714 c 0,-0.605715 0.24,-1.188572 0.6742857,-1.611429 0.4228572,-0.434286 1.0057143,-0.674286 1.6114286,-0.674286 H 15.428571 V 5.7142857 h 2.285715 V 10.285714 M 4.0000002,14.857143 H 6.2857145 V 12.571429 H 4.0000002 v 2.285714 m 4,0 H 10.285714 V 12.571429 H 8.0000002 v 2.285714 m 3.9999998,0 h 2.285714 V 12.571429 H 12 Z"
id="path1"
style="stroke-width:1.14286;fill:#d7afaf;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="router-network.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="M 3.6,3.6 C 2.28,3.6 1.2,4.68 1.2,6 v 4.8 c 0,1.332 1.08,2.4 2.4,2.4 h 7.2 v 2.4 H 9.6 c -0.66,0 -1.2,0.54 -1.2,1.2 H 0 v 2.4 h 8.4 c 0,0.66 0.54,1.2 1.2,1.2 h 4.8 c 0.66,0 1.2,-0.54 1.2,-1.2 H 24 v -2.4 h -8.4 c 0,-0.66 -0.54,-1.2 -1.2,-1.2 h -1.2 v -2.4 h 7.2 c 1.332,0 2.4,-1.068 2.4,-2.4 V 6 C 22.8,4.68 21.732,3.6 20.4,3.6 H 3.6 M 4.8,7.2 H 7.2 V 9.6 H 4.8 V 7.2 m 4.2,0 h 2.4 V 9.6 H 9 V 7.2 m 4.2,0 h 2.4 v 2.4 h -2.4 z"
id="path1"
style="fill:#d7afaf;fill-opacity:1;stroke-width:1.2" />
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="server-network.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="m 13.2,19.2 h 1.2 a 1.2,1.2 0 0 1 1.2,1.2 H 24 v 2.4 H 15.6 A 1.2,1.2 0 0 1 14.4,24 H 9.6 A 1.2,1.2 0 0 1 8.4,22.8 H 0 v -2.4 h 8.4 a 1.2,1.2 0 0 1 1.2,-1.2 h 1.2 V 16.8 H 2.4 A 1.2,1.2 0 0 1 1.2,15.6 V 10.8 A 1.2,1.2 0 0 1 2.4,9.6 h 19.2 a 1.2,1.2 0 0 1 1.2,1.2 v 4.8 a 1.2,1.2 0 0 1 -1.2,1.2 h -8.4 v 2.4 M 2.4,0 h 19.2 a 1.2,1.2 0 0 1 1.2,1.2 V 6 A 1.2,1.2 0 0 1 21.6,7.2 H 2.4 A 1.2,1.2 0 0 1 1.2,6 V 1.2 A 1.2,1.2 0 0 1 2.4,0 m 6,4.8 H 9.6 V 2.4 H 8.4 v 2.4 m 0,9.6 H 9.6 V 12 H 8.4 v 2.4 M 3.6,2.4 V 4.8 H 6 V 2.4 H 3.6 m 0,9.6 v 2.4 H 6 V 12 Z"
id="path1"
style="fill:#d7afaf;fill-opacity:1;stroke-width:1.2" />
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="ceiling-light-multiple.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="7.231215"
inkscape:cx="8.8505182"
inkscape:cy="9.5419649"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="m 9.6,10.8 h 3.6 v -6 h 2.4 v 6 h 3.6 L 24,20.4 H 4.8 l 4.8,-9.6 m 7.2,10.8 C 16.8,22.932 15.732,24 14.4,24 13.068,24 12,22.932 12,21.6 h 4.8 M 7.452,9.732 8.112,8.4 H 10.8 V 0 H 8.4 V 6 H 4.8 L 0,15.6 h 4.512 z"
id="path1"
style="stroke-width:1.2;fill:#d7afaf;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="home-assistant.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="6.2209433"
inkscape:cx="26.603682"
inkscape:cy="-7.8766189"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="m 23.093484,13.512748 h -2.03966 v 9.065156 h -7.932011 v -3.773371 l 3.161473,-3.161474 0.804533,0.135978 c 1.314447,0 2.379603,-1.065156 2.379603,-2.379604 0,-1.314447 -1.065156,-2.379603 -2.379603,-2.379603 a 2.3796034,2.3796034 0 0 0 -2.379604,2.379603 l 0.113315,0.804533 -1.699717,1.72238 V 9.7167138 c 0.747875,-0.407932 1.246459,-1.1898017 1.246459,-2.0963173 A 2.3796034,2.3796034 0 0 0 11.988669,5.2407931 2.3796034,2.3796034 0 0 0 9.6090652,7.6203965 c 0,0.9065156 0.4985838,1.6883853 1.2464588,2.0963173 V 15.926346 L 9.1558074,14.203966 9.2691218,13.399433 A 2.3796034,2.3796034 0 0 0 6.8895184,11.01983 2.3796034,2.3796034 0 0 0 4.509915,13.399433 2.3796034,2.3796034 0 0 0 6.8895184,15.779037 l 0.8045326,-0.135978 3.161473,3.161474 v 3.773371 H 2.9235127 V 13.512748 H 0.94050992 C 0.46458924,13.512748 0,13.512748 0,13.274788 0.01133144,13.025496 0.48725212,12.549575 0.97450425,12.062323 L 10.855524,2.181303 c 0.373938,-0.3739377 0.759207,-0.7592068 1.133145,-0.7592068 0.373937,0 0.759206,0.3852691 1.133144,0.7592068 l 4.532578,4.5325779 V 5.5807364 h 2.266289 v 3.3994335 l 3.150142,3.1501421 c 0.453257,0.453257 0.917847,0.917847 0.929178,1.155807 0,0.226629 -0.453258,0.226629 -0.906516,0.226629 M 6.8895184,12.379603 a 1.01983,1.01983 0 0 1 1.01983,1.01983 1.01983,1.01983 0 0 1 -1.01983,1.01983 1.01983,1.01983 0 0 1 -1.01983,-1.01983 1.01983,1.01983 0 0 1 1.01983,-1.01983 m 10.1983006,0 c 0.566572,0 1.01983,0.453258 1.01983,1.01983 0,0.566573 -0.453258,1.01983 -1.01983,1.01983 a 1.01983,1.01983 0 0 1 -1.01983,-1.01983 1.01983,1.01983 0 0 1 1.01983,-1.01983 m -5.09915,-5.7790365 c 0.566572,0 1.01983,0.4532578 1.01983,1.01983 0,0.5665722 -0.453258,1.01983 -1.01983,1.01983 -0.566573,0 -1.01983,-0.4532578 -1.01983,-1.01983 0,-0.5665722 0.453257,-1.01983 1.01983,-1.01983 z"
id="path1"
style="fill:#d7afaf;fill-opacity:1;stroke-width:1.13314" />
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
fill="#000000"
width="24"
height="24"
viewBox="0 0 0.72 0.72"
role="img"
version="1.1"
id="svg35611"
sodipodi:docname="jellyfin-svgrepo-com.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs35615" />
<sodipodi:namedview
id="namedview35613"
pagecolor="#d7afaf"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="15.909903"
inkscape:cx="7.1967757"
inkscape:cy="18.007653"
inkscape:window-width="3390"
inkscape:window-height="1341"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg35611" />
<path
d="m 0.36001843,6e-5 c -0.09522,0 -0.401946,0.556058 -0.355205,0.649929 0.0468,0.09387 0.66421,0.09282 0.71047,0 C 0.76154343,0.557199 0.45532943,0 0.36001843,0 Z m 0.232803,0.568478 c -0.03024,0.06084 -0.434796,0.0615 -0.465427,0 -0.03066,-0.06153 0.170223,-0.425886 0.232714,-0.425886 0.06243,0 0.263104,0.364985 0.232773,0.425886 z m -0.232803,-0.292594 c -0.03162,0 -0.133382,0.184503 -0.117902,0.215673 0.01554,0.0312 0.220443,0.03081 0.235804,0 0.01533,-0.03081 -0.08622,-0.215703 -0.117902,-0.215703 z"
id="path35609"
style="stroke-width:0.0300004;fill:#d7afaf" />
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
version="1.1"
id="svg18599"
sodipodi:docname="mastodon.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs18603" />
<sodipodi:namedview
id="namedview18601"
pagecolor="#d7afaf"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="24.810765"
inkscape:cx="6.3883561"
inkscape:cy="13.723882"
inkscape:window-width="3390"
inkscape:window-height="1341"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg18599" />
<title
id="title18593">Mastodon</title>
<path
d="m 23.180227,7.8797696 c 0,-5.2063103 -3.408714,-6.7328504 -3.408714,-6.7328504 -3.344497,-1.53725005 -12.2274889,-1.52118005 -15.5398853,0 0,0 -3.40871427,1.5265401 -3.40871427,6.7328504 0,6.1972304 -0.35318215,13.8942104 5.65086437,15.4850204 2.1672418,0.57313 4.0294602,0.69632 5.5277872,0.61062 2.718419,-0.14998 4.243505,-0.96949 4.243505,-0.96949 l -0.091,-1.97647 c 0,0 -1.942486,0.61062 -4.125778,0.54099 C 9.8664104,21.49544 7.5868011,21.33476 7.233619,18.67804 7.20152,18.44237 7.18542,18.19598 7.18542,17.93352 c 4.580628,1.11946 8.487001,0.48742 9.562597,0.35887 3.002024,-0.35887 5.618756,-2.21214 5.950528,-3.90473 0.524419,-2.66743 0.48161,-6.5078904 0.48161,-6.5078904 z M 19.177485,14.59649 H 16.68568 V 8.4835796 c 0,-2.6603501 -3.422223,-2.7620501 -3.422223,0.36934 V 12.19843 H 10.787692 V 8.8529196 c 0,-3.1313901 -3.422224,-3.0296901 -3.422224,-0.36934 V 14.59649 H 4.8683135 c 0,-6.5357804 -0.2780538,-7.9168105 0.9838882,-9.3674206 1.3849292,-1.54696 4.2670853,-1.64867 5.5504163,0.3265201 l 0.620286,1.0438 0.620277,-1.0438 c 1.288681,-1.9858901 4.176176,-1.8627801 5.550416,-0.3265201 1.267293,1.4613201 0.983888,2.8369902 0.983888,9.3674206 z"
id="path18595"
style="fill:#d7afaf;fill-opacity:1;stroke-width:0.0467831" />
<metadata
id="metadata48828">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:title>Mastodon</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
width="24"
height="24"
viewBox="0 0 30.72 30.72"
version="1.1"
id="svg39874"
sodipodi:docname="nextcloud-svgrepo-com.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs39878" />
<sodipodi:namedview
id="namedview39876"
pagecolor="#da74e5"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="31.819805"
inkscape:cx="9.349523"
inkscape:cy="13.623591"
inkscape:window-width="3390"
inkscape:window-height="1341"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg39874" />
<path
id="circle39870"
style="fill:#d7afaf;stroke-width:0.03"
d="M 15.36,0 A 15.36,15.36 0 0 0 0,15.36 15.36,15.36 0 0 0 15.36,30.72 15.36,15.36 0 0 0 30.72,15.36 15.36,15.36 0 0 0 15.36,0 Z m 0.015,11.127 c 1.926,-0.003 3.546,1.311 4.053,3.081 0.441,-0.936 1.38,-1.602 2.478,-1.602 1.518,0.006 2.748,1.236 2.754,2.754 -0.006,1.518 -1.236,2.748 -2.754,2.754 -1.095,0 -2.037,-0.663 -2.478,-1.602 -0.507,1.77 -2.127,3.081 -4.053,3.081 -1.938,0 -3.564,-1.326 -4.062,-3.111 -0.435,0.954 -1.389,1.632 -2.499,1.632 C 7.296,18.105 6.066,16.878 6.06,15.36 c 0.009,-1.518 1.236,-2.748 2.754,-2.754 1.11,0 2.064,0.678 2.499,1.632 0.498,-1.785 2.124,-3.111 4.062,-3.111 z m 0,1.614 c -1.455,0 -2.619,1.164 -2.616,2.619 v 0.024 c 0.006,1.44 1.176,2.601 2.616,2.595 1.455,0 2.619,-1.164 2.619,-2.619 0,-1.455 -1.164,-2.619 -2.619,-2.619 z m -6.561,1.482 c -0.639,0 -1.137,0.498 -1.137,1.137 v 0.024 c 0.006,0.621 0.516,1.119 1.137,1.113 0.639,0 1.137,-0.498 1.137,-1.137 0,-0.636 -0.501,-1.137 -1.137,-1.137 z m 13.092,0 c -0.636,0 -1.137,0.498 -1.137,1.137 v 0.024 c 0.006,0.621 0.516,1.119 1.137,1.113 0.636,0 1.137,-0.498 1.137,-1.137 0,-0.636 -0.498,-1.137 -1.137,-1.137 z" />
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="briefcase.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="12.725464"
inkscape:cx="-6.6009382"
inkscape:cy="21.610214"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="m 9.6,0.6 h 4.8 A 2.4,2.4 0 0 1 16.8,3 v 2.4 h 4.8 A 2.4,2.4 0 0 1 24,7.8 V 21 a 2.4,2.4 0 0 1 -2.4,2.4 H 2.4 C 1.068,23.4 0,22.32 0,21 V 7.8 C 0,6.468 1.068,5.4 2.4,5.4 H 7.2 V 3 C 7.2,1.668 8.268,0.6 9.6,0.6 m 4.8,4.8 V 3 H 9.6 v 2.4 z"
id="path1"
style="stroke-width:1.2;fill:#d7afaf;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="monitor-multiple.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="35.75"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1890"
inkscape:window-height="1118"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<path
d="M 22,17 V 7 H 6 V 17 H 22 M 22,5 a 2,2 0 0 1 2,2 v 10 c 0,1.11 -0.9,2 -2,2 h -6 v 2 h 2 v 2 h -8 v -2 h 2 V 19 H 6 C 4.89,19 4,18.11 4,17 V 7 A 2,2 0 0 1 6,5 H 22 M 2,3 V 15 H 0 V 3 A 2,2 0 0 1 2,1 h 18 v 2 z"
id="path1"
style="fill:#d7afaf;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

View file

@ -1,75 +0,0 @@
(defwidget bar []
(centerbox :orientation "h"
(leftgroup)
(centergroup)
(rightgroup)))
;widget templates
(include "modules/bar/revealer-on-hover.yuck")
(include "modules/bar/metric.yuck")
;centerbar groups
(defwidget leftgroup []
(box :class "leftgroup ${((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'Work') ? 'profile-work' : ((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'School') ? 'profile-school' : ((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'Development') ? 'profile-development' : ((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'Penelope') ? 'profile-personal' : ''))))}"
:orientation "h"
:space-evenly false
:halign "start"
(powermenu)
(profile)
(workspaces :array {jq(sway_info,'.workspace_info','r')})
(scratchpad)
(windowtitle)))
(defwidget centergroup []
(box :visible false
:class "centergroup"
:orientation "h"
:space-evenly false
:halign "start"))
(defwidget rightgroup []
(box :class "rightgroup"
:orientation "h"
:space-evenly false
:halign "end"
(idleinhibit)
(volume)
(network)
(vpn)
(bluetooth)
(battery)
(sysdisk)
(sysmem)
(clock)
(tray)
(notification_center)))
(include "variables/bar/profile-info.yuck")
(include "variables/bar/sway-info.yuck")
;leftgroup imports
(include "modules/bar/powermenu.yuck")
(include "modules/bar/profile.yuck")
(include "modules/bar/workspaces.yuck")
(include "modules/bar/window_name.yuck")
(include "modules/bar/scratchpad.yuck")
;centergroup
(include "variables/bar/music.yuck")
(include "modules/bar/music.yuck")
;rightgroup
(include "modules/bar/idle_inhibit.yuck")
(include "modules/bar/volume.yuck")
(include "variables/bar/network-manager.yuck")
(include "modules/bar/network.yuck")
(include "modules/bar/vpn.yuck")
(include "variables/bar/bluetooth.yuck")
(include "modules/bar/bluetooth.yuck")
(include "modules/bar/battery.yuck")
(include "modules/bar/sysdisk.yuck")
(include "modules/bar/sysmem.yuck")
(include "modules/bar/clock.yuck")
(include "modules/bar/tray.yuck")
(include "modules/bar/notification-center.yuck")

View file

@ -1,21 +0,0 @@
(defvar reveal_battery false)
(defwidget battery []
(revealer-on-hover :class "${reveal_battery} battery"
:revealvar reveal_battery
:revealvar-name "reveal_battery"
(label :class "revealer-preview ${(EWW_BATTERY == '' || jq(EWW_BATTERY,'.[].status?','r') == 'Charging') ? 'active' : '' }"
:tooltip `${(EWW_BATTERY == "" || jq(EWW_BATTERY,'.[].status?') == '"Charging"') ? "Charging" : "Discharging"}, ${(EWW_BATTERY == "") ? "" : "${round(jq(EWW_BATTERY,'.total_avg?'),1)}% of total average"}`
:text `${(EWW_BATTERY == "" || jq(EWW_BATTERY,'.[].status?') == '"Charging"') ? " " : "󰁹 "}${(EWW_BATTERY == "") ? "" : "${round(jq(EWW_BATTERY,'first(.[].capacity?)'),0)}%"}`)
(battery_children)))
(defwidget battery_children []
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(box
(progress :height 10
:valign "center"
:value {(EWW_BATTERY == "") ? 100 : jq(EWW_BATTERY,'first(.[].capacity?)')}
:orientation "h"))))

View file

@ -1,21 +0,0 @@
(defvar reveal_bluetooth false)
(defwidget bluetooth []
(revealer-on-hover :class "${reveal_bluetooth} bluetooth"
:revealvar reveal_bluetooth
:revealvar-name "reveal_bluetooth"
(button :onclick 'blueman-manager'
:class "revealer-preview ${matches(jq(bluetooth_status,'.[].connected'),'yes') ? 'active' : 'inactive'}"
"")
(bluetooth_children :array bluetooth_status)))
(defwidget bluetooth_children [array]
(box :class "reveal-children"
:orientation "h"
:space-evenly true
:halign "start"
(for device in array
(button :onclick {(device.connected == "yes") ? 'bluetoothctl disconnect "${device.address}"' : 'bluetoothctl connect "${device.address}"'}
:class {(device.connected == "yes") ? "active" : "inactive"}
:tooltip "${device.name}"
"${device.icon}"))))

View file

@ -1,3 +0,0 @@
(defwidget clock []
(label :class "datetime"
:text {formattime(EWW_TIME,"%b %d, %Y | %H:%M")}))

View file

@ -1,7 +0,0 @@
(defvar inhibit_active false)
(defwidget idleinhibit []
(box :class "idle-inhibitor ${inhibit_active ? 'active' : 'inactive'}"
(button :onclick {inhibit_active ? 'killall eww-idle-inhibit;eww update inhibit_active=false' : 'systemd-inhibit --what="idle" --mode="block" scripts/bar/eww-idle-inhibit & eww update inhibit_active=true'}
:tooltip "Idling is ${inhibit_active ? '' : 'not '}inhibited"
{inhibit_active ? "" : ""})))

View file

@ -1,12 +0,0 @@
(defwidget metric [label value]
(box :orientation "h"
:class "metric"
:space-evenly false
(box :class "label" label)
(transform :rotate 50
:transform-origin-x '50%'
:transform-origin-y '50%'
(circular-progress :value value
:start-at 0
:thickness 10
:clockwise true))))

View file

@ -1,7 +0,0 @@
(defwidget music []
(box :visible {nowplaying != ""}
:class {nowplaying != "" ? "music" : "hidden"}
:orientation "h"
:space-evenly false
:halign "center"
{nowplaying != "" ? "󰎇 ${nowplaying}" : ""}))

View file

@ -1,23 +0,0 @@
(defvar reveal_network false)
(defwidget network []
(revealer-on-hover
:class "${reveal_network} networks"
:revealvar reveal_network
:revealvar-name "reveal_network"
(button :onclick 'nm-connection-editor'
:tooltip "${jq(network_manager.interfaces, '.[] | "\\(.connection) (\\(.device)) \\n"', 'r')}"
:class "revealer-preview ${(jq(network_manager.interfaces, '[ .[] | select(.state=="connected") ] | length') > 0 ? 'active' : 'inactive')}" ;${network_status.wifi || network_status.wired ? 'active' : 'inactive'}"
"󰇧")
(network_children :array "${network_manager.interfaces}")))
(defwidget network_children [array]
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(for interface in array
(button :onclick "nmcli device ${( interface.state == 'connected' ? 'down' : 'up' )} ${interface.device}"
:class {( interface.state == "connected" ? 'active' : 'inactive' )}
:tooltip "${interface.connection} (${interface.device})"
{( interface.type == "wifi" ? "" : ( interface.type == "ethernet" ? "󰈀" : "" ))}))))

View file

@ -1,9 +0,0 @@
(deflisten notification_center_info :initial '{ "count": 0, "dnd": false, "visible": false, "inhibited": false }'
"swaync-client -s")
(defwidget notification_center []
(box :class "notification-center ${(jq(notification_center_info,'.count','r') > 0 ) ? 'active' : 'inactive'}"
(button :onclick 'swaync-client -t'
:onrightclick 'swaync-client -d'
:tooltip "${jq(notification_center_info,'.count','r')} unread notifications"
"${!jq(notification_center_info,'.dnd','r') ? '' : ''}")))

View file

@ -1,29 +0,0 @@
(defvar reveal_powermenu false)
(defwidget powermenu []
(revealer-on-hover :revealvar reveal_powermenu
:class "powermenu ${reveal_powermenu}"
:revealvar-name "reveal_powermenu"
(button :onclick 'sdu power shutdown'
:class "revealer-preview"
:tooltip "Shutdown"
"")
(powermenu_children)))
(defwidget powermenu_children []
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(button :onclick 'sdu power reboot'
:tooltip "Reboot"
"")
(button :onclick 'sdu power suspend'
:tooltip "Suspend"
"󰤄")
(button :onclick 'sdu power lock'
:tooltip "Lock"
"")
(button :onclick 'sdu power logout'
:tooltip "Logout"
"")))

View file

@ -1,5 +0,0 @@
(defwidget profile []
(button :onclick "sdu profile switch next"
:tooltip {jq(profile_info,'.name','r')}
:class "profile profile-${(jq(profile_info,'.name','r'))}"
{jq(profile_info,'.icon','r')}))

View file

@ -1,12 +0,0 @@
(defwidget revealer-on-hover [revealvar revealvar-name ?class ?duration ?transition]
(box :class "${class} revealer-on-hover"
:orientation "h"
:space-evenly false
(eventbox :onscroll "if test '{}' = 'down';then ${EWW_CMD} update ${revealvar-name}=true;else ${EWW_CMD} update ${revealvar-name}=false;fi"
:onhoverlost "${EWW_CMD} update ${revealvar-name}=false"
(box :space-evenly false
(children :nth 0)
(revealer :reveal revealvar
:transition {transition ?: "slideright"}
:duration {duration ?: "500ms"}
(children :nth 1))))))

View file

@ -1,29 +0,0 @@
(defvar reveal_scratchpad false)
(defwidget scratchpad []
(box :class "${reveal_scratchpad} scratchpad revealer-on-hover"
:orientation "h"
:space-evenly false
(eventbox :onhover "${EWW_CMD} update reveal_scratchpad=true"
:onhoverlost "${EWW_CMD} update reveal_scratchpad=false"
(box :space-evenly false
(label :class "revealer-preview"
:tooltip "${jq(sway_info,'.scratchpad_info[] | "\\(.title) (\\(.name)) \\n"','r')}"
:text " ${jq(sway_info,'.scratchpad_info | length')} ${reveal_scratchpad ? '' : ''}")
(revealer :reveal reveal_scratchpad
:transition "slideright"
:duration "500ms"
(scratchpad_children :array {jq(sway_info,'.scratchpad_info','r')}))))))
(defwidget scratchpad_children [array]
(box :orientation "h"
:class "reveal-children"
:space-evenly false
(for entry in array
(button :onclick 'swaymsg [con_id=${entry.window_id}] scratchpad show'
:class "scratchpad-item ${(entry.visible == 'true') ? 'active' : 'inactive'}"
:tooltip "${entry.title}
${entry.name}"
(image :path {entry.icon}
:image-width 20
:image-height 20)))))

View file

@ -1,23 +0,0 @@
(defvar reveal_sysdisk false)
(defwidget sysdisk []
(revealer-on-hover :class "${reveal_sysdisk} sysdisk"
:revealvar reveal_sysdisk
:revealvar-name "reveal_sysdisk"
(box :class "revealer-preview"
:tooltip "${jq(EWW_DISK,'to_entries[]|"\\(.key) - \\(.value.used_perc*10|round/10)% Used\\n\\(.value.free/1073741824*100|round/100)GiB Available\\n"','r')}"
(metric :label "󰟒 "
:value {EWW_DISK["/home"].used_perc}))
(sysdisk_children)))
(defwidget sysdisk_children []
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(metric :label "󰿠 "
:tooltip "root"
:value {EWW_DISK["/"].used_perc})
(metric :label "󰬉 "
:tooltip "boot"
:value {EWW_DISK["/boot"].used_perc})))

View file

@ -1,21 +0,0 @@
(defvar reveal_sysmem false)
(defwidget sysmem []
(revealer-on-hover :class "${(reveal_sysmem) || (EWW_RAM.used_mem / EWW_RAM.total_mem) > 0.95} sysmem"
:revealvar {(reveal_sysmem) || (EWW_RAM.used_mem / EWW_RAM.total_mem) > 0.95}
:revealvar-name "reveal_sysmem"
(box :class "revealer-preview"
:tooltip "${jq(EWW_RAM,'.|"RAM: \\(.used_mem_perc*10|round/10)% Used\\n\\(.used_mem/1073741824*100|round/100)/\\(.total_mem/1073741824*100|round/100)GiB Usage\\nSwap: \\((.total_swap-.free_swap)/.total_swap*1000|round/10)% Usage\\n\\((.total_swap-.free_swap)/1073741824*100|round/100)/\\(.total_swap/1073741824*100|round/100)"','r')}"
(metric :label " "
:value {EWW_RAM.used_mem_perc}))
(sysmem_children)))
(defwidget sysmem_children []
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(metric :label " "
:value {round((EWW_RAM.total_mem - EWW_RAM.free_mem) / EWW_RAM.total_mem,2) * 100})
(metric :label " "
:value {(EWW_RAM.total_swap != 0) ? round((EWW_RAM.total_swap - EWW_RAM.free_swap) / EWW_RAM.total_swap,2) * 100 : 100})))

View file

@ -1,20 +0,0 @@
(defvar reveal_tray false)
(defwidget tray []
(revealer-on-hover :class "tray ${reveal_tray}"
:revealvar reveal_tray
:revealvar-name "reveal_tray"
(label :class "revealer-preview"
:text {reveal_tray ? "" : ""})
(tray_children)))
(defwidget tray_children []
(box :orientation "h"
:space-evenly false
:halign "center"
(systray
:orientation "h"
:class "reveal-children"
:space-evenly true
:spacing 0
:icon-size 20
:prepend-new true)))

View file

@ -1,25 +0,0 @@
(defvar reveal_volume false)
(defwidget volume []
(revealer-on-hover :class "volume ${reveal_volume}"
:revealvar reveal_volume
:revealvar-name "reveal_volume"
(button :onclick 'pavucontrol-qt --tab 3'
:tooltip "Pulseaudio Volume Control"
:class "${(volume == 0) ? 'inactive' : 'active'} revealer-preview"
{(volume == 0) ? "" : ((volume > 50) ? "" : "")})
(volume_children)))
(deflisten volume :initial "50"
"scripts/bar/volume")
(defwidget volume_children []
(box :class "reveal-children" :orientation "h"
:space-evenly false
:halign "center"
(scale
:tooltip "volume: ${round(volume,0)}%"
:min 0
:max 100
:value {volume}
:orientation "h"
:onchange "wpctl set-volume @DEFAULT_AUDIO_SINK@ {}%;paplay 'volume.ogg'")))

View file

@ -1,28 +0,0 @@
(defvar reveal_vpn false)
(defwidget vpn []
(revealer-on-hover
:class "${reveal_vpn} vpn"
:revealvar reveal_vpn
:revealvar-name "reveal_vpn"
(button :onclick 'notify-send "TODO"'
:class "revealer-preview ${(jq(network_manager.vpns, '[ .[] | select(.active=="yes") ] | length') > 0 ? 'active' : 'inactive')}"
"${(jq(network_manager.vpns, '[ .[] | select(.active=="yes") ] | length') > 0 ? '' : '')}")
(vpn_children :array "${jq(network_manager.vpns,'.|sort_by(.name)')}")))
(defwidget vpn_children [array]
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(for vpn in array
(button :onclick "nmcli connection ${( vpn.active == 'yes' ? 'down' : 'up' )} ${vpn.name}"
:class {( vpn.active == "yes" ? 'active' : 'inactive' )}
:tooltip "${vpn.name}"
"${( vpn.name =~ '^[Hh]ome.*' ?
( vpn.name =~ '.*[Ff]ull.*' ? '' : '') :
( vpn.name =~ '^pia-.*' ?
( vpn.name =~ '.*local.*' ? '' : '' ) :
( vpn.name == 'SCA' ?
'' :
'') )
)} ${( vpn.active == 'yes' ? '' : '' )}"))))

View file

@ -1,5 +0,0 @@
(defwidget windowtitle []
(label :class {jq(sway_info,'.window_info.title','r') != "" ? "active_window" : ""}
:limit-width 40
:show-truncated true
:text {jq(sway_info,'.window_info.title','r')}))

View file

@ -1,7 +0,0 @@
(deflisten active_window_name :initial ""
:interval "60s"
"scripts/bar/activewindow")
(defwidget windowtitle []
(label :class {active_window_name != "" ? "active_window" : ""}
:text {active_window_name}))

View file

@ -1,39 +0,0 @@
(defvar wsreveal false)
(defwidget workspaces [array]
(eventbox :onhover "${EWW_CMD} update wsreveal=true"
:onhoverlost "${EWW_CMD} update wsreveal=false"
(box :class "workspaces profile-${jq(array,'.[]|select(.is_focused)|.profile_name','r')}"
:orientation "h"
:space-evenly false
:halign "start"
(revealer
:class "ws-left"
:reveal wsreveal
:transition "slideleft"
:duration "500ms"
(box
(for entry in array
(literal :visible {((entry.position == 'l') && !entry.is_focused) ? true : false}
:content {((entry.position == 'l') && !entry.is_focused) ? "(workspace :ws entry :side 'left')" : "(box :visible false)"}))))
(box :class "ws-center ${wsreveal}"
(for entry in array
(literal :visible {entry.is_focused ? true : false}
:content {entry.is_focused ? "(workspace :ws entry :side 'center' :lastws ${jq(array,'.[-1].num')})" : "(box :visible false)"})))
(revealer :class "ws-right"
:reveal wsreveal
:transition "slideright"
:duration "500ms"
(box
(for entry in array
(literal :visible {((entry.position == 'r') && !entry.is_focused) ? true : false}
:content {((entry.position == 'r') && !entry.is_focused) ? "(workspace :ws entry :side 'right')" : "(box :visible false)"})))))))
(defwidget workspace [ws side ?lastws ?firstws]
(button :onclick `swaymsg workspace "${ws.name}"`
:tooltip "${ws.profile_name} ( ${jq(captures(ws.num, '[0-9]$'),'.[].[]','r')} )"
:class '${side} ${ws.num == lastws ? "last-workspace" : (ws.num == firstws ? "first-workspace" : "middle-workspace")} profile-${jq(ws,'.profile_name','r')}'
(box
'${replace(ws.name,".*:","")}'
(label :class "workspace-number"
:text {jq(captures(ws.num, '[0-9]$'),'.[].[]','r')}))))

View file

@ -1,41 +0,0 @@
(defvar homewidgets_reveal false)
(defwidget home []
(revealer :transition "slideright"
:reveal homewidgets_reveal
:duration "250ms"
(box :orientation 'v'
:space-evenly false
(box :height 27)
(scroll :vscroll true
:hscroll false
:vexpand true
:height 400
(box :class "home"
:orientation "v"
:spacing 10
:width 300
:space-evenly false
(nowplayingbar)
(rat)
(shortcuts_revealer)
(weather_revealer)
(mcstatus_revealer)
(box
(notes_revealer))
(box
(reminders_revealer))
)))))
;widget templates
(include "modules/home/revealer-on-press.yuck")
;module imports
(include "modules/home/nowplayingart.yuck")
(include "modules/home/rat.yuck")
(include "modules/home/weather.yuck")
(include "modules/home/shortcuts.yuck")
(include "modules/home/notes.yuck")
(include "modules/home/reminders.yuck")
(include "modules/home/mcstatus.yuck")

View file

@ -1,79 +0,0 @@
(defpoll servers_status :initial '[{"online": true,"kind":"Java","players":{"online":0,"max":0,"list":null},"version":{"name":"version","protocol":0},"motd":"Message of the day","ping":0,"address":"ip.addre.ss"}]'
:interval "21600s"
'scripts/home/mcstatus')
(defvar reveal_mcstatus true)
(defwidget mcstatus_revealer []
(revealer-on-press
:revealvar reveal_mcstatus
:revealvar-name "reveal_mcstatus"
(button
:width 300
:class "revealer-title"
"Minecraft Servers ${reveal_mcstatus ? '' : ''}")
(mcstatus :json servers_status)))
(defwidget mcstatus [json]
(box
:class 'minecraft'
:orientation 'v'
:space-evenly false
(box
:orientation 'v'
:space-evenly false
(for server in json
(box
:class 'server'
:orientation 'h'
:space-evenly false
(box
(box
:class 'icon'
:valign 'center'
:width 75
:height {((server.ping!=0.0) ? 75 : 25 )}
:style 'background-image: url("${server.icon_path}");'
)
)
(box
:class 'details'
:space-evenly false
:orientation 'v'
(label
:class 'title'
:style "${( (server.ping==0.0)? 'color: red' : '' )}"
:text "${( (server.ping==0.0)? ' ' : '' )}${server.address}"
)
(label
:visible {(server.ping!=0.0)}
:xalign 0
:text "${server.players.online}/${server.players.max} players online"
)
(label
:visible {(server.ping!=0.0)}
:class 'motd'
:text "${server.motd}"
:wrap true
:wrap-mode 'word'
; :truncate true
)
(label
:visible {(server.ping!=0.0)}
:xalign 0
:text " ${round(server.ping,0)}ms"
)
)
)
)
)
(button
:class 'button'
:onclick 'eww poll servers_status'
:onrightclick 'rm ~/.cache/mc-server-info/cache.json;eww poll servers_status'
:tooltip 'right-click to bypass cache'
(label
:text "reload now"
)
)
)
)

View file

@ -1,38 +0,0 @@
(defpoll notes_list :initial '{"notes":[{"date":"1752630492","filepath":""}]}'
:interval "3600s"
'scripts/home/notes')
(defvar reveal_notes false)
(defwidget notes_revealer []
(revealer-on-press
:revealvar reveal_notes
:revealvar-name "reveal_notes"
:width 300
(button
:width 300
:class "revealer-title"
"Notes ${reveal_notes ? '' : ''}")
(notes :json {jq(notes_list,'.notes')})))
(defwidget notes [json]
(box
:class "notes"
:orientation "v"
:halign "baseline"
; :width 300
:height 150
:space-evenly true
(for note in json
(button :onclick "kate -n '${note.filepath}'"
(box
:orientation "v"
(label
:xalign 0
:wrap false
:truncate true
:text "󰎞 ${replace(note.filepath,"${get_env("HOME")}/Documents/Notes/",'')}")
(label
:xalign 0.5
:class "timestamp"
:text " ${formattime("${note.date}","%F %R")}"))))
))

View file

@ -1,142 +0,0 @@
(deflisten nowplaying_imgpath :initial ""
'scripts/home/nowplayingart.sh')
;(deflisten nowplaying_title :initial ""
; 'scripts/home/nowplaying-title.sh')
;(deflisten nowplaying_artist :initial ""
; 'scripts/home/nowplaying-artist.sh')
(deflisten nowplaying_info :initial '{"status":"","artist":"","title":""}'
'scripts/home/nowplaying.sh')
(defvar large_album_art false)
(defvar small_art_overlay false)
(defvar large_art_overlay false)
(defwidget nowplayingbar []
; (centerbox
(box
; :visible true
:visible {jq(nowplaying_info,'.title','r') != ""}
:orientation 'v'
:class "nowplayingbar"
:space-evenly false
(box
:orientation "h"
:space-evenly false
:halign "center"
:width 300
:height 100
; (nowplaying_revealer :visible {!large_album_art}
; :width 100
; :height 100)
(revealer
:transition "slideright"
; :transition "slideleft"
:duration "300ms"
:reveal {!large_album_art}
(eventbox
:onclick '${EWW_CMD} update large_album_art=true'
:onhover '${EWW_CMD} update small_art_overlay=true'
:onhoverlost '${EWW_CMD} update small_art_overlay=false'
(button
:height 100
:width 100
:valign "fill"
:halign "fill"
:hexpand false
:vexpand false
:onclick '${EWW_CMD} update large_album_art=true'
(overlay
(nowplayingart :size 'small')
(revealer
:transition "crossfade"
:duration "300ms"
:reveal {small_art_overlay}
(label :class "art-button-overlay small"
:justify "center"
:xalign 0.5
:yalign 0.5
:height 80
:width 80
:text ""))))))
(box
:class "mediadetails ${large_album_art ? 'fullwidth' : ''}"
:orientation "v"
:space-evenly true
:halign "fill"
:hexpand true
(label
:justify "center"
:text "󰎇 ${jq(nowplaying_info,'.title','r')}
󰠃 ${jq(nowplaying_info,'.artist','r')}")
(box
:orientation "h"
:space-evenly true
:halign "fill"
:hexpand true
; :width 130
; :spacing 15
:height 50
(button
:class "mediabutton"
:valign "center"
:halign "center"
:height 25
:width 25
:onclick "playerctl previous"
"")
(button
:class "mediabutton"
:valign "center"
:halign "center"
:height 25
:width 25
:onclick "playerctl play-pause"
{(jq(nowplaying_info,'.status','r') == 'playing') ? "" : ""})
(button
:class "mediabutton"
:valign "center"
:halign "center"
:height 25
:width 25
:onclick "playerctl next"
""))))
;; (nowplaying_revealer :visible false)))
(revealer
; :transition "slideup"
:transition "slidedown"
:duration "300ms"
:reveal {large_album_art}
(eventbox
; :visible {large_album_art}
:onclick '${EWW_CMD} update large_album_art=false'
:onhover '${EWW_CMD} update large_art_overlay=true'
:onhoverlost '${EWW_CMD} update large_art_overlay=false'
(button
:height 100
:width 100
:valign "fill"
:halign "fill"
:hexpand false
:vexpand false
:onclick '${EWW_CMD} update large_album_art=false'
(overlay
(nowplayingart :size 'big')
; :css 'margin: 20px;')
(revealer
:transition "crossfade"
:duration "300ms"
:reveal {large_art_overlay}
(label :class "art-button-overlay big"
:height 100
:width 100
:visible {large_art_overlay}
:text ""))))))))
(defwidget nowplayingart [size]
(box
:class "nowplayingart ${size}"
:hexpand false
; :width 100
; :height 100
; :path '${nowplaying_imgpath}'))
:style "background-image: url('${nowplaying_imgpath}');"))

View file

@ -1,9 +0,0 @@
(defpoll rat_image :interval "60s"
'random-image -d ~/Pictures/Phone/Albums/Rattos/ -s 300 -r')
(defwidget rat []
(box
:class "rat"
:orientation "h"
:width 300
:height 300
:style "background-image: url('${rat_image}');"))

View file

@ -1,38 +0,0 @@
;(defpoll reminders_list :initial '[]'
; :interval "3600s"
; 'scripts/home/reminders')
(deflisten reminders_list :initial '[]'
'scripts/home/reminders')
(defvar reveal_reminders true)
;(defvar reveal_reminders {jq(reminders_list,'length')>0})
(defwidget reminders_revealer []
(revealer-on-press
:visible {jq(reminders_list,'length')>0}
:revealvar reveal_reminders
:revealvar-name "reveal_reminders"
; {reveal_reminders ? "" : ""}
(button
:width 300
:class "revealer-title"
"Reminders ${reveal_reminders ? '' : ''}")
(reminders :json {jq(reminders_list,'.')})))
(defwidget reminders [json]
(box
:class "reminders"
:orientation "v"
:halign "baseline"
; :width 300
; :height 150
:space-evenly true
(for reminder in json
(button :onclick "open '${reminder.url}'"
(box
; :visible
:orientation "v"
(label
:xalign 0
:wrap false
:text "${reminder.name}"))))
))

View file

@ -1,17 +0,0 @@
(defwidget revealer-on-press [revealvar revealvar-name ?class ?duration ?transition ?visible]
(box
:class "${class} revealer-on-press ${revealvar ? 'revealer_opened' : 'revealer_closed'}"
:visible {visible ?: true}
; :width {revealvar ? 300 : 100}
:space-evenly false
(box
:orientation "vertical"
:space-evenly false
(eventbox
:onclick '${EWW_CMD} update ${revealvar-name}=${revealvar ? "false" : "true"}'
(children :nth 0))
(revealer
:reveal revealvar
:transition {transition ?: "slidedown"}
:duration {duration ?: "500ms"}
(children :nth 1)))))

View file

@ -1,63 +0,0 @@
(defvar reveal_shortcuts true)
(defwidget shortcuts_revealer []
(revealer-on-press
:revealvar reveal_shortcuts
:revealvar-name "reveal_shortcuts"
(button
:width 300
:class "revealer-title"
"Shortcuts ${reveal_shortcuts ? '' : ''}")
(shortcuts)))
(defwidget shortcuts []
(box
:class "shortcuts"
:orientation "v"
:space-evenly false
:halign "center"
:width 300
:height 75
(box
; :visible {jq(workspacesArray, '.[]\|select(.focused==true).num') <= 10}
:visible (arraylength(sway_info.workspace_profile.scripts) > 0)
:orientation "h"
:space-evenly true
:halign "center"
(for script in {jq(sway_info,'[.workspace_profile.scripts[0,1,2]]','r')}
(button
:visible "${script?.name!='null'}"
:onclick "${script?.command}"
:tooltip "${script?.name}"
(label
:width 60
:height 60
:justify "center"
:text "${script?.icon}"))
)
; (button
; :width 60
; :height 60
; :onclick "hass-cli -a services -I area_id -i left_bedroom -d light -s toggle"
; (label
; :justify "center"
; :text "󱣝"
; :tooltip "Turn on bedroom lights"))
)
(box
:visible (arraylength(sway_info.workspace_profile.scripts) > 3)
:orientation "h"
:space-evenly true
:halign "center"
(for script in {jq(sway_info, '[.workspace_profile.scripts[3,4,5]]','r')}
(button
:visible "${script?.name!='null'}"
:onclick "${script?.command}"
:tooltip "${script?.name}"
(label
:width 60
:height 60
:justify "center"
:text {script?.icon}))
))
))

View file

@ -1,55 +0,0 @@
(defpoll software_list :initial '[{"package_name":"package","package_version":"1","upstream_version":"1","up_to_date":"true"}]'
:interval "43200s"
'software-release-monitor')
(defvar reveal_software true)
(defwidget software_revealer []
(revealer-on-press
:revealvar reveal_software
:revealvar-name "reveal_software"
:width 300
(button
:width 300
:class "revealer-title"
"Software Monitor ${reveal_software ? '' : ''}")
(softwareupdates :json {software_list})))
(defwidget softwareupdates [json]
(box
:class "notes"
:orientation "v"
:halign "baseline"
:width 300
:height 150
:space-evenly true
(for software in json
(button :onclick "notify-send '${software.package_name} is ${(software.up_to_date == 'true' ) ? 'up to date!' : 'outdated!'}' 'upstream: ${software.upstream_version}\\npackage: ${software.package_version}'"
(box
:orientation "h"
:space-evenly false
(label
;; :xalign 0
:halign "start"
:hexpand true
:wrap false
:truncate true
:text "${software.package_name}")
(box
:orientation "v"
:halign "end"
(label
:valign "end"
:halign "end"
:class "details"
:text "${software.upstream_version} ")
(label
:valign "start"
:halign "end"
:class "details"
:text "${software.package_version} 󰏖"))
(label
:halign "end"
:class "status"
:style {(software.up_to_date == "true" ) ? "color: green;" : "color: red;"}
:text {(software.up_to_date == "true" ) ? "" : ""}))))
))

View file

@ -1,31 +0,0 @@
(defpoll weather_status :initial '{"condition":"loading...","current_temp":"--","feels_temp":"--","min_temp":"--","max_temp":"--","humidity":"--","icon":" ","updated":"loading..."}'
:interval "3600s"
'scripts/home/hass_weather')
(defvar reveal_weather true)
(defwidget weather_revealer []
(revealer-on-press
:revealvar reveal_weather
:revealvar-name "reveal_weather"
:width 300
(button
:width 300
:class "revealer-title"
"Weather ${reveal_weather ? '' : ''}")
(weather :json weather_status)))
(defwidget weather [json]
(box
:class "weather"
:orientation "v"
:width 300
:space-evenly true
"${json.condition} ${json.icon}"
"${json.current_temp}󰔅  / ${json.humidity}% "
"󰄿 ${json.max_temp}󰔅 | 󰄼 ${json.min_temp}󰔅"
(label
:class "weather-subtitle"
:text " ${json.updated}"
)))

View file

@ -1,14 +0,0 @@
#!/bin/bash
function get_workspaces_info() {
output=$(swaymsg -t get_workspaces | jq -r '.. | select(.type?=="workspace") | select(.focused==true).num')
echo $output
}
get_workspaces_info
swaymsg -t subscribe '["workspace"]' --monitor | {
while read -r event; do
get_workspaces_info
done
}

View file

@ -1,29 +0,0 @@
#!/bin/bash
#declare -A titles
#declare -A icons
titles=(" — Alacritty" " — LibreWolf" " — LibreOffice Calc" " — LibreOffice Writer" " — LibreOffice Draw" " — LibreOffice Math" " - KeePassXC" " — Dolphin" " — Tokodon")
icons=(" " " " " " " " " " " " " " " " "")
function get_window_name() {
output=$(swaymsg -t get_tree | jq -r '.. | select(.type?) | select(.focused==true).name')
for s in "${!titles[@]}";do
if [[ "${output}" == *"${titles[${s}]}"* ]]; then
output="${output/${titles[s]}/}"
output="${icons[${s}]} ${output}"
fi
done
if [ ${#output} -ge 50 ];then
echo "${output:0:45}…"
else
echo "${output}"
fi
}
get_window_name
swaymsg -t subscribe '["window"]' --monitor | {
while read -r event; do
get_window_name
done
}

View file

@ -1,42 +0,0 @@
#!/bin/bash
function btstatus(){
# device_mac_list=
device_json_array=()
for m in $(bluetoothctl devices Paired | awk '{print $2}');do
IFS=';' read -r dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed 's/.*: //g' | tr '\n' ';')
# IFS='' read -rd "\n" dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed -n 's/.*: //p')
# IFS="\n" read -r dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed -n 's/.*: //p')
case "${dev_icon}" in
"input-mouse")
dev_icon="󰍽";;
"phone")
dev_icon="";;
"input-keyboard")
dev_icon="";;
"input-gaming")
dev_icon="";;
"audio-headphones")
dev_icon="";;
"audio-headset")
dev_icon="";;
"computer")
dev_icon="";;
esac
# device_json=$( jq -n --arg name "${dev_name}" --arg connected "${dev_connected}" --arg icon "${dev_icon}" --arg address "${m}" '{name: $name, connected: $connected, icon: $icon, address: $address}')
# device_json_array+=("${device_json}")
# printf 'Address: %s\nName: %s\nIcon: %s\nConnected: %s\n\n' "${m}" "${dev_name}" "${dev_icon}" "${dev_connected}"
printf '%s;%s;%s;%s\n' "${m}" "${dev_name}" "${dev_icon}" "${dev_connected}"
done | column -t -n 'bt_devices' -N address,name,icon,connected -s ';' -J | jq -c '.bt_devices'
# devices_json=$(printf '%s\n' "${device_json_array[@]}" | jq -s .)
# echo ${devices_json}
}
btstatus
#dbus-monitor --profile "interface='org.blueman.Applet',member='MenuChanged'" | while read -r event; do
dbus-monitor --profile "interface='org.blueman.Applet',member='ToolTipTitleChanged'" | while read -r event; do
btstatus
done

View file

@ -1,3 +0,0 @@
#!/bin/bash
sleep infinity

View file

@ -1,18 +0,0 @@
#!/bin/bash
function ifstatus(){
jq -cs '{"interfaces": [(.[0].devs[] | select((.type=="wifi") or (.type=="ethernet")))]} * {"vpns": [(.[1].cons[] | select((.type=="vpn") or (.type=="wireguard")))]}' <<<$( \
# nmcli --terse -f DEVICE,TYPE,STATE,CONNECTION d s | column -t -n 'devs' --table-columns device,type,state,connection -s ':' -J; \
nmcli --terse -f DEVICE,TYPE,STATE,CONNECTION d s | sed 's/\\:/###/g;s/:/\;/g;s/###/:/g' | column -t -n 'devs' --table-columns device,type,state,connection -s ';' -J; \
nmcli --terse -f NAME,TYPE,ACTIVE,DEVICE c s | column -t -n 'cons' --table-columns name,type,active,device -s ':' -J)
# [ .devices[] | select((.type=="wifi") or (.type=="ethernet")) ]
}
ifstatus
ip monitor address | {
while read -r event; do
ifstatus
done;
}

View file

@ -1,11 +0,0 @@
#!/bin/bash
type="${1}"
action="${2}"
devices=$(nmcli -g DEVICE device)
for d in ${devices};do
if [ "$(nmcli -g GENERAL.TYPE device show ${d})" = "${type}" ];then
nmcli device "${action}" "${d}"
fi
done

View file

@ -1,62 +0,0 @@
#!/bin/bash
function ifstatus(){
is_online=false
is_wireless=false
is_ethernet=false
is_vpn=false
is_proton=false
is_proton_sc=false
is_homevpn=false
is_homevpn_full=false
if nmcli -g TYPE connection show --active | grep -q "wireless";then
is_wireless='true'
fi
if nmcli -g TYPE connection show --active | grep -q "ethernet";then
is_ethernet='true'
fi
vpn_cons=$(nmcli -g TYPE,NAME connection show --active | grep -e "vpn" -e "wireguard")
# echo "${vpn_cons//$'\n'/;}"
case "${vpn_cons//$'\n'/;}" in
*ProtonVPN|*ProtonVPN\;*)
is_proton='true'
;;&
*ProtonVPN-SC|*ProtonVPN-SC\;*)
is_proton_sc='true'
;;&
*HomeVPN|*HomeVPN\;*)
is_homevpn='true'
;;&
*HomeVPN-Full|*HomeVPN-Full\;*)
is_homevpn_full='true'
;;&
*ProtonVPN*|*ProtonVPN-SC*|*HomeVPN*|*HomeVPN-Full*)
is_vpn='true'
;;
esac
# if grep -qe "ProtonVPN$" <<<${vpn_cons};then
# is_proton='true'
# fi
# if grep -qe "ProtonVPN-SC$" <<<${vpn_cons};then
# is_proton_sc='true'
# fi
# if grep -qe "HomeVPN$" <<<${vpn_cons};then
# is_homevpn='true'
# fi
# if grep -qe "HomeVPN-Full$" <<<${vpn_cons};then
# is_homevpn_full='true'
# fi
echo $(jq -n --arg online "${is_online}" --arg wifi "${is_wireless}" --arg wired "${is_ethernet}" --arg vpn "${is_vpn}" --arg proton "${is_proton}" --arg proton_sc "${is_proton_sc}" --arg homevpn "${is_homevpn}" --arg homevpn_full "${is_homevpn_full}" '{online: $online, wifi: $wifi, wired: $wired, vpn: $vpn, proton: $proton, proton_sc: $proton_sc, homevpn: $homevpn, homevpn_full: $homevpn_full}')
}
ifstatus
ip monitor address | {
while read -r event; do
# echo hi ${event};
ifstatus
done;
}

View file

@ -1,9 +0,0 @@
#!/bin/bash
if $(nmcli -g GENERAL.STATE c s "${1}"|grep -q '\bactiv'); then
echo "going down"
nmcli connection down "${1}"
else
echo "going up"
nmcli connection up "${1}"
fi

View file

@ -1,12 +0,0 @@
#!/bin/bash
playerctl --follow metadata --format '{{ title }}' | {
while read -r nowplaying_title; do
if [ ${#nowplaying_title} -ge 45 ];then
echo "${nowplaying_title:0:40}…"
else
echo "${nowplaying_title}"
fi
# echo "${nowplaying_title}" | head -c 50;
done
}

View file

@ -1,11 +0,0 @@
#!/usr/bin/env bash
action="${1}"
action_icon="${2}"
command="${3}"
#yad --image "${action_icon}" --title "Really ${action}?" --button=gtk-yes:0 --button=gtk-no:1 --text "Really ${action}?\n $ ${command} "
if zenity --question --icon="${action_icon}" --title "Really ${action}?" --text "$ ${command} ";then
bash -c "${command}"
fi
#printf 'test\ntest' | wofi --columns=2 --show dmenu

View file

@ -1,3 +0,0 @@
#!/bin/bash
echo ~/.cache/sway-profiles/active_profile | entr -n sp-profile-icon

View file

@ -1,2 +0,0 @@
#!/usr/bin/env sh
sdu profile get -m

View file

@ -1,3 +0,0 @@
#!/bin/bash
echo ~/.cache/sway-profiles/active_profile | entr -n sp-profile

View file

@ -1,199 +0,0 @@
#!/bin/bash
#appropriated from https://gitlab.com/wef/dotfiles/-/blob/master/bin/sway-select-window for use with eww
declare -A icons=(
)
jq_get_windows='
# descend to workspace or scratchpad
.nodes[].nodes[]
# save workspace name as .w
| {"w": .name} + (
if (.nodes|length) > 0 then # workspace
[recurse(.nodes[])]
else # scratchpad
[]
end
+ .floating_nodes
| .[]
# select nodes with no children (windows)
# | select(.nodes==[])
# | select(.scratchpad!="none")
| select(.scratchpad_state=="fresh")
)'
jq_windows_to_tsv='
[
(.id | tostring),
# remove markup and index from workspace name, replace scratch with "[S]"
(.w | gsub("<[^>]*>|:$"; "") | sub("__i3_scratch"; "[S]")),
# get app name (or window class if xwayland)
(.app_id // .window_properties.class),
(.name),
(.pid),
(.visible)
]
| @tsv'
get_hardcoded_icon() {
icon="${icons[$1]}"
echo "$icon"
}
get_desktop() {
app="$1"
p="/usr/share/applications"
flist=("/var/lib/flatpak/exports/share/applications" "${HOME}/.local/share/flatpak/exports/share/applications")
[[ "$verbose" ]] && echo "searching for '$app'" >&2
# fast and easy cases first:
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
d="$p/$prefix$app.desktop"
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
return
}
done
# maybe lowercase
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
d="$p/$prefix${app,,}.desktop"
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
return
}
done
# this is fairly reliable but slow:
# look for a .desktop file with Exec=$app eg
# gnome-disks (but exclude gnome-disk-image-writer.desktop)
# gnome-font-viewer
GREP='egrep -r'
type rg &>/dev/null && GREP=rg
d=$( $GREP -il "^exec=$app( %u)*[[:space:]]*$" $p | head -n 1)
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
return
}
for f in ${flist[@]};do
[[ "$verbose" ]] && echo "using '$GREP' to search in '${f}'" >&2
d=$( $GREP -il "^startupwmclass=$app.*$" ${f}/* | head -n 1)
[[ "$verbose" ]] && echo "found '$d'" >&2
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
return
}
done
# desperation - weird apps like com.github.wwmm.pulseeffects.desktop!!
# shellcheck disable=SC2012
d=$( ls "$p/"*".$app.desktop" 2>/dev/null | head -n 1 )
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
return
}
}
get_icon() {
app="$1"
icon=$( get_hardcoded_icon "$app_name" )
[[ "$icon" && -r "$icon" ]] && {
echo "$icon"
[[ "$verbose" ]] && echo "using hardcoded icon '$icon'" >&2
return
}
# let's go poke in the .desktop files:
icon_name=""
dt=$( get_desktop "$app" )
# sometimes we get the 'class' rather than the exe - so try this:
[[ "$dt" ]] || {
app=$( tr '\0' '\n' < "/proc/$pid/cmdline" | head -n 1 )
dt=$( get_desktop "$( basename "$app" )" )
}
[[ "$dt" ]] && {
icon_name=$( awk -v IGNORECASE="set" -F"=" '/^icon/ {print $2}' "$dt" )
[[ -r "$icon_name" ]] && {
icon="$icon_name"
echo "$icon"
[[ "$verbose" ]] && echo "using .desktop icon '$icon'" >&2
return
}
[[ "$icon_name" ]] && {
icon_locations=(
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/gnome/48x48/apps
/usr/share/icons/gnome/48x48/devices
/usr/share/pixmaps
/var/lib/flatpak/exports/share/icons/hicolor/scalable/apps
/var/lib/flatpak/exports/share/icons/hicolor/48x48/apps
"${HOME}/.local/share/flatpak/exports/share/icons/hicolor/scalable/apps"
"${HOME}/.local/share/flatpak/exports/share/icons/hicolor/48x48/apps"
# icons/hicolor/scalable/apps
# icons/hicolor/48x48/apps
# icons/gnome/48x48/apps
# icons/gnome/48x48/devices
# pixmaps
)
for d in "${icon_locations[@]}"; do
for s in .svg .png .xpm ""; do
icon=$d/$icon_name$s
[[ -r $icon ]] && {
echo "$icon"
[[ "$verbose" ]] && echo "using .desktop icon '$icon'" >&2
return
}
done
done
icon=$(find /usr/share/icons | grep "/${icon_name}-symbolic.svg" | head -n 1)
[[ -r $icon ]] && {
echo "$icon"
[[ "$verbose" ]] && echo "using .desktop icon '$icon'" >&2
return
}
}
}
[[ "$verbose" ]] && echo "searching for '$app' icon" >&2
icon=$( find /usr/share/icons /usr/share/pixmaps | grep -E -i "/$app.(png|svg)" | head -n 1 )
[[ "$icon" && -r "$icon" ]] && {
echo "$icon"
[[ "$verbose" ]] && echo "using found icon '$icon'" >&2
return
}
# failed:
icon="/usr/share/icons/breeze-dark/mimetypes/32/unknown.svg"
[[ "$verbose" ]] && echo "using missing icon '$icon'" >&2
echo "$icon"
}
function get_scratchpad() {
applist_array=()
applist=""
shopt -s lastpipe
swaymsg -t get_tree |
jq -r "$jq_get_windows | $jq_windows_to_tsv" |
column -s $'\t' -o $'\t' -t | while IFS=$'\t' read -r win_id ws_name app_name win_title pid visible; do
shopt -s extglob
app_name="${app_name%%*( )}"
icon=$( get_icon "$app_name" "$pid" )
visible=${visible}
[[ "$verbose" ]] && printf "[%s]=%s\n" "$app_name" "$icon" >&2
applist_array_item=$(jq -n --arg icon "${icon}" --arg name "${app_name##*.}" --arg title "${win_title}" --arg win_id "${win_id}" --arg visible "${visible}" '{icon: $icon,name: $name,title: $title,win_id: $win_id,visible: $visible}')
applist_array+=("${applist_array_item}")
done
applist=$(printf '%s\n' "${applist_array[@]}" | jq -s .)
echo ${applist}
}
get_scratchpad
swaymsg -t subscribe '["window"]' --monitor | {
while read -r event; do
get_scratchpad
done
}

View file

@ -1,15 +0,0 @@
#!/bin/bash
function print_volume() {
if [ "$(pactl get-sink-mute @DEFAULT_SINK@)" = "Mute: yes" ]; then
echo 0
else
echo "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed 's/[^0-9]//g')"
fi
}
print_volume
pactl subscribe | awk '{ if($0 ~ "new") if($0 ~ "sink-input") {system("echo hi")} }' | while read -r event;do
print_volume
done

View file

@ -1,14 +0,0 @@
#!/bin/bash
function get_workspaces_info() {
output=$(swaymsg -t get_workspaces | jq 'sort_by(.num)')
echo $output
}
get_workspaces_info
swaymsg -t subscribe '["workspace"]' --monitor | {
while read -r event; do
get_workspaces_info
done
}

View file

@ -1,64 +0,0 @@
#!/bin/bash
hass_weather_cache="${HOME}/.cache/hass_weather.json"
update_cache_json(){
weather_summary="$( hass-cli -a states -i sensor.weather_summary | jq -r '.attributes' )"
if [[ -z "${weather_summary}" ]];then
return 1
fi
condition="$( jq -r '.condition' <<< ""${weather_summary}"" )"
condition_code="$( jq -r '.condition_code' <<< ""${weather_summary}"" )"
current_temp="$( jq -r '.current_temp' <<< ""${weather_summary}"" )"
feels_temp="$( jq -r '.feels_temp' <<< ""${weather_summary}"" )"
min_temp="$( jq -r '.min_temp' <<< ""${weather_summary}"" )"
max_temp="$( jq -r '.max_temp' <<< ""${weather_summary}"" )"
humidity="$( jq -r '.humidity' <<< ""${weather_summary}"" )"
updated="$(date '+%Y-%m-%d, %H:%M')"
case "${condition_code}" in
#https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2
(2[0-9][0-9])
condition_icon=''
;;
(3[0-9][0-9])
condition_icon=''
;;
(5[0-9][0-9])
condition_icon=''
;;
(6[0-9][0-9])
condition_icon=''
;;
(7[0-9][0-9])
condition_icon=''
;;
800)
condition_icon=''
;;
(80[0-9])
condition_icon=''
;;
esac
jq -n \
--arg condition "${condition}" \
--arg current_temp "${current_temp}" \
--arg feels_temp "${feels_temp}" \
--arg min_temp "${min_temp}" \
--arg max_temp "${max_temp}" \
--arg humidity "${humidity}" \
--arg icon "${condition_icon}" \
--arg updated "${updated}" \
'{condition: $condition,current_temp: $current_temp,feels_temp: $feels_temp,min_temp: $min_temp,max_temp: $max_temp,humidity: $humidity,icon: $icon,updated: $updated}' | tee "${hass_weather_cache}" >/dev/null
}
if [[ ! $(find "${hass_weather_cache}" -cmin -60 -print 2>/dev/null) ]]; then
# if ! ping -w 15 -c 5 hass.pogmom.me;then
# exit 1
# fi
update_cache_json
fi
cat "${hass_weather_cache}"

View file

@ -1,13 +0,0 @@
#!/usr/bin/env bash
cache_path="${HOME}/.cache/mc-server-info"
mcstatus_cache="${cache_path}/cache.json"
mkdir -p "${cache_path}"
update_cache_json(){
mc-server-info json | tee "${mcstatus_cache}" >/dev/null
}
if [[ ! $(find "${mcstatus_cache}" -cmin -15 -print 2>/dev/null) ]]; then
update_cache_json
fi
cat "${mcstatus_cache}"

Some files were not shown because too many files have changed in this diff Show more