Compare commits

...

No commits in common. "main" and "main-pc" have entirely different histories.

286 changed files with 5185 additions and 3 deletions

9
.gitignore vendored Normal file
View file

@ -0,0 +1,9 @@
dot-config/tmux/plugins
dot-config/vesktop/Singleton*
dot-config/vesktop/state.json
dot-config/vesktop/sessionData
dot-config/vesktop/Crashpad
dot-config/spicetify/Extracted
dot-local/share/nvim
dot-local/share/mc/history
dot-local/bin/lon-tool

9
.gitmodules vendored Normal file
View file

@ -0,0 +1,9 @@
[submodule "dot-config/tmux/tpm"]
path = dot-config/tmux/tpm
url = https://github.com/tmux-plugins/tpm
[submodule "dot-config/nvim"]
path = dot-config/nvim
url = ssh://git@git.timoxa0.su:22222/timoxa0/dotfiles-nvim.git
[submodule "dot-config/fish"]
path = dot-config/fish
url = ssh://git@git.timoxa0.su:22222/timoxa0/dotfiles-fish.git

4
.stow-local-ignore Normal file
View file

@ -0,0 +1,4 @@
.git
.gitignore
.gitmodules
makelinks

View file

@ -1,3 +0,0 @@
#### Branches:
- main-pc: Desktop
- nabu: Tablet with keyboard (Xiaomi Pad 5)

View file

@ -0,0 +1,22 @@
[env]
TERM = "xterm-256color"
[window]
padding = { x = 10, y = 10 }
dynamic_padding = true
decorations = "Full"
opacity = 1
[font]
normal = { family = "JetBrainsMono Nerd Font Mono", style = "Regular" }
size = 14
[general]
live_config_reload = true
import = [
"~/.config/alacritty/catppuccin-mocha.toml"
]
[terminal]
shell = { program = "tmux", args = ["new"] }

View file

@ -0,0 +1,75 @@
[colors.primary]
background = "#1e1e2e"
foreground = "#cdd6f4"
dim_foreground = "#7f849c"
bright_foreground = "#cdd6f4"
[colors.cursor]
text = "#1e1e2e"
cursor = "#f5e0dc"
[colors.vi_mode_cursor]
text = "#1e1e2e"
cursor = "#b4befe"
[colors.search.matches]
foreground = "#1e1e2e"
background = "#a6adc8"
[colors.search.focused_match]
foreground = "#1e1e2e"
background = "#a6e3a1"
[colors.footer_bar]
foreground = "#1e1e2e"
background = "#a6adc8"
[colors.hints.start]
foreground = "#1e1e2e"
background = "#f9e2af"
[colors.hints.end]
foreground = "#1e1e2e"
background = "#a6adc8"
[colors.selection]
text = "#1e1e2e"
background = "#f5e0dc"
[colors.normal]
black = "#45475a"
red = "#f38ba8"
green = "#a6e3a1"
yellow = "#f9e2af"
blue = "#89b4fa"
magenta = "#f5c2e7"
cyan = "#94e2d5"
white = "#bac2de"
[colors.bright]
black = "#585b70"
red = "#f38ba8"
green = "#a6e3a1"
yellow = "#f9e2af"
blue = "#89b4fa"
magenta = "#f5c2e7"
cyan = "#94e2d5"
white = "#a6adc8"
[colors.dim]
black = "#45475a"
red = "#f38ba8"
green = "#a6e3a1"
yellow = "#f9e2af"
blue = "#89b4fa"
magenta = "#f5c2e7"
cyan = "#94e2d5"
white = "#bac2de"
[[colors.indexed_colors]]
index = 16
color = "#fab387"
[[colors.indexed_colors]]
index = 17
color = "#f5e0dc"

1
dot-config/fish Submodule

@ -0,0 +1 @@
Subproject commit 79dc7b4cb25ddea97e30675f841f637aff77179f

41
dot-config/foot/foot.ini Normal file
View file

@ -0,0 +1,41 @@
[main]
shell=tmux new
font=JetBrainsMono Nerd Font Mono:size=14
pad=10x10
[cursor]
color=11111b f5e0dc
[colors]
foreground=cdd6f4
background=1e1e2e
regular0=45475a
regular1=f38ba8
regular2=a6e3a1
regular3=f9e2af
regular4=89b4fa
regular5=f5c2e7
regular6=94e2d5
regular7=bac2de
bright0=585b70
bright1=f38ba8
bright2=a6e3a1
bright3=f9e2af
bright4=89b4fa
bright5=f5c2e7
bright6=94e2d5
bright7=a6adc8
16=fab387
17=f5e0dc
selection-foreground=cdd6f4
selection-background=414356
search-box-no-match=11111b f38ba8
search-box-match=cdd6f4 313244
jump-labels=11111b fab387
urls=89b4fa

19
dot-config/hypr/bin/autostart Executable file
View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland &
waybar -c ~/.config/waybar/waybar.jsonc -s ~/.config/waybar/waybar.css &
swww-daemon &
hypridle -c ~/.config/hypr/hypridle.conf &
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
mako -c ~/.config/mako/mako.conf &
/usr/lib/xdg-desktop-portal -r &
nm-applet &
clash-verge &
bash -c "sleep 2; easyeffects --gapplication-service" &
ping 1.1.1.1 -c 1 && {
sleep 3
vesktop &
telegram-desktop -startintray &
}

4
dot-config/hypr/bin/lockscreen Executable file
View file

@ -0,0 +1,4 @@
#!/usr/bin/env fish
if not ps -e | grep hyprlock
hyprlock -c ~/.config/hypr/hyprlock.conf
end

View file

@ -0,0 +1,66 @@
#===========================================================================#
# | bind | dispatcher | args #
#===========================================================================#
bind = SUPER, RETURN, exec, $terminal
bind = SUPER, E, exec, $fileManager
bind = SUPER, D, exec, $discord
bind = SUPER, T, exec, $telegram
bind = SUPER, B, exec, $browser
bind = SUPER, Q, killactive,
bind = SUPER, M, exit,
bind = SUPER, C, togglefloating,
bind = SUPER, SPACE, exec, $menu
bind = SUPER, Z, pseudo, # dwindle
bind = SUPER, X, togglesplit, # dwindle
bind = SUPER, Home, exec, $sshot region
bind = SUPER, Prior, exec, $sshot window
bind = SUPER, Next, exec, $sshot output
bind = SUPER Ctrl, Q, exec, $locker
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
#bind = SUPER, TAB, overview:toggle
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
submap=capture
bind = SUPER,Escape,submap,reset # to exit the "capture" mode
submap=reset
bind = SUPER SHIFT,P,submap,capture # to enter the "capture" mode

View file

@ -0,0 +1,84 @@
$rosewater = rgb(f5e0dc)
$rosewaterAlpha = f5e0dc
$flamingo = rgb(f2cdcd)
$flamingoAlpha = f2cdcd
$pink = rgb(f5c2e7)
$pinkAlpha = f5c2e7
$mauve = rgb(cba6f7)
$mauveAlpha = cba6f7
$red = rgb(f38ba8)
$redAlpha = f38ba8
$maroon = rgb(eba0ac)
$maroonAlpha = eba0ac
$peach = rgb(fab387)
$peachAlpha = fab387
$yellow = rgb(f9e2af)
$yellowAlpha = f9e2af
$green = rgb(a6e3a1)
$greenAlpha = a6e3a1
$teal = rgb(94e2d5)
$tealAlpha = 94e2d5
$sky = rgb(89dceb)
$skyAlpha = 89dceb
$sapphire = rgb(74c7ec)
$sapphireAlpha = 74c7ec
$blue = rgb(89b4fa)
$blueAlpha = 89b4fa
$lavender = rgb(b4befe)
$lavenderAlpha = b4befe
$text = rgb(cdd6f4)
$textAlpha = cdd6f4
$subtext1 = rgb(bac2de)
$subtext1Alpha = bac2de
$subtext0 = rgb(a6adc8)
$subtext0Alpha = a6adc8
$overlay2 = rgb(9399b2)
$overlay2Alpha = 9399b2
$overlay1 = rgb(7f849c)
$overlay1Alpha = 7f849c
$overlay0 = rgb(6c7086)
$overlay0Alpha = 6c7086
$surface2 = rgb(585b70)
$surface2Alpha = 585b70
$surface1 = rgb(45475a)
$surface1Alpha = 45475a
$surface0 = rgb(313244)
$surface0Alpha = 313244
$base = rgb(1e1e2e)
$baseAlpha = 1e1e2e
$mantle = rgb(181825)
$mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b
$primary = $red
$secondary = $surface0
$bg = $base
$fg = $text

View file

@ -0,0 +1,3 @@
debug {
overlay = false
}

View file

@ -0,0 +1,47 @@
exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'catppuccin-mocha-red-standard+default'
exec-once = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-red-dark'
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = gsettings set org.gnome.desktop.interface gtk-color-scheme 'prefer-dark'
exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic'
exec-once = gsettings set org.gnome.desktop.wm.preferences button-layout ':'
general {
col.active_border = $primary
col.inactive_border = $secondary
gaps_in = 15
gaps_out = 30
border_size = 3
resize_on_border = false
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 10
active_opacity = 1.0
inactive_opacity = 1.0
dim_inactive = false
dim_strength = 0.2
blur {
enabled = true
size = 3
passes = 4
noise = 0.07
xray = true
brightness = 0.4
popups = false
}
}
animations {
enabled = true
bezier = myBezier, 0.05, 1, 0.1, 1
animation = windows, 1, 7, myBezier, slide
animation = fade, 1, 7, myBezier
animation = workspaces, 1, 6, myBezier
animation = layers, 1, 6, myBezier, slide bottom
}

13
dot-config/hypr/env.conf Normal file
View file

@ -0,0 +1,13 @@
env = XCURSOR_SIZE,24
env = XCURSOR_THEME,Bibata-Modern-Classic
env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME,Bibata-Modern-Classic
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,gtk3
env = EDITOR,nvim
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = MOZ_ENABLE_WAYLAND=1

View file

@ -0,0 +1,10 @@
general {
lock_cmd = ~/.config/hypr/bin/lockscreen
ignore_dbus_inhibit = false
ignore_systemd_inhibit = false
}
listener {
timeout = 3600
on-timeout = ~/.config/hypr/bin/lockscreen
}

View file

@ -0,0 +1,21 @@
source = colors.conf
$terminal = foot
$fileManager = nautilus -w
$menu = rofi -show drun
$browser = zen-browser
$discord = vesktop
$telegram = telegram-desktop
$sshot = hyprshot -o ~/Pictures/Screenshots/ -z -m
$locker = loginctl lock-session
source = plugins.conf
exec-once = hyprpm reload -n
source = monitors.conf
source = misc.conf
source = decorations.conf
source = env.conf
source = binds.conf
source = rules.conf
exec-once = ~/.config/hypr/bin/autostart

View file

@ -0,0 +1,59 @@
source = colors.conf
# BACKGROUND
background {
monitor =
path = /mnt/data/Wallpapers/unsorted/cat-lsc-0.jpg
blur_passes = 5
contrast = 0.5
brightness = 0.5
vibrancy = 0.2
vibrancy_darkness = 0.2
}
# GENERAL
general {
no_fade_in = false
grace = 0
disable_loading_bar = true
}
# animations {
# enabled = true
# bezier = linear, 1, 1, 0, 0
# animation = fade, 1, 1.8, linear, slide
# }
# INPUT FIELD
input-field {
monitor = DP-1
size = 150, 40
outline_thickness = 3
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.4 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(00000000)
inner_color = rgba(00000033)
check_color = rgba($yellowAlpha8f)
fail_color = rgba($redAlpha8f)
fail_timeout = 1000
font_color = rgba($textAlphaee)
fade_on_empty = false
placeholder_text =
hide_input = false
position = 0, 40
halign = center
valign = bottom
}
# TIME
label {
monitor = DP-1
text = cmd[update:1000] echo "$(date +"%H:%M")"
color = $fg
font_size = 120
font_family = Cantarell Thin
position = 0, 50
halign = center
valign = center
}

18
dot-config/hypr/misc.conf Normal file
View file

@ -0,0 +1,18 @@
dwindle {
pseudotile = false
preserve_split = true
smart_split = false
smart_resizing = false
}
misc {
force_default_wallpaper = -1
disable_hyprland_logo = true
}
input {
kb_layout = us, ru
kb_options = grp:caps_toggle
follow_mouse = 1
sensitivity = 0
}

View file

@ -0,0 +1,8 @@
#===========================================================================#
# Monitors #
#===========================================================================#
monitor=DP-1, 3440x1440@100, 1920x0, 1
monitor=HDMI-A-1, 1920x1200@60, 0x0, 1
#monitor=HDMI-A-1, 1920x1200@60, 2680x1440, 1
#monitor=HDMI-A-2, 1366x768@60, 0x0, 1

View file

@ -0,0 +1,2 @@
chromakey_background = 30,30,46
#chromakey_background = 36,36,56

View file

@ -0,0 +1,63 @@
#
# Window rules
#
# Waybar
# layerrule = blur, waybar
# layerrule = ignorezero, waybar
# Hyprlauncher
layerrule = blur, gtk4-layer-shell
layerrule = ignorezero, gtk4-layer-shell
# Mako
layerrule = blur, notifications
layerrule = ignorezero, notifications
# Rofi
layerrule = blur, rofi
layerrule = ignorezero, rofi
# slurp
layerrule = animation fade, selection
# Disable maximize
windowrulev2 = suppressevent maximize, class:.*
# pwvucontrol
windowrulev2 = float, class:^(com.saivert.pwvucontrol)$
windowrulev2 = size 696 570, class:^(com.saivert.pwvucontrol)$
windowrulev2 = move 1654 807, class:^(com.saivert.pwvucontrol)$
windowrulev2 = monitor DP-1, class:^(com.saivert.pwvucontrol)$
windowrulev2 = opacity 0.9, class:^(com.saivert.pwvucontrol)$
# XWayland Video Bridge - Unused
# windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
# windowrulev2 = noanim,class:^(xwaylandvideobridge)$
# windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
# windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
# windowrulev2 = noblur,class:^(xwaylandvideobridge)$
# Vesktop
# windowrulev2 = opacity 0.9, class:^(vesktop)$
# Telegram
windowrulev2 = maximize, class:^(org.telegram.desktop)$,title:^(Media viewer)$
windowrulev2 = float, class:^(org.telegram.desktop)$,title:^(Media viewer)$
# windowrulev2 = opaque, class:^(org.telegram.desktop)$,title:^(Media viewer)$
# Nemo
windowrulev2 = float, class:^(nemo)$,title:^.*(Properties)$
# Firefox library (Downloads, History, etc.)
windowrulev2 = float, class:^(zen-alpha)$,title:^(Library)$
windowrulev2 = opacity 0.9, class:^(zen-alpha)$,title:^(Library)$
# Spotify
windowrulev2 = opacity 0.9, class:^(Spotify)$
windowrulev2 = noblur, class:^()$,title:^()$
windowrulev2 = plugin:chromakey,fullscreen:0
windowrulev2 = opacity 0.999,fullscreen:0

19
dot-config/mako/mako.conf Normal file
View file

@ -0,0 +1,19 @@
sort=-time
layer=overlay
output=DP-1
anchor=bottom-right
background-color=#121318bb
width=300
height=110
border-size=3
border-color=#f38ba8
border-radius=5
icons=0
max-icon-size=64
default-timeout=5000
ignore-timeout=1
font=JetBrainsMono Nerd Font Mono: 14
[urgency=high]
border-color=#ffb4ab
default-timeout=0

1
dot-config/nvim Submodule

@ -0,0 +1 @@
Subproject commit f2039cb216e98ee2346dcd1215aae01cbc379f30

View file

@ -0,0 +1,4 @@
[ColorScheme]
active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
disabled_colors=#ffa6adc8, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffa6adc8, #ffa6adc8, #ffa6adc8, #ff1e1e2e, #ff11111b, #ff7f849c, #ff89b4fa, #ff45475a, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ffa6adc8, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c

View file

@ -0,0 +1,31 @@
[Appearance]
color_scheme_path=/home/timoxa0/.config/qt5ct/colors/Catppuccin-Mocha.conf
custom_palette=true
standard_dialogs=gtk3
style=Fusion
[Fonts]
fixed="DejaVu LGC Sans,12,-1,5,50,0,0,0,0,0"
general="DejaVu LGC Sans,12,-1,5,50,0,0,0,0,0"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\xe\x4\0\0\x5H\0\0\a\x80\0\0\0\0\0\0\xe\x37\0\0\x5\x8a\0\0\0\0\x2\0\0\0\rp\0\0\a\x80\0\0\0\0\0\0\xe\x4\0\0\x5H)
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

View file

@ -0,0 +1,16 @@
configuration{
modi: "drun";
icon-theme: "Oranchelo";
show-icons: true;
terminal: "alacritty";
drun-display-format: "{icon} {name}";
location: 6;
disable-history: false;
hide-scrollbar: true;
display-drun: "  Apps ";
display-Network: " 󰤨 Network";
sidebar-mode: true;
}
@theme "catppuccin-mocha"

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,132 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[INSERT CONTACT METHOD].
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

View file

