Compare commits
109 Commits
main
...
4eed9ae8b6
| Author | SHA1 | Date | |
|---|---|---|---|
| 4eed9ae8b6 | |||
| 141a74ecfa | |||
| ab5ff2bffc | |||
| 9ece4e28de | |||
| ad02049329 | |||
| dcb30d0bea | |||
| 945536a29c | |||
| 76dadcf5d9 | |||
| 25adad8c1c | |||
| 07a9418459 | |||
| 84778882e8 | |||
| c98c6eb1ec | |||
| d14e4c3cd9 | |||
| ffd9a441fd | |||
| f7916cb9db | |||
| 96d02aae9e | |||
| 7e14d394f7 | |||
| 54fbef9b9e | |||
| 2584c9384e | |||
| 4731b849ee | |||
| 11bd26b123 | |||
| 0b7fff402a | |||
| 286357aa72 | |||
| 547ff80288 | |||
| 57b8fd050f | |||
| 8672c1710a | |||
| d89afea793 | |||
| f36f089d83 | |||
| 5a0b23c862 | |||
| 12124fd9aa | |||
| 2d779645f5 | |||
| 9d68e5b149 | |||
| d4c61e5fbc | |||
| e14e17e340 | |||
| 5c1a53fc17 | |||
| 6388ef5e14 | |||
| b954326d72 | |||
| 6bab7c7dc8 | |||
| 41cc28dc03 | |||
| 932ce683af | |||
| 9e766b53af | |||
| b7ed739b2f | |||
| cd8e5fd322 | |||
| d22940e0db | |||
| d1283e2e0a | |||
| 2ff35a55ef | |||
| 0553463958 | |||
| 39a83a3398 | |||
| da521004c0 | |||
| 19e0dab102 | |||
| e3040bde7b | |||
| 21814db5b3 | |||
| b2720b485e | |||
| 57785b6bab | |||
| d6cc49e142 | |||
| c5ddc45f58 | |||
| ad29f488c9 | |||
| 22aa216945 | |||
| 4160333b7d | |||
| 67d6dc8b14 | |||
| a4cd6d8f47 | |||
| 9f076891a5 | |||
| caef66b501 | |||
| e8f7f5fb37 | |||
| 5304603970 | |||
| b37fe4cded | |||
| cf34e15de2 | |||
| 30aa878adf | |||
| 369cd2cd49 | |||
| 8ef17d634d | |||
| 84b9538547 | |||
| 85123cc3cd | |||
| 147a26986a | |||
| 7ee6cb61ae | |||
| 5a3dedb5eb | |||
| 27f3e12eb2 | |||
| 5b9dd92c6f | |||
| a68e286e1c | |||
| 24753d9d0c | |||
| b990c56e44 | |||
| 680b94d2eb | |||
| 5283050311 | |||
| d51ce2986f | |||
| 1bd89db726 | |||
| 9b51e31f1a | |||
| aefe0e6dce | |||
| 28877b9e9e | |||
| b34c71a440 | |||
| 4178678640 | |||
| 1192fff9c6 | |||
| 0a18c01d69 | |||
| 84fad656ab | |||
| 5fed9922fb | |||
| 8023ecebe9 | |||
| 6ad8382023 | |||
| cb80d0f1d8 | |||
| c9e06bfc28 | |||
| 3a84c55afc | |||
| 4041a9bd39 | |||
| 6ecd64652f | |||
| 05e375dd5b | |||
| e8855a231d | |||
| 3e9446dc89 | |||
|
e52d797f42
|
|||
|
e124e07715
|
|||
|
2e82fc5ff4
|
|||
|
f8c8caa447
|
|||
|
ba471b2ee5
|
|||
|
f79789fd27
|
27
.bashrc
27
.bashrc
@@ -12,26 +12,25 @@ esac
|
|||||||
[ -z "${PS1-}" ] && return
|
[ -z "${PS1-}" ] && return
|
||||||
|
|
||||||
# lazy loading of ssh agents
|
# lazy loading of ssh agents
|
||||||
__lazy_ssh_agent() {
|
_lazy_ssh() {
|
||||||
if [ -z "$SSH_AUTH_SOCK" ]; then
|
if [ -z "$SSH_AUTH_SOCK" ]; then
|
||||||
eval "$(ssh-agent -s)" >/dev/null
|
eval "$(ssh-agent -s)" >/dev/null
|
||||||
ssh-add "$HOME/.ssh/github" >/dev/null 2>&1
|
ssh-add "$HOME/.ssh/github" >/dev/null
|
||||||
ssh-add "$HOME/.ssh/gitea" >/dev/null 2>&1
|
ssh-add "$HOME/.ssh/gitea" >/dev/null
|
||||||
ssh-add "$HOME/.ssh/admin@homeserver" >/dev/null 2>&1
|
ssh-add "$HOME/.ssh/admin@homeserver" >/dev/null
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
# aliases so the function is called beforehand
|
# aliases so the function is called beforehand
|
||||||
alias ssh='__lazy_ssh_agent; ssh'
|
alias ssh='_lazy_ssh; ssh'
|
||||||
alias sudo='__lazy_ssh_agent; sudo'
|
alias sudo='_lazy_ssh; sudo'
|
||||||
|
|
||||||
# colourises make output, so when it prints via
|
# alias to colourise make output
|
||||||
# $(warning) or $(error), it is formatted properly
|
_make() {
|
||||||
__colour_make() {
|
|
||||||
make "$@" 2> >(sed -E \
|
make "$@" 2> >(sed -E \
|
||||||
-e "s/^([Mm]akefile:[0-9]+:.*)/\x1b[33m\1\x1b[0m/" \
|
-e "s/^([Mm]akefile:[0-9]+:.*)/\x1b[33m\1\x1b[0m/" \
|
||||||
-e "s/^.*error.*$/\x1b[31m&\x1b[0m/I" >&2)
|
-e "s/^.*error.*$/\x1b[31m&\x1b[0m/I" >&2)
|
||||||
}
|
}
|
||||||
alias make='__colour_make'
|
alias make='_make'
|
||||||
|
|
||||||
# lazily loads the git utilities, to prevent slowdowns
|
# lazily loads the git utilities, to prevent slowdowns
|
||||||
__lazy_git_ps1() {
|
__lazy_git_ps1() {
|
||||||
@@ -51,13 +50,11 @@ __regenprompt() {
|
|||||||
local err=$? # acquire the error code of the last executed command
|
local err=$? # acquire the error code of the last executed command
|
||||||
local git=$(__lazy_git_ps1)
|
local git=$(__lazy_git_ps1)
|
||||||
|
|
||||||
# Format the error code to be in the last column of the terminal
|
|
||||||
# this shall be printed as non-printable characters, so won't effect text wrapping.
|
|
||||||
if [ $err -ne 0 ]; then
|
if [ $err -ne 0 ]; then
|
||||||
err="\033[$((COLUMNS - 4))G\033[01;31m${err}\033[0G"
|
err="\[\033[$((COLUMNS - 4))G\033[01;31m\]${err}\[\033[0G\]"
|
||||||
else unset err; fi
|
else unset err; fi
|
||||||
|
|
||||||
PS1="\[$err\]" # error code
|
PS1="$err" # error code
|
||||||
PS1="$PS1\[\033[?25h\]" # show cursor
|
PS1="$PS1\[\033[?25h\]" # show cursor
|
||||||
PS1="$PS1\[\033[01;35m\]\u@\h" # user@host
|
PS1="$PS1\[\033[01;35m\]\u@\h" # user@host
|
||||||
PS1="$PS1\[\033[00m\]:" # separator
|
PS1="$PS1\[\033[00m\]:" # separator
|
||||||
@@ -75,7 +72,7 @@ HISTIGNORE='exit*:clear*:\:*:echo*'
|
|||||||
shopt -s checkwinsize # check the window size after each command (and if necessary, the values of LINES and COLUMNS)
|
shopt -s checkwinsize # check the window size after each command (and if necessary, the values of LINES and COLUMNS)
|
||||||
shopt -s globstar # enable globstar (**/*)
|
shopt -s globstar # enable globstar (**/*)
|
||||||
|
|
||||||
[ -f "$HOME/.bash_aliases" ] && . "$HOME/.bash_aliases"
|
[ -f "$HOME/.bash_aliases" ] && . .bash_aliases
|
||||||
|
|
||||||
# cute lil hyfetch :3
|
# cute lil hyfetch :3
|
||||||
[ "$TERM" == "xterm-kitty" ] && fastfetch
|
[ "$TERM" == "xterm-kitty" ] && fastfetch
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ Checks:
|
|||||||
- '-bugprone-easily-swappable-parameters'
|
- '-bugprone-easily-swappable-parameters'
|
||||||
- '-clang-analyzer-security.insecureAPI.*'
|
- '-clang-analyzer-security.insecureAPI.*'
|
||||||
- '-misc-include-cleaner'
|
- '-misc-include-cleaner'
|
||||||
- '-bugprone-reserved-identifier'
|
|
||||||
WarningsAsErrors: ''
|
WarningsAsErrors: ''
|
||||||
HeaderFileExtensions:
|
HeaderFileExtensions:
|
||||||
- ''
|
- ''
|
||||||
|
|||||||
@@ -20,4 +20,3 @@ Diagnostics:
|
|||||||
- bugprone-implicit-widening-of-multiplication-result
|
- bugprone-implicit-widening-of-multiplication-result
|
||||||
- bugprone-switch-missing-default-case
|
- bugprone-switch-missing-default-case
|
||||||
- bugprone-easily-swappable-parameters
|
- bugprone-easily-swappable-parameters
|
||||||
- bugprone-reserved-identifier
|
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ assign [class="app-ws12"] $ws12
|
|||||||
assign [class="vesktop"] $ws9
|
assign [class="vesktop"] $ws9
|
||||||
|
|
||||||
# autostart applications on a specific workspace
|
# autostart applications on a specific workspace
|
||||||
exec --no-startup-id i3-msg 'workspace $ws3; exec thunderbird'
|
|
||||||
exec --no-startup-id i3-msg 'workspace $ws2; exec firefox --new-window'
|
exec --no-startup-id i3-msg 'workspace $ws2; exec firefox --new-window'
|
||||||
exec --no-startup-id i3-msg 'workspace $ws1; exec kitty --single-instance'
|
exec --no-startup-id i3-msg 'workspace $ws1; exec kitty --single-instance'
|
||||||
|
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ bindsym XF86AudioMute exec --no-startup-id x-volume mute
|
|||||||
bindsym XF86AudioMicMute exec --no-startup-id x-mic-mute
|
bindsym XF86AudioMicMute exec --no-startup-id x-mic-mute
|
||||||
|
|
||||||
# brightness control
|
# brightness control
|
||||||
bindsym XF86MonBrightnessUp exec --no-startup-id x-brightness up
|
bindsym XF86MonBrightnessUp exec --no-startup-id x-brightness-up
|
||||||
bindsym XF86MonBrightnessDown exec --no-startup-id x-brightness down
|
bindsym XF86MonBrightnessDown exec --no-startup-id x-brightness-down
|
||||||
|
|
||||||
# media controls
|
# media controls
|
||||||
bindsym XF86AudioPlay exec playerctl play-pause
|
bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
|
|||||||
@@ -13,12 +13,7 @@ git:
|
|||||||
pagers:
|
pagers:
|
||||||
- colorArg: always
|
- colorArg: always
|
||||||
pager: diff-so-fancy
|
pager: diff-so-fancy
|
||||||
|
useConfig: false
|
||||||
overrideGpg: true
|
overrideGpg: true
|
||||||
update:
|
update:
|
||||||
method: never
|
method: never
|
||||||
customCommands:
|
|
||||||
- key: 'P'
|
|
||||||
command: "git push {{.SelectedRemote.Name}} {{.SelectedLocalCommit.Sha}}:{{.SelectedLocalBranch.Name}}"
|
|
||||||
context: "commits"
|
|
||||||
loadingText: "Pushing commit..."
|
|
||||||
description: "Push a specific commit (and any preceding)"
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ vim.g.maplocalleader = ' '
|
|||||||
Autocmd = vim.api.nvim_create_autocmd
|
Autocmd = vim.api.nvim_create_autocmd
|
||||||
Map = vim.keymap.set
|
Map = vim.keymap.set
|
||||||
|
|
||||||
---@module 'gruvbox'
|
|
||||||
---@class userdata
|
---@class userdata
|
||||||
---@field palette GruvboxPalette
|
---@field palette GruvboxPalette
|
||||||
_G.userdat = {}
|
_G.userdat = {}
|
||||||
|
|||||||
@@ -5,11 +5,7 @@ Map({ 'n', 'v' }, '<left>', '<nop>')
|
|||||||
Map({ 'n', 'v' }, '<right>', '<nop>')
|
Map({ 'n', 'v' }, '<right>', '<nop>')
|
||||||
|
|
||||||
-- tab management / navigation
|
-- tab management / navigation
|
||||||
Map('n', '<c-t>', '<cmd>enew<cr>', { desc = 'create a new buffer' })
|
Map('n', '<c-t>', '<cmd>enew<cr>', { desc = 'create a new tab' })
|
||||||
Map('n', '<tab>', '<cmd>bnext<cr>', { desc = 'move to next buffer' })
|
|
||||||
Map('n', '<s-tab>', '<cmd>bprevious<cr>', { desc = 'move to previous buffer' })
|
|
||||||
Map('n', '<c-w>', '<cmd>bd<cr>', { desc = 'close buffer' })
|
|
||||||
Map('n', '<c-f4>', '<cmd>bd<cr>', { desc = 'close buffer' })
|
|
||||||
|
|
||||||
-- for help exiting certain modes
|
-- for help exiting certain modes
|
||||||
Map({ 'n', 'i' }, '<esc>', '<cmd>nohlsearch<cr><esc>', { desc = 'cancel search highlighting and escape' })
|
Map({ 'n', 'i' }, '<esc>', '<cmd>nohlsearch<cr><esc>', { desc = 'cancel search highlighting and escape' })
|
||||||
@@ -32,8 +28,6 @@ Map('n', 'K', vim.lsp.buf.hover, { desc = 'symbol hover' })
|
|||||||
Map('n', '<F2>', vim.lsp.buf.rename, { desc = 'rename symbol' })
|
Map('n', '<F2>', vim.lsp.buf.rename, { desc = 'rename symbol' })
|
||||||
Map('n', '<leader>lm', vim.diagnostic.open_float, { desc = 'view line\'s diagnostic messages' })
|
Map('n', '<leader>lm', vim.diagnostic.open_float, { desc = 'view line\'s diagnostic messages' })
|
||||||
Map('n', '<leader>q', vim.lsp.buf.code_action, { desc = 'view quickfix list' })
|
Map('n', '<leader>q', vim.lsp.buf.code_action, { desc = 'view quickfix list' })
|
||||||
Map('n', 'gd', vim.lsp.buf.definition, { desc = "Go to the definition" })
|
|
||||||
Map('n', 'gr', vim.lsp.buf.references, { desc = "Go to the reference" })
|
|
||||||
|
|
||||||
-- smart tabulation
|
-- smart tabulation
|
||||||
Map('i', '<tab>', function()
|
Map('i', '<tab>', function()
|
||||||
|
|||||||
@@ -2,8 +2,17 @@ local o = vim.opt
|
|||||||
|
|
||||||
-- set options
|
-- set options
|
||||||
o.clipboard = "unnamedplus" -- keep the clipboard in sync with the one provided by the OS
|
o.clipboard = "unnamedplus" -- keep the clipboard in sync with the one provided by the OS
|
||||||
|
o.termguicolors = true -- allows for colour in the terminal
|
||||||
|
o.number = true -- show line numbers
|
||||||
o.cursorline = true -- highlight the current line
|
o.cursorline = true -- highlight the current line
|
||||||
o.ignorecase = true -- whether case should be ignored whilst searching
|
o.cursorcolumn = false -- highlight the current column
|
||||||
|
o.dir = vim.fn.stdpath('cache') .. '/swp' -- swap directory location for recovery
|
||||||
|
o.sessionoptions = 'buffers,curdir,folds,help,localoptions,tabpages,terminal'
|
||||||
|
o.expandtab = false -- whether tabs are expanded to spaces (overridden by .editorconfig)
|
||||||
|
o.diffopt = 'internal,filler,closeoff,linematch:60' -- diff visualisation
|
||||||
|
o.foldenable = true -- whether folding is enabled
|
||||||
|
o.wrap = false -- whether to wrap text to a new line when it goes off-screen
|
||||||
|
o.breakindent = true -- wrapped lines start at the same location as the start of the line
|
||||||
o.list = true -- shows invisible characters
|
o.list = true -- shows invisible characters
|
||||||
o.listchars = { -- whitespace characters
|
o.listchars = { -- whitespace characters
|
||||||
eol = nil,
|
eol = nil,
|
||||||
@@ -14,25 +23,30 @@ o.listchars = { -- whitespace charact
|
|||||||
space = '·',
|
space = '·',
|
||||||
nbsp = '␣',
|
nbsp = '␣',
|
||||||
}
|
}
|
||||||
o.number = true -- show line numbers
|
o.mouse = 'nv' -- which modes the mouse is enabled in 'a:all'
|
||||||
o.relativenumber = true -- whether line numbers are relative to the cursor
|
o.relativenumber = true -- whether line numbers are relative to the cursor
|
||||||
o.sessionoptions = 'buffers,curdir,folds,help,localoptions,tabpages,terminal'
|
o.scrolloff = 10 -- minimal number of screen lines to keep above and below the cursor
|
||||||
o.shiftwidth = 8 -- spaces for auto-indent
|
o.showtabline = 2 -- whether to show the tab line
|
||||||
o.showmode = false -- don't show mode as this is already in the status line
|
|
||||||
o.signcolumn = 'yes' -- always show the signcolumn, otherwise it shifts text all the time
|
o.signcolumn = 'yes' -- always show the signcolumn, otherwise it shifts text all the time
|
||||||
o.smartcase = true -- overrides the above option if contains capital letters
|
o.tabstop = 8 -- visual spaces per tab
|
||||||
|
o.softtabstop = 8 -- spaces inserted per tab in insert mode
|
||||||
|
o.shiftwidth = 8 -- spaces for auto-indent
|
||||||
o.smartindent = true -- behave a bit more nuanced with when to indent
|
o.smartindent = true -- behave a bit more nuanced with when to indent
|
||||||
o.spell = true -- whether spell checking is enabled
|
o.ignorecase = true -- whether case should be ignored whilst searching
|
||||||
o.spellfile = vim.fn.stdpath('config') .. '/spell/user.utf-8.add'
|
o.smartcase = true -- overrides the above option if contains capital letters
|
||||||
o.spelllang = 'en_gb,nl' -- set the spell languages
|
o.inccommand = 'split' -- split|nosplit whether substitutions should appear whilst typing.
|
||||||
o.termguicolors = true -- allows for colour in the terminal
|
o.splitbelow = true -- force all horizontal splits below the current window
|
||||||
o.timeoutlen = 300 -- number of MS to wait for a mapped sequence to complete
|
o.splitright = true -- force all vertical splits to the right of this window
|
||||||
o.ttimeoutlen = 0 -- number of MS to wait for a key sequence to complete
|
o.showmode = false -- don't show mode as this is already in the status line
|
||||||
o.undodir = vim.fn.stdpath('cache') .. '/undo' -- directory for undo files
|
o.undodir = vim.fn.stdpath('cache') .. '/undo' -- directory for undo files
|
||||||
o.undofile = true -- for saving the undo history
|
o.undofile = true -- for saving the undo history
|
||||||
o.undolevels = 1024 -- the amount of changes that can be undone
|
o.undolevels = 1024 -- the amount of changes that can be undone
|
||||||
|
o.timeoutlen = 300 -- number of MS to wait for a mapped sequence to complete
|
||||||
|
o.ttimeoutlen = 0 -- number of MS to wait for a key sequence to complete
|
||||||
o.updatetime = 250 -- number of MS of nothing typed to write a swap file to disk.
|
o.updatetime = 250 -- number of MS of nothing typed to write a swap file to disk.
|
||||||
o.wrap = false -- whether to wrap text to a new line when it goes off-screen
|
o.spell = true -- whether spell checking is enabled
|
||||||
|
o.spelllang = 'en_gb,nl' -- set the spell languages
|
||||||
|
o.spellfile = vim.fn.stdpath('config') .. '/spell/user.utf-8.add'
|
||||||
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
underline = true, -- use underline for diagnostics
|
underline = true, -- use underline for diagnostics
|
||||||
|
|||||||
32
.config/nvim/lua/plugin/autopairs.lua
Normal file
32
.config/nvim/lua/plugin/autopairs.lua
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---@type LazySpec
|
||||||
|
return { {
|
||||||
|
'windwp/nvim-autopairs', -- automatically inserts closing brackets
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
opts = {
|
||||||
|
enable_moveright = true, -- moves the cursor over existing pairs instead of inserting duplicates
|
||||||
|
check_ts = true, -- whether to check treesitter for specific nodes
|
||||||
|
ts_config = {}
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
local autopairs = require 'nvim-autopairs'
|
||||||
|
autopairs.setup(opts)
|
||||||
|
|
||||||
|
-- customise the rule for [] brackets so it doesn't close when typing ANSI escape codes
|
||||||
|
local rule = autopairs.get_rule '['
|
||||||
|
if rule then
|
||||||
|
rule:with_pair(function(opt)
|
||||||
|
local ei = math.max(1, opt.col - 1) -- get the end-index
|
||||||
|
local prev_oct = opt.line:sub(math.max(1, opt.col - 4), ei) -- get the range of an octal escape code
|
||||||
|
local prev_hex = opt.line:sub(math.max(1, opt.col - 4), ei) -- get the range of a hexadecimal escape code
|
||||||
|
local prev_cha = opt.line:sub(math.max(1, opt.col - 2), ei) -- get the range of a character escape code
|
||||||
|
|
||||||
|
-- check whether we can't match any of the patterns,
|
||||||
|
-- if so return true, otherwise return false (whether to insert a pair)
|
||||||
|
return (prev_oct ~= [[\033]] and prev_hex ~= [[\x1b]] and prev_cha ~= [[\e]])
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
vim.notify('could not add a rule for not auto-closing [ when typing an ANSI escape code',
|
||||||
|
vim.log.levels.WARN)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
} }
|
||||||
29
.config/nvim/lua/plugin/bufferline.lua
Normal file
29
.config/nvim/lua/plugin/bufferline.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
---@type LazySpec
|
||||||
|
return { {
|
||||||
|
'akinsho/bufferline.nvim', -- shows the opened buffers
|
||||||
|
event = 'VeryLazy',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons', },
|
||||||
|
---@type bufferline.UserConfig
|
||||||
|
opts = {
|
||||||
|
options = {
|
||||||
|
mode = 'buffers',
|
||||||
|
separator_style = '',
|
||||||
|
sort_by = 'directory',
|
||||||
|
diagnostics = 'nvim_lsp',
|
||||||
|
diagnostics_indicator = function(c, _, _, _)
|
||||||
|
return '(' .. c .. ')'
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require('bufferline').setup(opts)
|
||||||
|
|
||||||
|
Map('n', '<tab>', '<cmd>BufferLineCycleNext<cr>', { desc = 'switch to the next tab' })
|
||||||
|
Map('n', '<s-tab>', '<cmd>BufferLineCyclePrev<cr>', { desc = 'switch to the previous tab' })
|
||||||
|
|
||||||
|
Map('n', '<leader>wch', '<cmd>BufferLineCloseLeft<cr>', { desc = 'close the tabs on the left' })
|
||||||
|
Map('n', '<leader>wcl', '<cmd>BufferLineCloseRight<cr>', { desc = 'close the tabs on the right' })
|
||||||
|
Map('n', '<leader>wcw', '<cmd>BufferLineCloseOthers<cr>',
|
||||||
|
{ desc = 'close all tabs except the current one' })
|
||||||
|
end,
|
||||||
|
} }
|
||||||
54
.config/nvim/lua/plugin/gitsigns.lua
Normal file
54
.config/nvim/lua/plugin/gitsigns.lua
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
---@type LazySpec
|
||||||
|
return { {
|
||||||
|
'lewis6991/gitsigns.nvim', -- adds git signs to the signcolumn
|
||||||
|
event = 'VeryLazy',
|
||||||
|
opts = {
|
||||||
|
signs_staged_enable = true, -- whether staged statuses are enabled
|
||||||
|
signcolumn = true, -- the signs enable/disable based on the signcolumn state
|
||||||
|
current_line_blame = true, -- show the blame of the current line
|
||||||
|
current_line_blame_opts = {
|
||||||
|
delay = 50, -- delay in MS before blame is shown
|
||||||
|
ignore_whitespace = true, -- whether to ignore whitespace
|
||||||
|
use_focus = true, -- whether to only enable when the buffer is in focus
|
||||||
|
},
|
||||||
|
signs = { -- signs when working
|
||||||
|
add = { text = '+' },
|
||||||
|
change = { text = '~' },
|
||||||
|
delete = { text = '_' },
|
||||||
|
topdelete = { text = '‾' },
|
||||||
|
changedelete = { text = '~' },
|
||||||
|
untracked = { text = '┆' },
|
||||||
|
},
|
||||||
|
signs_staged = { -- signs when staged
|
||||||
|
add = { text = 'A' },
|
||||||
|
change = { text = 'M' },
|
||||||
|
delete = { text = 'D' },
|
||||||
|
topdelete = { text = 'D' },
|
||||||
|
changedelete = { text = 'M' },
|
||||||
|
untracked = { text = 'U' },
|
||||||
|
},
|
||||||
|
attach_to_untracked = true, -- shows untracked files' signcolumn
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require('gitsigns').setup(opts)
|
||||||
|
|
||||||
|
local palette = _G.userdat.palette
|
||||||
|
local bg = vim.api.nvim_get_hl(0, { name = 'SignColumn' }).bg
|
||||||
|
for n, fg in pairs {
|
||||||
|
GitSignsAdd = palette.bright_green,
|
||||||
|
GitSignsChange = palette.bright_orange,
|
||||||
|
GitSignsDelete = palette.bright_red,
|
||||||
|
GitSignsTopdelete = palette.bright_red,
|
||||||
|
GitSignsChangedelete = palette.bright_orange,
|
||||||
|
GitSignsUntracked = palette.bright_aqua,
|
||||||
|
GitSignsStagedAdd = palette.neutral_green,
|
||||||
|
GitSignsStagedChange = palette.neutral_orange,
|
||||||
|
GitSignsStagedDelete = palette.neutral_red,
|
||||||
|
GitSignsStagedTopDelete = palette.neutral_red,
|
||||||
|
GitSignsStagedChangedelete = palette.neutral_orange,
|
||||||
|
GitSignsStagedUntracked = palette.neutral_aqua,
|
||||||
|
} do
|
||||||
|
vim.api.nvim_set_hl(0, n, { fg = fg, bg = bg })
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
} }
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
---@module 'lazy'
|
|
||||||
---@type LazySpec
|
---@type LazySpec
|
||||||
return { {
|
return { {
|
||||||
'ellisonleao/gruvbox.nvim',
|
'ellisonleao/gruvbox.nvim',
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
dependencies = { 'johnfrankmorgan/whitespace.nvim' },
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
---@module 'gruvbox'
|
|
||||||
---@type GruvboxConfig
|
---@type GruvboxConfig
|
||||||
opts = {
|
opts = {
|
||||||
styles = {
|
styles = {
|
||||||
|
|||||||
21
.config/nvim/lua/plugin/lf-nvim.lua
Normal file
21
.config/nvim/lua/plugin/lf-nvim.lua
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---@module 'lazy'
|
||||||
|
---@type LazySpec
|
||||||
|
return { {
|
||||||
|
'lmburns/lf.nvim',
|
||||||
|
lazy = false,
|
||||||
|
dependencies = { 'akinsho/toggleterm.nvim' },
|
||||||
|
---@module 'lf'
|
||||||
|
---@type Lf.Config
|
||||||
|
opts = {
|
||||||
|
direction = 'float',
|
||||||
|
border = 'rounded',
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
vim.g.lf_netrw = 1
|
||||||
|
|
||||||
|
local lf = require('lf')
|
||||||
|
lf.setup(opts)
|
||||||
|
|
||||||
|
Map({ 'n' }, '<leader>o', lf.start, { desc = 'Shows the LF window' })
|
||||||
|
end
|
||||||
|
} }
|
||||||
@@ -1,150 +1,71 @@
|
|||||||
-- Clone 'mini.nvim' manually in a way that it gets managed by 'mini.deps'
|
|
||||||
local path_package = vim.fn.stdpath('data') .. '/site/'
|
|
||||||
local mini_path = path_package .. 'pack/deps/start/mini.nvim'
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(mini_path) then
|
|
||||||
vim.cmd('echo "Installing [`mini.nvim`](../doc/mini-nvim.qmd#mini.nvim)" | redraw')
|
|
||||||
local clone_cmd = {
|
|
||||||
'git', 'clone', '--filter=blob:none',
|
|
||||||
'https://github.com/nvim-mini/mini.nvim', mini_path
|
|
||||||
}
|
|
||||||
vim.fn.system(clone_cmd)
|
|
||||||
vim.cmd('packadd mini.nvim | helptags ALL')
|
|
||||||
vim.cmd('echo "Installed [`mini.nvim`](../doc/mini-nvim.qmd#mini.nvim)" | redraw')
|
|
||||||
end
|
|
||||||
require('mini.deps').setup({ path = { package = path_package } })
|
|
||||||
|
|
||||||
require('mini.ai').setup() -- enhances the use of a/i textobjects
|
|
||||||
require('mini.align').setup() -- utility to align text in various ways
|
|
||||||
require('mini.comment').setup() -- for toggling comments inline
|
|
||||||
require('mini.move').setup() -- moving lines
|
|
||||||
require('mini.operators').setup() -- duplicating lines and evaluating equations inline
|
|
||||||
require('mini.pairs').setup() -- automatic closing pairs
|
|
||||||
require('mini.surround').setup() -- surround stuff
|
|
||||||
require('mini.clue').setup({ -- shows available keybinds when performing keybind actions
|
|
||||||
window = { delay = 50 },
|
|
||||||
triggers = {
|
|
||||||
-- Leader triggers
|
|
||||||
{ mode = 'n', keys = '<Leader>' },
|
|
||||||
{ mode = 'x', keys = '<Leader>' },
|
|
||||||
|
|
||||||
-- Built-in completion
|
|
||||||
{ mode = 'i', keys = '<C-x>' },
|
|
||||||
|
|
||||||
-- `g` key
|
|
||||||
{ mode = 'n', keys = 'g' },
|
|
||||||
{ mode = 'x', keys = 'g' },
|
|
||||||
|
|
||||||
-- Marks
|
|
||||||
{ mode = 'n', keys = "'" },
|
|
||||||
{ mode = 'n', keys = '`' },
|
|
||||||
{ mode = 'x', keys = "'" },
|
|
||||||
{ mode = 'x', keys = '`' },
|
|
||||||
|
|
||||||
-- Registers
|
|
||||||
{ mode = 'n', keys = '"' },
|
|
||||||
{ mode = 'x', keys = '"' },
|
|
||||||
{ mode = 'i', keys = '<C-r>' },
|
|
||||||
{ mode = 'c', keys = '<C-r>' },
|
|
||||||
|
|
||||||
-- Window commands
|
|
||||||
{ mode = 'n', keys = '<C-w>' },
|
|
||||||
|
|
||||||
-- `z` key
|
|
||||||
{ mode = 'n', keys = 'z' },
|
|
||||||
{ mode = 'x', keys = 'z' },
|
|
||||||
},
|
|
||||||
|
|
||||||
clues = {
|
|
||||||
-- Enhance this by adding descriptions for <Leader> mapping groups
|
|
||||||
require('mini.clue').gen_clues.builtin_completion(),
|
|
||||||
require('mini.clue').gen_clues.g(),
|
|
||||||
require('mini.clue').gen_clues.marks(),
|
|
||||||
require('mini.clue').gen_clues.registers(),
|
|
||||||
require('mini.clue').gen_clues.windows(),
|
|
||||||
require('mini.clue').gen_clues.z(),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
require('mini.diff').setup({ -- shows git diffs in the file
|
|
||||||
view = {
|
|
||||||
style = 'sign',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
require('mini.files').setup() -- file browser
|
|
||||||
Map('n', '<leader>o', MiniFiles.open, { desc = "Open mini file browser" })
|
|
||||||
require('mini.jump').setup() -- extends f,F,t,T to work across multiple lines
|
|
||||||
require('mini.cursorword').setup() -- highlight words beneath the cursor
|
|
||||||
require('mini.icons').setup()
|
|
||||||
require('mini.indentscope').setup({
|
|
||||||
draw = {
|
|
||||||
delay = 50, -- delay in MS before writing the indicator
|
|
||||||
animation = require('mini.indentscope').gen_animation.none(),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
MiniDeps.later(function()
|
|
||||||
vim.api.nvim_set_hl(0, 'MiniIndentscopeSymbol', { link = 'Whitespace' })
|
|
||||||
end)
|
|
||||||
-- TODO: show history
|
|
||||||
require('mini.notify').setup() -- has more noticeable / utilitarian / aesthetically pleasing notifications
|
|
||||||
|
|
||||||
-- Custom `^V` and `^S` symbols to make this file appropriate for copy-paste
|
|
||||||
-- (otherwise those symbols are not displayed).
|
|
||||||
local CTRL_S = vim.api.nvim_replace_termcodes('<C-S>', true, true, true)
|
|
||||||
local CTRL_V = vim.api.nvim_replace_termcodes('<C-V>', true, true, true)
|
|
||||||
local modes = setmetatable({
|
|
||||||
['n'] = { long = 'NORMAL', short = 'N', hl = 'MiniStatuslineModeNormal' },
|
|
||||||
['v'] = { long = 'VISUAL', short = 'V', hl = 'MiniStatuslineModeVisual' },
|
|
||||||
['V'] = { long = 'V-LINE', short = 'V-L', hl = 'MiniStatuslineModeVisual' },
|
|
||||||
[CTRL_V] = { long = 'V-BLOCK', short = 'V-B', hl = 'MiniStatuslineModeVisual' },
|
|
||||||
['s'] = { long = 'SELECT', short = 'S', hl = 'MiniStatuslineModeVisual' },
|
|
||||||
['S'] = { long = 'S-LINE', short = 'S-L', hl = 'MiniStatuslineModeVisual' },
|
|
||||||
[CTRL_S] = { long = 'S-BLOCK', short = 'S-B', hl = 'MiniStatuslineModeVisual' },
|
|
||||||
['i'] = { long = 'INSERT', short = 'I', hl = 'MiniStatuslineModeInsert' },
|
|
||||||
['R'] = { long = 'REPLACE', short = 'R', hl = 'MiniStatuslineModeReplace' },
|
|
||||||
['c'] = { long = 'COMMAND', short = 'C', hl = 'MiniStatuslineModeCommand' },
|
|
||||||
['r'] = { long = 'PROMPT', short = 'P', hl = 'MiniStatuslineModeOther' },
|
|
||||||
['!'] = { long = 'SHELL', short = 'Sh', hl = 'MiniStatuslineModeOther' },
|
|
||||||
['t'] = { long = 'TERMINAL', short = 'T', hl = 'MiniStatuslineModeOther' },
|
|
||||||
}, {
|
|
||||||
-- By default return 'Unknown' but this shouldn't be needed
|
|
||||||
__index = function()
|
|
||||||
return { long = 'Unknown', short = 'U', hl = '%#MiniStatuslineModeOther#' }
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
require('mini.statusline').setup({
|
|
||||||
content = {
|
|
||||||
active = function()
|
|
||||||
local mode_info = modes[vim.fn.mode()]
|
|
||||||
local mode = MiniStatusline.is_truncated(120) and mode_info.short or mode_info.long
|
|
||||||
local mode_hl = mode_info.hl
|
|
||||||
local git = MiniStatusline.section_git({ trunc_width = 40 })
|
|
||||||
local diff = MiniStatusline.section_diff({ trunc_width = 75 })
|
|
||||||
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
|
|
||||||
local lsp = MiniStatusline.section_lsp({ trunc_width = 75 })
|
|
||||||
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
|
|
||||||
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
|
|
||||||
|
|
||||||
return MiniStatusline.combine_groups({
|
|
||||||
{ hl = mode_hl, strings = { mode } },
|
|
||||||
{ hl = 'MiniStatuslineDevinfo', strings = { git, diff, diagnostics, lsp } },
|
|
||||||
'%<', -- general truncation point
|
|
||||||
{ hl = 'MiniStatuslineFilename', strings = { filename } },
|
|
||||||
'%=', -- align right
|
|
||||||
{ hl = 'MiniStatuslineFileInfo', strings = { fileinfo } },
|
|
||||||
{ hl = mode_hl, strings = { '%3l:%-3c' } }
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
inactive = function()
|
|
||||||
return MiniStatusline.combine_groups({
|
|
||||||
{},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
use_icons = true,
|
|
||||||
set_vim_settings = true,
|
|
||||||
})
|
|
||||||
require('mini.tabline').setup() -- shows buffers that are open
|
|
||||||
require('mini.trailspace').setup() -- trailing space indication and removal.
|
|
||||||
|
|
||||||
---@module 'lazy'
|
|
||||||
---@type LazySpec
|
---@type LazySpec
|
||||||
return {}
|
return { {
|
||||||
|
'echasnovski/mini.nvim',
|
||||||
|
config = function()
|
||||||
|
require('mini.ai').setup()
|
||||||
|
require('mini.surround').setup()
|
||||||
|
require('mini.operators').setup()
|
||||||
|
|
||||||
|
require('mini.indentscope').setup({
|
||||||
|
symbol = '¦',
|
||||||
|
draw = {
|
||||||
|
delay = 50, -- delay in MS before writing the indicator
|
||||||
|
animation = require('mini.indentscope').gen_animation.none(),
|
||||||
|
},
|
||||||
|
options = {
|
||||||
|
try_as_border = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.api.nvim_set_hl(0, 'MiniIndentscopeSymbol', { fg = _G.userdat.palette.dark2, bg = nil })
|
||||||
|
|
||||||
|
require('mini.move').setup({
|
||||||
|
mappings = {
|
||||||
|
-- move visual selection in visual mode
|
||||||
|
left = '<m-h>',
|
||||||
|
down = '<m-j>',
|
||||||
|
up = '<m-k>',
|
||||||
|
right = '<m-l>',
|
||||||
|
|
||||||
|
-- move current line in normal mode
|
||||||
|
line_left = '<m-h>',
|
||||||
|
line_down = '<m-j>',
|
||||||
|
line_up = '<m-k>',
|
||||||
|
line_right = '<m-l>',
|
||||||
|
},
|
||||||
|
options = {
|
||||||
|
reindent_linewise = true, -- automatically re-indent selection during line vertical move
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
require('mini.statusline').setup({
|
||||||
|
content = {
|
||||||
|
active = function()
|
||||||
|
local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 })
|
||||||
|
local git = MiniStatusline.section_git({ trunc_width = 40 })
|
||||||
|
local diff = MiniStatusline.section_diff({ trunc_width = 75 })
|
||||||
|
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
|
||||||
|
local lsp = MiniStatusline.section_lsp({ trunc_width = 75 })
|
||||||
|
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
|
||||||
|
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
|
||||||
|
|
||||||
|
return MiniStatusline.combine_groups({
|
||||||
|
{ hl = mode_hl, strings = { mode } },
|
||||||
|
{ hl = 'MiniStatuslineDevinfo', strings = { git, diff, diagnostics, lsp } },
|
||||||
|
'%<', -- general truncation point
|
||||||
|
{ hl = 'MiniStatuslineFilename', strings = { filename } },
|
||||||
|
'%=', -- align right
|
||||||
|
{ hl = 'MiniStatuslineFileInfo', strings = { fileinfo } },
|
||||||
|
{ hl = mode_hl, strings = { '%3l:%-3c' } }
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
inactive = function()
|
||||||
|
return MiniStatusline.combine_groups({
|
||||||
|
{},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
use_icons = true,
|
||||||
|
set_vim_settings = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
} }
|
||||||
|
|||||||
13
.config/nvim/lua/plugin/render-markdown.lua
Normal file
13
.config/nvim/lua/plugin/render-markdown.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---@module 'lazy'
|
||||||
|
---@type LazySpec
|
||||||
|
return { {
|
||||||
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
|
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' },
|
||||||
|
---@module 'render-markdown'
|
||||||
|
---@type render.md.UserConfig
|
||||||
|
opts = {
|
||||||
|
completions = {
|
||||||
|
blink = { enabled = true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} }
|
||||||
83
.config/nvim/lua/plugin/snacks.lua
Normal file
83
.config/nvim/lua/plugin/snacks.lua
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
---@module 'snacks'
|
||||||
|
---@module 'lazy'
|
||||||
|
---@type LazySpec
|
||||||
|
return { { -- provides quality of life features for neovim
|
||||||
|
'folke/snacks.nvim',
|
||||||
|
priority = 1000,
|
||||||
|
lazy = false,
|
||||||
|
---@type snacks.Config
|
||||||
|
opts = {
|
||||||
|
animate = { enabled = false }, -- efficient animations including over 45 easing functions (library)
|
||||||
|
bigfile = { enabled = false }, -- deal with big files
|
||||||
|
bufdelete = { enabled = false }, -- delete buffers without disrupting window layout
|
||||||
|
dashboard = { enabled = false }, -- beautiful declarative dashboards
|
||||||
|
debug = { enabled = false }, -- pretty inspect & backtraces for debugging
|
||||||
|
dim = { enabled = false }, -- focus on the active scope by dimming the rest
|
||||||
|
explorer = { enabled = false }, -- a file explorer (picker in disguise)
|
||||||
|
git = { enabled = false }, -- git utilities
|
||||||
|
gitbrowse = { enabled = false }, -- open the current file, branch, commit, or repo in a browser (e.g. github, gitlab, etc.)
|
||||||
|
image = { enabled = true }, -- image viewer using kitty graphics protocol
|
||||||
|
indent = { enabled = false }, -- indent guides and scopes
|
||||||
|
input = { enabled = false }, -- better vim.ui.input
|
||||||
|
layout = { enabled = false }, -- window layouts
|
||||||
|
lazygit = { enabled = false }, -- open lazygit in a float, auto-configure colour scheme and integration with neovim
|
||||||
|
notifier = { enabled = true }, -- pretty vim.notify
|
||||||
|
notify = { enabled = true }, -- utility functions to work with neovim's vim.notify
|
||||||
|
picker = { enabled = false }, -- picker for selecting items
|
||||||
|
profiler = { enabled = false }, -- neovim lua profiler
|
||||||
|
quickfile = { enabled = true }, -- when doing nvim somefile.txt, it will render the file as quickly as possible, before loading your plugins.
|
||||||
|
rename = { enabled = true }, -- LSP-integrated file renaming with support for plugins like and.
|
||||||
|
scope = { enabled = false }, -- scope detection, text objects and jumping based on treesitter or indent
|
||||||
|
scratch = { enabled = false }, -- scratch buffers with a persistent file
|
||||||
|
scroll = { enabled = false }, -- smooth scrolling
|
||||||
|
statuscolumn = { enabled = false }, -- pretty status column
|
||||||
|
terminal = { enabled = false }, -- create and toggle floating/split terminals
|
||||||
|
toggle = { enabled = false }, -- toggle keymaps integrated with which-key icons / colours
|
||||||
|
util = { enabled = false }, -- utility functions for Snacks (library)
|
||||||
|
win = { enabled = false }, -- create and manage floating windows or splits
|
||||||
|
words = { enabled = true }, -- auto-show LSP references and quickly navigate between them
|
||||||
|
zen = { enabled = false }, -- zen mode; distraction-free coding
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ '*', function() Snacks.words.jump(-vim.v.count1) end, desc = 'next reference', nowait = true },
|
||||||
|
{ '#', function() Snacks.words.jump(vim.v.count1) end, desc = 'prev reference', nowait = true },
|
||||||
|
{ '<c-w>', function() Snacks.bufdelete() end, desc = 'delete buffer', nowait = true },
|
||||||
|
{ '<leader>N', function() Snacks.notifier.show_history() end, desc = 'show notification history' },
|
||||||
|
{ '<leader>U', function() Snacks.picker.undo() end, desc = 'undo tree' },
|
||||||
|
{ '<leader>gB', function() Snacks.git.blame_line() end, desc = 'git blame line' },
|
||||||
|
{ '<leader>gb', function() Snacks.picker.git_branches() end, desc = 'git branches' },
|
||||||
|
{ '<leader>@', function() Snacks.picker.lsp_symbols() end, desc = 'workspace symbols' },
|
||||||
|
{ '<leader>ld', function() Snacks.picker.lsp_definitions() end, desc = 'definition' },
|
||||||
|
{ '<leader>lr', function() Snacks.picker.lsp_references() end, desc = 'references' },
|
||||||
|
{ '<leader>li', function() Snacks.picker.lsp_implementations() end, desc = 'implementation' },
|
||||||
|
{ '<leader>lt', function() Snacks.picker.lsp_type_definitions() end, desc = 'type definition' },
|
||||||
|
{ '<leader>?', function() Snacks.picker.keymaps() end, desc = 'keymaps' },
|
||||||
|
{ 'gd', function() Snacks.picker.lsp_definitions() end, desc = 'definition' },
|
||||||
|
{ 'gr', function() Snacks.picker.lsp_references() end, desc = 'references' },
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
Autocmd("User", {
|
||||||
|
pattern = 'VeryLazy',
|
||||||
|
callback = function()
|
||||||
|
local virt_lines = false;
|
||||||
|
Snacks.toggle.new({
|
||||||
|
id = "virtual_lines",
|
||||||
|
name = "diagnostics virtual lines",
|
||||||
|
get = function() return virt_lines end,
|
||||||
|
set = function(v)
|
||||||
|
virt_lines = v
|
||||||
|
vim.diagnostic.config({ virtual_lines = v })
|
||||||
|
end,
|
||||||
|
}):map('<leader>tl')
|
||||||
|
|
||||||
|
Snacks.toggle.option('wrap', { name = 'word wrap' }):map('<leader>tw')
|
||||||
|
Snacks.toggle.option('spell', { name = 'spelling' }):map('<leader>ts')
|
||||||
|
Snacks.toggle.inlay_hints():map('<leader>th')
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
---@param opts snacks.Config
|
||||||
|
config = function(_, opts)
|
||||||
|
require('snacks').setup(opts)
|
||||||
|
end
|
||||||
|
} }
|
||||||
@@ -7,7 +7,6 @@ return { {
|
|||||||
dependencies = {
|
dependencies = {
|
||||||
{ 'nvim-lua/plenary.nvim' }, -- contains lua functions for neovim, apparently
|
{ 'nvim-lua/plenary.nvim' }, -- contains lua functions for neovim, apparently
|
||||||
{ 'nvim-telescope/telescope-ui-select.nvim' }, -- allows neovim core stuff to enter the telescope picker
|
{ 'nvim-telescope/telescope-ui-select.nvim' }, -- allows neovim core stuff to enter the telescope picker
|
||||||
{ 'nvim-tree/nvim-web-devicons' },
|
|
||||||
{
|
{
|
||||||
'nvim-telescope/telescope-fzf-native.nvim',
|
'nvim-telescope/telescope-fzf-native.nvim',
|
||||||
build = 'make', -- used for when the plugin is installed/updated
|
build = 'make', -- used for when the plugin is installed/updated
|
||||||
|
|||||||
51
.config/nvim/lua/plugin/which-key.lua
Normal file
51
.config/nvim/lua/plugin/which-key.lua
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---@type LazySpec
|
||||||
|
return { { -- displays pending keybinds, helps with remembering keybinds
|
||||||
|
'folke/which-key.nvim',
|
||||||
|
event = 'VeryLazy',
|
||||||
|
---@module 'which-key'
|
||||||
|
---@type wk.Opts
|
||||||
|
opts = {
|
||||||
|
delay = 0, -- delay in MS between pressing a key and opening which-key
|
||||||
|
icons = {
|
||||||
|
mappings = true,
|
||||||
|
keys = {
|
||||||
|
Up = '',
|
||||||
|
Down = '',
|
||||||
|
Left = '',
|
||||||
|
Right = '',
|
||||||
|
C = '',
|
||||||
|
M = '',
|
||||||
|
D = '',
|
||||||
|
S = '',
|
||||||
|
CR = '',
|
||||||
|
Esc = '',
|
||||||
|
ScrollWheelUp = '',
|
||||||
|
ScrollWheelDown = '',
|
||||||
|
NL = '',
|
||||||
|
BS = '',
|
||||||
|
Space = '',
|
||||||
|
Tab = '',
|
||||||
|
F1 = '<F1>',
|
||||||
|
F2 = '<F2>',
|
||||||
|
F3 = '<F3>',
|
||||||
|
F4 = '<F4>',
|
||||||
|
F5 = '<F5>',
|
||||||
|
F6 = '<F6>',
|
||||||
|
F7 = '<F7>',
|
||||||
|
F8 = '<F8>',
|
||||||
|
F9 = '<F9>',
|
||||||
|
F10 = '<F10>',
|
||||||
|
F11 = '<F11>',
|
||||||
|
F12 = '<F12>',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spec = { -- document the key chains we know about
|
||||||
|
{ '<leader>g', group = 'git' },
|
||||||
|
{ '<leader>s', group = 'search' },
|
||||||
|
{ '<leader>t', group = 'toggle' },
|
||||||
|
{ '<leader>w', group = 'windows' },
|
||||||
|
{ '<leader>l', group = 'lsp' },
|
||||||
|
{ '<leader>wc', group = 'close' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} }
|
||||||
12
.config/rofi/qpurple.rasi
Normal file
12
.config/rofi/qpurple.rasi
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
@theme "/usr/share/rofi/themes/purple.rasi"
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
drun-display-format: "{icon} {name}";
|
||||||
|
modi: "window,run,drun";
|
||||||
|
show-icons: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 25;
|
||||||
|
padding: 0 5 0 0;
|
||||||
|
}
|
||||||
21
.config/spicetify/Themes/Onepunch/LICENSE
Normal file
21
.config/spicetify/Themes/Onepunch/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 okarin001
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
74
.config/spicetify/Themes/Onepunch/color.ini
Normal file
74
.config/spicetify/Themes/Onepunch/color.ini
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
[dark]
|
||||||
|
; onepunch dark mode
|
||||||
|
|
||||||
|
text = d5c4a1
|
||||||
|
subtext = b8bb26
|
||||||
|
extratext = fabd2f
|
||||||
|
main = 1d2021
|
||||||
|
main-elevated = 1d2021
|
||||||
|
highlight-elevated = 32302f
|
||||||
|
highlight = 32302f
|
||||||
|
sidebar = 1d2021
|
||||||
|
player = 1d2021
|
||||||
|
sec-player = 32302f
|
||||||
|
card = 32302f
|
||||||
|
sec-card = fb4934
|
||||||
|
shadow = 1d2021
|
||||||
|
selected-row = d3869b
|
||||||
|
button = 8ec07c
|
||||||
|
button-active = 8ec07c
|
||||||
|
button-disabled = 665c54
|
||||||
|
tab-active = fb4934
|
||||||
|
notification = fb4934
|
||||||
|
notification-error = cc2418
|
||||||
|
misc = 83a598
|
||||||
|
|
||||||
|
[light]
|
||||||
|
; onepunch light mode
|
||||||
|
|
||||||
|
text = 504945
|
||||||
|
subtext = 79740e
|
||||||
|
extratext = b57614
|
||||||
|
main = f9f5d7
|
||||||
|
main-elevated = f9f5d7
|
||||||
|
highlight-elevated = f2e5bc
|
||||||
|
highlight = f2e5bc
|
||||||
|
sidebar = f9f5d7
|
||||||
|
player = f9f5d7
|
||||||
|
sec-player = f2e5bc
|
||||||
|
card = f2e5bc
|
||||||
|
sec-card = 9d0006
|
||||||
|
shadow = f9f5d7
|
||||||
|
selected-row = b16286
|
||||||
|
button = 427b58
|
||||||
|
button-active = 427b58
|
||||||
|
button-disabled = bdae93
|
||||||
|
tab-active = 9d0006
|
||||||
|
notification = 9d0006
|
||||||
|
notification-error = cc2418
|
||||||
|
misc = 076678
|
||||||
|
|
||||||
|
[legacy]
|
||||||
|
; onepunch legacy colors
|
||||||
|
|
||||||
|
text = b8bb26
|
||||||
|
subtext = d5c4a1
|
||||||
|
extratext = fabd2f
|
||||||
|
main = 16191a
|
||||||
|
main-elevated = 16191a
|
||||||
|
highlight-elevated = 32302f
|
||||||
|
highlight = 32302f
|
||||||
|
sidebar = 16191a
|
||||||
|
player = 16191a
|
||||||
|
sec-player = 16191a
|
||||||
|
card = 32302f
|
||||||
|
sec-card = fb4934
|
||||||
|
shadow = 16191a
|
||||||
|
selected-row = d5c4a1
|
||||||
|
button = 8ec07c
|
||||||
|
button-active = 8ec07c
|
||||||
|
button-disabled = 665c54
|
||||||
|
tab-active = fb4934
|
||||||
|
notification = 32302f
|
||||||
|
notification-error = cc2418
|
||||||
|
misc = 83a598
|
||||||
625
.config/spicetify/Themes/Onepunch/user.css
Normal file
625
.config/spicetify/Themes/Onepunch/user.css
Normal file
@@ -0,0 +1,625 @@
|
|||||||
|
/* sidebar edits */
|
||||||
|
.main-navBar-navBarLinkActive,
|
||||||
|
.main-navBar-navBarLinkActive:focus,
|
||||||
|
.logo {
|
||||||
|
background-color: var(--spice-sec-card) !important;
|
||||||
|
color: var(--spice-main) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-likedSongsButton-likedSongsIcon,
|
||||||
|
.main-createPlaylistButton-createPlaylistIcon,
|
||||||
|
.main-yourEpisodesButton-yourEpisodesIcon {
|
||||||
|
background: var(--spice-text) !important;
|
||||||
|
border-radius: unset !important;
|
||||||
|
color: var(--spice-main) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-collectionLinkButton-collectionLinkButton {
|
||||||
|
color: var(--spice-main) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-collectionLinkButton-collectionLinkButton
|
||||||
|
.main-collectionLinkButton-collectionLinkText,
|
||||||
|
.main-createPlaylistButton-button,
|
||||||
|
.main-rootlist-rootlistItemLink,
|
||||||
|
.main-rootlist-rootlistItemLink:visited {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-rootlist-rootlistItemLinkActive,
|
||||||
|
.main-rootlist-rootlistItemLink:hover,
|
||||||
|
.main-rootlist-textWrapper:hover {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-collectionLinkButton-collectionLinkButton
|
||||||
|
.main-collectionLinkButton-selected
|
||||||
|
.main-collectionLinkButton-icon {
|
||||||
|
opacity: 0.7 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-rootlist-rootlistDividerGradient {
|
||||||
|
background: linear-gradient(180deg, var(--spice-main), transparent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-rootlist-rootlistDivider {
|
||||||
|
background-color: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* top queue */
|
||||||
|
.queue-tabBar-active {
|
||||||
|
background-color: var(--spice-card) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.queue-tabBar-headerItemLink {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* header colored backgrounds */
|
||||||
|
.main-home-homeHeader,
|
||||||
|
.x-441-entityHeader-overlay,
|
||||||
|
.main-actionBarBackground-background,
|
||||||
|
.main-entityHeader-overlay,
|
||||||
|
.main-entityHeader-backgroundColor,
|
||||||
|
.x-914-entityHeader-overlay,
|
||||||
|
.x-entityHeader-overlay,
|
||||||
|
.x-914-actionBarBackground-background,
|
||||||
|
.x-actionBarBackground-background {
|
||||||
|
background-color: unset !important;
|
||||||
|
background-image: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* play button in main page */
|
||||||
|
.main-playButton-PlayButton.main-playButton-primary {
|
||||||
|
color: var(--spice-main);
|
||||||
|
background-color: var(--spice-button);
|
||||||
|
}
|
||||||
|
|
||||||
|
.connect-title,
|
||||||
|
.connect-header {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Topbar visibility bug */
|
||||||
|
.main-topBar-topbarContent:not(.main-topBar-topbarContentFadeIn) > * {
|
||||||
|
opacity: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-topbarContent:not(.main-entityHeader-topbarContentFadeIn)
|
||||||
|
> * {
|
||||||
|
opacity: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-topBar-overlay,
|
||||||
|
.x-441-actionBarBackground-background {
|
||||||
|
background-color: var(--spice-main) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-shadow {
|
||||||
|
box-shadow: 0 0 4px 0 rgba(var(--spice-rgb-shadow), 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-playingIcon {
|
||||||
|
filter: hue-rotate(270deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
span.artist-artistVerifiedBadge-badge svg:nth-child(1) {
|
||||||
|
fill: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* details metadata */
|
||||||
|
.main-entityTitle-subtitle.main-entityTitle-gray,
|
||||||
|
.main-entityHeader-metaDataText {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-duration-container {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* artist page edits*/
|
||||||
|
|
||||||
|
.artist-artistOverview-artistOverviewContent {
|
||||||
|
box-shadow: 0 -2px 5px 0 rgba(var(--spice-rgb-shadow), 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-background.main-entityHeader-gradient {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-background.main-entityHeader-overlay:after {
|
||||||
|
background-image: linear-gradient(transparent, transparent),
|
||||||
|
linear-gradient(var(--spice-main), var(--spice-main));
|
||||||
|
}
|
||||||
|
|
||||||
|
.artist-artistPick-pickComment {
|
||||||
|
background: var(--spice-sec-player) !important;
|
||||||
|
border-radius: 25px !important;
|
||||||
|
border-bottom: solid 2px var(--spice-sec-player) !important;
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.artist-artistSavedTracks-imageContainer .artist-artistSavedTracks-heartIcon {
|
||||||
|
color: var(--spice-card);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* home screen edits */
|
||||||
|
|
||||||
|
.view-homeShortcutsGrid-name {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-shelf-title {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-homeShortcutsGrid-shortcut,
|
||||||
|
.view-homeShortcutsGrid-shortcut .view-homeShortcutsGrid-imageWrapper,
|
||||||
|
.main-cardImage-imageWrapper,
|
||||||
|
.main-cardImage-imagePlaceholder,
|
||||||
|
.main-cardImage-image {
|
||||||
|
border-radius: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-homeShortcutsGrid-shortcut .view-homeShortcutsGrid-image {
|
||||||
|
border-radius: 10px 0 0 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-cardImage-circular,
|
||||||
|
.main-entityHeader-circle {
|
||||||
|
border-radius: 50% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-image {
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* inside a page edits */
|
||||||
|
|
||||||
|
.main-trackList-trackListRow.main-trackList-active .main-trackList-rowMarker,
|
||||||
|
.main-trackList-trackListRow.main-trackList-active .main-trackList-rowTitle {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-rowTitle {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* friend activity */
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-artistAndTrackName a,
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-playbackContext a,
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-usernameAndTimestamp a {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-username a {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-avatar-avatar.main-avatar-withBadge:after {
|
||||||
|
background: var(--spice-extratext);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* setting page */
|
||||||
|
|
||||||
|
.x-settings-container {
|
||||||
|
margin: 16px 180px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-settings-title {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-dropDown-dropDown {
|
||||||
|
border: 0;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-dropDown-dropDown {
|
||||||
|
background-color: var(--spice-button-disabled) !important;
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-toggle-indicator {
|
||||||
|
background: var(--spice-button) !important;
|
||||||
|
box-shadow: 0 2px 4px 0 rgba(var(--spice-rgb-shadow), 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked ~ .x-toggle-indicatorWrapper .x-toggle-indicator {
|
||||||
|
background-color: var(--spice-button) !important;
|
||||||
|
box-shadow: 0 2px 4px 0 rgba(var(--spice-rgb-shadow), 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:hover:not([disabled]):not(:active) ~ .x-toggle-indicatorWrapper {
|
||||||
|
background-color: rgba(var(--spice-rgb-button-disabled), 0.7) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked ~ .x-toggle-indicatorWrapper {
|
||||||
|
background-color: rgba(var(--spice-rgb-button), 0.6) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked:hover:not([disabled]):not(:active) ~ .x-toggle-indicatorWrapper {
|
||||||
|
background-color: rgba(var(--spice-rgb-button), 0.4) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* queue, album, recent, playlist, page edits */
|
||||||
|
.queue-queue-container,
|
||||||
|
.queue-playHistory-container {
|
||||||
|
margin: 40px 60px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-actionBar-ActionBar,
|
||||||
|
.x-actionBar-ActionBar {
|
||||||
|
margin: 0 40px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.queue-queuePage-queuePage h2 {
|
||||||
|
color: var(--spice-extratext);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* podcast edits */
|
||||||
|
.x-hTMLDescription-HTMLDescription,
|
||||||
|
.x-expandableDescription-paragraph {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-seeMore-button,
|
||||||
|
.x-expandableDescription-button {
|
||||||
|
color: var(--spice-button) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-type-minuetBold {
|
||||||
|
color: var(--spice-extratext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityTitle-subtitle,
|
||||||
|
.main-entityTitle-subtitle.main-entityTitle-large,
|
||||||
|
.main-entityTitle-subtitle.main-entityTitle-bold {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* search page edits */
|
||||||
|
|
||||||
|
input {
|
||||||
|
background-color: unset !important;
|
||||||
|
border-bottom: solid 2px var(--spice-text) !important;
|
||||||
|
border-radius: 0 !important;
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-833-searchInput-searchInputSearchIcon {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-833-heroCategoryCard-heroTitle,
|
||||||
|
.x-833-categoryCard-title {
|
||||||
|
color: var(--spice-main) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* menu and dropdown menus including the user menu */
|
||||||
|
.main-type-mesto,
|
||||||
|
.x-533-dropDown-dropDown {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-userWidget-box {
|
||||||
|
background-color: var(--spice-card) !important;
|
||||||
|
border: unset !important;
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* card edits */
|
||||||
|
|
||||||
|
.main-card-card div:first-child {
|
||||||
|
color: var(--spice-extratext);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-card-card:hover,
|
||||||
|
.main-card-card[data-context-menu-open="true"] {
|
||||||
|
background-color: rgba(var(--spice-rgb-sec-card), 0.3) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-contextMenu-menu,
|
||||||
|
.main-card-card:focus-within,
|
||||||
|
.main-deletePlaylistDialog-container,
|
||||||
|
.main-aboutRecsModal-container {
|
||||||
|
background-color: var(--spice-card) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-deletePlaylistDialog-secondaryButton {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-button-primary {
|
||||||
|
background-color: var(--spice-sec-card) !important;
|
||||||
|
color: var(--spice-card) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-deletePlaylistDialog-title {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-keyboardShortcutsHelpModal-container,
|
||||||
|
.main-trackCreditsModal-container {
|
||||||
|
background-color: var(--spice-card) !important;
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-keyboardShortcutsHelpModal-header,
|
||||||
|
.main-trackCreditsModal-header {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-type-canon {
|
||||||
|
color: var(--spice-extratext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* profile page edits */
|
||||||
|
.main-cardImage-imageWrapper {
|
||||||
|
background-color: var(--spice-card) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* now playing bar edits */
|
||||||
|
|
||||||
|
.Root__now-playing-bar {
|
||||||
|
background-color: var(--spice-sec-player) !important;
|
||||||
|
box-shadow: 0 -2px 5px 0 rgba(var(--spice-rgb-shadow), 0.5) !important;
|
||||||
|
border-radius: 15px 15px 0 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-nowPlayingBar-container {
|
||||||
|
background-color: var(--spice-sec-player) !important;
|
||||||
|
border-radius: 15px 15px 0 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-connectBar-connectBar.main-connectBar-FullscreenModeButtonEnabled.main-type-mesto {
|
||||||
|
color: var(--spice-sidebar) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar {
|
||||||
|
--progress-bar-height: 5px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar__bg {
|
||||||
|
background-color: rgba(var(--spice-rgb-button-disabled), 0.7) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar--is-active .progress-bar__fg,
|
||||||
|
:not(.no-focus-outline) .progress-bar:focus-within .progress-bar__fg {
|
||||||
|
background-color: var(--fg-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-shuffleButton-button.main-shuffleButton-on,
|
||||||
|
.main-repeatButton-button.main-repeatButton-on {
|
||||||
|
color: var(--spice-button) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover-art--with-auto-height {
|
||||||
|
border: solid var(--spice-sec-player) 5px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover-art,
|
||||||
|
.cover-art .cover-art-image {
|
||||||
|
border-radius: 10px !important;
|
||||||
|
background-color: var(--spice-sec-player) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-nowPlayingBar-extraControls {
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-addButton-button,
|
||||||
|
.main-nowPlayingBar-extraControls button {
|
||||||
|
color: rgba(var(--spice-rgb-selected-row), 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replace icons */
|
||||||
|
.main-navBar-mainNav a[href="/"] path {
|
||||||
|
d: path(
|
||||||
|
"M4.5 14.0L13.2 6.9Q13.4 6.8 13.5 6.8Q13.7 6.8 13.9 6.9L13.9 6.9L22.5 14.0L22.5 21.7Q22.5 22.1 22.3 22.3Q22.1 22.5 21.8 22.5L21.8 22.5L16.5 22.5Q16.2 22.5 16.0 22.2Q15.8 22.0 15.8 21.7L15.8 21.7L15.8 17.2Q15.8 17.0 15.7 16.9Q15.6 16.7 15.4 16.6Q15.2 16.5 15.0 16.5L15.0 16.5L12.0 16.5Q11.7 16.5 11.5 16.7Q11.3 16.9 11.3 17.2L11.3 17.2L11.3 21.7Q11.3 22.0 11.1 22.2Q10.9 22.5 10.5 22.5L10.5 22.5L5.3 22.5Q5.0 22.5 4.8 22.3Q4.5 22.1 4.5 21.7L4.5 21.7L4.5 14.0ZM22.9 8.6L26.9 11.7Q27.0 11.9 27.0 12.2L27.0 12.2Q27.0 12.4 26.9 12.5L26.9 12.5L25.7 14.0Q25.5 14.2 25.3 14.2L25.3 14.2Q25.1 14.2 24.9 14.1L24.9 14.1L13.9 5.0Q13.7 4.9 13.6 4.9Q13.4 4.9 13.2 5.0L13.2 5.0L2.2 14.1Q2.0 14.2 1.8 14.2L1.8 14.2Q1.5 14.2 1.4 14.0L1.4 14.0L0.2 12.5Q0.0 12.4 0.0 12.2L0.0 12.2Q0.0 11.9 0.2 11.7L0.2 11.7L12.1 2.0Q12.8 1.5 13.5 1.5Q14.3 1.5 15.0 2.0L15.0 2.0L19.2 5.5L19.2 2.0Q19.2 1.8 19.3 1.6Q19.5 1.5 19.7 1.5L19.7 1.5L22.4 1.5Q22.6 1.5 22.8 1.6Q22.9 1.8 22.9 2.0L22.9 2.0L22.9 8.6Z"
|
||||||
|
) !important;
|
||||||
|
transform: scaleX(0.9);
|
||||||
|
}
|
||||||
|
.main-navBar-mainNav a[href="/search"] path {
|
||||||
|
d: path(
|
||||||
|
"M19.0 16.1L23.7 20.7Q24 21.1 24 21.5Q24 22.0 23.7 22.3L23.7 22.3L22.4 23.6Q22.0 24.0 21.6 24.0Q21.1 24.0 20.8 23.6L20.8 23.6L16.1 19.0Q15.8 18.6 15.8 18.2L15.8 18.2L15.8 17.4Q13.1 19.5 9.8 19.5L9.8 19.5Q5.7 19.5 2.9 16.6Q0 13.8 0 9.7Q0 5.7 2.9 2.8Q5.7-0.0 9.8-0.0Q13.8-0.0 16.6 2.8Q19.5 5.7 19.5 9.7L19.5 9.7Q19.5 13.1 17.4 15.7L17.4 15.7L18.2 15.7Q18.7 15.7 19.0 16.1L19.0 16.1ZM5.5 13.9L5.5 13.9Q7.3 15.7 9.7 15.7Q12.2 15.7 14.0 14.0Q15.8 12.2 15.8 9.7Q15.8 7.2 14.0 5.5Q12.2 3.7 9.8 3.7Q7.3 3.7 5.5 5.5Q3.8 7.2 3.8 9.7Q3.8 12.2 5.5 13.9Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-navBar-mainNav a[href="/collection"] path,
|
||||||
|
.main-yourLibraryX-header .main-yourLibraryX-collapseButtonWrapper path {
|
||||||
|
d: path(
|
||||||
|
"M23.3 4.9L23.3 4.9L23.3 6.0L0.8 6.0L0.8 4.9Q0.8 4.4 1.1 4.1Q1.5 3.7 1.9 3.7L1.9 3.7L22.2 3.7Q22.7 3.7 23.0 4.1Q23.3 4.4 23.3 4.9ZM22.5 1.1L22.5 1.1L22.5 2.2L1.5 2.2L1.5 1.1Q1.5 0.6 1.9 0.3Q2.2-0.0 2.7-0.0L2.7-0.0L21.4-0.0Q21.9-0.0 22.2 0.3Q22.5 0.6 22.5 1.1ZM11.1 15.5L11.1 15.5Q11.5 15.3 12.1 15.3Q12.6 15.3 13.0 15.6Q13.5 15.9 13.5 16.3Q13.5 16.7 13.0 17.0Q12.6 17.3 12.0 17.3Q11.5 17.3 11.1 17.0Q10.6 16.7 10.6 16.3Q10.6 15.9 11.1 15.5ZM1.5 7.5L22.5 7.5Q23.2 7.5 23.6 7.9Q24.0 8.4 24.0 9.0L24.0 9.0Q24.0 9.0 24.0 9.1L24.0 9.1L22.8 22.6Q22.8 23.2 22.3 23.6Q21.9 24.0 21.3 24.0L21.3 24.0L2.8 24.0Q2.2 24.0 1.8 23.6Q1.3 23.2 1.3 22.6L1.3 22.6L0.0 9.1Q0.0 9.0 0.0 9.0L0.0 9.0Q0.0 8.4 0.5 7.9Q0.9 7.5 1.5 7.5L1.5 7.5ZM12.0 22.1L12.0 22.1Q13.7 22.1 15.2 21.7Q16.7 21.2 17.8 20.4Q18.9 19.7 19.6 18.6Q20.3 17.5 20.4 16.3L20.4 16.3Q20.6 13.6 18.2 11.7Q15.7 9.8 12.0 9.8Q8.4 9.8 5.9 11.7Q3.5 13.6 3.7 16.3L3.7 16.3Q3.8 17.9 4.9 19.2Q6.1 20.6 8.0 21.4Q9.8 22.1 12.0 22.1Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-navBar-mainNav a[href="/lyrics-plus"] path {
|
||||||
|
d: path(
|
||||||
|
"M160 95.8L168 95.8Q171.5 95.8 173.8 98Q176 100.3 176 103.8L176 103.8L176 127.8Q176 160.8 154.3 185.6Q132.5 210.4 100.1 214.8L100.1 214.8L100.1 231.8L128 231.8Q131.5 231.8 133.8 234Q136 236.3 136 239.8L136 239.8L136 247.8Q136 251.3 133.8 253.5Q131.5 255.8 128 255.8L128 255.8L48 255.8Q44.5 255.8 42.3 253.6Q40 251.4 40 247.8L40 247.8L40 239.8Q40 236.3 42.3 234Q44.5 231.8 48 231.8L48 231.8L76.1 231.8L76.1 214.8Q43.6 210.3 21.8 184Q0 157.8 0 123.8L0 123.8L0 103.8Q0 100.3 2.3 98Q4.5 95.8 8 95.8L8 95.8L16 95.8Q19.5 95.8 21.8 98Q24 100.3 24 103.8L24 103.8L24 124.8Q24 150.3 40.5 169.8Q57 189.3 81.5 191.3L81.5 191.3Q110 194.3 131 175Q152 155.8 152 127.8L152 127.8L152 103.8Q152 100.3 154.3 98Q156.5 95.8 160 95.8L160 95.8ZM122 161.9L122 161.9Q108 175.9 88.1 175.8Q68.1 175.8 54.1 161.8Q40 147.8 40 127.8L40 127.8L40 47.8Q40 27.6 54.1 13.7Q68.1-0.3 88.1-0.3Q108.1-0.3 122.1 13.8Q136 27.8 136 47.8L136 47.8L93.5 47.8Q88 47.8 88 51.8L88 51.8L88 59.8Q88 63.9 93.5 63.8L93.5 63.8L136 63.8L136 79.8L93.5 79.8Q88 79.8 88 83.8L88 83.8L88 91.8Q88 95.9 93.5 95.8L93.5 95.8L136 95.8L136 111.8L93.5 111.8Q88 111.8 88 115.8L88 115.8L88 123.8Q88 127.9 93.5 127.8L93.5 127.8L136 127.8Q136 147.8 122 161.9Z"
|
||||||
|
) !important;
|
||||||
|
transform: translate(35px, 0) !important;
|
||||||
|
}
|
||||||
|
.main-navBar-mainNav a[href="/marketplace"] path {
|
||||||
|
d: path(
|
||||||
|
"M0 20.2L0 20.2L0 12.0L27 12.0L27 20.2Q27 21.2 26.3 21.8Q25.7 22.5 24.8 22.5L24.8 22.5L2.3 22.5Q1.3 22.5 0.7 21.8Q0 21.2 0 20.2ZM9 17.0L9 17.0L9 18.9Q9 19.5 9.6 19.5L9.6 19.5L15.9 19.5Q16.5 19.5 16.5 18.9L16.5 18.9L16.5 17.0Q16.5 16.5 15.9 16.5L15.9 16.5L9.6 16.5Q9 16.5 9 17.0ZM3 17.0L3 17.0L3 18.9Q3 19.5 3.6 19.5L3.6 19.5L6.9 19.5Q7.5 19.5 7.5 18.9L7.5 18.9L7.5 17.0Q7.5 16.5 6.9 16.5L6.9 16.5L3.6 16.5Q3 16.5 3 17.0ZM27 3.7L27 3.7L27 6.0L0 6.0L0 3.7Q0 2.8 0.7 2.1Q1.3 1.5 2.3 1.5L2.3 1.5L24.8 1.5Q25.7 1.5 26.3 2.1Q27 2.8 27 3.7Z"
|
||||||
|
) !important;
|
||||||
|
transform: translate(0) scale(2.8) !important;
|
||||||
|
}
|
||||||
|
.main-navBar-mainNav a[href="/new-releases"] path {
|
||||||
|
d: path(
|
||||||
|
"M134.5 246.3L134.5 246.3Q125 255.8 112 255.8Q99 255.8 89.5 246.3Q80 236.8 80 223.8L80 223.8L144 223.8Q144 236.8 134.5 246.3ZM219.5 180.8L219.5 180.8Q224 185.4 224 191.8L224 191.8Q224 198.3 219.5 203Q215 207.8 208 207.8L208 207.8L16 207.8Q9 207.8 4.5 203Q0 198.3 0 191.8Q0 185.4 4.5 180.8L4.5 180.8Q5 180.3 6 178.9L6 178.9Q13.5 171.4 17.8 165.3Q22 159.3 27 142.5Q32 125.8 32 103.8L32 103.8Q32 74.8 50.1 53.3Q68.1 31.8 96 26.4L96 26.4L96 15.8Q96 9.3 100.8 4.5Q105.5-0.3 112-0.3Q118.5-0.3 123.3 4.6Q128 9.4 128 15.8L128 15.8L128 26.4Q146.5 29.8 161 40.8Q175.5 51.8 183.8 68.3Q192 84.8 192 103.8L192 103.8Q192 125.8 197 142.5Q202 159.3 206.3 165.3Q210.5 171.4 218 178.9L218 178.9Q219 180.3 219.5 180.8ZM101 170.9L101 170.9Q105.6 175.9 112.1 175.8Q118.5 175.8 123.3 171Q128 166.3 128 159.8Q128 153.4 123.3 148.6Q118.5 143.8 112 143.8Q105.5 143.8 100.8 148.6Q96 153.4 96 159.8Q96 166.3 101 170.9ZM124.5 120.9L124.5 120.9L131 72.9Q131 72.4 131 71.8L131 71.8Q131 68.3 128.8 66Q126.5 63.8 123 63.8L123 63.8L101 63.8Q97.6 63.8 95.3 66Q93 68.3 93 71.8L93 71.8Q93 72.3 93 72.9L93 72.9L99.5 120.9Q99.5 123.8 102 125.8Q104.5 127.8 107 127.8L107 127.8L117 127.8Q118.5 127.8 120.3 126.8Q122 125.8 123.3 124.3Q124.5 122.9 124.5 120.9Z"
|
||||||
|
) !important;
|
||||||
|
transform: translate(20px, 0);
|
||||||
|
}
|
||||||
|
.main-navBar-mainNav a[href="/reddit"] path {
|
||||||
|
d: path(
|
||||||
|
"M 89.998 45.604 c -0.201 -5.442 -4.77 -9.691 -10.229 -9.506 c -2.419 0.084 -4.719 1.075 -6.466 2.737 c -7.693 -5.24 -16.729 -8.113 -26.017 -8.314 L 51.67 9.442 l 14.461 3.041 c 0.402 3.712 3.728 6.4 7.44 5.996 c 3.712 -0.402 6.4 -3.728 5.996 -7.44 c -0.404 -3.712 -3.728 -6.4 -7.44 -5.996 c -2.134 0.218 -4.048 1.461 -5.105 3.309 L 50.461 5.043 c -1.125 -0.252 -2.251 0.453 -2.503 1.596 c 0 0.017 0 0.017 0 0.033 L 42.97 30.119 c -9.406 0.152 -18.559 3.041 -26.352 8.314 c -3.964 -3.728 -10.212 -3.544 -13.94 0.437 c -3.728 3.964 -3.544 10.212 0.437 13.94 c 0.773 0.722 1.662 1.344 2.653 1.781 c -0.068 0.991 -0.068 1.982 0 2.973 c 0 15.133 17.636 27.444 39.386 27.444 c 21.75 0 39.386 -12.295 39.386 -27.444 c 0.068 -0.991 0.068 -1.982 0 -2.973 C 87.932 52.894 90.066 49.4 89.998 45.604 z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-useDropTarget-folder .x-entityImage-imageContainer path,
|
||||||
|
.main-useDropTarget-folder .main-entityHeader-imagePlaceholder path {
|
||||||
|
d: path(
|
||||||
|
"M12.8 6.0L21.8 6.0Q22.7 6.0 23.3 6.6Q24 7.3 24 8.2L24 8.2L24 18.7Q24 19.7 23.3 20.3Q22.7 21.0 21.8 21.0L21.8 21.0L2.3 21.0Q1.3 21.0 0.7 20.3Q0 19.7 0 18.7L0 18.7L0 5.2Q0 4.3 0.7 3.6Q1.3 3.0 2.3 3.0L2.3 3.0L9.8 3.0L12.8 6.0Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-rootlist-expandArrow path,
|
||||||
|
.main-yourLibraryX-listItemGroup .main-yourLibraryX-isFlattened path {
|
||||||
|
d: path(
|
||||||
|
"M13.5 2.5L13.5 2.5Q15.8 4.8 15.8 8.0Q15.8 11.2 13.5 13.5Q11.2 15.7 8 15.7Q4.8 15.7 2.5 13.5Q0.3 11.2 0.3 8.0Q0.3 4.8 2.5 2.5Q4.8 0.2 8 0.2Q11.2 0.2 13.5 2.5ZM8.5 11.6L8.5 11.6L12.8 7.3Q13 7.1 13 6.8Q13 6.5 12.8 6.2L12.8 6.2L12.3 5.7Q12 5.5 11.7 5.5Q11.4 5.5 11.2 5.7L11.2 5.7L8 8.9L4.8 5.7Q4.6 5.5 4.3 5.5Q4.0 5.5 3.8 5.7L3.8 5.7L3.3 6.2Q3 6.5 3 6.8Q3 7.1 3.3 7.3L3.3 7.3L7.5 11.6Q7.7 11.8 8 11.8Q8.3 11.8 8.5 11.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-topBar-button[aria-label="Go back"] path {
|
||||||
|
d: path(
|
||||||
|
"M13.5 13.5L13.5 13.5Q11.2 15.7 8 15.7Q4.8 15.7 2.5 13.5Q0.3 11.2 0.3 8.0Q0.3 4.8 2.5 2.5Q4.8 0.2 8 0.2Q11.2 0.2 13.5 2.5Q15.8 4.8 15.8 8.0Q15.8 11.2 13.5 13.5ZM4.4 8.5L4.4 8.5L8.7 12.7Q8.9 13.0 9.2 13.0Q9.5 13.0 9.8 12.7L9.8 12.7L10.3 12.2Q10.5 12.0 10.5 11.7Q10.5 11.4 10.3 11.2L10.3 11.2L7.1 8.0L10.3 4.8Q10.5 4.6 10.5 4.3Q10.5 4.0 10.3 3.7L10.3 3.7L9.8 3.2Q9.5 3.0 9.2 3.0Q8.9 3.0 8.7 3.2L8.7 3.2L4.4 7.5Q4.2 7.7 4.2 8.0Q4.2 8.3 4.4 8.5Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-topBar-button[aria-label="Go forward"] path {
|
||||||
|
d: path(
|
||||||
|
"M2.5 2.5L2.5 2.5Q4.8 0.2 8.0 0.2Q11.2 0.2 13.5 2.5Q15.8 4.8 15.8 8.0Q15.8 11.2 13.5 13.5Q11.2 15.7 8 15.7Q4.8 15.7 2.5 13.5Q0.3 11.2 0.3 8.0Q0.3 4.8 2.5 2.5ZM11.6 7.5L11.6 7.5L7.3 3.2Q7.1 3.0 6.8 3.0Q6.5 3.0 6.3 3.2L6.3 3.2L5.8 3.7Q5.5 4.0 5.5 4.3Q5.5 4.6 5.8 4.8L5.8 4.8L8.9 8.0L5.8 11.2Q5.5 11.4 5.5 11.7Q5.5 12.0 5.8 12.2L5.8 12.2L6.3 12.7Q6.5 13.0 6.8 13.0Q7.1 13.0 7.3 12.7L7.3 12.7L11.6 8.5Q11.8 8.3 11.8 8.0Q11.8 7.7 11.6 7.5Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-topBar-container button[aria-label="Friend Activity"] path {
|
||||||
|
d: path(
|
||||||
|
"M4.4 6.4L4.4 6.4Q3.8 7.0 3 7.0Q2.2 7.0 1.6 6.4Q1 5.8 1 5.0Q1 4.2 1.6 3.6Q2.2 3.0 3 3.0Q3.8 3.0 4.4 3.6Q5 4.2 5 5.0Q5 5.8 4.4 6.4ZM18.4 6.4L18.4 6.4Q17.8 7.0 17 7.0Q16.2 7.0 15.6 6.4Q15 5.8 15 5.0Q15 4.2 15.6 3.6Q16.2 3.0 17 3.0Q17.8 3.0 18.4 3.6Q19 4.2 19 5.0Q19 5.8 18.4 6.4ZM16 8.0L18 8.0Q18.8 8.0 19.4 8.6Q20 9.2 20 10.0L20 10.0L20 11.0Q20 11.4 19.7 11.7Q19.4 12.0 19 12.0L19 12.0L16.9 12.0Q16.8 11.3 16.5 10.6Q16.2 10.0 15.7 9.4Q15.2 8.9 14.6 8.6L14.6 8.6Q15.2 8.0 16 8.0L16 8.0ZM12.5 7.0L12.5 7.0Q11.4 8.0 10 8.0Q8.6 8.0 7.5 7.0Q6.5 5.9 6.5 4.5Q6.5 3.1 7.5 2.0Q8.6 1.0 10 1.0Q11.4 1.0 12.5 2.0Q13.5 3.1 13.5 4.5Q13.5 5.9 12.5 7.0ZM12.1 9.0L12.4 9.0Q13.9 9.0 15.0 10.0Q16 11.1 16 12.6L16 12.6L16 13.5Q16 14.1 15.6 14.5Q15.1 15.0 14.5 15.0L14.5 15.0L5.5 15.0Q4.9 15.0 4.4 14.6Q4 14.1 4 13.5L4 13.5L4 12.6Q4 11.1 5.0 10.0Q6.1 9.0 7.6 9.0L7.6 9.0L7.9 9.0Q8.9 9.5 10 9.5Q11.1 9.5 12.1 9.0L12.1 9.0ZM5.4 8.6L5.4 8.6Q4.5 9.1 3.8 10.0Q3.2 10.9 3.1 12.0L3.1 12.0L1 12.0Q0.6 12.0 0.3 11.7Q0 11.4 0 11.0L0 11.0L0 10.0Q0 9.2 0.6 8.6Q1.2 8.0 2 8.0L2 8.0L4 8.0Q4.8 8.0 5.4 8.6Z"
|
||||||
|
) !important;
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
.main-userWidget-box path {
|
||||||
|
d: path(
|
||||||
|
"M13.5 2.5L13.5 2.5Q15.8 4.8 15.8 8.0Q15.8 11.2 13.5 13.5Q11.2 15.7 8 15.7Q4.8 15.7 2.5 13.5Q0.3 11.2 0.3 8.0Q0.3 4.8 2.5 2.5Q4.8 0.2 8 0.2Q11.2 0.2 13.5 2.5ZM8.5 11.6L8.5 11.6L12.8 7.3Q13 7.1 13 6.8Q13 6.5 12.8 6.2L12.8 6.2L12.3 5.7Q12 5.5 11.7 5.5Q11.4 5.5 11.2 5.7L11.2 5.7L8 8.9L4.8 5.7Q4.6 5.5 4.3 5.5Q4.0 5.5 3.8 5.7L3.8 5.7L3.3 6.2Q3 6.5 3 6.8Q3 7.1 3.3 7.3L3.3 7.3L7.5 11.6Q7.7 11.8 8 11.8Q8.3 11.8 8.5 11.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-userWidget-box[data-context-menu-open="true"] path {
|
||||||
|
d: path(
|
||||||
|
"M2.5 13.5L2.5 13.5Q0.3 11.2 0.3 8.0Q0.3 4.8 2.5 2.5Q4.8 0.2 8 0.2Q11.2 0.2 13.5 2.5Q15.8 4.8 15.8 8.0Q15.8 11.2 13.5 13.5Q11.2 15.7 8.0 15.7Q4.8 15.7 2.5 13.5ZM7.5 4.4L7.5 4.4L3.3 8.7Q3 8.9 3 9.2Q3 9.5 3.3 9.7L3.3 9.7L3.8 10.2Q4 10.5 4.3 10.5Q4.6 10.5 4.8 10.2L4.8 10.2L8 7.1L11.2 10.2Q11.4 10.5 11.7 10.5Q12.0 10.5 12.3 10.2L12.3 10.2L12.8 9.7Q13 9.5 13 9.2Q13 8.9 12.8 8.7L12.8 8.7L8.5 4.4Q8.3 4.2 8 4.2Q7.7 4.2 7.5 4.4Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.player-controls__left,
|
||||||
|
.player-controls__right {
|
||||||
|
height: 30px;
|
||||||
|
align-self: flex-end;
|
||||||
|
}
|
||||||
|
.main-shuffleButton-button path:nth-child(1) {
|
||||||
|
d: path(
|
||||||
|
"M13.3 8.7L15.8 11.2Q16 11.4 16 11.7Q16 12.1 15.8 12.3L15.8 12.3L13.3 14.8Q12.9 15.1 12.5 14.9Q12 14.7 12 14.2L12 14.2L12 13.0L10.2 13.0Q10 13.0 9.9 12.9L9.9 12.9L7.7 10.5L9.3 8.7L11 10.5L12 10.5L12 9.2Q12 8.7 12.5 8.5Q12.9 8.4 13.3 8.7L13.3 8.7ZM3 5.5L0.4 5.5Q0 5.5 0 5.1L0 5.1L0 3.4Q0 3.0 0.4 3.0L0.4 3.0L3.8 3.0Q4 3.0 4.1 3.1L4.1 3.1L6.3 5.5L4.7 7.3L3 5.5ZM12 6.7L12 5.5L11 5.5L4.1 12.9Q4 13.0 3.8 13.0L3.8 13.0L0.4 13.0Q0 13.0 0 12.6L0 12.6L0 10.9Q0 10.5 0.4 10.5L0.4 10.5L3 10.5L9.9 3.1Q10 3.0 10.2 3.0L10.2 3.0L12 3.0L12 1.7Q12 1.2 12.5 1.0Q12.9 0.9 13.3 1.2L13.3 1.2L15.8 3.7Q16 3.9 16 4.2Q16 4.6 15.8 4.8L15.8 4.8L13.3 7.3Q12.9 7.6 12.5 7.4Q12 7.2 12 6.7L12 6.7Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-shuffleButton-button path:nth-child(2) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.main-skipBackButton-button path {
|
||||||
|
d: path(
|
||||||
|
"M7 7.5L7 7.5L11.3 3.2Q11.5 3.0 11.8 3.0Q12.1 3.0 12.3 3.2L12.3 3.2L13 3.9Q13.2 4.1 13.2 4.5Q13.2 4.8 13 5.0L13 5.0L10 8.0L13 11.0Q13.2 11.1 13.2 11.3Q13.3 11.5 13.2 11.7Q13.2 11.9 13 12.1L13 12.1L12.3 12.8Q12.1 13.0 11.8 13.0Q11.5 13.0 11.3 12.8L11.3 12.8L7 8.5Q6.8 8.3 6.8 8.0Q6.8 7.7 7 7.5ZM5.3 12.8L1 8.5Q0.8 8.3 0.8 8.0Q0.8 7.7 1 7.5L1 7.5L5.3 3.2Q5.5 3.0 5.8 3.0Q6.1 3.0 6.3 3.2L6.3 3.2L7 3.9Q7.2 4.1 7.2 4.5Q7.2 4.8 7 5.0L7 5.0L4 8.0L7 11.0Q7.2 11.2 7.2 11.5Q7.2 11.8 7 12.1L7 12.1L6.3 12.8Q6.1 13.0 5.8 13.0Q5.5 13.0 5.3 12.8L5.3 12.8Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-skipForwardButton-button path {
|
||||||
|
d: path(
|
||||||
|
"M7 8.5L7 8.5L2.8 12.8Q2.5 13.0 2.2 13.0Q1.9 13.0 1.7 12.8L1.7 12.8L1 12.1Q0.8 11.8 0.8 11.5Q0.8 11.2 1 11.0L1 11.0L4 8.0L1 5.0Q0.8 4.8 0.8 4.5Q0.8 4.1 1 3.9L1 3.9L1.7 3.2Q1.9 3.0 2.2 3.0Q2.5 3.0 2.8 3.2L2.8 3.2L7 7.5Q7.2 7.7 7.2 8.0Q7.2 8.3 7 8.5ZM8.8 3.2L13 7.5Q13.2 7.7 13.2 8.0Q13.2 8.3 13 8.5L13 8.5L8.8 12.8Q8.5 13.0 8.2 13.0Q7.9 13.0 7.7 12.8L7.7 12.8L7 12.1Q6.8 11.8 6.8 11.5Q6.8 11.2 7 11.0L7 11.0L10 8.0L7 5.0Q6.8 4.8 6.8 4.5Q6.8 4.1 7 3.9L7 3.9L7.7 3.2Q7.8 3.1 7.9 3.1Q8.1 3.0 8.2 3.0Q8.4 3.0 8.5 3.1Q8.7 3.1 8.8 3.2L8.8 3.2Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-repeatButton-button path {
|
||||||
|
d: path(
|
||||||
|
"M16 8.0L16 8.0Q16 10.0 14.5 11.5Q13.1 13.0 11 13.0L11 13.0L5.3 13.0L6.4 14.0Q6.6 14.2 6.6 14.5Q6.6 14.9 6.4 15.1L6.4 15.1L6.1 15.4Q5.8 15.6 5.5 15.6Q5.2 15.6 5 15.4L5 15.4L2.1 12.5Q1.9 12.3 1.9 12.0Q1.9 11.7 2.1 11.5L2.1 11.5L5 8.6Q5.2 8.3 5.5 8.3Q5.8 8.3 6.1 8.6L6.1 8.6L6.4 8.9Q6.6 9.1 6.6 9.4Q6.6 9.8 6.4 10.0L6.4 10.0L5.3 11.0L11 11.0Q12.3 11.0 13.1 10.1Q14 9.2 14 8.0L14 8.0Q14 7.3 13.8 6.8L13.8 6.8Q13.5 6.3 13.9 5.9L13.9 5.9L14.3 5.6Q14.5 5.3 14.9 5.3Q15.3 5.4 15.5 5.7L15.5 5.7Q16 6.8 16 8.0ZM2.3 9.2L2.3 9.2Q2.5 9.7 2.1 10.1L2.1 10.1L1.7 10.4Q1.5 10.7 1.1 10.6Q0.7 10.6 0.5 10.2L0.5 10.2Q0 9.2 0 8.0L0 8.0Q0 5.9 1.5 4.5Q2.9 3.0 5 3.0L5 3.0L10.7 3.0L9.6 2.0Q9.4 1.8 9.4 1.4Q9.4 1.1 9.6 0.9L9.6 0.9L9.9 0.6Q10.2 0.3 10.5 0.3Q10.8 0.3 11 0.6L11 0.6L13.9 3.5Q14.1 3.7 14.1 4.0Q14.1 4.3 13.9 4.5L13.9 4.5L11 7.4Q10.8 7.6 10.5 7.6Q10.2 7.6 9.9 7.4L9.9 7.4L9.6 7.1Q9.4 6.9 9.4 6.5Q9.4 6.2 9.6 6.0L9.6 6.0L10.7 5.0L5 5.0Q3.8 5.0 2.9 5.9Q2 6.7 2 8.0L2 8.0Q2 8.6 2.3 9.2Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-repeatButton-button[aria-checked="mixed"] path {
|
||||||
|
d: path(
|
||||||
|
"M16 8.0L16 8.0Q16 10.0 14.5 11.5Q13.1 13.0 11 13.0L11 13.0L5.3 13.0L6.4 14.0Q6.6 14.2 6.6 14.5Q6.6 14.9 6.4 15.1L6.4 15.1L6.1 15.4Q5.8 15.6 5.5 15.6Q5.2 15.6 5 15.4L5 15.4L2.1 12.5Q1.9 12.3 1.9 12.0Q1.9 11.7 2.1 11.5L2.1 11.5L4.6 9.0Q4.8 8.7 5.2 8.7Q5.5 8.7 5.7 9.0L5.7 9.0L6.0 9.3Q6.3 9.5 6.3 9.8Q6.3 10.1 6 10.4L6 10.4L5.3 11.0L11 11.0Q12.3 11.0 13.1 10.1Q14 9.2 14 8.0L14 8.0Q14 7.3 13.8 6.8L13.8 6.8Q13.5 6.3 13.9 5.9L13.9 5.9L14.3 5.6Q14.5 5.3 14.9 5.3Q15.3 5.4 15.5 5.7L15.5 5.7Q16 6.8 16 8.0ZM2.3 9.2L2.3 9.2Q2.5 9.7 2.1 10.1L2.1 10.1L1.7 10.4Q1.5 10.7 1.1 10.6Q0.7 10.6 0.5 10.2L0.5 10.2Q0 9.2 0 8.0L0 8.0Q0 5.9 1.5 4.5Q2.9 3.0 5 3.0L5 3.0L10.7 3.0L9.6 2.0Q9.4 1.8 9.4 1.4Q9.4 1.1 9.6 0.9L9.6 0.9L9.9 0.6Q10.2 0.3 10.5 0.3Q10.8 0.3 11 0.6L11 0.6L13.9 3.5Q14.1 3.7 14.1 4.0Q14.1 4.3 13.9 4.5L13.9 4.5L11.4 7.0Q11.2 7.2 10.8 7.2Q10.5 7.2 10.3 7.0L10.3 7.0L10.0 6.7Q9.8 6.5 9.8 6.1Q9.8 5.8 10 5.6L10 5.6L10.7 5.0L5 5.0Q3.8 5.0 2.9 5.9Q2 6.7 2 8.0L2 8.0Q2 8.6 2.3 9.2ZM7.1 9.6L7.1 9.4Q7.1 9.0 7.5 9.0L7.5 9.0L7.9 9.0L7.9 7.7L8.0 7.4L7.9 7.4Q7.9 7.5 7.8 7.5L7.8 7.5Q7.6 7.8 7.4 7.5L7.4 7.5L7.2 7.3Q6.9 7.1 7.2 6.8L7.2 6.8L7.9 6.2Q8.1 6.0 8.3 6.0L8.3 6.0L8.7 6.0Q9.1 6.0 9.1 6.4L9.1 6.4L9.1 9.0L9.6 9.0Q9.9 9.0 9.9 9.4L9.9 9.4L9.9 9.6Q9.9 10.0 9.6 10.0L9.6 10.0L7.5 10.0Q7.1 10.0 7.1 9.6L7.1 9.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-lyricsButton path {
|
||||||
|
d: path(
|
||||||
|
"M6.2 1.3L6.2 1.3Q7.3 0.7 8.5 0.7Q9.7 0.7 10.8 1.3Q11.8 1.9 12.4 2.9Q13 3.9 13 5.2L13 5.2Q13 6.0 12.7 6.8Q12.4 7.6 11.8 8.2Q11.3 8.7 10.6 9.1Q9.8 9.5 9.0 9.6L9.0 9.6L4.8 14.6Q4.4 15.0 3.8 15.0L3.8 15.0Q3.4 15.0 3.1 14.8L3.1 14.8L2.5 14.5Q2.1 14.2 1.9 13.8Q1.8 13.3 2.0 12.8L2.0 12.8L4.5 7.2Q4 6.2 4 5.2L4 5.2Q4 3.9 4.6 2.9Q5.2 1.9 6.2 1.3ZM4.0 13.9L4.0 13.9L7.7 9.6Q6.2 9.3 5.2 8.1L5.2 8.1L2.9 13.2Q2.9 13.3 2.9 13.4Q2.9 13.6 3.0 13.6L3.0 13.6L3.6 14.0Q3.7 14.0 3.8 14.0Q4.0 14.0 4.0 13.9ZM6.0 7.6L6.0 7.6Q7.1 8.7 8.5 8.7Q9.9 8.7 11.0 7.6Q12 6.6 12 5.2Q12 3.7 11.0 2.7Q9.9 1.7 8.5 1.7Q7.1 1.7 6.0 2.7Q5 3.7 5 5.2Q5 6.6 6.0 7.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-extraControls button[aria-label="Queue"] path {
|
||||||
|
d: path(
|
||||||
|
"M8.5 8.0L0.5 8.0Q0.3 8.0 0.1 7.8Q0 7.7 0 7.5L0 7.5L0 6.5Q0 6.3 0.1 6.1Q0.3 6.0 0.5 6.0L0.5 6.0L8.5 6.0Q8.7 6.0 8.9 6.1Q9 6.3 9 6.5L9 6.5L9 7.5Q9 7.7 8.9 7.8Q8.7 8.0 8.5 8.0L8.5 8.0ZM8.5 4.0L0.5 4.0Q0.3 4.0 0.1 3.8Q0 3.7 0 3.5L0 3.5L0 2.5Q0 2.3 0.1 2.1Q0.3 2.0 0.5 2.0L0.5 2.0L8.5 2.0Q8.7 2.0 8.9 2.1Q9 2.3 9 2.5L9 2.5L9 3.5Q9 3.7 8.9 3.8Q8.7 4.0 8.5 4.0L8.5 4.0ZM0.5 10.0L4.5 10.0Q4.7 10.0 4.9 10.1Q5 10.3 5 10.5L5 10.5L5 11.5Q5 11.7 4.9 11.8Q4.7 12.0 4.5 12.0L4.5 12.0L0.5 12.0Q0.3 12.0 0.1 11.8Q0 11.7 0 11.5L0 11.5L0 10.5Q0 10.3 0.1 10.1Q0.3 10.0 0.5 10.0L0.5 10.0ZM11.7 0.9L14.7 0.0Q14.8-0.0 15-0.0L15-0.0Q15.4-0.0 15.7 0.3Q16 0.6 16 1.0L16 1.0L16 3.0Q16 3.3 15.8 3.6Q15.6 3.9 15.3 4.0L15.3 4.0L13 4.6L13 13.5Q13 14.5 12.0 15.3Q10.9 16.0 9.5 16.0Q8.1 16.0 7.0 15.3Q6 14.5 6 13.5Q6 12.5 7.0 11.7Q8.1 11.0 9.5 11.0L9.5 11.0Q10.3 11.0 11 11.2L11 11.2L11 1.9Q11 1.6 11.2 1.3Q11.4 1.0 11.7 0.9L11.7 0.9Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-devicePicker-controlButton path {
|
||||||
|
d: path(
|
||||||
|
"M4 13.0L9 13.0L9 13.5Q9 14.3 9.5 15.0L9.5 15.0L4 15.0Q3.6 15.0 3.3 14.7Q3 14.4 3 14.0Q3 13.6 3.3 13.3Q3.6 13.0 4 13.0L4 13.0ZM0 10.5L0 2.5Q0 1.9 0.4 1.4Q0.9 1.0 1.5 1.0L1.5 1.0L9.5 1.0Q9 1.6 9 2.5L9 2.5L9 3.0L2 3.0L2 10.0L9 10.0L9 12.0L1.5 12.0Q0.9 12.0 0.4 11.6Q0 11.1 0 10.5L0 10.5ZM11.5 1.0L18.5 1.0Q19.1 1.0 19.6 1.4Q20 1.9 20 2.5L20 2.5L20 13.5Q20 14.1 19.6 14.5Q19.1 15.0 18.5 15.0L18.5 15.0L11.5 15.0Q10.9 15.0 10.4 14.6Q10 14.1 10 13.5L10 13.5L10 2.5Q10 1.9 10.4 1.4Q10.9 1.0 11.5 1.0L11.5 1.0ZM15.7 3.3L15.7 3.3Q15.4 3.0 15.0 3.0Q14.6 3.0 14.3 3.3Q14 3.6 14 4.0Q14 4.4 14.3 4.7Q14.6 5.0 15 5.0Q15.4 5.0 15.7 4.7Q16 4.4 16 4.0Q16 3.6 15.7 3.3ZM12.9 12.1L12.9 12.1Q13.8 13.0 15.0 13.0Q16.3 13.0 17.1 12.1Q18 11.2 18 10.0Q18 8.7 17.1 7.9Q16.3 7.0 15.0 7.0Q13.8 7.0 12.9 7.9Q12 8.7 12 10.0Q12 11.2 12.9 12.1ZM13.6 8.6L13.6 8.6Q14.2 8.0 15 8.0Q15.8 8.0 16.4 8.6Q17 9.2 17 10.0Q17 10.8 16.4 11.4Q15.8 12.0 15 12.0Q14.2 12.0 13.6 11.4Q13 10.8 13 10.0Q13 9.2 13.6 8.6Z"
|
||||||
|
) !important;
|
||||||
|
transform: scaleX(0.8);
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-extraControls svg[aria-label="Volume off"] path {
|
||||||
|
d: path(
|
||||||
|
"M3.9 5.0L6.7 2.2Q7.1 1.9 7.5 2.0Q8 2.2 8 2.7L8 2.7L8 13.2Q8 13.7 7.5 13.9Q7.1 14.1 6.7 13.8L6.7 13.8L3.9 11.0L0.8 11.0Q0.4 11.0 0.2 10.8Q0 10.6 0 10.2L0 10.2L0 5.7Q0 5.4 0.2 5.2Q0.4 5.0 0.8 5.0L0.8 5.0L3.9 5.0ZM15.8 6.6L14.4 8.0L15.8 9.4Q16.2 9.8 15.8 10.1L15.8 10.1L15.1 10.8Q14.8 11.2 14.4 10.8L14.4 10.8L13 9.4L11.6 10.8Q11.2 11.2 10.9 10.8L10.9 10.8L10.2 10.1Q9.8 9.8 10.2 9.4L10.2 9.4L11.6 8.0L10.2 6.6Q9.8 6.2 10.2 5.9L10.2 5.9L10.9 5.1Q11.2 4.8 11.6 5.1L11.6 5.1L13 6.6L14.4 5.1Q14.8 4.8 15.1 5.1L15.1 5.1L15.8 5.9Q16.2 6.2 15.8 6.6L15.8 6.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-extraControls svg[aria-label="Volume low"] path {
|
||||||
|
d: path(
|
||||||
|
"M3.9 5.0L6.7 2.2Q7.1 1.9 7.5 2.1Q8 2.3 8 2.8L8 2.8L8 13.3Q8 13.8 7.5 14.0Q7.1 14.1 6.7 13.8L6.7 13.8L3.9 11.0L0.8 11.0Q0.4 11.0 0.2 10.8Q0 10.6 0 10.3L0 10.3L0 5.8Q0 5.5 0.2 5.2Q0.4 5.0 0.8 5.0L0.8 5.0L3.9 5.0ZM10.6 5.6L10.6 5.6Q11.2 6.0 11.6 6.6Q12 7.3 12 8.0Q12 8.8 11.6 9.4Q11.2 10.1 10.6 10.4L10.6 10.4Q10.3 10.6 10.0 10.5Q9.7 10.4 9.5 10.1Q9.4 9.9 9.5 9.6Q9.6 9.3 9.8 9.1L9.8 9.1Q10.5 8.7 10.5 8.0Q10.5 7.3 9.8 6.9L9.8 6.9Q9.6 6.8 9.5 6.5Q9.4 6.2 9.5 5.9Q9.7 5.6 10.0 5.6Q10.3 5.5 10.6 5.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-extraControls svg[aria-label="Volume medium"] path {
|
||||||
|
d: path(
|
||||||
|
"M3.9 5.0L6.7 2.2Q7.1 1.9 7.5 2.0Q8 2.2 8 2.7L8 2.7L8 13.2Q8 13.7 7.5 13.9Q7.1 14.1 6.7 13.8L6.7 13.8L3.9 11.0L0.8 11.0Q0.4 11.0 0.2 10.8Q0 10.6 0 10.2L0 10.2L0 5.7Q0 5.4 0.2 5.2Q0.4 5.0 0.8 5.0L0.8 5.0L3.9 5.0ZM14.3 5.2L14.3 5.2Q15 6.5 15 8.0Q15 9.5 14.3 10.8Q13.6 12.1 12.3 12.9L12.3 12.9Q12.0 13.0 11.7 13.0Q11.4 12.9 11.3 12.6L11.3 12.6Q11.1 12.4 11.2 12.1Q11.3 11.8 11.5 11.6L11.5 11.6Q12.1 11.2 12.6 10.6Q13.0 10.1 13.3 9.4Q13.5 8.7 13.5 8.0Q13.5 7.3 13.3 6.6Q13.0 5.9 12.6 5.3Q12.1 4.8 11.5 4.4L11.5 4.4Q11.3 4.2 11.2 3.9Q11.1 3.6 11.3 3.4Q11.4 3.1 11.8 3.0Q12.1 2.9 12.3 3.1L12.3 3.1Q13.6 3.9 14.3 5.2ZM10.6 5.6L10.6 5.6Q11.2 6.0 11.6 6.6Q12 7.2 12 8.0Q12 8.7 11.6 9.4Q11.2 10.0 10.6 10.4L10.6 10.4Q10.3 10.5 10.0 10.5Q9.7 10.4 9.5 10.1Q9.4 9.8 9.5 9.5Q9.6 9.2 9.8 9.1L9.8 9.1Q10.5 8.7 10.5 8.0Q10.5 7.3 9.8 6.9L9.8 6.9Q9.6 6.7 9.5 6.4Q9.4 6.1 9.5 5.9Q9.7 5.6 10.0 5.5Q10.3 5.4 10.6 5.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-extraControls svg[aria-label="Volume high"] path {
|
||||||
|
d: path(
|
||||||
|
"M3.9 5.0L6.7 2.2Q7.1 1.9 7.5 2.0Q8 2.2 8 2.7L8 2.7L8 13.2Q8 13.7 7.5 13.9Q7.1 14.1 6.7 13.8L6.7 13.8L3.9 11.0L0.8 11.0Q0.4 11.0 0.2 10.8Q0 10.6 0 10.2L0 10.2L0 5.7Q0 5.4 0.2 5.2Q0.4 5.0 0.8 5.0L0.8 5.0L3.9 5.0ZM14.3 5.2L14.3 5.2Q15 6.5 15 8.0Q15 9.5 14.3 10.8Q13.6 12.1 12.3 12.9L12.3 12.9Q12.0 13.0 11.7 13.0Q11.4 12.9 11.3 12.6L11.3 12.6Q11.1 12.4 11.2 12.1Q11.3 11.8 11.5 11.6L11.5 11.6Q12.1 11.2 12.6 10.6Q13.0 10.1 13.3 9.4Q13.5 8.7 13.5 8.0Q13.5 7.3 13.3 6.6Q13.0 5.9 12.6 5.3Q12.1 4.8 11.5 4.4L11.5 4.4Q11.3 4.2 11.2 3.9Q11.1 3.6 11.3 3.4Q11.4 3.1 11.8 3.0Q12.1 2.9 12.3 3.1L12.3 3.1Q13.6 3.9 14.3 5.2ZM10.6 5.6L10.6 5.6Q11.2 6.0 11.6 6.6Q12 7.2 12 8.0Q12 8.7 11.6 9.4Q11.2 10.0 10.6 10.4L10.6 10.4Q10.3 10.5 10.0 10.5Q9.7 10.4 9.5 10.1Q9.4 9.8 9.5 9.5Q9.6 9.2 9.8 9.1L9.8 9.1Q10.5 8.7 10.5 8.0Q10.5 7.3 9.8 6.9L9.8 6.9Q9.6 6.7 9.5 6.4Q9.4 6.1 9.5 5.9Q9.7 5.6 10.0 5.5Q10.3 5.4 10.6 5.6Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-extraControls button[aria-label="Full screen"] path {
|
||||||
|
d: path(
|
||||||
|
"M15.5 0.7L15.5 0.7Q15.5 0.7 15.5 0.7Q15.5 0.8 15.5 0.8L15.5 0.8Q15.5 0.8 15.5 0.9L15.5 0.9L15.5 3.9Q15.5 4.1 15.4 4.2Q15.2 4.4 15 4.4Q14.8 4.4 14.6 4.2Q14.5 4.1 14.5 3.9L14.5 3.9L14.5 2.1L11.9 4.7Q11.7 4.9 11.5 4.9Q11.3 4.9 11.1 4.7L11.1 4.7Q11 4.6 11 4.4Q11 4.2 11.1 4.0L11.1 4.0L13.8 1.4L12 1.4Q11.8 1.4 11.6 1.2Q11.5 1.1 11.5 0.9Q11.5 0.7 11.6 0.5Q11.8 0.4 12 0.4L12 0.4L15 0.4Q15.1 0.4 15.1 0.4L15.1 0.4Q15.1 0.4 15.1 0.4Q15.1 0.4 15.1 0.4L15.1 0.4Q15.2 0.4 15.2 0.4L15.2 0.4L15.2 0.4Q15.2 0.4 15.3 0.4Q15.3 0.5 15.3 0.5L15.3 0.5Q15.4 0.5 15.4 0.6L15.4 0.6Q15.4 0.6 15.4 0.6Q15.4 0.6 15.4 0.6L15.4 0.6Q15.5 0.7 15.5 0.7L15.5 0.7Q15.5 0.7 15.5 0.7ZM1.5 13.7L4.1 11.0Q4.3 10.9 4.5 10.9Q4.7 10.9 4.9 11.0L4.9 11.0Q5 11.2 5 11.4Q5 11.6 4.9 11.7L4.9 11.7L2.2 14.4L4 14.4Q4.2 14.4 4.4 14.5Q4.5 14.7 4.5 14.9Q4.5 15.1 4.4 15.2Q4.2 15.4 4 15.4L4 15.4L1 15.4Q0.9 15.4 0.9 15.4L0.9 15.4Q0.9 15.4 0.9 15.3Q0.9 15.3 0.9 15.3L0.9 15.3Q0.8 15.3 0.8 15.3L0.8 15.3L0.8 15.3Q0.8 15.3 0.7 15.3Q0.7 15.3 0.7 15.3L0.7 15.3Q0.6 15.2 0.6 15.1L0.6 15.1Q0.6 15.1 0.6 15.1Q0.6 15.1 0.6 15.1L0.6 15.1L0.5 15.1Q0.5 15.0 0.5 15.0L0.5 15.0Q0.5 15 0.5 15.0Q0.5 15.0 0.5 15.0L0.5 15.0Q0.5 14.9 0.5 14.9L0.5 14.9L0.5 11.9Q0.5 11.7 0.6 11.5Q0.8 11.4 1 11.4Q1.2 11.4 1.4 11.5Q1.5 11.7 1.5 11.9L1.5 11.9L1.5 13.7Z"
|
||||||
|
) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ylx */
|
||||||
|
.Root {
|
||||||
|
--panel-gap: 0 !important;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.spotify__container--is-desktop .Root__top-container {
|
||||||
|
padding-top: 32px !important;
|
||||||
|
}
|
||||||
|
.main-nowPlayingBar-nowPlayingBar {
|
||||||
|
height: 90px;
|
||||||
|
padding: 0 16px !important;
|
||||||
|
}
|
||||||
|
[dir="ltr"] .main-coverSlotCollapsed-navAltContainer {
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-navItem:has(.main-yourLibraryX-navLinkActive) {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-navLinkActive {
|
||||||
|
color: var(--spice-sidebar) !important;
|
||||||
|
background-color: var(--spice-sec-card);
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 24px 12px;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-navLinkActive .home-active-icon,
|
||||||
|
.main-yourLibraryX-navLinkActive .search-active-icon {
|
||||||
|
color: var(--spice-sidebar) !important;
|
||||||
|
}
|
||||||
|
.link-subtle {
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
.spotify__container--is-desktop .Root__top-container {
|
||||||
|
padding-top: calc(24px + var(--panel-gap)-3);
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-navItems {
|
||||||
|
background-color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-libraryRootlist {
|
||||||
|
background-color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-header {
|
||||||
|
background-color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-filterArea {
|
||||||
|
background-color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
.LayoutResizer__inline-end {
|
||||||
|
inset-inline-end: 8px;
|
||||||
|
}
|
||||||
|
.LayoutResizer__inline-start {
|
||||||
|
inset-inline-start: 8px;
|
||||||
|
}
|
||||||
|
.LayoutResizer__resize-bar {
|
||||||
|
width: 8px;
|
||||||
|
}
|
||||||
436
.config/spicetify/Themes/Sleek/color.ini
Normal file
436
.config/spicetify/Themes/Sleek/color.ini
Normal file
@@ -0,0 +1,436 @@
|
|||||||
|
[Wealthy]
|
||||||
|
; Green on dark grey background
|
||||||
|
text = 8bc34a
|
||||||
|
subtext = b4b4b4
|
||||||
|
nav-active-text = 202020
|
||||||
|
main = 202020
|
||||||
|
sidebar = 202020
|
||||||
|
player = 242424
|
||||||
|
card = 242424
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 171717
|
||||||
|
button = 8bc34a
|
||||||
|
button-secondary = 6a913d
|
||||||
|
button-active = 98da4b
|
||||||
|
button-disabled = 353535
|
||||||
|
nav-active = 8bc34a
|
||||||
|
play-button = 8bc34a
|
||||||
|
tab-active = 171717
|
||||||
|
notification = 242424
|
||||||
|
notification-error = 242424
|
||||||
|
playback-bar = 8bc34a
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Cherry]
|
||||||
|
; Pink on dark blue background
|
||||||
|
text = d98ba1
|
||||||
|
subtext = d7d7d7
|
||||||
|
nav-active-text = 131c26
|
||||||
|
main = 131c26
|
||||||
|
sidebar = 131c26
|
||||||
|
player = 131c26
|
||||||
|
card = 131c26
|
||||||
|
shadow = 0e0e13
|
||||||
|
main-secondary = 09111b
|
||||||
|
button = d98ba1
|
||||||
|
button-secondary = d98ba1
|
||||||
|
button-active = ff84ac
|
||||||
|
button-disabled = 192531
|
||||||
|
nav-active = ff84ac
|
||||||
|
play-button = d98ba1
|
||||||
|
tab-active = 09111b
|
||||||
|
notification = 192531
|
||||||
|
notification-error = 192531
|
||||||
|
playback-bar = d98ba1
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Coral]
|
||||||
|
; Salmon on dark blue background
|
||||||
|
text = f88379
|
||||||
|
subtext = d7d7d7
|
||||||
|
nav-active-text = 131c26
|
||||||
|
main = 131c26
|
||||||
|
sidebar = 131c26
|
||||||
|
player = 131c26
|
||||||
|
card = 131c26
|
||||||
|
shadow = 0e0e13
|
||||||
|
main-secondary = 09111b
|
||||||
|
button = f88379
|
||||||
|
button-secondary = f88379
|
||||||
|
button-active = fb958b
|
||||||
|
button-disabled = 192531
|
||||||
|
nav-active = fb958b
|
||||||
|
play-button = f88379
|
||||||
|
tab-active = 09111b
|
||||||
|
notification = 192531
|
||||||
|
notification-error = 192531
|
||||||
|
playback-bar = f88379
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Deep]
|
||||||
|
; White on dark blue background
|
||||||
|
text = ffffff
|
||||||
|
subtext = ffffff
|
||||||
|
nav-active-text = ffffff
|
||||||
|
main = 020816
|
||||||
|
sidebar = 051024
|
||||||
|
player = 030b1e
|
||||||
|
card = 0a1527
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 06142d
|
||||||
|
button = 1464b5
|
||||||
|
button-secondary = ffffff
|
||||||
|
button-active = 4a99e9
|
||||||
|
button-disabled = 21282f
|
||||||
|
nav-active = 37b778
|
||||||
|
play-button = 37b778
|
||||||
|
tab-active = 0a1527
|
||||||
|
notification = 051024
|
||||||
|
notification-error = 051024
|
||||||
|
playback-bar = 37b778
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Greener]
|
||||||
|
; White on dark and green background
|
||||||
|
text = ffffff
|
||||||
|
subtext = ffffff
|
||||||
|
nav-active-text = ffffff
|
||||||
|
main = 020816
|
||||||
|
sidebar = 020816
|
||||||
|
player = 020816
|
||||||
|
card = 020816
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 216d48
|
||||||
|
button = 37b778
|
||||||
|
button-secondary = ffffff
|
||||||
|
button-active = 37b778
|
||||||
|
button-disabled = 21282f
|
||||||
|
nav-active = 37b778
|
||||||
|
play-button = 37b778
|
||||||
|
tab-active = 2c9260
|
||||||
|
notification = 051024
|
||||||
|
notification-error = 051024
|
||||||
|
playback-bar = 37b778
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Deeper]
|
||||||
|
; Light blue on dark background
|
||||||
|
text = 4f9a87
|
||||||
|
subtext = 4f9a87
|
||||||
|
nav-active-text = 4f9a87
|
||||||
|
main = 040614
|
||||||
|
sidebar = 0F111A
|
||||||
|
player = 0F111A
|
||||||
|
card = 0C1C19
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 131520
|
||||||
|
button = 4f9a87
|
||||||
|
button-secondary = 4f9a87
|
||||||
|
button-active = 4a99e9
|
||||||
|
button-disabled = 0C1C19
|
||||||
|
nav-active = 040614
|
||||||
|
play-button = 4f9a87
|
||||||
|
tab-active = 0a1527
|
||||||
|
notification = 051024
|
||||||
|
notification-error = 051024
|
||||||
|
playback-bar = 4f9a87
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Psycho]
|
||||||
|
; Red on dark grey background
|
||||||
|
text = c20000
|
||||||
|
subtext = ffffff
|
||||||
|
nav-active-text = 101010
|
||||||
|
main = 101010
|
||||||
|
sidebar = 171717
|
||||||
|
player = 171717
|
||||||
|
card = 171717
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 1f1f1f
|
||||||
|
button = c20000
|
||||||
|
button-secondary = a20606
|
||||||
|
button-active = c20000
|
||||||
|
button-disabled = 404040
|
||||||
|
nav-active = 9f0909
|
||||||
|
play-button = c20000
|
||||||
|
tab-active = 171717
|
||||||
|
notification = 5e0000
|
||||||
|
notification-error = 5e0000
|
||||||
|
playback-bar = c20000
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[UltraBlack]
|
||||||
|
; White on black background
|
||||||
|
text = FFFFFF
|
||||||
|
subtext = DEDEDE
|
||||||
|
nav-active-text = 000000
|
||||||
|
main = 000000
|
||||||
|
sidebar = 000000
|
||||||
|
player = 000000
|
||||||
|
card = 000000
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 292929
|
||||||
|
button = 1DB954
|
||||||
|
button-secondary = DEDEDE
|
||||||
|
button-active = 1DB954
|
||||||
|
button-disabled = 2f2f2f
|
||||||
|
nav-active = DEDEDE
|
||||||
|
play-button = DEDEDE
|
||||||
|
tab-active = 292929
|
||||||
|
notification = 292929
|
||||||
|
notification-error = 292929
|
||||||
|
playback-bar = DEDEDE
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Nord]
|
||||||
|
; Light grey on blue background
|
||||||
|
text = D8DEE9
|
||||||
|
subtext = E5E9F0
|
||||||
|
nav-active-text = D8DEE9
|
||||||
|
main = 2E3440
|
||||||
|
sidebar = 2E3440
|
||||||
|
player = 2E3440
|
||||||
|
card = 2E3440
|
||||||
|
shadow = 1d2128
|
||||||
|
main-secondary = 434c5e
|
||||||
|
button = 5E81AC
|
||||||
|
button-secondary = D8DEE9
|
||||||
|
button-active = 81A1C1
|
||||||
|
button-disabled = 434C5E
|
||||||
|
nav-active = 4c566a
|
||||||
|
play-button = 5E81AC
|
||||||
|
tab-active = 3b4252
|
||||||
|
notification = 3b4252
|
||||||
|
notification-error = 3b4252
|
||||||
|
playback-bar = DEDEDE
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Futura]
|
||||||
|
; Cyan on dark background
|
||||||
|
text = 34ad7e
|
||||||
|
subtext = DEDEDE
|
||||||
|
nav-active-text = 2E2837
|
||||||
|
main = 2E2837
|
||||||
|
sidebar = 2E2837
|
||||||
|
player = 2E2837
|
||||||
|
card = 2E2837
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 51485b
|
||||||
|
button = 34ad7e
|
||||||
|
button-secondary = 34ad7e
|
||||||
|
button-active = 00bf76
|
||||||
|
button-disabled = 3f3c45
|
||||||
|
nav-active = 34ad7e
|
||||||
|
play-button = 34ad7e
|
||||||
|
tab-active = 51485b
|
||||||
|
notification = 51485b
|
||||||
|
notification-error = 51485b
|
||||||
|
playback-bar = 34ad7e
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Elementary]
|
||||||
|
; Purple and pink on dark background
|
||||||
|
text = c59dff
|
||||||
|
subtext = dedede
|
||||||
|
nav-active-text = 1d1821
|
||||||
|
main = 1f1f29
|
||||||
|
sidebar = 1d1821
|
||||||
|
player = 1d1821
|
||||||
|
card = 2E2837
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 1d1821
|
||||||
|
button = d4516f
|
||||||
|
button-secondary = c59dff
|
||||||
|
button-active = f16d8c
|
||||||
|
button-disabled = 2E303E
|
||||||
|
nav-active = d4516f
|
||||||
|
play-button = d4516f
|
||||||
|
tab-active = 1d1821
|
||||||
|
notification = 2E2837
|
||||||
|
notification-error = 2E2837
|
||||||
|
playback-bar = c59dff
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[BladeRunner]
|
||||||
|
; Yellow, pink and blue on dark background
|
||||||
|
text = dcd88c
|
||||||
|
subtext = 9fbfb7
|
||||||
|
nav-active-text = 1d1821
|
||||||
|
main = 181b1e
|
||||||
|
sidebar = 181b1e
|
||||||
|
player = 181b1e
|
||||||
|
card = 17191d
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 0b0d0e
|
||||||
|
button = f6867c
|
||||||
|
button-secondary = dcd88c
|
||||||
|
button-active = f6867c
|
||||||
|
button-disabled = 242a2e
|
||||||
|
nav-active = f6867c
|
||||||
|
play-button = f6867c
|
||||||
|
tab-active = 131417
|
||||||
|
notification = 131417
|
||||||
|
notification-error = 131417
|
||||||
|
playback-bar = dcd88c
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Dracula]
|
||||||
|
; https://draculatheme.com/contribute
|
||||||
|
text = 50fa7b
|
||||||
|
subtext = bd93f9
|
||||||
|
nav-active-text = 282a36
|
||||||
|
main = 282a36
|
||||||
|
sidebar = 282a36
|
||||||
|
player = 282a36
|
||||||
|
card = 282a36
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 1c1e26
|
||||||
|
button = 50fa7b
|
||||||
|
button-secondary = ff79c6
|
||||||
|
button-active = 00bf76
|
||||||
|
button-disabled = 3f3c45
|
||||||
|
nav-active = 50fa7b
|
||||||
|
play-button = 50fa7b
|
||||||
|
tab-active = 1c1e26
|
||||||
|
notification = 1c1e26
|
||||||
|
notification-error = 1c1e26
|
||||||
|
playback-bar = 50fa7b
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[VantaBlack]
|
||||||
|
; Gray on black background
|
||||||
|
text = 666666
|
||||||
|
subtext = 666666
|
||||||
|
nav-active-text = 666666
|
||||||
|
main = 000000
|
||||||
|
sidebar = 000000
|
||||||
|
player = 000000
|
||||||
|
card = 000000
|
||||||
|
shadow = 333333
|
||||||
|
main-secondary = 000000
|
||||||
|
button = 000000
|
||||||
|
button-secondary = 000000
|
||||||
|
button-active = 333333
|
||||||
|
button-disabled = 000000
|
||||||
|
nav-active = 333333
|
||||||
|
play-button = 000000
|
||||||
|
tab-active = 333333
|
||||||
|
notification = 000000
|
||||||
|
notification-error = 000000
|
||||||
|
playback-bar = 000000
|
||||||
|
misc = 000000
|
||||||
|
|
||||||
|
[RosePine]
|
||||||
|
; https://rosepinetheme.com/palette
|
||||||
|
text = e0def4
|
||||||
|
subtext = 908caa
|
||||||
|
nav-active-text = ebbcba
|
||||||
|
main = 191724
|
||||||
|
sidebar = 191724
|
||||||
|
player = 191724
|
||||||
|
card = 1f1d2e
|
||||||
|
shadow = 191724
|
||||||
|
main-secondary = 1f1d2e
|
||||||
|
button = ebbcba
|
||||||
|
button-secondary = 6e6a86
|
||||||
|
button-active = ebbcba
|
||||||
|
button-disabled = 26233a
|
||||||
|
nav-active = 1f1d2e
|
||||||
|
play-button = ebbcba
|
||||||
|
tab-active = 1f1d2e
|
||||||
|
notification = 26233a
|
||||||
|
notification-error = eb6f92
|
||||||
|
playback-bar = 6e6a86
|
||||||
|
misc = FFFFFF
|
||||||
|
|
||||||
|
[Eldritch]
|
||||||
|
; https://github.com/eldritch-theme/eldritch
|
||||||
|
text = 37f499
|
||||||
|
subtext = 04d1f9
|
||||||
|
nav-active-text = 323449
|
||||||
|
main = 212337
|
||||||
|
sidebar = 212337
|
||||||
|
player = 212337
|
||||||
|
card = 212337
|
||||||
|
shadow = 212337
|
||||||
|
main-secondary = 323449
|
||||||
|
button = 37f499
|
||||||
|
button-secondary = 04d1f9
|
||||||
|
button-active = 37f499
|
||||||
|
button-disabled = 323449
|
||||||
|
nav-active = 37f499
|
||||||
|
play-button = 37f499
|
||||||
|
tab-active = a48cf2
|
||||||
|
notification = 212337
|
||||||
|
notification-error = 212337
|
||||||
|
playback-bar = 37f499
|
||||||
|
misc = ebfafa
|
||||||
|
|
||||||
|
[Catppuccin]
|
||||||
|
; https://catppuccin.com/palette
|
||||||
|
text = cba6f7
|
||||||
|
subtext = 7c7f93
|
||||||
|
nav-active-text = fab387
|
||||||
|
main = 11111b
|
||||||
|
sidebar = 11111b
|
||||||
|
player = 11111b
|
||||||
|
card = 1e1e2e
|
||||||
|
shadow = 11111b
|
||||||
|
main-secondary = 1e1e2e
|
||||||
|
button = a6e3a1
|
||||||
|
button-secondary = 74c7ec
|
||||||
|
button-active = f9e2af
|
||||||
|
button-disabled = 181825
|
||||||
|
nav-active = 11111b
|
||||||
|
play-button = ca9ee6
|
||||||
|
tab-active = 45475a
|
||||||
|
notification = 11111b
|
||||||
|
notification-error = 11111b
|
||||||
|
playback-bar = dc8a78
|
||||||
|
misc = f4dbd6
|
||||||
|
|
||||||
|
[AyuDark]
|
||||||
|
; https://github.com/ayu-theme/ayu-colors
|
||||||
|
text = bfbdb6
|
||||||
|
subtext = 565b66
|
||||||
|
nav-active-text = e6b450
|
||||||
|
main = 0b0e14
|
||||||
|
sidebar = 0b0e14
|
||||||
|
player = 0b0e14
|
||||||
|
card = 0b0e14
|
||||||
|
shadow = 000000
|
||||||
|
main-secondary = 0b0e14
|
||||||
|
button = 475266
|
||||||
|
button-secondary = 74c7ec
|
||||||
|
button-active = e6b450
|
||||||
|
button-disabled = 181825
|
||||||
|
nav-active = 0d1017
|
||||||
|
play-button = e6b450
|
||||||
|
tab-active = 0b0e14
|
||||||
|
notification = 0b0e14
|
||||||
|
notification-error = 0b0e14
|
||||||
|
playback-bar = e6b450
|
||||||
|
misc = f4dbd6
|
||||||
|
|
||||||
|
|
||||||
|
; Description
|
||||||
|
|
||||||
|
; text = main text, playlist names in main field, name of playlist selected in sidebar, headings
|
||||||
|
; subtext = text in main buttons in sidebar, playlist names in sidebar, artist names, and mini infos
|
||||||
|
; nav-active-text = text in main buttons in sidebar when active
|
||||||
|
; main = main bg
|
||||||
|
; main-secondary = bg color of selected song rows, bg color of artist/track cards
|
||||||
|
; sidebar = sidebar bg
|
||||||
|
; player = player bg
|
||||||
|
; card = popup-card bg
|
||||||
|
; shadow = all shadows
|
||||||
|
; button = playlist buttons bg in sidebar, drop-down menus, now playing song, like button
|
||||||
|
; button-secondary = download and options button
|
||||||
|
; button-active = hover on song selected
|
||||||
|
; button-disabled = seekbar bg, volume bar bg, scrollbar
|
||||||
|
; nav-active = sidebar buttons bg
|
||||||
|
; play-button = color of main play button in main field
|
||||||
|
; tab-active = button bg in main field (playlists, podcasts, artists, albums)
|
||||||
|
; notification = notification ('Added to liked songs' etc.)
|
||||||
|
; playback-bar = seekbar fg, volume bar fg, main play/pause button
|
||||||
|
; misc = miscellaneous
|
||||||
725
.config/spicetify/Themes/Sleek/user.css
Normal file
725
.config/spicetify/Themes/Sleek/user.css
Normal file
@@ -0,0 +1,725 @@
|
|||||||
|
:root {
|
||||||
|
--spice-main-elevated: var(--spice-main);
|
||||||
|
--spice-highlight: var(--spice-main-secondary);
|
||||||
|
--spice-highlight-elevated: var(--spice-main-secondary);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
-------------
|
||||||
|
TOPBAR
|
||||||
|
-------------
|
||||||
|
*/
|
||||||
|
/* unset colors of history buttons */
|
||||||
|
.main-topBar-historyButtons .main-topBar-button {
|
||||||
|
background-color: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change appearance of icons on search tab input */
|
||||||
|
.x-searchInput-searchInputSearchIcon svg {
|
||||||
|
color: var(--spice-text);
|
||||||
|
height: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-searchInput-searchInputClearButton svg {
|
||||||
|
color: var(--spice-text);
|
||||||
|
height: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* topbar navigation items*/
|
||||||
|
.main-topBar-topbarContentWrapper a {
|
||||||
|
transition-duration: 0.3s;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* smooth topbar background colour */
|
||||||
|
.main-topBar-background {
|
||||||
|
background-image: linear-gradient(var(--spice-main) 5%, 75%, transparent);
|
||||||
|
background-color: unset !important;
|
||||||
|
}
|
||||||
|
.main-topBar-overlay {
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* simplify profile menu */
|
||||||
|
.main-userWidget-displayName,
|
||||||
|
.main-userWidget-notificationIndicator {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-avatar-userIcon {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-userWidget-box {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-userWidget-chevron {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
-------------
|
||||||
|
NAVBAR
|
||||||
|
-------------
|
||||||
|
*/
|
||||||
|
/* remove divider gradient */
|
||||||
|
.main-rootlist-rootlistDividerGradient {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change color of divider */
|
||||||
|
.main-rootlist-rootlistDivider {
|
||||||
|
background-color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* add gradient to navbar */
|
||||||
|
.Root__nav-bar {
|
||||||
|
background-image: linear-gradient(to bottom left, var(--spice-sidebar) 0%, var(--spice-player) 100%) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change color of navbar playing icon */
|
||||||
|
[aria-label="Playing"] {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-navBar-entryPoints [data-id="/add"] {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-createPlaylistButton-button {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-createPlaylistButton-createPlaylistIcon {
|
||||||
|
background-color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change color of navbar icons */
|
||||||
|
.main-likedSongsButton-likedSongsIcon {
|
||||||
|
background: var(--spice-text);
|
||||||
|
color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-yourEpisodesButton-yourEpisodesIcon {
|
||||||
|
background: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-yourEpisodesButton-yourEpisodesIcon path {
|
||||||
|
fill: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* remove opacity of navbar buttons */
|
||||||
|
.main-collectionLinkButton-collectionLinkButton .main-collectionLinkButton-icon,
|
||||||
|
.main-collectionLinkButton-collectionLinkButton .main-collectionLinkButton-collectionLinkText,
|
||||||
|
.main-createPlaylistButton-button {
|
||||||
|
opacity: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-collectionLinkButton-collectionLinkButton {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change colors of active tab */
|
||||||
|
.main-yourLibraryX-navLink {
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 6px 0;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-yourLibraryX-navItem {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-navBar-navBarLinkActive,
|
||||||
|
.main-navBar-navBarLinkActive:focus,
|
||||||
|
.main-navBar-navBarLinkActive:hover,
|
||||||
|
.main-collectionLinkButton-selected,
|
||||||
|
.main-collectionLinkButton-selected svg,
|
||||||
|
.main-yourLibraryX-navLinkActive,
|
||||||
|
.main-yourLibraryX-navLinkActive .home-active-icon,
|
||||||
|
.main-yourLibraryX-navLinkActive .search-active-icon {
|
||||||
|
color: var(--spice-nav-active-text) !important;
|
||||||
|
background-color: var(--spice-nav-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* color of navbar icons */
|
||||||
|
.collection-icon,
|
||||||
|
.premiumSpotifyIcon,
|
||||||
|
.search-icon {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-navBar-navBarLink {
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-navBar-navBarLink:not(.main-navBar-navBarLinkActive):hover svg {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-yourLibraryX-entryPoints {
|
||||||
|
background-color: var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-yourLibraryX-isScrolled {
|
||||||
|
-webkit-box-shadow: 0 20px 10px -10px var(--spice-sidebar);
|
||||||
|
box-shadow: 0 20px 10px -10px var(--spice-sidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* traclists and playlists loading placeholder */
|
||||||
|
.main-trackList-placeholder,
|
||||||
|
.Pns6F5g4OEwEpdmOWTLg,
|
||||||
|
.eldivguzYznZgQoShJbe {
|
||||||
|
background-color: var(--background-base);
|
||||||
|
background-blend-mode: color-dodge;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
PLAYBACK BAR
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
/* playback progress bar moves smoothly */
|
||||||
|
.x-progressBar-fillColor {
|
||||||
|
transition: transform 1s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar__slider {
|
||||||
|
transition: left 1s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar--isDragging .x-progressBar-fillColor, .progress-bar--isDragging .progress-bar__slider {
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* round cover art when collapsed */
|
||||||
|
.main-coverSlotCollapsed-container .cover-art-image {
|
||||||
|
border-radius: 8px;
|
||||||
|
transition-duration: 0.15s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-coverSlotExpandedCollapseButton-collapseButton {
|
||||||
|
right: 10px !important;
|
||||||
|
top: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hide and move progress time location */
|
||||||
|
.playback-bar__progress-time-elapsed {
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 13px;
|
||||||
|
left: 0;
|
||||||
|
transition-duration: 0.3s;
|
||||||
|
background-color: rgba(var(--spice-rgb-sidebar),.5);
|
||||||
|
box-shadow: 0 0 20px 20px rgba(var(--spice-rgb-sidebar),.5);
|
||||||
|
border-radius: 8px;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-playbackBarRemainingTime-container {
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 13px;
|
||||||
|
right: 0;
|
||||||
|
transition-duration: 0.3s;
|
||||||
|
background-color: rgba(var(--spice-rgb-sidebar),.5);
|
||||||
|
box-shadow: 0 0 20px 20px rgba(var(--spice-rgb-sidebar),.5);
|
||||||
|
border-radius: 8px;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* show time on hover & better visibility */
|
||||||
|
.playback-bar:hover .playback-bar__progress-time-elapsed,
|
||||||
|
.playback-bar:hover .main-playbackBarRemainingTime-container {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* move progress bar */
|
||||||
|
html:not(.fullscreen) .playback-bar {
|
||||||
|
width: 100%;
|
||||||
|
bottom: 83px;
|
||||||
|
position: absolute;
|
||||||
|
left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-nowPlayingBar-nowPlayingBar:nth-last-child(2) .playback-bar {
|
||||||
|
bottom: 107px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.player-controls__buttons {
|
||||||
|
transform: translateY(3px);
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change progress bar color */
|
||||||
|
.playback-bar .x-progressBar-fillColor {
|
||||||
|
background-color: var(--spice-playback-bar);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change appearance of play-button */
|
||||||
|
.main-playPauseButton-button {
|
||||||
|
background-color: inherit;
|
||||||
|
color: var(--spice-play-button);
|
||||||
|
transition-duration: 0.3s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-playPauseButton-button svg {
|
||||||
|
height: 19px;
|
||||||
|
width: 19px;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.fullscreen .main-playPauseButton-button svg {
|
||||||
|
height: 32px;
|
||||||
|
width: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-playPauseButton-button:focus,
|
||||||
|
.main-playPauseButton-button:hover {
|
||||||
|
transform: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change progress bar slider color */
|
||||||
|
.progress-bar__slider {
|
||||||
|
background-color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-progressBar-progressBarBg {
|
||||||
|
background-color: var(--spice-button-disabled);
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* matching button colors */
|
||||||
|
.main-nowPlayingBar-extraControls button {
|
||||||
|
color: rgba(var(--spice-rgb-selected-row),.7);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
BUDDY FEED
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
/* change text color */
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-artistAndTrackName a,
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-username a,
|
||||||
|
.main-buddyFeed-activityMetadata .main-buddyFeed-playbackContextLink,
|
||||||
|
p.main-buddyFeed-timestamp.main-type-finale,
|
||||||
|
.main-buddyFeed-findFriendsButton .main-buddyFeed-findFriendsIcon {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
.spotify__os--is-windows .main-buddyFeed-header {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* add gradient */
|
||||||
|
.main-buddyFeed-friendsFeedContainer {
|
||||||
|
background-image: linear-gradient(to bottom left, var(--spice-sidebar) 0%, var(--spice-player) 100%) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hide buddyfeed scrollbar */
|
||||||
|
.main-buddyFeed-scrollableArea > .os-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-avatar-avatar.BzunmwrVMyWGpopPJRt2:after {
|
||||||
|
background: var(--spice-button);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
MAIN VIEW
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
/* hide banner ads */
|
||||||
|
.main-leaderboardComponent-container {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.WiPggcPDzbwGxoxwLWFf.contentSpacing {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desktoproutes-homepage-takeover-ad-hptoComponent-parentContainer,
|
||||||
|
.desktoproutes-homepage-takeover-ad-hptoComponent-container {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hide upgrade button */
|
||||||
|
.main-topBar-UpgradeButton {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change input box appearance */
|
||||||
|
input {
|
||||||
|
background-color: var(--spice-main-secondary) !important;
|
||||||
|
border-radius: 8px !important;
|
||||||
|
padding: 6px 10px 6px 48px;
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
::placeholder {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* remove background color from main headers */
|
||||||
|
.main-home-homeHeader,
|
||||||
|
.x-441-entityHeader-overlay,
|
||||||
|
.main-actionBarBackground-background,
|
||||||
|
.main-entityHeader-overlay,
|
||||||
|
.main-entityHeader-backgroundColor {
|
||||||
|
background-color: unset !important;
|
||||||
|
background-image: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change playlist image shadow */
|
||||||
|
.main-entityHeader-shadow {
|
||||||
|
box-shadow: 0 5px 10px rgba(var(--spice-rgb-shadow), 0.5) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change playlist image border-radius */
|
||||||
|
.main-entityHeader-image {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change playing icon from gif to svg */
|
||||||
|
.main-trackList-playingIcon {
|
||||||
|
-webkit-mask-image: url("data:image/svg+xml,%3Csvg id='playing-icon' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cdefs%3E%3Cstyle%3E %23playing-icon %7B fill: %2320BC54; %7D @keyframes play %7B 0%25 %7Btransform: scaleY(1);%7D 3.3%25 %7Btransform: scaleY(0.9583);%7D 6.6%25 %7Btransform: scaleY(0.9166);%7D 9.9%25 %7Btransform: scaleY(0.8333);%7D 13.3%25 %7Btransform: scaleY(0.7083);%7D 16.6%25 %7Btransform: scaleY(0.5416);%7D 19.9%25 %7Btransform: scaleY(0.4166);%7D 23.3%25 %7Btransform: scaleY(0.25);%7D 26.6%25 %7Btransform: scaleY(0.1666);%7D 29.9%25 %7Btransform: scaleY(0.125);%7D 33.3%25 %7Btransform: scaleY(0.125);%7D 36.6%25 %7Btransform: scaleY(0.1666);%7D 39.9%25 %7Btransform: scaleY(0.1666);%7D 43.3%25 %7Btransform: scaleY(0.2083);%7D 46.6%25 %7Btransform: scaleY(0.2916);%7D 49.9%25 %7Btransform: scaleY(0.375);%7D 53.3%25 %7Btransform: scaleY(0.5);%7D 56.6%25 %7Btransform: scaleY(0.5833);%7D 59.9%25 %7Btransform: scaleY(0.625);%7D 63.3%25 %7Btransform: scaleY(0.6666);%7D 66.6%25 %7Btransform: scaleY(0.6666);%7D 69.9%25 %7Btransform: scaleY(0.6666);%7D 73.3%25 %7Btransform: scaleY(0.6666);%7D 76.6%25 %7Btransform: scaleY(0.7083);%7D 79.9%25 %7Btransform: scaleY(0.75);%7D 83.3%25 %7Btransform: scaleY(0.8333);%7D 86.6%25 %7Btransform: scaleY(0.875);%7D 89.9%25 %7Btransform: scaleY(0.9166);%7D 93.3%25 %7Btransform: scaleY(0.9583);%7D 96.6%25 %7Btransform: scaleY(1);%7D %7D %23bar1 %7B transform-origin: bottom; animation: play 0.9s -0.51s infinite; %7D %23bar2 %7B transform-origin: bottom; animation: play 0.9s infinite; %7D %23bar3 %7B transform-origin: bottom; animation: play 0.9s -0.15s infinite; %7D %23bar4 %7B transform-origin: bottom; animation: play 0.9s -0.75s infinite; %7D %3C/style%3E%3C/defs%3E%3Ctitle%3Eplaying-icon%3C/title%3E%3Crect id='bar1' class='cls-1' width='4' height='24'/%3E%3Crect id='bar2' class='cls-1' x='6' width='4' height='24'/%3E%3Crect id='bar3' class='cls-1' x='12' width='4' height='24'/%3E%3Crect id='bar4' class='cls-1' x='18' width='4' height='24'/%3E%3C/svg%3E");
|
||||||
|
background: var(--spice-button);
|
||||||
|
content-visibility: hidden;
|
||||||
|
-webkit-mask-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* recolor animated liked or heart button on click */
|
||||||
|
#_R_G *:not([fill="none"]) {
|
||||||
|
fill: var(--spice-button-active) !important;
|
||||||
|
}
|
||||||
|
#_R_G *:not([stroke="none"]) {
|
||||||
|
stroke: var(--spice-button-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change appearance of 'playlist' tag */
|
||||||
|
.main-entityHeader-subtitle.main-entityHeader-small.main-entityHeader-uppercase.main-entityHeader-bold {
|
||||||
|
border: 2px var(--spice-text) solid;
|
||||||
|
border-radius: 8px;
|
||||||
|
width: fit-content;
|
||||||
|
display: inline;
|
||||||
|
text-align: center;
|
||||||
|
padding: 3px 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change appearance of 'follow' button */
|
||||||
|
.artist-artistOverview-overview .main-actionBar-ActionBarRow > button:first-of-type {
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 2px solid var(--spice-button);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change scrollbar appearance */
|
||||||
|
.os-theme-spotify.os-host-transition > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle {
|
||||||
|
border-radius: 4px;
|
||||||
|
width: 6px;
|
||||||
|
background-color: var(--spice-button-disabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
.os-theme-spotify.os-host-transition > .os-scrollbar-vertical > .os-scrollbar-track {
|
||||||
|
width: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* add smooth shadow under headers */
|
||||||
|
.main-trackList-trackListHeaderStuck.main-trackList-trackListHeader,
|
||||||
|
.artist-artistDiscography-topBar.artist-artistDiscography-topBarScrolled {
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
border-bottom: none;
|
||||||
|
-webkit-box-shadow: 0 0 50px 50px var(--spice-main);
|
||||||
|
box-shadow: 0 0 50px 50px var(--spice-main);
|
||||||
|
transition: box-shadow 0.2s;
|
||||||
|
}
|
||||||
|
.search-searchCategory-SearchCategory {
|
||||||
|
-webkit-box-shadow: 0 0 20px 20px var(--spice-main);
|
||||||
|
box-shadow: 0 0 20px 20px var(--spice-main);
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* play button */
|
||||||
|
.main-home-home .main-playButton-PlayButton > button > span {
|
||||||
|
inline-size: 42px;
|
||||||
|
block-size: 42px;
|
||||||
|
min-block-size: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-home-home .main-playButton-PlayButton svg {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-home-home .main-playButton-PlayButton > button > span > span {
|
||||||
|
position: initial;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-actionBar-ActionBar .main-playButton-PlayButton svg {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-actionBar-ActionBar .main-playButton-PlayButton > button > span > span {
|
||||||
|
position: initial;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change text color on category cards in 'search' tab */
|
||||||
|
a.x-categoryCard-CategoryCard,
|
||||||
|
a.x-heroCategoryCard-HeroCategoryCard {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* recolor sub-buttons */
|
||||||
|
.main-moreButton-button {
|
||||||
|
color: var(--spice-button-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-downloadButton-button,
|
||||||
|
.x-contributorButton-button svg,
|
||||||
|
.main-actionBar-ActionBarRow .main-addButton-button {
|
||||||
|
color: var(--spice-button-secondary) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-metaDataText,
|
||||||
|
.x-filterBox-searchIconContainer {
|
||||||
|
color: var(--spice-button-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-metaDataText span {
|
||||||
|
color: var(--spice-button-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-sortBox-sortDropdown {
|
||||||
|
background-color: var(--spice-main-secondary) !important;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[dir="ltr"] .main-actionBar-ActionBarRow > :first-child {
|
||||||
|
margin-right: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-filterBox-expandButton:focus,
|
||||||
|
.x-filterBox-expandButton:hover {
|
||||||
|
background-color: var(--spice-main-secondary) !important;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-sortBox-sortDropdown,
|
||||||
|
.x-filterBox-expandButton {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change background color of 'home' tab shortcut items */
|
||||||
|
.view-homeShortcutsGrid-shortcut {
|
||||||
|
background-color: rgba(var(--spice-rgb-main-secondary), 0.5) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-homeShortcutsGrid-shortcut:focus-within,
|
||||||
|
.view-homeShortcutsGrid-shortcut:hover,
|
||||||
|
.view-homeShortcutsGrid-shortcut[data-context-menu-open="true"] {
|
||||||
|
background-color: var(--spice-main-secondary) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-card-card {
|
||||||
|
background-color: rgba(var(--spice-rgb-main-secondary), 0.5) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-card-card:focus-within,
|
||||||
|
.main-card-card:hover {
|
||||||
|
background-color: var(--spice-main-secondary) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* card background color for editing playlist details */
|
||||||
|
.main-playlistEditDetailsModal-descriptionTextarea {
|
||||||
|
background: var(--spice-main-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-playlistEditDetailsModal-textElementLabel {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change color of search icon for new playlists */
|
||||||
|
.playlist-inlineSearchBox-searchIcon {
|
||||||
|
fill: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change appearance of verified artist badge */
|
||||||
|
.main-entityHeader-headerText > span:first-child {
|
||||||
|
border: 0.25em solid var(--spice-text);
|
||||||
|
border-radius: 0.5em;
|
||||||
|
width: fit-content;
|
||||||
|
gap: 0px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0.25em 0.75em;
|
||||||
|
--font-family: CircularSp,CircularSp-Arab,CircularSp-Hebr,CircularSp-Cyrl,CircularSp-Grek,CircularSp-Deva,var(--fallback-fonts,sans-serif),sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-headerText > span:first-child > span {
|
||||||
|
font-weight: bold;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entityHeader-headerText > span:first-child svg,
|
||||||
|
.main-entityHeader-headerText > span:first-child div {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change text color of hero card on 'library' tab */
|
||||||
|
.main-heroCard-card,
|
||||||
|
.collection-collectionEntityHeroCard-descriptionContainer {
|
||||||
|
color: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
--------------
|
||||||
|
CONTEXT MENU
|
||||||
|
--------------
|
||||||
|
*/
|
||||||
|
/* change hover color when selecting in context menu */
|
||||||
|
.main-contextMenu-menuItemButton:not(.main-contextMenu-disabled):focus,
|
||||||
|
.main-contextMenu-menuItemButton:not(.main-contextMenu-disabled):hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.2) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-contextMenu-menuItemButton[aria-expanded="true"] {
|
||||||
|
background-color: rgba(0, 0, 0, 0.2) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* disabled options */
|
||||||
|
.main-contextMenu-disabled > span {
|
||||||
|
color: rgba(var(--spice-button-disabled), 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* dividers between option subgroups */
|
||||||
|
.main-contextMenu-menuItem:not(:first-child) > .main-contextMenu-dividerBefore:before {
|
||||||
|
border-bottom: 1px solid var(--spice-button-disabled);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
-------------
|
||||||
|
TRACKS GRID
|
||||||
|
-------------
|
||||||
|
*/
|
||||||
|
/* change color of track titles */
|
||||||
|
.main-trackList-rowTitle {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
/* change color of 'explicit' badge */
|
||||||
|
.main-tag-container {
|
||||||
|
background-color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change background color of selected row */
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected,
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected:hover {
|
||||||
|
background-color: var(--spice-main-secondary) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-trackListRow:focus-within,
|
||||||
|
.main-trackList-trackListRow:hover {
|
||||||
|
background-color: rgba(var(--spice-rgb-main-secondary), 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* When song is currently playing */
|
||||||
|
.main-trackList-active .main-type-mesto,
|
||||||
|
.main-trackList-active .main-trackList-rowSubTitle,
|
||||||
|
.main-trackList-active .main-trackList-rowSubTitle a,
|
||||||
|
.main-trackList-active .main-trackList-rowMarker,
|
||||||
|
.main-trackList-active .main-trackList-rowSectionVariable,
|
||||||
|
.main-trackList-active .main-trackList-rowSectionVariable a,
|
||||||
|
.main-trackList-active .main-trackList-rowSectionVariable span,
|
||||||
|
.main-trackList-active .main-trackList-rowMarker,
|
||||||
|
.main-trackList-active .main-trackList-rowDuration {
|
||||||
|
color: var(--spice-button) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-active .main-tag-container {
|
||||||
|
background-color: var(--spice-button);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* When song is hovered/selected */
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected:not(.main-trackList-active) .main-tag-container,
|
||||||
|
.main-trackList-trackListRow:hover:not(.main-trackList-disabled):not(.main-trackList-active) .main-tag-container {
|
||||||
|
background-color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-trackListRow:hover:not(.main-trackList-disabled) .main-addButton-button,
|
||||||
|
.main-trackList-trackListRow:focus-within:not(.main-trackList-disabled) .main-addButton-button {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected:not(.main-trackList-active) .main-trackList-rowTitle,
|
||||||
|
.main-trackList-trackListRow:hover:not(.main-trackList-disabled):not(.main-trackList-active) .main-trackList-rowTitle {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected:not(.main-trackList-active) .main-trackList-rowSubTitle,
|
||||||
|
.main-trackList-trackListRow:hover:not(.main-trackList-disabled):not(.main-trackList-active) .main-trackList-rowSubTitle {
|
||||||
|
color: var(--spice-text) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* color of selected row infos */
|
||||||
|
.main-trackList-rowSectionVariable span,
|
||||||
|
.main-trackList-rowSectionEnd div {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
NEW HOME LAYOUT
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
.main-topBar-navLinks a {
|
||||||
|
border-radius: 8px;
|
||||||
|
color: var(--spice-text);
|
||||||
|
background-color: var(--spice-main-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-topBar-navLinks a:hover {
|
||||||
|
color: var(--spice-button-active);
|
||||||
|
background-color: var(--spice-main-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-topBar-navLinks a.main-topBar-buttonActive {
|
||||||
|
background-color: var(--spice-button-active);
|
||||||
|
color: var(--spice-main);
|
||||||
|
}
|
||||||
|
.nav-alt .x-searchInput-searchInputInput:focus {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
-------
|
||||||
|
TOGGLE
|
||||||
|
-------
|
||||||
|
*/
|
||||||
|
.x-toggle-indicatorWrapper {
|
||||||
|
background-color: transparent;
|
||||||
|
height: 20px !important;
|
||||||
|
width: 40px !important;
|
||||||
|
box-shadow: 0 0 0 1px var(--spice-subtext);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:hover:not([disabled], :active) ~ .x-toggle-indicatorWrapper {
|
||||||
|
background-color: var(--spice-main-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked ~ .x-toggle-indicatorWrapper {
|
||||||
|
background-color: var(--spice-button);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-toggle-indicator {
|
||||||
|
background-color: var(--spice-subtext);
|
||||||
|
height: 12px;
|
||||||
|
width: 12px;
|
||||||
|
top: 4px;
|
||||||
|
left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:not([disabled]) ~ .x-toggle-indicatorWrapper:hover .x-toggle-indicator {
|
||||||
|
transform: scale(1.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked ~ .x-toggle-indicatorWrapper .x-toggle-indicator {
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
right: 4px;
|
||||||
|
}
|
||||||
270
.config/spicetify/Themes/text/color.ini
Normal file
270
.config/spicetify/Themes/text/color.ini
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
; note: most of the accent colors are set to the green of that color scheme, feel free to change it to your preferred color
|
||||||
|
|
||||||
|
[Spotify]
|
||||||
|
accent = 1db954
|
||||||
|
accent-active = 1ed760
|
||||||
|
accent-inactive = 121212
|
||||||
|
banner = 1ed760
|
||||||
|
border-active = 1ed760
|
||||||
|
border-inactive = 535353
|
||||||
|
header = 535353
|
||||||
|
highlight = 1a1a1a
|
||||||
|
main = 121212
|
||||||
|
notification = 4687d6
|
||||||
|
notification-error = e22134
|
||||||
|
subtext = b3b3b3
|
||||||
|
text = FFFFFF
|
||||||
|
|
||||||
|
[Spicetify]
|
||||||
|
accent = 00e089
|
||||||
|
accent-active = 00e089
|
||||||
|
accent-inactive = 2E2837
|
||||||
|
banner = 00e089
|
||||||
|
border-active = 00e089
|
||||||
|
border-inactive = 483b5b
|
||||||
|
header = 483b5b
|
||||||
|
highlight = 483b5b
|
||||||
|
main = 2E2837
|
||||||
|
notification = 00e089
|
||||||
|
notification-error = e22134
|
||||||
|
subtext = DEDEDE
|
||||||
|
text = FFFFFF
|
||||||
|
|
||||||
|
[CatppuccinMocha]
|
||||||
|
;https://github.com/catppuccin/catppuccin
|
||||||
|
accent = a6e3a1
|
||||||
|
accent-active = a6e3a1
|
||||||
|
accent-inactive = 1e1e2e
|
||||||
|
banner = a6e3a1
|
||||||
|
border-active = a6e3a1
|
||||||
|
border-inactive = 313244
|
||||||
|
header = 585b70
|
||||||
|
highlight = 585b70
|
||||||
|
main = 1e1e2e
|
||||||
|
notification = 89b4fa
|
||||||
|
notification-error = f38ba8
|
||||||
|
subtext = a6adc8
|
||||||
|
text = cdd6f4
|
||||||
|
|
||||||
|
[CatppuccinMacchiato]
|
||||||
|
;https://github.com/catppuccin/catppuccin
|
||||||
|
accent = a6da95
|
||||||
|
accent-active = a6da95
|
||||||
|
accent-inactive = 24273a
|
||||||
|
banner = a6da95
|
||||||
|
border-active = a6da95
|
||||||
|
border-inactive = 363a4f
|
||||||
|
header = 5b6078
|
||||||
|
highlight = 5b6078
|
||||||
|
main = 24273a
|
||||||
|
notification = 8aadf4
|
||||||
|
notification-error = ed8796
|
||||||
|
subtext = a5adcb
|
||||||
|
text = cad3f5
|
||||||
|
|
||||||
|
[CatppuccinLatte]
|
||||||
|
;https://github.com/catppuccin/catppuccin
|
||||||
|
accent = a6d189
|
||||||
|
accent-active = a6d189
|
||||||
|
accent-inactive = 303446
|
||||||
|
banner = a6d189
|
||||||
|
border-active = a6d189
|
||||||
|
border-inactive = 414559
|
||||||
|
header = 626880
|
||||||
|
highlight = 626880
|
||||||
|
main = 303446
|
||||||
|
notification = 8caaee
|
||||||
|
notification-error = e78284
|
||||||
|
subtext = a5adce
|
||||||
|
text = c6d0f5
|
||||||
|
|
||||||
|
[Dracula]
|
||||||
|
;https://github.com/dracula/dracula-theme
|
||||||
|
accent = 50fa7b
|
||||||
|
accent-active = 50fa7b
|
||||||
|
accent-inactive = 282a36
|
||||||
|
banner = 50fa7b
|
||||||
|
border-active = 50fa7b
|
||||||
|
border-inactive = 44475a
|
||||||
|
header = 44475a
|
||||||
|
highlight = 44475a
|
||||||
|
main = 282a36
|
||||||
|
notification = 8be9fd
|
||||||
|
notification-error = ff5555
|
||||||
|
subtext = 6272a4
|
||||||
|
text = f8f8f2
|
||||||
|
|
||||||
|
[Gruvbox]
|
||||||
|
;https://github.com/morhetz/gruvbox/
|
||||||
|
accent = 98971a
|
||||||
|
accent-active = b8bb26
|
||||||
|
accent-inactive = 282828
|
||||||
|
banner = b8bb26
|
||||||
|
border-active = b8bb26
|
||||||
|
border-inactive = 3c3836
|
||||||
|
header = 665c54
|
||||||
|
highlight = 7c6f64
|
||||||
|
main = 282828
|
||||||
|
notification = 458588
|
||||||
|
notification-error = cc241d
|
||||||
|
subtext = bdae93
|
||||||
|
text = fbf1c7
|
||||||
|
|
||||||
|
[Kanagawa]
|
||||||
|
;https://github.com/rebelot/kanagawa.nvim
|
||||||
|
accent = 76946A
|
||||||
|
accent-active = 98BB6C
|
||||||
|
accent-inactive = 1F1F28
|
||||||
|
banner = 98BB6C
|
||||||
|
border-active = 98BB6C
|
||||||
|
border-inactive = 2A2A37
|
||||||
|
header = 54546D
|
||||||
|
highlight = 363646
|
||||||
|
main = 1F1F28
|
||||||
|
notification = 7E9CD8
|
||||||
|
notification-error = E82424
|
||||||
|
subtext = C8C093
|
||||||
|
text = DCD7BA
|
||||||
|
|
||||||
|
[Nord]
|
||||||
|
;https://github.com/nordtheme/nord
|
||||||
|
accent = 88c0d0
|
||||||
|
accent-active = 8fbcbb
|
||||||
|
accent-inactive = 2e3440
|
||||||
|
banner = 8fbcbb
|
||||||
|
border-active = 8fbcbb
|
||||||
|
border-inactive = 3b4252
|
||||||
|
header = 4c566a
|
||||||
|
highlight = 4c566a
|
||||||
|
main = 2e3440
|
||||||
|
notification = 5e81ac
|
||||||
|
notification-error = bf616a
|
||||||
|
subtext = d8dee9
|
||||||
|
text = eceff4
|
||||||
|
|
||||||
|
[Rigel]
|
||||||
|
;https://github.com/Rigellute/rigel/
|
||||||
|
accent = 00cccc
|
||||||
|
accent-active = 00ffff
|
||||||
|
accent-inactive = 00384d
|
||||||
|
banner = 00ffff
|
||||||
|
border-active = 00cccc
|
||||||
|
border-inactive = 517f8d
|
||||||
|
header = 517f8d
|
||||||
|
highlight = 00384d
|
||||||
|
main = 002635
|
||||||
|
notification = 7eb2dd
|
||||||
|
notification-error = ff5a67
|
||||||
|
subtext = 77929e
|
||||||
|
text = b7cff9
|
||||||
|
|
||||||
|
[RosePine]
|
||||||
|
;https://github.com/rose-pine/rose-pine-theme
|
||||||
|
accent = ebbcba
|
||||||
|
accent-active = ebbcba
|
||||||
|
accent-inactive = 1f1d2e
|
||||||
|
banner = ebbcba
|
||||||
|
border-active = ebbcba
|
||||||
|
border-inactive = 26233a
|
||||||
|
header = 6e6a86
|
||||||
|
highlight = 403d52
|
||||||
|
main = 191724
|
||||||
|
notification = 31748f
|
||||||
|
notification-error = eb6f92
|
||||||
|
subtext = 908caa
|
||||||
|
text = e0def4
|
||||||
|
|
||||||
|
[RosePineMoon]
|
||||||
|
;https://github.com/rose-pine/rose-pine-theme
|
||||||
|
accent = ea9a97
|
||||||
|
accent-active = ea9a97
|
||||||
|
accent-inactive = 2a273f
|
||||||
|
banner = ea9a97
|
||||||
|
border-active = ea9a97
|
||||||
|
border-inactive = 393552
|
||||||
|
header = 6e6a86
|
||||||
|
highlight = 44415a
|
||||||
|
main = 232136
|
||||||
|
notification = 3e8fb0
|
||||||
|
notification-error = eb6f92
|
||||||
|
subtext = 908caa
|
||||||
|
text = e0def4
|
||||||
|
|
||||||
|
[RosePineDawn]
|
||||||
|
;https://github.com/rose-pine/rose-pine-theme
|
||||||
|
accent = d7827e
|
||||||
|
accent-active = d7827e
|
||||||
|
accent-inactive = fffaf3
|
||||||
|
banner = d7827e
|
||||||
|
border-active = d7827e
|
||||||
|
border-inactive = f2e9e1
|
||||||
|
header = 9893a5
|
||||||
|
highlight = dfdad9
|
||||||
|
main = faf4ed
|
||||||
|
notification = 286983
|
||||||
|
notification-error = b4637a
|
||||||
|
subtext = 797593
|
||||||
|
text = 575279
|
||||||
|
|
||||||
|
[Solarized]
|
||||||
|
;https://github.com/altercation/solarized
|
||||||
|
accent = 859900
|
||||||
|
accent-active = 859900
|
||||||
|
accent-inactive = 073642
|
||||||
|
banner = 859900
|
||||||
|
border-active = 859900
|
||||||
|
border-inactive = 073642
|
||||||
|
header = 586e75
|
||||||
|
highlight = 073642
|
||||||
|
main = 002b36
|
||||||
|
notification = 268bd2
|
||||||
|
notification-error = dc322f
|
||||||
|
subtext = 586e75
|
||||||
|
text = 839496
|
||||||
|
|
||||||
|
[TokyoNight]
|
||||||
|
;https://github.com/enkia/tokyo-night-vscode-theme
|
||||||
|
accent = 9ece6a
|
||||||
|
accent-active = 9ece6a
|
||||||
|
accent-inactive = 1a1b26
|
||||||
|
banner = 9ece6a
|
||||||
|
border-active = 9ece6a
|
||||||
|
border-inactive = 24283b
|
||||||
|
header = 565f89
|
||||||
|
highlight = 24283b
|
||||||
|
main = 1a1b26
|
||||||
|
notification = 7aa2f7
|
||||||
|
notification-error = f7768e
|
||||||
|
subtext = 565f89
|
||||||
|
text = a9b1d6
|
||||||
|
|
||||||
|
[TokyoNightStorm]
|
||||||
|
;https://github.com/enkia/tokyo-night-vscode-theme
|
||||||
|
accent = 9ece6a
|
||||||
|
accent-active = 9ece6a
|
||||||
|
accent-inactive = 24283b
|
||||||
|
banner = 9ece6a
|
||||||
|
border-active = 9ece6a
|
||||||
|
border-inactive = 414868
|
||||||
|
header = 9aa5ce
|
||||||
|
highlight = 414868
|
||||||
|
main = 24283b
|
||||||
|
notification = 7aa2f7
|
||||||
|
notification-error = f7768e
|
||||||
|
subtext = 9aa5ce
|
||||||
|
text = c0caf5
|
||||||
|
|
||||||
|
[ForestGreen]
|
||||||
|
accent = 939393
|
||||||
|
accent-active = 939393
|
||||||
|
accent-inactive = 3e3e29
|
||||||
|
banner = 939393
|
||||||
|
border-active = 939393
|
||||||
|
border-inactive = 515235
|
||||||
|
header = 656641
|
||||||
|
highlight = 656641
|
||||||
|
main = 3e3e29
|
||||||
|
notification = 8c8e59
|
||||||
|
notification-error = 787a4d
|
||||||
|
subtext = 838383
|
||||||
|
text = a3a3a3
|
||||||
905
.config/spicetify/Themes/text/user.css
Normal file
905
.config/spicetify/Themes/text/user.css
Normal file
@@ -0,0 +1,905 @@
|
|||||||
|
/* ================================
|
||||||
|
ROOT
|
||||||
|
================================ */
|
||||||
|
|
||||||
|
/* import */
|
||||||
|
/* find more in https://fonts.google.com/?category=Monospace&sort=popularity */
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400;1,700&family=Azeret+Mono:ital,wght@0,100..900;1,100..900&family=B612+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&family=Cousine:ital,wght@0,400;0,700;1,400;1,700&family=Cutive+Mono&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Fira+Code:wght@300..700&family=Fira+Mono:wght@400;500;700&family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=M+PLUS+1+Code:wght@100..700&family=Nova+Mono&family=Overpass+Mono:wght@300..700&family=Oxygen+Mono&family=PT+Mono&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Share+Tech+Mono&family=Sometype+Mono:ital,wght@0,400..700;1,400..700&family=Sono:wght@200..800&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Syne+Mono&family=Ubuntu+Mono:ital,wght@0,400;0,700;1,400;1,700&family=VT323&family=Xanh+Mono:ital@0;1&display=swap");
|
||||||
|
@import url("https://fonts.cdnfonts.com/css/asciid");
|
||||||
|
|
||||||
|
/* user settings */
|
||||||
|
:root {
|
||||||
|
--font-family: "JetBrains Mono", monospace;
|
||||||
|
/*
|
||||||
|
--font-family: 'Anonymous Pro', monospace;
|
||||||
|
--font-family: 'Azeret Mono', monospace;
|
||||||
|
--font-family: 'B612 Mono', monospace;
|
||||||
|
--font-family: 'Courier Prime', monospace;
|
||||||
|
--font-family: 'Cousine', monospace;
|
||||||
|
--font-family: 'Cutive Mono', monospace;
|
||||||
|
--font-family: 'DM Mono', monospace;
|
||||||
|
--font-family: 'Fira Code', monospace;
|
||||||
|
--font-family: 'Fira Mono', monospace;
|
||||||
|
--font-family: 'IBM Plex Mono', monospace;
|
||||||
|
--font-family: 'JetBrains Mono', monospace;
|
||||||
|
--font-family: 'M PLUS 1 Code', monospace;
|
||||||
|
--font-family: 'Major Mono Display', monospace;
|
||||||
|
--font-family: 'Monofett', monospace;
|
||||||
|
--font-family: 'Nova Mono', monospace;
|
||||||
|
--font-family: 'Overpass Mono', monospace;
|
||||||
|
--font-family: 'Oxygen Mono', monospace;
|
||||||
|
--font-family: 'PT Mono', monospace;
|
||||||
|
--font-family: 'Roboto Mono', monospace;
|
||||||
|
--font-family: 'Share Tech Mono', monospace;
|
||||||
|
--font-family: 'Sometype Mono', monospace;
|
||||||
|
--font-family: 'Sono', monospace;
|
||||||
|
--font-family: 'Source Code Pro', monospace;
|
||||||
|
--font-family: 'Space Mono', monospace;
|
||||||
|
--font-family: 'Syne Mono', monospace;
|
||||||
|
--font-family: 'Ubuntu Mono', monospace;
|
||||||
|
--font-family: 'VT323', monospace;
|
||||||
|
--font-family: 'Xanh Mono', monospace;
|
||||||
|
*/
|
||||||
|
--font-size: 14px;
|
||||||
|
--font-weight: 400; /* 200 : 900 */
|
||||||
|
--line-height: 1.2;
|
||||||
|
|
||||||
|
--font-size-lyrics: 14px; /* 1.5em (default) */
|
||||||
|
|
||||||
|
--font-family-header: "asciid";
|
||||||
|
--font-size-multiplier-header: 4;
|
||||||
|
|
||||||
|
--display-card-image: block; /* none | block */
|
||||||
|
--display-coverart-image: none; /* none | block */
|
||||||
|
--display-header-image: none; /* none | block */
|
||||||
|
--display-sidebar-image: block; /* none | block */
|
||||||
|
--display-tracklist-image: none; /* none | block */
|
||||||
|
--display-spicetify-banner-ascii: block; /* none | block */
|
||||||
|
--display-music-banner-ascii: none; /* none | block */
|
||||||
|
|
||||||
|
--border-radius: 0px;
|
||||||
|
--border-width: 1px;
|
||||||
|
--border-style: solid; /* dotted | dashed | solid | double | groove | ridge | inset | outset */
|
||||||
|
--border-transition: 0.2s ease; /* 'none' to disable */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* font */
|
||||||
|
*:not([style*="lyric" i] *, [class*="lyric" i], .main-entityHeader-title) {
|
||||||
|
font-family: var(--font-family) !important;
|
||||||
|
font-size: var(--font-size) !important;
|
||||||
|
font-weight: var(--font-weight) !important;
|
||||||
|
line-height: var(--line-height) !important;
|
||||||
|
}
|
||||||
|
.lyrics-lyrics-container *,
|
||||||
|
.main-nowPlayingView-lyricsContent * {
|
||||||
|
font-family: var(--font-family);
|
||||||
|
font-size: var(--font-size-lyrics);
|
||||||
|
font-weight: var(--font-weight);
|
||||||
|
line-height: var(--line-height);
|
||||||
|
}
|
||||||
|
.main-entityHeader-title h1 {
|
||||||
|
font-family: var(--font-family-header) !important;
|
||||||
|
font-size: calc(
|
||||||
|
var(--font-size) * var(--font-size-multiplier-header)
|
||||||
|
) !important;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
line-clamp: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* images */
|
||||||
|
.main-card-imageContainer img,
|
||||||
|
.view-homeShortcutsGrid-imageContainer img {
|
||||||
|
display: var(--display-card-image) !important;
|
||||||
|
}
|
||||||
|
.main-coverSlotCollapsed-container {
|
||||||
|
display: var(--display-coverart-image);
|
||||||
|
}
|
||||||
|
.main-entityHeader-imageContainer,
|
||||||
|
.under-main-view,
|
||||||
|
.main-entityHeader-creatorWrapper .main-avatar-avatar,
|
||||||
|
.main-entityHeader-imageContainer,
|
||||||
|
.playlist-playlist-playlistImageContainer,
|
||||||
|
.profile-userOverview-imageContainer {
|
||||||
|
display: var(--display-header-image);
|
||||||
|
}
|
||||||
|
.x-entityImage-imageContainer img,
|
||||||
|
.main-avatar-image {
|
||||||
|
display: var(--display-sidebar-image);
|
||||||
|
}
|
||||||
|
.main-trackList-rowImage {
|
||||||
|
display: var(--display-tracklist-image);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fix */
|
||||||
|
:root {
|
||||||
|
--content-max-width: 100% !important;
|
||||||
|
}
|
||||||
|
.Root__globalNav {
|
||||||
|
padding: 8px 16px !important;
|
||||||
|
height: unset;
|
||||||
|
}
|
||||||
|
.spotify__container--is-desktop.spotify__os--is-windows .Root__globalNav,
|
||||||
|
.spotify__container--is-desktop.spotify__os--is-macos .Root__globalNav {
|
||||||
|
margin: 40px 0 0;
|
||||||
|
}
|
||||||
|
.spotify__container--is-desktop.spotify__os--is-linux .Root__globalNav {
|
||||||
|
margin: 8px 0 0;
|
||||||
|
}
|
||||||
|
.Root__top-container {
|
||||||
|
--panel-gap: 16px !important;
|
||||||
|
}
|
||||||
|
.Root__top-bar {
|
||||||
|
border: var(--border-width) solid transparent;
|
||||||
|
}
|
||||||
|
.Root__nav-bar,
|
||||||
|
.Root__now-playing-bar {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
.main-view-container {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
section:has(> .main-entityHeader-container),
|
||||||
|
div:has(> .main-entityHeader-container) {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.main-entityHeader-container {
|
||||||
|
height: unset !important;
|
||||||
|
min-height: unset !important;
|
||||||
|
}
|
||||||
|
.main-entityHeader-imageContainerNew {
|
||||||
|
height: 128px;
|
||||||
|
width: 128px;
|
||||||
|
}
|
||||||
|
.main-topBar-background {
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-topBar-overlay,
|
||||||
|
.main-entityHeader-container > div,
|
||||||
|
.main-entityHeader-container + div[style*="background-color"],
|
||||||
|
.main-entityHeader-container + div > div[style*="background-color"],
|
||||||
|
.main-home-homeHeader,
|
||||||
|
.main-home-filterChipsSection,
|
||||||
|
.main-home-filterChipsSection::after {
|
||||||
|
background-color: transparent !important;
|
||||||
|
background-image: none !important;
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
.LayoutResizer__resize-bar {
|
||||||
|
cursor: w-resize;
|
||||||
|
}
|
||||||
|
.LayoutResizer__inline-end:after,
|
||||||
|
.LayoutResizer__inline-start:after {
|
||||||
|
background-color: var(--spice-border-inactive);
|
||||||
|
}
|
||||||
|
.LayoutResizer__resize-bar--resizing.LayoutResizer__inline-start:after,
|
||||||
|
.LayoutResizer__resize-bar--resizing.LayoutResizer__inline-end:after {
|
||||||
|
background-color: var(--spice-border-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fullscreen */
|
||||||
|
.spotifyinternal-artistnpv .npv-what-is-playing .npv-cover-art,
|
||||||
|
.spotifyinternal-artistnpv .npv-what-is-playing .npv-track {
|
||||||
|
bottom: 18em;
|
||||||
|
}
|
||||||
|
.spotifyinternal-artistnpv .npv-what-is-playing .npv-cover-art {
|
||||||
|
-webkit-transform: scale(0.34375);
|
||||||
|
transform: scale(0.34375);
|
||||||
|
}
|
||||||
|
.spotifyinternal-artistnpv .npv-what-is-playing .npv-track {
|
||||||
|
-webkit-transform: none;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
.npv-main-container .playback-bar {
|
||||||
|
position: unset;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.npv-nowPlayingBar-controls {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* recolor */
|
||||||
|
:root {
|
||||||
|
--spice-main-elevated: var(--spice-main);
|
||||||
|
--spice-highlight-elevated: var(--spice-main);
|
||||||
|
--spice-sidebar: var(--spice-main);
|
||||||
|
--spice-player: var(--spice-main);
|
||||||
|
--spice-card: var(--spice-main);
|
||||||
|
--spice-shadow: var(--spice-main);
|
||||||
|
--spice-selected-row: var(--spice-subtext);
|
||||||
|
--spice-button: var(--spice-accent);
|
||||||
|
--spice-button-active: var(--spice-accent-active);
|
||||||
|
--spice-button-disabled: var(--spice-accent-inactive);
|
||||||
|
--spice-tab-active: var(--spice-main);
|
||||||
|
--spice-rgb-main-elevated: var(--spice-rgb-main);
|
||||||
|
--spice-rgb-highlight-elevated: var(--spice-rgb-main);
|
||||||
|
--spice-rgb-sidebar: var(--spice-rgb-main);
|
||||||
|
--spice-rgb-player: var(--spice-rgb-main);
|
||||||
|
--spice-rgb-card: var(--spice-rgb-main);
|
||||||
|
--spice-rgb-shadow: var(--spice-rgb-main);
|
||||||
|
--spice-rgb-selected-row: var(--spice-rgb-subtext);
|
||||||
|
--spice-rgb-button: var(--spice-rgb-accent);
|
||||||
|
--spice-rgb-button-active: var(--spice-rgb-accent-active);
|
||||||
|
--spice-rgb-button-disabled: var(--spice-rgb-accent-inactive);
|
||||||
|
--spice-rgb-tab-active: var(--spice-rgb-main);
|
||||||
|
}
|
||||||
|
.encore-dark-theme,
|
||||||
|
.encore-dark-theme .encore-base-set {
|
||||||
|
--background-elevated-press: var(--spice-main-elevated);
|
||||||
|
--essential-subdued: var(--spice-border-inactive);
|
||||||
|
--decorative-subdued: var(--spice-accent-inactive);
|
||||||
|
}
|
||||||
|
.encore-dark-theme .encore-bright-accent-set {
|
||||||
|
--background-highlight: var(--spice-button-active) !important;
|
||||||
|
--background-elevated-base: var(--spice-button-active) !important;
|
||||||
|
--background-elevated-highlight: var(--spice-button-active) !important;
|
||||||
|
--background-press: var(--spice-button-active) !important;
|
||||||
|
--background-elevated-press: var(--spice-button-active) !important;
|
||||||
|
}
|
||||||
|
.Root__top-container,
|
||||||
|
.Root__nav-bar {
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-playPauseButton-button {
|
||||||
|
background-color: transparent;
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
.main-playPauseButton-button:focus,
|
||||||
|
.main-playPauseButton-button:hover {
|
||||||
|
transform: none;
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
#_R_G *:not([fill="none"]) {
|
||||||
|
fill: var(--spice-button-active) !important;
|
||||||
|
}
|
||||||
|
#_R_G *:not([stroke="none"]) {
|
||||||
|
stroke: var(--spice-button-active);
|
||||||
|
}
|
||||||
|
.view-homeShortcutsGrid-equaliser,
|
||||||
|
.main-devicePicker-nowPlayingActiveIcon,
|
||||||
|
.main-trackList-playingIcon {
|
||||||
|
filter: grayscale(1) opacity(0.2)
|
||||||
|
drop-shadow(0 0 0 var(--spice-button-active))
|
||||||
|
drop-shadow(0 0 0 var(--spice-button-active))
|
||||||
|
drop-shadow(0 0 0 var(--spice-button-active));
|
||||||
|
}
|
||||||
|
::placeholder {
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
}
|
||||||
|
.main-entityHeader-background,
|
||||||
|
.main-entityHeader-backgroundColor,
|
||||||
|
.main-entityHeader-overlay,
|
||||||
|
.main-actionBarBackground-background,
|
||||||
|
.main-buddyFeed-container,
|
||||||
|
.main-nowPlayingView-content.main-nowPlayingView-gradient {
|
||||||
|
background-color: transparent !important;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.progress-bar {
|
||||||
|
--fg-color: var(--spice-button-active);
|
||||||
|
--bg-color: var(--spice-button-disabled);
|
||||||
|
}
|
||||||
|
.playback-bar__progress-time-elapsed,
|
||||||
|
.main-playbackBarRemainingTime-container {
|
||||||
|
mix-blend-mode: difference;
|
||||||
|
color: var(--spice-button-active);
|
||||||
|
}
|
||||||
|
.main-trackList-placeholder {
|
||||||
|
background-color: var(--background-base);
|
||||||
|
background-blend-mode: color-dodge;
|
||||||
|
}
|
||||||
|
.main-trackList-trackListHeaderStuck.main-trackList-trackListHeader {
|
||||||
|
background: var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-trackList-trackListRow:focus-within,
|
||||||
|
.main-trackList-trackListRow:hover,
|
||||||
|
.main-contextMenu-menuItemButton:hover,
|
||||||
|
.main-contextMenu-menuItemButton:not([aria-checked="true"]):focus,
|
||||||
|
.main-card-card:hover,
|
||||||
|
.main-card-card[data-context-menu-open="true"],
|
||||||
|
[class*="BoxComponent-group-card"]:hover::after,
|
||||||
|
[class*="BoxComponent-group-listRow"]:hover::after {
|
||||||
|
background-color: rgba(var(--spice-rgb-highlight), 0.5);
|
||||||
|
}
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected,
|
||||||
|
.main-trackList-trackListRow.main-trackList-selected:hover {
|
||||||
|
background-color: var(--spice-highlight);
|
||||||
|
}
|
||||||
|
.x-entityImage-imageContainer,
|
||||||
|
.main-card-imageContainer > div:first-child {
|
||||||
|
background-color: var(--card-color, var(--spice-border-inactive));
|
||||||
|
}
|
||||||
|
.main-avatar-avatar {
|
||||||
|
background-color: var(--spice-border-inactive) !important;
|
||||||
|
}
|
||||||
|
.main-entityHeader-title h1 {
|
||||||
|
color: var(--spice-banner);
|
||||||
|
}
|
||||||
|
div[style*="--text-subdued: rgba(255, 255, 255, 0.7);"] {
|
||||||
|
--text-subdued: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* pane borders */
|
||||||
|
.Root__globalNav,
|
||||||
|
.main-yourLibraryX-entryPoints,
|
||||||
|
.Root__main-view,
|
||||||
|
.Root__now-playing-bar,
|
||||||
|
.Root__right-sidebar:has(aside:not(:empty)) {
|
||||||
|
border: var(--border-width) var(--border-style);
|
||||||
|
border-color: var(--spice-border-inactive);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
transition: border-color var(--border-transition);
|
||||||
|
}
|
||||||
|
.Root__globalNav:hover,
|
||||||
|
.main-yourLibraryX-entryPoints:hover,
|
||||||
|
.Root__main-view:hover,
|
||||||
|
.Root__now-playing-bar:hover,
|
||||||
|
.Root__right-sidebar:has(aside:not(:empty)):hover {
|
||||||
|
border: var(--border-width) var(--border-style);
|
||||||
|
border-color: var(--spice-border-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* pane headers */
|
||||||
|
.Root__nav-bar .main-yourLibraryX-entryPoints {
|
||||||
|
overflow-x: visible !important;
|
||||||
|
}
|
||||||
|
.Root__globalNav::before,
|
||||||
|
.main-globalNav-searchContainer
|
||||||
|
form
|
||||||
|
div:has(> .main-topBar-searchBar:focus)::before,
|
||||||
|
.Root__nav-bar
|
||||||
|
.main-yourLibraryX-entryPoints:has(.main-yourLibraryX-navItems)::before,
|
||||||
|
.Root__nav-bar
|
||||||
|
.main-yourLibraryX-entryPoints:has(
|
||||||
|
.main-yourLibraryX-libraryContainer
|
||||||
|
)::before,
|
||||||
|
.Root__main-view::before,
|
||||||
|
.Root__now-playing-bar::before,
|
||||||
|
.Root__right-sidebar:has(aside:not(:empty))::before {
|
||||||
|
color: var(--spice-header);
|
||||||
|
position: absolute;
|
||||||
|
margin: -10px 4px;
|
||||||
|
background: var(--spice-main);
|
||||||
|
padding: 0 3px;
|
||||||
|
z-index: 3;
|
||||||
|
transition: color var(--border-transition);
|
||||||
|
}
|
||||||
|
.Root__globalNav::before {
|
||||||
|
content: "Nav";
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.main-globalNav-searchContainer
|
||||||
|
form
|
||||||
|
div:has(> .main-topBar-searchBar:focus)::before {
|
||||||
|
content: "Search";
|
||||||
|
color: var(--spice-border-active) !important;
|
||||||
|
}
|
||||||
|
.Root__nav-bar
|
||||||
|
.main-yourLibraryX-entryPoints:has(.main-yourLibraryX-navItems)::before {
|
||||||
|
content: "Pages";
|
||||||
|
}
|
||||||
|
.Root__nav-bar
|
||||||
|
.main-yourLibraryX-entryPoints:has(
|
||||||
|
.main-yourLibraryX-libraryContainer
|
||||||
|
)::before {
|
||||||
|
content: "Library";
|
||||||
|
}
|
||||||
|
.Root__main-view::before {
|
||||||
|
content: "Main";
|
||||||
|
position: fixed;
|
||||||
|
}
|
||||||
|
.Root__now-playing-bar::before {
|
||||||
|
content: "Playing";
|
||||||
|
}
|
||||||
|
.Root__right-sidebar:has(aside:not(:empty))::before {
|
||||||
|
content: "Sidebar";
|
||||||
|
}
|
||||||
|
.Root__globalNav:hover::before,
|
||||||
|
.Root__nav-bar .main-yourLibraryX-entryPoints:hover::before,
|
||||||
|
.Root__main-view:hover::before,
|
||||||
|
.Root__now-playing-bar:hover::before,
|
||||||
|
.Root__right-sidebar:has(aside:not(:empty)):hover::before {
|
||||||
|
color: var(--spice-border-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* scrollbars */
|
||||||
|
.os-scrollbar-handle {
|
||||||
|
border-radius: var(--border-radius) !important;
|
||||||
|
width: 2px !important;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
.os-scrollbar-handle:hover {
|
||||||
|
border-radius: var(--border-radius) !important;
|
||||||
|
width: 6px !important;
|
||||||
|
}
|
||||||
|
.os-scrollbar-vertical {
|
||||||
|
top: 5px !important;
|
||||||
|
right: 5px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* context menus + tippy boxes */
|
||||||
|
.main-contextMenu-menu,
|
||||||
|
.tippy-box {
|
||||||
|
border: var(--border-width) var(--border-style) var(--spice-border-active);
|
||||||
|
border-radius: var(--border-radius) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* modals */
|
||||||
|
.GenericModal,
|
||||||
|
.GenericModal__overlay > div {
|
||||||
|
border: var(--border-width) var(--border-style) var(--spice-border-active);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
.GenericModal::before,
|
||||||
|
.GenericModal__overlay > div::before {
|
||||||
|
content: "Modal";
|
||||||
|
color: var(--spice-border-active);
|
||||||
|
position: absolute;
|
||||||
|
margin: -10px 4px;
|
||||||
|
background: var(--spice-main);
|
||||||
|
padding: 0 3px;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================
|
||||||
|
GLOBAL NAV
|
||||||
|
================================ */
|
||||||
|
|
||||||
|
/* search section */
|
||||||
|
.main-globalNav-searchSection,
|
||||||
|
.main-globalNav-searchContainer {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.main-globalNav-searchSection {
|
||||||
|
position: unset;
|
||||||
|
top: unset;
|
||||||
|
left: unset;
|
||||||
|
}
|
||||||
|
.main-globalNav-searchContainer {
|
||||||
|
max-width: unset;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.main-globalNav-searchContainer form .main-topBar-searchBar {
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 1px solid;
|
||||||
|
border-color: var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-globalNav-searchContainer form:hover .main-topBar-searchBar {
|
||||||
|
box-shadow: none;
|
||||||
|
border: 1px solid;
|
||||||
|
border-color: var(--spice-border-inactive);
|
||||||
|
}
|
||||||
|
.Root__globalNav:hover:has(.main-topBar-searchBar:focus) {
|
||||||
|
border: var(--border-width) var(--border-style);
|
||||||
|
border-color: var(--spice-border-inactive);
|
||||||
|
}
|
||||||
|
.Root__globalNav:hover:has(.main-topBar-searchBar:focus)::before {
|
||||||
|
color: var(--spice-header);
|
||||||
|
}
|
||||||
|
.main-globalNav-searchContainer form .main-topBar-searchBar:focus {
|
||||||
|
box-shadow: none;
|
||||||
|
border: var(--border-width) var(--border-style);
|
||||||
|
border-color: var(--spice-border-active);
|
||||||
|
outline: 14px solid var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-globalNav-searchContainer form .main-topBar-searchBar + div > div {
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
box-shadow: none;
|
||||||
|
margin: 24.5px 0;
|
||||||
|
border: var(--border-width) var(--border-style);
|
||||||
|
border-color: var(--spice-border-active);
|
||||||
|
outline: 14px solid var(--spice-main);
|
||||||
|
}
|
||||||
|
form .main-topBar-searchBar::placeholder,
|
||||||
|
form .main-topBar-searchBar:placeholder-shown {
|
||||||
|
transition: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================
|
||||||
|
LEFT SIDEBAR
|
||||||
|
================================ */
|
||||||
|
|
||||||
|
/* pages pane */
|
||||||
|
.main-yourLibraryX-navLink {
|
||||||
|
height: 24px;
|
||||||
|
gap: 8px;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-navLink > svg,
|
||||||
|
.main-yourLibraryX-header .main-yourLibraryX-collapseButtonWrapper > span {
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* library pane */
|
||||||
|
.x-entityImage-imageContainer {
|
||||||
|
transform: scale(0.7);
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.x-entityImage-imageContainer::before {
|
||||||
|
content: "░▒▒░";
|
||||||
|
color: var(--spice-subtext);
|
||||||
|
transform: scale(1.4);
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 20%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-filterArea {
|
||||||
|
padding: 0 8px;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-libraryRootlist {
|
||||||
|
padding: 0 16px 8px;
|
||||||
|
}
|
||||||
|
.main-yourLibraryX-listItem span.LineClamp {
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
line-clamp: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* sidebar config */
|
||||||
|
.main-yourLibraryX-entryPoints:first-child:has(
|
||||||
|
.main-yourLibraryX-navItems:empty
|
||||||
|
) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================
|
||||||
|
MAIN VIEW
|
||||||
|
================================ */
|
||||||
|
|
||||||
|
/* check out a cool project: https://github.com/Rigellute/spotify-tui
|
||||||
|
|
||||||
|
_________ ____ / /_(_) __/_ __ / /___ __(_)\A
|
||||||
|
/ ___/ __ \\/ __ \\/ __/ / /_/ / / /_____/ __/ / / / /\A
|
||||||
|
(__ ) /_/ / /_/ / /_/ / __/ /_/ /_____/ /_/ /_/ / /\A
|
||||||
|
/____/ .___/\\____/\\__/_/_/ \\__, / \\__/\\__,_/_/\A
|
||||||
|
/_/ /____/
|
||||||
|
|
||||||
|
*/
|
||||||
|
.view-homeShortcutsGrid-shortcuts::before {
|
||||||
|
content: " _________ ____ / /_(_) __/_ __ / /___ __(_)\A / ___/ __ \\/ __ \\/ __/ / /_/ / / /_____/ __/ / / / /\A (__ ) /_/ / /_/ / /_/ / __/ /_/ /_____/ /_/ /_/ / /\A /____/ .___/\\____/\\__/_/_/ \\__, / \\__/\\__,_/_/\A /_/ /____/ ";
|
||||||
|
white-space: pre-wrap;
|
||||||
|
padding: 32px 0;
|
||||||
|
color: var(--spice-banner);
|
||||||
|
line-height: 1.2;
|
||||||
|
text-wrap: nowrap;
|
||||||
|
display: var(--display-spicetify-banner-ascii);
|
||||||
|
}
|
||||||
|
.main-entityHeader-headerText::before {
|
||||||
|
content: "────█▀█▄▄▄▄─────██▄\A────█▀▄▄▄▄█─────█▀▀█\A─▄▄▄█─────█──▄▄▄█\A██▀▄█─▄██▀█─███▀█\A─▀▀▀──▀█▄█▀─▀█▄█▀\A";
|
||||||
|
white-space: pre-wrap;
|
||||||
|
padding-bottom: 32px;
|
||||||
|
color: var(--spice-banner);
|
||||||
|
line-height: 1.2;
|
||||||
|
text-wrap: nowrap;
|
||||||
|
display: var(--display-music-banner-ascii);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* top bar */
|
||||||
|
.queue-tabBar-active,
|
||||||
|
.marketplace-tabBar-active {
|
||||||
|
text-decoration: underline !important;
|
||||||
|
}
|
||||||
|
.main-topBar-historyButtons .main-topBar-button {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.main-topBar-historyButtons > .main-topBar-button:first-child::before {
|
||||||
|
content: "<";
|
||||||
|
}
|
||||||
|
.main-topBar-button.main-topBar-responsiveForward::before {
|
||||||
|
content: ">";
|
||||||
|
}
|
||||||
|
.main-topBar-historyButtons > .main-topBar-button:first-child > svg,
|
||||||
|
.main-topBar-button.main-topBar-responsiveForward > svg {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.main-topBar-topbarContent {
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
.x-searchInput-searchInputInput {
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.x-searchInput-searchInputInput:hover,
|
||||||
|
.x-searchInput-searchInputInput:focus {
|
||||||
|
box-shadow: none;
|
||||||
|
border: 1px solid var(--spice-button-active);
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.search-searchCategory-catergoryGrid *,
|
||||||
|
.main-shelf-subHeader *,
|
||||||
|
.ChipInnerComponent-sm,
|
||||||
|
.ChipInnerComponent-sm-selected {
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
}
|
||||||
|
.main-globalNav-historyButtonsContainer svg,
|
||||||
|
.main-globalNav-searchContainer svg {
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* headers */
|
||||||
|
.main-entityHeader-container {
|
||||||
|
padding: var(--content-spacing) 0;
|
||||||
|
}
|
||||||
|
.main-entityHeader-container.main-entityHeader-withBackgroundImage {
|
||||||
|
background-image: radial-gradient(
|
||||||
|
circle,
|
||||||
|
rgba(var(--spice-rgb-main), 0.7) 0%,
|
||||||
|
rgba(var(--spice-rgb-main), 0.9) 50%,
|
||||||
|
rgba(var(--spice-rgb-main), 1) 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* compact tracklists */
|
||||||
|
.main-trackList-trackListRow {
|
||||||
|
height: 32px;
|
||||||
|
}
|
||||||
|
.main-trackList-rowMainContent {
|
||||||
|
grid-template: "title badges subtitle" / auto 1fr;
|
||||||
|
column-gap: 0;
|
||||||
|
}
|
||||||
|
.main-trackList-rowImage {
|
||||||
|
height: 24px;
|
||||||
|
width: 24px;
|
||||||
|
}
|
||||||
|
.main-trackList-rowTitle:has(+ span)::after {
|
||||||
|
content: "|";
|
||||||
|
color: var(--spice-highlight);
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
.main-trackList-rowBadges {
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
.main-trackList-number,
|
||||||
|
.main-trackList-icon {
|
||||||
|
top: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* lyrics page & sidebar */
|
||||||
|
.lyrics-lyrics-background {
|
||||||
|
background-color: var(--spice-main);
|
||||||
|
}
|
||||||
|
.main-nowPlayingView-sectionHeaderSpacing.main-nowPlayingView-lyricsGradient {
|
||||||
|
background-color: var(--background-tinted-base);
|
||||||
|
}
|
||||||
|
.lyrics-lyrics-contentContainer {
|
||||||
|
justify-content: start;
|
||||||
|
}
|
||||||
|
.lyrics-lyrics-container,
|
||||||
|
.main-nowPlayingView-section {
|
||||||
|
--lyrics-color-active: var(--spice-text) !important;
|
||||||
|
--lyrics-color-inactive: var(--spice-subtext) !important;
|
||||||
|
--lyrics-color-passed: var(--spice-subtext) !important;
|
||||||
|
--lyrics-color-messaging: var(--spice-subtext) !important;
|
||||||
|
}
|
||||||
|
.lyrics-lyricsContent-lyric {
|
||||||
|
opacity: 0.3;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.lyrics-lyricsContent-lyric.lyrics-lyricsContent-highlight {
|
||||||
|
opacity: 0.7;
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
.lyrics-lyricsContent-lyric.lyrics-lyricsContent-active:not(:empty) {
|
||||||
|
background-color: var(--lyrics-color-background);
|
||||||
|
color: var(--spice-main);
|
||||||
|
opacity: 1;
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
.lyrics-lyricsContent-lyric:not(:empty)::before {
|
||||||
|
content: ">> ";
|
||||||
|
opacity: 0;
|
||||||
|
white-space: break-spaces;
|
||||||
|
}
|
||||||
|
.lyrics-lyricsContent-lyric.lyrics-lyricsContent-active:not(:empty)::before {
|
||||||
|
content: ">> ";
|
||||||
|
opacity: 1;
|
||||||
|
white-space: break-spaces;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* lyrics cinema */
|
||||||
|
.Root__lyrics-cinema {
|
||||||
|
border: var(--border-width) var(--border-style) transparent;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.main-nowPlayingView-lyricsContent {
|
||||||
|
-webkit-mask-image: none !important;
|
||||||
|
mask-image: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================
|
||||||
|
PLAYBACK BAR
|
||||||
|
================================ */
|
||||||
|
|
||||||
|
/* playback bar itself */
|
||||||
|
.main-nowPlayingBar-nowPlayingBar {
|
||||||
|
padding: 8px 8px 32px 8px;
|
||||||
|
height: 96px;
|
||||||
|
}
|
||||||
|
.playback-bar {
|
||||||
|
position: absolute;
|
||||||
|
left: calc(var(--panel-gap) + 8px);
|
||||||
|
bottom: calc(var(--panel-gap) + 8px);
|
||||||
|
width: calc(100vw - var(--panel-gap) * 2 - 16px);
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* playback time indicators */
|
||||||
|
.playback-bar__progress-time-elapsed {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
.playback-bar__progress-time-elapsed::after {
|
||||||
|
content: " /";
|
||||||
|
}
|
||||||
|
.playback-bar__progress-time-elapsed,
|
||||||
|
.main-playbackBarRemainingTime-container {
|
||||||
|
z-index: 9;
|
||||||
|
padding-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* playback seek bar */
|
||||||
|
.playback-progressbar-container {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.progress-bar {
|
||||||
|
--progress-bar-height: 16px;
|
||||||
|
--progress-bar-radius: var(--border-radius);
|
||||||
|
}
|
||||||
|
.progress-bar__slider {
|
||||||
|
box-shadow: none;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* cover art */
|
||||||
|
.main-nowPlayingWidget-coverArt .cover-art {
|
||||||
|
height: 32px !important;
|
||||||
|
width: 32px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* left nowplaying text */
|
||||||
|
.main-nowPlayingBar-left {
|
||||||
|
padding-inline-start: 0;
|
||||||
|
}
|
||||||
|
.main-nowPlayingWidget-trackInfo {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* volume bar */
|
||||||
|
.volume-bar__slider-container .x-progressBar-fillColor,
|
||||||
|
.volume-bar__slider-container
|
||||||
|
.playback-progressbar-isInteractive
|
||||||
|
.progress-bar--isDragging
|
||||||
|
.x-progressBar-fillColor,
|
||||||
|
.volume-bar__slider-container
|
||||||
|
.playback-progressbar-isInteractive
|
||||||
|
.progress-bar:focus
|
||||||
|
.x-progressBar-fillColor,
|
||||||
|
.volume-bar__slider-container
|
||||||
|
.playback-progressbar-isInteractive
|
||||||
|
.progress-bar:hover
|
||||||
|
.x-progressBar-fillColor,
|
||||||
|
.volume-bar__slider-container
|
||||||
|
.playback-progressbar-isInteractive:focus-within
|
||||||
|
.x-progressBar-fillColor {
|
||||||
|
height: 9px;
|
||||||
|
background-color: transparent;
|
||||||
|
border-bottom: 2px dashed var(--fg-color);
|
||||||
|
}
|
||||||
|
.volume-bar__slider-container .x-progressBar-progressBarBg {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* player controls */
|
||||||
|
.player-controls__buttons {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.player-controls__buttons,
|
||||||
|
.main-nowPlayingBar-extraControls {
|
||||||
|
opacity: 0.25;
|
||||||
|
transition: opacity var(--border-transition);
|
||||||
|
}
|
||||||
|
.player-controls__buttons:hover,
|
||||||
|
.main-nowPlayingBar-extraControls:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.main-shuffleButton-button::before,
|
||||||
|
button[data-testid="control-button-shuffle"]::after,
|
||||||
|
.ecHWOS
|
||||||
|
button:has(
|
||||||
|
path[d="M13.151.922a.75.75 0 1 0-1.06 1.06L13.109 3H11.16a3.75 3.75 0 0 0-2.873 1.34l-6.173 7.356A2.25 2.25 0 0 1 .39 12.5H0V14h.391a3.75 3.75 0 0 0 2.873-1.34l6.173-7.356a2.25 2.25 0 0 1 1.724-.804h1.947l-1.017 1.018a.75.75 0 0 0 1.06 1.06L15.98 3.75 13.15.922zM.391 3.5H0V2h.391c1.109 0 2.16.49 2.873 1.34L4.89 5.277l-.979 1.167-1.796-2.14A2.25 2.25 0 0 0 .39 3.5z"]
|
||||||
|
)::before {
|
||||||
|
content: "\21C4";
|
||||||
|
}
|
||||||
|
.ecHWOS
|
||||||
|
button:has(
|
||||||
|
path[d="M12.09.922a.75.75 0 0 1 1.061 0L15.98 3.75l-2.83 2.828a.75.75 0 1 1-1.06-1.06L13.109 4.5H11.16a2.25 2.25 0 0 0-1.724.804L3.264 12.66A3.75 3.75 0 0 1 .391 14H0v-1.5h.391a2.25 2.25 0 0 0 1.724-.804L8.288 4.34A3.75 3.75 0 0 1 11.16 3h1.947L12.09 1.982a.75.75 0 0 1 0-1.06zM.88 3.319C2.255 2.874 2.976 1.787 3.297.874c.036-.102.37-.102.406 0 .321.913 1.042 2 2.417 2.445.103.033.103.329 0 .362-1.375.445-2.096 1.532-2.417 2.445-.036.102-.37.102-.406 0-.321-.913-1.042-2-2.417-2.445-.103-.033-.103-.329 0-.362z"]
|
||||||
|
)::before {
|
||||||
|
content: "\21C4\2726";
|
||||||
|
text-wrap: nowrap;
|
||||||
|
}
|
||||||
|
.main-skipBackButton-button::before,
|
||||||
|
button[data-testid="control-button-skip-back"]::after {
|
||||||
|
content: "\25C1";
|
||||||
|
}
|
||||||
|
.main-playPauseButton-button[aria-label="Play"]::before,
|
||||||
|
.main-playPauseButton-button:has(
|
||||||
|
path[d="M3 1.713a.7.7 0 0 1 1.05-.607l10.89 6.288a.7.7 0 0 1 0 1.212L4.05 14.894A.7.7 0 0 1 3 14.288V1.713z"]
|
||||||
|
)::before,
|
||||||
|
button[data-testid="control-button-playpause"]:has(
|
||||||
|
path[d="M3 1.713a.7.7 0 0 1 1.05-.607l10.89 6.288a.7.7 0 0 1 0 1.212L4.05 14.894A.7.7 0 0 1 3 14.288V1.713z"]
|
||||||
|
)::after,
|
||||||
|
button[data-testid="control-button-playpause"]:has(
|
||||||
|
path[d="m7.05 3.606 13.49 7.788a.7.7 0 0 1 0 1.212L7.05 20.394A.7.7 0 0 1 6 19.788V4.212a.7.7 0 0 1 1.05-.606z"]
|
||||||
|
)::after {
|
||||||
|
content: "\25B6";
|
||||||
|
}
|
||||||
|
.main-playPauseButton-button[aria-label="Pause"]::before,
|
||||||
|
.main-playPauseButton-button:has(
|
||||||
|
path[d="M3 1.713a.7.7 0 0 1 1.05-.607l10.89 6.288a.7.7 0 0 1 0 1.212L4.05 14.894A.7.7 0 0 1 3 14.288V1.713z"]
|
||||||
|
)::before,
|
||||||
|
button[data-testid="control-button-playpause"]:has(
|
||||||
|
path[d="M2.7 1a.7.7 0 0 0-.7.7v12.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V1.7a.7.7 0 0 0-.7-.7H2.7zm8 0a.7.7 0 0 0-.7.7v12.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V1.7a.7.7 0 0 0-.7-.7h-2.6z"]
|
||||||
|
)::after,
|
||||||
|
button[data-testid="control-button-playpause"]:has(
|
||||||
|
path[d="M5.7 3a.7.7 0 0 0-.7.7v16.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V3.7a.7.7 0 0 0-.7-.7H5.7zm10 0a.7.7 0 0 0-.7.7v16.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V3.7a.7.7 0 0 0-.7-.7h-2.6z"]
|
||||||
|
)::after {
|
||||||
|
content: "\275A\275A";
|
||||||
|
text-wrap: nowrap;
|
||||||
|
}
|
||||||
|
button[data-testid="control-button-playpause"] {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
button[data-testid="control-button-playpause"]:hover {
|
||||||
|
color: var(--spice-text);
|
||||||
|
}
|
||||||
|
button[data-testid="control-button-playpause"] .ButtonInner-small-iconOnly {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.main-skipForwardButton-button::before,
|
||||||
|
button[data-testid="control-button-skip-forward"]::after {
|
||||||
|
content: "\25B7";
|
||||||
|
}
|
||||||
|
.main-repeatButton-button::before,
|
||||||
|
button[data-testid="control-button-repeat"]::after {
|
||||||
|
content: "\21BB";
|
||||||
|
}
|
||||||
|
.main-repeatButton-button[aria-checked="mixed"]::before,
|
||||||
|
button[data-testid="control-button-repeat"][aria-checked="mixed"]::after {
|
||||||
|
content: "\21BB\2474";
|
||||||
|
text-wrap: nowrap;
|
||||||
|
}
|
||||||
|
.main-shuffleButton-button > svg,
|
||||||
|
.player-controls__left .ecHWOS svg,
|
||||||
|
.main-skipBackButton-button > svg,
|
||||||
|
.main-playPauseButton-button > svg,
|
||||||
|
.main-skipForwardButton-button > svg,
|
||||||
|
.main-repeatButton-button > svg,
|
||||||
|
:is(.player-controls__buttons, .npv-nowPlayingBar-controls) span {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* connect bar */
|
||||||
|
.main-connectBar-connectBar {
|
||||||
|
position: absolute;
|
||||||
|
background-color: transparent !important;
|
||||||
|
mix-blend-mode: difference;
|
||||||
|
pointer-events: none;
|
||||||
|
right: var(--panel-gap);
|
||||||
|
bottom: var(--panel-gap);
|
||||||
|
opacity: 0.25;
|
||||||
|
padding: 0 10px 10px;
|
||||||
|
}
|
||||||
|
.main-connectBar-connectBar span {
|
||||||
|
color: var(--spice-accent-active);
|
||||||
|
}
|
||||||
|
.main-connectBar-connectBar svg {
|
||||||
|
fill: var(--spice-accent-active);
|
||||||
|
}
|
||||||
32
.config/spicetify/config-xpui.ini
Normal file
32
.config/spicetify/config-xpui.ini
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
[Preprocesses]
|
||||||
|
expose_apis = 1
|
||||||
|
disable_sentry = 1
|
||||||
|
disable_ui_logging = 1
|
||||||
|
remove_rtl_rule = 1
|
||||||
|
|
||||||
|
[AdditionalOptions]
|
||||||
|
custom_apps =
|
||||||
|
sidebar_config = 1
|
||||||
|
home_config = 1
|
||||||
|
experimental_features = 1
|
||||||
|
extensions =
|
||||||
|
|
||||||
|
[Patch]
|
||||||
|
|
||||||
|
[Setting]
|
||||||
|
prefs_path = /home/furry/.config/spotify/prefs
|
||||||
|
inject_theme_js = 1
|
||||||
|
replace_colors = 1
|
||||||
|
spotify_launch_flags =
|
||||||
|
spotify_path = /opt/spotify/
|
||||||
|
color_scheme = Cherry
|
||||||
|
inject_css = 1
|
||||||
|
overwrite_assets = 0
|
||||||
|
check_spicetify_update = 1
|
||||||
|
always_enable_devtools = 0
|
||||||
|
current_theme = Sleek
|
||||||
|
|
||||||
|
; DO NOT CHANGE!
|
||||||
|
[Backup]
|
||||||
|
version = 1.2.63.394.g126b0d89
|
||||||
|
with = 2.40.9
|
||||||
5
.inputrc
5
.inputrc
@@ -1,6 +1,5 @@
|
|||||||
# for backward searching the history
|
|
||||||
"\e[A": history-search-backward
|
"\e[A": history-search-backward
|
||||||
"\e[B": history-search-forward
|
"\e[B": history-search-forward
|
||||||
|
|
||||||
set completion-ignore-case on # ignore completion case
|
set completion-ignore-case on
|
||||||
set colored-completion-prefix on # colour in what it has been able to complete
|
set colored-completion-prefix on
|
||||||
|
|||||||
29
.local/bin/buildconfig
Executable file
29
.local/bin/buildconfig
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
BUILD_CONFIG=
|
||||||
|
|
||||||
|
# try to find a valid build config path
|
||||||
|
if [ -n "${1+x}" ] && [ -f "$1" ] && [[ "$(basename "$1")" == ".buildconfig" ]]; then BUILD_CONFIG="$1" # first check if a build config has been specified, and whether it's a valid path
|
||||||
|
elif [ -n "${1+x}" ]; then echo "E: the specified path '$1' is not a valid path!"; exit 1
|
||||||
|
|
||||||
|
elif [[ -f "$PWD/.buildconfig" ]]; then BUILD_CONFIG="$PWD/.buildconfig" # then check if there is a build config in the current working directory
|
||||||
|
elif [[ -f "$HOME/.buildconfig" ]]; then BUILD_CONFIG="$HOME/.buildconfig" # then check if there is a build config in the home directory
|
||||||
|
else $EDITOR .buildconfig
|
||||||
|
#else echo "E: could not find a .buildconfig file and none was specified!"; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
source "$BUILD_CONFIG"
|
||||||
|
[ -z "${cmd+x}" ] && { echo "E: cmd was not set! '$BUILD_CONFIG'"; exit 1; }
|
||||||
|
[ -z "${arg+x}" ] && { echo "E: arg was not set! '$BUILD_CONFIG'"; exit 1; }
|
||||||
|
|
||||||
|
# export the environment variables if they've been set
|
||||||
|
if [[ -n ${env+x} ]]; then
|
||||||
|
for var in "${!env[@]}"; do
|
||||||
|
export "$var=${env[$var]}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# execute the command with the arguments
|
||||||
|
# don't mind if the user made arguments separate out, that would likely be the user's intention
|
||||||
|
$cmd "$arg"
|
||||||
|
exit $?
|
||||||
2
.local/bin/emcc
Executable file
2
.local/bin/emcc
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
"$HOME/.local/share/emsdk/upstream/emscripten/emcc" "$@"
|
||||||
2
.local/bin/emsdk
Executable file
2
.local/bin/emsdk
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
"$HOME/.local/share/emsdk/emsdk" "$@"
|
||||||
BIN
.local/bin/ovo
BIN
.local/bin/ovo
Binary file not shown.
BIN
.local/bin/owo
BIN
.local/bin/owo
Binary file not shown.
2
.local/bin/prime-run
Executable file
2
.local/bin/prime-run
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"
|
||||||
66
.local/bin/prime-run-conf
Executable file
66
.local/bin/prime-run-conf
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/python
|
||||||
|
|
||||||
|
import os
|
||||||
|
from sys import stderr
|
||||||
|
|
||||||
|
def error(msg: str):
|
||||||
|
print(f"\033[91m{msg}\033[0m", file=stderr)
|
||||||
|
|
||||||
|
def validate_path(path: str, outdir: str, outpath: str) -> bool:
|
||||||
|
if (os.path.isdir(outdir) == False):
|
||||||
|
error(f"'{outdir}' does not exist! can't write .desktop file!")
|
||||||
|
return False
|
||||||
|
|
||||||
|
if (os.path.exists(outpath)):
|
||||||
|
error(f"'{outpath}' already exists!")
|
||||||
|
return False
|
||||||
|
|
||||||
|
if (os.path.isfile(path) == False):
|
||||||
|
error(f"file does not exist: '{path}'")
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def create_desktop_file(path: str) -> int:
|
||||||
|
outdir = os.environ['HOME'] + "/.local/share/applications"
|
||||||
|
outpath = outdir + "/" + os.path.basename(path)
|
||||||
|
|
||||||
|
if (validate_path(path, outdir, outpath) == False):
|
||||||
|
return 1
|
||||||
|
|
||||||
|
f_in = open(path, "r")
|
||||||
|
f_out = open(outpath, "w")
|
||||||
|
|
||||||
|
while (True):
|
||||||
|
ln = f_in.readline();
|
||||||
|
|
||||||
|
if (len(ln) == 0):
|
||||||
|
break
|
||||||
|
|
||||||
|
if (ln.startswith("Exec=")):
|
||||||
|
lns = ln.split('=', 1)
|
||||||
|
ln = f"{lns[0]}=prime-run {lns[1]}"
|
||||||
|
|
||||||
|
f_out.write(ln)
|
||||||
|
|
||||||
|
f_in.close()
|
||||||
|
f_out.close()
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def main(argc: int, argv: list[str]) -> int:
|
||||||
|
|
||||||
|
if (argc <= 1):
|
||||||
|
error("incorrect amount of arguments! expected: 'desktop file path'")
|
||||||
|
return 1
|
||||||
|
|
||||||
|
err = 0
|
||||||
|
i = 1
|
||||||
|
while (i < argc):
|
||||||
|
err |= create_desktop_file(argv[i])
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
return err
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
exit(main(len(sys.argv), sys.argv));
|
||||||
@@ -2,7 +2,8 @@
|
|||||||
# shellcheck disable=SC1090,SC1091
|
# shellcheck disable=SC1090,SC1091
|
||||||
|
|
||||||
# set -xv
|
# set -xv
|
||||||
|
EUMETSAT_KEY="jdBM1PsDQUm0tCZfk9VXD6IaJoUa"
|
||||||
|
EUMETSAT_SECRET="SumkiqFMU3MAGpt_azb1KXKgjdMa"
|
||||||
OUTDIR="$HOME/photos/eumetsat"
|
OUTDIR="$HOME/photos/eumetsat"
|
||||||
|
|
||||||
# full screen coverage
|
# full screen coverage
|
||||||
@@ -28,9 +29,6 @@ error() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -z "$EUMETSAT_KEY" ] && error 'make sure to set EUMETSAT_KEY to the client key'
|
|
||||||
[ -z "$EUMETSAT_SECRET" ] && error 'make sure to set EUMETSAT_SECRET to the client secret'
|
|
||||||
|
|
||||||
# verify internet
|
# verify internet
|
||||||
ping -c1 1.1.1.1 >>/dev/null || error "couldn't establish an internet connection!"
|
ping -c1 1.1.1.1 >>/dev/null || error "couldn't establish an internet connection!"
|
||||||
|
|
||||||
|
|||||||
14
.local/bin/unzip-all
Executable file
14
.local/bin/unzip-all
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
|
||||||
|
if [ -z ${var+2} ]; then
|
||||||
|
printf "\033[91mno parameters were given!\033[0m\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for i in $2; do
|
||||||
|
readonly fname
|
||||||
|
fname="$(basename "$i" .*)"
|
||||||
|
mkdir "$fname"
|
||||||
|
cd "$fname" || return 1
|
||||||
|
unzip "../$i"
|
||||||
|
cd - || return 1
|
||||||
|
done
|
||||||
BIN
.local/bin/uwu
BIN
.local/bin/uwu
Binary file not shown.
@@ -1,27 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
[ -z "$AMOUNT" ] && AMOUNT=5
|
|
||||||
|
|
||||||
notify() {
|
|
||||||
notify-send "$@" -h string:x-dunst-stack-tag:'brightnessctl' -a 'brightnessctl'
|
|
||||||
}
|
|
||||||
|
|
||||||
max=$(brightnessctl max)
|
|
||||||
br=$(brightnessctl get)
|
|
||||||
brp=$((100 * br / max))
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
up) brp=$((brp + AMOUNT)) ;;
|
|
||||||
down) brp=$((brp - AMOUNT)) ;;
|
|
||||||
*)
|
|
||||||
echo 'E: could not decide what brightness action to perform!' >&2
|
|
||||||
notify 'could not decide what audio action to perform!' -u critical -t 5000
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
brp=$((brp - (brp % AMOUNT)))
|
|
||||||
[ $brp -gt 100 ] && brp=100
|
|
||||||
|
|
||||||
brightnessctl set $brp%
|
|
||||||
ico=display-brightness-symbolic
|
|
||||||
notify -u low -i "$ico" -h "int:value:$brp" "brightness: $brp%"
|
|
||||||
4
.local/bin/x-brightness-down
Executable file
4
.local/bin/x-brightness-down
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
br=$(brightnessctl set 5%- |
|
||||||
|
grep '%' | awk '{print $4}' | sed 's/[^0-9]//g')
|
||||||
|
notify-send -u low -i display-brightness-symbolic -h int:value:"$br" -h string:x-dunst-stack-tag:'brightnessctl' -a 'brightnessctl' "brightness: $br%"
|
||||||
4
.local/bin/x-brightness-up
Executable file
4
.local/bin/x-brightness-up
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
br=$(brightnessctl set 5%+ |
|
||||||
|
grep '%' | awk '{print $4}' | sed 's/[^0-9]//g')
|
||||||
|
notify-send -i display-brightness-symbolic -u low -h int:value:"$br" -h string:x-dunst-stack-tag:'brightnessctl' -a 'brightnessctl' "brightness: $br%"
|
||||||
Reference in New Issue
Block a user