diff --git a/README.md b/README.md
index 1d6b0a0..c289144 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@



-
+



diff --git a/cava/config b/cava/config
new file mode 100644
index 0000000..3be0cc4
--- /dev/null
+++ b/cava/config
@@ -0,0 +1,296 @@
+## Configuration file for CAVA.
+# Remove the ; to change parameters.
+
+
+[general]
+
+# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
+; mode = normal
+
+# Accepts only non-negative values.
+; framerate = 60
+
+# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
+# new as of 0.6.0 autosens of low values (dynamic range)
+# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
+; autosens = 1
+; overshoot = 20
+
+# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
+# 200 means double height. Accepts only non-negative values.
+; sensitivity = 100
+
+# The number of bars (0-512). 0 sets it to auto (fill up console).
+# Bars' width and space between bars in number of characters.
+; bars = 0
+; bar_width = 2
+; bar_spacing = 1
+# bar_height is only used for output in "noritake" format
+; bar_height = 32
+
+# For SDL width and space between bars is in pixels, defaults are:
+; bar_width = 20
+; bar_spacing = 5
+
+# sdl_glsl have these default values, they are only used to calculate max number of bars.
+; bar_width = 1
+; bar_spacing = 0
+
+
+# Lower and higher cutoff frequencies for lowest and highest bars
+# the bandwidth of the visualizer.
+# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
+# Cava will automatically increase the higher cutoff if a too low band is specified.
+; lower_cutoff_freq = 50
+; higher_cutoff_freq = 10000
+
+
+# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
+# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
+; sleep_timer = 0
+
+
+[input]
+
+# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
+# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
+# On Mac it defaults to 'portaudio' or 'fifo'
+# On windows this is automatic and no input settings are needed.
+#
+# All input methods uses the same config variable 'source'
+# to define where it should get the audio.
+#
+# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
+# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
+#
+# For pipewire 'source' will be the object name or object.serial of the device to capture from.
+# Both input and output devices are supported.
+#
+# For alsa 'source' will be the capture device.
+# For fifo 'source' will be the path to fifo-file.
+# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
+#
+# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
+# README.md contains further information on how to setup CAVA for sndio.
+#
+# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
+# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
+#
+# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
+# README.md contains further information on how to setup CAVA for JACK.
+#
+; method = pulse
+; source = auto
+
+; method = pipewire
+; source = auto
+
+; method = alsa
+; source = hw:Loopback,1
+
+; method = fifo
+; source = /tmp/mpd.fifo
+
+; method = shmem
+; source = /squeezelite-AA:BB:CC:DD:EE:FF
+
+; method = portaudio
+; source = auto
+
+; method = sndio
+; source = default
+
+; method = oss
+; source = /dev/dsp
+
+; method = jack
+; source = default
+
+# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
+# sample_rate: fifo, pipewire, sndio, oss
+# sample_bits: fifo, pipewire, sndio, oss
+# channels: sndio, oss, jack
+# autoconnect: jack
+# Other methods ignore these settings.
+#
+# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
+# by the chosen audio device, the device will use other supported values instead.
+# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
+# will use 44100, 16 and 1.
+#
+; sample_rate = 44100
+; sample_bits = 16
+; channels = 2
+; autoconnect = 2
+
+
+[output]
+
+# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
+# or 'sdl_glsl'.
+# 'noncurses' (default) uses a buffer and cursor movements to only print
+# changes from frame to frame in the terminal. Uses less resources and is less
+# prone to tearing (vsync issues) than 'ncurses'.
+#
+# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
+# stream of the bar heights that can be used to send to other applications.
+# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
+#
+# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
+# in graphic mode. It only support the 3000 series graphical VFDs for now.
+#
+# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
+# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
+# use one of the predefined ones.
+; method = noncurses
+
+# Orientation of the visualization. Can be 'bottom', 'top', 'left', 'right' or
+# 'horizontal'. Default is 'bottom'. 'left and 'right' are only supported on sdl
+# and ncruses output. 'horizontal' (bars go up and down from center) is only supported
+# on noncurses output.
+# Note: many fonts have weird or missing glyphs for characters used in orientations
+# other than 'bottom', which can make output not look right.
+; orientation = bottom
+
+# Visual channels. Can be 'stereo' or 'mono'.
+# 'stereo' mirrors both channels with low frequencies in center.
+# 'mono' outputs left to right lowest to highest frequencies.
+# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
+# set 'reverse' to 1 to display frequencies the other way around.
+; channels = stereo
+; mono_option = average
+; reverse = 0
+
+# Raw output target.
+# On Linux, a fifo will be created if target does not exist.
+# On Windows, a named pipe will be created if target does not exist.
+; raw_target = /dev/stdout
+
+# Raw data format. Can be 'binary' or 'ascii'.
+; data_format = binary
+
+# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
+; bit_format = 16bit
+
+# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
+; ascii_max_range = 1000
+
+# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
+# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
+; bar_delimiter = 59
+; frame_delimiter = 10
+
+# sdl window size and position. -1,-1 is centered.
+; sdl_width = 1000
+; sdl_height = 500
+; sdl_x = -1
+; sdl_y= -1
+; sdl_full_screen = 0
+
+# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
+# 'frequency' displays the lower cut off frequency of the bar above.
+# Only supported on ncurses and noncurses output.
+; xaxis = none
+
+# enable synchronized sync. 1 = on, 0 = off
+# removes flickering in alacritty terminal emulator.
+# defaults to off since the behaviour in other terminal emulators is unknown
+; synchronized_sync = 0
+
+# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
+; vertex_shader = pass_through.vert
+; fragment_shader = bar_spectrum.frag
+
+; for glsl output mode, keep rendering even if no audio
+; continuous_rendering = 0
+
+# disable console blank (screen saver) in tty
+# (Not supported on FreeBSD)
+; disable_blanking = 0
+
+# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
+; show_idle_bar_heads = 1
+
+# show waveform instead of frequency spectrum, 1 = on, 0 = off
+; waveform = 0
+
+[color]
+
+# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
+# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
+# a terminal that can change color definitions such as Gnome-terminal or rxvt.
+# default is to keep current terminal color
+; background = default
+; foreground = default
+
+# SDL and sdl_glsl only support hex code colors, these are the default:
+; background = '#111111'
+; foreground = '#33ffff'
+
+
+# Gradient mode, only hex defined colors are supported,
+# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
+# You can define as many as 8 different colors. They range from bottom to top of screen
+; gradient = 0
+; gradient_color_1 = '#59cc33'
+; gradient_color_2 = '#80cc33'
+; gradient_color_3 = '#a6cc33'
+; gradient_color_4 = '#cccc33'
+; gradient_color_5 = '#cca633'
+; gradient_color_6 = '#cc8033'
+; gradient_color_7 = '#cc5933'
+; gradient_color_8 = '#cc3333'
+
+[color]
+background = '#1e1e2e'
+
+gradient = 1
+
+gradient_color_1 = '#94e2d5'
+gradient_color_2 = '#89dceb'
+gradient_color_3 = '#74c7ec'
+gradient_color_4 = '#89b4fa'
+gradient_color_5 = '#cba6f7'
+gradient_color_6 = '#f5c2e7'
+gradient_color_7 = '#eba0ac'
+gradient_color_8 = '#f38ba8'
+
+
+
+[smoothing]
+
+# Percentage value for integral smoothing. Takes values from 0 - 100.
+# Higher values means smoother, but less precise. 0 to disable.
+# DEPRECATED as of 0.8.0, use noise_reduction instead
+; integral = 77
+
+# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
+; monstercat = 0
+; waves = 0
+
+# Set gravity percentage for "drop off". Higher values means bars will drop faster.
+# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
+# DEPRECATED as of 0.8.0, use noise_reduction instead
+; gravity = 100
+
+
+# In bar height, bars that would have been lower that this will not be drawn.
+# DEPRECATED as of 0.8.0
+; ignore = 0
+
+# Noise reduction, int 0 - 100. default 77
+# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
+# 100 will be very slow and smooth, 0 will be fast but noisy.
+; noise_reduction = 77
+
+
+[eq]
+
+# This one is tricky. You can have as much keys as you want.
+# Remember to uncomment more than one key! More keys = more precision.
+# Look at readme.md on github for further explanations and examples.
+; 1 = 1 # bass
+; 2 = 1
+; 3 = 1 # midtone
+; 4 = 1
+; 5 = 1 # treble
diff --git a/cava/shaders/bar_spectrum.frag b/cava/shaders/bar_spectrum.frag
new file mode 100644
index 0000000..b078913
--- /dev/null
+++ b/cava/shaders/bar_spectrum.frag
@@ -0,0 +1,79 @@
+#version 330
+
+in vec2 fragCoord;
+out vec4 fragColor;
+
+// bar values. defaults to left channels first (low to high), then right (high to low).
+uniform float bars[512];
+
+uniform int bars_count; // number of bars (left + right) (configurable)
+uniform int bar_width; // bar width (configurable), not used here
+uniform int bar_spacing; // space bewteen bars (configurable)
+
+uniform vec3 u_resolution; // window resolution
+
+//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
+uniform vec3 bg_color; // background color
+uniform vec3 fg_color; // foreground color
+
+uniform int gradient_count;
+uniform vec3 gradient_colors[8]; // gradient colors
+
+vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
+{
+ //create color based on fraction of this color and next color
+ float yr = (y - y_min) / (y_max - y_min);
+ return col_1 * (1.0 - yr) + col_2 * yr;
+}
+
+void main()
+{
+ // find which bar to use based on where we are on the x axis
+ float x = u_resolution.x * fragCoord.x;
+ int bar = int(bars_count * fragCoord.x);
+
+ //calculate a bar size
+ float bar_size = u_resolution.x / bars_count;
+
+ //the y coordinate and bar values are the same
+ float y = bars[bar];
+
+ // make sure there is a thin line at bottom
+ if (y * u_resolution.y < 1.0)
+ {
+ y = 1.0 / u_resolution.y;
+ }
+
+ //draw the bar up to current height
+ if (y > fragCoord.y)
+ {
+ //make some space between bars basen on settings
+ if (x > (bar + 1) * (bar_size) - bar_spacing)
+ {
+ fragColor = vec4(bg_color,1.0);
+ }
+ else
+ {
+ if (gradient_count == 0)
+ {
+ fragColor = vec4(fg_color,1.0);
+ }
+ else
+ {
+ //find which color in the configured gradient we are at
+ int color = int((gradient_count - 1) * fragCoord.y);
+
+ //find where on y this and next color is supposed to be
+ float y_min = color / (gradient_count - 1.0);
+ float y_max = (color + 1.0) / (gradient_count - 1.0);
+
+ //make color
+ fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
+ }
+ }
+ }
+ else
+ {
+ fragColor = vec4(bg_color,1.0);
+ }
+}
\ No newline at end of file
diff --git a/cava/shaders/northern_lights.frag b/cava/shaders/northern_lights.frag
new file mode 100644
index 0000000..ecd859a
--- /dev/null
+++ b/cava/shaders/northern_lights.frag
@@ -0,0 +1,34 @@
+#version 330
+
+in vec2 fragCoord;
+out vec4 fragColor;
+
+// bar values. defaults to left channels first (low to high), then right (high to low).
+uniform float bars[512];
+
+uniform int bars_count; // number of bars (left + right) (configurable)
+
+uniform vec3 u_resolution; // window resolution, not used here
+
+//colors, configurable in cava config file
+uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
+uniform vec3 fg_color; // foreground color, not used here
+
+void main()
+{
+ // find which bar to use based on where we are on the x axis
+ int bar = int(bars_count * fragCoord.x);
+
+ float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
+ float y = (bars[bar]) * bar_y;
+
+ float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
+ float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
+
+ bar_r = bar_r * bar_r * 2;
+
+ // set color
+ fragColor.r = fg_color.x * y * bar_r;
+ fragColor.g = fg_color.y * y * bar_r;
+ fragColor.b = fg_color.z * y * bar_r;
+}
diff --git a/cava/shaders/pass_through.vert b/cava/shaders/pass_through.vert
new file mode 100644
index 0000000..a4f20e5
--- /dev/null
+++ b/cava/shaders/pass_through.vert
@@ -0,0 +1,14 @@
+#version 330
+
+
+// Input vertex data, different for all executions of this shader.
+layout(location = 0) in vec3 vertexPosition_modelspace;
+
+// Output data ; will be interpolated for each fragment.
+out vec2 fragCoord;
+
+void main()
+{
+ gl_Position = vec4(vertexPosition_modelspace,1);
+ fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
+}
diff --git a/cava/shaders/spectrogram.frag b/cava/shaders/spectrogram.frag
new file mode 100644
index 0000000..ccb79ae
--- /dev/null
+++ b/cava/shaders/spectrogram.frag
@@ -0,0 +1,53 @@
+#version 330
+
+in vec2 fragCoord;
+out vec4 fragColor;
+
+// bar values. defaults to left channels first (low to high), then right (high
+// to low).
+uniform float bars[512];
+
+uniform int bars_count; // number of bars (left + right) (configurable)
+uniform int bar_width; // bar width (configurable), not used here
+uniform int bar_spacing; // space bewteen bars (configurable)
+
+uniform vec3 u_resolution; // window resolution
+
+// colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
+uniform vec3 bg_color; // background color
+uniform vec3 fg_color; // foreground color
+
+uniform int gradient_count;
+uniform vec3 gradient_colors[8]; // gradient colors
+
+uniform sampler2D inputTexture; // Texture from the first render pass
+
+vec3 normalize_C(float y, vec3 col_1, vec3 col_2, float y_min, float y_max) {
+ // create color based on fraction of this color and next color
+ float yr = (y - y_min) / (y_max - y_min);
+ return col_1 * (1.0 - yr) + col_2 * yr;
+}
+
+void main() {
+ // find which bar to use based on where we are on the y axis
+ int bar = int(bars_count * fragCoord.y);
+ float y = bars[bar];
+ float band_size = 1.0 / float(bars_count);
+ float current_band_min = bar * band_size;
+ float current_band_max = (bar + 1) * band_size;
+
+ int hist_length = 512;
+ float win_size = 1.0 / hist_length;
+
+ if (fragCoord.x > 1.0 - win_size) {
+
+ if (fragCoord.y > current_band_min && fragCoord.y < current_band_max) {
+
+ fragColor = vec4(fg_color * y, 1.0);
+ }
+ } else {
+ vec2 offsetCoord = fragCoord;
+ offsetCoord.x += float(win_size);
+ fragColor = texture(inputTexture, offsetCoord);
+ }
+}
\ No newline at end of file
diff --git a/cava/shaders/winamp_line_style_spectrum.frag b/cava/shaders/winamp_line_style_spectrum.frag
new file mode 100644
index 0000000..375ff27
--- /dev/null
+++ b/cava/shaders/winamp_line_style_spectrum.frag
@@ -0,0 +1,112 @@
+#version 330
+
+// Emulate the "line style" spectrum analyzer from Winamp 2.
+// Try this config for a demonstration:
+
+/*
+[general]
+bar_width = 2
+bar_spacing = 0
+higher_cutoff_freq = 22000
+
+[output]
+method = sdl_glsl
+channels = mono
+fragment_shader = winamp_line_style_spectrum.frag
+
+[color]
+background = '#000000'
+gradient = 1
+gradient_color_1 = '#319C08'
+gradient_color_2 = '#29CE10'
+gradient_color_3 = '#BDDE29'
+gradient_color_4 = '#DEA518'
+gradient_color_5 = '#D66600'
+gradient_color_6 = '#CE2910'
+
+[smoothing]
+noise_reduction = 10
+*/
+
+in vec2 fragCoord;
+out vec4 fragColor;
+
+// bar values. defaults to left channels first (low to high), then right (high to low).
+uniform float bars[512];
+
+uniform int bars_count; // number of bars (left + right) (configurable)
+uniform int bar_width; // bar width (configurable), not used here
+uniform int bar_spacing; // space bewteen bars (configurable)
+
+uniform vec3 u_resolution; // window resolution
+
+//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
+uniform vec3 bg_color; // background color
+uniform vec3 fg_color; // foreground color
+
+uniform int gradient_count;
+uniform vec3 gradient_colors[8]; // gradient colors
+
+vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
+{
+ //create color based on fraction of this color and next color
+ float yr = (y - y_min) / (y_max - y_min);
+ return col_1 * (1.0 - yr) + col_2 * yr;
+}
+
+void main()
+{
+ // find which bar to use based on where we are on the x axis
+ float x = u_resolution.x * fragCoord.x;
+ int bar = int(bars_count * fragCoord.x);
+
+ //calculate a bar size
+ float bar_size = u_resolution.x / bars_count;
+
+ //the y coordinate is stretched by 4X to resemble Winamp
+ float y = min(bars[bar] * 4.0, 1.0);
+
+ // make sure there is a thin line at bottom
+ if (y * u_resolution.y < 1.0)
+ {
+ y = 1.0 / u_resolution.y;
+ }
+
+ vec4 bar_color;
+
+ if (gradient_count == 0)
+ {
+ bar_color = vec4(fg_color,1.0);
+ }
+ else
+ {
+ //find color in the configured gradient for the top of the bar
+ int color = int((gradient_count - 1) * y);
+
+ //find where on y this and next color is supposed to be
+ float y_min = float(color) / (gradient_count - 1.0);
+ float y_max = float(color + 1) / (gradient_count - 1.0);
+
+ //make a solid color for the entire bar
+ bar_color = vec4(normalize_C(y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
+ }
+
+
+ //draw the bar up to current height
+ if (y > fragCoord.y)
+ {
+ //make some space between bars based on settings
+ if (x > (bar + 1) * (bar_size) - bar_spacing)
+ {
+ fragColor = vec4(bg_color,1.0);
+ }
+ else
+ {
+ fragColor = bar_color;
+ }
+ }
+ else
+ {
+ fragColor = vec4(bg_color,1.0);
+ }
+}
\ No newline at end of file
diff --git a/gtk-3.0/colors.css b/gtk-3.0/colors.css
new file mode 100644
index 0000000..9c3422f
--- /dev/null
+++ b/gtk-3.0/colors.css
@@ -0,0 +1,84 @@
+@define-color borders_breeze #5e636d;
+@define-color content_view_bg_breeze #2e3440;
+@define-color error_color_backdrop_breeze #b36672;
+@define-color error_color_breeze #bf616a;
+@define-color error_color_insensitive_backdrop_breeze #5c414b;
+@define-color error_color_insensitive_breeze #5c414b;
+@define-color insensitive_base_color_breeze #2c323d;
+@define-color insensitive_base_fg_color_breeze #6b7079;
+@define-color insensitive_bg_color_breeze #2c323d;
+@define-color insensitive_borders_breeze #3c414c;
+@define-color insensitive_fg_color_breeze #6b7079;
+@define-color insensitive_selected_bg_color_breeze #2c323d;
+@define-color insensitive_selected_fg_color_breeze #6b7079;
+@define-color insensitive_unfocused_bg_color_breeze #2c323d;
+@define-color insensitive_unfocused_fg_color_breeze #6b7079;
+@define-color insensitive_unfocused_selected_bg_color_breeze #2c323d;
+@define-color insensitive_unfocused_selected_fg_color_breeze #6b7079;
+@define-color link_color_breeze #81a1c1;
+@define-color link_visited_color_breeze #8fbcbb;
+@define-color success_color_backdrop_breeze #a1bb94;
+@define-color success_color_breeze #a3be8c;
+@define-color success_color_insensitive_backdrop_breeze #536056;
+@define-color success_color_insensitive_breeze #536056;
+@define-color theme_base_color_breeze #2e3440;
+@define-color theme_bg_color_breeze #2e3440;
+@define-color theme_button_background_backdrop_breeze #4d576a;
+@define-color theme_button_background_backdrop_insensitive_breeze #485265;
+@define-color theme_button_background_insensitive_breeze #485265;
+@define-color theme_button_background_normal_breeze #4c566a;
+@define-color theme_button_decoration_focus_backdrop_breeze #6280a7;
+@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #4e607b;
+@define-color theme_button_decoration_focus_breeze #5e81ac;
+@define-color theme_button_decoration_focus_insensitive_breeze #4e607b;
+@define-color theme_button_decoration_hover_backdrop_breeze #6280a7;
+@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #4e607b;
+@define-color theme_button_decoration_hover_breeze #5e81ac;
+@define-color theme_button_decoration_hover_insensitive_breeze #4e607b;
+@define-color theme_button_foreground_active_backdrop_breeze #e9ebed;
+@define-color theme_button_foreground_active_backdrop_insensitive_breeze #6b7079;
+@define-color theme_button_foreground_active_breeze #eceff4;
+@define-color theme_button_foreground_active_insensitive_breeze #6b7079;
+@define-color theme_button_foreground_backdrop_breeze #eaebed;
+@define-color theme_button_foreground_backdrop_insensitive_breeze #7e8593;
+@define-color theme_button_foreground_insensitive_breeze #7e8593;
+@define-color theme_button_foreground_normal_breeze #eceff4;
+@define-color theme_fg_color_breeze #eceff4;
+@define-color theme_header_background_backdrop_breeze #303541;
+@define-color theme_header_background_breeze #2e3440;
+@define-color theme_header_background_light_breeze #2e3440;
+@define-color theme_header_foreground_backdrop_breeze #eaeaec;
+@define-color theme_header_foreground_breeze #eceff4;
+@define-color theme_header_foreground_insensitive_backdrop_breeze #eaeaec;
+@define-color theme_header_foreground_insensitive_breeze #eaeaec;
+@define-color theme_hovering_selected_bg_color_breeze #5e81ac;
+@define-color theme_selected_bg_color_breeze #5e81ac;
+@define-color theme_selected_fg_color_breeze #eceff4;
+@define-color theme_text_color_breeze #eceff4;
+@define-color theme_titlebar_background_backdrop_breeze #2e3440;
+@define-color theme_titlebar_background_breeze #2e3440;
+@define-color theme_titlebar_background_light_breeze #2e3440;
+@define-color theme_titlebar_foreground_backdrop_breeze #d8dee9;
+@define-color theme_titlebar_foreground_breeze #eceff4;
+@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #d8dee9;
+@define-color theme_titlebar_foreground_insensitive_breeze #d8dee9;
+@define-color theme_unfocused_base_color_breeze #303541;
+@define-color theme_unfocused_bg_color_breeze #303541;
+@define-color theme_unfocused_fg_color_breeze #eaeaec;
+@define-color theme_unfocused_selected_bg_color_alt_breeze #354559;
+@define-color theme_unfocused_selected_bg_color_breeze #354559;
+@define-color theme_unfocused_selected_fg_color_breeze #e9ebed;
+@define-color theme_unfocused_text_color_breeze #eaeaec;
+@define-color theme_unfocused_view_bg_color_breeze #2c323d;
+@define-color theme_unfocused_view_text_color_breeze #6b7079;
+@define-color theme_view_active_decoration_color_breeze #5e81ac;
+@define-color theme_view_hover_decoration_color_breeze #5e81ac;
+@define-color tooltip_background_breeze #4c566a;
+@define-color tooltip_border_breeze #747c8d;
+@define-color tooltip_text_breeze #eceff4;
+@define-color unfocused_borders_breeze #5e636c;
+@define-color unfocused_insensitive_borders_breeze #3c414c;
+@define-color warning_color_backdrop_breeze #e2c996;
+@define-color warning_color_breeze #ebcb8b;
+@define-color warning_color_insensitive_backdrop_breeze #6b6456;
+@define-color warning_color_insensitive_breeze #6b6456;
diff --git a/gtk-3.0/gtk.css b/gtk-3.0/gtk.css
new file mode 100644
index 0000000..23668bd
--- /dev/null
+++ b/gtk-3.0/gtk.css
@@ -0,0 +1 @@
+@import 'colors.css';
diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini
new file mode 100644
index 0000000..04c000f
--- /dev/null
+++ b/gtk-3.0/settings.ini
@@ -0,0 +1,19 @@
+[Settings]
+gtk-application-prefer-dark-theme=true
+gtk-button-images=true
+gtk-theme-name=Raleigh
+gtk-icon-theme-name=breeze-dark
+gtk-font-name=Cantarell 11
+gtk-cursor-theme-name=Bibata-Modern-Ice
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintfull
+gtk-xft-rgba=none
+gtk-modules=gail:atk-bridge
diff --git a/gtk-4.0/colors.css b/gtk-4.0/colors.css
new file mode 100644
index 0000000..9c3422f
--- /dev/null
+++ b/gtk-4.0/colors.css
@@ -0,0 +1,84 @@
+@define-color borders_breeze #5e636d;
+@define-color content_view_bg_breeze #2e3440;
+@define-color error_color_backdrop_breeze #b36672;
+@define-color error_color_breeze #bf616a;
+@define-color error_color_insensitive_backdrop_breeze #5c414b;
+@define-color error_color_insensitive_breeze #5c414b;
+@define-color insensitive_base_color_breeze #2c323d;
+@define-color insensitive_base_fg_color_breeze #6b7079;
+@define-color insensitive_bg_color_breeze #2c323d;
+@define-color insensitive_borders_breeze #3c414c;
+@define-color insensitive_fg_color_breeze #6b7079;
+@define-color insensitive_selected_bg_color_breeze #2c323d;
+@define-color insensitive_selected_fg_color_breeze #6b7079;
+@define-color insensitive_unfocused_bg_color_breeze #2c323d;
+@define-color insensitive_unfocused_fg_color_breeze #6b7079;
+@define-color insensitive_unfocused_selected_bg_color_breeze #2c323d;
+@define-color insensitive_unfocused_selected_fg_color_breeze #6b7079;
+@define-color link_color_breeze #81a1c1;
+@define-color link_visited_color_breeze #8fbcbb;
+@define-color success_color_backdrop_breeze #a1bb94;
+@define-color success_color_breeze #a3be8c;
+@define-color success_color_insensitive_backdrop_breeze #536056;
+@define-color success_color_insensitive_breeze #536056;
+@define-color theme_base_color_breeze #2e3440;
+@define-color theme_bg_color_breeze #2e3440;
+@define-color theme_button_background_backdrop_breeze #4d576a;
+@define-color theme_button_background_backdrop_insensitive_breeze #485265;
+@define-color theme_button_background_insensitive_breeze #485265;
+@define-color theme_button_background_normal_breeze #4c566a;
+@define-color theme_button_decoration_focus_backdrop_breeze #6280a7;
+@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #4e607b;
+@define-color theme_button_decoration_focus_breeze #5e81ac;
+@define-color theme_button_decoration_focus_insensitive_breeze #4e607b;
+@define-color theme_button_decoration_hover_backdrop_breeze #6280a7;
+@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #4e607b;
+@define-color theme_button_decoration_hover_breeze #5e81ac;
+@define-color theme_button_decoration_hover_insensitive_breeze #4e607b;
+@define-color theme_button_foreground_active_backdrop_breeze #e9ebed;
+@define-color theme_button_foreground_active_backdrop_insensitive_breeze #6b7079;
+@define-color theme_button_foreground_active_breeze #eceff4;
+@define-color theme_button_foreground_active_insensitive_breeze #6b7079;
+@define-color theme_button_foreground_backdrop_breeze #eaebed;
+@define-color theme_button_foreground_backdrop_insensitive_breeze #7e8593;
+@define-color theme_button_foreground_insensitive_breeze #7e8593;
+@define-color theme_button_foreground_normal_breeze #eceff4;
+@define-color theme_fg_color_breeze #eceff4;
+@define-color theme_header_background_backdrop_breeze #303541;
+@define-color theme_header_background_breeze #2e3440;
+@define-color theme_header_background_light_breeze #2e3440;
+@define-color theme_header_foreground_backdrop_breeze #eaeaec;
+@define-color theme_header_foreground_breeze #eceff4;
+@define-color theme_header_foreground_insensitive_backdrop_breeze #eaeaec;
+@define-color theme_header_foreground_insensitive_breeze #eaeaec;
+@define-color theme_hovering_selected_bg_color_breeze #5e81ac;
+@define-color theme_selected_bg_color_breeze #5e81ac;
+@define-color theme_selected_fg_color_breeze #eceff4;
+@define-color theme_text_color_breeze #eceff4;
+@define-color theme_titlebar_background_backdrop_breeze #2e3440;
+@define-color theme_titlebar_background_breeze #2e3440;
+@define-color theme_titlebar_background_light_breeze #2e3440;
+@define-color theme_titlebar_foreground_backdrop_breeze #d8dee9;
+@define-color theme_titlebar_foreground_breeze #eceff4;
+@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #d8dee9;
+@define-color theme_titlebar_foreground_insensitive_breeze #d8dee9;
+@define-color theme_unfocused_base_color_breeze #303541;
+@define-color theme_unfocused_bg_color_breeze #303541;
+@define-color theme_unfocused_fg_color_breeze #eaeaec;
+@define-color theme_unfocused_selected_bg_color_alt_breeze #354559;
+@define-color theme_unfocused_selected_bg_color_breeze #354559;
+@define-color theme_unfocused_selected_fg_color_breeze #e9ebed;
+@define-color theme_unfocused_text_color_breeze #eaeaec;
+@define-color theme_unfocused_view_bg_color_breeze #2c323d;
+@define-color theme_unfocused_view_text_color_breeze #6b7079;
+@define-color theme_view_active_decoration_color_breeze #5e81ac;
+@define-color theme_view_hover_decoration_color_breeze #5e81ac;
+@define-color tooltip_background_breeze #4c566a;
+@define-color tooltip_border_breeze #747c8d;
+@define-color tooltip_text_breeze #eceff4;
+@define-color unfocused_borders_breeze #5e636c;
+@define-color unfocused_insensitive_borders_breeze #3c414c;
+@define-color warning_color_backdrop_breeze #e2c996;
+@define-color warning_color_breeze #ebcb8b;
+@define-color warning_color_insensitive_backdrop_breeze #6b6456;
+@define-color warning_color_insensitive_breeze #6b6456;
diff --git a/gtk-4.0/gtk.css b/gtk-4.0/gtk.css
new file mode 100644
index 0000000..23668bd
--- /dev/null
+++ b/gtk-4.0/gtk.css
@@ -0,0 +1 @@
+@import 'colors.css';
diff --git a/gtk-4.0/settings.ini b/gtk-4.0/settings.ini
new file mode 100644
index 0000000..14c94dc
--- /dev/null
+++ b/gtk-4.0/settings.ini
@@ -0,0 +1,17 @@
+[Settings]
+gtk-application-prefer-dark-theme=true
+gtk-button-images=true
+gtk-theme-name=theme
+gtk-icon-theme-name=TokyoNight-SE
+gtk-font-name=Cantarell 11
+gtk-cursor-theme-name=Bibata-Modern-Ice
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintfull
\ No newline at end of file
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index 6930e5d..fd3aeec 100644
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -9,8 +9,15 @@ exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = hyprpaper & waybar
exec-once = hypridle
-windowrulev2 = suppressevent maximize, class:.*
+#windowrulev2 = suppressevent maximize, class:.*
+#windowrule = float, kitty
+#windowrule = size 1000 500, kitty
+# windowrulev2 = workspace 2, class:kitty
+windowrulev2 = workspace 1, class:zen-alpha
+windowrulev2 = workspace 3, class:Code
+windowrulev2 = workspace 1, class:obsidian
+windowrulev2 = workspace 9, class:Docker Desktop
exec-once = [workspace 1] zen-browser
exec-once = [workspace 2] kitty
@@ -48,10 +55,10 @@ general {
decoration {
dim_special = 0.2
- rounding = 10
+ rounding = 6
active_opacity = 1
- inactive_opacity = 0.7
+ inactive_opacity = 0.75
shadow {
# enabled = false
@@ -144,7 +151,6 @@ bind = $mainMod, F, fullscreen, 1
bind = $mainMod, G, fullscreen, 0
bind = $mainMod, O, exec, obsidian
bind = $mainMod_Shift, T, exec, [float; size 1000 500] $terminal
-exec-once = hyprswitch init --show-title --size-factor 5.5 --workspaces-per-row 5 &
$key = tab
$mod = super
diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf
new file mode 100644
index 0000000..defa8f3
--- /dev/null
+++ b/hypr/hyprlock.conf
@@ -0,0 +1,89 @@
+source = $HOME/.config/hypr/mocha.conf
+
+$accent = $mauve
+$accentAlpha = $mauveAlpha
+$font = JetBrainsMono Nerd Font
+
+# GENERAL
+general {
+ disable_loading_bar = true
+ hide_cursor = true
+}
+
+# BACKGROUND
+background {
+ monitor =
+ path = $HOME/Pictures/Wallpaper/wallpaper23.jpg
+ blur_passes = 0
+ color = $base
+}
+
+# LAYOUT
+# label {
+# monitor =
+# text = Layout: $LAYOUT
+# color = $text
+# font_size = 25
+# font_family = $font
+# position = 30, -30
+# halign = left
+# valign = top
+# }
+
+# TIME
+label {
+ monitor =
+ text = $TIME
+ color = $text
+ font_size = 90
+ font_family = $font
+ position = -30, 0
+ halign = right
+ valign = top
+}
+
+# DATE
+label {
+ monitor =
+ text = cmd[update:43200000] date +"%A, %d %B %Y"
+ color = $text
+ font_size = 20
+ font_family = $font
+ position = -30, -150
+ halign = right
+ valign = top
+}
+
+# USER AVATAR
+# image {
+# monitor =
+# path = $HOME/.face
+# size = 100
+# border_color = $accent
+# position = 0, 75
+# halign = center
+# valign = center
+# }
+
+# INPUT FIELD
+input-field {
+ monitor =
+ size = 300, 60
+ outline_thickness = 4
+ dots_size = 0.2
+ dots_spacing = 0.2
+ dots_center = true
+ outer_color = $accent
+ inner_color = $surface0
+ font_color = $text
+ fade_on_empty = false
+ placeholder_text = Logged in as $USER
+ hide_input = false
+ check_color = $accent
+ fail_color = $red
+ fail_text = $FAIL ($ATTEMPTS)
+ capslock_color = $yellow
+ position = 0, -47
+ halign = center
+ valign = center
+}
\ No newline at end of file
diff --git a/kitty/kitty.conf b/kitty/kitty.conf
index 8085eef..6c2f8fb 100644
--- a/kitty/kitty.conf
+++ b/kitty/kitty.conf
@@ -29,7 +29,7 @@ enable_image_protocol yes
# initial_window_width 95c
# initial_window_height 35c
-background_opacity 0.9
+background_opacity 0.95
# BEGIN_KITTY_THEME
@@ -39,7 +39,7 @@ background_opacity 0.9
# BEGIN_KITTY_FONTS
-font_family family='JetBrainsMono Nerd Font Mono' postscript_name=JetBrainsMonoNFM-Regular
+font_family family="JetBrainsMono Nerd Font"
bold_font auto
italic_font auto
bold_italic_font auto
diff --git a/kitty/kitty.conf.bak b/kitty/kitty.conf.bak
index cf0b095..2b8bee4 100644
--- a/kitty/kitty.conf.bak
+++ b/kitty/kitty.conf.bak
@@ -16,6 +16,22 @@ map ctrl+shift+c copy_to_clipboard
map ctrl+shift+v paste_from_clipboard
+
+window_padding_width 5
+window_margin_width 5
+# window_border_width 2px
+active_border_color #e0e4e5
+inactive_border_color #9EA3A7
+enabled_layouts Tall, *
+
+enable_image_protocol yes
+
+# initial_window_width 95c
+# initial_window_height 35c
+
+background_opacity 0.95
+
+
# BEGIN_KITTY_THEME
# Catppuccin-Mocha
# include current-theme.conf
@@ -23,7 +39,7 @@ map ctrl+shift+v paste_from_clipboard
# BEGIN_KITTY_FONTS
-font_family family="JetBrainsMono Nerd Font Mono"
+font_family family="JetBrainsMonoNL Nerd Font Mono"
bold_font auto
italic_font auto
bold_italic_font auto
diff --git a/rofi/xclip/xclipboard.sh b/rofi/xclip/xclipboard.sh
new file mode 100644
index 0000000..49bff2e
--- /dev/null
+++ b/rofi/xclip/xclipboard.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Get the clipboard history from xclip
+CLIPBOARD_HISTORY=~/clipboard_history.txt
+
+# Save current clipboard content to a file
+xclip -o -selection clipboard >> "$CLIPBOARD_HISTORY"
+
+# Remove duplicate entries and keep the last few
+awk '!seen[$0]++' "$CLIPBOARD_HISTORY" > "${CLIPBOARD_HISTORY}.tmp" && mv "${CLIPBOARD_HISTORY}.tmp" "$CLIPBOARD_HISTORY"
+
+# Use rofi to select from clipboard history
+SELECTED=$(cat "$CLIPBOARD_HISTORY" | rofi -dmenu -p "Clipboard:")
+
+# Copy selected text back to clipboard
+if [ -n "$SELECTED" ]; then
+ echo -n "$SELECTED" | xclip -selection clipboard
+fi
+
diff --git a/starship/starship.toml b/starship/starship.toml
index ba19865..ab83bbb 100644
--- a/starship/starship.toml
+++ b/starship/starship.toml
@@ -1,7 +1,4 @@
-[aws]
-symbol = " "
-
[buf]
symbol = " "
diff --git a/waybar/config.jsonc b/waybar/config.jsonc
index ef371b5..961bc47 100644
--- a/waybar/config.jsonc
+++ b/waybar/config.jsonc
@@ -6,10 +6,9 @@
"margin-top": 2,
"margin-bottom": 0,
"modules-left": ["hyprland/workspaces", "cpu", "memory", "network#speed"],
- "modules-center": [
- "clock"
- ],
+ "modules-center": ["clock"],
"modules-right": [
+ "custom/cava",
"temperature#gpu",
"custom/transparency",
"custom/wallpaper",
@@ -26,6 +25,30 @@
"format": "{temperatureC}°C ",
"tooltip": false
},
+ "custom/cava": {
+ // "cava_config": "$XDG_CONFIG_HOME/.config/cava/config",
+ "framerate": 30,
+ "autosens": 1,
+ // "sensitivity": 100,
+ "bars": 14,
+ "lower_cutoff_freq": 50,
+ "higher_cutoff_freq": 10000,
+ "method": "pulse",
+ "exec": "~/.config/waybar/scripts/cava.sh",
+ "interval": 0.05,
+ "source": "auto",
+ "stereo": true,
+ "reverse": false,
+ "bar_delimiter": 0,
+ "monstercat": false,
+ "waves": false,
+ "noise_reduction": 0.77,
+ "input_delay": 2,
+ "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
+ "actions": {
+ "on-click-right": "mode"
+ }
+ },
"backlight": {
"device": "intel_backlight",
"scroll-step": 5,
diff --git a/waybar/scripts/cava.sh b/waybar/scripts/cava.sh
new file mode 100755
index 0000000..0c0d994
--- /dev/null
+++ b/waybar/scripts/cava.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+is_cava_ServerExist=`ps -ef|grep -m 1 cava|grep -v "grep"|wc -l`
+if [ "$is_cava_ServerExist" = "0" ]; then
+ echo "cava_server not found" > /dev/null 2>&1
+# exit;
+elif [ "$is_cava_ServerExist" = "1" ]; then
+ killall cava
+fi
+
+cava -p ~/.config/cava/config | sed -u 's/;//g;s/0/▁/g;s/1/▂/g;s/2/▃/g;s/3/▄/g;s/4/▅/g;s/5/▆/g;s/6/▇/g;s/7/█/g;'
diff --git a/waybar/scripts/change-wallpaper.sh b/waybar/scripts/change-wallpaper.sh
index 7d34174..490efa6 100755
--- a/waybar/scripts/change-wallpaper.sh
+++ b/waybar/scripts/change-wallpaper.sh
@@ -5,7 +5,7 @@ if [ $(pgrep -c hyprpaper) -ne 0 ]; then
killall hyprpaper
fi
-TARGET="$HOME/Downloads/Wallpaper"
+TARGET="$HOME/Pictures/Wallpaper"
WALLPAPER=$(find "$TARGET" -type f -regex '.*\.\(jpg\|jpeg\|png\|webp\)' | shuf -n 1)
CONFIG_PATH="$HOME/.config/hypr/hyprpaper.conf"
diff --git a/waybar/scripts/swwpaper.sh b/waybar/scripts/swwpaper.sh
new file mode 100644
index 0000000..0189eba
--- /dev/null
+++ b/waybar/scripts/swwpaper.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# Check if swww is running and kill it
+if pgrep -x "swww" > /dev/null; then
+ killall swww
+fi
+
+TARGET="$HOME/Pictures/Wallpaper"
+
+WALLPAPER=$(find "$TARGET" -type f -iregex '.*\.\(jpg\|jpeg\|png\|webp\)' | shuf -n 1)
+
+if [ -z "$WALLPAPER" ]; then
+ echo "Error: No wallpapers found in $TARGET."
+ exit 1
+fi
+
+if ! pgrep -x "swww" > /dev/null; then
+ swww init
+ sleep 1
+fi
+
+swww img $WALLPAPER --transition-type outer --transition-fps=144 --transition-duration=1
+
+echo "Wallpaper set to: $WALLPAPER"
diff --git a/waybar/style.css b/waybar/style.css
index 1488b38..dfe2569 100644
--- a/waybar/style.css
+++ b/waybar/style.css
@@ -13,13 +13,13 @@
background-color: transparent;
}
-#custom-weather {
- margin-left: 2px;
- margin-right: 2px;
- padding: 0px 8px;
- background: @raisin-black;
- color: @beige;
- border-radius: 6px;
+#custom-cava {
+ color: #8fbc8f;
+ border-left: 0px;
+ border-right: 0px;
+ padding-bottom: 6px;
+ font-family: 'bargraph';
+ font-size: 22px;
}
#cpu {
@@ -63,10 +63,6 @@ menu,
border-radius: 6px;
}
-tooltip {
- border: 1px solid @beige;
-}
-
.modules-right,
.modules-center,
.modules-left {
@@ -140,7 +136,7 @@ tooltip {
font-size: 20px;
font-family: 'Font Awesome 5 Free';
padding: 0px 8px;
- margin-right: 2px;
+ margin-right: 1px;
color: #f38ba8;
background: @raisin-black;
border-radius: 0 6px 6px 0;
@@ -149,7 +145,7 @@ tooltip {
#pulseaudio,
#backlight {
padding: 0 8px;
- margin: 0 2px;
+ margin: 0 1px;
color: @beige;
border-radius: 6px 6px;
}
@@ -158,6 +154,7 @@ tooltip {
#network {
color: #cba6f7;
border-radius: 6px;
+ margin: 0 1px;
}
#network.speed {
@@ -187,38 +184,39 @@ tooltip {
color: @mint;
min-width: 30px;
padding-left: 5px;
- margin: 0 2px;
+ margin-left: 1px;
+ /* margin: 0 1px; */
padding-right: 5px;
border-radius: 6px;
}
#battery.charging {
- color: #eff1f5; /* Text */
- background: #40a02b; /* Green */
+ color: #33ae18; /* Text */
+ background: @raisin-black;
border-radius: 6px;
}
#battery.good:not(.charging) {
- color: #f9e2af; /* Peach */
- /* background: #1e1e2e; Base */
+ color: #f8d589;
+ background: @raisin-black;
border-radius: 6px;
}
#battery.warning:not(.charging) {
- color: #eff1f5; /* Text */
- background: #df8e1d; /* Yellow */
+ color: #e0a858; /* Text */
+ background: @raisin-black;
border-radius: 6px;
}
#battery.low:not(.charging) {
- color: #eff1f5; /* Text */
- background: #d20f39; /* Red */
+ color: #d20f39; /* Text */
+ background: @raisin-black;
border-radius: 6px;
}
#battery.critical:not(.charging) {
- color: #eff1f5; /* Text */
- background: #d20f39; /* Red */
+ color: #d20f39; /* Text */
+ background: @raisin-black;
animation-name: blink;
animation-duration: 0.75s;
animation-timing-function: linear;
diff --git a/yazi/Catppuccin-mocha.tmTheme.xml b/yazi/Catppuccin-mocha.tmTheme.xml
new file mode 100644
index 0000000..ff135ab
--- /dev/null
+++ b/yazi/Catppuccin-mocha.tmTheme.xml
@@ -0,0 +1,2048 @@
+
+
+
+
+ name
+ Catppuccin Mocha
+ semanticClass
+ theme.dark.catppuccin-mocha
+ uuid
+ 627ce890-fabb-4d39-9819-7be71f4bdca7
+ author
+ Catppuccin Org
+ colorSpaceName
+ sRGB
+ settings
+
+
+ settings
+
+ background
+ #1e1e2e
+ foreground
+ #cdd6f4
+ caret
+ #f5e0dc
+ lineHighlight
+ #313244
+ misspelling
+ #f38ba8
+ accent
+ #cba6f7
+ selection
+ #9399b240
+ activeGuide
+ #45475a
+ findHighlight
+ #3e5767
+ gutterForeground
+ #7f849c
+
+
+
+ name
+ Basic text & variable names (incl. leading punctuation)
+ scope
+ text, source, variable.other.readwrite, punctuation.definition.variable
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Parentheses, Brackets, Braces
+ scope
+ punctuation
+ settings
+
+ foreground
+ #9399b2
+ fontStyle
+
+
+
+
+ name
+ Comments
+ scope
+ comment, punctuation.definition.comment
+ settings
+
+ foreground
+ #6c7086
+ fontStyle
+ italic
+
+
+
+ scope
+ string, punctuation.definition.string
+ settings
+
+ foreground
+ #a6e3a1
+
+
+
+ scope
+ constant.character.escape
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Booleans, constants, numbers
+ scope
+ constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point
+ settings
+
+ foreground
+ #fab387
+
+
+
+ scope
+ keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword
+ settings
+
+ foreground
+ #cba6f7
+ fontStyle
+
+
+
+
+ scope
+ entity.name.tag.documentation
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ Punctuation
+ scope
+ keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ scope
+ entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Classes
+ scope
+ entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Enum
+ scope
+ entity.name.enum
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Enum member
+ scope
+ meta.enum variable.other.readwrite, variable.other.enummember
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Object properties
+ scope
+ meta.property.object
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Types
+ scope
+ meta.type, meta.type-alias, support.type, entity.name.type
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Decorators
+ scope
+ meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator
+ settings
+
+ foreground
+ #fab387
+
+
+
+ scope
+ variable.parameter, meta.function.parameters
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+ italic
+
+
+
+ name
+ Built-ins
+ scope
+ constant.language, support.function.builtin
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ scope
+ entity.other.attribute-name.documentation
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ name
+ Preprocessor directives
+ scope
+ keyword.control.directive, punctuation.definition.directive
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Type parameters
+ scope
+ punctuation.definition.typeparameters
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ Namespaces
+ scope
+ entity.name.namespace
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Property names (left hand assignments in json/yaml/css)
+ scope
+ support.type.property-name.css
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+
+
+
+
+ name
+ This/Self keyword
+ scope
+ variable.language.this, variable.language.this punctuation.definition.variable
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ name
+ Object properties
+ scope
+ variable.object.property
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ String template interpolation
+ scope
+ string.template variable, string variable
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ `new` as bold
+ scope
+ keyword.operator.new
+ settings
+
+ fontStyle
+ bold
+
+
+
+ name
+ C++ extern keyword
+ scope
+ storage.modifier.specifier.extern.cpp
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ C++ scope resolution
+ scope
+ entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ C++ doc keywords
+ scope
+ storage.type.class.doxygen
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ C++ operators
+ scope
+ storage.modifier.reference.cpp
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ C# Interpolated Strings
+ scope
+ meta.interpolation.cs
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ C# xml-style docs
+ scope
+ comment.block.documentation.cs
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Classes, reflecting the className color in JSX
+ scope
+ source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Operators
+ scope
+ punctuation.separator.operator.css
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Pseudo classes
+ scope
+ source.css entity.other.attribute-name.pseudo-class
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ scope
+ source.css constant.other.unicode-range
+ settings
+
+ foreground
+ #fab387
+
+
+
+ scope
+ source.css variable.parameter.url
+ settings
+
+ foreground
+ #a6e3a1
+ fontStyle
+
+
+
+
+ name
+ CSS vendored property names
+ scope
+ support.type.vendored.property-name
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ Less/SCSS right-hand variables (@/$-prefixed)
+ scope
+ source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss
+ settings
+
+ foreground
+ #eba0ac
+
+
+
+ name
+ CSS variables (--prefixed)
+ scope
+ source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ CSS Percentage values, styled the same as numbers
+ scope
+ keyword.other.unit.percentage.css
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ CSS Attribute selectors, styled the same as strings
+ scope
+ source.css meta.attribute-selector
+ settings
+
+ foreground
+ #a6e3a1
+
+
+
+ name
+ JSON/YAML keys, other left-hand assignments
+ scope
+ keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+
+
+
+
+ name
+ JSON/YAML constants
+ scope
+ constant.language.json, constant.language.yaml
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ YAML anchors
+ scope
+ entity.name.type.anchor.yaml, variable.other.alias.yaml
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+
+
+
+
+ name
+ TOML tables / ini groups
+ scope
+ support.type.property-name.table, entity.name.section.group-title.ini
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ TOML dates
+ scope
+ constant.other.time.datetime.offset.toml
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ YAML anchor puctuation
+ scope
+ punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ YAML triple dashes
+ scope
+ entity.other.document.begin.yaml
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Markup Diff
+ scope
+ markup.changed.diff
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Diff
+ scope
+ meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ Diff Inserted
+ scope
+ markup.inserted.diff
+ settings
+
+ foreground
+ #a6e3a1
+
+
+
+ name
+ Diff Deleted
+ scope
+ markup.deleted.diff
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ name
+ dotenv left-hand side assignments
+ scope
+ variable.other.env
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ dotenv reference to existing env variable
+ scope
+ string.quoted variable.other.env
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ GDScript functions
+ scope
+ support.function.builtin.gdscript
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ GDScript constants
+ scope
+ constant.language.gdscript
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Comment keywords
+ scope
+ comment meta.annotation.go
+ settings
+
+ foreground
+ #eba0ac
+
+
+
+ name
+ go:embed, go:build, etc.
+ scope
+ comment meta.annotation.parameters.go
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Go constants (nil, true, false)
+ scope
+ constant.language.go
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ GraphQL variables
+ scope
+ variable.graphql
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ GraphQL aliases
+ scope
+ string.unquoted.alias.graphql
+ settings
+
+ foreground
+ #f2cdcd
+
+
+
+ name
+ GraphQL enum members
+ scope
+ constant.character.enum.graphql
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ GraphQL field in types
+ scope
+ meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql
+ settings
+
+ foreground
+ #f2cdcd
+
+
+
+ name
+ HTML/XML DOCTYPE as keyword
+ scope
+ keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ HTML/XML-like <tags/>
+ scope
+ entity.name.tag
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+
+
+
+
+ name
+ Special characters like &
+ scope
+ text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ name
+ HTML/XML tag attribute values
+ scope
+ entity.other.attribute-name
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Components
+ scope
+ support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue
+ settings
+
+ foreground
+ #f5c2e7
+ fontStyle
+
+
+
+
+ name
+ Annotations
+ scope
+ punctuation.definition.annotation, storage.type.annotation
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Java enums
+ scope
+ constant.other.enum.java
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Java imports
+ scope
+ storage.modifier.import.java
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Javadoc
+ scope
+ comment.block.javadoc.java keyword.other.documentation.javadoc.java
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Exported Variable
+ scope
+ meta.export variable.other.readwrite.js
+ settings
+
+ foreground
+ #eba0ac
+
+
+
+ name
+ JS/TS constants & properties
+ scope
+ variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ JSDoc; these are mainly params, so styled as such
+ scope
+ variable.other.jsdoc, comment.block.documentation variable.other
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+
+
+
+
+ name
+ JSDoc keywords
+ scope
+ storage.type.class.jsdoc
+ settings
+
+ fontStyle
+
+
+
+
+ scope
+ support.type.object.console.js
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Node constants as keywords (module, etc.)
+ scope
+ support.constant.node, support.type.object.module.js
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ implements as keyword
+ scope
+ storage.modifier.implements
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ Builtin types
+ scope
+ constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ scope
+ variable.parameter.generic
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Arrow functions
+ scope
+ keyword.declaration.function.arrow.js, storage.type.function.arrow.ts
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)
+ scope
+ punctuation.decorator.ts
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Extra JS/TS keywords
+ scope
+ keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ Julia macros
+ scope
+ support.function.macro.julia
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+ italic
+
+
+
+ name
+ Julia language constants (true, false)
+ scope
+ constant.language.julia
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Julia other constants (these seem to be arguments inside arrays)
+ scope
+ constant.other.symbol.julia
+ settings
+
+ foreground
+ #eba0ac
+
+
+
+ name
+ LaTeX preamble
+ scope
+ text.tex keyword.control.preamble
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ LaTeX be functions
+ scope
+ text.tex support.function.be
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ LaTeX math
+ scope
+ constant.other.general.math.tex
+ settings
+
+ foreground
+ #f2cdcd
+
+
+
+ name
+ Lua docstring keywords
+ scope
+ comment.line.double-dash.documentation.lua storage.type.annotation.lua
+ settings
+
+ foreground
+ #cba6f7
+ fontStyle
+
+
+
+
+ name
+ Lua docstring variables
+ scope
+ comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ scope
+ heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ scope
+ heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc
+ settings
+
+ foreground
+ #fab387
+
+
+
+ scope
+ heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ scope
+ heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc
+ settings
+
+ foreground
+ #a6e3a1
+
+
+
+ scope
+ heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ scope
+ heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ scope
+ markup.bold
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+ bold
+
+
+
+ scope
+ markup.italic
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+ italic
+
+
+
+ scope
+ markup.strikethrough
+ settings
+
+ foreground
+ #a6adc8
+ fontStyle
+ strikethrough
+
+
+
+ name
+ Markdown auto links
+ scope
+ punctuation.definition.link, markup.underline.link
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ Markdown links
+ scope
+ text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference
+ settings
+
+ foreground
+ #b4befe
+
+
+
+ name
+ Markdown code spans
+ scope
+ punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown
+ settings
+
+ foreground
+ #a6e3a1
+
+
+
+ name
+ Markdown triple backtick language identifier
+ scope
+ fenced_code.block.language
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ Markdown triple backticks
+ scope
+ markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc
+ settings
+
+ foreground
+ #9399b2
+
+
+
+ name
+ Markdown quotes
+ scope
+ markup.quote, punctuation.definition.quote.begin
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Markdown separators
+ scope
+ meta.separator.markdown
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Markdown list bullets
+ scope
+ punctuation.definition.list.begin.markdown, markup.list.bullet
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Nix attribute names
+ scope
+ entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ Nix parameter names
+ scope
+ variable.parameter.name.nix
+ settings
+
+ foreground
+ #cdd6f4
+ fontStyle
+
+
+
+
+ name
+ Nix interpolated parameter names
+ scope
+ meta.embedded variable.parameter.name.nix
+ settings
+
+ foreground
+ #b4befe
+ fontStyle
+
+
+
+
+ name
+ Nix paths
+ scope
+ string.unquoted.path.nix
+ settings
+
+ foreground
+ #f5c2e7
+ fontStyle
+
+
+
+
+ name
+ PHP Attributes
+ scope
+ support.attribute.builtin, meta.attribute.php
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ PHP Parameters (needed for the leading dollar sign)
+ scope
+ meta.function.parameters.php punctuation.definition.variable.php
+ settings
+
+ foreground
+ #eba0ac
+
+
+
+ name
+ PHP Constants (null, __FILE__, etc.)
+ scope
+ constant.language.php
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ PHP functions
+ scope
+ text.html.php support.function
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ PHPdoc keywords
+ scope
+ keyword.other.phpdoc.php
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Python argument functions reset to text, otherwise they inherit blue from function-call
+ scope
+ support.variable.magic.python, meta.function-call.arguments.python
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Python double underscore functions
+ scope
+ support.function.magic.python
+ settings
+
+ foreground
+ #89dceb
+ fontStyle
+ italic
+
+
+
+ name
+ Python `self` keyword
+ scope
+ variable.parameter.function.language.special.self.python, variable.language.special.self.python
+ settings
+
+ foreground
+ #f38ba8
+ fontStyle
+ italic
+
+
+
+ name
+ python keyword flow/logical (for ... in)
+ scope
+ keyword.control.flow.python, keyword.operator.logical.python
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ python storage type
+ scope
+ storage.type.function.python
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ python function support
+ scope
+ support.token.decorator.python, meta.function.decorator.identifier.python
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ python function calls
+ scope
+ meta.function-call.python
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ python function decorators
+ scope
+ entity.name.function.decorator.python, punctuation.definition.decorator.python
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+ italic
+
+
+
+ name
+ python placeholder reset to normal string
+ scope
+ constant.character.format.placeholder.other.python
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Python exception & builtins such as exit()
+ scope
+ support.type.exception.python, support.function.builtin.python
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ entity.name.type
+ scope
+ support.type.python
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ python constants (True/False)
+ scope
+ constant.language.python
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ Arguments accessed later in the function body
+ scope
+ meta.indexed-name.python, meta.item-access.python
+ settings
+
+ foreground
+ #eba0ac
+ fontStyle
+ italic
+
+
+
+ name
+ Python f-strings/binary/unicode storage types
+ scope
+ storage.type.string.python
+ settings
+
+ foreground
+ #a6e3a1
+ fontStyle
+ italic
+
+
+
+ name
+ Python type hints
+ scope
+ meta.function.parameters.python
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Regex string begin/end in JS/TS
+ scope
+ string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Regex anchors (^, $)
+ scope
+ keyword.control.anchor.regexp
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ Regex regular string match
+ scope
+ string.regexp.ts
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Regex group parenthesis & backreference (\1, \2, \3, ...)
+ scope
+ punctuation.definition.group.regexp, keyword.other.back-reference.regexp
+ settings
+
+ foreground
+ #a6e3a1
+
+
+
+ name
+ Regex character class []
+ scope
+ punctuation.definition.character-class.regexp
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Regex character classes (\d, \w, \s)
+ scope
+ constant.other.character-class.regexp
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Regex range
+ scope
+ constant.other.character-class.range.regexp
+ settings
+
+ foreground
+ #f5e0dc
+
+
+
+ name
+ Regex quantifier
+ scope
+ keyword.operator.quantifier.regexp
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Regex constant/numeric
+ scope
+ constant.character.numeric.regexp
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds
+ scope
+ punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ Rust attribute
+ scope
+ meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Rust attribute strings
+ scope
+ meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Rust keyword
+ scope
+ entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust
+ settings
+
+ foreground
+ #cba6f7
+ fontStyle
+
+
+
+
+ name
+ Rust u/i32, u/i64, etc.
+ scope
+ entity.name.type.numeric.rust
+ settings
+
+ foreground
+ #cba6f7
+ fontStyle
+
+
+
+
+ name
+ Rust generic
+ scope
+ meta.generic.rust
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Rust impl
+ scope
+ entity.name.impl.rust
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Rust module
+ scope
+ entity.name.module.rust
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Rust trait
+ scope
+ entity.name.trait.rust
+ settings
+
+ foreground
+ #f9e2af
+ fontStyle
+ italic
+
+
+
+ name
+ Rust struct
+ scope
+ storage.type.source.rust
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Rust union
+ scope
+ entity.name.union.rust
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+ name
+ Rust enum member
+ scope
+ meta.enum.rust storage.type.source.rust
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Rust macro
+ scope
+ support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Rust lifetime
+ scope
+ storage.modifier.lifetime.rust, entity.name.type.lifetime
+ settings
+
+ foreground
+ #89b4fa
+ fontStyle
+ italic
+
+
+
+ name
+ Rust string formatting
+ scope
+ string.quoted.double.rust constant.other.placeholder.rust
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Rust return type generic
+ scope
+ meta.function.return-type.rust meta.generic.rust storage.type.rust
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Rust functions
+ scope
+ meta.function.call.rust
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ name
+ Rust angle brackets
+ scope
+ punctuation.brackets.angle.rust
+ settings
+
+ foreground
+ #89dceb
+
+
+
+ name
+ Rust constants
+ scope
+ constant.other.caps.rust
+ settings
+
+ foreground
+ #fab387
+
+
+
+ name
+ Rust function parameters
+ scope
+ meta.function.definition.rust variable.other.rust
+ settings
+
+ foreground
+ #eba0ac
+
+
+
+ name
+ Rust closure variables
+ scope
+ meta.function.call.rust variable.other.rust
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ name
+ Rust self
+ scope
+ variable.language.self.rust
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ name
+ Rust metavariable names
+ scope
+ variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ name
+ Shell shebang
+ scope
+ comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell
+ settings
+
+ foreground
+ #f5c2e7
+ fontStyle
+ italic
+
+
+
+ name
+ Shell shebang command
+ scope
+ comment.line.shebang constant.language
+ settings
+
+ foreground
+ #94e2d5
+ fontStyle
+ italic
+
+
+
+ name
+ Shell interpolated command
+ scope
+ meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ name
+ Shell interpolated command variable
+ scope
+ meta.string meta.interpolation.parameter.shell variable.other.readwrite
+ settings
+
+ foreground
+ #fab387
+ fontStyle
+ italic
+
+
+
+ scope
+ source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell
+ settings
+
+ foreground
+ #94e2d5
+
+
+
+ name
+ Shell EOF
+ scope
+ entity.name.tag.heredoc.shell
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ name
+ Shell quoted variable
+ scope
+ string.quoted.double.shell variable.other.normal.shell
+ settings
+
+ foreground
+ #cdd6f4
+
+
+
+ scope
+ markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man
+ settings
+
+ foreground
+ #cba6f7
+
+
+
+ scope
+ markup.heading.commands.man
+ settings
+
+ foreground
+ #89b4fa
+
+
+
+ scope
+ markup.heading.env.man
+ settings
+
+ foreground
+ #f5c2e7
+
+
+
+ scope
+ markup.heading.1.markdown
+ settings
+
+ foreground
+ #f38ba8
+
+
+
+ scope
+ markup.heading.2.markdown
+ settings
+
+ foreground
+ #fab387
+
+
+
+ scope
+ markup.heading.markdown
+ settings
+
+ foreground
+ #f9e2af
+
+
+
+
+
\ No newline at end of file
diff --git a/yazi/theme.toml b/yazi/theme.toml
new file mode 100644
index 0000000..603db88
--- /dev/null
+++ b/yazi/theme.toml
@@ -0,0 +1,750 @@
+[manager]
+cwd = { fg = "#94e2d5" }
+
+hovered = { fg = "#1e1e2e", bg = "#89b4fa" }
+preview_hovered = { fg = "#1e1e2e", bg = "#cdd6f4" }
+
+find_keyword = { fg = "#f9e2af", italic = true }
+find_position = { fg = "#f5c2e7", bg = "reset", italic = true }
+
+marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" }
+marker_cut = { fg = "#f38ba8", bg = "#f38ba8" }
+marker_marked = { fg = "#94e2d5", bg = "#94e2d5" }
+marker_selected = { fg = "#89b4fa", bg = "#89b4fa" }
+
+tab_active = { fg = "#1e1e2e", bg = "#cdd6f4" }
+tab_inactive = { fg = "#cdd6f4", bg = "#45475a" }
+tab_width = 1
+
+count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" }
+count_cut = { fg = "#1e1e2e", bg = "#f38ba8" }
+count_selected = { fg = "#1e1e2e", bg = "#89b4fa" }
+
+border_symbol = "│"
+border_style = { fg = "#7f849c" }
+
+syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme"
+
+[mode]
+normal_main = { fg = "#1e1e2e", bg = "#89b4fa", bold = true }
+normal_alt = { fg = "#89b4fa", bg = "#313244"}
+
+select_main = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true }
+select_alt = { fg = "#a6e3a1", bg = "#313244"}
+
+unset_main = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true }
+unset_alt = { fg = "#f2cdcd", bg = "#313244"}
+
+[status]
+separator_open = ""
+separator_close = ""
+
+progress_label = { fg = "#ffffff", bold = true }
+progress_normal = { fg = "#89b4fa", bg = "#45475a" }
+progress_error = { fg = "#f38ba8", bg = "#45475a" }
+
+perm_type = { fg = "#89b4fa" }
+perm_read = { fg = "#f9e2af" }
+perm_write = { fg = "#f38ba8" }
+perm_exec = { fg = "#a6e3a1" }
+perm_sep = { fg = "#7f849c" }
+
+[input]
+border = { fg = "#89b4fa" }
+title = {}
+value = {}
+selected = { reversed = true }
+
+[pick]
+border = { fg = "#89b4fa" }
+active = { fg = "#f5c2e7" }
+inactive = {}
+
+[confirm]
+border = { fg = "#89b4fa" }
+title = { fg = "#89b4fa" }
+content = {}
+list = {}
+btn_yes = { reversed = true }
+btn_no = {}
+
+[completion]
+border = { fg = "#89b4fa" }
+
+[tasks]
+border = { fg = "#89b4fa" }
+title = {}
+hovered = { underline = true }
+
+[which]
+mask = { bg = "#313244" }
+cand = { fg = "#94e2d5" }
+rest = { fg = "#9399b2" }
+desc = { fg = "#f5c2e7" }
+separator = " "
+separator_style = { fg = "#585b70" }
+
+[help]
+on = { fg = "#94e2d5" }
+run = { fg = "#f5c2e7" }
+desc = { fg = "#9399b2" }
+hovered = { bg = "#585b70", bold = true }
+footer = { fg = "#cdd6f4", bg = "#45475a" }
+
+[notify]
+title_info = { fg = "#94e2d5" }
+title_warn = { fg = "#f9e2af" }
+title_error = { fg = "#f38ba8" }
+
+[filetype]
+rules = [
+ # Media
+ { mime = "image/*", fg = "#94e2d5" },
+ { mime = "{audio,video}/*", fg = "#f9e2af" },
+
+ # Archives
+ { mime = "application/*zip", fg = "#f5c2e7" },
+ { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" },
+
+ # Documents
+ { mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" },
+
+ # Fallback
+ { name = "*", fg = "#cdd6f4" },
+ { name = "*/", fg = "#89b4fa" }
+]
+
+[icon]
+files = [
+ { name = "kritadisplayrc", text = "", fg = "#cba6f7" },
+ { name = ".gtkrc-2.0", text = "", fg = "#f5e0dc" },
+ { name = "bspwmrc", text = "", fg = "#313244" },
+ { name = "webpack", text = "", fg = "#74c7ec" },
+ { name = "tsconfig.json", text = "", fg = "#74c7ec" },
+ { name = ".vimrc", text = "", fg = "#a6e3a1" },
+ { name = "gemfile$", text = "", fg = "#313244" },
+ { name = "xmobarrc", text = "", fg = "#f38ba8" },
+ { name = "avif", text = "", fg = "#7f849c" },
+ { name = "fp-info-cache", text = "", fg = "#f5e0dc" },
+ { name = ".zshrc", text = "", fg = "#a6e3a1" },
+ { name = "robots.txt", text = "", fg = "#6c7086" },
+ { name = "dockerfile", text = "", fg = "#89b4fa" },
+ { name = ".git-blame-ignore-revs", text = "", fg = "#fab387" },
+ { name = ".nvmrc", text = "", fg = "#a6e3a1" },
+ { name = "hyprpaper.conf", text = "", fg = "#74c7ec" },
+ { name = ".prettierignore", text = "", fg = "#89b4fa" },
+ { name = "rakefile", text = "", fg = "#313244" },
+ { name = "code_of_conduct", text = "", fg = "#f38ba8" },
+ { name = "cmakelists.txt", text = "", fg = "#cdd6f4" },
+ { name = ".env", text = "", fg = "#f9e2af" },
+ { name = "copying.lesser", text = "", fg = "#f9e2af" },
+ { name = "readme", text = "", fg = "#f5e0dc" },
+ { name = "settings.gradle", text = "", fg = "#585b70" },
+ { name = "gruntfile.coffee", text = "", fg = "#fab387" },
+ { name = ".eslintignore", text = "", fg = "#585b70" },
+ { name = "kalgebrarc", text = "", fg = "#89b4fa" },
+ { name = "kdenliverc", text = "", fg = "#89b4fa" },
+ { name = ".prettierrc.cjs", text = "", fg = "#89b4fa" },
+ { name = "cantorrc", text = "", fg = "#89b4fa" },
+ { name = "rmd", text = "", fg = "#74c7ec" },
+ { name = "vagrantfile$", text = "", fg = "#6c7086" },
+ { name = ".Xauthority", text = "", fg = "#fab387" },
+ { name = "prettier.config.ts", text = "", fg = "#89b4fa" },
+ { name = "node_modules", text = "", fg = "#f38ba8" },
+ { name = ".prettierrc.toml", text = "", fg = "#89b4fa" },
+ { name = "build.zig.zon", text = "", fg = "#fab387" },
+ { name = ".ds_store", text = "", fg = "#45475a" },
+ { name = "PKGBUILD", text = "", fg = "#89b4fa" },
+ { name = ".prettierrc", text = "", fg = "#89b4fa" },
+ { name = ".bash_profile", text = "", fg = "#a6e3a1" },
+ { name = ".npmignore", text = "", fg = "#f38ba8" },
+ { name = ".mailmap", text = "", fg = "#fab387" },
+ { name = ".codespellrc", text = "", fg = "#a6e3a1" },
+ { name = "svelte.config.js", text = "", fg = "#fab387" },
+ { name = "eslint.config.ts", text = "", fg = "#585b70" },
+ { name = "config", text = "", fg = "#7f849c" },
+ { name = ".gitlab-ci.yml", text = "", fg = "#fab387" },
+ { name = ".gitconfig", text = "", fg = "#fab387" },
+ { name = "_gvimrc", text = "", fg = "#a6e3a1" },
+ { name = ".xinitrc", text = "", fg = "#fab387" },
+ { name = "checkhealth", text = "", fg = "#89b4fa" },
+ { name = "sxhkdrc", text = "", fg = "#313244" },
+ { name = ".bashrc", text = "", fg = "#a6e3a1" },
+ { name = "tailwind.config.mjs", text = "", fg = "#74c7ec" },
+ { name = "ext_typoscript_setup.txt", text = "", fg = "#fab387" },
+ { name = "commitlint.config.ts", text = "", fg = "#94e2d5" },
+ { name = "py.typed", text = "", fg = "#f9e2af" },
+ { name = ".nanorc", text = "", fg = "#313244" },
+ { name = "commit_editmsg", text = "", fg = "#fab387" },
+ { name = ".luaurc", text = "", fg = "#89b4fa" },
+ { name = "fp-lib-table", text = "", fg = "#f5e0dc" },
+ { name = ".editorconfig", text = "", fg = "#f5e0dc" },
+ { name = "justfile", text = "", fg = "#7f849c" },
+ { name = "kdeglobals", text = "", fg = "#89b4fa" },
+ { name = "license.md", text = "", fg = "#f9e2af" },
+ { name = ".clang-format", text = "", fg = "#7f849c" },
+ { name = "docker-compose.yaml", text = "", fg = "#89b4fa" },
+ { name = "copying", text = "", fg = "#f9e2af" },
+ { name = "go.mod", text = "", fg = "#74c7ec" },
+ { name = "lxqt.conf", text = "", fg = "#89b4fa" },
+ { name = "brewfile", text = "", fg = "#313244" },
+ { name = "gulpfile.coffee", text = "", fg = "#f38ba8" },
+ { name = ".dockerignore", text = "", fg = "#89b4fa" },
+ { name = ".settings.json", text = "", fg = "#6c7086" },
+ { name = "tailwind.config.js", text = "", fg = "#74c7ec" },
+ { name = ".clang-tidy", text = "", fg = "#7f849c" },
+ { name = ".gvimrc", text = "", fg = "#a6e3a1" },
+ { name = "nuxt.config.cjs", text = "", fg = "#a6e3a1" },
+ { name = "xsettingsd.conf", text = "", fg = "#fab387" },
+ { name = "nuxt.config.js", text = "", fg = "#a6e3a1" },
+ { name = "eslint.config.cjs", text = "", fg = "#585b70" },
+ { name = "sym-lib-table", text = "", fg = "#f5e0dc" },
+ { name = ".condarc", text = "", fg = "#a6e3a1" },
+ { name = "xmonad.hs", text = "", fg = "#f38ba8" },
+ { name = "tmux.conf", text = "", fg = "#a6e3a1" },
+ { name = "xmobarrc.hs", text = "", fg = "#f38ba8" },
+ { name = ".prettierrc.yaml", text = "", fg = "#89b4fa" },
+ { name = ".pre-commit-config.yaml", text = "", fg = "#fab387" },
+ { name = "i3blocks.conf", text = "", fg = "#f5e0dc" },
+ { name = "xorg.conf", text = "", fg = "#fab387" },
+ { name = ".zshenv", text = "", fg = "#a6e3a1" },
+ { name = "vlcrc", text = "", fg = "#fab387" },
+ { name = "license", text = "", fg = "#f9e2af" },
+ { name = "unlicense", text = "", fg = "#f9e2af" },
+ { name = "tmux.conf.local", text = "", fg = "#a6e3a1" },
+ { name = ".SRCINFO", text = "", fg = "#89b4fa" },
+ { name = "tailwind.config.ts", text = "", fg = "#74c7ec" },
+ { name = "security.md", text = "", fg = "#bac2de" },
+ { name = "security", text = "", fg = "#bac2de" },
+ { name = ".eslintrc", text = "", fg = "#585b70" },
+ { name = "gradle.properties", text = "", fg = "#585b70" },
+ { name = "code_of_conduct.md", text = "", fg = "#f38ba8" },
+ { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#fab387" },
+ { name = "PrusaSlicer.ini", text = "", fg = "#fab387" },
+ { name = "procfile", text = "", fg = "#7f849c" },
+ { name = "mpv.conf", text = "", fg = "#1e1e2e" },
+ { name = ".prettierrc.json5", text = "", fg = "#89b4fa" },
+ { name = "i3status.conf", text = "", fg = "#f5e0dc" },
+ { name = "prettier.config.mjs", text = "", fg = "#89b4fa" },
+ { name = ".pylintrc", text = "", fg = "#7f849c" },
+ { name = "prettier.config.cjs", text = "", fg = "#89b4fa" },
+ { name = ".luacheckrc", text = "", fg = "#89b4fa" },
+ { name = "containerfile", text = "", fg = "#89b4fa" },
+ { name = "eslint.config.mjs", text = "", fg = "#585b70" },
+ { name = "gruntfile.js", text = "", fg = "#fab387" },
+ { name = "bun.lockb", text = "", fg = "#f5e0dc" },
+ { name = ".gitattributes", text = "", fg = "#fab387" },
+ { name = "gruntfile.ts", text = "", fg = "#fab387" },
+ { name = "pom.xml", text = "", fg = "#313244" },
+ { name = "favicon.ico", text = "", fg = "#f9e2af" },
+ { name = "package-lock.json", text = "", fg = "#313244" },
+ { name = "build", text = "", fg = "#a6e3a1" },
+ { name = "package.json", text = "", fg = "#f38ba8" },
+ { name = "nuxt.config.ts", text = "", fg = "#a6e3a1" },
+ { name = "nuxt.config.mjs", text = "", fg = "#a6e3a1" },
+ { name = "mix.lock", text = "", fg = "#7f849c" },
+ { name = "makefile", text = "", fg = "#7f849c" },
+ { name = "gulpfile.js", text = "", fg = "#f38ba8" },
+ { name = "lxde-rc.xml", text = "", fg = "#9399b2" },
+ { name = "kritarc", text = "", fg = "#cba6f7" },
+ { name = "gtkrc", text = "", fg = "#f5e0dc" },
+ { name = "ionic.config.json", text = "", fg = "#89b4fa" },
+ { name = ".prettierrc.mjs", text = "", fg = "#89b4fa" },
+ { name = ".prettierrc.yml", text = "", fg = "#89b4fa" },
+ { name = ".npmrc", text = "", fg = "#f38ba8" },
+ { name = "weston.ini", text = "", fg = "#f9e2af" },
+ { name = "gulpfile.babel.js", text = "", fg = "#f38ba8" },
+ { name = "i18n.config.ts", text = "", fg = "#7f849c" },
+ { name = "commitlint.config.js", text = "", fg = "#94e2d5" },
+ { name = ".gitmodules", text = "", fg = "#fab387" },
+ { name = "gradle-wrapper.properties", text = "", fg = "#585b70" },
+ { name = "hypridle.conf", text = "", fg = "#74c7ec" },
+ { name = "vercel.json", text = "▲", fg = "#f5e0dc" },
+ { name = "hyprlock.conf", text = "", fg = "#74c7ec" },
+ { name = "go.sum", text = "", fg = "#74c7ec" },
+ { name = "kdenlive-layoutsrc", text = "", fg = "#89b4fa" },
+ { name = "gruntfile.babel.js", text = "", fg = "#fab387" },
+ { name = "compose.yml", text = "", fg = "#89b4fa" },
+ { name = "i18n.config.js", text = "", fg = "#7f849c" },
+ { name = "readme.md", text = "", fg = "#f5e0dc" },
+ { name = "gradlew", text = "", fg = "#585b70" },
+ { name = "go.work", text = "", fg = "#74c7ec" },
+ { name = "gulpfile.ts", text = "", fg = "#f38ba8" },
+ { name = "gnumakefile", text = "", fg = "#7f849c" },
+ { name = "FreeCAD.conf", text = "", fg = "#f38ba8" },
+ { name = "compose.yaml", text = "", fg = "#89b4fa" },
+ { name = "eslint.config.js", text = "", fg = "#585b70" },
+ { name = "hyprland.conf", text = "", fg = "#74c7ec" },
+ { name = "docker-compose.yml", text = "", fg = "#89b4fa" },
+ { name = "groovy", text = "", fg = "#585b70" },
+ { name = "QtProject.conf", text = "", fg = "#a6e3a1" },
+ { name = "platformio.ini", text = "", fg = "#fab387" },
+ { name = "build.gradle", text = "", fg = "#585b70" },
+ { name = ".nuxtrc", text = "", fg = "#a6e3a1" },
+ { name = "_vimrc", text = "", fg = "#a6e3a1" },
+ { name = ".zprofile", text = "", fg = "#a6e3a1" },
+ { name = ".xsession", text = "", fg = "#fab387" },
+ { name = "prettier.config.js", text = "", fg = "#89b4fa" },
+ { name = ".babelrc", text = "", fg = "#f9e2af" },
+ { name = "workspace", text = "", fg = "#a6e3a1" },
+ { name = ".prettierrc.json", text = "", fg = "#89b4fa" },
+ { name = ".prettierrc.js", text = "", fg = "#89b4fa" },
+ { name = ".Xresources", text = "", fg = "#fab387" },
+ { name = ".gitignore", text = "", fg = "#fab387" },
+ { name = ".justfile", text = "", fg = "#7f849c" },
+]
+exts = [
+ { name = "otf", text = "", fg = "#f5e0dc" },
+ { name = "import", text = "", fg = "#f5e0dc" },
+ { name = "krz", text = "", fg = "#cba6f7" },
+ { name = "adb", text = "", fg = "#94e2d5" },
+ { name = "ttf", text = "", fg = "#f5e0dc" },
+ { name = "webpack", text = "", fg = "#74c7ec" },
+ { name = "dart", text = "", fg = "#585b70" },
+ { name = "vsh", text = "", fg = "#7f849c" },
+ { name = "doc", text = "", fg = "#585b70" },
+ { name = "zsh", text = "", fg = "#a6e3a1" },
+ { name = "ex", text = "", fg = "#7f849c" },
+ { name = "hx", text = "", fg = "#fab387" },
+ { name = "fodt", text = "", fg = "#74c7ec" },
+ { name = "mojo", text = "", fg = "#fab387" },
+ { name = "templ", text = "", fg = "#f9e2af" },
+ { name = "nix", text = "", fg = "#74c7ec" },
+ { name = "cshtml", text = "", fg = "#585b70" },
+ { name = "fish", text = "", fg = "#585b70" },
+ { name = "ply", text = "", fg = "#7f849c" },
+ { name = "sldprt", text = "", fg = "#a6e3a1" },
+ { name = "gemspec", text = "", fg = "#313244" },
+ { name = "mjs", text = "", fg = "#f9e2af" },
+ { name = "csh", text = "", fg = "#585b70" },
+ { name = "cmake", text = "", fg = "#cdd6f4" },
+ { name = "fodp", text = "", fg = "#fab387" },
+ { name = "vi", text = "", fg = "#f9e2af" },
+ { name = "msf", text = "", fg = "#89b4fa" },
+ { name = "blp", text = "", fg = "#89b4fa" },
+ { name = "less", text = "", fg = "#45475a" },
+ { name = "sh", text = "", fg = "#585b70" },
+ { name = "odg", text = "", fg = "#f9e2af" },
+ { name = "mint", text = "", fg = "#a6e3a1" },
+ { name = "dll", text = "", fg = "#11111b" },
+ { name = "odf", text = "", fg = "#f38ba8" },
+ { name = "sqlite3", text = "", fg = "#f5e0dc" },
+ { name = "Dockerfile", text = "", fg = "#89b4fa" },
+ { name = "ksh", text = "", fg = "#585b70" },
+ { name = "rmd", text = "", fg = "#74c7ec" },
+ { name = "wv", text = "", fg = "#74c7ec" },
+ { name = "xml", text = "", fg = "#fab387" },
+ { name = "markdown", text = "", fg = "#cdd6f4" },
+ { name = "qml", text = "", fg = "#a6e3a1" },
+ { name = "3gp", text = "", fg = "#fab387" },
+ { name = "pxi", text = "", fg = "#89b4fa" },
+ { name = "flac", text = "", fg = "#6c7086" },
+ { name = "gpr", text = "", fg = "#cba6f7" },
+ { name = "huff", text = "", fg = "#585b70" },
+ { name = "json", text = "", fg = "#f9e2af" },
+ { name = "gv", text = "", fg = "#585b70" },
+ { name = "bmp", text = "", fg = "#7f849c" },
+ { name = "lock", text = "", fg = "#bac2de" },
+ { name = "sha384", text = "", fg = "#7f849c" },
+ { name = "cobol", text = "⚙", fg = "#585b70" },
+ { name = "cob", text = "⚙", fg = "#585b70" },
+ { name = "java", text = "", fg = "#f38ba8" },
+ { name = "cjs", text = "", fg = "#f9e2af" },
+ { name = "qm", text = "", fg = "#74c7ec" },
+ { name = "ebuild", text = "", fg = "#45475a" },
+ { name = "mustache", text = "", fg = "#fab387" },
+ { name = "terminal", text = "", fg = "#a6e3a1" },
+ { name = "ejs", text = "", fg = "#f9e2af" },
+ { name = "brep", text = "", fg = "#a6e3a1" },
+ { name = "rar", text = "", fg = "#fab387" },
+ { name = "gradle", text = "", fg = "#585b70" },
+ { name = "gnumakefile", text = "", fg = "#7f849c" },
+ { name = "applescript", text = "", fg = "#7f849c" },
+ { name = "elm", text = "", fg = "#74c7ec" },
+ { name = "ebook", text = "", fg = "#fab387" },
+ { name = "kra", text = "", fg = "#cba6f7" },
+ { name = "tf", text = "", fg = "#585b70" },
+ { name = "xls", text = "", fg = "#585b70" },
+ { name = "fnl", text = "", fg = "#f9e2af" },
+ { name = "kdbx", text = "", fg = "#a6e3a1" },
+ { name = "kicad_pcb", text = "", fg = "#f5e0dc" },
+ { name = "cfg", text = "", fg = "#7f849c" },
+ { name = "ape", text = "", fg = "#74c7ec" },
+ { name = "org", text = "", fg = "#94e2d5" },
+ { name = "yml", text = "", fg = "#7f849c" },
+ { name = "swift", text = "", fg = "#fab387" },
+ { name = "eln", text = "", fg = "#7f849c" },
+ { name = "sol", text = "", fg = "#74c7ec" },
+ { name = "awk", text = "", fg = "#585b70" },
+ { name = "7z", text = "", fg = "#fab387" },
+ { name = "apl", text = "⍝", fg = "#fab387" },
+ { name = "epp", text = "", fg = "#fab387" },
+ { name = "app", text = "", fg = "#45475a" },
+ { name = "dot", text = "", fg = "#585b70" },
+ { name = "kpp", text = "", fg = "#cba6f7" },
+ { name = "eot", text = "", fg = "#f5e0dc" },
+ { name = "hpp", text = "", fg = "#7f849c" },
+ { name = "spec.tsx", text = "", fg = "#585b70" },
+ { name = "hurl", text = "", fg = "#f38ba8" },
+ { name = "cxxm", text = "", fg = "#74c7ec" },
+ { name = "c", text = "", fg = "#89b4fa" },
+ { name = "fcmacro", text = "", fg = "#f38ba8" },
+ { name = "sass", text = "", fg = "#f38ba8" },
+ { name = "yaml", text = "", fg = "#7f849c" },
+ { name = "xz", text = "", fg = "#fab387" },
+ { name = "material", text = "", fg = "#f38ba8" },
+ { name = "json5", text = "", fg = "#f9e2af" },
+ { name = "signature", text = "λ", fg = "#fab387" },
+ { name = "3mf", text = "", fg = "#7f849c" },
+ { name = "jpg", text = "", fg = "#7f849c" },
+ { name = "xpi", text = "", fg = "#fab387" },
+ { name = "fcmat", text = "", fg = "#f38ba8" },
+ { name = "pot", text = "", fg = "#74c7ec" },
+ { name = "bin", text = "", fg = "#45475a" },
+ { name = "xlsx", text = "", fg = "#585b70" },
+ { name = "aac", text = "", fg = "#74c7ec" },
+ { name = "kicad_sym", text = "", fg = "#f5e0dc" },
+ { name = "xcstrings", text = "", fg = "#74c7ec" },
+ { name = "lff", text = "", fg = "#f5e0dc" },
+ { name = "xcf", text = "", fg = "#585b70" },
+ { name = "azcli", text = "", fg = "#6c7086" },
+ { name = "license", text = "", fg = "#f9e2af" },
+ { name = "jsonc", text = "", fg = "#f9e2af" },
+ { name = "xaml", text = "", fg = "#585b70" },
+ { name = "md5", text = "", fg = "#7f849c" },
+ { name = "xm", text = "", fg = "#74c7ec" },
+ { name = "sln", text = "", fg = "#6c7086" },
+ { name = "jl", text = "", fg = "#7f849c" },
+ { name = "ml", text = "", fg = "#fab387" },
+ { name = "http", text = "", fg = "#89b4fa" },
+ { name = "x", text = "", fg = "#89b4fa" },
+ { name = "wvc", text = "", fg = "#74c7ec" },
+ { name = "wrz", text = "", fg = "#7f849c" },
+ { name = "csproj", text = "", fg = "#585b70" },
+ { name = "wrl", text = "", fg = "#7f849c" },
+ { name = "wma", text = "", fg = "#74c7ec" },
+ { name = "woff2", text = "", fg = "#f5e0dc" },
+ { name = "woff", text = "", fg = "#f5e0dc" },
+ { name = "tscn", text = "", fg = "#7f849c" },
+ { name = "webmanifest", text = "", fg = "#f9e2af" },
+ { name = "webm", text = "", fg = "#fab387" },
+ { name = "fcbak", text = "", fg = "#f38ba8" },
+ { name = "log", text = "", fg = "#cdd6f4" },
+ { name = "wav", text = "", fg = "#74c7ec" },
+ { name = "wasm", text = "", fg = "#585b70" },
+ { name = "styl", text = "", fg = "#a6e3a1" },
+ { name = "gif", text = "", fg = "#7f849c" },
+ { name = "resi", text = "", fg = "#f38ba8" },
+ { name = "aiff", text = "", fg = "#74c7ec" },
+ { name = "sha256", text = "", fg = "#7f849c" },
+ { name = "igs", text = "", fg = "#a6e3a1" },
+ { name = "vsix", text = "", fg = "#6c7086" },
+ { name = "vim", text = "", fg = "#a6e3a1" },
+ { name = "diff", text = "", fg = "#45475a" },
+ { name = "drl", text = "", fg = "#eba0ac" },
+ { name = "erl", text = "", fg = "#f38ba8" },
+ { name = "vhdl", text = "", fg = "#a6e3a1" },
+ { name = "🔥", text = "", fg = "#fab387" },
+ { name = "hrl", text = "", fg = "#f38ba8" },
+ { name = "fsi", text = "", fg = "#74c7ec" },
+ { name = "mm", text = "", fg = "#74c7ec" },
+ { name = "bz", text = "", fg = "#fab387" },
+ { name = "vh", text = "", fg = "#a6e3a1" },
+ { name = "kdb", text = "", fg = "#a6e3a1" },
+ { name = "gz", text = "", fg = "#fab387" },
+ { name = "cpp", text = "", fg = "#74c7ec" },
+ { name = "ui", text = "", fg = "#6c7086" },
+ { name = "txt", text = "", fg = "#a6e3a1" },
+ { name = "spec.ts", text = "", fg = "#74c7ec" },
+ { name = "ccm", text = "", fg = "#f38ba8" },
+ { name = "typoscript", text = "", fg = "#fab387" },
+ { name = "typ", text = "", fg = "#89dceb" },
+ { name = "txz", text = "", fg = "#fab387" },
+ { name = "test.ts", text = "", fg = "#74c7ec" },
+ { name = "tsx", text = "", fg = "#585b70" },
+ { name = "mk", text = "", fg = "#7f849c" },
+ { name = "webp", text = "", fg = "#7f849c" },
+ { name = "opus", text = "", fg = "#6c7086" },
+ { name = "bicep", text = "", fg = "#74c7ec" },
+ { name = "ts", text = "", fg = "#74c7ec" },
+ { name = "tres", text = "", fg = "#7f849c" },
+ { name = "torrent", text = "", fg = "#94e2d5" },
+ { name = "cxx", text = "", fg = "#74c7ec" },
+ { name = "iso", text = "", fg = "#f2cdcd" },
+ { name = "ixx", text = "", fg = "#74c7ec" },
+ { name = "hxx", text = "", fg = "#7f849c" },
+ { name = "gql", text = "", fg = "#f38ba8" },
+ { name = "tmux", text = "", fg = "#a6e3a1" },
+ { name = "ini", text = "", fg = "#7f849c" },
+ { name = "m3u8", text = "", fg = "#f38ba8" },
+ { name = "image", text = "", fg = "#f2cdcd" },
+ { name = "tfvars", text = "", fg = "#585b70" },
+ { name = "tex", text = "", fg = "#45475a" },
+ { name = "cbl", text = "⚙", fg = "#585b70" },
+ { name = "flc", text = "", fg = "#f5e0dc" },
+ { name = "elc", text = "", fg = "#7f849c" },
+ { name = "test.tsx", text = "", fg = "#585b70" },
+ { name = "twig", text = "", fg = "#a6e3a1" },
+ { name = "sql", text = "", fg = "#f5e0dc" },
+ { name = "test.jsx", text = "", fg = "#74c7ec" },
+ { name = "htm", text = "", fg = "#fab387" },
+ { name = "gcode", text = "", fg = "#6c7086" },
+ { name = "test.js", text = "", fg = "#f9e2af" },
+ { name = "ino", text = "", fg = "#74c7ec" },
+ { name = "tcl", text = "", fg = "#585b70" },
+ { name = "cljs", text = "", fg = "#74c7ec" },
+ { name = "tsconfig", text = "", fg = "#fab387" },
+ { name = "img", text = "", fg = "#f2cdcd" },
+ { name = "t", text = "", fg = "#74c7ec" },
+ { name = "fcstd1", text = "", fg = "#f38ba8" },
+ { name = "out", text = "", fg = "#45475a" },
+ { name = "jsx", text = "", fg = "#74c7ec" },
+ { name = "bash", text = "", fg = "#a6e3a1" },
+ { name = "edn", text = "", fg = "#74c7ec" },
+ { name = "rss", text = "", fg = "#fab387" },
+ { name = "flf", text = "", fg = "#f5e0dc" },
+ { name = "cache", text = "", fg = "#f5e0dc" },
+ { name = "sbt", text = "", fg = "#f38ba8" },
+ { name = "cppm", text = "", fg = "#74c7ec" },
+ { name = "svelte", text = "", fg = "#fab387" },
+ { name = "mo", text = "∞", fg = "#7f849c" },
+ { name = "sv", text = "", fg = "#a6e3a1" },
+ { name = "ko", text = "", fg = "#f5e0dc" },
+ { name = "suo", text = "", fg = "#6c7086" },
+ { name = "sldasm", text = "", fg = "#a6e3a1" },
+ { name = "icalendar", text = "", fg = "#313244" },
+ { name = "go", text = "", fg = "#74c7ec" },
+ { name = "sublime", text = "", fg = "#fab387" },
+ { name = "stl", text = "", fg = "#7f849c" },
+ { name = "mobi", text = "", fg = "#fab387" },
+ { name = "graphql", text = "", fg = "#f38ba8" },
+ { name = "m3u", text = "", fg = "#f38ba8" },
+ { name = "cpy", text = "⚙", fg = "#585b70" },
+ { name = "kdenlive", text = "", fg = "#89b4fa" },
+ { name = "pyo", text = "", fg = "#f9e2af" },
+ { name = "po", text = "", fg = "#74c7ec" },
+ { name = "scala", text = "", fg = "#f38ba8" },
+ { name = "exs", text = "", fg = "#7f849c" },
+ { name = "odp", text = "", fg = "#fab387" },
+ { name = "dump", text = "", fg = "#f5e0dc" },
+ { name = "stp", text = "", fg = "#a6e3a1" },
+ { name = "step", text = "", fg = "#a6e3a1" },
+ { name = "ste", text = "", fg = "#a6e3a1" },
+ { name = "aif", text = "", fg = "#74c7ec" },
+ { name = "strings", text = "", fg = "#74c7ec" },
+ { name = "cp", text = "", fg = "#74c7ec" },
+ { name = "fsscript", text = "", fg = "#74c7ec" },
+ { name = "mli", text = "", fg = "#fab387" },
+ { name = "bak", text = "", fg = "#7f849c" },
+ { name = "ssa", text = "", fg = "#f9e2af" },
+ { name = "toml", text = "", fg = "#585b70" },
+ { name = "makefile", text = "", fg = "#7f849c" },
+ { name = "php", text = "", fg = "#7f849c" },
+ { name = "zst", text = "", fg = "#fab387" },
+ { name = "spec.jsx", text = "", fg = "#74c7ec" },
+ { name = "kbx", text = "", fg = "#6c7086" },
+ { name = "fbx", text = "", fg = "#7f849c" },
+ { name = "blend", text = "", fg = "#fab387" },
+ { name = "ifc", text = "", fg = "#a6e3a1" },
+ { name = "spec.js", text = "", fg = "#f9e2af" },
+ { name = "so", text = "", fg = "#f5e0dc" },
+ { name = "desktop", text = "", fg = "#45475a" },
+ { name = "sml", text = "λ", fg = "#fab387" },
+ { name = "slvs", text = "", fg = "#a6e3a1" },
+ { name = "pp", text = "", fg = "#fab387" },
+ { name = "ps1", text = "", fg = "#6c7086" },
+ { name = "dropbox", text = "", fg = "#6c7086" },
+ { name = "kicad_mod", text = "", fg = "#f5e0dc" },
+ { name = "bat", text = "", fg = "#a6e3a1" },
+ { name = "slim", text = "", fg = "#fab387" },
+ { name = "skp", text = "", fg = "#a6e3a1" },
+ { name = "css", text = "", fg = "#89b4fa" },
+ { name = "xul", text = "", fg = "#fab387" },
+ { name = "ige", text = "", fg = "#a6e3a1" },
+ { name = "glb", text = "", fg = "#fab387" },
+ { name = "ppt", text = "", fg = "#f38ba8" },
+ { name = "sha512", text = "", fg = "#7f849c" },
+ { name = "ics", text = "", fg = "#313244" },
+ { name = "mdx", text = "", fg = "#74c7ec" },
+ { name = "sha1", text = "", fg = "#7f849c" },
+ { name = "f3d", text = "", fg = "#a6e3a1" },
+ { name = "ass", text = "", fg = "#f9e2af" },
+ { name = "godot", text = "", fg = "#7f849c" },
+ { name = "ifb", text = "", fg = "#313244" },
+ { name = "cson", text = "", fg = "#f9e2af" },
+ { name = "lib", text = "", fg = "#11111b" },
+ { name = "luac", text = "", fg = "#74c7ec" },
+ { name = "heex", text = "", fg = "#7f849c" },
+ { name = "scm", text = "", fg = "#f5e0dc" },
+ { name = "psd1", text = "", fg = "#7f849c" },
+ { name = "sc", text = "", fg = "#f38ba8" },
+ { name = "scad", text = "", fg = "#f9e2af" },
+ { name = "kts", text = "", fg = "#6c7086" },
+ { name = "svh", text = "", fg = "#a6e3a1" },
+ { name = "mts", text = "", fg = "#74c7ec" },
+ { name = "nfo", text = "", fg = "#f9e2af" },
+ { name = "pck", text = "", fg = "#7f849c" },
+ { name = "rproj", text = "", fg = "#a6e3a1" },
+ { name = "rlib", text = "", fg = "#fab387" },
+ { name = "cljd", text = "", fg = "#74c7ec" },
+ { name = "ods", text = "", fg = "#a6e3a1" },
+ { name = "res", text = "", fg = "#f38ba8" },
+ { name = "apk", text = "", fg = "#a6e3a1" },
+ { name = "haml", text = "", fg = "#f5e0dc" },
+ { name = "d.ts", text = "", fg = "#fab387" },
+ { name = "razor", text = "", fg = "#585b70" },
+ { name = "rake", text = "", fg = "#313244" },
+ { name = "patch", text = "", fg = "#45475a" },
+ { name = "cuh", text = "", fg = "#7f849c" },
+ { name = "d", text = "", fg = "#f38ba8" },
+ { name = "query", text = "", fg = "#a6e3a1" },
+ { name = "psb", text = "", fg = "#74c7ec" },
+ { name = "nu", text = ">", fg = "#a6e3a1" },
+ { name = "mov", text = "", fg = "#fab387" },
+ { name = "lrc", text = "", fg = "#f9e2af" },
+ { name = "pyx", text = "", fg = "#89b4fa" },
+ { name = "pyw", text = "", fg = "#89b4fa" },
+ { name = "cu", text = "", fg = "#a6e3a1" },
+ { name = "bazel", text = "", fg = "#a6e3a1" },
+ { name = "obj", text = "", fg = "#7f849c" },
+ { name = "pyi", text = "", fg = "#f9e2af" },
+ { name = "pyd", text = "", fg = "#f9e2af" },
+ { name = "exe", text = "", fg = "#45475a" },
+ { name = "pyc", text = "", fg = "#f9e2af" },
+ { name = "fctb", text = "", fg = "#f38ba8" },
+ { name = "part", text = "", fg = "#94e2d5" },
+ { name = "blade.php", text = "", fg = "#f38ba8" },
+ { name = "git", text = "", fg = "#fab387" },
+ { name = "psd", text = "", fg = "#74c7ec" },
+ { name = "qss", text = "", fg = "#a6e3a1" },
+ { name = "csv", text = "", fg = "#a6e3a1" },
+ { name = "psm1", text = "", fg = "#7f849c" },
+ { name = "dconf", text = "", fg = "#f5e0dc" },
+ { name = "config.ru", text = "", fg = "#313244" },
+ { name = "prisma", text = "", fg = "#6c7086" },
+ { name = "conf", text = "", fg = "#7f849c" },
+ { name = "clj", text = "", fg = "#a6e3a1" },
+ { name = "o", text = "", fg = "#45475a" },
+ { name = "mp4", text = "", fg = "#fab387" },
+ { name = "cc", text = "", fg = "#f38ba8" },
+ { name = "kicad_prl", text = "", fg = "#f5e0dc" },
+ { name = "bz3", text = "", fg = "#fab387" },
+ { name = "asc", text = "", fg = "#6c7086" },
+ { name = "png", text = "", fg = "#7f849c" },
+ { name = "android", text = "", fg = "#a6e3a1" },
+ { name = "pm", text = "", fg = "#74c7ec" },
+ { name = "h", text = "", fg = "#7f849c" },
+ { name = "pls", text = "", fg = "#f38ba8" },
+ { name = "ipynb", text = "", fg = "#fab387" },
+ { name = "pl", text = "", fg = "#74c7ec" },
+ { name = "ads", text = "", fg = "#f5e0dc" },
+ { name = "sqlite", text = "", fg = "#f5e0dc" },
+ { name = "pdf", text = "", fg = "#585b70" },
+ { name = "pcm", text = "", fg = "#6c7086" },
+ { name = "ico", text = "", fg = "#f9e2af" },
+ { name = "a", text = "", fg = "#f5e0dc" },
+ { name = "R", text = "", fg = "#6c7086" },
+ { name = "ogg", text = "", fg = "#6c7086" },
+ { name = "pxd", text = "", fg = "#89b4fa" },
+ { name = "kdenlivetitle", text = "", fg = "#89b4fa" },
+ { name = "jxl", text = "", fg = "#7f849c" },
+ { name = "nswag", text = "", fg = "#a6e3a1" },
+ { name = "nim", text = "", fg = "#f9e2af" },
+ { name = "bqn", text = "⎉", fg = "#6c7086" },
+ { name = "cts", text = "", fg = "#74c7ec" },
+ { name = "fcparam", text = "", fg = "#f38ba8" },
+ { name = "rs", text = "", fg = "#fab387" },
+ { name = "mpp", text = "", fg = "#74c7ec" },
+ { name = "fdmdownload", text = "", fg = "#94e2d5" },
+ { name = "pptx", text = "", fg = "#f38ba8" },
+ { name = "jpeg", text = "", fg = "#7f849c" },
+ { name = "bib", text = "", fg = "#f9e2af" },
+ { name = "vhd", text = "", fg = "#a6e3a1" },
+ { name = "m", text = "", fg = "#89b4fa" },
+ { name = "js", text = "", fg = "#f9e2af" },
+ { name = "eex", text = "", fg = "#7f849c" },
+ { name = "tbc", text = "", fg = "#585b70" },
+ { name = "astro", text = "", fg = "#f38ba8" },
+ { name = "sha224", text = "", fg = "#7f849c" },
+ { name = "xcplayground", text = "", fg = "#fab387" },
+ { name = "el", text = "", fg = "#7f849c" },
+ { name = "m4v", text = "", fg = "#fab387" },
+ { name = "m4a", text = "", fg = "#74c7ec" },
+ { name = "cs", text = "", fg = "#585b70" },
+ { name = "hs", text = "", fg = "#7f849c" },
+ { name = "tgz", text = "", fg = "#fab387" },
+ { name = "fs", text = "", fg = "#74c7ec" },
+ { name = "luau", text = "", fg = "#89b4fa" },
+ { name = "dxf", text = "", fg = "#a6e3a1" },
+ { name = "download", text = "", fg = "#94e2d5" },
+ { name = "cast", text = "", fg = "#fab387" },
+ { name = "qrc", text = "", fg = "#a6e3a1" },
+ { name = "lua", text = "", fg = "#74c7ec" },
+ { name = "lhs", text = "", fg = "#7f849c" },
+ { name = "md", text = "", fg = "#cdd6f4" },
+ { name = "leex", text = "", fg = "#7f849c" },
+ { name = "ai", text = "", fg = "#f9e2af" },
+ { name = "lck", text = "", fg = "#bac2de" },
+ { name = "kt", text = "", fg = "#6c7086" },
+ { name = "bicepparam", text = "", fg = "#7f849c" },
+ { name = "hex", text = "", fg = "#6c7086" },
+ { name = "zig", text = "", fg = "#fab387" },
+ { name = "bzl", text = "", fg = "#a6e3a1" },
+ { name = "cljc", text = "", fg = "#a6e3a1" },
+ { name = "kicad_dru", text = "", fg = "#f5e0dc" },
+ { name = "fctl", text = "", fg = "#f38ba8" },
+ { name = "f#", text = "", fg = "#74c7ec" },
+ { name = "odt", text = "", fg = "#74c7ec" },
+ { name = "conda", text = "", fg = "#a6e3a1" },
+ { name = "vala", text = "", fg = "#585b70" },
+ { name = "erb", text = "", fg = "#313244" },
+ { name = "mp3", text = "", fg = "#74c7ec" },
+ { name = "bz2", text = "", fg = "#fab387" },
+ { name = "coffee", text = "", fg = "#f9e2af" },
+ { name = "cr", text = "", fg = "#f5e0dc" },
+ { name = "f90", text = "", fg = "#585b70" },
+ { name = "jwmrc", text = "", fg = "#6c7086" },
+ { name = "c++", text = "", fg = "#f38ba8" },
+ { name = "fcscript", text = "", fg = "#f38ba8" },
+ { name = "fods", text = "", fg = "#a6e3a1" },
+ { name = "cue", text = "", fg = "#f38ba8" },
+ { name = "srt", text = "", fg = "#f9e2af" },
+ { name = "info", text = "", fg = "#f9e2af" },
+ { name = "hh", text = "", fg = "#7f849c" },
+ { name = "sig", text = "λ", fg = "#fab387" },
+ { name = "html", text = "", fg = "#fab387" },
+ { name = "iges", text = "", fg = "#a6e3a1" },
+ { name = "kicad_wks", text = "", fg = "#f5e0dc" },
+ { name = "hbs", text = "", fg = "#fab387" },
+ { name = "fcstd", text = "", fg = "#f38ba8" },
+ { name = "gresource", text = "", fg = "#f5e0dc" },
+ { name = "sub", text = "", fg = "#f9e2af" },
+ { name = "ical", text = "", fg = "#313244" },
+ { name = "crdownload", text = "", fg = "#94e2d5" },
+ { name = "pub", text = "", fg = "#f9e2af" },
+ { name = "vue", text = "", fg = "#a6e3a1" },
+ { name = "gd", text = "", fg = "#7f849c" },
+ { name = "fsx", text = "", fg = "#74c7ec" },
+ { name = "mkv", text = "", fg = "#fab387" },
+ { name = "py", text = "", fg = "#f9e2af" },
+ { name = "kicad_sch", text = "", fg = "#f5e0dc" },
+ { name = "epub", text = "", fg = "#fab387" },
+ { name = "env", text = "", fg = "#f9e2af" },
+ { name = "magnet", text = "", fg = "#45475a" },
+ { name = "elf", text = "", fg = "#45475a" },
+ { name = "fodg", text = "", fg = "#f9e2af" },
+ { name = "svg", text = "", fg = "#fab387" },
+ { name = "dwg", text = "", fg = "#a6e3a1" },
+ { name = "docx", text = "", fg = "#585b70" },
+ { name = "pro", text = "", fg = "#f9e2af" },
+ { name = "db", text = "", fg = "#f5e0dc" },
+ { name = "rb", text = "", fg = "#313244" },
+ { name = "r", text = "", fg = "#6c7086" },
+ { name = "scss", text = "", fg = "#f38ba8" },
+ { name = "cow", text = "", fg = "#fab387" },
+ { name = "gleam", text = "", fg = "#f5c2e7" },
+ { name = "v", text = "", fg = "#a6e3a1" },
+ { name = "kicad_pro", text = "", fg = "#f5e0dc" },
+ { name = "liquid", text = "", fg = "#a6e3a1" },
+ { name = "zip", text = "", fg = "#fab387" },
+]
\ No newline at end of file
diff --git a/yazi/yazi.toml b/yazi/yazi.toml
new file mode 100644
index 0000000..afb3fba
--- /dev/null
+++ b/yazi/yazi.toml
@@ -0,0 +1,220 @@
+# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
+# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
+"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
+
+[manager]
+ratio = [ 2, 4, 3 ]
+sort_by = "alphabetical"
+sort_sensitive = false
+sort_reverse = false
+sort_dir_first = true
+sort_translit = false
+linemode = "size"
+show_hidden = true
+show_symlink = true
+scrolloff = 5
+mouse_events = [ "click", "scroll" ]
+title_format = "Yazi: {cwd}"
+
+[preview]
+wrap = "no"
+tab_size = 2
+max_width = 1200
+max_height = 1000
+cache_dir = ""
+image_delay = 30
+image_filter = "catmull-rom"
+image_quality = 85
+sixel_fraction = 15
+ueberzug_scale = 1
+ueberzug_offset = [ 0, 0, 0, 0 ]
+
+[opener]
+edit = [
+ { run = '${EDITOR:-nvim} "$@"', desc = "$EDITOR", block = true, for = "unix" },
+ { run = 'code %*', orphan = true, desc = "code", for = "windows" },
+ { run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
+]
+open = [
+ { run = 'xdg-open "$1"', desc = "Open", for = "linux" },
+ { run = 'open "$@"', desc = "Open", for = "macos" },
+ { run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
+]
+reveal = [
+ { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
+ { run = 'open -R "$1"', desc = "Reveal", for = "macos" },
+ { run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
+ { run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
+]
+extract = [
+ { run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
+ { run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
+]
+play = [
+ { run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
+ { run = 'mpv --force-window %*', orphan = true, for = "windows" },
+ { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
+]
+
+[open]
+rules = [
+ # Folder
+ { name = "*/", use = [ "edit", "open", "reveal" ] },
+ # Text
+ { mime = "text/*", use = [ "edit", "reveal" ] },
+ # Image
+ { mime = "image/*", use = [ "open", "reveal" ] },
+ # Media
+ { mime = "{audio,video}/*", use = [ "play", "reveal" ] },
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] },
+ # JSON
+ { mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] },
+ { mime = "*/javascript", use = [ "edit", "reveal" ] },
+ # Empty file
+ { mime = "inode/empty", use = [ "edit", "reveal" ] },
+ # Fallback
+ { name = "*", use = [ "open", "reveal" ] },
+]
+
+[tasks]
+micro_workers = 10
+macro_workers = 10
+bizarre_retry = 3
+image_alloc = 536870912 # 512MB
+image_bound = [ 0, 0 ]
+suppress_preload = false
+
+[plugin]
+
+fetchers = [
+ # Mimetype
+ { id = "mime", name = "*", run = "mime", if = "!mime", prio = "high" },
+]
+spotters = [
+ { name = "*/", run = "folder" },
+ # Code
+ { mime = "text/*", run = "code" },
+ { mime = "*/{xml,javascript,wine-extension-ini}", run = "code" },
+ # Image
+ { mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
+ { mime = "image/*", run = "image" },
+ # Video
+ { mime = "video/*", run = "video" },
+ # Fallback
+ { name = "*", run = "file" },
+]
+preloaders = [
+ # Image
+ { mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
+ { mime = "image/*", run = "image" },
+ # Video
+ { mime = "video/*", run = "video" },
+ # PDF
+ { mime = "application/pdf", run = "pdf" },
+ # Font
+ { mime = "font/*", run = "font" },
+ { mime = "application/ms-opentype", run = "font" },
+]
+previewers = [
+ { name = "*/", run = "folder", sync = true },
+ # Code
+ { mime = "text/*", run = "code" },
+ { mime = "*/{xml,javascript,wine-extension-ini}", run = "code" },
+ # JSON
+ { mime = "application/{json,ndjson}", run = "json" },
+ # Image
+ { mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
+ { mime = "image/*", run = "image" },
+ # Video
+ { mime = "video/*", run = "video" },
+ # PDF
+ { mime = "application/pdf", run = "pdf" },
+ # Archive
+ { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" },
+ { mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" },
+ { name = "*.{AppImage,appimage}", run = "archive" },
+ # Virtual Disk / Disk Image
+ { mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" },
+ { mime = "application/virtualbox-{vhd,vhdx}", run = "archive" },
+ { name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" },
+ # Font
+ { mime = "font/*", run = "font" },
+ { mime = "application/ms-opentype", run = "font" },
+ # Empty file
+ { mime = "inode/empty", run = "empty" },
+ # Fallback
+ { name = "*", run = "file" },
+]
+
+[input]
+cursor_blink = false
+
+# cd
+cd_title = "Change directory:"
+cd_origin = "top-center"
+cd_offset = [ 0, 2, 50, 3 ]
+
+# create
+create_title = [ "Create:", "Create (dir):" ]
+create_origin = "top-center"
+create_offset = [ 0, 2, 50, 3 ]
+
+# rename
+rename_title = "Rename:"
+rename_origin = "hovered"
+rename_offset = [ 0, 1, 50, 3 ]
+
+# filter
+filter_title = "Filter:"
+filter_origin = "top-center"
+filter_offset = [ 0, 2, 50, 3 ]
+
+# find
+find_title = [ "Find next:", "Find previous:" ]
+find_origin = "top-center"
+find_offset = [ 0, 2, 50, 3 ]
+
+# search
+search_title = "Search via {n}:"
+search_origin = "top-center"
+search_offset = [ 0, 2, 50, 3 ]
+
+# shell
+shell_title = [ "Shell:", "Shell (block):" ]
+shell_origin = "top-center"
+shell_offset = [ 0, 2, 50, 3 ]
+
+[confirm]
+# trash
+trash_title = "Trash {n} selected file{s}?"
+trash_origin = "center"
+trash_offset = [ 0, 0, 70, 20 ]
+
+# delete
+delete_title = "Permanently delete {n} selected file{s}?"
+delete_origin = "center"
+delete_offset = [ 0, 0, 70, 20 ]
+
+# overwrite
+overwrite_title = "Overwrite file?"
+overwrite_content = "Will overwrite the following file:"
+overwrite_origin = "center"
+overwrite_offset = [ 0, 0, 50, 15 ]
+
+# quit
+quit_title = "Quit?"
+quit_content = "The following task is still running, are you sure you want to quit?"
+quit_origin = "center"
+quit_offset = [ 0, 0, 50, 15 ]
+
+[pick]
+open_title = "Open with:"
+open_origin = "hovered"
+open_offset = [ 0, 1, 50, 7 ]
+
+[which]
+sort_by = "none"
+sort_sensitive = false
+sort_reverse = false
+sort_translit = false