@ -0,0 +1,119 @@
# Contributing guidelines
Here are the guidelines for contributing to this repository.
## Before contributing
For avoiding having too many similar themes with small changes, themes are merged only if they bring **sensitive** changes to default Spotify UI and are different from existing themes.
A theme name (as well as color scheme name) should consist of one word starting with an uppercase letter and shouldn't contain `spicetify` or any whitespace in it; if a "-" is present in the name it must be followed by an uppercase letter.
## How to contribute
If you want to add your theme:
* Fork this repository
* Create another folder named after your theme name
* Create `color.ini` and `user.css` files
* Create a `README.md` in it with the following structure
```markdown
# THEME_NAME
## Screenshots
[Put at least one image per color scheme here]
## More
[Specify any needed font; (optionally) author name and/or any other info about the theme]
```
* Add the theme preview to [THEMES.md](./THEMES.md) (themes are in alphabetical order) following this structure if it has only one color scheme
```markdown
## THEME_NAME
[A single image of the theme]
```
If, instead, more than one color scheme is present
```markdown
## THEME_NAME
#### COLOR_SCHEME1_NAME
[A single image of the theme using the color scheme]
#### COLOR_SCHEME2_NAME
[A single image of the theme using the color scheme]
...
```
* Commit only once, more details in the **Commit Message**
* Open a Pull Request and mention the most important changes you've made to the UI (ignoring the color scheme)
**Thanks to all the contributors.**
## Commit Message
**NOTE: commit only once when you add a new theme or scheme (you can also commit again later, if you need to).**
### Format
<type>(<scope>): <subject>
<BLANK LINE>
<body>[optional]
**Any line of the commit message cannot be longer than 100 characters!**
* **type:** feat | fix | docs | chore
* **feat:** A new theme | A new scheme | A new feature
* **fix:** A bug fix
* **docs:** Change the `README.md` of the theme | Change the `THEMES.md`
* **chore:** Add more screenshots | Change the screentshots | Other things
* **scope:** THEMES | `<ThemeName>`
* THEMES is a fixed format: `docs(THEMES)`
* In other cases, use the theme name
* **subject:** What changes you have done
* Use the imperative, present tense: "change" not "changed" nor "changes"
* Don't capitalize first letter
* No dot (.) at the end
* **body**: More details of your changes, you can mention the most important changes here
### Example (Turntable theme)
* feat
```
feat(Turntable): add Turntable theme
```
```
feat(Turntable): control the rotation of the turntable
Rotate the turntable by playing state.
```
* fix
```
fix(Turntable): show the cursor outside the context menu
```
* docs
```
docs(Turntable): update README.md
```
```
docs(THEMES): add preview for the Turntable
```
* chore
```
chore(Turntable): add screenshots of the Turntable
```
If you want to learn more, view the [Angular - Git Commit Guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines).

View file

