Migrate from stow to dm theme manager
Move all config files from .config/ into themes/dracula/.config/ so the dm tool can manage them as file-level symlinks. Removes .bak file. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
53a43e4683
commit
b043d2807d
100 changed files with 0 additions and 10 deletions
321
themes/dracula/.config/cava/config
Normal file
321
themes/dracula/.config/cava/config
Normal file
|
|
@ -0,0 +1,321 @@
|
|||
## 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
|
||||
|
||||
# ceter bars in terminal, if there is space.
|
||||
; center_align = 1
|
||||
|
||||
# max height of bars in terminal, in percent of terminal height.
|
||||
; max_height = 100
|
||||
|
||||
|
||||
# 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. To capture the monitor source of a sink node, append '.monitor' to the sink's object name.
|
||||
#
|
||||
# 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 pipewire, sample_rate will default to 48000, for all other input methods, sample_rate will default to 44100.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
# The 'pipewire' input method has three options to control linking and mixing:
|
||||
# active: Force the node to always process. Useful for monitoring sources when no other application is active.
|
||||
# remix: Allow pipewire to remix audio channels to match cava's channel count. Useful for surround sound.
|
||||
# virtual: Set the node to virtual, to avoid recording notifications from the DE.
|
||||
#
|
||||
; sample_rate = 44100
|
||||
; sample_bits = 16
|
||||
; channels = 2
|
||||
; autoconnect = 2
|
||||
; active = 0
|
||||
; remix = 1
|
||||
; virtual = 1
|
||||
|
||||
|
||||
[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 1024 bars stereo (512 bars mono), 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 = 1024
|
||||
; sdl_height = 512
|
||||
; 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 = '#BD93F9'
|
||||
|
||||
|
||||
# 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'
|
||||
|
||||
|
||||
# Horizontal is only supported on noncurses output.
|
||||
# Only one color will be calculated per bar.
|
||||
; horizontal_gradient = 0
|
||||
; horizontal_gradient_color_1 = '#c45161'
|
||||
; horizontal_gradient_color_2 = '#e094a0'
|
||||
; horizontal_gradient_color_3 = '#f2b6c0'
|
||||
; horizontal_gradient_color_4 = '#f2dde1'
|
||||
; horizontal_gradient_color_5 = '#cbc7d8'
|
||||
; horizontal_gradient_color_6 = '#8db7d2'
|
||||
; horizontal_gradient_color_7 = '#5e62a9'
|
||||
; horizontal_gradient_color_8 = '#434279'
|
||||
|
||||
|
||||
# If both vertical and horizontal gradient is enabled, vertical will be blended in this direction.
|
||||
# Can be 'up', 'down', 'left' or 'right'. 'up' means the vertical gradient will be blended in from
|
||||
# bottom to top. I.e. the bottom will be only the horizontal
|
||||
# and top will be only the color of the vertical gradient.
|
||||
; blend_direction = 'up'
|
||||
|
||||
# use theme file instead of defining colors in this file
|
||||
# themes are located in $HOME/.config/cava/themes
|
||||
; theme = 'default'
|
||||
|
||||
|
||||
[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
|
||||
73
themes/dracula/.config/cava/shaders/bar_spectrum.frag
Normal file
73
themes/dracula/.config/cava/shaders/bar_spectrum.frag
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
#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 float shader_time; // shader execution time s (not used here)
|
||||
|
||||
uniform sampler2D inputTexture; // Texture from the last render pass (not used here)
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
117
themes/dracula/.config/cava/shaders/eye_of_phi.frag
Normal file
117
themes/dracula/.config/cava/shaders/eye_of_phi.frag
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
#version 330
|
||||
|
||||
// this shader was stolen from shadertoy user ChunderFPV
|
||||
|
||||
#define SCALE 8.0
|
||||
#define PI radians(180.0)
|
||||
#define TAU (PI * 2.0)
|
||||
#define CS(a) vec2(cos(a), sin(a))
|
||||
#define PT(u, r) smoothstep(0.0, r, r - length(u))
|
||||
|
||||
in vec2 fragCoord;
|
||||
out vec4 fragColor;
|
||||
|
||||
uniform float bars[512];
|
||||
|
||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||
uniform float shader_time; // shader execution time s
|
||||
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
|
||||
|
||||
// gradient map ( color, equation, time, width, shadow, reciprocal )
|
||||
vec3 gm(vec3 c, float n, float t, float w, float d, bool i) {
|
||||
float g = min(abs(n), 1.0 / abs(n));
|
||||
float s = abs(sin(n * PI - t));
|
||||
if (i)
|
||||
s = min(s, abs(sin(PI / n + t)));
|
||||
return (1.0 - pow(abs(s), w)) * c * pow(g, d) * 6.0;
|
||||
}
|
||||
|
||||
// denominator spiral, use 1/n for numerator
|
||||
// ( screen xy, spiral exponent, decimal, line width, hardness, rotation )
|
||||
float ds(vec2 u, float e, float n, float w, float h, float ro) {
|
||||
float ur = length(u); // unit radius
|
||||
float sr = pow(ur, e); // spiral radius
|
||||
float a = round(sr) * n * TAU; // arc
|
||||
vec2 xy = CS(a + ro) * ur; // xy coords
|
||||
float l = PT(u - xy, w); // line
|
||||
float s = mod(sr + 0.5, 1.0); // gradient smooth
|
||||
s = min(s, 1.0 - s); // darken filter
|
||||
return l * s * h;
|
||||
}
|
||||
|
||||
void main() {
|
||||
float t = shader_time / PI * 2.0;
|
||||
vec4 m = vec4(0, 0, 0, 0); // iMouse;
|
||||
m.xy = m.xy * 2.0 / u_resolution.xy - 1.0; // ±1x, ±1y
|
||||
if (m.z > 0.0)
|
||||
t += m.y * SCALE; // move time with mouse y
|
||||
float z = (m.z > 0.0) ? pow(1.0 - abs(m.y), sign(m.y)) : 1.0; // zoom (+)
|
||||
float e = (m.z > 0.0) ? pow(1.0 - abs(m.x), -sign(m.x))
|
||||
: 1.0; // screen exponent (+)
|
||||
float se = (m.z > 0.0) ? e * -sign(m.y) : 1.0; // spiral exponent
|
||||
vec3 bg = vec3(0); // black background
|
||||
|
||||
float aa = 3.0; // anti-aliasing
|
||||
|
||||
for (float j = 0.0; j < aa; j++)
|
||||
for (float k = 0.0; k < aa; k++) {
|
||||
vec3 c = vec3(0);
|
||||
vec2 o = vec2(j, k) / aa;
|
||||
vec2 uv = (fragCoord * u_resolution.xy - 0.5 * u_resolution.xy + o) /
|
||||
u_resolution.y * SCALE * z; // apply cartesian, scale and zoom
|
||||
if (m.z > 0.0)
|
||||
uv =
|
||||
exp(log(abs(uv)) * e) * sign(uv); // warp screen space with exponent
|
||||
|
||||
float px = length(fwidth(uv)); // pixel width
|
||||
float x = uv.x; // every pixel on x
|
||||
float y = uv.y; // every pixel on y
|
||||
float l = length(uv); // hypot of xy: sqrt(x*x+y*y)
|
||||
|
||||
float mc = (x * x + y * y - 1.0) / y; // metallic circle at xy
|
||||
float g = min(abs(mc), 1.0 / abs(mc)); // gradient
|
||||
vec3 gold = vec3(1.0, 0.6, 0.0) * g * l;
|
||||
vec3 blue = vec3(0.3, 0.5, 0.9) * (1.0 - g);
|
||||
vec3 rgb = max(gold, blue);
|
||||
|
||||
float w = 0.1; // line width
|
||||
float d = 0.4; // shadow depth
|
||||
c = max(c, gm(rgb, mc, -t, w * bars[0], d, false)); // metallic
|
||||
c = max(c, gm(rgb, abs(y / x) * sign(y), -t, w * bars[1], d,
|
||||
false)); // tangent
|
||||
c = max(c, gm(rgb, (x * x) / (y * y) * sign(y), -t, w * bars[2], d,
|
||||
false)); // sqrt cotangent
|
||||
c = max(c, gm(rgb, (x * x) + (y * y), t, w * bars[3], d,
|
||||
true)); // sqrt circles
|
||||
|
||||
c += rgb * ds(uv, se, t / TAU, px * 2.0 * bars[4], 2.0, 0.0); // spiral 1a
|
||||
c += rgb * ds(uv, se, t / TAU, px * 2.0 * bars[5], 2.0, PI); // spiral 1b
|
||||
c +=
|
||||
rgb * ds(uv, -se, t / TAU, px * 2.0 * bars[6], 2.0, 0.0); // spiral 2a
|
||||
c += rgb * ds(uv, -se, t / TAU, px * 2.0 * bars[7], 2.0, PI); // spiral 2b
|
||||
c = max(c, 0.0); // clear negative color
|
||||
|
||||
c += pow(max(1.0 - l, 0.0), 3.0 / z); // center glow
|
||||
|
||||
if (m.z > 0.0) // display grid on click
|
||||
{
|
||||
vec2 xyg = abs(fract(uv + 0.5) - 0.5) / px; // xy grid
|
||||
c.gb += 0.2 * (1.0 - min(min(xyg.x, xyg.y), 1.0));
|
||||
}
|
||||
bg += c;
|
||||
}
|
||||
bg /= aa * aa;
|
||||
bg *= sqrt(bg) * 1.5;
|
||||
|
||||
fragColor = vec4(bg, 1.0);
|
||||
}
|
||||
34
themes/dracula/.config/cava/shaders/northern_lights.frag
Normal file
34
themes/dracula/.config/cava/shaders/northern_lights.frag
Normal file
|
|
@ -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;
|
||||
}
|
||||
14
themes/dracula/.config/cava/shaders/pass_through.vert
Normal file
14
themes/dracula/.config/cava/shaders/pass_through.vert
Normal file
|
|
@ -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;
|
||||
}
|
||||
53
themes/dracula/.config/cava/shaders/spectrogram.frag
Normal file
53
themes/dracula/.config/cava/shaders/spectrogram.frag
Normal file
|
|
@ -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 last 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
15
themes/dracula/.config/cava/themes/solarized_dark
Normal file
15
themes/dracula/.config/cava/themes/solarized_dark
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[color]
|
||||
background = '#001e26'
|
||||
foreground = '#708183'
|
||||
|
||||
gradient = 1
|
||||
gradient_color_1 = '#268bd2'
|
||||
gradient_color_2 = '#6c71c4'
|
||||
gradient_color_3 = '#cb4b16'
|
||||
|
||||
horizontal_gradient = 1
|
||||
horizontal_gradient_color_1 = '#586e75'
|
||||
horizontal_gradient_color_2 = '#b58900'
|
||||
horizontal_gradient_color_3 = '#839496'
|
||||
|
||||
blend_direction = 'up'
|
||||
10
themes/dracula/.config/cava/themes/tricolor
Normal file
10
themes/dracula/.config/cava/themes/tricolor
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[color]
|
||||
horizontal_gradient = 1
|
||||
horizontal_gradient_color_1 = '#c45161'
|
||||
horizontal_gradient_color_2 = '#e094a0'
|
||||
horizontal_gradient_color_3 = '#f2b6c0'
|
||||
horizontal_gradient_color_4 = '#f2dde1'
|
||||
horizontal_gradient_color_5 = '#cbc7d8'
|
||||
horizontal_gradient_color_6 = '#8db7d2'
|
||||
horizontal_gradient_color_7 = '#5e62a9'
|
||||
horizontal_gradient_color_8 = '#434279'
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
# This file was created by fish when upgrading to version 4.3, to migrate
|
||||
# the 'fish_key_bindings' variable from its old default scope (universal)
|
||||
# to its new default scope (global). We recommend you delete this file
|
||||
# and configure key bindings in ~/.config/fish/config.fish if needed.
|
||||
|
||||
# set --global fish_key_bindings fish_default_key_bindings
|
||||
|
||||
# Prior to version 4.3, fish shipped an event handler that runs
|
||||
# `set --universal fish_key_bindings fish_default_key_bindings`
|
||||
# whenever the fish_key_bindings variable is erased.
|
||||
# This means that as long as any fish < 4.3 is still running on this system,
|
||||
# we cannot complete the migration.
|
||||
# As a workaround, erase the universal variable at every shell startup.
|
||||
set --erase --universal fish_key_bindings
|
||||
1
themes/dracula/.config/fish/conf.d/rustup.fish
Normal file
1
themes/dracula/.config/fish/conf.d/rustup.fish
Normal file
|
|
@ -0,0 +1 @@
|
|||
source "$HOME/.cargo/env.fish"
|
||||
34
themes/dracula/.config/fish/config.fish
Normal file
34
themes/dracula/.config/fish/config.fish
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
source /usr/share/cachyos-fish-config/cachyos-config.fish
|
||||
|
||||
fish_config theme choose "Dracula Official"
|
||||
|
||||
oh-my-posh init fish --config ~/.cache/oh-my-posh/themes/dracula.omp.json | source
|
||||
|
||||
alias mntnas="sudo mount -a"
|
||||
|
||||
# Set Zed as the default editor
|
||||
set -gx EDITOR /usr/local/bin/zed_sudo_wrapper
|
||||
set -gx VISUAL "zeditor --wait"
|
||||
set -gx SUDO_EDITOR "zeditor --wait"
|
||||
|
||||
# Start SSH agent if not already running
|
||||
if not set -q SSH_AGENT_PID
|
||||
eval (ssh-agent -c)
|
||||
end
|
||||
|
||||
function update
|
||||
sudo pacman -Syu --noconfirm
|
||||
paru -Syu --noconfirm
|
||||
sudo pacman -Sc --noconfirm
|
||||
paru -Sc --noconfirm
|
||||
end
|
||||
|
||||
function helium
|
||||
exec /usr/bin/helium-0.6.9.1-x86_64.AppImage
|
||||
end
|
||||
|
||||
function add_ssh_key
|
||||
set -l ssh_key ~/.ssh/github-ssh
|
||||
echo "Adding SSH key..."
|
||||
ssh-add $ssh_key
|
||||
end
|
||||
81
themes/dracula/.config/fish/fish_variables
Normal file
81
themes/dracula/.config/fish/fish_variables
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR --export BAT_THEME:Dracula
|
||||
SETUVAR --export YAZI_FILE_ONE:/usr/bin/file
|
||||
SETUVAR __done_min_cmd_duration:10000
|
||||
SETUVAR __done_notification_urgency_level:low
|
||||
SETUVAR __fish_initialized:4300
|
||||
SETUVAR fish_greeting:\x1d
|
||||
SETUVAR --export fish_user_paths:/home/henry/\x2enpm\x2dglobal/bin
|
||||
SETUVAR pure_begin_prompt_with_current_directory:true
|
||||
SETUVAR pure_check_for_new_release:false
|
||||
SETUVAR pure_color_at_sign:pure_color_mute
|
||||
SETUVAR pure_color_aws_profile:pure_color_warning
|
||||
SETUVAR pure_color_command_duration:pure_color_warning
|
||||
SETUVAR pure_color_current_directory:pure_color_primary
|
||||
SETUVAR pure_color_danger:red
|
||||
SETUVAR pure_color_dark:black
|
||||
SETUVAR pure_color_exit_status:pure_color_danger
|
||||
SETUVAR pure_color_git_branch:pure_color_mute
|
||||
SETUVAR pure_color_git_dirty:pure_color_mute
|
||||
SETUVAR pure_color_git_stash:pure_color_info
|
||||
SETUVAR pure_color_git_unpulled_commits:pure_color_info
|
||||
SETUVAR pure_color_git_unpushed_commits:pure_color_info
|
||||
SETUVAR pure_color_hostname:pure_color_mute
|
||||
SETUVAR pure_color_info:cyan
|
||||
SETUVAR pure_color_jobs:pure_color_normal
|
||||
SETUVAR pure_color_k8s_context:pure_color_success
|
||||
SETUVAR pure_color_k8s_namespace:pure_color_primary
|
||||
SETUVAR pure_color_k8s_prefix:pure_color_info
|
||||
SETUVAR pure_color_light:white
|
||||
SETUVAR pure_color_mute:brblack
|
||||
SETUVAR pure_color_nixdevshell_prefix:pure_color_info
|
||||
SETUVAR pure_color_nixdevshell_symbol:pure_color_mute
|
||||
SETUVAR pure_color_normal:normal
|
||||
SETUVAR pure_color_prefix_root_prompt:pure_color_danger
|
||||
SETUVAR pure_color_primary:blue
|
||||
SETUVAR pure_color_prompt_on_error:pure_color_danger
|
||||
SETUVAR pure_color_prompt_on_success:pure_color_success
|
||||
SETUVAR pure_color_success:magenta
|
||||
SETUVAR pure_color_system_time:pure_color_mute
|
||||
SETUVAR pure_color_username_normal:pure_color_mute
|
||||
SETUVAR pure_color_username_root:pure_color_light
|
||||
SETUVAR pure_color_virtualenv:pure_color_mute
|
||||
SETUVAR pure_color_warning:yellow
|
||||
SETUVAR pure_convert_exit_status_to_signal:false
|
||||
SETUVAR pure_enable_aws_profile:true
|
||||
SETUVAR pure_enable_container_detection:true
|
||||
SETUVAR pure_enable_git:true
|
||||
SETUVAR pure_enable_k8s:false
|
||||
SETUVAR pure_enable_nixdevshell:false
|
||||
SETUVAR pure_enable_single_line_prompt:false
|
||||
SETUVAR pure_enable_virtualenv:true
|
||||
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
|
||||
SETUVAR pure_separate_prompt_on_error:false
|
||||
SETUVAR pure_shorten_prompt_current_directory_length:0
|
||||
SETUVAR pure_shorten_window_title_current_directory_length:0
|
||||
SETUVAR pure_show_exit_status:false
|
||||
SETUVAR pure_show_jobs:false
|
||||
SETUVAR pure_show_numbered_git_indicator:false
|
||||
SETUVAR pure_show_prefix_root_prompt:false
|
||||
SETUVAR pure_show_subsecond_command_duration:false
|
||||
SETUVAR pure_show_system_time:false
|
||||
SETUVAR pure_symbol_aws_profile_prefix:
|
||||
SETUVAR pure_symbol_container_prefix:
|
||||
SETUVAR pure_symbol_exit_status_prefix:\x7c
|
||||
SETUVAR pure_symbol_exit_status_separator:\x7c
|
||||
SETUVAR pure_symbol_git_dirty:\x2a
|
||||
SETUVAR pure_symbol_git_stash:\u2261
|
||||
SETUVAR pure_symbol_git_unpulled_commits:\u21e3
|
||||
SETUVAR pure_symbol_git_unpushed_commits:\u21e1
|
||||
SETUVAR pure_symbol_k8s_prefix:\u2638
|
||||
SETUVAR pure_symbol_nixdevshell_prefix:\u2744\ufe0f
|
||||
SETUVAR pure_symbol_prefix_root_prompt:\x23
|
||||
SETUVAR pure_symbol_prompt:\u276f
|
||||
SETUVAR pure_symbol_reverse_prompt:\u276e
|
||||
SETUVAR pure_symbol_ssh_prefix:
|
||||
SETUVAR pure_symbol_title_bar_separator:\x2d
|
||||
SETUVAR pure_symbol_virtualenv_prefix:
|
||||
SETUVAR pure_threshold_command_duration:5
|
||||
SETUVAR pure_truncate_prompt_current_directory_keeps:\x2d1
|
||||
SETUVAR pure_truncate_window_title_current_directory_keeps:\x2d1
|
||||
13
themes/dracula/.config/fish/functions/awww_set_wallpaper.fish
Executable file
13
themes/dracula/.config/fish/functions/awww_set_wallpaper.fish
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
function awww_set_wallpaper
|
||||
set wallpaper $argv[1]
|
||||
|
||||
# Start swww daemon if not running
|
||||
if not pgrep awww-daemon > /dev/null
|
||||
awww-daemon &
|
||||
sleep 1
|
||||
end
|
||||
|
||||
# Set wallpaper with animation
|
||||
awww img "$wallpaper" \
|
||||
--transition-type wipe
|
||||
end
|
||||
8
themes/dracula/.config/fish/functions/yazi-cd.fish
Executable file
8
themes/dracula/.config/fish/functions/yazi-cd.fish
Executable file
|
|
@ -0,0 +1,8 @@
|
|||
function yazi-cd
|
||||
set tmpfile (mktemp)
|
||||
yazi --cwd-file="$tmpfile"
|
||||
if test -s "$tmpfile"
|
||||
cd (cat "$tmpfile")
|
||||
end
|
||||
rm -f "$tmpfile"
|
||||
end
|
||||
55
themes/dracula/.config/fish/themes/Dracula Official.theme
Normal file
55
themes/dracula/.config/fish/themes/Dracula Official.theme
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# Dracula Color Palette
|
||||
#
|
||||
# Foreground: f8f8f2
|
||||
# Selection: 44475a
|
||||
# Comment: 6272a4
|
||||
# Red: ff5555
|
||||
# Orange: ffb86c
|
||||
# Yellow: f1fa8c
|
||||
# Green: 50fa7b
|
||||
# Purple: bd93f9
|
||||
# Cyan: 8be9fd
|
||||
# Pink: ff79c6
|
||||
|
||||
# Syntax Highlighting Colors
|
||||
fish_color_normal f8f8f2
|
||||
fish_color_command 8be9fd
|
||||
fish_color_keyword ff79c6
|
||||
fish_color_quote f1fa8c
|
||||
fish_color_redirection f8f8f2
|
||||
fish_color_end ffb86c
|
||||
fish_color_error ff5555
|
||||
fish_color_param bd93f9
|
||||
fish_color_comment 6272a4
|
||||
fish_color_selection --background=44475a
|
||||
fish_color_search_match --background=44475a
|
||||
fish_color_operator 50fa7b
|
||||
fish_color_escape ff79c6
|
||||
fish_color_autosuggestion 6272a4
|
||||
fish_color_cancel ff5555 --reverse
|
||||
fish_color_option ffb86c
|
||||
fish_color_history_current --bold
|
||||
fish_color_status ff5555
|
||||
fish_color_valid_path --underline
|
||||
|
||||
# Default Prompt Colors
|
||||
fish_color_cwd 50fa7b
|
||||
fish_color_cwd_root red
|
||||
fish_color_host bd93f9
|
||||
fish_color_host_remote bd93f9
|
||||
fish_color_user 8be9fd
|
||||
|
||||
# Completion Pager Colors
|
||||
fish_pager_color_progress 6272a4
|
||||
fish_pager_color_background
|
||||
fish_pager_color_prefix 8be9fd
|
||||
fish_pager_color_completion f8f8f2
|
||||
fish_pager_color_description 6272a4
|
||||
fish_pager_color_selected_background --background=44475a
|
||||
fish_pager_color_selected_prefix 8be9fd
|
||||
fish_pager_color_selected_completion f8f8f2
|
||||
fish_pager_color_selected_description 6272a4
|
||||
fish_pager_color_secondary_background
|
||||
fish_pager_color_secondary_prefix 8be9fd
|
||||
fish_pager_color_secondary_completion f8f8f2
|
||||
fish_pager_color_secondary_description 6272a4
|
||||
467
themes/dracula/.config/godot/editor_settings-4.5.tres
Normal file
467
themes/dracula/.config/godot/editor_settings-4.5.tres
Normal file
|
|
@ -0,0 +1,467 @@
|
|||
[gd_resource type="EditorSettings" load_steps=2 format=3]
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_ly3hx"]
|
||||
keycode = 4194326
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
interface/editor/editor_language = "en"
|
||||
asset_library/use_threads = true
|
||||
interface/editor/localize_settings = true
|
||||
interface/editor/dock_tab_style = 0
|
||||
interface/editor/ui_layout_direction = 0
|
||||
interface/editor/display_scale = 0
|
||||
interface/editor/custom_display_scale = 1.0
|
||||
interface/editor/editor_screen = -5
|
||||
interface/editor/tablet_driver = -1
|
||||
interface/editor/project_manager_screen = -2
|
||||
network/connection/check_for_updates = 2
|
||||
interface/editor/use_embedded_menu = false
|
||||
interface/editor/use_native_file_dialogs = false
|
||||
interface/editor/expand_to_title = true
|
||||
interface/editor/main_font_size = 14
|
||||
interface/editor/code_font_size = 14
|
||||
interface/editor/code_font_contextual_ligatures = 1
|
||||
interface/editor/code_font_custom_opentype_features = ""
|
||||
interface/editor/code_font_custom_variations = ""
|
||||
interface/editor/font_antialiasing = 1
|
||||
interface/editor/font_hinting = 0
|
||||
interface/editor/font_subpixel_positioning = 1
|
||||
interface/editor/font_disable_embedded_bitmaps = true
|
||||
interface/editor/font_allow_msdf = true
|
||||
interface/editor/main_font = ""
|
||||
interface/editor/main_font_bold = ""
|
||||
interface/editor/code_font = ""
|
||||
interface/editor/separate_distraction_mode = false
|
||||
interface/editor/automatically_open_screenshots = true
|
||||
interface/editor/single_window_mode = false
|
||||
interface/editor/mouse_extra_buttons_navigate_history = true
|
||||
interface/editor/save_each_scene_on_quit = true
|
||||
interface/editor/save_on_focus_loss = false
|
||||
interface/editor/accept_dialog_cancel_ok_buttons = 0
|
||||
interface/editor/show_internal_errors_in_toast_notifications = 0
|
||||
interface/editor/show_update_spinner = 0
|
||||
interface/editor/keep_screen_on = false
|
||||
interface/editor/low_processor_mode_sleep_usec = 6900
|
||||
interface/editor/unfocused_low_processor_mode_sleep_usec = 100000
|
||||
interface/editor/import_resources_when_unfocused = false
|
||||
interface/editor/vsync_mode = 1
|
||||
interface/editor/update_continuously = false
|
||||
interface/editor/collapse_main_menu = false
|
||||
interface/editors/show_scene_tree_root_selection = true
|
||||
interface/editors/derive_script_globals_by_name = true
|
||||
docks/scene_tree/ask_before_revoking_unique_name = true
|
||||
interface/inspector/max_array_dictionary_items_per_page = 20
|
||||
interface/inspector/show_low_level_opentype_features = false
|
||||
interface/inspector/float_drag_speed = 5.0
|
||||
interface/inspector/nested_color_mode = 0
|
||||
interface/inspector/delimitate_all_container_and_resources = true
|
||||
interface/inspector/default_property_name_style = 1
|
||||
interface/inspector/default_float_step = 0.001
|
||||
interface/inspector/disable_folding = false
|
||||
interface/inspector/auto_unfold_foreign_scenes = true
|
||||
interface/inspector/horizontal_vector2_editing = false
|
||||
interface/inspector/horizontal_vector_types_editing = true
|
||||
interface/inspector/open_resources_in_current_inspector = true
|
||||
interface/inspector/resources_to_open_in_new_inspector = PackedStringArray("Script", "MeshLibrary")
|
||||
interface/accessibility/accessibility_support = 0
|
||||
interface/inspector/default_color_picker_mode = 0
|
||||
interface/inspector/default_color_picker_shape = 3
|
||||
interface/inspector/color_picker_show_intensity = true
|
||||
interface/theme/follow_system_theme = false
|
||||
interface/theme/preset = "Custom"
|
||||
interface/theme/spacing_preset = "Default"
|
||||
interface/theme/icon_and_font_color = 0
|
||||
interface/theme/base_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
interface/theme/accent_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
interface/theme/use_system_accent_color = false
|
||||
interface/theme/contrast = 0.21
|
||||
interface/theme/draw_extra_borders = false
|
||||
interface/theme/icon_saturation = 1.0
|
||||
interface/theme/relationship_line_opacity = 0.1
|
||||
interface/theme/border_size = 0
|
||||
interface/theme/corner_radius = 3
|
||||
interface/theme/base_spacing = 4
|
||||
interface/theme/additional_spacing = 0
|
||||
interface/theme/custom_theme = ""
|
||||
interface/touchscreen/enable_touch_optimizations = false
|
||||
interface/touchscreen/enable_long_press_as_right_click = false
|
||||
interface/touchscreen/enable_pan_and_scale_gestures = false
|
||||
interface/touchscreen/scale_gizmo_handles = 1
|
||||
interface/touchscreen/touch_actions_panel = 1
|
||||
interface/scene_tabs/display_close_button = 1
|
||||
interface/scene_tabs/show_thumbnail_on_hover = true
|
||||
interface/scene_tabs/maximum_width = 350
|
||||
interface/scene_tabs/show_script_button = false
|
||||
interface/scene_tabs/restore_scenes_on_load = true
|
||||
interface/multi_window/enable = true
|
||||
interface/multi_window/restore_windows_on_load = true
|
||||
interface/multi_window/maximize_window = false
|
||||
filesystem/external_programs/raster_image_editor = ""
|
||||
filesystem/external_programs/vector_image_editor = ""
|
||||
filesystem/external_programs/audio_editor = ""
|
||||
filesystem/external_programs/3d_model_editor = ""
|
||||
filesystem/external_programs/terminal_emulator = ""
|
||||
filesystem/external_programs/terminal_emulator_flags = ""
|
||||
filesystem/directories/autoscan_project_path = ""
|
||||
filesystem/directories/default_project_path = "/mnt/data/GodotProjects"
|
||||
filesystem/on_save/compress_binary_resources = true
|
||||
filesystem/on_save/safe_save_on_backup_then_rename = true
|
||||
filesystem/file_server/port = 6010
|
||||
filesystem/file_server/password = ""
|
||||
filesystem/file_dialog/show_hidden_files = false
|
||||
filesystem/file_dialog/display_mode = 0
|
||||
filesystem/file_dialog/thumbnail_size = 64
|
||||
filesystem/quick_open_dialog/max_results = 100
|
||||
filesystem/quick_open_dialog/show_search_highlight = true
|
||||
filesystem/quick_open_dialog/enable_fuzzy_matching = true
|
||||
filesystem/quick_open_dialog/max_fuzzy_misses = 2
|
||||
filesystem/quick_open_dialog/include_addons = false
|
||||
filesystem/quick_open_dialog/default_display_mode = 0
|
||||
filesystem/import/blender/blender_path = ""
|
||||
filesystem/import/blender/rpc_port = 6011
|
||||
filesystem/import/blender/rpc_server_uptime = 5
|
||||
filesystem/import/fbx/fbx2gltf_path = ""
|
||||
filesystem/tools/oidn/oidn_denoise_path = ""
|
||||
docks/scene_tree/ask_before_deleting_related_animation_tracks = true
|
||||
docks/scene_tree/start_create_dialog_fully_expanded = false
|
||||
docks/scene_tree/auto_expand_to_selected = true
|
||||
docks/scene_tree/center_node_on_reparent = false
|
||||
docks/scene_tree/hide_filtered_out_parents = true
|
||||
docks/scene_tree/accessibility_warnings = false
|
||||
docks/filesystem/thumbnail_size = 64
|
||||
docks/filesystem/always_show_folders = true
|
||||
docks/filesystem/textfile_extensions = "txt,md,cfg,ini,log,json,yml,yaml,toml,xml"
|
||||
docks/filesystem/other_file_extensions = "ico,icns"
|
||||
docks/property_editor/auto_refresh_interval = 0.2
|
||||
docks/property_editor/subresource_hue_tint = 0.75
|
||||
text_editor/theme/color_theme = "dracula"
|
||||
text_editor/theme/highlighting/symbol_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/keyword_color = Color(1, 0.4745098, 0.7764706, 1)
|
||||
text_editor/theme/highlighting/control_flow_keyword_color = Color(1, 0.4745098, 0.7764706, 1)
|
||||
text_editor/theme/highlighting/base_type_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/engine_type_color = Color(0.54509807, 0.9137255, 0.99215686, 1)
|
||||
text_editor/theme/highlighting/user_type_color = Color(0.54509807, 0.9137255, 0.99215686, 1)
|
||||
text_editor/theme/highlighting/comment_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/doc_comment_color = Color(0.6, 0.7, 0.8, 0.8)
|
||||
text_editor/theme/highlighting/string_color = Color(0.94509804, 0.98039216, 0.54901963, 1)
|
||||
text_editor/theme/highlighting/background_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
text_editor/theme/highlighting/completion_background_color = Color(0.17254902, 0.16470589, 0.19607843, 1)
|
||||
text_editor/theme/highlighting/completion_selected_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/completion_existing_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/completion_scroll_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/completion_scroll_hovered_color = Color(1, 1, 1, 0.4)
|
||||
text_editor/theme/highlighting/completion_font_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/text_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/line_number_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/safe_line_number_color = Color(0.7892157, 0.94941175, 0.8029412, 0.75)
|
||||
text_editor/theme/highlighting/caret_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/caret_background_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
text_editor/theme/highlighting/text_selected_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/selection_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/brace_mismatch_color = Color(1, 0.33333334, 0.33333334, 1)
|
||||
text_editor/theme/highlighting/current_line_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/line_length_guideline_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/word_highlighted_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/number_color = Color(0.7411765, 0.5764706, 0.9764706, 1)
|
||||
text_editor/theme/highlighting/function_color = Color(0.54509807, 0.9137255, 0.99215686, 1)
|
||||
text_editor/theme/highlighting/member_variable_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/mark_color = Color(1, 0.33333334, 0.33333334, 0.3019608)
|
||||
text_editor/theme/highlighting/warning_color = Color(1, 0.87, 0.4, 0.15)
|
||||
text_editor/theme/highlighting/bookmark_color = Color(0.08, 0.49, 0.98, 1)
|
||||
text_editor/theme/highlighting/breakpoint_color = Color(1, 0.72156864, 0.42352942, 1)
|
||||
text_editor/theme/highlighting/executing_line_color = Color(0.98, 0.89, 0.27, 1)
|
||||
text_editor/theme/highlighting/code_folding_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/folded_code_region_color = Color(0.68, 0.46, 0.77, 0.2)
|
||||
text_editor/theme/highlighting/search_result_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/search_result_border_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
text_editor/theme/highlighting/gdscript/function_definition_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/gdscript/global_function_color = Color(0.64, 0.64, 0.96, 1)
|
||||
text_editor/theme/highlighting/gdscript/node_path_color = Color(0.72, 0.77, 0.49, 1)
|
||||
text_editor/theme/highlighting/gdscript/node_reference_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/gdscript/annotation_color = Color(1, 0.72156864, 0.42352942, 1)
|
||||
text_editor/theme/highlighting/gdscript/string_name_color = Color(1, 0.76, 0.65, 1)
|
||||
text_editor/theme/highlighting/comment_markers/critical_color = Color(1, 0.33333334, 0.33333334, 1)
|
||||
text_editor/theme/highlighting/comment_markers/warning_color = Color(0.94509804, 0.98039216, 0.54901963, 1)
|
||||
text_editor/theme/highlighting/comment_markers/notice_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/comment_markers/critical_list = "ALERT,ATTENTION,CAUTION,CRITICAL,DANGER,SECURITY"
|
||||
text_editor/theme/highlighting/comment_markers/warning_list = "BUG,DEPRECATED,FIXME,HACK,TASK,TBD,TODO,WARNING"
|
||||
text_editor/theme/highlighting/comment_markers/notice_list = "INFO,NOTE,NOTICE,TEST,TESTING"
|
||||
text_editor/appearance/enable_inline_color_picker = true
|
||||
text_editor/appearance/caret/type = 0
|
||||
text_editor/appearance/caret/caret_blink = true
|
||||
text_editor/appearance/caret/caret_blink_interval = 0.5
|
||||
text_editor/appearance/caret/highlight_current_line = true
|
||||
text_editor/appearance/caret/highlight_all_occurrences = true
|
||||
text_editor/appearance/guidelines/show_line_length_guidelines = true
|
||||
text_editor/appearance/guidelines/line_length_guideline_soft_column = 80
|
||||
text_editor/appearance/guidelines/line_length_guideline_hard_column = 100
|
||||
text_editor/appearance/gutters/show_line_numbers = true
|
||||
text_editor/appearance/gutters/line_numbers_zero_padded = false
|
||||
text_editor/appearance/gutters/highlight_type_safe_lines = true
|
||||
text_editor/appearance/gutters/show_info_gutter = true
|
||||
text_editor/appearance/minimap/show_minimap = true
|
||||
text_editor/appearance/minimap/minimap_width = 80
|
||||
text_editor/appearance/lines/code_folding = true
|
||||
text_editor/appearance/lines/word_wrap = 0
|
||||
text_editor/appearance/lines/autowrap_mode = 3
|
||||
text_editor/appearance/whitespace/draw_tabs = true
|
||||
text_editor/appearance/whitespace/draw_spaces = false
|
||||
text_editor/appearance/whitespace/line_spacing = 4
|
||||
text_editor/behavior/general/empty_selection_clipboard = true
|
||||
text_editor/behavior/navigation/move_caret_on_right_click = true
|
||||
text_editor/behavior/navigation/scroll_past_end_of_file = false
|
||||
text_editor/behavior/navigation/smooth_scrolling = true
|
||||
text_editor/behavior/navigation/v_scroll_speed = 80
|
||||
text_editor/behavior/navigation/drag_and_drop_selection = true
|
||||
text_editor/behavior/navigation/stay_in_script_editor_on_node_selected = true
|
||||
text_editor/behavior/navigation/open_script_when_connecting_signal_to_existing_method = true
|
||||
text_editor/behavior/navigation/use_default_word_separators = true
|
||||
text_editor/behavior/navigation/use_custom_word_separators = false
|
||||
text_editor/behavior/navigation/custom_word_separators = ""
|
||||
text_editor/behavior/indent/type = 0
|
||||
text_editor/behavior/indent/size = 4
|
||||
text_editor/behavior/indent/auto_indent = true
|
||||
text_editor/behavior/indent/indent_wrapped_lines = true
|
||||
text_editor/behavior/files/trim_trailing_whitespace_on_save = false
|
||||
text_editor/behavior/files/trim_final_newlines_on_save = true
|
||||
text_editor/behavior/files/autosave_interval_secs = 0
|
||||
text_editor/behavior/files/restore_scripts_on_load = true
|
||||
text_editor/behavior/files/convert_indent_on_save = true
|
||||
text_editor/behavior/files/auto_reload_scripts_on_external_change = true
|
||||
text_editor/behavior/files/auto_reload_and_parse_scripts_on_save = true
|
||||
text_editor/behavior/files/open_dominant_script_on_scene_change = false
|
||||
text_editor/behavior/files/drop_preload_resources_as_uid = true
|
||||
text_editor/behavior/documentation/enable_tooltips = true
|
||||
text_editor/script_list/show_members_overview = true
|
||||
text_editor/script_list/sort_members_outline_alphabetically = false
|
||||
text_editor/script_list/script_temperature_enabled = true
|
||||
text_editor/script_list/script_temperature_history_size = 15
|
||||
text_editor/script_list/highlight_scene_scripts = true
|
||||
text_editor/script_list/group_help_pages = true
|
||||
text_editor/script_list/sort_scripts_by = 0
|
||||
text_editor/script_list/list_script_names_as = 0
|
||||
text_editor/external/exec_path = "/usr/bin/zeditor"
|
||||
text_editor/external/exec_flags = "{project} {file}:{line}:{col}"
|
||||
text_editor/completion/idle_parse_delay = 1.5
|
||||
text_editor/completion/idle_parse_delay_with_errors_found = 0.5
|
||||
text_editor/completion/auto_brace_complete = true
|
||||
text_editor/completion/code_complete_enabled = true
|
||||
text_editor/completion/code_complete_delay = 0.3
|
||||
text_editor/completion/put_callhint_tooltip_below_current_line = true
|
||||
text_editor/completion/complete_file_paths = true
|
||||
text_editor/completion/add_type_hints = true
|
||||
text_editor/completion/add_string_name_literals = false
|
||||
text_editor/completion/add_node_path_literals = false
|
||||
text_editor/completion/use_single_quotes = false
|
||||
text_editor/completion/colorize_suggestions = true
|
||||
text_editor/external/use_external_editor = true
|
||||
text_editor/help/show_help_index = true
|
||||
text_editor/help/help_font_size = 16
|
||||
text_editor/help/help_source_font_size = 15
|
||||
text_editor/help/help_title_font_size = 23
|
||||
text_editor/help/class_reference_examples = 0
|
||||
text_editor/help/sort_functions_alphabetically = true
|
||||
editors/grid_map/pick_distance = 5000.0
|
||||
editors/grid_map/palette_min_width = 230
|
||||
editors/grid_map/preview_size = 64
|
||||
editors/3d/primary_grid_color = Color(0.56, 0.56, 0.56, 0.5)
|
||||
editors/3d/secondary_grid_color = Color(0.38, 0.38, 0.38, 0.5)
|
||||
editors/3d/selection_box_color = Color(1, 0.5, 0, 1)
|
||||
editors/3d/active_selection_box_color = Color(1.5, 0.75, 0, 1)
|
||||
editors/3d_gizmos/gizmo_colors/instantiated = Color(0.7, 0.7, 0.7, 0.6)
|
||||
editors/3d_gizmos/gizmo_colors/joint = Color(0.5, 0.8, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/aabb = Color(0.28, 0.8, 0.82, 1)
|
||||
editors/3d_gizmos/gizmo_colors/stream_player_3d = Color(0.4, 0.8, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/camera = Color(0.8, 0.4, 0.8, 1)
|
||||
editors/3d_gizmos/gizmo_colors/decal = Color(0.6, 0.5, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/fog_volume = Color(0.5, 0.7, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/particles = Color(0.8, 0.7, 0.4, 1)
|
||||
editors/3d_gizmos/gizmo_colors/particle_attractor = Color(1, 0.7, 0.5, 1)
|
||||
editors/3d_gizmos/gizmo_colors/particle_collision = Color(0.5, 0.7, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/joint_body_a = Color(0.6, 0.8, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/joint_body_b = Color(0.6, 0.9, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/lightmap_lines = Color(0.5, 0.6, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/lightprobe_lines = Color(0.5, 0.6, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/occluder = Color(0.8, 0.5, 1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/reflection_probe = Color(0.6, 1, 0.5, 1)
|
||||
editors/3d_gizmos/gizmo_colors/visibility_notifier = Color(0.8, 0.5, 0.7, 1)
|
||||
editors/3d_gizmos/gizmo_colors/voxel_gi = Color(0.5, 1, 0.6, 1)
|
||||
editors/3d_gizmos/gizmo_colors/path_tilt = Color(1, 1, 0.4, 0.9)
|
||||
editors/3d_gizmos/gizmo_colors/skeleton = Color(1, 0.8, 0.4, 1)
|
||||
editors/3d_gizmos/gizmo_colors/selected_bone = Color(0.8, 0.3, 0, 1)
|
||||
editors/3d_gizmos/gizmo_colors/csg = Color(0, 0.4, 1, 0.15)
|
||||
editors/3d_gizmos/gizmo_colors/gridmap_grid = Color(0.8, 0.5, 0.1, 1)
|
||||
editors/3d_gizmos/gizmo_colors/spring_bone_joint = Color(0.8, 0.9, 0.6, 1)
|
||||
editors/3d_gizmos/gizmo_colors/spring_bone_collision = Color(0.6, 0.8, 0.9, 1)
|
||||
editors/3d_gizmos/gizmo_colors/spring_bone_inside_collision = Color(0.9, 0.6, 0.8, 1)
|
||||
editors/3d_gizmos/gizmo_settings/bone_axis_length = 0.1
|
||||
editors/3d_gizmos/gizmo_settings/bone_shape = 1
|
||||
editors/3d_gizmos/gizmo_settings/path3d_tilt_disk_size = 0.8
|
||||
editors/3d_gizmos/gizmo_settings/lightmap_gi_probe_size = 0.4
|
||||
editors/3d/primary_grid_steps = 8
|
||||
editors/3d/grid_size = 200
|
||||
editors/3d/grid_division_level_max = 2
|
||||
editors/3d/grid_division_level_min = 0
|
||||
editors/3d/grid_division_level_bias = -0.2
|
||||
editors/3d/grid_xz_plane = true
|
||||
editors/3d/grid_xy_plane = false
|
||||
editors/3d/grid_yz_plane = false
|
||||
editors/3d/default_fov = 70.0
|
||||
editors/3d/default_z_near = 0.05
|
||||
editors/3d/default_z_far = 4000.0
|
||||
editors/3d/navigation/invert_x_axis = false
|
||||
editors/3d/navigation/invert_y_axis = false
|
||||
editors/3d/navigation/navigation_scheme = 0
|
||||
editors/3d/navigation/orbit_mouse_button = 1
|
||||
editors/3d/navigation/pan_mouse_button = 1
|
||||
editors/3d/navigation/zoom_mouse_button = 1
|
||||
editors/3d/navigation/zoom_style = 0
|
||||
editors/3d/navigation/emulate_numpad = true
|
||||
editors/3d/navigation/emulate_3_button_mouse = false
|
||||
editors/3d/navigation/warped_mouse_panning = true
|
||||
editors/3d/navigation_feel/orbit_sensitivity = 0.25
|
||||
editors/3d/navigation_feel/translation_sensitivity = 1.0
|
||||
editors/3d/navigation_feel/orbit_inertia = 0.0
|
||||
editors/3d/navigation_feel/translation_inertia = 0.05
|
||||
editors/3d/navigation_feel/zoom_inertia = 0.05
|
||||
editors/3d/navigation/show_viewport_rotation_gizmo = true
|
||||
editors/3d/navigation/show_viewport_navigation_gizmo = false
|
||||
editors/3d/freelook/freelook_navigation_scheme = 0
|
||||
editors/3d/freelook/freelook_sensitivity = 0.25
|
||||
editors/3d/freelook/freelook_inertia = 0.0
|
||||
editors/3d/freelook/freelook_base_speed = 5.0
|
||||
editors/3d/freelook/freelook_activation_modifier = 0
|
||||
editors/3d/freelook/freelook_speed_zoom_link = false
|
||||
editors/3d/manipulator_gizmo_size = 80
|
||||
editors/3d/manipulator_gizmo_opacity = 0.9
|
||||
editors/2d/grid_color = Color(1, 1, 1, 0.07)
|
||||
editors/2d/guides_color = Color(0.6, 0, 0.8, 1)
|
||||
editors/2d/smart_snapping_line_color = Color(0.9, 0.1, 0.1, 1)
|
||||
editors/2d/bone_width = 5.0
|
||||
editors/2d/bone_color1 = Color(1, 1, 1, 0.7)
|
||||
editors/2d/bone_color2 = Color(0.6, 0.6, 0.6, 0.7)
|
||||
editors/2d/bone_selected_color = Color(0.9, 0.45, 0.45, 0.7)
|
||||
editors/2d/bone_ik_color = Color(0.9, 0.9, 0.45, 0.7)
|
||||
editors/2d/bone_outline_color = Color(0.35, 0.35, 0.35, 0.5)
|
||||
editors/2d/bone_outline_size = 2.0
|
||||
editors/2d/viewport_border_color = Color(0.4, 0.4, 1, 0.4)
|
||||
editors/2d/use_integer_zoom_by_default = false
|
||||
editors/2d/zoom_speed_factor = 1.1
|
||||
editors/2d/ruler_width = 16.0
|
||||
editors/bone_mapper/handle_colors/unset = Color(0.3, 0.3, 0.3, 1)
|
||||
editors/bone_mapper/handle_colors/set = Color(0.1, 0.6, 0.25, 1)
|
||||
editors/bone_mapper/handle_colors/missing = Color(0.8, 0.2, 0.8, 1)
|
||||
editors/bone_mapper/handle_colors/error = Color(0.8, 0.2, 0.2, 1)
|
||||
editors/panning/2d_editor_panning_scheme = 0
|
||||
editors/panning/sub_editors_panning_scheme = 0
|
||||
editors/panning/animation_editors_panning_scheme = 1
|
||||
editors/panning/simple_panning = false
|
||||
editors/panning/warped_mouse_panning = true
|
||||
editors/panning/2d_editor_pan_speed = 20
|
||||
editors/panning/zoom_style = 0
|
||||
editors/tiles_editor/display_grid = true
|
||||
editors/tiles_editor/highlight_selected_layer = true
|
||||
editors/tiles_editor/grid_color = Color(1, 0.5, 0.2, 0.5)
|
||||
editors/polygon_editor/point_grab_radius = 8
|
||||
editors/polygon_editor/show_previous_outline = true
|
||||
editors/polygon_editor/auto_bake_delay = 1.5
|
||||
editors/animation/default_animation_step = 0.033333335
|
||||
editors/animation/default_fps_mode = 0
|
||||
editors/animation/default_fps_compatibility = true
|
||||
editors/animation/autorename_animation_tracks = true
|
||||
editors/animation/confirm_insert_track = true
|
||||
editors/animation/default_create_bezier_tracks = false
|
||||
editors/animation/default_create_reset_tracks = true
|
||||
editors/animation/onion_layers_past_color = Color(1, 0, 0, 1)
|
||||
editors/animation/onion_layers_future_color = Color(0, 1, 0, 1)
|
||||
editors/shader_editor/behavior/files/restore_shaders_on_load = true
|
||||
editors/visual_editors/color_theme = "Default"
|
||||
editors/visual_editors/connection_colors/scalar_color = Color(0.55, 0.55, 0.55, 1)
|
||||
editors/visual_editors/connection_colors/vector2_color = Color(0.44, 0.43, 0.64, 1)
|
||||
editors/visual_editors/connection_colors/vector3_color = Color(0.337, 0.314, 0.71, 1)
|
||||
editors/visual_editors/connection_colors/vector4_color = Color(0.7, 0.65, 0.147, 1)
|
||||
editors/visual_editors/connection_colors/boolean_color = Color(0.243, 0.612, 0.349, 1)
|
||||
editors/visual_editors/connection_colors/transform_color = Color(0.71, 0.357, 0.64, 1)
|
||||
editors/visual_editors/connection_colors/sampler_color = Color(0.659, 0.4, 0.137, 1)
|
||||
editors/visual_editors/category_colors/output_color = Color(0.26, 0.1, 0.15, 1)
|
||||
editors/visual_editors/category_colors/color_color = Color(0.5, 0.5, 0.1, 1)
|
||||
editors/visual_editors/category_colors/conditional_color = Color(0.208, 0.522, 0.298, 1)
|
||||
editors/visual_editors/category_colors/input_color = Color(0.502, 0.2, 0.204, 1)
|
||||
editors/visual_editors/category_colors/scalar_color = Color(0.1, 0.5, 0.6, 1)
|
||||
editors/visual_editors/category_colors/textures_color = Color(0.5, 0.3, 0.1, 1)
|
||||
editors/visual_editors/category_colors/transform_color = Color(0.5, 0.3, 0.5, 1)
|
||||
editors/visual_editors/category_colors/utility_color = Color(0.2, 0.2, 0.2, 1)
|
||||
editors/visual_editors/category_colors/vector_color = Color(0.2, 0.2, 0.5, 1)
|
||||
editors/visual_editors/category_colors/special_color = Color(0.098, 0.361, 0.294, 1)
|
||||
editors/visual_editors/category_colors/particle_color = Color(0.12, 0.358, 0.8, 1)
|
||||
editors/visual_editors/minimap_opacity = 0.85
|
||||
editors/visual_editors/lines_curvature = 0.5
|
||||
editors/visual_editors/grid_pattern = 1
|
||||
editors/visual_editors/visual_shader/port_preview_size = 160
|
||||
export/ssh/ssh = ""
|
||||
export/ssh/scp = ""
|
||||
run/window_placement/rect = 1
|
||||
run/window_placement/rect_custom_position = Vector2(0, 0)
|
||||
run/window_placement/screen = -5
|
||||
run/window_placement/android_window = 0
|
||||
run/window_placement/game_embed_mode = 0
|
||||
run/auto_save/save_before_running = true
|
||||
run/bottom_panel/action_on_play = 1
|
||||
run/bottom_panel/action_on_stop = 0
|
||||
run/output/font_size = 13
|
||||
run/output/always_clear_output_on_play = true
|
||||
run/output/max_lines = 10000
|
||||
run/platforms/linuxbsd/prefer_wayland = false
|
||||
network/connection/network_mode = 1
|
||||
network/http_proxy/host = ""
|
||||
network/http_proxy/port = 8080
|
||||
network/tls/editor_tls_certificates = "/etc/ssl/certs/ca-certificates.crt"
|
||||
network/tls/enable_tls_v1.3 = true
|
||||
network/debug/remote_host = "127.0.0.1"
|
||||
network/debug/remote_port = 6007
|
||||
debugger/auto_switch_to_remote_scene_tree = false
|
||||
debugger/auto_switch_to_stack_trace = true
|
||||
debugger/max_node_selection = 20
|
||||
debugger/profiler_frame_history_size = 3600
|
||||
debugger/profiler_frame_max_functions = 64
|
||||
debugger/profiler_target_fps = 60
|
||||
debugger/remote_scene_tree_refresh_interval = 1.0
|
||||
debugger/remote_inspect_refresh_interval = 0.2
|
||||
debugger/profile_native_calls = false
|
||||
version_control/username = ""
|
||||
version_control/ssh_public_key_path = ""
|
||||
version_control/ssh_private_key_path = ""
|
||||
input/buffering/agile_event_flushing = false
|
||||
input/buffering/use_accumulated_input = true
|
||||
project_manager/sorting_order = 0
|
||||
project_manager/directory_naming_convention = 1
|
||||
project_manager/default_renderer = "forward_plus"
|
||||
export/android/debug_keystore = "/home/henry/.local/share/godot/keystores/debug.keystore"
|
||||
export/android/debug_keystore_pass = "android"
|
||||
export/android/java_sdk_path = ""
|
||||
export/android/android_sdk_path = "/home/henry/Android/Sdk"
|
||||
export/macos/rcodesign = ""
|
||||
export/web/http_port = 8060
|
||||
export/web/tls_key = ""
|
||||
export/web/tls_certificate = ""
|
||||
export/windows/osslsigncode = ""
|
||||
_editor_settings_advanced_mode = true
|
||||
_project_settings_advanced_mode = false
|
||||
_export_template_download_directory = ""
|
||||
_default_feature_profile = ""
|
||||
_script_setup_templates_dictionary = {}
|
||||
_script_setup_use_script_templates = true
|
||||
_use_favorites_root_selection = false
|
||||
asset_library/available_urls = {
|
||||
"godotengine.org (Official)": "https://godotengine.org/asset-library/api"
|
||||
}
|
||||
shortcuts = [{
|
||||
"name": "spatial_editor/viewport_zoom_modifier_1",
|
||||
"shortcuts": [SubResource("InputEventKey_ly3hx")]
|
||||
}, {
|
||||
"name": "spatial_editor/viewport_zoom_modifier_2",
|
||||
"shortcuts": []
|
||||
}]
|
||||
builtin_action_overrides = []
|
||||
82
themes/dracula/.config/godot/editor_settings-4.6.tres
Normal file
82
themes/dracula/.config/godot/editor_settings-4.6.tres
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
[gd_resource type="EditorSettings" format=3]
|
||||
|
||||
[resource]
|
||||
interface/editor/editor_language = "en"
|
||||
interface/theme/base_color = Color(0.161, 0.161, 0.161, 1)
|
||||
interface/theme/accent_color = Color(0.337, 0.62, 1, 1)
|
||||
interface/theme/contrast = 0.3
|
||||
filesystem/directories/default_project_path = "/mnt/data/GodotProjects"
|
||||
text_editor/theme/color_theme = "dracula"
|
||||
text_editor/theme/highlighting/symbol_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/keyword_color = Color(1, 0.4745098, 0.7764706, 1)
|
||||
text_editor/theme/highlighting/control_flow_keyword_color = Color(1, 0.4745098, 0.7764706, 1)
|
||||
text_editor/theme/highlighting/base_type_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/engine_type_color = Color(0.54509807, 0.9137255, 0.99215686, 1)
|
||||
text_editor/theme/highlighting/user_type_color = Color(0.54509807, 0.9137255, 0.99215686, 1)
|
||||
text_editor/theme/highlighting/comment_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/doc_comment_color = Color(0.6, 0.7, 0.8, 0.8)
|
||||
text_editor/theme/highlighting/string_color = Color(0.94509804, 0.98039216, 0.54901963, 1)
|
||||
text_editor/theme/highlighting/background_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
text_editor/theme/highlighting/completion_background_color = Color(0.17254902, 0.16470589, 0.19607843, 1)
|
||||
text_editor/theme/highlighting/completion_selected_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/completion_existing_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/completion_scroll_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/completion_font_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/text_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/line_number_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/safe_line_number_color = Color(0.7892157, 0.94941175, 0.8029412, 0.75)
|
||||
text_editor/theme/highlighting/caret_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/caret_background_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
text_editor/theme/highlighting/text_selected_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/selection_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/brace_mismatch_color = Color(1, 0.33333334, 0.33333334, 1)
|
||||
text_editor/theme/highlighting/current_line_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/line_length_guideline_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/word_highlighted_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/number_color = Color(0.7411765, 0.5764706, 0.9764706, 1)
|
||||
text_editor/theme/highlighting/function_color = Color(0.54509807, 0.9137255, 0.99215686, 1)
|
||||
text_editor/theme/highlighting/member_variable_color = Color(0.972549, 0.972549, 0.9490196, 1)
|
||||
text_editor/theme/highlighting/mark_color = Color(1, 0.33333334, 0.33333334, 0.3019608)
|
||||
text_editor/theme/highlighting/warning_color = Color(1, 0.87, 0.4, 0.15)
|
||||
text_editor/theme/highlighting/breakpoint_color = Color(1, 0.72156864, 0.42352942, 1)
|
||||
text_editor/theme/highlighting/code_folding_color = Color(0.38431373, 0.44705883, 0.6431373, 1)
|
||||
text_editor/theme/highlighting/search_result_color = Color(0.26666668, 0.2784314, 0.3529412, 1)
|
||||
text_editor/theme/highlighting/search_result_border_color = Color(0.15686275, 0.16470589, 0.21176471, 1)
|
||||
text_editor/theme/highlighting/gdscript/function_definition_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/gdscript/node_reference_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/theme/highlighting/gdscript/annotation_color = Color(1, 0.72156864, 0.42352942, 1)
|
||||
text_editor/theme/highlighting/comment_markers/critical_color = Color(1, 0.33333334, 0.33333334, 1)
|
||||
text_editor/theme/highlighting/comment_markers/warning_color = Color(0.94509804, 0.98039216, 0.54901963, 1)
|
||||
text_editor/theme/highlighting/comment_markers/notice_color = Color(0.3137255, 0.98039216, 0.48235294, 1)
|
||||
text_editor/external/exec_path = "/usr/bin/zeditor"
|
||||
text_editor/external/exec_flags = "{project} {file}:{line}:{col}"
|
||||
editors/3d_gizmos/gizmo_settings/bone_axis_length = 0.1
|
||||
editors/animation/default_animation_step = 0.033333335
|
||||
run/platforms/linuxbsd/prefer_wayland = true
|
||||
network/connection/network_mode = 1
|
||||
editors/grid_map/palette_min_width = 230
|
||||
export/android/debug_keystore = "/home/henry/.local/share/godot/keystores/debug.keystore"
|
||||
export/android/debug_keystore_pass = "android"
|
||||
export/android/java_sdk_path = ""
|
||||
export/android/android_sdk_path = "/home/henry/Android/Sdk"
|
||||
export/macos/rcodesign = ""
|
||||
export/web/http_port = 8060
|
||||
export/web/tls_key = ""
|
||||
export/web/tls_certificate = ""
|
||||
export/windows/osslsigncode = ""
|
||||
_editor_settings_advanced_mode = true
|
||||
_project_settings_advanced_mode = false
|
||||
_export_template_download_directory = "/home/henry/.cache/godot"
|
||||
_default_feature_profile = ""
|
||||
_script_setup_templates_dictionary = {
|
||||
"Marker3D": "0NodeDefault",
|
||||
"MeshInstance3D": "0NodeDefault",
|
||||
"Node3D": "0NodeDefault",
|
||||
"PhysicalBoneSimulator3D": "0NodeDefault",
|
||||
"RayCast3D": "0NodeDefault"
|
||||
}
|
||||
_script_setup_use_script_templates = true
|
||||
_use_favorites_root_selection = false
|
||||
_export_preset_advanced_mode = false
|
||||
export/android/scrcpy/screen_size = "1920x1080/120"
|
||||
export/macos/actool = ""
|
||||
2
themes/dracula/.config/godot/recent_dirs
Normal file
2
themes/dracula/.config/godot/recent_dirs
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
/mnt/data/GodotProjects/new-dnd-helper-main/
|
||||
/mnt/data/GodotProjects/
|
||||
41
themes/dracula/.config/godot/text_editor_themes/dracula.tet
Normal file
41
themes/dracula/.config/godot/text_editor_themes/dracula.tet
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[color_theme]
|
||||
|
||||
background_color="#282a36ff"
|
||||
completion_background_color="#2c2a32ff"
|
||||
completion_selected_color="#44475aff" ; updated to proper selection highlight
|
||||
completion_existing_color="#44475aff" ; aligned with selection background
|
||||
completion_scroll_color="#6272a4ff" ; Dracula doesn't have pure white; chose 'Comment'
|
||||
completion_font_color="#f8f8f2ff" ; corrected to Dracula 'Foreground'
|
||||
caret_color="#f8f8f2ff" ; Dracula's 'Foreground'
|
||||
caret_background_color="#282a36ff" ; match editor background
|
||||
line_number_color="#6272a4ff"
|
||||
text_color="#f8f8f2ff"
|
||||
text_selected_color="#f8f8f2ff"
|
||||
keyword_color="#ff79c6ff"
|
||||
base_type_color="#50fa7bff"
|
||||
engine_type_color="#8be9fdff"
|
||||
function_color="#8be9fdff"
|
||||
member_variable_color="#f8f8f2ff"
|
||||
comment_color="#6272a4ff"
|
||||
string_color="#f1fa8cff"
|
||||
number_color="#bd93f9ff"
|
||||
symbol_color="#f8f8f2ff"
|
||||
selection_color="#44475aff"
|
||||
brace_mismatch_color="#ff5555ff" ; corrected to Dracula 'Red'
|
||||
current_line_color="#44475aff" ; softened to match selection background
|
||||
line_length_guideline_color="#44475aff" ; unified with 'current_line_color'
|
||||
mark_color="#ff55554d" ; reused Dracula 'Pink'
|
||||
breakpoint_color="#ffb86cff" ; changed to Dracula 'Orange'
|
||||
code_folding_color="#6272a4ff" ; reused 'Comment'
|
||||
word_highlighted_color="#44475aff"
|
||||
search_result_color="#44475aff"
|
||||
search_result_border_color="#282a36ff"
|
||||
gdscript/function_definition_color="#50fa7bff"
|
||||
control_flow_keyword_color="#FF79C6"
|
||||
user_type_color="#8BE9FD"
|
||||
gdscript/annotation_color="#FFB86C"
|
||||
gdscript/node_reference_color="#50FA7B"
|
||||
comment_markers/critical_color="#FF5555"
|
||||
comment_markers/warning_color="#F1FA8C"
|
||||
comment_markers/notice_color="#50FA7B"
|
||||
gdscript/global_function_color="##BD93F9"
|
||||
2
themes/dracula/.config/gtk-3.0/bookmarks
Normal file
2
themes/dracula/.config/gtk-3.0/bookmarks
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
file:///mnt/games games
|
||||
file:///mnt/data data
|
||||
17
themes/dracula/.config/gtk-3.0/settings.ini
Normal file
17
themes/dracula/.config/gtk-3.0/settings.ini
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[Settings]
|
||||
gtk-theme-name=Dracula
|
||||
gtk-icon-theme-name=Dracula
|
||||
gtk-font-name=Inter Variable 11
|
||||
gtk-cursor-theme-name=Dracula
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-application-prefer-dark-theme=1
|
||||
1
themes/dracula/.config/gtk-4.0/assets
Symbolic link
1
themes/dracula/.config/gtk-4.0/assets
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
/usr/share/themes/Dracula/gtk-4.0/assets
|
||||
1
themes/dracula/.config/gtk-4.0/gtk-dark.css
Symbolic link
1
themes/dracula/.config/gtk-4.0/gtk-dark.css
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
/usr/share/themes/Dracula/gtk-4.0/gtk-dark.css
|
||||
1
themes/dracula/.config/gtk-4.0/gtk.css
Symbolic link
1
themes/dracula/.config/gtk-4.0/gtk.css
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
/usr/share/themes/Dracula/gtk-4.0/gtk.css
|
||||
7
themes/dracula/.config/gtk-4.0/settings.ini
Normal file
7
themes/dracula/.config/gtk-4.0/settings.ini
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[Settings]
|
||||
gtk-theme-name=Dracula
|
||||
gtk-icon-theme-name=Dracula
|
||||
gtk-font-name=Inter Variable 11
|
||||
gtk-cursor-theme-name=Dracula
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-application-prefer-dark-theme=1
|
||||
15
themes/dracula/.config/hypr/config/animations.conf
Normal file
15
themes/dracula/.config/hypr/config/animations.conf
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Animations Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Animations/
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
bezier = overshot, 0.13, 0.99, 0.29, 1.1
|
||||
animation = windowsIn, 1, 4, overshot, slide
|
||||
animation = windowsOut, 1, 5, default, popin 80%
|
||||
animation = border, 1, 5, default
|
||||
animation = workspacesIn, 1, 6, overshot, slide
|
||||
animation = workspacesOut, 1, 6, overshot, slidefade 80%
|
||||
}
|
||||
29
themes/dracula/.config/hypr/config/autostart.conf
Normal file
29
themes/dracula/.config/hypr/config/autostart.conf
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Autostart Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/defaults.conf
|
||||
|
||||
# exec-once = xrandr --output HDMI-A-1 --primary
|
||||
exec-once=hyprctl setcursor Dracula 24
|
||||
# exec-once = /home/henry/HyerpxAlpha/bin/Hyperx --systray
|
||||
# exec-once = hyprctl dispatch workspace 1
|
||||
|
||||
# Autostart wiki https://wiki.hyprland.org/Configuring/Keywords/#executing
|
||||
|
||||
exec-once = waybar &
|
||||
exec-once = mako &
|
||||
exec-once = nm-applet --indicator &
|
||||
exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" &
|
||||
exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
|
||||
# exec-once = hyprlock &
|
||||
exec-once = awww-daemon & sleep 0.1 && awww img /mnt/data/Wallpapers/solid_background_dark.png --transition-type none &
|
||||
|
||||
|
||||
# ## Slow app launch fix
|
||||
exec-once = systemctl --user import-environment &
|
||||
exec-once = hash dbus-update-activation-environment 2>/dev/null &
|
||||
exec-once = dbus-update-activation-environment --systemd &
|
||||
|
||||
# ## Idle configuration
|
||||
exec-once = $idlehandler
|
||||
13
themes/dracula/.config/hypr/config/colors.conf
Normal file
13
themes/dracula/.config/hypr/config/colors.conf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Colors Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
$cachylgreen = rgba(82dcccff)
|
||||
$cachymgreen = rgba(00aa84ff)
|
||||
$cachydgreen = rgba(007d6fff)
|
||||
$cachylblue = rgba(01ccffff)
|
||||
$cachymblue = rgba(182545ff)
|
||||
$cachydblue = rgba(111826ff)
|
||||
$cachywhite = rgba(ffffffff)
|
||||
$cachygrey = rgba(ddddddff)
|
||||
$cachygray = rgba(798bb2ff)
|
||||
24
themes/dracula/.config/hypr/config/decorations.conf
Normal file
24
themes/dracula/.config/hypr/config/decorations.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Decorations Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/colors.conf
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
|
||||
decoration {
|
||||
active_opacity = 1
|
||||
rounding = 4
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
size = 15
|
||||
passes = 2 # more passes = more resource intensive.
|
||||
xray = true
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#shadow
|
||||
shadow {
|
||||
enabled = false
|
||||
}
|
||||
}
|
||||
16
themes/dracula/.config/hypr/config/defaults.conf
Normal file
16
themes/dracula/.config/hypr/config/defaults.conf
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Defaults Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
|
||||
# General
|
||||
$webbrowser = /home/henry/AppImages/helium.appimage
|
||||
$filemanager = kitty -e env EDITOR="/usr/local/bin/zed_sudo_wrapper" VISUAL="zeditor --wait" SUDO_EDITOR="zeditor --wait" yazi
|
||||
$applauncher = rofi -show drun
|
||||
$terminal = kitty
|
||||
$idlehandler = hypridle
|
||||
|
||||
# Screenshots
|
||||
$shot-region = grimblast copy area
|
||||
$shot-window = grimblast copy active
|
||||
$shot-screen = grimblast copy output
|
||||
10
themes/dracula/.config/hypr/config/environment.conf
Normal file
10
themes/dracula/.config/hypr/config/environment.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Enviroment Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
envd = HYPRCURSOR_THEME, Dracula
|
||||
envd = HYPRCURSOR_SIZE,24
|
||||
envd = XCURSOR_THEME, Dracula
|
||||
envd = XCURSOR_SIZE,24
|
||||
envd = QT_CURSOR_THEME, Dracula
|
||||
envd = QT_CURSOR_SIZE,24
|
||||
10
themes/dracula/.config/hypr/config/input.conf
Normal file
10
themes/dracula/.config/hypr/config/input.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Input Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# Input wiki https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
|
||||
input {
|
||||
follow_mouse = 2 # 0|1|2|3
|
||||
float_switch_override_focus = 0
|
||||
}
|
||||
167
themes/dracula/.config/hypr/config/keybinds.conf
Normal file
167
themes/dracula/.config/hypr/config/keybinds.conf
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Keybinds ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/defaults.conf
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Binds/
|
||||
bindd = $mainMod, F2, Runs gamemode script, exec, ~/.config/hypr/gamemode.sh
|
||||
bindd = $mainMod, W, Runs Rofi Wallpaper Selector Script, exec, ~/.config/rofi/wallpaper_selector.sh
|
||||
bindd = $mainMod, P, Opens power menu (Wlogout), exec, wlogout
|
||||
bindd = $mainMod, A, Opens mumble, exec, mumble
|
||||
bindd = $mainMod, S, Opens steam, exec, steam
|
||||
bindd = $mainMod, B, Opens your preferred web browser($webbrowser), exec, $webbrowser
|
||||
bindd = $mainMod, RETURN, Opens your preferred terminal emulator ($terminal), exec, $terminal
|
||||
bindd = $mainMod, E, Opens your preferred filemanager ($filemanager), exec, $filemanager
|
||||
bindd = $mainMod, Q, Closes (not kill) current window, killactive,
|
||||
bindd = $mainMod SHIFT, M, Exits Hyprland by terminating the user sessions, exec, loginctl terminate-user ""
|
||||
bindd = $mainMod, V, Switches current window between floating and tiling mode, togglefloating,
|
||||
bindd = $mainMod, SPACE, Runs your application launcher, exec, $applauncher
|
||||
bindd = $mainMod, F, Toggles current window fullscreen mode, fullscreen
|
||||
bindd = $mainMod, Y, Pin current window (shows on all workspaces), pin
|
||||
bindd = $mainMod, J, Toggles current window split mode, togglesplit, # dwindle
|
||||
|
||||
bindd = , Print, Creates a screenshot of an area, exec, $shot-region,
|
||||
bindd = CTRL, Print, Creates a screenshot of the active window, exec, $shot-window,
|
||||
bindd = ALT, Print, Creates a screenshot of the active display, exec, $shot-screen,
|
||||
# ======= Grouping Windows =======
|
||||
|
||||
bindd = $mainMod, K, Toggles current window group mode (ungroup all related), togglegroup,
|
||||
bindd = $mainMod, Tab, Switches to the next window in the group, changegroupactive, f
|
||||
|
||||
# ======= Toggle Gaps =======
|
||||
|
||||
bindd = $mainMod SHIFT, G, Set CachyOS default gaps, exec, hyprctl --batch "keyword general:gaps_out 5;keyword general:gaps_in 3"
|
||||
bindd = $mainMod, G, Remove gaps between window, exec, hyprctl --batch "keyword general:gaps_out 0;keyword general:gaps_in 0"
|
||||
|
||||
# ======= Volume Control =======
|
||||
|
||||
bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{if($1>100) system("pactl set-sink-volume @DEFAULT_SINK@ 100%")}' && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{print $1}' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Raise Volume
|
||||
bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{print $1}' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Lower Volume
|
||||
bindel = , XF86AudioMute, exec, amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob #Mutes player audio
|
||||
|
||||
# ======= Playback Control =======
|
||||
|
||||
bind = SUPER, bracketright, exec, playerctl --player=spotify_player next
|
||||
bind = SUPER, bracketleft, exec, playerctl --player=spotify_player previous
|
||||
bind = SUPER, backslash, exec, playerctl --player=spotify_player play-pause
|
||||
|
||||
bindd = , XF86AudioPlay, Toggles play/pause, exec, playerctl play-pause
|
||||
bindd = , XF86AudioNext, Next track, exec, playerctl next
|
||||
bindd = , XF86AudioPrev, Previous track, exec, playerctl previous
|
||||
|
||||
# ======= Screen Brightness =======
|
||||
|
||||
bindel = , XF86MonBrightnessUp, exec, brightnessctl s +5% #Increases brightness 5%
|
||||
bindel = , XF86MonBrightnessDown, exec, brightnessctl s 5%- #Decreases brightness 5%
|
||||
bindd = $mainMod, L, Lock the screen, exec, swaylock-fancy -e -K -p 10 -f Hack-Regular
|
||||
bindd = $mainMod, O, Reload/restarts Waybar, exec, killall -SIGUSR2 waybar
|
||||
|
||||
# ======= Window Actions =======
|
||||
|
||||
## Move window with mainMod + LMB/RMB and dragging
|
||||
bindd = $mainMod, mouse:272, Move the window towards a direction, movewindow
|
||||
## Move window towards a direction
|
||||
bindd = $mainMod SHIFT, left, Move active window to the left, movewindow, l
|
||||
bindd = $mainMod SHIFT, right, Move active window to the right, movewindow, r
|
||||
bindd = $mainMod SHIFT, up, Move active window upwards, movewindow, u
|
||||
bindd = $mainMod SHIFT, down, Move active window downwards, movewindow, d
|
||||
## Move focus with mainMod + arrow keys
|
||||
bindd = $mainMod, left, Move focus to the left, movefocus, l
|
||||
bindd = $mainMod, right, Move focus to the right, movefocus, r
|
||||
bindd = $mainMod, up, Move focus upwards, movefocus, u
|
||||
bindd = $mainMod, down, Move focus downwards, movefocus, d
|
||||
|
||||
## Resizing windows
|
||||
# Activate keyboard window resize mode
|
||||
# https://wiki.hyprland.org/Configuring/Binds/#submaps
|
||||
bindd = $mainMod, R, Activates window resizing mode, submap, resize
|
||||
submap = resize
|
||||
bindd = , right, Resize to the right (resizing mode), resizeactive, 15 0
|
||||
bindd = , left, Resize to the left (resizing mode), resizeactive, -15 0
|
||||
bindd = , up, Resize upwards (resizing mode), resizeactive, 0 -15
|
||||
bindd = , down, Resize downwards (resizing mode), resizeactive, 0 15
|
||||
bindd = , l, Resize to the right (resizing mode), resizeactive, 15 0
|
||||
bindd = , h, Resize to the left (resizing mode), resizeactive, -15 0
|
||||
bindd = , k, Resize upwards (resizing mode), resizeactive, 0 -15
|
||||
bindd = , j, Resize downwards (resizing mode), resizeactive, 0 15
|
||||
bindd = , escape, Ends window resizing mode, submap, reset
|
||||
submap = reset
|
||||
# Quick resize window with keyboard
|
||||
# !!! added $mainMod here because CTRL + SHIFT is used for word selection in various text editors
|
||||
bindd = $mainMod CTRL SHIFT, right, Resize to the right, resizeactive, 15 0
|
||||
bindd = $mainMod CTRL SHIFT, left, Resize to the left, resizeactive, -15 0
|
||||
bindd = $mainMod CTRL SHIFT, up, Resize upwards, resizeactive, 0 -15
|
||||
bindd = $mainMod CTRL SHIFT, down, Resize downwards, resizeactive, 0 15
|
||||
bindd = $mainMod CTRL SHIFT, l, Resize to the right, resizeactive, 15 0
|
||||
bindd = $mainMod CTRL SHIFT, h, Resize to the left, resizeactive, -15 0
|
||||
bindd = $mainMod CTRL SHIFT, k, Resize upwards, resizeactive, 0 -15
|
||||
bindd = $mainMod CTRL SHIFT, j, Resize downwards, resizeactive, 0 15
|
||||
# Resize window with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:273, resizewindow #Resize the window towards a direction
|
||||
bindm = $mainMod, mouse:272, movewindow #Drag window
|
||||
## Resizing Windows End #
|
||||
|
||||
## Move active window to a workspace with $mainMod + CTRL + [0-9]
|
||||
bindd = $mainMod CTRL, 1, Move window and switch to workspace 1, movetoworkspace, 1
|
||||
bindd = $mainMod CTRL, 2, Move window and switch to workspace 2, movetoworkspace, 2
|
||||
bindd = $mainMod CTRL, 3, Move window and switch to workspace 3, movetoworkspace, 3
|
||||
bindd = $mainMod CTRL, 4, Move window and switch to workspace 4, movetoworkspace, 4
|
||||
bindd = $mainMod CTRL, 5, Move window and switch to workspace 5, movetoworkspace, 5
|
||||
bindd = $mainMod CTRL, 6, Move window and switch to workspace 6, movetoworkspace, 6
|
||||
bindd = $mainMod CTRL, 7, Move window and switch to workspace 7, movetoworkspace, 7
|
||||
bindd = $mainMod CTRL, 8, Move window and switch to workspace 8, movetoworkspace, 8
|
||||
bindd = $mainMod CTRL, 9, Move window and switch to workspace 9, movetoworkspace, 9
|
||||
bindd = $mainMod CTRL, 0, Move window and switch to workspace 10, movetoworkspace, 10
|
||||
bindd = $mainMod CTRL, left, Move window and switch to the next workspace, movetoworkspace, -1
|
||||
bindd = $mainMod CTRL, right, Move window and switch to the previous workspace, movetoworkspace, +1
|
||||
## Same as above, but doesn't switch to the workspace
|
||||
bindd = $mainMod SHIFT, 1, Move window silently to workspace 1, movetoworkspacesilent, 1
|
||||
bindd = $mainMod SHIFT, 2, Move window silently to workspace 2, movetoworkspacesilent, 2
|
||||
bindd = $mainMod SHIFT, 3, Move window silently to workspace 3, movetoworkspacesilent, 3
|
||||
bindd = $mainMod SHIFT, 4, Move window silently to workspace 4, movetoworkspacesilent, 4
|
||||
bindd = $mainMod SHIFT, 5, Move window silently to workspace 5, movetoworkspacesilent, 5
|
||||
bindd = $mainMod SHIFT, 6, Move window silently to workspace 6, movetoworkspacesilent, 6
|
||||
bindd = $mainMod SHIFT, 7, Move window silently to workspace 7, movetoworkspacesilent, 7
|
||||
bindd = $mainMod SHIFT, 8, Move window silently to workspace 8, movetoworkspacesilent, 8
|
||||
bindd = $mainMod SHIFT, 9, Move window silently to workspace 9, movetoworkspacesilent, 9
|
||||
bindd = $mainMod SHIFT, 0, Move window silently to workspace 10, movetoworkspacesilent, 10
|
||||
# Window actions End #
|
||||
|
||||
# ======= Workspace Actions =======
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bindd = $mainMod, 1, Switch to workspace 1, workspace, 1
|
||||
bindd = $mainMod, 2, Switch to workspace 2, workspace, 2
|
||||
bindd = $mainMod, 3, Switch to workspace 3, workspace, 3
|
||||
bindd = $mainMod, 4, Switch to workspace 4, workspace, 4
|
||||
bindd = $mainMod, 5, Switch to workspace 5, workspace, 5
|
||||
bindd = $mainMod, 6, Switch to workspace 6, workspace, 6
|
||||
bindd = $mainMod, 7, Switch to workspace 7, workspace, 7
|
||||
bindd = $mainMod, 8, Switch to workspace 8, workspace, 8
|
||||
bindd = $mainMod, 9, Switch to workspace 9, workspace, 9
|
||||
bindd = $mainMod, 0, Switch to workspace 10, workspace, 10
|
||||
# Scroll through existing workspaces with mainMod + , or .
|
||||
bindd = $mainMod, PERIOD, Scroll through workspaces incrementally, workspace, e+1
|
||||
bindd = $mainMod, COMMA, Scroll through workspaces decrementally, workspace, e-1
|
||||
# With $mainMod + scroll
|
||||
bindd = $mainMod, mouse_down, Scroll through workspaces incrementally, workspace, e+1
|
||||
bindd = $mainMod, mouse_up, Scroll through workspaces decrementally, workspace, e-1
|
||||
bindd = $mainMod, slash, Switch to the previous workspace, workspace, previous
|
||||
# Special workspaces (scratchpads)
|
||||
bindd = $mainMod, minus, Move active window to Special workspace, movetoworkspace, special
|
||||
bindd = $mainMod, equal, Toggles the Special workspace, togglespecialworkspace, special
|
||||
bindd = $mainMod, F1, Call special workspace scratchpad, togglespecialworkspace, scratchpad
|
||||
bindd = $mainMod ALT SHIFT, F1, Move active window to special workspace scratchpad, movetoworkspacesilent, special:scratchpad
|
||||
|
||||
# ======= Additional Settings =======
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Binds
|
||||
binds {
|
||||
allow_workspace_cycles = 1
|
||||
workspace_back_and_forth = 1
|
||||
workspace_center_on = 1
|
||||
movefocus_cycles_fullscreen = true
|
||||
window_direction_monitor_fallback = true
|
||||
}
|
||||
8
themes/dracula/.config/hypr/config/monitors.conf
Normal file
8
themes/dracula/.config/hypr/config/monitors.conf
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Generated by nwg-displays on 2025-11-02 at 02:52:57. Do not edit manually.
|
||||
|
||||
monitor = HDMI-A-1,1920x1080@239.76,0x0,1,transform,0
|
||||
monitor = DP-1,2560x1440@59.95,1920x0,1,transform,1
|
||||
monitor = eDP-2, disable
|
||||
|
||||
# monitor = HDMI-A-1, disable
|
||||
# monitor = DP-1, disable
|
||||
96
themes/dracula/.config/hypr/config/variables.conf
Normal file
96
themes/dracula/.config/hypr/config/variables.conf
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Variables Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/colors.conf
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 5
|
||||
border_size = 3
|
||||
col.active_border = $cachylgreen
|
||||
col.inactive_border = $cachymblue
|
||||
layout = dwindle # master|dwindle
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#snap
|
||||
snap {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
# removed old gestures {} block — Hyprland 0.39+ uses gesture = … lines
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#group
|
||||
group {
|
||||
col.border_active = $cachydgreen
|
||||
col.border_inactive = $cachylgreen
|
||||
col.border_locked_active = $cachymgreen
|
||||
col.border_locked_inactive = $cachydblue
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#groupbar
|
||||
groupbar {
|
||||
font_family = "Fira Sans"
|
||||
text_color = $cachydblue
|
||||
col.active = $cachydgreen
|
||||
col.inactive = $cachylgreen
|
||||
col.locked_active = $cachymgreen
|
||||
col.locked_inactive = $cachydblue
|
||||
}
|
||||
}
|
||||
|
||||
# xwayland {
|
||||
# force_zero_scaling = true
|
||||
# }
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
font_family = "Fira Sans"
|
||||
splash_font_family = "Fira Sans"
|
||||
disable_hyprland_logo = true
|
||||
col.splash = $cachylgreen
|
||||
background_color = $cachydblue
|
||||
enable_swallow = true
|
||||
swallow_regex = ^(nautilus|nemo|thunar|btrfs-assistant.)$
|
||||
focus_on_activate = true
|
||||
vfr = true
|
||||
vrr = 2
|
||||
}
|
||||
|
||||
# cursor {
|
||||
# no_hardware_cursors = true
|
||||
# }
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#render
|
||||
render {
|
||||
direct_scanout = true
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
special_scale_factor = 0.8
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
special_scale_factor = 0.8
|
||||
}
|
||||
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Gestures ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# 4-finger horizontal swipe to switch workspaces
|
||||
gesture = 4, horizontal, workspace
|
||||
|
||||
# 3-finger swipe down closes active window
|
||||
gesture = 3, down, close
|
||||
|
||||
# 3-finger swipe up toggles fullscreen
|
||||
gesture = 3, up, fullscreen
|
||||
|
||||
# 3-finger swipe left toggles float/tile
|
||||
gesture = 3, left, float
|
||||
63
themes/dracula/.config/hypr/config/windowrules.conf
Normal file
63
themes/dracula/.config/hypr/config/windowrules.conf
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Window Rules (new syntax) ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# --- Monitor placement ---
|
||||
windowrule = monitor DP-1, match:class ^dev\.zed\.Zed$
|
||||
windowrule = monitor HDMI-A-1, match:class ^steam_app_1808500$, fullscreen 1
|
||||
windowrule = monitor HDMI-A-1, match:class ^steam_app_1422450$, fullscreen 1
|
||||
windowrule = monitor HDMI-A-1, match:class ^steam_app_594650$, fullscreen 1
|
||||
windowrule = monitor HDMI-A-1, match:class ^steam_app_3819230$, fullscreen 1
|
||||
windowrule = monitor HDMI-A-1, size 1920 1080, match:class ^steam_app_686060$, fullscreen 1
|
||||
|
||||
windowrule = tile on, match:initial_title ^Godot$
|
||||
windowrule = float on, size 400 600, match:initial_title ^HyperX Alpha$
|
||||
windowrule = float on, match:class ^org.pulseaudio.pavucontrol$
|
||||
windowrule = float on, match:title ^Picture in picture$
|
||||
windowrule = float on, match:title ^Save File$
|
||||
windowrule = float on, match:title ^Open File$
|
||||
windowrule = float on, match:class ^LibreWolf$, match:title ^Picture-in-Picture$
|
||||
windowrule = float on, match:class ^blueman-manager$
|
||||
windowrule = float on, match:class ^xdg-desktop-portal-(gtk|kde|hyprland)$
|
||||
windowrule = float on, match:class ^polkit-gnome-authentication-agent-1|hyprpolkitagent|org\.org\.kde\.polkit-kde-authentication-agent-1$
|
||||
windowrule = float on, match:class ^CachyOSHello$
|
||||
windowrule = float on, match:class ^zenity$
|
||||
windowrule = float on, match:title ^Steam - Self Updater$
|
||||
|
||||
# --- Opacity ---
|
||||
windowrule = opacity 0.92, match:class ^(thunar|nemo)$
|
||||
windowrule = opacity 0.96, match:class ^(discord|armcord|webcord)$
|
||||
windowrule = opacity 0.95, match:title ^(QQ|Telegram)$
|
||||
windowrule = opacity 0.95, match:title ^NetEase Cloud Music Gtk4$
|
||||
|
||||
# --- Picture-in-Picture ---
|
||||
windowrule = float on, match:title ^Picture-in-Picture$
|
||||
windowrule = size 960 540, match:title ^Picture-in-Picture$
|
||||
windowrule = move 25% 5%, match:title ^Picture-in-Picture$
|
||||
|
||||
# --- Media / utility floats ---
|
||||
windowrule = float on, match:title ^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
|
||||
windowrule = move 25% 5%, match:title ^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
|
||||
windowrule = size 960 540, match:title ^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
|
||||
windowrule = pin on, match:title ^danmufloat$
|
||||
windowrule = rounding 5, match:title ^(danmufloat|termfloat)$
|
||||
|
||||
# --- Animations / effects ---
|
||||
windowrule = animation slide right, match:class ^(kitty|Alacritty)$
|
||||
windowrule = no_blur on, match:class ^org\.mozilla\.firefox$
|
||||
|
||||
# --- Floating window decorations (workspaces 1–10) ---
|
||||
windowrule = border_size 2, match:float on, match:workspace w[fv1-10]
|
||||
windowrule = border_color $cachylblue, match:float on, match:workspace w[fv1-10]
|
||||
windowrule = rounding 8, match:float on, match:workspace w[fv1-10]
|
||||
|
||||
# --- Tiling window decorations (workspaces 1–10) ---
|
||||
windowrule = border_size 3, match:float off, match:workspace f[1-10]
|
||||
windowrule = rounding 4, match:float off, match:workspace f[1-10]
|
||||
|
||||
# Workspaces Rules End #
|
||||
|
||||
# Layers Rules #
|
||||
layerrule = animation slide, match:namespace ^waybar$
|
||||
layerrule = animation fade, match:namespace ^swww-daemon$
|
||||
# Layers Rules End #
|
||||
7
themes/dracula/.config/hypr/config/workspaces.conf
Normal file
7
themes/dracula/.config/hypr/config/workspaces.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Generated by nwg-displays on 2025-11-02 at 02:49:30. Do not edit manually.
|
||||
|
||||
workspace=1,monitor:HDMI-A-1,default:true
|
||||
workspace=2,monitor:HDMI-A-1
|
||||
workspace=3,monitor:DP-1,default:true
|
||||
workspace=4,monitor:DP-1
|
||||
workspace=5,monitor:DP-1
|
||||
24
themes/dracula/.config/hypr/dracula_colors.conf
Normal file
24
themes/dracula/.config/hypr/dracula_colors.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
$background = rgb(282A36)
|
||||
$backgroundRaw = 282A36
|
||||
$foreground = rgb(F8F8F2)
|
||||
$foregroundRaw = F8F8F2
|
||||
$selection = rgb(44475A)
|
||||
$selectionRaw = 44475A
|
||||
$comment = rgb(6272A4)
|
||||
$commentRaw = 6272A4
|
||||
$red = rgb(FF5555)
|
||||
$redRaw = FF5555
|
||||
$orange = rgb(FFB86C)
|
||||
$orangeRaw = FFB86C
|
||||
$yellow = rgb(F1FA8C)
|
||||
$yellowRaw = F1FA8C
|
||||
$green = rgb(50FA7B)
|
||||
$greenRaw = 50FA7B
|
||||
$purple = rgb(BD93F9)
|
||||
$purpleRaw = BD93F9
|
||||
$cyan = rgb(8BE9FD)
|
||||
$cyanRaw = 8BE9FD
|
||||
$pink = rgb(FF79C6)
|
||||
$pinkRaw = FF79C6
|
||||
$accent = $purple
|
||||
$accentRaw = $purpleRaw
|
||||
21
themes/dracula/.config/hypr/gamemode.sh
Executable file
21
themes/dracula/.config/hypr/gamemode.sh
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env sh
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||
hyprctl --batch "\
|
||||
keyword animations:enabled 0;\
|
||||
keyword animation borderangle,0; \
|
||||
keyword decoration:shadow:enabled 0;\
|
||||
keyword decoration:blur:enabled 0;\
|
||||
keyword decoration:fullscreen_opacity 1;\
|
||||
keyword general:gaps_in 0;\
|
||||
keyword general:gaps_out 0;\
|
||||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
hyprctl notify 1 5000 "rgb(40a02b)" "Gamemode [ON]"
|
||||
exit
|
||||
else
|
||||
hyprctl notify 1 5000 "rgb(d20f39)" "Gamemode [OFF]"
|
||||
hyprctl reload
|
||||
exit 0
|
||||
fi
|
||||
exit 1
|
||||
11
themes/dracula/.config/hypr/hypridle.conf
Normal file
11
themes/dracula/.config/hypr/hypridle.conf
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 1800 # 30min
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
72
themes/dracula/.config/hypr/hyprland.conf
Normal file
72
themes/dracula/.config/hypr/hyprland.conf
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ CachyOS Hyprland Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
env = HYPRCURSOR_THEME,Dracula
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
env = GTK_CSD,0
|
||||
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Source Files ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
source = ~/.config/hypr/config/animations.conf
|
||||
source = ~/.config/hypr/config/autostart.conf
|
||||
source = ~/.config/hypr/config/decorations.conf
|
||||
source = ~/.config/hypr/config/environment.conf
|
||||
source = ~/.config/hypr/config/input.conf
|
||||
source = ~/.config/hypr/config/keybinds.conf
|
||||
source = ~/.config/hypr/config/monitors.conf
|
||||
source = ~/.config/hypr/config/variables.conf
|
||||
source = ~/.config/hypr/config/windowrules.conf
|
||||
source = ~/.config/hypr/config/workspaces.conf
|
||||
|
||||
# Modifying these configs can be done by creating a user defined config in the home directory, e.g.
|
||||
## ~/.config/hypr/config/user-config.conf
|
||||
# source = ~/.config/hypr/config/user-config.conf
|
||||
# dracula/hyprland
|
||||
general {
|
||||
col.active_border = rgb(44475a) rgb(bd93f9) 90deg
|
||||
col.inactive_border = rgba(44475aaa)
|
||||
col.nogroup_border = rgba(282a36dd)
|
||||
col.nogroup_border_active = rgb(bd93f9) rgb(44475a) 90deg
|
||||
border_size = 2
|
||||
|
||||
# non-gradient alternative
|
||||
#col.active_border = rgb(bd93f9)
|
||||
#col.inactive_border = rgba(44475aaa)
|
||||
#col.group_border = rgba(282a36dd)
|
||||
#col.group_border_active = rgb(bd93f9)
|
||||
|
||||
# darker alternative
|
||||
#col.active_border = rgb(44475a) # or rgb(6272a4)
|
||||
#col.inactive_border = rgb(282a36)
|
||||
#col.group_border = rgb(282a36)
|
||||
#col.group_border_active = rgb(44475a) # or rgb(6272a4)
|
||||
|
||||
}
|
||||
|
||||
decoration:shadow {
|
||||
color = rgba(1E202966)
|
||||
|
||||
# suggested shadow setting
|
||||
#enabled = true
|
||||
#range = 60
|
||||
#offset = 1 2
|
||||
#render_power = 3
|
||||
#scale = 0.97
|
||||
}
|
||||
|
||||
group {
|
||||
groupbar {
|
||||
col.active = rgb(bd93f9) rgb(44475a) 90deg
|
||||
col.inactive = rgba(282a36dd)
|
||||
}
|
||||
}
|
||||
|
||||
ecosystem {
|
||||
no_donation_nag = true
|
||||
}
|
||||
|
||||
windowrule = border_color rgb(ff5555), match:xwayland 1
|
||||
68
themes/dracula/.config/hypr/hyprlock.conf
Normal file
68
themes/dracula/.config/hypr/hyprlock.conf
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
source = $HOME/.config/hypr/dracula_colors.conf
|
||||
|
||||
$font = JetBrainsMono Nerd Font
|
||||
$base = $background
|
||||
$text = $foreground
|
||||
$textAlpha = $foregroundRaw
|
||||
$accentAlpha = $accentRaw
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
# change to the path to your wallpaper
|
||||
path = /mnt/data/Wallpapers/base.png
|
||||
blur_passes = 0
|
||||
color = $base
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = $TIME12
|
||||
color = $text
|
||||
font_size = 90
|
||||
font_family = $font
|
||||
position = 30, 0
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
|
||||
color = $text
|
||||
font_size = 25
|
||||
font_family = $font
|
||||
position = 30, -150
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
# 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 = $background
|
||||
font_color = $text
|
||||
fade_on_empty = false
|
||||
placeholder_text = <span foreground="##$textAlpha"> Logged in as <span foreground="##$accentAlpha">$USER</span></span>
|
||||
hide_input = false
|
||||
check_color = $accent
|
||||
fail_color = $red
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
||||
capslock_color = $yellow
|
||||
position = 0, -35
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
94
themes/dracula/.config/hyprmoncfg/profiles/laptop.json
Normal file
94
themes/dracula/.config/hyprmoncfg/profiles/laptop.json
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"name": "Laptop",
|
||||
"created_at": "2026-04-01T04:29:51.207188499Z",
|
||||
"updated_at": "2026-04-01T04:31:06.822573866Z",
|
||||
"outputs": [
|
||||
{
|
||||
"key": "boe|0x0a6d",
|
||||
"name": "eDP-2",
|
||||
"make": "BOE",
|
||||
"model": "0x0A6D",
|
||||
"enabled": true,
|
||||
"mode": "1920x1200@165.00Hz",
|
||||
"width": 1920,
|
||||
"height": 1200,
|
||||
"refresh": 165,
|
||||
"x": -1,
|
||||
"y": -1,
|
||||
"scale": 1,
|
||||
"transform": 0
|
||||
},
|
||||
{
|
||||
"key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"name": "DP-1",
|
||||
"make": "Dell Inc.",
|
||||
"model": "DELL S2721DGF",
|
||||
"serial": "H13JY83",
|
||||
"enabled": false,
|
||||
"mode": "2560x1440@59.95Hz",
|
||||
"width": 2560,
|
||||
"height": 1440,
|
||||
"refresh": 59.95,
|
||||
"x": 1920,
|
||||
"y": 0,
|
||||
"scale": 1,
|
||||
"transform": 1
|
||||
},
|
||||
{
|
||||
"key": "samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"name": "HDMI-A-1",
|
||||
"make": "Samsung Electric Company",
|
||||
"model": "Odyssey G40B",
|
||||
"serial": "HCJXA14774",
|
||||
"enabled": false,
|
||||
"mode": "1920x1080@239.76Hz",
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"refresh": 239.76,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"scale": 1,
|
||||
"transform": 0
|
||||
}
|
||||
],
|
||||
"workspaces": {
|
||||
"enabled": true,
|
||||
"strategy": "sequential",
|
||||
"max_workspaces": 9,
|
||||
"group_size": 3,
|
||||
"monitor_order": [
|
||||
"boe|0x0a6d",
|
||||
"samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"dell inc.|dell s2721dgf|h13jy83"
|
||||
],
|
||||
"rules": [
|
||||
{
|
||||
"workspace": "1",
|
||||
"output_key": "samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"output_name": "HDMI-A-1",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"workspace": "2",
|
||||
"output_key": "samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"output_name": "HDMI-A-1"
|
||||
},
|
||||
{
|
||||
"workspace": "3",
|
||||
"output_key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"output_name": "DP-1",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"workspace": "4",
|
||||
"output_key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"output_name": "DP-1"
|
||||
},
|
||||
{
|
||||
"workspace": "5",
|
||||
"output_key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"output_name": "DP-1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
94
themes/dracula/.config/hyprmoncfg/profiles/normal.json
Normal file
94
themes/dracula/.config/hyprmoncfg/profiles/normal.json
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"name": "Normal",
|
||||
"created_at": "2026-04-01T04:23:11.482056896Z",
|
||||
"updated_at": "2026-04-01T04:23:11.482145433Z",
|
||||
"outputs": [
|
||||
{
|
||||
"key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"name": "DP-1",
|
||||
"make": "Dell Inc.",
|
||||
"model": "DELL S2721DGF",
|
||||
"serial": "H13JY83",
|
||||
"enabled": true,
|
||||
"mode": "2560x1440@59.95Hz",
|
||||
"width": 2560,
|
||||
"height": 1440,
|
||||
"refresh": 59.95,
|
||||
"x": 1920,
|
||||
"y": 0,
|
||||
"scale": 1,
|
||||
"transform": 1
|
||||
},
|
||||
{
|
||||
"key": "samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"name": "HDMI-A-1",
|
||||
"make": "Samsung Electric Company",
|
||||
"model": "Odyssey G40B",
|
||||
"serial": "HCJXA14774",
|
||||
"enabled": true,
|
||||
"mode": "1920x1080@239.76Hz",
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"refresh": 239.76,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"scale": 1,
|
||||
"transform": 0
|
||||
},
|
||||
{
|
||||
"key": "boe|0x0a6d",
|
||||
"name": "eDP-2",
|
||||
"make": "BOE",
|
||||
"model": "0x0A6D",
|
||||
"enabled": false,
|
||||
"mode": "preferred",
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"refresh": 60,
|
||||
"x": -1,
|
||||
"y": -1,
|
||||
"scale": 1,
|
||||
"transform": 0
|
||||
}
|
||||
],
|
||||
"workspaces": {
|
||||
"enabled": true,
|
||||
"strategy": "manual",
|
||||
"max_workspaces": 9,
|
||||
"group_size": 3,
|
||||
"monitor_order": [
|
||||
"boe|0x0a6d",
|
||||
"samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"dell inc.|dell s2721dgf|h13jy83"
|
||||
],
|
||||
"rules": [
|
||||
{
|
||||
"workspace": "1",
|
||||
"output_key": "samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"output_name": "HDMI-A-1",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"workspace": "2",
|
||||
"output_key": "samsung electric company|odyssey g40b|hcjxa14774",
|
||||
"output_name": "HDMI-A-1"
|
||||
},
|
||||
{
|
||||
"workspace": "3",
|
||||
"output_key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"output_name": "DP-1",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"workspace": "4",
|
||||
"output_key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"output_name": "DP-1"
|
||||
},
|
||||
{
|
||||
"workspace": "5",
|
||||
"output_key": "dell inc.|dell s2721dgf|h13jy83",
|
||||
"output_name": "DP-1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
19
themes/dracula/.config/kitty/diff.conf
Normal file
19
themes/dracula/.config/kitty/diff.conf
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
foreground #f8f8f2
|
||||
background #282a36
|
||||
title_fg #f8f8f2
|
||||
title_bg #282a36
|
||||
margin_bg #6272a4
|
||||
margin_fg #44475a
|
||||
removed_bg #ff5555
|
||||
highlight_removed_bg #ff5555
|
||||
removed_margin_bg #ff5555
|
||||
added_bg #50fa7b
|
||||
highlight_added_bg #50fa7b
|
||||
added_margin_bg #50fa7b
|
||||
filler_bg #44475a
|
||||
hunk_margin_bg #44475a
|
||||
hunk_bg #bd93f9
|
||||
search_bg #8be9fd
|
||||
search_fg #282a36
|
||||
select_bg #f1fa8c
|
||||
select_fg #282a36
|
||||
66
themes/dracula/.config/kitty/dracula.conf
Normal file
66
themes/dracula/.config/kitty/dracula.conf
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# https://draculatheme.com/kitty
|
||||
#
|
||||
# Installation instructions:
|
||||
#
|
||||
# cp dracula.conf ~/.config/kitty/
|
||||
# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf
|
||||
#
|
||||
# Then reload kitty for the config to take affect.
|
||||
# Alternatively copy paste below directly into kitty.conf
|
||||
|
||||
foreground #f8f8f2
|
||||
background #282a36
|
||||
selection_foreground #ffffff
|
||||
selection_background #44475a
|
||||
|
||||
url_color #8be9fd
|
||||
|
||||
# black
|
||||
color0 #21222c
|
||||
color8 #6272a4
|
||||
|
||||
# red
|
||||
color1 #ff5555
|
||||
color9 #ff6e6e
|
||||
|
||||
# green
|
||||
color2 #50fa7b
|
||||
color10 #69ff94
|
||||
|
||||
# yellow
|
||||
color3 #f1fa8c
|
||||
color11 #ffffa5
|
||||
|
||||
# blue
|
||||
color4 #bd93f9
|
||||
color12 #d6acff
|
||||
|
||||
# magenta
|
||||
color5 #ff79c6
|
||||
color13 #ff92df
|
||||
|
||||
# cyan
|
||||
color6 #8be9fd
|
||||
color14 #a4ffff
|
||||
|
||||
# white
|
||||
color7 #f8f8f2
|
||||
color15 #ffffff
|
||||
|
||||
# Cursor colors
|
||||
cursor #f8f8f2
|
||||
cursor_text_color background
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #282a36
|
||||
active_tab_background #f8f8f2
|
||||
inactive_tab_foreground #282a36
|
||||
inactive_tab_background #6272a4
|
||||
|
||||
# Marks
|
||||
mark1_foreground #282a36
|
||||
mark1_background #ff5555
|
||||
|
||||
# Splits/Windows
|
||||
active_border_color #f8f8f2
|
||||
inactive_border_color #6272a4
|
||||
10
themes/dracula/.config/kitty/kitty.conf
Normal file
10
themes/dracula/.config/kitty/kitty.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
include dracula.conf
|
||||
|
||||
confirm_os_window_close 0
|
||||
|
||||
# BEGIN_KITTY_FONTS
|
||||
font_family family="Iosevka Term"
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
# END_KITTY_FONTS
|
||||
14
themes/dracula/.config/mako/config
Normal file
14
themes/dracula/.config/mako/config
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
width=350
|
||||
height=110
|
||||
margin=5
|
||||
padding=10
|
||||
border-size=2
|
||||
border-radius=4
|
||||
icons=1
|
||||
max-icon-size=64
|
||||
default-timeout=5000
|
||||
text-alignment=left
|
||||
|
||||
background-color=#282a36
|
||||
text-color=#BD93F9
|
||||
border-color=#44475A
|
||||
2
themes/dracula/.config/mpv/mpv.conf
Normal file
2
themes/dracula/.config/mpv/mpv.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp
|
||||
ytdl-raw-options=concurrent-fragments=5
|
||||
7
themes/dracula/.config/nwg-look/config
Normal file
7
themes/dracula/.config/nwg-look/config
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"export-settings-ini": true,
|
||||
"export-gtkrc-20": true,
|
||||
"export-index-theme": true,
|
||||
"export-xsettingsd": true,
|
||||
"export-gtk4-symlinks": true
|
||||
}
|
||||
2
themes/dracula/.config/rofi/config.rasi
Normal file
2
themes/dracula/.config/rofi/config.rasi
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
@theme "/usr/share/rofi/themes/config.rasi"
|
||||
11
themes/dracula/.config/rofi/wallpaper_selector.sh
Executable file
11
themes/dracula/.config/rofi/wallpaper_selector.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
WALLPAPER_DIR="/mnt/data/Wallpapers"
|
||||
|
||||
WALLPAPERS=$(find "$WALLPAPER_DIR" -type f \( -iname "*.jpg" -o -iname "*.png" -o -iname "*.jpeg" \))
|
||||
|
||||
SELECTED_WALLPAPER=$(echo "$WALLPAPERS" | rofi -dmenu -i -p "Select Wallpaper:")
|
||||
|
||||
if [ -n "$SELECTED_WALLPAPER" ]; then
|
||||
fish -c "awww_set_wallpaper '$SELECTED_WALLPAPER'"
|
||||
fi
|
||||
58
themes/dracula/.config/spotify-player/app.toml
Normal file
58
themes/dracula/.config/spotify-player/app.toml
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
theme = "dracula"
|
||||
client_id = "a5e67511fd004d1d96bc0d1cfc8c29fc"
|
||||
client_port = 8080
|
||||
login_redirect_uri = "http://127.0.0.1:8989/login"
|
||||
playback_format = """
|
||||
{status} {track} • {artists} {liked}
|
||||
{album} • {genres}
|
||||
{metadata}"""
|
||||
playback_metadata_fields = [
|
||||
"repeat",
|
||||
"shuffle",
|
||||
"volume",
|
||||
"device",
|
||||
]
|
||||
notify_timeout_in_secs = 0
|
||||
tracks_playback_limit = 50
|
||||
app_refresh_duration_in_ms = 32
|
||||
playback_refresh_duration_in_ms = 0
|
||||
page_size_in_rows = 20
|
||||
play_icon = "▶"
|
||||
pause_icon = "▌▌"
|
||||
liked_icon = "♥"
|
||||
border_type = "Plain"
|
||||
progress_bar_type = "Rectangle"
|
||||
progress_bar_position = "Bottom"
|
||||
genre_num = 2
|
||||
cover_img_length = 9
|
||||
cover_img_width = 5
|
||||
cover_img_scale = 1.0
|
||||
enable_media_control = true
|
||||
enable_streaming = "Always"
|
||||
enable_notify = true
|
||||
enable_cover_image_cache = true
|
||||
default_device = "cachyos-player"
|
||||
notify_streaming_only = false
|
||||
seek_duration_secs = 5
|
||||
sort_artist_albums_by_type = false
|
||||
|
||||
[notify_format]
|
||||
summary = "{track} • {artists}"
|
||||
body = "{album}"
|
||||
|
||||
[layout]
|
||||
playback_window_position = "Top"
|
||||
playback_window_height = 6
|
||||
|
||||
[layout.library]
|
||||
playlist_percent = 40
|
||||
album_percent = 40
|
||||
|
||||
[device]
|
||||
name = "cachyos-player"
|
||||
device_type = "speaker"
|
||||
volume = 70
|
||||
bitrate = 320
|
||||
audio_cache = false
|
||||
normalization = false
|
||||
autoplay = false
|
||||
34
themes/dracula/.config/spotify-player/keymap.toml
Normal file
34
themes/dracula/.config/spotify-player/keymap.toml
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[[keymaps]]
|
||||
command = "NextTrack"
|
||||
key_sequence = "g n"
|
||||
[[keymaps]]
|
||||
command = "PreviousTrack"
|
||||
key_sequence = "g p"
|
||||
[[keymaps]]
|
||||
command = "Search"
|
||||
key_sequence = "C-c C-x /"
|
||||
[[keymaps]]
|
||||
command = "ResumePause"
|
||||
key_sequence = "M-enter"
|
||||
[[keymaps]]
|
||||
command = "None"
|
||||
key_sequence = "q"
|
||||
[[keymaps]]
|
||||
command = { VolumeChange = { offset = 1 } }
|
||||
key_sequence = "-"
|
||||
[[keymaps]]
|
||||
command = { SeekForward = { duration = 10 } }
|
||||
key_sequence = "E"
|
||||
[[keymaps]]
|
||||
command = { SeekBackward = { } }
|
||||
key_sequence = "Q"
|
||||
[[actions]]
|
||||
action = "GoToArtist"
|
||||
key_sequence = "g A"
|
||||
[[actions]]
|
||||
action = "GoToAlbum"
|
||||
key_sequence = "g B"
|
||||
target = "PlayingTrack"
|
||||
[[actions]]
|
||||
action="ToggleLiked"
|
||||
key_sequence="C-l"
|
||||
12
themes/dracula/.config/waybar/colors.css
Normal file
12
themes/dracula/.config/waybar/colors.css
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
@define-color background-darker rgba(30, 31, 41, 230);
|
||||
@define-color background #282a36;
|
||||
@define-color selection #44475a;
|
||||
@define-color foreground #f8f8f2;
|
||||
@define-color comment #6272a4;
|
||||
@define-color cyan #8be9fd;
|
||||
@define-color green #50fa7b;
|
||||
@define-color orange #ffb86c;
|
||||
@define-color pink #ff79c6;
|
||||
@define-color purple #bd93f9;
|
||||
@define-color red #ff5555;
|
||||
@define-color yellow #f1fa8c;
|
||||
79
themes/dracula/.config/waybar/config
Normal file
79
themes/dracula/.config/waybar/config
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 24,
|
||||
"spacing": 4,
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
],
|
||||
"modules-center": [
|
||||
"hyprland/window"
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/media",
|
||||
"custom/updates",
|
||||
"custom/storage",
|
||||
"tray",
|
||||
"clock"
|
||||
],
|
||||
"wlr/taskbar": {
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"foot"
|
||||
]
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e-1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e+1"
|
||||
},
|
||||
"hyprland/window": {
|
||||
"max-length": 128
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%m/%d/%Y %I:%M %p}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"tray": {
|
||||
"spacing": 4
|
||||
},
|
||||
"custom/weather": {
|
||||
"exec": "~/.config/waybar/wittr.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"tooltip": true,
|
||||
"interval": 900
|
||||
},
|
||||
"custom/spotify": {
|
||||
"exec": "~/.config/waybar/modules/spotify.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"tooltip": false,
|
||||
"interval": 5
|
||||
},
|
||||
"custom/media": {
|
||||
"exec": "~/.config/waybar/mediaplayer.py --player spotify_player",
|
||||
"return-type": "json",
|
||||
"interval": 0,
|
||||
"on-click": "playerctl play-pause",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/storage": {
|
||||
"exec": "~/.config/waybar/modules/storage.sh",
|
||||
"return-type": "json",
|
||||
"interval": 900,
|
||||
"format": "{}",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/updates": {
|
||||
"exec": "~/.config/waybar/modules/update-check.sh",
|
||||
"interval": 900,
|
||||
"return-type": "json",
|
||||
"format": "{text}",
|
||||
"on-click": "kitty -e fish -ic 'update'",
|
||||
"on-output": "class: no-updates",
|
||||
"on-error": "class: updates-available",
|
||||
"tooltip": false
|
||||
},
|
||||
}
|
||||
127
themes/dracula/.config/waybar/mediaplayer.py
Executable file
127
themes/dracula/.config/waybar/mediaplayer.py
Executable file
|
|
@ -0,0 +1,127 @@
|
|||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
import signal
|
||||
import gi
|
||||
import json
|
||||
gi.require_version('Playerctl', '2.0')
|
||||
from gi.repository import Playerctl, GLib
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def write_output(text, player):
|
||||
logger.info('Writing output')
|
||||
|
||||
output = {'text': text,
|
||||
'class': 'custom-' + player.props.player_name,
|
||||
'alt': player.props.player_name}
|
||||
|
||||
sys.stdout.write(json.dumps(output) + '\n')
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def on_play(player, status, manager):
|
||||
logger.info('Received new playback status')
|
||||
on_metadata(player, player.props.metadata, manager)
|
||||
|
||||
|
||||
def on_metadata(player, metadata, manager):
|
||||
logger.info('Received new metadata')
|
||||
track_info = ''
|
||||
|
||||
if player.props.player_name == 'spotify' and \
|
||||
'mpris:trackid' in metadata.keys() and \
|
||||
':ad:' in player.props.metadata['mpris:trackid']:
|
||||
track_info = 'AD PLAYING'
|
||||
elif player.get_artist() != '' and player.get_title() != '':
|
||||
track_info = '{artist} - {title}'.format(artist=player.get_artist(),
|
||||
title=player.get_title())
|
||||
else:
|
||||
track_info = player.get_title()
|
||||
|
||||
if player.props.status != 'Playing' and track_info:
|
||||
track_info = ' ' + track_info
|
||||
write_output(track_info, player)
|
||||
|
||||
|
||||
def on_player_appeared(manager, player, selected_player=None):
|
||||
if player is not None and (selected_player is None or player.name == selected_player):
|
||||
init_player(manager, player)
|
||||
else:
|
||||
logger.debug("New player appeared, but it's not the selected player, skipping")
|
||||
|
||||
|
||||
def on_player_vanished(manager, player):
|
||||
logger.info('Player has vanished')
|
||||
sys.stdout.write('\n')
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def init_player(manager, name):
|
||||
logger.debug('Initialize player: {player}'.format(player=name.name))
|
||||
player = Playerctl.Player.new_from_name(name)
|
||||
player.connect('playback-status', on_play, manager)
|
||||
player.connect('metadata', on_metadata, manager)
|
||||
manager.manage_player(player)
|
||||
on_metadata(player, player.props.metadata, manager)
|
||||
|
||||
|
||||
def signal_handler(sig, frame):
|
||||
logger.debug('Received signal to stop, exiting')
|
||||
sys.stdout.write('\n')
|
||||
sys.stdout.flush()
|
||||
# loop.quit()
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def parse_arguments():
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
# Increase verbosity with every occurance of -v
|
||||
parser.add_argument('-v', '--verbose', action='count', default=0)
|
||||
|
||||
# Define for which player we're listening
|
||||
parser.add_argument('--player')
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main():
|
||||
arguments = parse_arguments()
|
||||
|
||||
# Initialize logging
|
||||
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
|
||||
format='%(name)s %(levelname)s %(message)s')
|
||||
|
||||
# Logging is set by default to WARN and higher.
|
||||
# With every occurrence of -v it's lowered by one
|
||||
logger.setLevel(max((3 - arguments.verbose) * 10, 0))
|
||||
|
||||
# Log the sent command line arguments
|
||||
logger.debug('Arguments received {}'.format(vars(arguments)))
|
||||
|
||||
manager = Playerctl.PlayerManager()
|
||||
loop = GLib.MainLoop()
|
||||
|
||||
manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player))
|
||||
manager.connect('player-vanished', on_player_vanished)
|
||||
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
signal.signal(signal.SIGTERM, signal_handler)
|
||||
|
||||
for player in manager.props.player_names:
|
||||
if arguments.player is not None and arguments.player != player.name:
|
||||
logger.debug('{player} is not the filtered player, skipping it'
|
||||
.format(player=player.name)
|
||||
)
|
||||
continue
|
||||
|
||||
init_player(manager, player)
|
||||
|
||||
loop.run()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
42
themes/dracula/.config/waybar/modules/mail.py
Executable file
42
themes/dracula/.config/waybar/modules/mail.py
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
import imaplib
|
||||
|
||||
import mailsecrets
|
||||
|
||||
def getmails(username, password, server):
|
||||
imap = imaplib.IMAP4_SSL(server, 993)
|
||||
imap.login(username, password)
|
||||
imap.select('INBOX')
|
||||
ustatus, uresponse = imap.uid('search', None, 'UNSEEN')
|
||||
if ustatus == 'OK':
|
||||
unread_msg_nums = uresponse[0].split()
|
||||
else:
|
||||
unread_msg_nums = []
|
||||
|
||||
fstatus, fresponse = imap.uid('search', None, 'FLAGGED')
|
||||
if fstatus == 'OK':
|
||||
flagged_msg_nums = fresponse[0].split()
|
||||
else:
|
||||
flagged_msg_nums = []
|
||||
|
||||
return [len(unread_msg_nums), len(flagged_msg_nums)]
|
||||
|
||||
ping = os.system("ping " + mailsecrets.server + " -c1 > /dev/null 2>&1")
|
||||
if ping == 0:
|
||||
mails = getmails(mailsecrets.username, mailsecrets.password, mailsecrets.server)
|
||||
text = ''
|
||||
alt = ''
|
||||
|
||||
if mails[0] > 0:
|
||||
text = alt = str(mails[0])
|
||||
if mails[1] > 0:
|
||||
alt = str(mails[1]) + " " + alt
|
||||
else:
|
||||
exit(1)
|
||||
|
||||
print('{"text":"' + text + '", "alt": "' + alt + '"}')
|
||||
|
||||
else:
|
||||
exit(1)
|
||||
18
themes/dracula/.config/waybar/modules/spotify.sh
Executable file
18
themes/dracula/.config/waybar/modules/spotify.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
|
||||
class=$(playerctl metadata --player=spotify_player --format '{{lc(status)}}')
|
||||
icon=""
|
||||
|
||||
if [[ $class == "playing" ]]; then
|
||||
info=$(playerctl metadata --player=spotify_player --format '{{artist}} - {{title}}')
|
||||
if [[ ${#info} > 40 ]]; then
|
||||
info=$(echo $info | cut -c1-40)"..."
|
||||
fi
|
||||
text=$info" "$icon
|
||||
elif [[ $class == "paused" ]]; then
|
||||
text=$icon
|
||||
elif [[ $class == "stopped" ]]; then
|
||||
text=""
|
||||
fi
|
||||
|
||||
echo -e "{\"text\":\""$text"\", \"class\":\""$class"\"}"
|
||||
24
themes/dracula/.config/waybar/modules/storage.sh
Executable file
24
themes/dracula/.config/waybar/modules/storage.sh
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
mount="/"
|
||||
warning=20
|
||||
critical=10
|
||||
|
||||
df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical '
|
||||
/\/.*/ {
|
||||
text=$5
|
||||
tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6
|
||||
use=$5
|
||||
exit 0
|
||||
}
|
||||
END {
|
||||
class=""
|
||||
gsub(/%$/,"",use)
|
||||
if ((100 - use) < critical) {
|
||||
class="critical"
|
||||
} else if ((100 - use) < warning) {
|
||||
class="warning"
|
||||
}
|
||||
print "{\"text\":\""text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}"
|
||||
}
|
||||
'
|
||||
8
themes/dracula/.config/waybar/modules/update-check.sh
Executable file
8
themes/dracula/.config/waybar/modules/update-check.sh
Executable file
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
updates=$(($(checkupdates 2>/dev/null | wc -l) + $(paru -Qum 2>/dev/null | wc -l)))
|
||||
|
||||
if [ "$updates" -gt 0 ]; then
|
||||
echo '{"text":"⟳","class":"updates-available"}'
|
||||
else
|
||||
echo '{"text":"⟳","class":"no-updates"}'
|
||||
fi
|
||||
79
themes/dracula/.config/waybar/modules/weather.sh
Executable file
79
themes/dracula/.config/waybar/modules/weather.sh
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
#!/bin/bash
|
||||
|
||||
cachedir=~/.cache/rbn
|
||||
cachefile=${0##*/}-$1
|
||||
|
||||
if [ ! -d $cachedir ]; then
|
||||
mkdir -p $cachedir
|
||||
fi
|
||||
|
||||
if [ ! -f $cachedir/$cachefile ]; then
|
||||
touch $cachedir/$cachefile
|
||||
fi
|
||||
|
||||
# Save current IFS
|
||||
SAVEIFS=$IFS
|
||||
# Change IFS to new line.
|
||||
IFS=$'\n'
|
||||
|
||||
cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile")))
|
||||
if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then
|
||||
data=($(curl -s https://en.wttr.in/$1\?0qnT 2>&1))
|
||||
echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile
|
||||
echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||
echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||
fi
|
||||
|
||||
weather=($(cat $cachedir/$cachefile))
|
||||
|
||||
# Restore IFSClear
|
||||
IFS=$SAVEIFS
|
||||
|
||||
temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]])+\.\./\1 to /g')
|
||||
|
||||
#echo ${weather[1]##*,}
|
||||
|
||||
# https://fontawesome.com/icons?s=solid&c=weather
|
||||
case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in
|
||||
"clear" | "sunny")
|
||||
condition=""
|
||||
;;
|
||||
"partly cloudy")
|
||||
condition="杖"
|
||||
;;
|
||||
"cloudy")
|
||||
condition=""
|
||||
;;
|
||||
"overcast")
|
||||
condition=""
|
||||
;;
|
||||
"mist" | "fog" | "freezing fog")
|
||||
condition=""
|
||||
;;
|
||||
"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "rain")
|
||||
condition=""
|
||||
;;
|
||||
"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower")
|
||||
condition=""
|
||||
;;
|
||||
"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers")
|
||||
condition="ﭽ"
|
||||
;;
|
||||
"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers")
|
||||
condition="流"
|
||||
;;
|
||||
"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers")
|
||||
condition="ﰕ"
|
||||
;;
|
||||
"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder")
|
||||
condition=""
|
||||
;;
|
||||
*)
|
||||
condition=""
|
||||
echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||
;;
|
||||
esac
|
||||
|
||||
#echo $temp $condition
|
||||
|
||||
echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||
44
themes/dracula/.config/waybar/style.css
Normal file
44
themes/dracula/.config/waybar/style.css
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
@import url("./colors.css");
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: Iosevka;
|
||||
font-size: 11pt;
|
||||
min-height: 0;
|
||||
}
|
||||
window#waybar {
|
||||
opacity: 1;
|
||||
background: @background-darker;
|
||||
color: @foreground;
|
||||
border-bottom: 2px solid @background;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0 10px;
|
||||
background: @background;
|
||||
color: @foreground;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
background-image: linear-gradient(0deg, @selection, @background-darker);
|
||||
}
|
||||
#workspaces button.focused,
|
||||
#workspaces button.active {
|
||||
background-image: linear-gradient(0deg, @purple, @selection);
|
||||
}
|
||||
#workspaces button.urgent {
|
||||
background-image: linear-gradient(0deg, @red, @background-darker);
|
||||
}
|
||||
#taskbar button.active {
|
||||
background-image: linear-gradient(0deg, @selection, @background-darker);
|
||||
}
|
||||
#clock {
|
||||
padding: 0 4px;
|
||||
background: @background;
|
||||
}
|
||||
#custom-updates.no-updates {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
#custom-updates.updates-available {
|
||||
color: #bd93f9;
|
||||
}
|
||||
10
themes/dracula/.config/waybar/waybar.sh
Executable file
10
themes/dracula/.config/waybar/waybar.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q waybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -x waybar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch main
|
||||
waybar &
|
||||
5
themes/dracula/.config/waybar/wittr.sh
Executable file
5
themes/dracula/.config/waybar/wittr.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/sh
|
||||
req=$(curl -s wttr.in/CITY?format="%t|%l+(%c%f)+%h,+%C")
|
||||
bar=$(echo $req | awk -F "|" '{print $1}')
|
||||
tooltip=$(echo $req | awk -F "|" '{print $2}')
|
||||
echo "{\"text\":\"$bar\", \"tooltip\":\"$tooltip\"}"
|
||||
36
themes/dracula/.config/wlogout/layout
Normal file
36
themes/dracula/.config/wlogout/layout
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"label" : "lock",
|
||||
"action" : "hyprlock",
|
||||
"text" : "Lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
{
|
||||
"label" : "hibernate",
|
||||
"action" : "systemctl hibernate",
|
||||
"text" : "Hibernate",
|
||||
"keybind" : "h"
|
||||
}
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "hyprctl dispatch exit",
|
||||
"text" : "Logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "Shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
{
|
||||
"label" : "suspend",
|
||||
"action" : "systemctl suspend",
|
||||
"text" : "Suspend",
|
||||
"keybind" : "u"
|
||||
}
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "Reboot",
|
||||
"keybind" : "r"
|
||||
}
|
||||
51
themes/dracula/.config/wlogout/style.css
Normal file
51
themes/dracula/.config/wlogout/style.css
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(40, 42, 54, 0.8); /* DraculaBackground and slightly transparent */
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 4;
|
||||
margin: 5;
|
||||
border-color: #44475a; /* DraculaPurple */
|
||||
text-decoration-color: #BD93F9; /* DraculaPurple */
|
||||
color: #BD93F9; /* DraculaPurple */
|
||||
background-color: #282A36; /* DraculaBackground */
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
border-color: #BD93F9; /* DraculaPurple */
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
}
|
||||
1
themes/dracula/.config/wob/wob.ini
Symbolic link
1
themes/dracula/.config/wob/wob.ini
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
/home/henry/.config/wob/wob_horizontal.ini
|
||||
59
themes/dracula/.config/wob/wob_horizontal.ini
Normal file
59
themes/dracula/.config/wob/wob_horizontal.ini
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
; WOB CONFIG
|
||||
; ============================
|
||||
; This is a Dracula theme for wob.
|
||||
; There include examples and descriptions of all the options available.
|
||||
; Only modified options are uncommented.
|
||||
; ============================
|
||||
|
||||
; `max` This value will be represented as fully filled bar.
|
||||
;max = 100
|
||||
; `timeout` Timeout after which wob hides itself, in milliseconds.
|
||||
;timeout = 1000
|
||||
|
||||
; `width` Width of wob, in pixels.
|
||||
;width = 400
|
||||
; `height` Height of wob, in pixels.
|
||||
;height = 50
|
||||
; `border_offset` Border offset, in pixels.
|
||||
;border_offset = 4
|
||||
; `border_size` Border size, in pixels.
|
||||
;border_size = 4
|
||||
; `bar_padding` Bar padding, in pixels.
|
||||
;bar_padding = 4
|
||||
; `orientation` Orientation of the bar, one of horizontal and vertical. (only available after release 0.14.2 or in master branch)
|
||||
; You probably want to set inverse *width* and *height* values for vertical orientation.
|
||||
; This feature is implemented after the release 0.14.2 and will be available in the next release or you can build it from master branch.
|
||||
;orientation = horizontal
|
||||
|
||||
; `margin` Anchor margin, in pixels. Either as a single value or 4 values (top right bottom left).
|
||||
; (using 4 values are only available after release 0.14.2 or in master branch)
|
||||
margin = 50
|
||||
; `anchor` Anchor point, combination of top, left, right, bottom, center.
|
||||
anchor = bottom center
|
||||
; `overflow_mode` Overflow mode, one of wrap, and nowrap.
|
||||
; *wrap*: wrap value so *max* + 20 will be displayed as 20
|
||||
; *nowrap* values > *max* will be displayed as just *max*
|
||||
;overflow_mode = wrap
|
||||
; `output_mode` Output mode, one of whitelist, all, focused.
|
||||
; *whitelist*: show wob only on outputs defined in *output.\** sections of config file
|
||||
; *all*: show wob on all available outputs
|
||||
; *focused*: show wob on compositor default (focused) output
|
||||
;output_mode = focused
|
||||
|
||||
; `background_color` Background color, in RRGGBB[AA] format.
|
||||
background_color = 282a36ff
|
||||
; `bar_color` Bar color, in RRGGBB[AA] format.
|
||||
bar_color = bd93f9ff
|
||||
; `border_color` Border color, in RRGGBB[AA] format.
|
||||
border_color = bd93f9ff
|
||||
|
||||
; `overflow_background_color` Overflow background color, in RRGGBB[AA] format.
|
||||
overflow_background_color = 282a36ff
|
||||
; `overflow_bar_color` Overflow bar color, in RRGGBB[AA] format.
|
||||
overflow_bar_color = ff79c6ff
|
||||
; `overflow_border_color` Overflow border color, in RRGGBB[AA] format.
|
||||
overflow_border_color = bd93f9ff
|
||||
|
||||
[style.muted]
|
||||
bar_color = 6272a4ff
|
||||
overflow_bar_color = 6272a4ff
|
||||
11
themes/dracula/.config/xdg-desktop-portal-termfilechooser/config
Executable file
11
themes/dracula/.config/xdg-desktop-portal-termfilechooser/config
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
[filechooser]
|
||||
cmd=yazi-wrapper.sh
|
||||
default_dir=$HOME
|
||||
; Uncomment to skip creating destination save files with instructions in them
|
||||
; create_help_file=0
|
||||
; Uncomment and edit the line below to change the terminal emulator command
|
||||
env=TERMCMD=kitty -e
|
||||
|
||||
; Mode must be one of 'suggested', 'default', or 'last'.
|
||||
open_mode=suggested
|
||||
save_mode=suggested
|
||||
43
themes/dracula/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh
Executable file
43
themes/dracula/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env sh
|
||||
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
|
||||
#
|
||||
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$6" -ge 4 ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
multiple="$1"
|
||||
directory="$2"
|
||||
save="$3"
|
||||
path="$4"
|
||||
out="$5"
|
||||
|
||||
cmd="lf"
|
||||
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
|
||||
|
||||
if [ "$save" = "1" ]; then
|
||||
# save a file
|
||||
set -- -selection-path "$out" "$path"
|
||||
elif [ "$directory" = "1" ]; then
|
||||
# upload files from a directory
|
||||
set -- -last-dir-path "$out" "$path"
|
||||
elif [ "$multiple" = "1" ]; then
|
||||
# upload multiple files
|
||||
set -- -selection-path "$out" "$path"
|
||||
else
|
||||
# upload only 1 file
|
||||
set -- -selection-path "$out" "$path"
|
||||
fi
|
||||
|
||||
command="$termcmd $cmd"
|
||||
for arg in "$@"; do
|
||||
# escape double quotes
|
||||
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
|
||||
# escape special
|
||||
command="$command \"$escaped\""
|
||||
done
|
||||
|
||||
sh -c "$command"
|
||||
54
themes/dracula/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh
Executable file
54
themes/dracula/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh
Executable file
|
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/env sh
|
||||
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
|
||||
#
|
||||
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$6" -ge 4 ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
multiple="$1"
|
||||
directory="$2"
|
||||
save="$3"
|
||||
path="$4"
|
||||
out="$5"
|
||||
|
||||
cmd="nnn"
|
||||
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
|
||||
|
||||
if [ "$save" = "1" ]; then
|
||||
# save a file
|
||||
set -- -p "$out" "$path"
|
||||
elif [ "$directory" = "1" ]; then
|
||||
# upload files from a directory
|
||||
set -- -p "$out" "$path"
|
||||
elif [ "$multiple" = "1" ]; then
|
||||
# upload multiple files
|
||||
set -- -p "$out" "$path"
|
||||
else
|
||||
# upload only 1 file
|
||||
set -- -p "$out" "$path"
|
||||
fi
|
||||
|
||||
command="$termcmd $cmd"
|
||||
for arg in "$@"; do
|
||||
# escape double quotes
|
||||
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
|
||||
# escape special
|
||||
command="$command \"$escaped\""
|
||||
done
|
||||
|
||||
if [ "$directory" = "1" ]; then
|
||||
sh -c "env NNN_TMPFILE=\"$out\" $command"
|
||||
else
|
||||
sh -c "$command"
|
||||
fi
|
||||
|
||||
if [ "$directory" = "1" ] && [ -s "$out" ]; then
|
||||
# select on quit; file data will be `cd '/dir/path'`
|
||||
if [ "$(cut -c -2 "$out")" = "cd" ]; then
|
||||
sed -i "s/^cd '\(.*\)'/\1/" "$out"
|
||||
fi
|
||||
fi
|
||||
43
themes/dracula/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh
Executable file
43
themes/dracula/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env sh
|
||||
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
|
||||
#
|
||||
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$6" -ge 4 ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
multiple="$1"
|
||||
directory="$2"
|
||||
save="$3"
|
||||
path="$4"
|
||||
out="$5"
|
||||
|
||||
cmd="ranger"
|
||||
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
|
||||
|
||||
if [ "$save" = "1" ]; then
|
||||
# save a file
|
||||
set -- --choosefile="$out" --cmd="echo Select save path (see tutorial in preview pane; try pressing zv or zp if no preview)" --selectfile="$path"
|
||||
elif [ "$directory" = "1" ]; then
|
||||
# upload files from a directory
|
||||
set -- --choosedir="$out" --show-only-dirs --cmd="echo Select directory (quit in dir to select it)" "$path"
|
||||
elif [ "$multiple" = "1" ]; then
|
||||
# upload multiple files
|
||||
set -- --choosefiles="$out" --cmd="echo Select file(s) (open file to select it; <Space> to select multiple)" "$path"
|
||||
else
|
||||
# upload only 1 file
|
||||
set -- --choosefile="$out" --cmd="echo Select file (open file to select it)" "$path"
|
||||
fi
|
||||
|
||||
command="$termcmd $cmd"
|
||||
for arg in "$@"; do
|
||||
# escape double quotes
|
||||
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
|
||||
# escape special
|
||||
command="$command \"$escaped\""
|
||||
done
|
||||
|
||||
sh -c "$command"
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Portal service (terminal file chooser implementation)
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
BusName=org.freedesktop.impl.portal.desktop.termfilechooser
|
||||
ExecStart=@libexecdir@/xdg-desktop-portal-termfilechooser
|
||||
Restart=on-failure
|
||||
Slice=session.slice
|
||||
45
themes/dracula/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh
Executable file
45
themes/dracula/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env sh
|
||||
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
|
||||
#
|
||||
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$6" -ge 4 ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
multiple="$1"
|
||||
directory="$2"
|
||||
save="$3"
|
||||
path="$4"
|
||||
out="$5"
|
||||
|
||||
cmd="vifm"
|
||||
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
|
||||
|
||||
if [ "$save" = "1" ]; then
|
||||
# save a file
|
||||
set -- --choose-files "$out" -c "only" -c "map <esc> :cquit<cr>" \
|
||||
-c "set statusline='Save file (press <Enter> to select or <Esc> to cancel)%NCursorfile is the recommended choice, you can rename/move it%NIf you select another file, it will be overwritten by the save'" \
|
||||
--select "$path" >"$path"
|
||||
elif [ "$directory" = "1" ]; then
|
||||
# upload files from a directory
|
||||
set -- --choose-files "$out" --choose-dir "$out" -c "only" -c "map <esc> :cquit<cr>" -c "set statusline='Select directory (:quit in dir or select and open it, press <Esc> to cancel)'"
|
||||
elif [ "$multiple" = "1" ]; then
|
||||
# upload multiple files
|
||||
set -- --choose-files "$out" -c "only" -c "map <esc> :cquit<cr>" -c "set statusline='Select file(s) (press <t> key to select multiple, press <Esc> to cancel)'"
|
||||
else
|
||||
# upload only 1 file
|
||||
set -- --choose-files "$out" -c "only" -c "map <esc> :cquit<cr>" -c "set statusline='Select file (open file to select it, press <Esc> to cancel)'"
|
||||
fi
|
||||
|
||||
command="$termcmd $cmd"
|
||||
for arg in "$@"; do
|
||||
# escape double quotes
|
||||
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
|
||||
# escape special
|
||||
command="$command \"$escaped\""
|
||||
done
|
||||
|
||||
sh -c "$command"
|
||||
52
themes/dracula/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
Executable file
52
themes/dracula/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env sh
|
||||
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
|
||||
#
|
||||
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$6" -ge 4 ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
multiple="$1"
|
||||
directory="$2"
|
||||
save="$3"
|
||||
path="$4"
|
||||
out="$5"
|
||||
|
||||
cmd="yazi"
|
||||
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
|
||||
|
||||
if [ "$save" = "1" ]; then
|
||||
# save a file
|
||||
set -- --chooser-file="$out" "$path"
|
||||
elif [ "$directory" = "1" ]; then
|
||||
# upload files from a directory
|
||||
set -- --chooser-file="$out" --cwd-file="$out"".1" "$path"
|
||||
elif [ "$multiple" = "1" ]; then
|
||||
# upload multiple files
|
||||
set -- --chooser-file="$out" "$path"
|
||||
else
|
||||
# upload only 1 file
|
||||
set -- --chooser-file="$out" "$path"
|
||||
fi
|
||||
|
||||
command="$termcmd $cmd"
|
||||
for arg in "$@"; do
|
||||
# escape double quotes
|
||||
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
|
||||
# escape special
|
||||
command="$command \"$escaped\""
|
||||
done
|
||||
|
||||
sh -c "$command"
|
||||
|
||||
if [ "$directory" = "1" ]; then
|
||||
if [ ! -s "$out" ] && [ -s "$out"".1" ]; then
|
||||
cat "$out"".1" > "$out"
|
||||
rm "$out"".1"
|
||||
else
|
||||
rm "$out"".1"
|
||||
fi
|
||||
fi
|
||||
3
themes/dracula/.config/xdg-desktop-portal/portals.conf
Normal file
3
themes/dracula/.config/xdg-desktop-portal/portals.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[preferred]
|
||||
default=hyprland;gtk;
|
||||
org.freedesktop.impl.portal.FileChooser=termfilechooser;
|
||||
9
themes/dracula/.config/xsettingsd/xsettingsd.conf
Normal file
9
themes/dracula/.config/xsettingsd/xsettingsd.conf
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
Net/ThemeName "Dracula"
|
||||
Net/IconThemeName "Dracula"
|
||||
Gtk/CursorThemeName "Dracula"
|
||||
Net/EnableEventSounds 1
|
||||
EnableInputFeedbackSounds 0
|
||||
Xft/Antialias 1
|
||||
Xft/Hinting 1
|
||||
Xft/HintStyle "hintslight"
|
||||
Xft/RGBA "rgb"
|
||||
3
themes/dracula/.config/yazi/flavor.toml
Normal file
3
themes/dracula/.config/yazi/flavor.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[flavor]
|
||||
dark = "dracula"
|
||||
light = "dracula"
|
||||
318
themes/dracula/.config/yazi/flavors/dracula.yazi/flavor.toml
Normal file
318
themes/dracula/.config/yazi/flavors/dracula.yazi/flavor.toml
Normal file
|
|
@ -0,0 +1,318 @@
|
|||
# Theme Configuration
|
||||
[theme]
|
||||
# Theme metadata
|
||||
name = "Dracula Pro"
|
||||
author = "Enhanced Dracula Theme"
|
||||
version = "2.0.0"
|
||||
description = "A sophisticated dark theme based on Dracula color scheme"
|
||||
|
||||
# Color palette definition
|
||||
[theme.colors]
|
||||
background = "#282a36"
|
||||
current_line = "#44475a"
|
||||
foreground = "#f8f8f2"
|
||||
comment = "#6272a4"
|
||||
purple = "#bd93f9"
|
||||
green = "#50fa7b"
|
||||
orange = "#ffb86c"
|
||||
red = "#ff5555"
|
||||
pink = "#ff79c6"
|
||||
cyan = "#8be9fd"
|
||||
yellow = "#f1fa8c"
|
||||
|
||||
# Animation settings
|
||||
[theme.animation]
|
||||
frames_per_second = 60
|
||||
duration = 0.2
|
||||
easing = "easeInOutCubic"
|
||||
|
||||
# Manager
|
||||
[manager]
|
||||
# Enhanced preview options
|
||||
preview = { tab_size = 2, max_width = 100, max_height = 50, cache_size = 50, scroll_offset = 5 }
|
||||
preview_ratios = [1, 4, 4]
|
||||
preview_shown = true
|
||||
preview_service = { image = "ueberzug", video = "ffmpegthumbnailer", pdf = "pdftoppm" }
|
||||
|
||||
# Sophisticated hover effects
|
||||
hovered = { fg = "#f8f8f2", bg = "#44475a", italic = true }
|
||||
|
||||
# Enhanced markers with animations
|
||||
marker_copied = { fg = "#282a36", bg = "#50fa7b" }
|
||||
|
||||
# Dynamic loading indicators
|
||||
loading_indicator_frames = "⣾⣽⣻⢿⡿⣟⣯⣷"
|
||||
loading_style = { fg = "#bd93f9", bold = true }
|
||||
|
||||
# Enhanced folder icons
|
||||
folder_icons = { default = " ", open = " ", empty = " ", empty_open = " ", symlink = " ", symlink_open = " ", error = " " }
|
||||
|
||||
file_size_units = ["B", "KB", "MB", "GB", "TB", "PB", "EB"]
|
||||
|
||||
# Status
|
||||
[status]
|
||||
# Dynamic status bar
|
||||
refresh_rate = 1000
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress bar styling
|
||||
progress_bar_style = { fg = "#bd93f9", bg = "#44475a" }
|
||||
|
||||
# Enhanced modes
|
||||
mode_normal = { fg = "#282a36", bg = "#bd93f9", bold = true }
|
||||
|
||||
# Input
|
||||
[input]
|
||||
# Advanced input styling
|
||||
cursor_style = { fg = "#f8f8f2", bg = "#6272a4", blink = true, blink_interval = 500 }
|
||||
|
||||
# History features
|
||||
history_size = 100
|
||||
history_unique = true
|
||||
|
||||
# Completion styling
|
||||
completion_style = { selected_bg = "#44475a", selected_fg = "#f8f8f2", selected_bold = true, selected_italic = true }
|
||||
|
||||
# Notify
|
||||
[notify]
|
||||
# Enhanced notification system
|
||||
position = "top-right"
|
||||
timeout = 5000
|
||||
max_width = 400
|
||||
max_height = 200
|
||||
margin = 10
|
||||
padding = 8
|
||||
|
||||
[notify.levels]
|
||||
info = { fg = "#50fa7b", bg = "#282a36", icon = " ", timeout = 3000 }
|
||||
warn = { fg = "#f1fa8c", bg = "#282a36", icon = " ", timeout = 5000 }
|
||||
error = { fg = "#ff5555", bg = "#282a36", icon = " ", timeout = 7000 }
|
||||
debug = { fg = "#6272a4", bg = "#282a36", icon = " ", timeout = 2000 }
|
||||
|
||||
[notify.animation]
|
||||
enabled = true
|
||||
duration = 200
|
||||
slide_in = "right"
|
||||
fade_out = true
|
||||
|
||||
[notify.border]
|
||||
fg = "#bd93f9"
|
||||
bg = "#282a36"
|
||||
style = "rounded"
|
||||
|
||||
[notify.overlay]
|
||||
bg = "#282a36"
|
||||
blend = 0.8
|
||||
|
||||
# File-specific styles
|
||||
[icon]
|
||||
prepend_rules = [
|
||||
# Development Environment
|
||||
{ name = ".env*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
{ name = ".git*", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = ".docker*", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Configuration Files
|
||||
{ name = "*.{json,yaml,yml,toml,xml}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.{ini,conf,cfg}", fg = "#6272a4", italic = true, prefix = " " },
|
||||
|
||||
# Web Development
|
||||
{ name = "*.{html,htm}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{css,scss,sass,less}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{jsx,tsx}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.{js,ts}", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.vue", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.svelte", fg = "#ff5555", italic = true, prefix = " " },
|
||||
|
||||
# Backend Development
|
||||
{ name = "*.{py,pyc}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.{rb,erb}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "*.{php,phar}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{java,jar}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "*.go", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.rs", fg = "#ff7043", italic = true, prefix = " " },
|
||||
|
||||
# System Programming
|
||||
{ name = "*.{c,h}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{cpp,hpp}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{asm,s}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
|
||||
# Build Systems
|
||||
{ name = "*Makefile", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "*CMakeLists.txt", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "*.gradle", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Package Managers
|
||||
{ name = "package.json", fg = "#ff5555", bold = true, prefix = " " },
|
||||
{ name = "package-lock.json", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "composer.json", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "Cargo.toml", fg = "#ff7043", bold = true, prefix = " " },
|
||||
|
||||
# Documentation
|
||||
{ name = "*.{md,mdx}", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.rst", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.pdf", fg = "#ff5555", bold = true, prefix = " " },
|
||||
{ name = "LICENSE*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
{ name = "README*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
|
||||
# Media with size categories
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 1MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Video files with duration indicator
|
||||
{ name = "*.{mp4,mkv}", duration = "< 10:00", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{mp4,mkv}", duration = "< 1:00:00", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{mp4,mkv}", duration = "> 1:00:00", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Archives with compression ratio
|
||||
{ name = "*.{zip,gz,tar}", ratio = "< 0.5", fg = "#50fa7b", prefix = " " },
|
||||
{ name = "*.{zip,gz,tar}", ratio = "< 0.7", fg = "#f1fa8c", prefix = " " },
|
||||
{ name = "*.{zip,gz,tar}", ratio = "> 0.7", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Special Directories
|
||||
{ name = "node_modules", fg = "#6272a4", prefix = " " },
|
||||
{ name = ".git", fg = "#ff5555", prefix = " " },
|
||||
{ name = ".github", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "dist", fg = "#6272a4", prefix = " " },
|
||||
{ name = "build", fg = "#6272a4", prefix = " " },
|
||||
|
||||
# Additional file types
|
||||
# Audio files
|
||||
{ name = "*.{mp3,flac,m4a,wav,ogg}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
|
||||
# Font files
|
||||
{ name = "*.{ttf,otf,woff,woff2}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
|
||||
# Database files
|
||||
{ name = "*.{sql,sqlite,db}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# Shell scripts
|
||||
{ name = "*.{sh,bash,zsh,fish}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
|
||||
# Virtual environments
|
||||
{ name = "venv", fg = "#6272a4", prefix = " " },
|
||||
{ name = ".env", fg = "#50fa7b", prefix = " " },
|
||||
|
||||
# Container files
|
||||
{ name = "*.dockerfile", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
{ name = "docker-compose*.{yml,yaml}", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Security files
|
||||
{ name = "*.{pem,crt,ca,key}", fg = "#ff5555", bold = true, prefix = " " },
|
||||
|
||||
# Improved size-based rules for media
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 100KB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 1MB", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Default Fallbacks
|
||||
{ name = "*", fg = "#f8f8f2" },
|
||||
{ name = "*/", fg = "#bd93f9", bold = true, prefix = " " },
|
||||
|
||||
# Additional Development Files
|
||||
{ name = "*.{proto}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{graphql,gql}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{tf,tfvars}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# Container and Cloud
|
||||
{ name = "*.{yaml,yml}", pattern = "^k8s|^kubernetes", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
{ name = "*.{yaml,yml}", pattern = "^helm", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Data Files
|
||||
{ name = "*.{csv,tsv}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.{parquet,avro}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
|
||||
# Size-based rules for documents
|
||||
{ name = "*.{pdf,epub,mobi}", size = "< 1MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{pdf,epub,mobi}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{pdf,epub,mobi}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Additional Development Files
|
||||
{ name = "*.{sol}", fg = "#bd93f9", italic = true, prefix = " " }, # Solidity files
|
||||
{ name = "*.{ex,exs}", fg = "#bd93f9", italic = true, prefix = " " }, # Elixir files
|
||||
{ name = "*.{kt,kts}", fg = "#ff79c6", italic = true, prefix = " " }, # Kotlin files
|
||||
{ name = "*.{swift}", fg = "#ff5555", italic = true, prefix = " " }, # Swift files
|
||||
|
||||
# Config Files
|
||||
{ name = "*.{nginx,nginx.conf}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*{webpack}*", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# ML/Data Science
|
||||
{ name = "*.{ipynb}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{pkl,pickle}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
|
||||
# 3D/Graphics
|
||||
{ name = "*.{blend}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{fbx,obj,stl}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# More granular size-based rules for media files
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 50KB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 500KB", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 2MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 20MB", fg = "#ff7043", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 20MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Size categories for video files
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "< 100MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "< 1GB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "> 1GB", fg = "#ff5555", prefix = " " },
|
||||
]
|
||||
|
||||
# Keybindings
|
||||
[keys]
|
||||
# Visual key hints
|
||||
show_hints = true
|
||||
hint_style = { fg = "#6272a4", bg = "#44475a", italic = true }
|
||||
|
||||
# Command palette
|
||||
command_palette = { bg = "#282a36", fg = "#f8f8f2", selected_bg = "#44475a", selected_fg = "#f8f8f2", border = "#bd93f9" }
|
||||
|
||||
# Preview
|
||||
[preview]
|
||||
tab_size = 2
|
||||
max_width = 120
|
||||
max_height = 60
|
||||
cache_dir = "/tmp/yazi"
|
||||
|
||||
[preview.image]
|
||||
enabled = true
|
||||
format = "rgb"
|
||||
max_width = 1920
|
||||
max_height = 1080
|
||||
quality = 90
|
||||
animate = true
|
||||
cache = true
|
||||
|
||||
[preview.preview_service]
|
||||
image = "ueberzug"
|
||||
video = "ffmpegthumbnailer"
|
||||
pdf = "pdftoppm"
|
||||
epub = "epub-thumbnailer"
|
||||
office = "libreoffice --headless --convert-to pdf"
|
||||
markdown = "glow"
|
||||
|
||||
[preview.syntax]
|
||||
theme = "Dracula"
|
||||
background = "#282a36"
|
||||
|
||||
# Opener
|
||||
[opener]
|
||||
edit = [
|
||||
{ exec = 'nvim "$@"', desc = "Edit with Neovim" },
|
||||
{ exec = 'code "$@"', desc = "Edit with VS Code" }
|
||||
]
|
||||
open = [
|
||||
{ exec = 'xdg-open "$@"', desc = "Open with system default" },
|
||||
{ exec = 'firefox "$@"', desc = "Open in Firefox" }
|
||||
]
|
||||
reveal = [
|
||||
{ exec = 'nautilus "$@"', desc = "Reveal in file manager" }
|
||||
]
|
||||
|
||||
# Enhanced preview features
|
||||
max_preview_size = 10485760 # 10MB limit for preview
|
||||
scroll_offset = 5
|
||||
scroll_smooth = true
|
||||
4
themes/dracula/.config/yazi/init.lua
Normal file
4
themes/dracula/.config/yazi/init.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
require("recycle-bin"):setup({
|
||||
-- Optional: Override automatic trash directory discovery
|
||||
-- trash_dir = "~/.local/share/Trash/", -- Uncomment to use specific directory
|
||||
})
|
||||
370
themes/dracula/.config/yazi/keymap.toml
Normal file
370
themes/dracula/.config/yazi/keymap.toml
Normal file
|
|
@ -0,0 +1,370 @@
|
|||
# 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/keymap.json"
|
||||
|
||||
[mgr]
|
||||
|
||||
keymap = [
|
||||
{ on = ["R","b"], run = "plugin recycle-bin", desc = "Open Recycle Bin menu" },
|
||||
{ on = "<Esc>", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" },
|
||||
{ on = "q", run = "quit", desc = "Quit the process" },
|
||||
{ on = "Q", run = "quit --no-cwd-file", desc = "Quit without outputting cwd-file" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close the current tab, or quit if it's last" },
|
||||
{ on = "<C-z>", run = "suspend", desc = "Suspend the process" },
|
||||
|
||||
# Hopping
|
||||
{ on = "k", run = "arrow prev", desc = "Previous file" },
|
||||
{ on = "j", run = "arrow next", desc = "Next file" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous file" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next file" },
|
||||
|
||||
{ on = "<C-u>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||
{ on = "<C-d>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||
{ on = "<C-b>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||
{ on = "<C-f>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||
|
||||
{ on = "<S-PageUp>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||
{ on = "<S-PageDown>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||
{ on = "<PageUp>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||
{ on = "<PageDown>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||
|
||||
{ on = [ "g", "g" ], run = "arrow top", desc = "Go to top" },
|
||||
{ on = "G", run = "arrow bot", desc = "Go to bottom" },
|
||||
|
||||
# Navigation
|
||||
{ on = "h", run = "leave", desc = "Back to the parent directory" },
|
||||
{ on = "l", run = "enter", desc = "Enter the child directory" },
|
||||
|
||||
{ on = "<Left>", run = "leave", desc = "Back to the parent directory" },
|
||||
{ on = "<Right>", run = "enter", desc = "Enter the child directory" },
|
||||
|
||||
{ on = "H", run = "back", desc = "Back to previous directory" },
|
||||
{ on = "L", run = "forward", desc = "Forward to next directory" },
|
||||
|
||||
# Toggle
|
||||
{ on = "<Space>", run = [ "toggle", "arrow next" ], desc = "Toggle the current selection state" },
|
||||
{ on = "<C-a>", run = "toggle_all --state=on", desc = "Select all files" },
|
||||
{ on = "<C-r>", run = "toggle_all", desc = "Invert selection of all files" },
|
||||
|
||||
# Visual mode
|
||||
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
|
||||
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
|
||||
|
||||
# Seeking
|
||||
{ on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" },
|
||||
{ on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" },
|
||||
|
||||
# Spotting
|
||||
{ on = "<Tab>", run = "spot", desc = "Spot hovered file" },
|
||||
|
||||
# Operation
|
||||
{ on = "o", run = "open", desc = "Open selected files" },
|
||||
{ on = "O", run = "open --interactive", desc = "Open selected files interactively" },
|
||||
{ on = "<Enter>", run = "open", desc = "Open selected files" },
|
||||
{ on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" },
|
||||
{ on = "y", run = "yank", desc = "Yank selected files (copy)" },
|
||||
{ on = "x", run = "yank --cut", desc = "Yank selected files (cut)" },
|
||||
{ on = "p", run = "paste", desc = "Paste yanked files" },
|
||||
{ on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" },
|
||||
{ on = "-", run = "link", desc = "Symlink the absolute path of yanked files" },
|
||||
{ on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" },
|
||||
{ on = "<C-->", run = "hardlink", desc = "Hardlink yanked files" },
|
||||
{ on = "Y", run = "unyank", desc = "Cancel the yank status" },
|
||||
{ on = "X", run = "unyank", desc = "Cancel the yank status" },
|
||||
{ on = "d", run = "remove", desc = "Trash selected files" },
|
||||
{ on = "D", run = "remove --permanently", desc = "Permanently delete selected files" },
|
||||
{ on = "a", run = "create", desc = "Create a file (ends with / for directories)" },
|
||||
{ on = "r", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" },
|
||||
{ on = ";", run = "shell --interactive", desc = "Run a shell command" },
|
||||
{ on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" },
|
||||
{ on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
|
||||
{ on = "s", run = "search --via=fd", desc = "Search files by name via fd" },
|
||||
{ on = "S", run = "search --via=rg", desc = "Search files by content via ripgrep" },
|
||||
{ on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" },
|
||||
{ on = "z", run = "plugin fzf", desc = "Jump to a file/directory via fzf" },
|
||||
{ on = "Z", run = "plugin zoxide", desc = "Jump to a directory via zoxide" },
|
||||
|
||||
# Linemode
|
||||
{ on = [ "m", "s" ], run = "linemode size", desc = "Linemode: size" },
|
||||
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Linemode: permissions" },
|
||||
{ on = [ "m", "b" ], run = "linemode btime", desc = "Linemode: btime" },
|
||||
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Linemode: mtime" },
|
||||
{ on = [ "m", "o" ], run = "linemode owner", desc = "Linemode: owner" },
|
||||
{ on = [ "m", "n" ], run = "linemode none", desc = "Linemode: none" },
|
||||
|
||||
# Copy
|
||||
{ on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" },
|
||||
{ on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" },
|
||||
{ on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" },
|
||||
{ on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" },
|
||||
|
||||
# Filter
|
||||
{ on = "f", run = "filter --smart", desc = "Filter files" },
|
||||
|
||||
# Find
|
||||
{ on = "/", run = "find --smart", desc = "Find next file" },
|
||||
{ on = "?", run = "find --previous --smart", desc = "Find previous file" },
|
||||
{ on = "n", run = "find_arrow", desc = "Next found" },
|
||||
{ on = "N", run = "find_arrow --previous", desc = "Previous found" },
|
||||
|
||||
# Sorting
|
||||
{ on = [ ",", "m" ], run = [ "sort mtime --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
|
||||
{ on = [ ",", "M" ], run = [ "sort mtime --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
|
||||
{ on = [ ",", "b" ], run = [ "sort btime --reverse=no", "linemode btime" ], desc = "Sort by birth time" },
|
||||
{ on = [ ",", "B" ], run = [ "sort btime --reverse", "linemode btime" ], desc = "Sort by birth time (reverse)" },
|
||||
{ on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" },
|
||||
{ on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" },
|
||||
{ on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" },
|
||||
{ on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" },
|
||||
{ on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" },
|
||||
{ on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" },
|
||||
{ on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" },
|
||||
{ on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" },
|
||||
{ on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" },
|
||||
|
||||
# Goto
|
||||
{ on = [ "g", "e" ], run = "cd /mnt/data", desc = "Go /mnt/data" },
|
||||
{ on = [ "g", "h" ], run = "cd ~", desc = "Go home" },
|
||||
{ on = [ "g", "c" ], run = "cd ~/.config", desc = "Go ~/.config" },
|
||||
{ on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go ~/Downloads" },
|
||||
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Jump interactively" },
|
||||
{ on = [ "g", "f" ], run = "follow", desc = "Follow hovered symlink" },
|
||||
|
||||
# Tabs
|
||||
{ on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" },
|
||||
|
||||
{ on = "1", run = "tab_switch 0", desc = "Switch to first tab" },
|
||||
{ on = "2", run = "tab_switch 1", desc = "Switch to second tab" },
|
||||
{ on = "3", run = "tab_switch 2", desc = "Switch to third tab" },
|
||||
{ on = "4", run = "tab_switch 3", desc = "Switch to fourth tab" },
|
||||
{ on = "5", run = "tab_switch 4", desc = "Switch to fifth tab" },
|
||||
{ on = "6", run = "tab_switch 5", desc = "Switch to sixth tab" },
|
||||
{ on = "7", run = "tab_switch 6", desc = "Switch to seventh tab" },
|
||||
{ on = "8", run = "tab_switch 7", desc = "Switch to eighth tab" },
|
||||
{ on = "9", run = "tab_switch 8", desc = "Switch to ninth tab" },
|
||||
|
||||
{ on = "[", run = "tab_switch -1 --relative", desc = "Switch to previous tab" },
|
||||
{ on = "]", run = "tab_switch 1 --relative", desc = "Switch to next tab" },
|
||||
|
||||
{ on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" },
|
||||
{ on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" },
|
||||
|
||||
# Tasks
|
||||
{ on = "w", run = "tasks:show", desc = "Show task manager" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[tasks]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Close task manager" },
|
||||
{ on = "<C-[>", run = "close", desc = "Close task manager" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close task manager" },
|
||||
{ on = "w", run = "close", desc = "Close task manager" },
|
||||
|
||||
{ on = "k", run = "arrow prev", desc = "Previous task" },
|
||||
{ on = "j", run = "arrow next", desc = "Next task" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous task" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next task" },
|
||||
|
||||
{ on = "<Enter>", run = "inspect", desc = "Inspect the task" },
|
||||
{ on = "x", run = "cancel", desc = "Cancel the task" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[spot]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Close the spot" },
|
||||
{ on = "<C-[>", run = "close", desc = "Close the spot" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close the spot" },
|
||||
{ on = "<Tab>", run = "close", desc = "Close the spot" },
|
||||
|
||||
{ on = "k", run = "arrow prev", desc = "Previous line" },
|
||||
{ on = "j", run = "arrow next", desc = "Next line" },
|
||||
{ on = "h", run = "swipe prev", desc = "Swipe to previous file" },
|
||||
{ on = "l", run = "swipe next", desc = "Swipe to next file" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous line" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next line" },
|
||||
{ on = "<Left>", run = "swipe prev", desc = "Swipe to previous file" },
|
||||
{ on = "<Right>", run = "swipe next", desc = "Swipe to next file" },
|
||||
|
||||
# Copy
|
||||
{ on = [ "c", "c" ], run = "copy cell", desc = "Copy selected cell" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[pick]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Cancel pick" },
|
||||
{ on = "<C-[>", run = "close", desc = "Cancel pick" },
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel pick" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit the pick" },
|
||||
|
||||
{ on = "k", run = "arrow prev", desc = "Previous option" },
|
||||
{ on = "j", run = "arrow next", desc = "Next option" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous option" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next option" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[input]
|
||||
|
||||
keymap = [
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel input" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit input" },
|
||||
{ on = "<Esc>", run = "escape", desc = "Back to normal mode, or cancel input" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Back to normal mode, or cancel input" },
|
||||
|
||||
# Mode
|
||||
{ on = "i", run = "insert", desc = "Enter insert mode" },
|
||||
{ on = "I", run = [ "move first-char", "insert" ], desc = "Move to the BOL, and enter insert mode" },
|
||||
{ on = "a", run = "insert --append", desc = "Enter append mode" },
|
||||
{ on = "A", run = [ "move eol", "insert --append" ], desc = "Move to the EOL, and enter append mode" },
|
||||
{ on = "v", run = "visual", desc = "Enter visual mode" },
|
||||
{ on = "r", run = "replace", desc = "Replace a single character" },
|
||||
|
||||
# Selection
|
||||
{ on = "V", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" },
|
||||
{ on = "<C-A>", run = [ "move eol", "visual", "move bol" ], desc = "Select from EOL to BOL" },
|
||||
{ on = "<C-E>", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" },
|
||||
|
||||
# Character-wise movement
|
||||
{ on = "h", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "l", run = "move 1", desc = "Move forward a character" },
|
||||
{ on = "<Left>", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "<Right>", run = "move 1", desc = "Move forward a character" },
|
||||
{ on = "<C-b>", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "<C-f>", run = "move 1", desc = "Move forward a character" },
|
||||
|
||||
# Word-wise movement
|
||||
{ on = "b", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||
{ on = "B", run = "backward --far", desc = "Move back to the start of the current or previous WORD" },
|
||||
{ on = "w", run = "forward", desc = "Move forward to the start of the next word" },
|
||||
{ on = "W", run = "forward --far", desc = "Move forward to the start of the next WORD" },
|
||||
{ on = "e", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||
{ on = "E", run = "forward --far --end-of-word", desc = "Move forward to the end of the current or next WORD" },
|
||||
{ on = "<A-b>", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||
{ on = "<A-f>", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||
|
||||
# Line-wise movement
|
||||
{ on = "0", run = "move bol", desc = "Move to the BOL" },
|
||||
{ on = "$", run = "move eol", desc = "Move to the EOL" },
|
||||
{ on = "_", run = "move first-char", desc = "Move to the first non-whitespace character" },
|
||||
{ on = "^", run = "move first-char", desc = "Move to the first non-whitespace character" },
|
||||
{ on = "<C-a>", run = "move bol", desc = "Move to the BOL" },
|
||||
{ on = "<C-e>", run = "move eol", desc = "Move to the EOL" },
|
||||
{ on = "<Home>", run = "move bol", desc = "Move to the BOL" },
|
||||
{ on = "<End>", run = "move eol", desc = "Move to the EOL" },
|
||||
|
||||
# Delete
|
||||
{ on = "<Backspace>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||
{ on = "<Delete>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||
{ on = "<C-h>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||
{ on = "<C-d>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||
|
||||
# Kill
|
||||
{ on = "<C-u>", run = "kill bol", desc = "Kill backwards to the BOL" },
|
||||
{ on = "<C-k>", run = "kill eol", desc = "Kill forwards to the EOL" },
|
||||
{ on = "<C-w>", run = "kill backward", desc = "Kill backwards to the start of the current word" },
|
||||
{ on = "<A-d>", run = "kill forward", desc = "Kill forwards to the end of the current word" },
|
||||
|
||||
# Cut/Yank/Paste
|
||||
{ on = "d", run = "delete --cut", desc = "Cut selected characters" },
|
||||
{ on = "D", run = [ "delete --cut", "move eol" ], desc = "Cut until EOL" },
|
||||
{ on = "c", run = "delete --cut --insert", desc = "Cut selected characters, and enter insert mode" },
|
||||
{ on = "C", run = [ "delete --cut --insert", "move eol" ], desc = "Cut until EOL, and enter insert mode" },
|
||||
{ on = "s", run = [ "delete --cut --insert", "move 1" ], desc = "Cut current character, and enter insert mode" },
|
||||
{ on = "S", run = [ "move bol", "delete --cut --insert", "move eol" ], desc = "Cut from BOL until EOL, and enter insert mode" },
|
||||
{ on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut current character" },
|
||||
{ on = "y", run = "yank", desc = "Copy selected characters" },
|
||||
{ on = "p", run = "paste", desc = "Paste copied characters after the cursor" },
|
||||
{ on = "P", run = "paste --before", desc = "Paste copied characters before the cursor" },
|
||||
|
||||
# Undo/Redo
|
||||
{ on = "u", run = "undo", desc = "Undo the last operation" },
|
||||
{ on = "<C-r>", run = "redo", desc = "Redo the last operation" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[confirm]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "<C-[>", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit the confirm" },
|
||||
|
||||
{ on = "n", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "y", run = "close --submit", desc = "Submit the confirm" },
|
||||
|
||||
{ on = "k", run = "arrow prev", desc = "Previous line" },
|
||||
{ on = "j", run = "arrow next", desc = "Next line" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous line" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next line" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[cmp]
|
||||
|
||||
keymap = [
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel completion" },
|
||||
{ on = "<Tab>", run = "close --submit", desc = "Submit the completion" },
|
||||
{ on = "<Enter>", run = [ "close --submit", "input:close --submit" ], desc = "Complete and submit the input" },
|
||||
|
||||
{ on = "<A-k>", run = "arrow prev", desc = "Previous item" },
|
||||
{ on = "<A-j>", run = "arrow next", desc = "Next item" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous item" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next item" },
|
||||
|
||||
{ on = "<C-p>", run = "arrow prev", desc = "Previous item" },
|
||||
{ on = "<C-n>", run = "arrow next", desc = "Next item" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[help]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||
{ on = "<C-c>", run = "close", desc = "Hide the help" },
|
||||
|
||||
# Navigation
|
||||
{ on = "k", run = "arrow prev", desc = "Previous line" },
|
||||
{ on = "j", run = "arrow next", desc = "Next line" },
|
||||
|
||||
{ on = "<Up>", run = "arrow prev", desc = "Previous line" },
|
||||
{ on = "<Down>", run = "arrow next", desc = "Next line" },
|
||||
|
||||
# Filtering
|
||||
{ on = "f", run = "filter", desc = "Filter help items" },
|
||||
]
|
||||
7
themes/dracula/.config/yazi/package.toml
Normal file
7
themes/dracula/.config/yazi/package.toml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[[plugin.deps]]
|
||||
use = "uhs-robert/recycle-bin"
|
||||
rev = "1762676"
|
||||
hash = "c77042b4296544a9edb4849338056039"
|
||||
|
||||
[flavor]
|
||||
deps = []
|
||||
21
themes/dracula/.config/yazi/plugins/recycle-bin.yazi/LICENSE
Normal file
21
themes/dracula/.config/yazi/plugins/recycle-bin.yazi/LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2025 Robert
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
183
themes/dracula/.config/yazi/plugins/recycle-bin.yazi/README.md
Normal file
183
themes/dracula/.config/yazi/plugins/recycle-bin.yazi/README.md
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
<p align="center">
|
||||
<img
|
||||
src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f5d1.svg"
|
||||
width="128" height="128" alt="Trash emoji" />
|
||||
</p>
|
||||
<h1 align="center">recycle-bin.yazi</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/uhs-robert/recycle-bin.yazi/stargazers"><img src="https://img.shields.io/github/stars/uhs-robert/recycle-bin.yazi?colorA=192330&colorB=skyblue&style=for-the-badge&cacheSeconds=4300"></a>
|
||||
<a href="https://github.com/sxyazi/yazi" target="_blank" rel="noopener noreferrer"><img alt="Yazi 0.25+" src="https://img.shields.io/badge/Yazi-0.25%2B-blue?style=for-the-badge&cacheSeconds=4300&labelColor=192330" /></a>
|
||||
<a href="https://github.com/uhs-robert/recycle-bin.yazi/issues"><img src="https://img.shields.io/github/issues/uhs-robert/recycle-bin.yazi?colorA=192330&colorB=khaki&style=for-the-badge&cacheSeconds=4300"></a>
|
||||
<a href="https://github.com/uhs-robert/recycle-bin.yazi/contributors"><img src="https://img.shields.io/github/contributors/uhs-robert/recycle-bin.yazi?colorA=192330&colorB=8FD1C7&style=for-the-badge&cacheSeconds=4300"></a>
|
||||
<a href="https://github.com/uhs-robert/recycle-bin.yazi/network/members"><img src="https://img.shields.io/github/forks/uhs-robert/recycle-bin.yazi?colorA=192330&colorB=CFA7FF&style=for-the-badge&cacheSeconds=4300"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
A blazing fast, minimal <strong>Recycle Bin</strong> for the <a target="_blank" rel="noopener noreferrer" href="https://github.com/sxyazi/yazi">Yazi</a> terminal file‑manager.
|
||||
</p>
|
||||
|
||||
## 🕶️ What does it do?
|
||||
|
||||
Browse, restore, or permanently delete trashed files without leaving your terminal. Includes age-based cleanup and bulk actions.
|
||||
|
||||
<https://github.com/user-attachments/assets/1f7ab9b2-33e3-4262-94c5-b27ad9dc142e>
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> **Cross-Platform Support**
|
||||
>
|
||||
> This plugin supports Linux and macOS systems.
|
||||
|
||||
## 🧠 What it does under the hood
|
||||
|
||||
This plugin serves as a wrapper for the [trash-cli](https://github.com/andreafrancia/trash-cli) command, integrating it seamlessly with Yazi.
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- **📂 Browse trash**: Navigate to trash directory directly in Yazi
|
||||
- **🔄 Restore files**: Bulk restore selected files from trash to their original locations
|
||||
- **⚠️ Conflict resolution**: Intelligent handling when restored files already exist at destination
|
||||
- **🛡️ Safety dialogs**: Preview conflicts with skip/overwrite options before restoration
|
||||
- **🗑️ Empty trash**: Clear entire trash with detailed file previews and confirmation dialog
|
||||
- **📅 Empty by days**: Remove trash items older than specified number of days with size information
|
||||
- **❌ Permanent delete**: Bulk delete selected files from trash permanently
|
||||
- **🔧 Configurable**: Customize trash directory
|
||||
|
||||
## 📋 Requirements
|
||||
|
||||
| Software | Minimum | Notes |
|
||||
| --------- | ----------- | ----------------------------------------------------------------------------------------- |
|
||||
| Yazi | `>=25.5.31` | untested on 25.6+ |
|
||||
| trash-cli | any | **Linux**: `sudo dnf/apt/pacman install trash-cli`<br>**macOS**: `brew install trash-cli` |
|
||||
|
||||
The plugin uses the following trash-cli commands: `trash-list`, `trash-empty`, `trash-restore`, and `trash-rm`.
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
Install the plugin via Yazi's package manager:
|
||||
|
||||
```sh
|
||||
# via Yazi’s package manager
|
||||
ya pkg add uhs-robert/recycle-bin
|
||||
```
|
||||
|
||||
Then add the following to your `~/.config/yazi/init.lua` to enable the plugin with default settings:
|
||||
|
||||
```lua
|
||||
require("recycle-bin"):setup()
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
The plugin automatically discovers your system's trash directories using `trash-list --trash-dirs`. If you need to customize the behavior, you can pass a config table to `setup()`:
|
||||
|
||||
```lua
|
||||
require("recycle-bin"):setup({
|
||||
-- Optional: Override automatic trash directory discovery
|
||||
-- trash_dir = "~/.local/share/Trash/", -- Uncomment to use specific directory
|
||||
})
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> The plugin supports multiple trash directories and will prompt you to choose which one to use if multiple are found.
|
||||
|
||||
## 🎹 Key Mapping
|
||||
|
||||
### 🗝️ Recommended: Preset
|
||||
|
||||
Add this to your `~/.config/yazi/keymap.toml` (substitute `on = ["R","b"]` with your keybind preference):
|
||||
|
||||
```toml
|
||||
[mgr]
|
||||
prepend_keymap = [
|
||||
{ on = ["R","b"], run = "plugin recycle-bin", desc = "Open Recycle Bin menu" },
|
||||
]
|
||||
```
|
||||
|
||||
The `R b` menu provides access to all trash management functions:
|
||||
|
||||
- `o` → Open Trash
|
||||
- `r` → Restore from Trash
|
||||
- `d` → Delete from Trash
|
||||
- `e` → Empty Trash
|
||||
- `D` → Empty by Days
|
||||
|
||||
> [!TIP]
|
||||
> `recycle-bin.yazi` uses the [array form for its keymap example](https://yazi-rs.github.io/docs/configuration/keymap).
|
||||
> You must pick **only one style** per file; mixing with `[[mgr.prepend_keymap]]` will fail.
|
||||
>
|
||||
> **Also note:** some plugins may suggest binding a bare key like `on = "R"`,
|
||||
> which blocks all `R <key>` chords (including `R b`). Change those to chords
|
||||
> (e.g. `["R","r"]`) or choose a different non-conflicting prefix.
|
||||
|
||||
---
|
||||
|
||||
### 🛠️ Alternative: Custom direct keybinds
|
||||
|
||||
If you prefer direct keybinds, you may also set your own using our API. Here are the available options:
|
||||
|
||||
```toml
|
||||
[mgr]
|
||||
prepend_keymap = [
|
||||
{ on = ["R","o"], run = "plugin recycle-bin -- open", desc = "Open Trash" },
|
||||
{ on = ["R","e"], run = "plugin recycle-bin -- empty", desc = "Empty Trash" },
|
||||
{ on = ["R","D"], run = "plugin recycle-bin -- emptyDays", desc = "Empty by days deleted" },
|
||||
{ on = ["R","d"], run = "plugin recycle-bin -- delete", desc = "Delete from Trash" },
|
||||
{ on = ["R","r"], run = "plugin recycle-bin -- restore", desc = "Restore from Trash" },
|
||||
]
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Remember that you are the only one who is responsible for managing and resolving your keybind conflicts.
|
||||
|
||||
## 🚀 Usage
|
||||
|
||||
### 📝 Example using the recommended preset
|
||||
|
||||
- **Recycle Bin Menu (`R b`):** Opens an interactive menu with all trash management options
|
||||
- **Open Trash (`o`):** Navigate to trash directory directly in Yazi
|
||||
- **Restore from Trash (`r`):** Bulk restore selected files from trash to their original locations. The plugin automatically detects conflicts when files already exist at the original location and prompts you to skip or overwrite conflicting files with detailed information.
|
||||
- **Delete from Trash (`d`):** Permanently delete selected files from trash. Shows confirmation dialog before deletion.
|
||||
- **Empty Trash (`e`):** Clear entire trash with detailed file previews including names, sizes, and deletion dates before confirmation.
|
||||
- **Empty by Days (`D`):** Remove trash items older than specified number of days (defaults to 30 days). Displays filtered list with file details and total size information.
|
||||
|
||||
> [!TIP]
|
||||
> Use Yazi's visual selection (`v` or `V` followed by `ESC` to select items) or toggle select (press `Space` on individual files) to select multiple files from the Trash before restoring or deleting
|
||||
>
|
||||
> The plugin will show a confirmation dialog for destructive operations
|
||||
|
||||
## 🛠️ Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
**"trashcli not found" error:**
|
||||
|
||||
- Ensure trash-cli is installed: `sudo dnf/apt/pacman install trash-cli`
|
||||
- Verify installation: `trash-list --version`
|
||||
- Check if trash-cli commands are in your PATH
|
||||
|
||||
**"Trash directory not found" error:**
|
||||
|
||||
- The plugin automatically discovers trash directories using `trash-list --trash-dirs`
|
||||
- If no directories are found, create the standard location:
|
||||
- **Linux**: `mkdir -p ~/.local/share/Trash/{files,info}`
|
||||
- **macOS**: `mkdir -p ~/.Trash`
|
||||
- You can also specify a custom path in your configuration
|
||||
|
||||
**"No files selected" warning:**
|
||||
|
||||
- Make sure you have files selected in Yazi before running restore/delete operations
|
||||
- Use `Space` to select files or `v`/`V` for visual selection mode
|
||||
|
||||
## 💡 Recommendations
|
||||
|
||||
### Companion Plugin
|
||||
|
||||
For an even better trash management experience, pair this plugin with:
|
||||
|
||||
**[restore.yazi](https://github.com/boydaihungst/restore.yazi)** - Undo your delete history by your latest deleted files/folders
|
||||
|
||||
This companion plugin adds an "undo" feature that lets you press `u` to instantly restore the last deleted file. You can keep hitting `u` repeatedly to step through your entire delete history, making accidental deletions a thing of the past.
|
||||
|
||||
**Perfect combination:** Use `restore.yazi` for quick single-file undos and `recycle-bin.yazi` for comprehensive trash management and bulk operations.
|
||||
1584
themes/dracula/.config/yazi/plugins/recycle-bin.yazi/main.lua
Normal file
1584
themes/dracula/.config/yazi/plugins/recycle-bin.yazi/main.lua
Normal file
File diff suppressed because it is too large
Load diff
258
themes/dracula/.config/yazi/yazi.toml
Normal file
258
themes/dracula/.config/yazi/yazi.toml
Normal file
|
|
@ -0,0 +1,258 @@
|
|||
# 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"
|
||||
|
||||
[mgr]
|
||||
ratio = [ 1, 4, 3 ]
|
||||
sort_by = "alphabetical"
|
||||
sort_sensitive = false
|
||||
sort_reverse = false
|
||||
sort_dir_first = true
|
||||
sort_translit = false
|
||||
linemode = "none"
|
||||
show_hidden = true
|
||||
show_symlink = true
|
||||
scrolloff = 5
|
||||
mouse_events = [ "click", "scroll" ]
|
||||
title_format = "Yazi: {cwd}"
|
||||
|
||||
[preview]
|
||||
wrap = "no"
|
||||
tab_size = 2
|
||||
max_width = 600
|
||||
max_height = 900
|
||||
cache_dir = ""
|
||||
image_delay = 30
|
||||
image_filter = "triangle"
|
||||
image_quality = 75
|
||||
ueberzug_scale = 1
|
||||
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||
|
||||
[opener]
|
||||
edit = [
|
||||
{ run = "/usr/local/bin/zed_sudo_wrapper %s", desc = "Zed (sudo fallback)", for = "unix", block = true },
|
||||
{ run = "code %s", desc = "code", for = "windows", orphan = true },
|
||||
{ run = "code -w %s", desc = "code (block)", for = "windows", block = true },
|
||||
]
|
||||
play = [
|
||||
{ run = "xdg-open %s1", desc = "Play", for = "linux" },
|
||||
{ run = "open %s", desc = "Play", for = "macos" },
|
||||
{ run = 'start "" %s1', orphan = true, desc = "Play", for = "windows" },
|
||||
{ run = "termux-open %s1", desc = "Play", for = "android" },
|
||||
{ run = "mediainfo %s1; echo 'Press enter to exit'; read _", block = true, desc = "Show media info", for = "unix" },
|
||||
{ run = "mediainfo %s1 & pause", block = true, desc = "Show media info", for = "windows" },
|
||||
]
|
||||
open = [
|
||||
{ run = "xdg-open %s1", desc = "Open", for = "linux" },
|
||||
{ run = "open %s", desc = "Open", for = "macos" },
|
||||
{ run = 'start "" %s1', desc = "Open", for = "windows", orphan = true },
|
||||
{ run = "termux-open %s1", desc = "Open", for = "android" },
|
||||
]
|
||||
reveal = [
|
||||
{ run = "xdg-open %d1", desc = "Reveal", for = "linux" },
|
||||
{ run = "open -R %s1", desc = "Reveal", for = "macos" },
|
||||
{ run = "explorer /select,%s1", desc = "Reveal", for = "windows", orphan = true },
|
||||
{ run = "termux-open %d1", desc = "Reveal", for = "android" },
|
||||
{ run = "clear; exiftool %s1; echo 'Press enter to exit'; read _", desc = "Show EXIF", for = "unix", block = true },
|
||||
]
|
||||
extract = [
|
||||
{ run = "ya pub extract --list %s", desc = "Extract here" },
|
||||
]
|
||||
download = [
|
||||
{ run = "ya emit download --open %S", desc = "Download and open" },
|
||||
{ run = "ya emit download %S", desc = "Download" },
|
||||
]
|
||||
pdf = [
|
||||
{ run = "zathura %s", desc = "Zathura", block = true },
|
||||
]
|
||||
zedproj = [
|
||||
{ run = "zeditor -n %s", desc = "Zed (project)", for = "unix", orphan = true, block = false },
|
||||
]
|
||||
|
||||
[open]
|
||||
rules = [
|
||||
# Folder
|
||||
{ url = "*/", use = [ "zedproj", "open", "reveal" ] },
|
||||
# TOML (force editor regardless of mime detector differences)
|
||||
{ url = "*.toml", use = [ "edit", "reveal" ] },
|
||||
{ mime = "application/{toml,x-toml}", use = [ "edit", "reveal" ] },
|
||||
# Common config formats (force editor)
|
||||
{ url = "*.{yaml,yml,conf,ini}", use = [ "edit", "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" ] },
|
||||
# Virtual file system
|
||||
{ mime = "vfs/{absent,stale}", use = "download" },
|
||||
# PDF
|
||||
{ mime = "application/pdf", use = [ "pdf" ], desc = "Open PDF" },
|
||||
# Fallback
|
||||
{ url = "*", use = [ "open", "reveal" ] },
|
||||
]
|
||||
|
||||
[tasks]
|
||||
micro_workers = 10
|
||||
macro_workers = 10
|
||||
bizarre_retry = 3
|
||||
image_alloc = 536870912 # 512MB
|
||||
image_bound = [ 10000, 10000 ]
|
||||
suppress_preload = false
|
||||
|
||||
[plugin]
|
||||
fetchers = [
|
||||
# Mimetype
|
||||
{ id = "mime", url = "*/", run = "mime.dir", prio = "high" },
|
||||
{ id = "mime", url = "local://*", run = "mime.local", prio = "high" },
|
||||
{ id = "mime", url = "remote://*", run = "mime.remote", prio = "high" },
|
||||
]
|
||||
spotters = [
|
||||
{ url = "*/", run = "folder" },
|
||||
# Code
|
||||
{ mime = "text/*", run = "code" },
|
||||
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl}", run = "magick" },
|
||||
{ mime = "image/svg+xml", run = "svg" },
|
||||
{ mime = "image/*", run = "image" },
|
||||
# Video
|
||||
{ mime = "video/*", run = "video" },
|
||||
# Virtual file system
|
||||
{ mime = "vfs/*", run = "vfs" },
|
||||
# Error
|
||||
{ mime = "null/*", run = "null" },
|
||||
# Fallback
|
||||
{ url = "*", run = "file" },
|
||||
]
|
||||
preloaders = [
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl}", run = "magick" },
|
||||
{ mime = "image/svg+xml", run = "svg" },
|
||||
{ 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 = [
|
||||
{ url = "*/", run = "folder" },
|
||||
# Code
|
||||
{ mime = "text/*", run = "code" },
|
||||
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
|
||||
# JSON
|
||||
{ mime = "application/{json,ndjson}", run = "json" },
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl}", run = "magick" },
|
||||
{ mime = "image/svg+xml", run = "svg" },
|
||||
{ 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" },
|
||||
{ url = "*.{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" },
|
||||
{ url = "*.{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" },
|
||||
# Virtual file system
|
||||
{ mime = "vfs/*", run = "vfs" },
|
||||
# Error
|
||||
{ mime = "null/*", run = "null" },
|
||||
# Fallback
|
||||
{ url = "*", 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_body = "Will overwrite the following file:"
|
||||
overwrite_origin = "center"
|
||||
overwrite_offset = [ 0, 0, 50, 15 ]
|
||||
|
||||
# quit
|
||||
quit_title = "Quit?"
|
||||
quit_body = "The following tasks are 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
|
||||
|
||||
[flavor]
|
||||
dark = "dracula"
|
||||
light = "dracula"
|
||||
27
themes/dracula/.config/youtube-tui/appearance.yml
Normal file
27
themes/dracula/.config/youtube-tui/appearance.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
borders: Rounded
|
||||
colors:
|
||||
text: Reset
|
||||
text_special: Reset
|
||||
text_secondary: Reset
|
||||
text_error: LightRed
|
||||
outline: Reset
|
||||
outline_selected: LightBlue
|
||||
outline_hover: LightRed
|
||||
outline_secondary: LightYellow
|
||||
message_outline: '#FF7F00'
|
||||
message_error_outline: LightRed
|
||||
message_success_outline: LightGreen
|
||||
command_capture: '#64FF64'
|
||||
item_info:
|
||||
tag: Gray
|
||||
title: LightBlue
|
||||
description: Gray
|
||||
author: LightGreen
|
||||
viewcount: LightYellow
|
||||
length: LightCyan
|
||||
published: LightMagenta
|
||||
video_count: '#838DFF'
|
||||
sub_count: '#65FFBA'
|
||||
likes: '#C8FF81'
|
||||
genre: '#FF75D7'
|
||||
page_turner: Gray
|
||||
25
themes/dracula/.config/youtube-tui/cmdefine.yml
Normal file
25
themes/dracula/.config/youtube-tui/cmdefine.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
back: mpv playlist-previous ;; echo mpv Skipped
|
||||
h: help
|
||||
video: loadpage video
|
||||
q: quit
|
||||
watchhistory: loadpage watchhistory
|
||||
resume: mpv sprop pause no ;; echo mpv Player resumed
|
||||
search: loadpage search
|
||||
feed: loadpage feed
|
||||
x: quit
|
||||
v: version
|
||||
exit: quit
|
||||
channel: loadpage channel
|
||||
print: echo
|
||||
playlist: loadpage playlist
|
||||
popular: loadpage popular
|
||||
next: mpv playlist-next ;; echo mpv Skipped
|
||||
bookmarks: loadpage bookmarks
|
||||
trending: loadpage trending
|
||||
tpause: mpv tprop pause ;; echo success Toggled player pause
|
||||
cp: copy
|
||||
pause: mpv sprop pause yes ;; echo mpv Player paused
|
||||
rc: reload configs
|
||||
library: loadpage library
|
||||
r: reload
|
||||
sub: sync
|
||||
82
themes/dracula/.config/youtube-tui/commandbindings.yml
Normal file
82
themes/dracula/.config/youtube-tui/commandbindings.yml
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
global:
|
||||
' ':
|
||||
0: tpause ;; echo mpv Player pause toggled
|
||||
Left:
|
||||
3: back ;; echo mpv Unskipped
|
||||
2: mpv seek -5 ;; echo mpv Rewinded 5 seconds
|
||||
'f':
|
||||
2: run ${browser} '${url}'
|
||||
Right:
|
||||
2: mpv seek 5 ;; echo mpv Fast forwarded 5 seconds
|
||||
3: next ;; echo mpv Skipped
|
||||
'c':
|
||||
2: cp ${url}
|
||||
'y':
|
||||
0: cp ${url}
|
||||
search:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
popular:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
trending:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
video: {}
|
||||
playlist:
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
channel_main: {}
|
||||
channel_videos:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
channel_playlists:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
watchhistory:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
feed:
|
||||
'P':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-channel-url}/videos' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-video-url}'
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-channel-url}/videos' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-video-url}' --no-video
|
||||
library:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
56
themes/dracula/.config/youtube-tui/commands.yml
Normal file
56
themes/dracula/.config/youtube-tui/commands.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
launch_command: loadpage library ;; flush ;; history clear ;; key Esc 0 ;; key Up 0 ;; key Up 0 ;; key Left 0 ;; key Enter 0
|
||||
video:
|
||||
- Reload updated video: run rm '~/.cache/youtube-tui/info/${id}.json' ;; video ${id}
|
||||
- Play video: parrun ${video-player} '${embed-url}'
|
||||
- Play audio: mpv stop ;; resume ;; mpv sprop loop-file no ;; mpv loadfile '${embed-url}' ;; echo mpv Player started
|
||||
- Play audio (loop): mpv stop ;; resume ;; mpv sprop loop-file inf ;; mpv loadfile '${embed-url}' ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Save video to library: bookmark ${id} ;; run rm -rf '${save-path}${id}.*' ;; parrun ${terminal-emulator} ${youtube-downloader} '${embed-url}' -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- Save audio to library: bookmark ${id} ;; parrun rm -rf '${save-path}${id}.*' ;; parrun ${terminal-emulator} ${youtube-downloader} '${embed-url}' -x -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- 'Mode: ${provider}': switchprovider
|
||||
saved_video:
|
||||
- Reload updated video: run rm '~/.cache/youtube-tui/info/${id}.json' ;; video ${id}
|
||||
- '[Offline] Play saved file': parrun ${video-player} '${offline-path}' --force-window
|
||||
- '[Offline] Play saved file (audio)': mpv stop ;; resume ;; mpv sprop loop-file no ;; mpv loadfile '${offline-path}' ;; echo mpv Player started
|
||||
- '[Offline] Play saved file (audio loop)': mpv stop ;; resume ;; mpv sprop loop-file inf ;; mpv loadfile '${offline-path}' ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Redownload video to library: bookmark ${id} ;; run rm ${save-path}*${id}*.* ;; parrun ${terminal-emulator} ${youtube-downloader} ${embed-url} -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- Redownload audio to library: bookmark ${id} ;; run rm ${save-path}*${id}*.* ;; parrun ${terminal-emulator} ${youtube-downloader} ${embed-url} -x -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- Delete saved file: run rm ${save-path}*${id}*.*
|
||||
playlist:
|
||||
- Switch view: '%switch-view%'
|
||||
- Reload updated playlist: run rm ~/.cache/youtube-tui/info/${id}.json ;; reload
|
||||
- Play all (videos): parrun ${video-player} ${url}
|
||||
- Play all (audio): mpv stop ;; resume ;; ${mpv-queuelist} ;; mpv sprop loop-playlist no ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- Shuffle play all (audio loop): mpv stop ;; resume ;; ${mpv-queuelist} ;; mpv sprop loop-playlist yes ;; mpv playlist-shuffle ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Save playlist videos to library: bookmark ${id} ;; run rm -rf '${save-path}*${id}*' ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- Save playlist audio to library: bookmark ${id} ;; run rm -rf '${save-path}*${id}*' ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -x -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- 'Mode: ${provider}': switchprovider
|
||||
saved_playlist:
|
||||
- Switch view: '%switch-view%'
|
||||
- Reload updated playlist: run rm ~/.cache/youtube-tui/info/${id}.json ;; reload
|
||||
- '[Offline] Play all (videos)': parrun ${video-player} ${save-path}*${id}*/* --force-window
|
||||
- '[Offline] Play all (audio)': mpv stop ;; resume ;; ${offline-queuelist} ;; mpv sprop loop-playlist no ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- '[Offline] Shuffle play all (audio loop)': mpv stop ;; resume ;; ${offline-queuelist} ;; mpv sprop loop-playlist yes ;; mpv playlist-shuffle ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Redownload playlist videos to library: bookmark ${id} ;; run rm -rf ${save-path}*${id}* ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- Redownload playlist audio to library: bookmark ${id} ;; run rm -rf ${save-path}*${id}* ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -x -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- Delete saved files: run rm -rf ${save-path}*${id}*
|
||||
channel:
|
||||
- Subscribe to channel: sync ${id}
|
||||
- Play all (videos): parrun ${video-player} ${url}
|
||||
- Play all (audio): mpv stop ;; resume ;; mpv loadfile ${url} ;; mpv sprop loop-playlist no ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- Shuffle play all (audio loop): mpv stop ;; resume ;; mpv loadfile ${url} ;; mpv sprop loop-playlist yes ;; mpv playlist-shuffle ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
52
themes/dracula/.config/youtube-tui/keybindings.yml
Normal file
52
themes/dracula/.config/youtube-tui/keybindings.yml
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
Up:
|
||||
0: MoveUp
|
||||
2: PreviousEntry
|
||||
':':
|
||||
0: StartCommandCapture
|
||||
Right:
|
||||
0: MoveRight
|
||||
2: NextWord
|
||||
Enter:
|
||||
0: Select
|
||||
F5:
|
||||
0: Reload
|
||||
Esc:
|
||||
0: Deselect
|
||||
'j':
|
||||
0: MoveDown
|
||||
'r':
|
||||
2: Reload
|
||||
'd':
|
||||
0: ClearHistory
|
||||
4: RemoveWord
|
||||
'u':
|
||||
2: ClearLine
|
||||
'e':
|
||||
2: End
|
||||
Left:
|
||||
2: PreviousWord
|
||||
0: MoveLeft
|
||||
4: Back
|
||||
'q':
|
||||
0: Exit
|
||||
Down:
|
||||
0: MoveDown
|
||||
2: NextEntry
|
||||
'k':
|
||||
0: MoveUp
|
||||
'v':
|
||||
2: Paste
|
||||
Backspace:
|
||||
0: Back
|
||||
'l':
|
||||
0: MoveRight
|
||||
Home:
|
||||
0: FirstHistory
|
||||
End:
|
||||
0: ClearHistory
|
||||
'h':
|
||||
0: MoveLeft
|
||||
'w':
|
||||
2: RemoveWord
|
||||
'a':
|
||||
2: First
|
||||
30
themes/dracula/.config/youtube-tui/main.yml
Normal file
30
themes/dracula/.config/youtube-tui/main.yml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
mouse_support: true
|
||||
invidious_instance: https://invidious.f5.si
|
||||
write_config: Try
|
||||
allow_unicode: true
|
||||
message_bar_default: All good :)
|
||||
images: Sixels
|
||||
refresh_after_modifying_search_filters: true
|
||||
syncing:
|
||||
download_images: true
|
||||
sync_channel_info: true
|
||||
sync_channel_cooldown_secs: 86400
|
||||
sync_videos_cooldown_secs: 600
|
||||
limits:
|
||||
watch_history: 50
|
||||
search_history: 75
|
||||
commands_history: 75
|
||||
textbar_scroll_behaviour: History
|
||||
image_index: 4
|
||||
provider: YouTube
|
||||
search_provider: RustyPipe
|
||||
api_key: YOUR API KEY HERE
|
||||
shell: sh
|
||||
legacy_input_handling: false
|
||||
env:
|
||||
terminal-emulator: konsole -e
|
||||
youtube-downloader: yt-dlp
|
||||
save-path: ~/.local/share/youtube-tui/saved/
|
||||
download-path: ~/Downloads/%(title)s-%(id)s.%(ext)s
|
||||
video-player: mpv
|
||||
browser: xdg-open
|
||||
88
themes/dracula/.config/youtube-tui/pages.yml
Normal file
88
themes/dracula/.config/youtube-tui/pages.yml
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
main_menu:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: CenteredRow
|
||||
items:
|
||||
- Library
|
||||
- Feed
|
||||
- History
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ItemList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading main menu...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Down 0 ;; key Enter 0
|
||||
feed:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: CenteredRow
|
||||
items:
|
||||
- Library
|
||||
- Feed
|
||||
- History
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ChannelList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- VideoList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading feed...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Down 0 ;; key Enter 0
|
||||
search:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ItemList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading search results...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Enter 0
|
||||
singleitem:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SingleItemInfo
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading item details...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Enter 0
|
||||
channeldisplay:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: CenteredRow
|
||||
items:
|
||||
- ChannelMain
|
||||
- ChannelVideos
|
||||
- ChannelPlaylists
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ChannelDisplay
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading channel details...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Enter 0 ;; key Up 0
|
||||
4
themes/dracula/.config/youtube-tui/remaps.yml
Normal file
4
themes/dracula/.config/youtube-tui/remaps.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
'a':
|
||||
5:
|
||||
code: 'b'
|
||||
modifiers: 5
|
||||
7
themes/dracula/.config/youtube-tui/search.yml
Normal file
7
themes/dracula/.config/youtube-tui/search.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
query: ''
|
||||
filters:
|
||||
sort: Relevance
|
||||
date: None
|
||||
duration: None
|
||||
type: All
|
||||
page: 1
|
||||
30
themes/dracula/.config/zed/settings.json
Normal file
30
themes/dracula/.config/zed/settings.json
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Zed settings
|
||||
//
|
||||
// For information on how to configure Zed, see the Zed
|
||||
// documentation: https://zed.dev/docs/configuring-zed
|
||||
//
|
||||
// To see all of Zed's default settings without changing your
|
||||
// custom settings, run `zed: open default settings` from the
|
||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||
{
|
||||
"title_bar": {
|
||||
"show_sign_in": false
|
||||
},
|
||||
"ui_font_family": "Inter Variable",
|
||||
"buffer_font_family": "Iosevka Term",
|
||||
"vim_mode": false,
|
||||
"disable_ai": true,
|
||||
"telemetry": {
|
||||
"diagnostics": false,
|
||||
"metrics": false
|
||||
},
|
||||
"languages": {
|
||||
"Markdown": {
|
||||
"format_on_save": "on"
|
||||
}
|
||||
},
|
||||
"icon_theme": "Zed (Default)",
|
||||
"ui_font_size": 16,
|
||||
"buffer_font_size": 15,
|
||||
"theme": "Dracula"
|
||||
}
|
||||
1247
themes/dracula/.config/zed/themes/dracula.json
Normal file
1247
themes/dracula/.config/zed/themes/dracula.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue