init
This commit is contained in:
commit
07feb9f64a
31
README.md
Normal file
31
README.md
Normal file
@ -0,0 +1,31 @@
|
||||
# aneuhmanh dotfiles
|
||||
|
||||
#### тут собраны НЕ ВСЕ конфиги.Я собрал только самые основные.Настройки GTK, QT и других приложений вы можете найти [тут](https://catppuccin.com/ports/ "тут")
|
||||
- Все конфиги собраны под Arch Hyprland
|
||||
|
||||
Сам рис собран с использованием темы [Catpuccin Frappe Mauve](https://catppuccin.com/palette/ "Catpuccin Frappe Mauve")
|
||||
|
||||
#### Компоненты:
|
||||
**Дисплей менеджер: [SDDM](https://github.com/sddm/sddm "SDDM")**
|
||||
|
||||
**Текстовый редактор: [NEOVIM](https://github.com/neovim/neovim "NEOVIM")**
|
||||
|
||||
**Терминал: [KITTY](https://github.com/kovidgoyal/kitty "KITTY")**
|
||||
|
||||
**Композитор: [HYPRLAND](https://github.com/hyprwm/Hyprland "HYPRLAND")**
|
||||
|
||||
**Уведомления: [MAKO](https://github.com/emersion/mako "MAKO")**
|
||||
|
||||
**Файловый менеджер: [THUNAR](https://github.com/neilbrown/thunar "THUNAR")**
|
||||
|
||||
**Лаунчер приложений: [WOFI](https://github.com/SimplyCEO/wofi "WOFI")**
|
||||
|
||||
**Обои: [Hyprpaper](https://github.com/hyprwm/hyprpaper "Hyprpaper")**
|
||||
#### Полезности:
|
||||
**[Waybar wiki](https://github.com/Alexays/Waybar/wiki "Waybar wiki")**
|
||||
|
||||
**[Hyprland wiki](https://wiki.hypr.land/ "Hyprland wiki")**
|
||||
|
||||
**[Mako wiki](https://github.com/emersion/mako/wiki/Frequently-asked-questions "Mako wiki")**
|
||||
|
||||
**[Neovim wiki](https://github.com/neovim/neovim/wiki "Neovim wiki")**
|
265
cava/config
Normal file
265
cava/config
Normal file
@ -0,0 +1,265 @@
|
||||
## Configuration file for CAVA.
|
||||
# Remove the ; to change parameters.
|
||||
|
||||
|
||||
[general]
|
||||
|
||||
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||
; mode = normal
|
||||
|
||||
# Accepts only non-negative values.
|
||||
; framerate = 60
|
||||
|
||||
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||
; autosens = 1
|
||||
; overshoot = 20
|
||||
|
||||
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
|
||||
# 200 means double height. Accepts only non-negative values.
|
||||
; sensitivity = 100
|
||||
|
||||
# The number of bars (0-512). 0 sets it to auto (fill up console).
|
||||
# Bars' width and space between bars in number of characters.
|
||||
; bars = 0
|
||||
; bar_width = 2
|
||||
; bar_spacing = 1
|
||||
# bar_height is only used for output in "noritake" format
|
||||
; bar_height = 32
|
||||
|
||||
# For SDL width and space between bars is in pixels, defaults are:
|
||||
; bar_width = 20
|
||||
; bar_spacing = 5
|
||||
|
||||
# sdl_glsl have these default values, they are only used to calculate max number of bars.
|
||||
; bar_width = 1
|
||||
; bar_spacing = 0
|
||||
|
||||
|
||||
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||
# the bandwidth of the visualizer.
|
||||
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||
; lower_cutoff_freq = 50
|
||||
; higher_cutoff_freq = 10000
|
||||
|
||||
|
||||
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||
; sleep_timer = 0
|
||||
|
||||
|
||||
[input]
|
||||
|
||||
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
|
||||
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
|
||||
# On Mac it defaults to 'portaudio' or 'fifo'
|
||||
# On windows this is automatic and no input settings are needed.
|
||||
#
|
||||
# All input methods uses the same config variable 'source'
|
||||
# to define where it should get the audio.
|
||||
#
|
||||
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||
#
|
||||
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
|
||||
# Both input and output devices are supported.
|
||||
#
|
||||
# For alsa 'source' will be the capture device.
|
||||
# For fifo 'source' will be the path to fifo-file.
|
||||
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||
#
|
||||
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
|
||||
# README.md contains further information on how to setup CAVA for sndio.
|
||||
#
|
||||
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
|
||||
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
|
||||
#
|
||||
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
|
||||
# README.md contains further information on how to setup CAVA for JACK.
|
||||
#
|
||||
; method = pulse
|
||||
; source = auto
|
||||
|
||||
; method = pipewire
|
||||
; source = auto
|
||||
|
||||
; method = alsa
|
||||
; source = hw:Loopback,1
|
||||
|
||||
; method = fifo
|
||||
; source = /tmp/mpd.fifo
|
||||
|
||||
; method = shmem
|
||||
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||
|
||||
; method = portaudio
|
||||
; source = auto
|
||||
|
||||
; method = sndio
|
||||
; source = default
|
||||
|
||||
; method = oss
|
||||
; source = /dev/dsp
|
||||
|
||||
; method = jack
|
||||
; source = default
|
||||
|
||||
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
|
||||
# sample_rate: fifo, pipewire, sndio, oss
|
||||
# sample_bits: fifo, pipewire, sndio, oss
|
||||
# channels: sndio, oss, jack
|
||||
# autoconnect: jack
|
||||
# Other methods ignore these settings.
|
||||
#
|
||||
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
|
||||
# by the chosen audio device, the device will use other supported values instead.
|
||||
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
|
||||
# will use 44100, 16 and 1.
|
||||
#
|
||||
; sample_rate = 44100
|
||||
; sample_bits = 16
|
||||
; channels = 2
|
||||
; autoconnect = 2
|
||||
|
||||
|
||||
[output]
|
||||
|
||||
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
|
||||
# or 'sdl_glsl'.
|
||||
# 'noncurses' (default) uses a buffer and cursor movements to only print
|
||||
# changes from frame to frame in the terminal. Uses less resources and is less
|
||||
# prone to tearing (vsync issues) than 'ncurses'.
|
||||
#
|
||||
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||
# stream of the bar heights that can be used to send to other applications.
|
||||
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||
#
|
||||
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
|
||||
# in graphic mode. It only support the 3000 series graphical VFDs for now.
|
||||
#
|
||||
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
|
||||
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
|
||||
# use one of the predefined ones.
|
||||
; method = noncurses
|
||||
|
||||
# Orientation of the visualization. Can be 'bottom', 'top', 'left', 'right' or
|
||||
# 'horizontal'. Default is 'bottom'. 'left and 'right' are only supported on sdl
|
||||
# and ncruses output. 'horizontal' (bars go up and down from center) is only supported
|
||||
# on noncurses output.
|
||||
# Note: many fonts have weird or missing glyphs for characters used in orientations
|
||||
# other than 'bottom', which can make output not look right.
|
||||
; orientation = bottom
|
||||
|
||||
# Visual channels. Can be 'stereo' or 'mono'.
|
||||
# 'stereo' mirrors both channels with low frequencies in center.
|
||||
# 'mono' outputs left to right lowest to highest frequencies.
|
||||
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||
# set 'reverse' to 1 to display frequencies the other way around.
|
||||
; channels = stereo
|
||||
; mono_option = average
|
||||
; reverse = 0
|
||||
|
||||
# Raw output target.
|
||||
# On Linux, a fifo will be created if target does not exist.
|
||||
# On Windows, a named pipe will be created if target does not exist.
|
||||
; raw_target = /dev/stdout
|
||||
|
||||
# Raw data format. Can be 'binary' or 'ascii'.
|
||||
; data_format = binary
|
||||
|
||||
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||
; bit_format = 16bit
|
||||
|
||||
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||
; ascii_max_range = 1000
|
||||
|
||||
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||
; bar_delimiter = 59
|
||||
; frame_delimiter = 10
|
||||
|
||||
# sdl window size and position. -1,-1 is centered.
|
||||
; sdl_width = 1000
|
||||
; sdl_height = 500
|
||||
; sdl_x = -1
|
||||
; sdl_y= -1
|
||||
; sdl_full_screen = 0
|
||||
|
||||
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
|
||||
# 'frequency' displays the lower cut off frequency of the bar above.
|
||||
# Only supported on ncurses and noncurses output.
|
||||
; xaxis = none
|
||||
|
||||
# enable synchronized sync. 1 = on, 0 = off
|
||||
# removes flickering in alacritty terminal emulator.
|
||||
# defaults to off since the behaviour in other terminal emulators is unknown
|
||||
; synchronized_sync = 0
|
||||
|
||||
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
|
||||
; vertex_shader = pass_through.vert
|
||||
; fragment_shader = bar_spectrum.frag
|
||||
|
||||
; for glsl output mode, keep rendering even if no audio
|
||||
; continuous_rendering = 0
|
||||
|
||||
# disable console blank (screen saver) in tty
|
||||
# (Not supported on FreeBSD)
|
||||
; disable_blanking = 0
|
||||
|
||||
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
|
||||
; show_idle_bar_heads = 1
|
||||
|
||||
# show waveform instead of frequency spectrum, 1 = on, 0 = off
|
||||
; waveform = 0
|
||||
|
||||
[color]
|
||||
gradient = 1
|
||||
|
||||
gradient_color_1 = '#81c8be'
|
||||
gradient_color_2 = '#99d1db'
|
||||
gradient_color_3 = '#85c1dc'
|
||||
gradient_color_4 = '#8caaee'
|
||||
gradient_color_5 = '#ca9ee6'
|
||||
gradient_color_6 = '#f4b8e4'
|
||||
gradient_color_7 = '#ea999c'
|
||||
gradient_color_8 = '#e78284'
|
||||
|
||||
[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
|
11
cava/frappe-transparent.cava
Normal file
11
cava/frappe-transparent.cava
Normal file
@ -0,0 +1,11 @@
|
||||
[color]
|
||||
gradient = 1
|
||||
|
||||
gradient_color_1 = '#81c8be'
|
||||
gradient_color_2 = '#99d1db'
|
||||
gradient_color_3 = '#85c1dc'
|
||||
gradient_color_4 = '#8caaee'
|
||||
gradient_color_5 = '#ca9ee6'
|
||||
gradient_color_6 = '#f4b8e4'
|
||||
gradient_color_7 = '#ea999c'
|
||||
gradient_color_8 = '#e78284'
|
79
cava/shaders/bar_spectrum.frag
Normal file
79
cava/shaders/bar_spectrum.frag
Normal file
@ -0,0 +1,79 @@
|
||||
#version 330
|
||||
|
||||
in vec2 fragCoord;
|
||||
out vec4 fragColor;
|
||||
|
||||
// bar values. defaults to left channels first (low to high), then right (high to low).
|
||||
uniform float bars[512];
|
||||
|
||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
||||
uniform int bar_width; // bar width (configurable), not used here
|
||||
uniform int bar_spacing; // space bewteen bars (configurable)
|
||||
|
||||
uniform vec3 u_resolution; // window resolution
|
||||
|
||||
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
|
||||
uniform vec3 bg_color; // background color
|
||||
uniform vec3 fg_color; // foreground color
|
||||
|
||||
uniform int gradient_count;
|
||||
uniform vec3 gradient_colors[8]; // gradient colors
|
||||
|
||||
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
|
||||
{
|
||||
//create color based on fraction of this color and next color
|
||||
float yr = (y - y_min) / (y_max - y_min);
|
||||
return col_1 * (1.0 - yr) + col_2 * yr;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// find which bar to use based on where we are on the x axis
|
||||
float x = u_resolution.x * fragCoord.x;
|
||||
int bar = int(bars_count * fragCoord.x);
|
||||
|
||||
//calculate a bar size
|
||||
float bar_size = u_resolution.x / bars_count;
|
||||
|
||||
//the y coordinate and bar values are the same
|
||||
float y = bars[bar];
|
||||
|
||||
// make sure there is a thin line at bottom
|
||||
if (y * u_resolution.y < 1.0)
|
||||
{
|
||||
y = 1.0 / u_resolution.y;
|
||||
}
|
||||
|
||||
//draw the bar up to current height
|
||||
if (y > fragCoord.y)
|
||||
{
|
||||
//make some space between bars basen on settings
|
||||
if (x > (bar + 1) * (bar_size) - bar_spacing)
|
||||
{
|
||||
fragColor = vec4(bg_color,1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gradient_count == 0)
|
||||
{
|
||||
fragColor = vec4(fg_color,1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
//find which color in the configured gradient we are at
|
||||
int color = int((gradient_count - 1) * fragCoord.y);
|
||||
|
||||
//find where on y this and next color is supposed to be
|
||||
float y_min = color / (gradient_count - 1.0);
|
||||
float y_max = (color + 1.0) / (gradient_count - 1.0);
|
||||
|
||||
//make color
|
||||
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fragColor = vec4(bg_color,1.0);
|
||||
}
|
||||
}
|
34
cava/shaders/northern_lights.frag
Normal file
34
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
cava/shaders/pass_through.vert
Normal file
14
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
cava/shaders/spectrogram.frag
Normal file
53
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 first render pass
|
||||
|
||||
vec3 normalize_C(float y, vec3 col_1, vec3 col_2, float y_min, float y_max) {
|
||||
// create color based on fraction of this color and next color
|
||||
float yr = (y - y_min) / (y_max - y_min);
|
||||
return col_1 * (1.0 - yr) + col_2 * yr;
|
||||
}
|
||||
|
||||
void main() {
|
||||
// find which bar to use based on where we are on the y axis
|
||||
int bar = int(bars_count * fragCoord.y);
|
||||
float y = bars[bar];
|
||||
float band_size = 1.0 / float(bars_count);
|
||||
float current_band_min = bar * band_size;
|
||||
float current_band_max = (bar + 1) * band_size;
|
||||
|
||||
int hist_length = 512;
|
||||
float win_size = 1.0 / hist_length;
|
||||
|
||||
if (fragCoord.x > 1.0 - win_size) {
|
||||
|
||||
if (fragCoord.y > current_band_min && fragCoord.y < current_band_max) {
|
||||
|
||||
fragColor = vec4(fg_color * y, 1.0);
|
||||
}
|
||||
} else {
|
||||
vec2 offsetCoord = fragCoord;
|
||||
offsetCoord.x += float(win_size);
|
||||
fragColor = texture(inputTexture, offsetCoord);
|
||||
}
|
||||
}
|
112
cava/shaders/winamp_line_style_spectrum.frag
Normal file
112
cava/shaders/winamp_line_style_spectrum.frag
Normal file
@ -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);
|
||||
}
|
||||
}
|
361
hypr/hyprland.conf
Normal file
361
hypr/hyprland.conf
Normal file
@ -0,0 +1,361 @@
|
||||
source = /home/aneuhmanh/.config/hypr/themes/frappe.conf
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPRLAND CONFIG.
|
||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
|
||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hyprland.org/Configuring/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
# You can split this configuration into multiple files
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=HDMI-A-1,1920x1080@100Hz,auto,auto
|
||||
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = thunar
|
||||
$menu = wofi --show drun
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
exec-once = waybar
|
||||
exec-once = mako
|
||||
exec-once=hyprpaper -c ~/.config/hypr/hyprpaper.conf
|
||||
#exec-once = mpvpaper -o "no-audio --loop-file=inf --vo=gpu-next --fs --vf=eq=brightness=-0.2" HDMI-A-1 /home/aneuhmanh/wallpaper.mp4
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_THEME,Airi-Viridis
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
###################
|
||||
### PERMISSIONS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Permissions/
|
||||
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
# for security reasons
|
||||
|
||||
# ecosystem {
|
||||
# enforce_permissions = 1
|
||||
# }
|
||||
|
||||
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
|
||||
border_size = 2
|
||||
|
||||
col.active_border = $mauve
|
||||
|
||||
col.inactive_border = rgb(232634)
|
||||
|
||||
resize_on_border = $mantle
|
||||
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 12
|
||||
rounding_power = 2
|
||||
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 0.85
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 6
|
||||
render_power = 4
|
||||
color = rgba(2e3440bb)
|
||||
}
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
vibrancy = 0.17
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
bezier = linear,0,0,1,1
|
||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
bezier = quick,0.15,0,0.1,1
|
||||
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
animation = windows, 1, 4.79, easeOutQuint
|
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
animation = fade, 1, 3.03, quick
|
||||
animation = layers, 1, 3.81, easeOutQuint
|
||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1.5, linear, fade
|
||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
}
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us, ru
|
||||
kb_variant =
|
||||
kb_model = pc105
|
||||
kb_options = grp:alt_shift_toggle
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
bind = $mainMod, B, exec, firefox
|
||||
bind = , Print, exec, flameshot gui
|
||||
bind = SUPER, I, exec, ~/.config/waybar/scripts/power_menu.sh
|
||||
|
||||
|
||||
bind = SUPER, Return, exec, node /home/aneuhmanh/obs/start-record.js
|
||||
|
||||
bind = SUPER, Backspace, exec, node /home/aneuhmanh/obs/stop-record.js
|
||||
|
||||
bind = SUPER, H, exec, flatpak run dev.vencord.Vesktop
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
bind = $mainMod ALT, left, moveactive, -20 0
|
||||
bind = $mainMod ALT, right, moveactive, 20 0
|
||||
bind = $mainMod ALT, up, moveactive, 0 -20
|
||||
bind = $mainMod ALT, down, moveactive, 0 20
|
||||
|
||||
bind = $mainMod SHIFT, left, resizeactive, -20 0
|
||||
bind = $mainMod SHIFT, right, resizeactive, 20 0
|
||||
bind = $mainMod SHIFT, up, resizeactive, 0 -20
|
||||
bind = $mainMod SHIFT, down, resizeactive, 0 20
|
||||
|
||||
bind = $mainMod, KP_5, centerwindow
|
||||
|
||||
bind = $mainMod, KP_4, resizeactive, exact 960 1080
|
||||
bind = $mainMod, KP_4, moveactive, exact 0 0
|
||||
|
||||
bind = $mainMod, KP_6, resizeactive, exact 960 1080
|
||||
bind = $mainMod, KP_6, moveactive, exact 960 0
|
||||
|
||||
bind = $mainMod, KP_8, resizeactive, exact 1920 1080
|
||||
bind = $mainMod, KP_8, moveactive, exact 0 0
|
||||
|
||||
bind = $mainMod ALT, left, moveactive, -20 0
|
||||
bind = $mainMod ALT, right, moveactive, 20 0
|
||||
bind = $mainMod ALT, up, moveactive, 0 -20
|
||||
bind = $mainMod ALT, down, moveactive, 0 20
|
||||
|
||||
bind = $mainMod SHIFT, left, resizeactive, -20 0
|
||||
bind = $mainMod SHIFT, right, resizeactive, 20 0
|
||||
bind = $mainMod SHIFT, up, resizeactive, 0 -20
|
||||
bind = $mainMod SHIFT, down, resizeactive, 0 20
|
||||
|
||||
bind = $mainMod, G, centerwindow
|
||||
|
||||
bind = $mainMod, KP_4, moveactive, exact 0 0
|
||||
bind = $mainMod, KP_4, resizeactive, exact 960 1080
|
||||
|
||||
bind = $mainMod, KP_6, moveactive, exact 960 0
|
||||
bind = $mainMod, KP_6, resizeactive, exact 960 1080
|
||||
|
||||
bind = $mainMod, KP_5, moveactive, exact 480 0
|
||||
bind = $mainMod, KP_5, resizeactive, exact 960 1080
|
||||
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
bind = $mainMod CTRL, right, resizeactive, 20 0
|
||||
bind = $mainMod CTRL, left, resizeactive, -20 0
|
||||
bind = $mainMod CTRL, up, resizeactive, 0 -20
|
||||
bind = $mainMod CTRL, down, resizeactive, 0 20
|
||||
|
||||
bind = $mainMod CTRL SHIFT, right, resizeactive, -20 0
|
||||
bind = $mainMod CTRL SHIFT, left, resizeactive, 20 0
|
||||
bind = $mainMod CTRL SHIFT, up, resizeactive, 0 20
|
||||
bind = $mainMod CTRL SHIFT, down, resizeactive, 0 -20
|
||||
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule
|
||||
# windowrule = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
2
hypr/hyprpaper.conf
Normal file
2
hypr/hyprpaper.conf
Normal file
@ -0,0 +1,2 @@
|
||||
preload = /home/aneuhmanh/wallpaper.png
|
||||
wallpaper = HDMI-A-1,/home/aneuhmanh/wallpaper.png
|
78
hypr/themes/frappe.conf
Normal file
78
hypr/themes/frappe.conf
Normal file
@ -0,0 +1,78 @@
|
||||
|
||||
$rosewater = rgb(f2d5cf)
|
||||
$rosewaterAlpha = f2d5cf
|
||||
|
||||
$flamingo = rgb(eebebe)
|
||||
$flamingoAlpha = eebebe
|
||||
|
||||
$pink = rgb(f4b8e4)
|
||||
$pinkAlpha = f4b8e4
|
||||
|
||||
$mauve = rgb(ca9ee6)
|
||||
$mauveAlpha = ca9ee6
|
||||
|
||||
$red = rgb(e78284)
|
||||
$redAlpha = e78284
|
||||
|
||||
$maroon = rgb(ea999c)
|
||||
$maroonAlpha = ea999c
|
||||
|
||||
$peach = rgb(ef9f76)
|
||||
$peachAlpha = ef9f76
|
||||
|
||||
$yellow = rgb(e5c890)
|
||||
$yellowAlpha = e5c890
|
||||
|
||||
$green = rgb(a6d189)
|
||||
$greenAlpha = a6d189
|
||||
|
||||
$teal = rgb(81c8be)
|
||||
$tealAlpha = 81c8be
|
||||
|
||||
$sky = rgb(99d1db)
|
||||
$skyAlpha = 99d1db
|
||||
|
||||
$sapphire = rgb(85c1dc)
|
||||
$sapphireAlpha = 85c1dc
|
||||
|
||||
$blue = rgb(8caaee)
|
||||
$blueAlpha = 8caaee
|
||||
|
||||
$lavender = rgb(babbf1)
|
||||
$lavenderAlpha = babbf1
|
||||
|
||||
$text = rgb(c6d0f5)
|
||||
$textAlpha = c6d0f5
|
||||
|
||||
$subtext1 = rgb(b5bfe2)
|
||||
$subtext1Alpha = b5bfe2
|
||||
|
||||
$subtext0 = rgb(a5adce)
|
||||
$subtext0Alpha = a5adce
|
||||
|
||||
$overlay2 = rgb(949cbb)
|
||||
$overlay2Alpha = 949cbb
|
||||
|
||||
$overlay1 = rgb(838ba7)
|
||||
$overlay1Alpha = 838ba7
|
||||
|
||||
$overlay0 = rgb(737994)
|
||||
$overlay0Alpha = 737994
|
||||
|
||||
$surface2 = rgb(626880)
|
||||
$surface2Alpha = 626880
|
||||
|
||||
$surface1 = rgb(51576d)
|
||||
$surface1Alpha = 51576d
|
||||
|
||||
$surface0 = rgb(414559)
|
||||
$surface0Alpha = 414559
|
||||
|
||||
$base = rgb(303446)
|
||||
$baseAlpha = 303446
|
||||
|
||||
$mantle = rgb(292c3c)
|
||||
$mantleAlpha = 292c3c
|
||||
|
||||
$crust = rgb(232634)
|
||||
$crustAlpha = 232634
|
1
kitty/catppuccin
Submodule
1
kitty/catppuccin
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit b14e8385c827f2d41660b71c7fec1e92bdcf2676
|
80
kitty/current-theme.conf
Normal file
80
kitty/current-theme.conf
Normal file
@ -0,0 +1,80 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin-Frappe
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/frappe.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #C6D0F5
|
||||
background #303446
|
||||
selection_foreground #303446
|
||||
selection_background #F2D5CF
|
||||
|
||||
# Cursor colors
|
||||
cursor #F2D5CF
|
||||
cursor_text_color #303446
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #F2D5CF
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #BABBF1
|
||||
inactive_border_color #737994
|
||||
bell_border_color #E5C890
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #232634
|
||||
active_tab_background #CA9EE6
|
||||
inactive_tab_foreground #C6D0F5
|
||||
inactive_tab_background #292C3C
|
||||
tab_bar_background #232634
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #303446
|
||||
mark1_background #BABBF1
|
||||
mark2_foreground #303446
|
||||
mark2_background #CA9EE6
|
||||
mark3_foreground #303446
|
||||
mark3_background #85C1DC
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #51576D
|
||||
color8 #626880
|
||||
|
||||
# red
|
||||
color1 #E78284
|
||||
color9 #E78284
|
||||
|
||||
# green
|
||||
color2 #A6D189
|
||||
color10 #A6D189
|
||||
|
||||
# yellow
|
||||
color3 #E5C890
|
||||
color11 #E5C890
|
||||
|
||||
# blue
|
||||
color4 #8CAAEE
|
||||
color12 #8CAAEE
|
||||
|
||||
# magenta
|
||||
color5 #F4B8E4
|
||||
color13 #F4B8E4
|
||||
|
||||
# cyan
|
||||
color6 #81C8BE
|
||||
color14 #81C8BE
|
||||
|
||||
# white
|
||||
color7 #B5BFE2
|
||||
color15 #A5ADCE
|
24
kitty/kitty.conf
Normal file
24
kitty/kitty.conf
Normal file
@ -0,0 +1,24 @@
|
||||
font_family JetBrainsMono Nerd Font
|
||||
fallback_family Noto Color Emoji
|
||||
font_size 12.0
|
||||
|
||||
confirm_quit no
|
||||
force_window_close yes
|
||||
confirm_os_window_close 0
|
||||
env TERM=xterm-256color
|
||||
|
||||
map ctrl+shift+equal change_font_size all +2.0
|
||||
map ctrl+shift+minus change_font_size all -2.0
|
||||
|
||||
selection:
|
||||
save_to_clipboard: true
|
||||
|
||||
include themes/Catppuccin-Frappe.conf
|
||||
|
||||
tab_bar_min_tabs 1
|
||||
tab_bar_edge bottom
|
||||
tab_bar_style powerline
|
||||
tab_powerline_style slanted
|
||||
tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}
|
||||
|
||||
include current-theme.conf
|
80
kitty/themes/Catppuccin-Frappe.conf
Normal file
80
kitty/themes/Catppuccin-Frappe.conf
Normal file
@ -0,0 +1,80 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Frappé
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/frappe.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #c6d0f5
|
||||
background #303446
|
||||
selection_foreground #303446
|
||||
selection_background #f2d5cf
|
||||
|
||||
# Cursor colors
|
||||
cursor #f2d5cf
|
||||
cursor_text_color #303446
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f2d5cf
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #babbf1
|
||||
inactive_border_color #737994
|
||||
bell_border_color #e5c890
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #232634
|
||||
active_tab_background #ca9ee6
|
||||
inactive_tab_foreground #c6d0f5
|
||||
inactive_tab_background #292c3c
|
||||
tab_bar_background #232634
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #303446
|
||||
mark1_background #babbf1
|
||||
mark2_foreground #303446
|
||||
mark2_background #ca9ee6
|
||||
mark3_foreground #303446
|
||||
mark3_background #85c1dc
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #51576d
|
||||
color8 #626880
|
||||
|
||||
# red
|
||||
color1 #e78284
|
||||
color9 #e78284
|
||||
|
||||
# green
|
||||
color2 #a6d189
|
||||
color10 #a6d189
|
||||
|
||||
# yellow
|
||||
color3 #e5c890
|
||||
color11 #e5c890
|
||||
|
||||
# blue
|
||||
color4 #8caaee
|
||||
color12 #8caaee
|
||||
|
||||
# magenta
|
||||
color5 #f4b8e4
|
||||
color13 #f4b8e4
|
||||
|
||||
# cyan
|
||||
color6 #81c8be
|
||||
color14 #81c8be
|
||||
|
||||
# white
|
||||
color7 #b5bfe2
|
||||
color15 #a5adce
|
20
mako/config
Normal file
20
mako/config
Normal file
@ -0,0 +1,20 @@
|
||||
font=JetBrainsMono Nerd Font 11
|
||||
background-color=#303446
|
||||
text-color=#c6d0f5
|
||||
border-color=#ca9ee6
|
||||
border-size=2
|
||||
padding=10
|
||||
margin=10
|
||||
default-timeout=5000
|
||||
max-history=25
|
||||
layer=overlay
|
||||
anchor=top-right
|
||||
border-radius=8
|
||||
icon-path=/usr/share/icons
|
||||
progress-color=#414559
|
||||
|
||||
[urgency=low]
|
||||
border-color=#4c566a
|
||||
|
||||
[urgency=high]
|
||||
border-color=#ef9f76
|
267
nvim/init.lua
Normal file
267
nvim/init.lua
Normal file
@ -0,0 +1,267 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable",
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("catppuccin").setup({
|
||||
flavour = "frappe",
|
||||
background = {
|
||||
light = "latte",
|
||||
dark = "frappe",
|
||||
},
|
||||
transparent_background = false,
|
||||
show_end_of_buffer = false,
|
||||
term_colors = false,
|
||||
dim_inactive = {
|
||||
enabled = false,
|
||||
shade = "dark",
|
||||
percentage = 0.15,
|
||||
},
|
||||
styles = {
|
||||
comments = { "italic" },
|
||||
conditionals = { "italic" },
|
||||
},
|
||||
color_overrides = {
|
||||
frappe = {
|
||||
mauve = "#ca9ee6",
|
||||
},
|
||||
},
|
||||
integrations = {
|
||||
cmp = true,
|
||||
gitsigns = true,
|
||||
nvimtree = true,
|
||||
treesitter = true,
|
||||
notify = false,
|
||||
mini = {
|
||||
enabled = true,
|
||||
indentscope_color = "",
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.cmd.colorscheme("catppuccin")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
local function my_on_attach(bufnr)
|
||||
local api = require("nvim-tree.api")
|
||||
api.config.mappings.default_on_attach(bufnr)
|
||||
end
|
||||
|
||||
require("nvim-tree").setup({
|
||||
disable_netrw = true,
|
||||
hijack_netrw = true,
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_cwd = true,
|
||||
},
|
||||
view = {
|
||||
width = 40,
|
||||
side = "left",
|
||||
},
|
||||
renderer = {
|
||||
highlight_git = true,
|
||||
icons = {
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
folder_arrow = true,
|
||||
git = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
on_attach = my_on_attach,
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<C-n>", ":NvimTreeToggle<CR>", { noremap = true, silent = true })
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require("gitsigns").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
config = function()
|
||||
local function gitsigns_status()
|
||||
local gs = vim.b.gitsigns_status_dict
|
||||
if gs then
|
||||
local added = gs.added or 0
|
||||
local changed = gs.changed or 0
|
||||
local removed = gs.removed or 0
|
||||
local status = ""
|
||||
if added > 0 then status = status .. "[+]" .. added .. " " end
|
||||
if changed > 0 then status = status .. "[~]" .. changed .. " " end
|
||||
if removed > 0 then status = status .. "[-]" .. removed .. " " end
|
||||
return status
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "catppuccin",
|
||||
section_separators = { "", "" },
|
||||
component_separators = { "", "" },
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = {
|
||||
gitsigns_status,
|
||||
"encoding",
|
||||
"filetype",
|
||||
},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
tag = "*",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
vim.g.mapleader = "\\"
|
||||
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
show_buffer_close_icons = true,
|
||||
tab_size = 22,
|
||||
separator_style = "slant",
|
||||
},
|
||||
})
|
||||
|
||||
for i = 1, 9 do
|
||||
vim.keymap.set("n", "<leader>" .. i, ":BufferLineGoToBuffer " .. i .. "<CR>", { noremap = true, silent = true })
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<Tab>", ":BufferLineCycleNext<CR>", { noremap = true, silent = true })
|
||||
vim.keymap.set("n", "<S-Tab>", ":BufferLineCyclePrev<CR>", { noremap = true, silent = true })
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"petertriho/nvim-scrollbar",
|
||||
config = function()
|
||||
require("scrollbar").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
require("telescope").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"stevearc/dressing.nvim",
|
||||
opts = {},
|
||||
},
|
||||
|
||||
{
|
||||
"brenoprata10/nvim-highlight-colors",
|
||||
config = function()
|
||||
require("nvim-highlight-colors").setup({
|
||||
render = "background",
|
||||
enable_named_colors = true,
|
||||
enable_tailwind = true,
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
build = ":MasonUpdate",
|
||||
config = true,
|
||||
},
|
||||
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
config = true,
|
||||
},
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
automatic_installation = true,
|
||||
})
|
||||
require("lspconfig").lua_ls.setup({})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"L3MON4D3/LuaSnip",
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<Tab>"] = cmp.mapping.select_next_item(),
|
||||
["<S-Tab>"] = cmp.mapping.select_prev_item(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
-- Общие настройки
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.number = true
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.expandtab = true
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.mouse = "a"
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
vim.opt.showcmd = false
|
||||
|
||||
vim.keymap.set("n", "<C-h>", "<C-w>h", { noremap = true })
|
||||
vim.keymap.set("n", "<C-j>", "<C-w>j", { noremap = true })
|
||||
vim.keymap.set("n", "<C-k>", "<C-w>k", { noremap = true })
|
||||
vim.keymap.set("n", "<C-l>", "<C-w>l", { noremap = true })
|
21
nvim/lazy-lock.json
Normal file
21
nvim/lazy-lock.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "88205953bd748322b49b26e1dfb0389932520dc9" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "f54e3c11fc9ebfcfc27e696182b0295b071d0811" },
|
||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "314b35335cc84bc2a085c84c69da955ba22da163" },
|
||||
"nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "8eb5e0bfd1c4da6efc03ab0c1ccf463dbaae831e" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }
|
||||
}
|
124
nvim/plugin/packer_compiled.lua
Normal file
124
nvim/plugin/packer_compiled.lua
Normal file
@ -0,0 +1,124 @@
|
||||
-- Automatically generated packer.nvim plugin loader code
|
||||
|
||||
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||
return
|
||||
end
|
||||
|
||||
vim.api.nvim_command('packadd packer.nvim')
|
||||
|
||||
local no_errors, error_msg = pcall(function()
|
||||
|
||||
_G._packer = _G._packer or {}
|
||||
_G._packer.inside_compile = true
|
||||
|
||||
local time
|
||||
local profile_info
|
||||
local should_profile = false
|
||||
if should_profile then
|
||||
local hrtime = vim.loop.hrtime
|
||||
profile_info = {}
|
||||
time = function(chunk, start)
|
||||
if start then
|
||||
profile_info[chunk] = hrtime()
|
||||
else
|
||||
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||
end
|
||||
end
|
||||
else
|
||||
time = function(chunk, start) end
|
||||
end
|
||||
|
||||
local function save_profiles(threshold)
|
||||
local sorted_times = {}
|
||||
for chunk_name, time_taken in pairs(profile_info) do
|
||||
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||
end
|
||||
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||
local results = {}
|
||||
for i, elem in ipairs(sorted_times) do
|
||||
if not threshold or threshold and elem[2] > threshold then
|
||||
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||
end
|
||||
end
|
||||
if threshold then
|
||||
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
|
||||
end
|
||||
|
||||
_G._packer.profile_output = results
|
||||
end
|
||||
|
||||
time([[Luarocks path setup]], true)
|
||||
local package_path_str = "/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/share/lua/5.1/?.lua;/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/share/lua/5.1/?/init.lua;/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/lib/luarocks/rocks-5.1/?.lua;/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/lib/luarocks/rocks-5.1/?/init.lua"
|
||||
local install_cpath_pattern = "/home/aneuhmanh/.cache/nvim/packer_hererocks/2.1.1748459687/lib/lua/5.1/?.so"
|
||||
if not string.find(package.path, package_path_str, 1, true) then
|
||||
package.path = package.path .. ';' .. package_path_str
|
||||
end
|
||||
|
||||
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||
end
|
||||
|
||||
time([[Luarocks path setup]], false)
|
||||
time([[try_loadstring definition]], true)
|
||||
local function try_loadstring(s, component, name)
|
||||
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||
if not success then
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||
end)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
time([[try_loadstring definition]], false)
|
||||
time([[Defining packer_plugins]], true)
|
||||
_G.packer_plugins = {
|
||||
["bufferline.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/bufferline.nvim",
|
||||
url = "https://github.com/akinsho/bufferline.nvim"
|
||||
},
|
||||
catppuccin = {
|
||||
loaded = true,
|
||||
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/catppuccin",
|
||||
url = "https://github.com/catppuccin/nvim"
|
||||
},
|
||||
["lualine.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||
url = "https://github.com/nvim-lualine/lualine.nvim"
|
||||
},
|
||||
["nvim-tree.lua"] = {
|
||||
loaded = true,
|
||||
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
|
||||
url = "https://github.com/nvim-tree/nvim-tree.lua"
|
||||
},
|
||||
["nvim-web-devicons"] = {
|
||||
loaded = true,
|
||||
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||
url = "https://github.com/nvim-tree/nvim-web-devicons"
|
||||
},
|
||||
["packer.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/aneuhmanh/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||
url = "https://github.com/wbthomason/packer.nvim"
|
||||
}
|
||||
}
|
||||
|
||||
time([[Defining packer_plugins]], false)
|
||||
|
||||
_G._packer.inside_compile = false
|
||||
if _G._packer.needs_bufread == true then
|
||||
vim.cmd("doautocmd BufRead")
|
||||
end
|
||||
_G._packer.needs_bufread = false
|
||||
|
||||
if should_profile then save_profiles() end
|
||||
|
||||
end)
|
||||
|
||||
if not no_errors then
|
||||
error_msg = error_msg:gsub('"', '\\"')
|
||||
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||
end
|
108
waybar/backup/config
Normal file
108
waybar/backup/config
Normal file
@ -0,0 +1,108 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
|
||||
"modules-left": [
|
||||
"cpu",
|
||||
"custom/cpu_temp",
|
||||
|
||||
"memory",
|
||||
|
||||
"custom/gpu",
|
||||
"custom/gpu_temp",
|
||||
|
||||
"custom/disk",
|
||||
"custom/disk_hdd"
|
||||
],
|
||||
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["custom/net_speed", "network", "pulseaudio","custom/keyboard-state", "tray", "custom/uptime", "custom/power"],
|
||||
"custom/net_speed": {
|
||||
"exec": "~/.config/waybar/scripts/net_speed.sh",
|
||||
"interval": 1,
|
||||
"format": "{}",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"custom/cpu_temp": {
|
||||
"exec": "~/.config/waybar/scripts/cpu_temp.sh",
|
||||
"interval": 1,
|
||||
"format": " {}°C",
|
||||
"return-type": "string"
|
||||
},
|
||||
"memory": {
|
||||
"format": " {used:0.1f}G",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"custom/gpu": {
|
||||
"exec": "~/.config/waybar/scripts/gpu_usage.sh",
|
||||
"interval": 1,
|
||||
"format": " {}%",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"custom/gpu_temp": {
|
||||
"exec": "~/.config/waybar/scripts/gpu_temp.sh",
|
||||
"interval": 1,
|
||||
"format": " {}°C",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"custom/disk": {
|
||||
"exec": "~/.config/waybar/scripts/disk_usage.sh",
|
||||
"interval": 60,
|
||||
"format": " {}",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"custom/disk_hdd": {
|
||||
"exec": "~/.config/waybar/scripts/disk_hdd.sh",
|
||||
"interval": 60,
|
||||
"format": " {}",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": " {:%H:%M %d.%m.%Y}"
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": "🖧 {ipaddr}",
|
||||
"format-disconnected": " No Net"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": " {volume}%",
|
||||
"format-muted": " mute",
|
||||
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing": 10,
|
||||
"types": ["systemtray"]
|
||||
},
|
||||
"custom/uptime": {
|
||||
"exec": "uptime -p | sed 's/up //'",
|
||||
"interval": 60,
|
||||
"format": " {}",
|
||||
"return-type": "string"
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"tooltip": "Power Menu",
|
||||
"on-click": "~/.config/waybar/scripts/power_menu.sh"
|
||||
},
|
||||
"custom/keyboard-state": {
|
||||
"exec": "/home/aneuhmanh/.config/waybar/scripts/keyboard_state_daemon.sh",
|
||||
"format": "{}",
|
||||
"return-type": "text",
|
||||
"tail": true
|
||||
}
|
||||
}
|
97
waybar/backup/style.css
Normal file
97
waybar/backup/style.css
Normal file
@ -0,0 +1,97 @@
|
||||
@import "./frappe.css";
|
||||
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", "Font Awesome 6 Free", sans-serif;
|
||||
font-size: 14px;
|
||||
color: @text;
|
||||
background-color: @base;
|
||||
min-height: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: @base;
|
||||
border-bottom: 2px solid @overlay0;
|
||||
}
|
||||
|
||||
#cpu,
|
||||
#custom-cpu_temp,
|
||||
#memory,
|
||||
#custom-gpu,
|
||||
#custom-gpu_temp,
|
||||
#custom-disk,
|
||||
#custom-disk_hdd,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#clock,
|
||||
#custom-uptime,
|
||||
#custom-power,
|
||||
#custom-keyboard-state,
|
||||
#custom-net_speed {
|
||||
padding: 0 10px;
|
||||
background-color: @surface0;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#tray > * {
|
||||
background-color: @surface0;
|
||||
border-radius: 6px;
|
||||
padding: 4px;
|
||||
}
|
||||
#cpu {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-cpu_temp {
|
||||
margin-left: 6px;
|
||||
}
|
||||
#memory {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-gpu {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-gpu_temp {
|
||||
margin-left: 6px;
|
||||
}
|
||||
#custom-disk {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-disk_hdd {
|
||||
margin-left: 6px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#custom-net_speed {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#network {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#pulseaudio {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-keyboard-state {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-uptime {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-power {
|
||||
margin-left: 12px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
#tray {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
#custom-cpu_temp.critical,
|
||||
#custom-gpu_temp.critical {
|
||||
color: @red;
|
||||
background-color: @overlay1;
|
||||
}
|
108
waybar/config
Normal file
108
waybar/config
Normal file
@ -0,0 +1,108 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
|
||||
"modules-left": [
|
||||
"cpu",
|
||||
"custom/cpu_temp",
|
||||
|
||||
"memory",
|
||||
|
||||
"custom/gpu",
|
||||
"custom/gpu_temp",
|
||||
|
||||
"custom/disk",
|
||||
"custom/disk_hdd"
|
||||
],
|
||||
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["custom/net_speed", "network", "pulseaudio","custom/keyboard-state", "tray", "custom/uptime", "custom/power"],
|
||||
"custom/net_speed": {
|
||||
"exec": "~/.config/waybar/scripts/net_speed.sh",
|
||||
"interval": 1,
|
||||
"format": "{}",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"custom/cpu_temp": {
|
||||
"exec": "~/.config/waybar/scripts/cpu_temp.sh",
|
||||
"interval": 1,
|
||||
"format": " {}°C",
|
||||
"return-type": "string"
|
||||
},
|
||||
"memory": {
|
||||
"format": " {used:0.1f}G",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"custom/gpu": {
|
||||
"exec": "~/.config/waybar/scripts/gpu_usage.sh",
|
||||
"interval": 1,
|
||||
"format": " {}%",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"custom/gpu_temp": {
|
||||
"exec": "~/.config/waybar/scripts/gpu_temp.sh",
|
||||
"interval": 1,
|
||||
"format": " {}°C",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"custom/disk": {
|
||||
"exec": "~/.config/waybar/scripts/disk_usage.sh",
|
||||
"interval": 60,
|
||||
"format": " {}",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"custom/disk_hdd": {
|
||||
"exec": "~/.config/waybar/scripts/disk_hdd.sh",
|
||||
"interval": 60,
|
||||
"format": " {}",
|
||||
"return-type": "string"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": " {:%H:%M %d.%m.%Y}"
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": "🖧 {ipaddr}",
|
||||
"format-disconnected": " No Net"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": " {volume}%",
|
||||
"format-muted": " mute",
|
||||
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing": 10,
|
||||
"types": ["systemtray"]
|
||||
},
|
||||
"custom/uptime": {
|
||||
"exec": "uptime -p | sed 's/up //'",
|
||||
"interval": 60,
|
||||
"format": " {}",
|
||||
"return-type": "string"
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"tooltip": "Power Menu",
|
||||
"on-click": "~/.config/waybar/scripts/power_menu.sh"
|
||||
},
|
||||
"custom/keyboard-state": {
|
||||
"exec": "/home/aneuhmanh/.config/waybar/scripts/keyboard_state_daemon.sh",
|
||||
"format": "{}",
|
||||
"return-type": "text",
|
||||
"tail": true
|
||||
}
|
||||
}
|
26
waybar/frappe.css
Normal file
26
waybar/frappe.css
Normal file
@ -0,0 +1,26 @@
|
||||
@define-color rosewater #f2d5cf;
|
||||
@define-color flamingo #eebebe;
|
||||
@define-color pink #f4b8e4;
|
||||
@define-color mauve #ca9ee6;
|
||||
@define-color red #e78284;
|
||||
@define-color maroon #ea999c;
|
||||
@define-color peach #ef9f76;
|
||||
@define-color yellow #e5c890;
|
||||
@define-color green #a6d189;
|
||||
@define-color teal #81c8be;
|
||||
@define-color sky #99d1db;
|
||||
@define-color sapphire #85c1dc;
|
||||
@define-color blue #8caaee;
|
||||
@define-color lavender #babbf1;
|
||||
@define-color text #c6d0f5;
|
||||
@define-color subtext1 #b5bfe2;
|
||||
@define-color subtext0 #a5adce;
|
||||
@define-color overlay2 #949cbb;
|
||||
@define-color overlay1 #838ba7;
|
||||
@define-color overlay0 #737994;
|
||||
@define-color surface2 #626880;
|
||||
@define-color surface1 #51576d;
|
||||
@define-color surface0 #414559;
|
||||
@define-color base #303446;
|
||||
@define-color mantle #292c3c;
|
||||
@define-color crust #232634;
|
18
waybar/scripts/cpu.sh
Executable file
18
waybar/scripts/cpu.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
if command -v sensors &> /dev/null; then
|
||||
temp=$(sensors | grep -m1 -E 'Package id 0|Tdie|Tctl|Core 0' | grep -oP '\+?\d+(\.\d+)?(?=°C)')
|
||||
if [[ -n "$temp" ]]; then
|
||||
echo "$temp"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -f /sys/class/thermal/thermal_zone0/temp ]]; then
|
||||
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
|
||||
echo "$((temp / 1000))"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "N/A"
|
||||
exit 1
|
20
waybar/scripts/cpu_temp.sh
Executable file
20
waybar/scripts/cpu_temp.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
if command -v sensors &> /dev/null; then
|
||||
raw_temp=$(sensors | grep -m1 -E 'Package id 0|Tdie|Tctl|Core 0' | grep -oP '\+?\d+(\.\d+)?(?=°C)')
|
||||
if [[ -n "$raw_temp" ]]; then
|
||||
# Удалим "+" и округлим
|
||||
clean_temp=$(echo "$raw_temp" | sed 's/+//' | awk '{printf("%d\n", $1)}')
|
||||
echo "$clean_temp"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -f /sys/class/thermal/thermal_zone0/temp ]]; then
|
||||
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
|
||||
echo "$((temp / 1000))"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "N/A"
|
||||
exit 1
|
3
waybar/scripts/datetime.sh
Executable file
3
waybar/scripts/datetime.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
date_str=$(date "+%H:%M:%S %d.%m.%Y")
|
||||
echo "{\"text\":\" $date_str\",\"tooltip\":\"Current Time and Date\"}"
|
4
waybar/scripts/disk.sh
Executable file
4
waybar/scripts/disk.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
main_disk=$(df -h / | awk 'NR==2 {print $3 "/" $2}')
|
||||
hdd_disk=$(df -h /mnt/hdd 2>/dev/null | awk 'NR==2 {print $3 "/" $2}')
|
||||
echo "{\"text\":\" ${main_disk} / ${hdd_disk:-N/A}\",\"tooltip\":\"Disk Usage\"}"
|
11
waybar/scripts/disk_hdd.sh
Executable file
11
waybar/scripts/disk_hdd.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Выводит использование /mnt/hdd (или укажи свой путь)
|
||||
mount_point="/mnt/hdd"
|
||||
|
||||
if mount | grep "$mount_point" > /dev/null; then
|
||||
usage=$(df -h "$mount_point" | awk 'NR==2 {print $3 "/" $2}')
|
||||
echo "$usage"
|
||||
else
|
||||
echo "N/A"
|
||||
fi
|
4
waybar/scripts/disk_usage.sh
Executable file
4
waybar/scripts/disk_usage.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
used=$(df -h / | awk 'NR==2 {print $3 "/" $2}')
|
||||
echo "$used"
|
11
waybar/scripts/gpu.sh
Executable file
11
waybar/scripts/gpu.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
USAGE=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | head -n1)
|
||||
TEMP=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits | head -n1)
|
||||
|
||||
if [[ -z "$USAGE" || -z "$TEMP" ]]; then
|
||||
echo '{"icon": "", "usage": "?", "temp": "?"}'
|
||||
else
|
||||
echo "{\"icon\": \"\", \"usage\": \"$USAGE\", \"temp\": \"$TEMP\"}"
|
||||
fi
|
||||
|
16
waybar/scripts/gpu_temp.sh
Executable file
16
waybar/scripts/gpu_temp.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
if command -v nvidia-smi &> /dev/null; then
|
||||
temp=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits | head -n1)
|
||||
echo "$temp"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v sensors &> /dev/null; then
|
||||
temp=$(sensors | grep -iE 'edge|junction|temp1' | grep -Eo '[0-9]+(\.[0-9]+)?°C' | head -n1 | tr -d '°C')
|
||||
echo "$temp"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "N/A"
|
||||
exit 1
|
16
waybar/scripts/gpu_usage.sh
Executable file
16
waybar/scripts/gpu_usage.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
if command -v nvidia-smi &> /dev/null; then
|
||||
usage=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | head -n1)
|
||||
echo "$usage"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v radeontop &> /dev/null; then
|
||||
usage=$(radeontop -d - -l 1 | grep -m1 "gpu" | awk '{print $2}' | tr -d '%')
|
||||
echo "$usage"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "N/A"
|
||||
exit 1
|
14
waybar/scripts/keyboard_state.sh
Executable file
14
waybar/scripts/keyboard_state.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
|
||||
layout=$(hyprctl devices -j | jq -r '.keyboards[] | select(.main==true) | .active_keymap')
|
||||
else
|
||||
layout=$(setxkbmap -query | grep layout | awk '{print $2}')
|
||||
fi
|
||||
|
||||
case "$layout" in
|
||||
*English*) layout="EN" ;;
|
||||
*Russian*) layout="RU" ;;
|
||||
esac
|
||||
|
||||
echo "$layout"
|
17
waybar/scripts/keyboard_state_daemon.sh
Executable file
17
waybar/scripts/keyboard_state_daemon.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
current_layout=""
|
||||
|
||||
while true; do
|
||||
layout=$(hyprctl -j devices | jq -r '.keyboards[] | select(.main==true) | .active_keymap')
|
||||
|
||||
[[ "$layout" == *Russian* ]] && layout="RU"
|
||||
[[ "$layout" == *English* ]] && layout="EN"
|
||||
|
||||
if [ "$layout" != "$current_layout" ]; then
|
||||
echo "$layout"
|
||||
current_layout="$layout"
|
||||
fi
|
||||
|
||||
sleep 0.1
|
||||
done
|
3
waybar/scripts/memory.sh
Executable file
3
waybar/scripts/memory.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
read total used <<<$(free -m | awk '/Mem:/ {print $2, $3}')
|
||||
echo "{\"text\":\" ${used}M/${total}M\",\"tooltip\":\"Memory Usage\"}"
|
37
waybar/scripts/net_speed.sh
Executable file
37
waybar/scripts/net_speed.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
INTERFACE=$(ip route | grep default | awk '{print $5}' | head -n1)
|
||||
STATE_FILE="/tmp/.net_speed_prev_$INTERFACE"
|
||||
|
||||
RX_NOW=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
|
||||
TX_NOW=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
|
||||
TIME_NOW=$(date +%s)
|
||||
|
||||
if [[ ! -f "$STATE_FILE" ]]; then
|
||||
echo "$RX_NOW $TX_NOW $TIME_NOW" > "$STATE_FILE"
|
||||
echo "0↓ 0↑"
|
||||
exit
|
||||
fi
|
||||
|
||||
read RX_PREV TX_PREV TIME_PREV < "$STATE_FILE"
|
||||
RX_DIFF=$((RX_NOW - RX_PREV))
|
||||
TX_DIFF=$((TX_NOW - TX_PREV))
|
||||
TIME_DIFF=$((TIME_NOW - TIME_PREV))
|
||||
echo "$RX_NOW $TX_NOW $TIME_NOW" > "$STATE_FILE"
|
||||
(( TIME_DIFF == 0 )) && TIME_DIFF=1
|
||||
|
||||
RX_RATE=$((RX_DIFF / TIME_DIFF))
|
||||
TX_RATE=$((TX_DIFF / TIME_DIFF))
|
||||
|
||||
format_speed() {
|
||||
local b=$1
|
||||
if (( b > 1048576 )); then
|
||||
echo "$((b / 1048576))M"
|
||||
elif (( b > 1024 )); then
|
||||
echo "$((b / 1024))K"
|
||||
else
|
||||
echo "${b}B"
|
||||
fi
|
||||
}
|
||||
|
||||
echo "$(format_speed $RX_RATE)↓ $(format_speed $TX_RATE)↑"
|
35
waybar/scripts/net_speed_daemon.sh
Executable file
35
waybar/scripts/net_speed_daemon.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
INTERFACE=$(ip route get 8.8.8.8 2>/dev/null | awk '{print $5; exit}')
|
||||
[ -z "$INTERFACE" ] && INTERFACE="eth0"
|
||||
|
||||
RX_PATH="/sys/class/net/$INTERFACE/statistics/rx_bytes"
|
||||
TX_PATH="/sys/class/net/$INTERFACE/statistics/tx_bytes"
|
||||
|
||||
OUTFILE="/tmp/waybar_net_speed_output"
|
||||
|
||||
prev_rx=$(cat "$RX_PATH")
|
||||
prev_tx=$(cat "$TX_PATH")
|
||||
prev_time=$(date +%s)
|
||||
|
||||
while true; do
|
||||
sleep 1
|
||||
|
||||
cur_rx=$(cat "$RX_PATH")
|
||||
cur_tx=$(cat "$TX_PATH")
|
||||
cur_time=$(date +%s)
|
||||
|
||||
drx=$((cur_rx - prev_rx))
|
||||
dtx=$((cur_tx - prev_tx))
|
||||
dt=$((cur_time - prev_time))
|
||||
|
||||
if (( dt > 0 )); then
|
||||
rx_mbps=$(awk "BEGIN { printf \"%.1f\", $drx * 8 / 1024 / 1024 / $dt }")
|
||||
tx_mbps=$(awk "BEGIN { printf \"%.1f\", $dtx * 8 / 1024 / 1024 / $dt }")
|
||||
echo " ${rx_mbps}Mbit/s ${tx_mbps}Mbit/s" > "$OUTFILE"
|
||||
fi
|
||||
|
||||
prev_rx=$cur_rx
|
||||
prev_tx=$cur_tx
|
||||
prev_time=$cur_time
|
||||
done
|
8
waybar/scripts/net_speedtest.sh
Executable file
8
waybar/scripts/net_speedtest.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
result=$(speedtest-cli --simple 2>/dev/null)
|
||||
|
||||
download=$(echo "$result" | grep "Download" | awk '{print $2, $3}')
|
||||
upload=$(echo "$result" | grep "Upload" | awk '{print $2, $3}')
|
||||
|
||||
echo " $download ↓↑ $upload"
|
13
waybar/scripts/power_menu.sh
Executable file
13
waybar/scripts/power_menu.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
choice=$(echo -e "⏻ Shutdown\n Reboot\n Lock\n Logout\n Suspend\n Hibernate\nCancel" | wofi --dmenu --width=250 --height=300 --prompt="Power Menu")
|
||||
|
||||
case "$choice" in
|
||||
*Shutdown) systemctl poweroff ;;
|
||||
*Reboot) systemctl reboot ;;
|
||||
*Lock) hyprlock ;;
|
||||
*Logout) hyprctl dispatch exit ;;
|
||||
*Suspend) systemctl suspend ;;
|
||||
*Hibernate) systemctl hibernate ;;
|
||||
*) ;;
|
||||
esac
|
8
waybar/scripts/volume.sh
Executable file
8
waybar/scripts/volume.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
muted=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
||||
vol=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}')
|
||||
if [ "$muted" = "yes" ]; then
|
||||
echo "{\"text\":\" MUTE\",\"tooltip\":\"Volume muted\"}"
|
||||
else
|
||||
echo "{\"text\":\" $vol\",\"tooltip\":\"Volume\"}"
|
||||
fi
|
97
waybar/style.css
Normal file
97
waybar/style.css
Normal file
@ -0,0 +1,97 @@
|
||||
@import "./frappe.css";
|
||||
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", "Font Awesome 6 Free", sans-serif;
|
||||
font-size: 14px;
|
||||
color: @text;
|
||||
background-color: @base;
|
||||
min-height: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: @base;
|
||||
border-bottom: 2px solid @overlay0;
|
||||
}
|
||||
|
||||
#cpu,
|
||||
#custom-cpu_temp,
|
||||
#memory,
|
||||
#custom-gpu,
|
||||
#custom-gpu_temp,
|
||||
#custom-disk,
|
||||
#custom-disk_hdd,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#clock,
|
||||
#custom-uptime,
|
||||
#custom-power,
|
||||
#custom-keyboard-state,
|
||||
#custom-net_speed {
|
||||
padding: 0 10px;
|
||||
background-color: @surface0;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#tray > * {
|
||||
background-color: @surface0;
|
||||
border-radius: 6px;
|
||||
padding: 4px;
|
||||
}
|
||||
#cpu {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-cpu_temp {
|
||||
margin-left: 6px;
|
||||
}
|
||||
#memory {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-gpu {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-gpu_temp {
|
||||
margin-left: 6px;
|
||||
}
|
||||
#custom-disk {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-disk_hdd {
|
||||
margin-left: 6px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#custom-net_speed {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#network {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#pulseaudio {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-keyboard-state {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-uptime {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#custom-power {
|
||||
margin-left: 12px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
#tray {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
#custom-cpu_temp.critical,
|
||||
#custom-gpu_temp.critical {
|
||||
color: @red;
|
||||
background-color: @overlay1;
|
||||
}
|
26
waybar/themes/frappe.css
Normal file
26
waybar/themes/frappe.css
Normal file
@ -0,0 +1,26 @@
|
||||
@define-color rosewater #f2d5cf;
|
||||
@define-color flamingo #eebebe;
|
||||
@define-color pink #f4b8e4;
|
||||
@define-color mauve #ca9ee6;
|
||||
@define-color red #e78284;
|
||||
@define-color maroon #ea999c;
|
||||
@define-color peach #ef9f76;
|
||||
@define-color yellow #e5c890;
|
||||
@define-color green #a6d189;
|
||||
@define-color teal #81c8be;
|
||||
@define-color sky #99d1db;
|
||||
@define-color sapphire #85c1dc;
|
||||
@define-color blue #8caaee;
|
||||
@define-color lavender #babbf1;
|
||||
@define-color text #c6d0f5;
|
||||
@define-color subtext1 #b5bfe2;
|
||||
@define-color subtext0 #a5adce;
|
||||
@define-color overlay2 #949cbb;
|
||||
@define-color overlay1 #838ba7;
|
||||
@define-color overlay0 #737994;
|
||||
@define-color surface2 #626880;
|
||||
@define-color surface1 #51576d;
|
||||
@define-color surface0 #414559;
|
||||
@define-color base #303446;
|
||||
@define-color mantle #292c3c;
|
||||
@define-color crust #232634;
|
Loading…
x
Reference in New Issue
Block a user