@ -0,0 +1,13 @@
# Default
Default look of Spotify with different color schemes.
## Screenshot
![screenshot](./ocean.png)
## Info
### Ocean
Part of material ocean themes, [checkout here](https://github.com/material-ocean) for the same theme for different applications. By @Blacksuan19

View file

@ -0,0 +1,16 @@
[Ocean]
text = FFFFFF
subtext = F1F1F1
main = 0F111A
sidebar = 0F111A
player = 0F111A
card = 00010A
shadow = 0F111A
selected-row = F1F1F1
button = FF4151
button-active = F1F1F1
button-disabled = 434C5E
tab-active = FF4151
notification = 00010A
notification-error = FF4151
misc = 00010A

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 morpheusthewhite
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.

View file

@ -0,0 +1,76 @@
# spicetify community themes
This is a collection of themes for [spicetify](https://github.com/spicetify/spicetify-cli), a command-line tool to customize Spotify.
You can add your own theme simply by opening a Pull Request (more info in [CONTRIBUTING.md](./CONTRIBUTING.md)).
### **You can find a preview of all the themes in [THEMES.md](./THEMES.md).**
## Notes:
* **These themes require that you have the latest version of Spotify and Spicetify.**
* **To install Dribbblish and Turntable themes, follow the instructions in their READMEs**.
* **Spotify ad-blocked version is not supported.**
## Installation and usage
(If you use Arch Linux you can find this project on the [AUR](https://aur.archlinux.org/packages/spicetify-themes-git/))
1. Clone this repository. Make sure [git](https://git-scm.com/) is installed and run:
```bash
git clone --depth=1 https://github.com/spicetify/spicetify-themes.git
```
2. Copy the files into the [Spicetify Themes folder](https://spicetify.app/docs/development/themes). Run:
**Linux**
```bash
cd spicetify-themes
cp -r * ~/.config/spicetify/Themes
```
**MacOS**
```bash
cd spicetify-themes
cp -r * ~/.config/spicetify/Themes
```
**Windows**
```powershell
cd spicetify-themes
cp * "$(spicetify -c | Split-Path)\Themes\" -Recurse
```
3. Choose which theme to apply just by running:
```bash
spicetify config current_theme THEME_NAME
```
Some themes have 2 or more different color schemes. After selecting the theme you can switch between them with:
```bash
spicetify config color_scheme SCHEME_NAME
```
### Extra
The `_Extra` folder contains additional resources for tweaking the look of
Spotify. More info in its [README](./\_Extra/README.md).
## Contributions
We've set up a separate document for our [contribution guidelines](./CONTRIBUTING.md).
## Troubleshooting
Do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. If you find problems when using or installing these themes, or you need help in modifying a theme then ask for suggestions on the [subreddit](https://www.reddit.com/r/spicetify/) or on the [Discord Server](https://discord.com/invite/VnevqPp2Rr).
Use GitHub issues ONLY for bugs and requesting new features.
If you are unsure about which channel to use, go for Reddit or Discord.
## Useful resources
* [Spicetify theme without free version UI elements (e.g. "Upgrade" button)](https://github.com/Daksh777/SpotifyNoPremium)
* [DribbblishDynamic theme for v2](https://github.com/JulienMaille/dribbblish-dynamic-theme)

View file

@ -0,0 +1,322 @@
# Themes preview
Here you can find a preview of all the themes. Some of them may have different colour schemes (in that case you'll find different entries in the same theme, each one named after the colour scheme).
## SharkBlue
![SharkBlue Screenshot](SharkBlue/screenshot.png)
## BurntSienna
![BurntSienna Screenshot](BurntSienna/screenshot.png)
## Default
![Ocean Screenshot](Default/ocean.png)
## Dreary
#### BIB
![BIB Screenshot](Dreary/bib.png)
#### Psycho
![Psycho Screenshot](Dreary/psycho.png)
#### Deeper
![Deeper Screenshot](Dreary/deeper.png)
#### Mono
![Mono Screenshot](Dreary/mono.png)
#### Golden
![Golden Screenshot](Dreary/golden.png)
#### Graytone-Blue
![Graytone-blue Sreenshot](Dreary/graytone-blue.png)
## Dribbblish
#### Base
![base](Dribbblish/base.png)
#### White
![white](Dribbblish/white.png)
#### Dark
![dark](Dribbblish/dark.png)
#### Nord-Light
![nord-light](Dribbblish/nord-light.png)
#### Nord-Dark
![nord-dark](Dribbblish/nord-dark.png)
#### Beach-Sunset
![beach-sunset](Dribbblish/beach-sunset.png)
#### Purple
![purple](Dribbblish/purple.png)
#### Samurai
![samurai](Dribbblish/samurai.png)
#### Gruvbox
![gruvbox](Dribbblish/gruvbox.png)
#### Gruvbox Material Dark
![gruvbox-material-dark](Dribbblish/gruvbox-material-dark.png)
#### Rosé Pine
![rosepine](Dribbblish/rosepine.png)
#### Lunar
![lunar](Dribbblish/lunar.png)
#### Catppuccin Latte
![catppuccin-latte](Dribbblish/catppuccin-latte.png)
#### Catppuccin Frappe
![catppuccin-frappe](Dribbblish/catppuccin-frappe.png)
#### Catppuccin Macchiato
![catppuccin-macchiato](Dribbblish/catppuccin-macchiato.png)
#### Catppuccin Mocha
![catppuccin-mocha](Dribbblish/catppuccin-mocha.png)
## Matte
#### Matte
![Matte](Matte/screenshots/ylx-matte.png)
#### Periwinkle
| ![Periwinkle](Matte/screenshots/ylx-periwinkle.png) | ![Periwkinle-Dark](Matte/screenshots/ylx-periwinkle-dark.png) |
| :-------------------------------------------------: | :-----------------------------------------------------------: |
| Light | Dark |
#### Porcelain
![Porcelain](Matte/screenshots/ylx-porcelain.png)
#### Gray
![Gray](Matte/screenshots/ylx-gray.png)
| ![Gray-Light](Matte/screenshots/ylx-gray-light.png) | ![Gray-Dark1](Matte/screenshots/ylx-gray-dark1.png) |
| :-------------------------------------------------: | :-------------------------------------------------: |
| Light | Dark |
## Nightlight
![Nightlight](Nightlight/screenshots/nightlight.png)
## Onepunch
#### Dark
![dark_ylx](Onepunch/screenshots/dark_ylx.png)
#### Light
![light_ylx](Onepunch/screenshots/light_ylx.png)
#### Legacy
![legacy_ylx](Onepunch/screenshots/legacy_ylx.png)
## Sleek
| | |
| :-----------------------------------: | :---------------------------------: |
| ![BladeRunner](Sleek/bladerunner.png) | ![Cherry](Sleek/cherry.png) |
| BladeRunner | Cherry |
| ![Coral](Sleek/coral.png) | ![Deep](Sleek/deep.png) |
| Coral | Deep |
| ![Deeper](Sleek/deeper.png) | ![Elementary](Sleek/elementary.png) |
| Deeper | Elementary |
| ![Futura](Sleek/futura.png) | ![Nord](Sleek/nord.png) |
| Futura | Nord |
| ![Psycho](Sleek/psycho.png) | ![UltraBlack](Sleek/ultrablack.png) |
| Psycho | UltraBlack |
| ![Wealthy](Sleek/wealthy.png) | ![Dracula](Sleek/dracula.png) |
| Wealthy | Dracula |
| ![VantaBlack](Sleek/vantablack.png) | ![RosePine](Sleek/rosepine.png) |
| VantaBlack | RosePine |
| ![Eldritch](Sleek/eldritch.png) | |
| Eldritch | |
## StarryNight
#### Base
![Base](StarryNight/images/base.png)
#### Cotton Candy
![Cotton-candy](StarryNight/images/cotton-candy.png)
#### Forest
![Forest](StarryNight/images/forest.png)
#### Galaxy
![Galaxy](StarryNight/images/galaxy.png)
#### Orange
![Orange](StarryNight/images/orange.png)
#### Sky
![Sky](StarryNight/images/sky.png)
#### Sunrise
![Sunrise](StarryNight/images/sunrise.png)
## text
### Spotify
![Spotify](text/screenshots/Spotify.png)
### Spicetify
![Spicetify](text/screenshots/Spicetify.png)
### Catppuccin
| | |
| :------------------------------------------------------: | :--------------------------------------------------------------: |
| ![CatppuccinMocha](text/screenshots/CatppuccinMocha.png) | ![CatppuccinMacchiato](text/screenshots/CatppuccinMacchiato.png) |
| Catppuccin Mocha | Catppuccin Macchiato |
| ![CatppuccinLatte](text/screenshots/CatppuccinLatte.png) | |
| Catppuccin Latte | |
#### Dracula
![Dracula](text/screenshots/Dracula.png)
#### ForestGreen
![ForestGreen](text/screenshots/ForestGreen.png)
#### Gruvbox
![Gruvbox](text/screenshots/Gruvbox.png)
#### Kanagawa
![Kanagawa](text/screenshots/Kanagawa.png)
#### Nord
![Nord](text/screenshots/Nord.png)
#### Rigel
![CatppuccinMaRigelcchiato](text/screenshots/Rigel.png)
#### RosePine
| ![RosePine](text/screenshots/RosePine.png) | ![RosePineMoon](text/screenshots/RosePineMoon.png) | ![RosePineDawn](text/screenshots/RosePineDawn.png) |
| :----------------------------------------: | :------------------------------------------------: | :------------------------------------------------: |
| Rose Pine | Rose Pine Moon | Rose Pine Dawn |
#### Solarized
![Solarized](text/screenshots/Solarized.png)
#### TokyoNight
| ![TokyoNight](text/screenshots/TokyoNight.png) | ![TokyoNightStorm](text/screenshots/TokyoNightStorm.png) |
| :--------------------------------------------: | :------------------------------------------------------: |
| Tokyo Night | Tokyo Night Storm |
## Turntable
![Turntable](Turntable/screenshots/fad.png)
## Ziro
#### Blue
| ![Album](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/album-blue-dark.png) | ![Artist](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/artist-blue-light.png) |
| :------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: |
| Dark | Light |
#### Gray
| ![Cards](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/cards-gray-dark.png) | ![Search](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/search-gray-light.png) |
| :------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: |
| Dark | Light |
#### Green
| ![Podcast](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/podcast-green-dark.png) | ![Podcast](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/podcast-green-light.png) |
| :-----------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: |
| Dark | Light |
#### Orange
| ![Search](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/search-orange-dark.png) | ![Library](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/library-orange-light.png) |
| :----------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| Dark | Light |
#### Purple
| ![Single](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/single-purple-dark.png) | ![Playlist](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/playlist-purple-light.png) |
| :----------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: |
| Dark | Light |
#### Red
| ![Profile](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/profile-red-dark.png) | ![Queue](https://raw.githubusercontent.com/schnensch0/ziro/main/preview/queue-red-light.png) |
| :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: |
| Dark | Light |
#### Rosé Pine
| ![Playlists](Ziro/screenshots/rose-pine-moon.jpg) | ![Playlists](Ziro/screenshots/rose-pine-dawn.jpg) |
| :-----------------------------------------------: | :-----------------------------------------------: |
| Moon | Dawn |
| ![Playlists](Ziro/screenshots/rose-pine.jpg) |
| :------------------------------------------: |
| Rose-Pine |
## Flow
#### Ocean
<img src="https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Flow/screenshots/ocean.png" alt="img">
#### Pink
<img src="https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Flow/screenshots/pink.png" alt="img">
#### Silver
<img src="https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Flow/screenshots/silver.png" alt="img">
#### Violet
<img src="https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Flow/screenshots/violet.png" alt="img">
### Blossom
<img src="https://user-images.githubusercontent.com/72624799/203471073-4a5e6cf0-a5dc-4ecc-9a12-56d5fc716ac4.png" alt="img">

View file

@ -0,0 +1,269 @@
[
{
"name": "SharkBlue",
"description": "SharkBlue",
"preview": "SharkBlue/screenshot.png",
"readme": "SharkBlue/README.md",
"usercss": "SharkBlue/user.css",
"schemes": "SharkBlue/color.ini",
"authors": [
{
"name": "Mr Biscuit",
"url": "https://github.com/MrBiscuit921"
}
],
"tags": [
"latest"
]
},
{
"name": "BurntSienna",
"description": "BurntSienna",
"preview": "BurntSienna/screenshot.png",
"readme": "BurntSienna/README.md",
"usercss": "BurntSienna/user.css",
"schemes": "BurntSienna/color.ini",
"authors": [
{
"name": "pjaspinski",
"url": "https://github.com/pjaspinski"
}
],
"tags": [
"latest"
]
},
{
"name": "Default",
"description": "Default",
"preview": "Default/ocean.png",
"readme": "Default/README.md",
"usercss": "Default/user.css",
"schemes": "Default/color.ini",
"authors": [
{
"name": "Blacksuan19",
"url": "https://github.com/Blacksuan19"
}
],
"tags": [
"latest"
]
},
{
"name": "Dreary",
"description": "Dreary",
"preview": "Dreary/deeper.png",
"readme": "Dreary/README.md",
"usercss": "Dreary/user.css",
"schemes": "Dreary/color.ini",
"authors": [
{
"name": "CharlieS1103",
"url": "https://github.com/CharlieS1103"
}
],
"tags": [
"outdated",
"v1.2.13"
]
},
{
"name": "Dribbblish",
"description": "Dribbblish",
"preview": "Dribbblish/base.png",
"readme": "Dribbblish/README.md",
"usercss": "Dribbblish/user.css",
"schemes": "Dribbblish/color.ini",
"include": [
"https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Dribbblish/theme.js"
],
"authors": [
{
"name": "khanhas",
"url": "https://github.com/khanhas"
},
{
"name": "harbassan",
"url": "https://github.com/harbassan"
}
],
"tags": [
"latest"
]
},
{
"name": "Matte",
"description": "Has a neat color pallete and a much cleaner interface",
"preview": "Matte/screenshots/ylx-matte.png",
"readme": "Matte/README.md",
"usercss": "Matte/user.css",
"schemes": "Matte/color.ini",
"authors": [
{
"name": "darkthemer",
"url": "https://github.com/darkthemer"
}
],
"tags": [
"latest"
]
},
{
"name": "Onepunch",
"description": "Onepunch",
"preview": "Onepunch/screenshots/dark_home.png",
"readme": "Onepunch/README.md",
"usercss": "Onepunch/user.css",
"schemes": "Onepunch/color.ini",
"authors": [
{
"name": "okarin001",
"url": "https://github.com/okarin001"
}
],
"tags": [
"latest"
]
},
{
"name": "Sleek",
"description": "Sleek",
"preview": "Sleek/coral.png",
"readme": "Sleek/README.md",
"usercss": "Sleek/user.css",
"schemes": "Sleek/color.ini",
"authors": [
{
"name": "harbassan",
"url": "https://github.com/harbassan"
}
],
"tags": [
"latest"
]
},
{
"name": "text",
"description": "a spicetify theme that mimics the look of spotify-tui",
"preview": "text/screenshots/Gruvbox.png",
"readme": "text/README.md",
"usercss": "text/user.css",
"schemes": "text/color.ini",
"authors": [
{
"name": "darkthemer",
"url": "https://github.com/darkthemer"
}
],
"tags": [
"latest"
]
},
{
"name": "Turntable",
"description": "Turntable",
"preview": "Turntable/screenshots/turntable.png",
"readme": "Turntable/README.md",
"usercss": "Turntable/user.css",
"schemes": "Turntable/color.ini",
"include": [
"https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Turntable/theme.js"
],
"authors": [
{
"name": "Grason Chan",
"url": "https://github.com/grasonchan"
}
],
"tags": [
"latest"
]
},
{
"name": "Ziro",
"description": "a smooth theme inspired by zorin os",
"preview": "https://raw.githubusercontent.com/schnensch0/ziro/main/preview/mockup.png",
"readme": "Ziro/README.md",
"usercss": "Ziro/user.css",
"schemes": "Ziro/color.ini",
"authors": [
{
"name": "schnensch0",
"url": "https://github.com/schnensch0"
}
],
"tags": [
"latest"
]
},
{
"name": "Flow",
"description": "Spicetify theme that has linear gradient effect and vertical playbar",
"preview": "https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Flow/screenshots/pink.png",
"readme": "Flow/README.md",
"usercss": "Flow/user.css",
"schemes": "Flow/color.ini",
"authors": [
{
"name": "Ian Liao",
"url": "https://github.com/ian-Liaozy"
},
{
"name": "Victoria Zhang",
"url": "https://github.com/Ruixi-Zhang"
},
{
"name": "Yu Sung Lee",
"url": "https://github.com/yslDevelop"
},
{
"name": "Alex Casieri",
"url": "https://github.com/alexcasieri30"
}
],
"tags": [
"latest"
]
},
{
"name": "Blossom",
"description": "Blossom Theme, a simple theme.",
"preview": "https://user-images.githubusercontent.com/72624799/203471073-4a5e6cf0-a5dc-4ecc-9a12-56d5fc716ac4.png",
"readme": "Blossom/README.md",
"usercss": "Blossom/user.css",
"schemes": "Blossom/color.ini",
"authors": [
{
"name": "Robatortas", "url": "https://github.com/Robatortas"
}
],
"tags": [
"latest"
]
},
{
"name": "StarryNight",
"description": "Starry Night",
"preview": "StarryNight/images/base.png",
"readme": "StarryNight/README.md",
"usercss": "StarryNight/user.css",
"schemes": "StarryNight/color.ini",
"include": [
"https://raw.githubusercontent.com/spicetify/spicetify-themes/master/StarryNight/theme.js"
],
"authors": [
{
"name": "Brandon Chen",
"url": "https://github.com/b-chen00"
},
{
"name": "Julissa Laignelet",
"url": "https://github.com/laignelet16"
}
],
"tags": [
"latest"
]
}
]

View file

@ -0,0 +1,186 @@
# text
## Screenshots
#### Display Images
##### with images
![withimg](screenshots/withimg.png)
##### without images
![withoutimg](screenshots/withoutimg.png)
### Spotify
![Spotify](screenshots/Spotify.png)
### Spicetify
![Spicetify](screenshots/Spicetify.png)
### CatppuccinMocha
![CatppuccinMocha](screenshots/CatppuccinMocha.png)
### CatppuccinMacchiato
![CatppuccinMacchiato](screenshots/CatppuccinMacchiato.png)
### CatppuccinLatte
![CatppuccinLatte](screenshots/CatppuccinLatte.png)
### Dracula
![Dracula](screenshots/Dracula.png)
### Gruvbox
![Gruvbox](screenshots/Gruvbox.png)
### Kanagawa
![Kanagawa](screenshots/Kanagawa.png)
### Nord
![Nord](screenshots/Nord.png)
### Rigel
![CatppuccinMaRigelcchiato](screenshots/Rigel.png)
### RosePine
![RosePine](screenshots/RosePine.png)
### RosePineMoon
![RosePineMoon](screenshots/RosePineMoon.png)
### RosePineDawn
![RosePineDawn](screenshots/RosePineDawn.png)
### Solarized
![Solarized](screenshots/Solarized.png)
### TokyoNight
![TokyoNight](screenshots/TokyoNight.png)
### TokyoNightStorm
![TokyoNightStorm](screenshots/TokyoNightStorm.png)
### ForestGreen
![ForestGreen](screenshots/ForestGreen.png)
## More
### Description
a spicetify theme that mimics the look of [spotify-tui](https://github.com/Rigellute/spotify-tui)
### Credits
created by [darkthemer](https://github.com/darkthemer/)
### Notes
- **IMPORTANT:** Add the following to your `config-xpui.ini` file. Details as to why are explained [here](https://github.com/JulienMaille/spicetify-dynamic-theme#important). Run `spicetify apply` after adding these lines.
```ini
[Patch]
xpui.js_find_8008 = ,(\w+=)56,
xpui.js_repl_8008 = ,${1}32,
```
- **SUGGESTION:** Feel free to edit `color.ini` to swap the accent color (it's green for most of them) into your preferred color based from the color pallete.
- https://github.com/catppuccin/catppuccin
- https://github.com/dracula/dracula-theme
- https://github.com/morhetz/gruvbox
- https://github.com/rebelot/kanagawa.nvim
- https://github.com/nordtheme/nord
- https://github.com/Rigellute/rigel
- https://github.com/rose-pine/rose-pine-theme
- https://github.com/altercation/solarized
- https://github.com/enkia/tokyo-night-vscode-theme
- **SUGGESTION:** Check the very top of `user.css` for user settings
- If you use the Marketplace, go to `Marketplace > Snippets > + Add CSS` and then paste the variables found in `user.css` (also below). Edit these as you wish. If you're following this method, don't forget to add `!important` at the end of each property.
```css
/* user settings */
:root {
--font-family: "DM Mono", monospace;
/*
--font-family: 'Anonymous Pro', monospace;
--font-family: 'Courier Prime', monospace;
--font-family: 'Cousine', monospace;
--font-family: 'Cutive Mono', monospace;
--font-family: 'DM Mono', monospace;
--font-family: 'Fira Mono', monospace;
--font-family: 'IBM Plex Mono', monospace;
--font-family: 'Inconsolata', monospace;
--font-family: 'Nanum Gothic Coding', monospace;
--font-family: 'PT Mono', monospace;
--font-family: 'Roboto Mono', monospace;
--font-family: 'Share Tech Mono', monospace;
--font-family: 'Source Code Pro', monospace;
--font-family: 'Space Mono', monospace;
--font-family: 'Ubuntu Mono', monospace;
--font-family: 'VT323', 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-library-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 */
}
```
- **SUGGESTION:** For Windows users, here's how to make the window controls' background match with the topbar background
- Put this snippet into your `user.css` (or through the Marketplace's `+ Add CSS` feature)
```css
/* transparent window controls background */
.spotify__container--is-desktop:not(.fullscreen) body::after {
content: "";
position: absolute;
right: 0;
z-index: 999;
backdrop-filter: brightness(2.12);
/* page zoom [ctrl][+] or [ctrl][-]
edit width and height accordingly */
width: 135px;
/* depending on what global status bar
style is enabled height need to be
changed accordingly. */
height: 64px;
}
```
![winctrl](screenshots/winctrl.png)

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View file

@ -0,0 +1,713 @@
/* ================================
ROOT
================================ */
/* import */
/* find more in https://fonts.google.com/?category=Monospace&sort=popularity */
@import url("https://fonts.googleapis.com/css2?family=Anonymous+Pro:wght@400;700&family=Courier+Prime:wght@400;700&family=Cousine:wght@400;700&family=Cutive+Mono&family=DM+Mono:wght@300;400;500&family=Fira+Mono:wght@400;500;700&family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&family=Inconsolata:wght@200;300;400;500;600;700;800;900&family=Nanum+Gothic+Coding:wght@400;700&family=PT+Mono&family=Roboto+Mono:wght@100;200;300;400;500;600;700&family=Share+Tech+Mono&family=Source+Code+Pro:wght@200;300;400;500;600;700;800;900&family=Space+Mono:wght@400;700&family=Ubuntu+Mono:wght@400;700&family=VT323&display=swap");
@import url("https://fonts.cdnfonts.com/css/asciid");
/* user settings */
:root {
--font-family: "DM Mono", monospace;
/*
--font-family: 'Anonymous Pro', monospace;
--font-family: 'Courier Prime', monospace;
--font-family: 'Cousine', monospace;
--font-family: 'Cutive Mono', monospace;
--font-family: 'DM Mono', monospace;
--font-family: 'Fira Mono', monospace;
--font-family: 'IBM Plex Mono', monospace;
--font-family: 'Inconsolata', monospace;
--font-family: 'Nanum Gothic Coding', monospace;
--font-family: 'PT Mono', monospace;
--font-family: 'Roboto Mono', monospace;
--font-family: 'Share Tech Mono', monospace;
--font-family: 'Source Code Pro', monospace;
--font-family: 'Space Mono', monospace;
--font-family: 'Ubuntu Mono', monospace;
--font-family: 'VT323', 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-library-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;
}
/* 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-library-image);
}
.main-trackList-rowImage {
display: var(--display-tracklist-image);
}
/* fix */
:root {
--content-max-width: 100% !important;
}
.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;
}
.main-entityHeader-container.main-entityHeader-withBackgroundImage,
.main-entityHeader-container.main-entityHeader-nonWrapped {
height: 250px;
min-height: unset;
}
.main-entityHeader-imageContainerNew {
height: 128px;
width: 128px;
}
.main-topBar-background,
.main-topBar-overlay,
.main-home-homeHeader,
.main-home-filterChipsSection,
.main-home-filterChipsSection::after {
background-color: var(--spice-main) !important;
background-image: none;
}
.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-highlight);
--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-highlight);
--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);
}
.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"] {
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);
}
/* pane borders */
.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);
}
.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__nav-bar .main-yourLibraryX-entryPoints:nth-child(1)::before,
.Root__nav-bar .main-yourLibraryX-entryPoints:nth-child(2)::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: 9;
transition: color var(--border-transition);
}
.Root__nav-bar .main-yourLibraryX-entryPoints:nth-child(1)::before {
content: "Pages";
}
.Root__nav-bar .main-yourLibraryX-entryPoints:nth-child(2)::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__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 {
border: var(--border-width) var(--border-style) var(--spice-border-active);
border-radius: var(--border-radius);
outline: 14px solid var(--spice-main) !important;
overflow: visible;
}
.GenericModal::before {
content: "Modal";
color: var(--spice-border-active);
position: absolute;
margin: -10px 4px;
background: var(--spice-main);
padding: 0 3px;
z-index: 9;
}
/* ================================
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.6);
}
/* library pane */
.x-entityImage-imageContainer {
transform: scale(0.7);
}
.main-yourLibraryX-filterArea {
padding: 0 8px;
}
.main-yourLibraryX-libraryRootlist {
padding: 0 16px 8px;
}
/* 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;
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;
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 * {
border-radius: var(--border-radius);
}
/* headers */
.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;
}
.main-trackList-rowImage {
height: 24px;
width: 24px;
}
.main-trackList-rowTitle::after {
content: " |";
color: var(--spice-highlight);
}
.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,
.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";
}
.main-skipBackButton-button::before {
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 {
content: "\25B6";
}
.main-playPauseButton-button[aria-label="Pause"]::before,
.main-playPauseButton-button: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"]
)::before {
content: "\275A\275A";
}
.main-skipForwardButton-button::before {
content: "\25B7";
}
.main-repeatButton-button::before {
content: "\21BB";
}
.main-repeatButton-button[aria-checked="mixed"]::before {
content: "\21BB\2474";
}
.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 {
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);
}

View file

@ -0,0 +1,34 @@
[AdditionalOptions]
extensions =
custom_apps =
sidebar_config = 0
home_config = 0
experimental_features = 0
[Patch]
;xpui.js_find_8008 = ,(\w+=)56,
;xpui.js_repl_8008 = ,${1}32,
[Setting]
color_scheme = catppuccin-mocha
spotify_launch_flags =
always_enable_devtools = 0
check_spicetify_update = 1
spotify_path = /opt/spotify/
prefs_path = /home/timoxa0/.config/spotify/prefs
current_theme = Dribbblish
inject_theme_js = 1
inject_css = 1
replace_colors = 1
overwrite_assets = 0
[Preprocesses]
expose_apis = 1
disable_sentry = 1
disable_ui_logging = 1
remove_rtl_rule = 1
; DO NOT CHANGE!
[Backup]
version = 1.2.48.405.gf2c48e6f
with = 2.38.4

View file

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

59
dot-config/tmux/tmux.conf Normal file
View file

@ -0,0 +1,59 @@
set -g mouse on
set -sa terminal-overrides ",xterm*:Tc"
set-option -g destroy-unattached on
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
bind -n M-H previous-window
bind -n M-: next-window
# List of plugins
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'tmux-plugins/tpm'
# catppuccin
set -g @catppuccin_flavour 'mocha'
set -g @catppuccin_window_status_style "rounded"
set -g @catppuccin_status_background "#1e1e2e"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
# status
set -g status-right-length 100
set -g status-left-length 100
set -g status-left ""
set -g status-right ""
set -ag status-right "#{E:@catppuccin_status_session}"
set -ag status-right "#{E:@catppuccin_status_uptime}"
set -as terminal-features ",alacritty*:RGB"
set -as terminal-features ",foot:RGB"
set -g mouse on
set -g default-shell /bin/fish
set-window-option -g mode-keys vi
# binds
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
unbind %
unbind '"'
bind ']' split-window -v -c "#{pane_current_path}"
bind '\' split-window -h -c "#{pane_current_path}"
bind C-l send-keys 'C-l'
run '~/.config/tmux/tpm/tpm'

1
dot-config/tmux/tpm Submodule

@ -0,0 +1 @@
Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946

View file

@ -0,0 +1,15 @@
{
"discordBranch": "stable",
"minimizeToTray": true,
"arRPC": true,
"splashColor": "rgb(205, 214, 244)",
"splashBackground": "rgb(30, 30, 46)",
"staticTitle": true,
"enableMenu": true,
"splashTheming": true,
"disableMinSize": false,
"spellCheckLanguages": [
"en-US",
"en"
]
}

View file

View file

@ -0,0 +1,620 @@
{
"autoUpdate": true,
"autoUpdateNotification": true,
"useQuickCss": true,
"themeLinks": [],
"enabledThemes": [
"catppuccin-mocha-red.theme.css"
],
"enableReactDevtools": false,
"frameless": false,
"transparent": false,
"winCtrlQ": false,
"disableMinSize": false,
"winNativeTitleBar": false,
"plugins": {
"ChatInputButtonAPI": {
"enabled": true
},
"CommandsAPI": {
"enabled": true
},
"MemberListDecoratorsAPI": {
"enabled": false
},
"MessageAccessoriesAPI": {
"enabled": true
},
"MessageDecorationsAPI": {
"enabled": false
},
"MessageEventsAPI": {
"enabled": true
},
"MessagePopoverAPI": {
"enabled": false
},
"MessageUpdaterAPI": {
"enabled": false
},
"ServerListAPI": {
"enabled": true
},
"UserSettingsAPI": {
"enabled": true
},
"CopyFileContents": {
"enabled": false
},
"AlwaysAnimate": {
"enabled": false
},
"AlwaysExpandRoles": {
"enabled": false
},
"AlwaysTrust": {
"enabled": false
},
"AnonymiseFileNames": {
"enabled": false
},
"AppleMusicRichPresence": {
"enabled": false
},
"WebRichPresence (arRPC)": {
"enabled": false
},
"BANger": {
"enabled": false
},
"BetterFolders": {
"enabled": false
},
"BetterGifAltText": {
"enabled": false
},
"BetterGifPicker": {
"enabled": false
},
"BetterNotesBox": {
"enabled": false
},
"BetterRoleContext": {
"enabled": false
},
"BetterRoleDot": {
"enabled": false
},
"BetterSessions": {
"enabled": false,
"backgroundCheck": false
},
"BetterSettings": {
"enabled": false
},
"BetterUploadButton": {
"enabled": false
},
"BiggerStreamPreview": {
"enabled": false
},
"BlurNSFW": {
"enabled": false
},
"CallTimer": {
"enabled": false
},
"ClearURLs": {
"enabled": false
},
"ClientTheme": {
"enabled": false,
"color": "313338"
},
"ColorSighted": {
"enabled": false
},
"ConsoleJanitor": {
"enabled": true,
"disableLoggers": false,
"disableSpotifyLogger": true,
"whitelistedLoggers": "GatewaySocket; Routing/Utils"
},
"ConsoleShortcuts": {
"enabled": false
},
"CopyEmojiMarkdown": {
"enabled": false
},
"CopyUserURLs": {
"enabled": false
},
"CrashHandler": {
"enabled": true
},
"CtrlEnterSend": {
"enabled": false,
"submitRule": "ctrl+enter",
"sendMessageInTheMiddleOfACodeBlock": true
},
"CustomRPC": {
"enabled": false
},
"CustomIdle": {
"enabled": false
},
"Dearrow": {
"enabled": false
},
"Decor": {
"enabled": false
},
"DisableCallIdle": {
"enabled": false
},
"DontRoundMyTimestamps": {
"enabled": false
},
"EmoteCloner": {
"enabled": false
},
"Experiments": {
"enabled": true,
"toolbarDevMenu": false
},
"F8Break": {
"enabled": true
},
"FakeNitro": {
"enabled": true,
"enableStickerBypass": true,
"enableStreamQualityBypass": true,
"enableEmojiBypass": true,
"transformEmojis": true,
"transformStickers": true,
"transformCompoundSentence": false
},
"FakeProfileThemes": {
"enabled": false
},
"FavoriteEmojiFirst": {
"enabled": false
},
"FavoriteGifSearch": {
"enabled": false
},
"FixCodeblockGap": {
"enabled": false
},
"FixSpotifyEmbeds": {
"enabled": true
},
"FixYoutubeEmbeds": {
"enabled": true
},
"ForceOwnerCrown": {
"enabled": true
},
"FriendInvites": {
"enabled": false
},
"FriendsSince": {
"enabled": true
},
"GameActivityToggle": {
"enabled": false
},
"GifPaste": {
"enabled": false
},
"GreetStickerPicker": {
"enabled": false
},
"HideAttachments": {
"enabled": false
},
"iLoveSpam": {
"enabled": false
},
"IgnoreActivities": {
"enabled": false
},
"ImageLink": {
"enabled": true
},
"ImageZoom": {
"enabled": true,
"size": 317.94871794871796,
"zoom": 2.8,
"nearestNeighbour": false,
"square": false,
"saveZoomValues": true,
"invertScroll": true,
"zoomSpeed": 0.5
},
"ImplicitRelationships": {
"enabled": false
},
"InvisibleChat": {
"enabled": false
},
"KeepCurrentChannel": {
"enabled": false
},
"LastFMRichPresence": {
"enabled": false
},
"LoadingQuotes": {
"enabled": false
},
"MemberCount": {
"enabled": false
},
"MentionAvatars": {
"enabled": false
},
"MessageClickActions": {
"enabled": false
},
"MessageLatency": {
"enabled": false
},
"MessageLinkEmbeds": {
"enabled": false
},
"MessageLogger": {
"enabled": false
},
"MessageTags": {
"enabled": false
},
"MoreCommands": {
"enabled": false
},
"MoreKaomoji": {
"enabled": false
},
"MoreUserTags": {
"enabled": false
},
"Moyai": {
"enabled": false,
"volume": 0.5,
"quality": "Normal",
"triggerWhenUnfocused": true,
"ignoreBots": true,
"ignoreBlocked": true
},
"MutualGroupDMs": {
"enabled": false
},
"NewGuildSettings": {
"enabled": false
},
"NoBlockedMessages": {
"enabled": false
},
"NoDefaultHangStatus": {
"enabled": false
},
"NoDevtoolsWarning": {
"enabled": true
},
"NoF1": {
"enabled": true
},
"NoMaskedUrlPaste": {
"enabled": false
},
"NoMosaic": {
"enabled": false
},
"NoOnboardingDelay": {
"enabled": false
},
"NoPendingCount": {
"enabled": false
},
"NoProfileThemes": {
"enabled": false
},
"NoReplyMention": {
"enabled": false
},
"NoScreensharePreview": {
"enabled": false
},
"NoServerEmojis": {
"enabled": false
},
"NoTypingAnimation": {
"enabled": false
},
"NoUnblockToJump": {
"enabled": false
},
"NormalizeMessageLinks": {
"enabled": false
},
"NotificationVolume": {
"enabled": false
},
"NSFWGateBypass": {
"enabled": false
},
"OnePingPerDM": {
"enabled": false
},
"oneko": {
"enabled": false
},
"OpenInApp": {
"enabled": false
},
"OverrideForumDefaults": {
"enabled": false
},
"PartyMode": {
"enabled": false
},
"PauseInvitesForever": {
"enabled": false
},
"PermissionFreeWill": {
"enabled": false
},
"PermissionsViewer": {
"enabled": false
},
"petpet": {
"enabled": false
},
"PictureInPicture": {
"enabled": false
},
"PinDMs": {
"enabled": false
},
"PlainFolderIcon": {
"enabled": true
},
"PlatformIndicators": {
"enabled": false
},
"PreviewMessage": {
"enabled": false
},
"QuickMention": {
"enabled": false
},
"QuickReply": {
"enabled": false
},
"ReactErrorDecoder": {
"enabled": false
},
"ReadAllNotificationsButton": {
"enabled": false
},
"RelationshipNotifier": {
"enabled": false
},
"ReplaceGoogleSearch": {
"enabled": false
},
"ReplyTimestamp": {
"enabled": false
},
"RevealAllSpoilers": {
"enabled": false
},
"ReverseImageSearch": {
"enabled": false
},
"ReviewDB": {
"enabled": false
},
"RoleColorEverywhere": {
"enabled": false
},
"SecretRingToneEnabler": {
"enabled": false
},
"Summaries": {
"enabled": false
},
"SendTimestamps": {
"enabled": false
},
"ServerInfo": {
"enabled": true
},
"ServerListIndicators": {
"enabled": false
},
"ShikiCodeblocks": {
"enabled": false
},
"ShowAllMessageButtons": {
"enabled": false
},
"ShowConnections": {
"enabled": false
},
"ShowHiddenChannels": {
"enabled": false
},
"ShowHiddenThings": {
"enabled": false
},
"ShowMeYourName": {
"enabled": false
},
"ShowTimeoutDuration": {
"enabled": false
},
"SilentMessageToggle": {
"enabled": false
},
"SilentTyping": {
"enabled": false,
"showIcon": false,
"contextMenu": true,
"isEnabled": true
},
"SortFriendRequests": {
"enabled": false
},
"SpotifyControls": {
"enabled": false
},
"SpotifyCrack": {
"enabled": true,
"noSpotifyAutoPause": true,
"keepSpotifyActivityOnIdle": false
},
"SpotifyShareCommands": {
"enabled": false
},
"StartupTimings": {
"enabled": false
},
"StickerPaste": {
"enabled": false
},
"StreamerModeOnStream": {
"enabled": false
},
"SuperReactionTweaks": {
"enabled": false
},
"TextReplace": {
"enabled": false
},
"ThemeAttributes": {
"enabled": false
},
"TimeBarAllActivities": {
"enabled": false
},
"Translate": {
"enabled": false
},
"TypingIndicator": {
"enabled": false
},
"TypingTweaks": {
"enabled": false
},
"Unindent": {
"enabled": false
},
"UnlockedAvatarZoom": {
"enabled": false
},
"UnsuppressEmbeds": {
"enabled": false
},
"UserVoiceShow": {
"enabled": false
},
"USRBG": {
"enabled": false
},
"ValidReply": {
"enabled": true
},
"ValidUser": {
"enabled": false
},
"VoiceChatDoubleClick": {
"enabled": false
},
"VcNarrator": {
"enabled": false
},
"VencordToolbox": {
"enabled": false
},
"ViewIcons": {
"enabled": false
},
"ViewRaw": {
"enabled": false
},
"VoiceDownload": {
"enabled": false
},
"VoiceMessages": {
"enabled": false
},
"VolumeBooster": {
"enabled": false
},
"WebKeybinds": {
"enabled": true
},
"WebScreenShareFixes": {
"enabled": true
},
"WhoReacted": {
"enabled": false
},
"XSOverlay": {
"enabled": false
},
"YoutubeAdblock": {
"enabled": false
},
"NoTrack": {
"enabled": true,
"disableAnalytics": true
},
"WebContextMenus": {
"enabled": true,
"addBack": true
},
"Settings": {
"enabled": true,
"settingsLocation": "aboveNitro"
},
"FullSearchContext": {
"enabled": true
},
"AccountPanelServerProfile": {
"enabled": false
},
"SupportHelper": {
"enabled": true
},
"UserMessagesPronouns": {
"enabled": false,
"pronounsFormat": "LOWERCASE",
"pronounSource": 0,
"showSelf": true,
"showInMessages": true,
"showInProfile": true
},
"DynamicImageModalAPI": {
"enabled": true
},
"FixImagesQuality": {
"enabled": false
},
"FullUserInChatbox": {
"enabled": false
}
},
"notifications": {
"timeout": 5000,
"position": "bottom-right",
"useNative": "not-focused",
"logLimit": 50
},
"cloud": {
"authenticated": false,
"url": "https://api.vencord.dev/",
"settingsSync": false,
"settingsSyncVersion": 1736415835150
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,151 @@
#!/usr/bin/env python3
import gi
gi.require_version('Playerctl', '2.0')
from gi.repository import Playerctl, GLib
from typing import List, Self
from argparse import ArgumentParser
import json
import sys
parser = ArgumentParser()
parser.add_argument("-l", "--main-loop", action="store_true")
parser.add_argument("-p", "--play-pause", action="store_true")
parser.add_argument("-N", "--next", action="store_true")
parser.add_argument("-P", "--previous", action="store_true")
args = parser.parse_args()
PLAY_ICON = " "
PAUSE_ICON = " "
manager = Playerctl.PlayerManager()
class json_data(dict):
def __init__(self) -> None:
super().__init__()
self["text"] = ""
self["alt"] = ""
self["tooltip"] = ""
self["icon"] = ""
def print(self, data=(), **kwargs) -> Self:
super().update(data, **kwargs)
out = {
"text": str(self.get("icon")) + str(self.get("text")),
"alt": self["alt"],
"tooltip": self["tooltip"]
}
sys.stdout.write(json.dumps(out) + '\n')
sys.stdout.flush()
return self
jdata: json_data = json_data()
def on_play(player, status, manager):
global jdata
jdata.print({"icon": PLAY_ICON})
def on_pause(player, status, manager):
global jdata
jdata.print({"icon": PAUSE_ICON})
def on_metadata(player, metadata, manager):
global jdata
keys = metadata.keys()
if 'xesam:artist' in keys and 'xesam:title' in keys:
jdata.print(
{
"text": f'{metadata['xesam:artist'][0]} - {metadata['xesam:title']}',
"alt": metadata['xesam:title'],
"tooltip": f'{', '.join(metadata['xesam:artist'])} - {metadata['xesam:title']}'
}
)
def init_player(name):
if name.name in ['spotify']:
player = Playerctl.Player.new_from_name(name)
player.connect('playback-status::playing', on_play, manager)
player.connect('playback-status::paused', on_pause, manager)
player.connect('metadata', on_metadata, manager)
manager.manage_player(player)
def on_name_appeared(manager, name):
init_player(name)
def on_player_vanished(manager, player):
jdata.print({"text": "", "icon": ""})
def get_spotify() -> Playerctl.Player | None:
for name in manager.props.player_names:
if name.name in ['spotify']:
return Playerctl.Player.new_from_name(name)
def main_loop():
manager.connect('name-appeared', on_name_appeared)
manager.connect('player-vanished', on_player_vanished)
for name in manager.props.player_names:
init_player(name)
if spotify := get_spotify():
jdata.print(
{
"text": f'{spotify.get_artist()} - {spotify.get_title()}',
"alt": spotify.get_title(),
"tooltip": f'{spotify.get_artist()} - {spotify.get_title()}'
}
)
if spotify.props.status == "Playing":
jdata.print({"icon": PLAY_ICON})
else:
jdata.print({"icon": PAUSE_ICON})
else:
jdata.print({"text": "", "percentage": 0})
main = GLib.MainLoop()
main.run()
def play_pause():
if spotify := get_spotify():
spotify.play_pause()
def next():
if spotify := get_spotify():
spotify.next()
def previous():
if spotify := get_spotify():
spotify.previous()
if args.main_loop:
try:
main_loop()
except KeyboardInterrupt:
exit(0)
exit(1)
if args.play_pause:
play_pause()
exit(0)
if args.next:
next()
exit(0)
if args.previous:
previous()
exit(0)

View file

@ -0,0 +1,27 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base rgb(30, 30, 46);
@define-color on-accent #1e1e2e;
@define-color mantle rgb(24, 24, 37);
@define-color crust #11111b;

View file

@ -0,0 +1,89 @@
@import "mocha.css";
* {
font-family: Cantarell, "Font Awesome 6 Free", SymbolsNerdFont;
font-weight: bold;
font-size: 14px;
min-height: 0px;
}
window#waybar {
background-color: @transparent;
transition-property: background-color;
transition-duration: .5s;
border-radius: 0px;
}
#workspaces {
background-color: @mantle;
margin: 4px 5px 4px 4px;
padding: 3px;
border-radius: 14px;
border-color: @red;
border-width: 3px;
border-style: solid;
}
#workspaces button,
#workspaces button:hover,
#workspaces button.active {
padding: 0px 4px;
margin: 1px;
border-radius: 10px;
}
#workspaces button {
background-color: @mantle;
color: @text;
}
#workspaces button:hover {
background-color: @maroon;
color: @base;
}
#workspaces button.active {
background-color: @red;
color: @base
}
#workspaces button.active:hover {
background-color: @red;
color: @base;
}
#custom-power, #custom-runner, #battery,
#backlight, #wireplumber, #wireplumber.muted,
#tray, #language, #clock, #cpu, #memory, #custom-spotify {
background: @mantle;
border-radius: 14px;
border-color: @red;
border-width: 3px;
border-style: solid;
color: @text;
margin: 3px 2.5px 3px 2.5px;
}
#cpu, #memory, #custom-spotify, #battery {
padding: 0px 10px;
}
#tray {
margin: 3px 5px 3px 5px;
padding: 0px 10px;
}
#backlight, #wireplumber, #wireplumber.muted {
padding: 0px 10px;
min-width: 55px;
}
#wireplumber.muted {
color: @error;
}
#language {
padding: 0px 10px;
min-width: 40px;
}
#clock {
padding: 0px 10px;
margin: 3px 5px 3px 2.5px;
font-size: 15px;
min-width: 40px;
}

