Merge remote-tracking branch 'refs/remotes/origin/main'
|
|
@ -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"]
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
@ -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"
|
||||||
2
default/config/nvim/init.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
|
require("config.lazy")
|
||||||
14
default/config/nvim/lazyvim.json
Normal 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
|
||||||
|
}
|
||||||
8
default/config/nvim/lua/config/autocmds.lua
Normal 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")
|
||||||
3
default/config/nvim/lua/config/keymaps.lua
Normal 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
|
||||||
73
default/config/nvim/lua/config/lazy.lua
Normal 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 } },
|
||||||
|
},
|
||||||
|
})
|
||||||
3
default/config/nvim/lua/config/options.lua
Normal 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
|
||||||
3
default/config/nvim/lua/lualine/themes/dms.lua
Normal 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")
|
||||||
8
default/config/nvim/lua/plugins/edgy.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
"folke/edgy.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
laststatus = 3,
|
||||||
|
splitkeep = "screen",
|
||||||
|
},
|
||||||
|
}
|
||||||
202
default/config/nvim/lua/plugins/example.lua
Normal 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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
37
default/config/nvim/lua/plugins/languages.lua
Normal 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,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
16
default/config/nvim/lua/plugins/seoul256.lua
Normal 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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
3
default/config/nvim/stylua.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
column_width = 120
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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"
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"color": {
|
"color": {
|
||||||
"r": "215",
|
"r": "135",
|
||||||
"g": "175",
|
"g": "175",
|
||||||
"b": "135",
|
"b": "135",
|
||||||
"a": "0.2"
|
"a": "0.2"
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)) {
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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}""")"
|
||||||
|
|
|
||||||
0
wayland/config/DankMaterialShell/.firstlaunch
Normal file
3
wayland/config/DankMaterialShell/create_plugin_list.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
dms plugins list | grep ID | awk '{print $2}' | tee ~/.config/DankMaterialShell/plugins.txt
|
||||||
27
wayland/config/DankMaterialShell/plugins.txt
Normal 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
|
||||||
1004
wayland/config/DankMaterialShell/settings.json
Normal file
21
wayland/config/dankcalendar/config.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -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))
|
|
||||||
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
Before Width: | Height: | Size: 241 B |
|
Before Width: | Height: | Size: 200 B |
|
|
@ -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")
|
|
||||||
|
|
@ -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"))))
|
|
||||||
|
|
@ -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}"))))
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
(defwidget clock []
|
|
||||||
(label :class "datetime"
|
|
||||||
:text {formattime(EWW_TIME,"%b %d, %Y | %H:%M")}))
|
|
||||||
|
|
@ -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 ? "" : ""})))
|
|
||||||
|
|
@ -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))))
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
(defwidget music []
|
|
||||||
(box :visible {nowplaying != ""}
|
|
||||||
:class {nowplaying != "" ? "music" : "hidden"}
|
|
||||||
:orientation "h"
|
|
||||||
:space-evenly false
|
|
||||||
:halign "center"
|
|
||||||
{nowplaying != "" ? " ${nowplaying}" : ""}))
|
|
||||||
|
|
@ -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" ? "" : "" ))}))))
|
|
||||||
|
|
@ -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') ? '' : ''}")))
|
|
||||||
|
|
@ -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"
|
|
||||||
"")))
|
|
||||||
|
|
@ -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')}))
|
|
||||||
|
|
@ -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))))))
|
|
||||||
|
|
@ -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)))))
|
|
||||||
|
|
@ -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})))
|
|
||||||
|
|
@ -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})))
|
|
||||||
|
|
@ -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)))
|
|
||||||
|
|
@ -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'")))
|
|
||||||
|
|
||||||
|
|
@ -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' ? '' : '' )}"))))
|
|
||||||
|
|
@ -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')}))
|
|
||||||
|
|
@ -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}))
|
|
||||||
|
|
@ -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')}))))
|
|
||||||
|
|
@ -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")
|
|
||||||
|
|
@ -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"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
@ -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")}"))))
|
|
||||||
))
|
|
||||||
|
|
@ -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}');"))
|
|
||||||
|
|
@ -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}');"))
|
|
||||||
|
|
@ -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}"))))
|
|
||||||
))
|
|
||||||
|
|
@ -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)))))
|
|
||||||
|
|
@ -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}))
|
|
||||||
))
|
|
||||||
|
|
||||||
))
|
|
||||||
|
|
@ -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" ) ? "" : ""}))))
|
|
||||||
))
|
|
||||||
|
|
@ -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}"
|
|
||||||
)))
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
sleep infinity
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo ~/.cache/sway-profiles/active_profile | entr -n sp-profile-icon
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
sdu profile get -m
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo ~/.cache/sway-profiles/active_profile | entr -n sp-profile
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
@ -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}"
|
|
||||||
|
|
@ -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}"
|
|
||||||