View file

@ -0,0 +1,75 @@
{
"position": "bottom",
"height": 40,
"width": 1200,
"spacing": 0,
"margin-top": -20,
"margin-bottom": 5,
"layer": "top",
"modules-left": [
"tray",
"custom/spotify"
],
"modules-center": [
"hyprland/workspaces"
],
"modules-right": [
"cpu",
"memory",
"wireplumber",
"hyprland/language",
"clock"
],
"custom/spotify": {
"format": "{}",
"hide-empty-text": true,
"return-type": "json",
"max-length": 40,
"exec": "~/.config/waybar/bin/spotify-info -l",
"on-click": "~/.config/waybar/bin/spotify-info -p",
"on-scroll-up": "~/.config/waybar/bin/spotify-info -N",
"on-scroll-down": "~/.config/waybar/bin/spotify-info -P"
},
"hyprland/workspaces": {
"format": "{name}",
"on-click": "activate",
"tooltip": false,
"persistent_workspaces": {
"*": 1
}
},
"tray": {
"icon-size": 14,
"spacing": 15
},
"wireplumber": {
"scroll-step": 2,
"format": "{icon} {volume}%",
"format-icons": [
"",
"",
""
],
"format-muted": " mute",
"on-click": "pwvucontrol",
"max-volume": 100
},
"hyprland/language": {
"format": " {}",
"format-en": "Eng",
"format-ru": "Rus"
},
"clock": {
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%H:%M %b %d}",
"timezone": "Asia/Yekaterinburg"
},
"memory": {
"interval": 1,
"format": " {used:0.1f}G"
},
"cpu": {
"interval": 1,
"format": " {usage}%"
}
}

View file

@ -0,0 +1 @@
Alacritty.desktop

83
dot-local/bin/ufetch Executable file
View file

@ -0,0 +1,83 @@
#!/bin/sh
#
# ufetch-arch - tiny system info for arch
## INFO
# user is already defined
host="$(cat /etc/hostname)"
os='Arch Linux'
kernel="$(uname -sr)"
uptime="$(uptime -p | sed 's/up //')"
packages="$(pacman -Q | wc -l)"
shell="$(basename "${SHELL}")"
## UI DETECTION
parse_rcs() {
for f in "${@}"; do
wm="$(tail -n 1 "${f}" 2> /dev/null | cut -d ' ' -f 2)"
[ -n "${wm}" ] && echo "${wm}" && return
done
}
rcwm="$(parse_rcs "${HOME}/.xinitrc" "${HOME}/.xsession")"
ui='unknown'
uitype='UI'
if [ -n "${DE}" ]; then
ui="${DE}"
uitype='DE'
elif [ -n "${WM}" ]; then
ui="${WM}"
uitype='WM'
elif [ -n "${XDG_CURRENT_DESKTOP}" ]; then
ui="${XDG_CURRENT_DESKTOP}"
uitype='DE'
elif [ -n "${DESKTOP_SESSION}" ]; then
ui="${DESKTOP_SESSION}"
uitype='DE'
elif [ -n "${rcwm}" ]; then
ui="${rcwm}"
uitype='WM'
elif [ -n "${XDG_SESSION_TYPE}" ]; then
ui="${XDG_SESSION_TYPE}"
fi
ui="$(basename "${ui}")"
## DEFINE COLORS
# probably don't change these
if [ -x "$(command -v tput)" ]; then
bold="$(tput bold 2> /dev/null)"
black="$(tput setaf 0 2> /dev/null)"
red="$(tput setaf 1 2> /dev/null)"
green="$(tput setaf 2 2> /dev/null)"
yellow="$(tput setaf 3 2> /dev/null)"
blue="$(tput setaf 4 2> /dev/null)"
magenta="$(tput setaf 5 2> /dev/null)"
cyan="$(tput setaf 6 2> /dev/null)"
white="$(tput setaf 7 2> /dev/null)"
reset="$(tput sgr0 2> /dev/null)"
fi
# you can change these
lc="${reset}${bold}${red}" # labels
nc="${reset}${bold}${red}" # user and hostname
ic="${reset}" # info
c0="${reset}${red}" # first color
## OUTPUT
cat <<EOF
${c0} /\\ ${nc}${USER}${ic}@${nc}${host}${reset}
${c0} / \\ ${lc}OS: ${ic}${os}${reset}
${c0} /\\ \\ ${lc}KERNEL: ${ic}${kernel}${reset}
${c0} / __ \\ ${lc}UPTIME: ${ic}${uptime}${reset}
${c0} / ( ) \\ ${lc}PACKAGES: ${ic}${packages}${reset}
${c0} / __| |__\\\\ ${lc}SHELL: ${ic}${shell}${reset}
${c0} /.\` \`.\\ ${lc}${uitype}: ${ic}${ui}${reset}
EOF

View file

@ -0,0 +1,3 @@
[Icon Theme]
Name=Bibata-Modern-Classic
Inherits="Bibata-Modern-Classic"

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
sb_v_double_arrow

View file

@ -0,0 +1 @@
sb_h_double_arrow

View file

@ -0,0 +1 @@
crossed_circle

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
sb_h_double_arrow

View file

@ -0,0 +1 @@
sb_v_double_arrow

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
question_arrow

View file

@ -0,0 +1 @@
dnd-link

View file

@ -0,0 +1 @@
move

View file

@ -0,0 +1 @@
left_ptr

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