added hyprland config
This commit is contained in:
parent
bab502e1ef
commit
f231237350
|
@ -25,7 +25,9 @@ fi
|
||||||
# . torsocks on
|
# . torsocks on
|
||||||
export PROMPT_EOL_MARK=""
|
export PROMPT_EOL_MARK=""
|
||||||
export EDITOR="nvim"
|
export EDITOR="nvim"
|
||||||
export BROWSER="/home/iceyrazor/.local/bin/zen-x86_64.AppImage"
|
# idk which one works
|
||||||
|
# export BROWSER="/home/iceyrazor/.local/bin/zen-x86_64.AppImage"
|
||||||
|
export BROWSER="zen.desktop"
|
||||||
export PREFIX=/usr
|
export PREFIX=/usr
|
||||||
export PATH="$PATH:$HOME/.cargo/bin:$HOME/stuff/scripts/system:$HOME/stuff/scripts/system/backup:$HOME/stuff/scripts/system/wlx:$HOME/stuff/scripts/system/youtube-playlist-cli:$HOME/.local/bin/blender-4.1.1-linux-x64:$HOME/stuff/manual-programs/app-images"
|
export PATH="$PATH:$HOME/.cargo/bin:$HOME/stuff/scripts/system:$HOME/stuff/scripts/system/backup:$HOME/stuff/scripts/system/wlx:$HOME/stuff/scripts/system/youtube-playlist-cli:$HOME/.local/bin/blender-4.1.1-linux-x64:$HOME/stuff/manual-programs/app-images"
|
||||||
export MANPAGER='nvim +Man!'
|
export MANPAGER='nvim +Man!'
|
||||||
|
@ -82,7 +84,9 @@ alias pipes="pipes.sh -t 0 -p 3 -f 30 -r 2000"
|
||||||
|
|
||||||
alias bri="fukn ~/stuff/scripts/system/bri.sh"
|
alias bri="fukn ~/stuff/scripts/system/bri.sh"
|
||||||
# alias drkwll="nitrogen --head=0 --set-zoom-fill ~/stuff/media/gallifreyan/linux2.png && nitrogen --head=1 --set-zoom-fill ~/stuff/media/gallifreyan/linux2.png"
|
# alias drkwll="nitrogen --head=0 --set-zoom-fill ~/stuff/media/gallifreyan/linux2.png && nitrogen --head=1 --set-zoom-fill ~/stuff/media/gallifreyan/linux2.png"
|
||||||
alias drkwll="nitrogen --head=0 --set-zoom-fill ~/stuff/media/wallpapers/dark_leaves.png && nitrogen --head=1 --set-zoom-fill ~/stuff/media/wallpapers/dark_leaves.png"
|
# alias drkwll="nitrogen --head=0 --set-zoom-fill ~/stuff/media/wallpapers/dark_leaves.png && nitrogen --head=1 --set-zoom-fill ~/stuff/media/wallpapers/dark_leaves.png"
|
||||||
|
alias drkwll="[ -z $WAYLAND_DISPLAY ] && nitrogen --head=0 --set-zoom-fill ~/stuff/media/wallpapers/dark_leaves.png && nitrogen --head=1 --set-zoom-fill ~/stuff/media/wallpapers/dark_leaves.png || hyprctl hyprpaper wallpaper 'HDMI-A-1,/home/iceyrazor/stuff/media/wallpapers/dark_leaves.png' && hyprctl hyprpaper wallpaper 'DP-1,/home/iceyrazor/stuff/media/wallpapers/dark_leaves.png'"
|
||||||
|
alias reswll="hyprctl hyprpaper wallpaper 'HDMI-A-1,/home/iceyrazor/stuff/media/wallpapers/4500025-retrowave-vaporwave-car-typography-purple-blue-chromatic-aberration-initial-d-hachi-roku.jpg' && hyprctl hyprpaper wallpaper 'DP-1,/home/iceyrazor/stuff/media/wallpapers/tumblr_06bbd355f3e355049446dac24f6e7c44_2c486f77_1280 ninesols.jpg'"
|
||||||
|
|
||||||
# mounting
|
# mounting
|
||||||
alias umsu="fukn umount u"
|
alias umsu="fukn umount u"
|
||||||
|
|
|
@ -0,0 +1,283 @@
|
||||||
|
## 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 = 512
|
||||||
|
bar_width = 1
|
||||||
|
; bar_spacing = 0
|
||||||
|
# bar_height is only used for output in "noritake" format
|
||||||
|
; bar_height = 32
|
||||||
|
|
||||||
|
# For SDL width and space between bars is in pixels, defaults are:
|
||||||
|
; bar_width = 20
|
||||||
|
; bar_spacing = 5
|
||||||
|
|
||||||
|
# sdl_glsl have these default values, they are only used to calculate max number of bars.
|
||||||
|
; bar_width = 1
|
||||||
|
; bar_spacing = 0
|
||||||
|
|
||||||
|
|
||||||
|
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||||
|
# the bandwidth of the visualizer.
|
||||||
|
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||||
|
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||||
|
; lower_cutoff_freq = 50
|
||||||
|
; higher_cutoff_freq = 10000
|
||||||
|
|
||||||
|
|
||||||
|
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||||
|
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||||
|
; sleep_timer = 0
|
||||||
|
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
|
||||||
|
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
|
||||||
|
# On Mac it defaults to 'portaudio' or 'fifo'
|
||||||
|
# On windows this is automatic and no input settings are needed.
|
||||||
|
#
|
||||||
|
# All input methods uses the same config variable 'source'
|
||||||
|
# to define where it should get the audio.
|
||||||
|
#
|
||||||
|
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||||
|
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||||
|
#
|
||||||
|
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
|
||||||
|
# Both input and output devices are supported.
|
||||||
|
#
|
||||||
|
# For alsa 'source' will be the capture device.
|
||||||
|
# For fifo 'source' will be the path to fifo-file.
|
||||||
|
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||||
|
#
|
||||||
|
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
|
||||||
|
# README.md contains further information on how to setup CAVA for sndio.
|
||||||
|
#
|
||||||
|
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
|
||||||
|
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
|
||||||
|
#
|
||||||
|
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
|
||||||
|
# README.md contains further information on how to setup CAVA for JACK.
|
||||||
|
#
|
||||||
|
; method = pulse
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = pipewire
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = alsa
|
||||||
|
; source = hw:Loopback,1
|
||||||
|
|
||||||
|
; method = fifo
|
||||||
|
; source = /tmp/mpd.fifo
|
||||||
|
|
||||||
|
; method = shmem
|
||||||
|
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||||
|
|
||||||
|
; method = portaudio
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = sndio
|
||||||
|
; source = default
|
||||||
|
|
||||||
|
; method = oss
|
||||||
|
; source = /dev/dsp
|
||||||
|
|
||||||
|
; method = jack
|
||||||
|
; source = default
|
||||||
|
|
||||||
|
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
|
||||||
|
# sample_rate: fifo, pipewire, sndio, oss
|
||||||
|
# sample_bits: fifo, pipewire, sndio, oss
|
||||||
|
# channels: sndio, oss, jack
|
||||||
|
# autoconnect: jack
|
||||||
|
# Other methods ignore these settings.
|
||||||
|
#
|
||||||
|
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
|
||||||
|
# by the chosen audio device, the device will use other supported values instead.
|
||||||
|
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
|
||||||
|
# will use 44100, 16 and 1.
|
||||||
|
#
|
||||||
|
; sample_rate = 44100
|
||||||
|
; sample_bits = 16
|
||||||
|
; channels = 2
|
||||||
|
; autoconnect = 2
|
||||||
|
|
||||||
|
|
||||||
|
[output]
|
||||||
|
|
||||||
|
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
|
||||||
|
# or 'sdl_glsl'.
|
||||||
|
# 'noncurses' (default) uses a buffer and cursor movements to only print
|
||||||
|
# changes from frame to frame in the terminal. Uses less resources and is less
|
||||||
|
# prone to tearing (vsync issues) than 'ncurses'.
|
||||||
|
#
|
||||||
|
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||||
|
# stream of the bar heights that can be used to send to other applications.
|
||||||
|
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||||
|
#
|
||||||
|
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
|
||||||
|
# in graphic mode. It only support the 3000 series graphical VFDs for now.
|
||||||
|
#
|
||||||
|
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
|
||||||
|
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
|
||||||
|
# use one of the predefined ones.
|
||||||
|
; method = noncurses
|
||||||
|
|
||||||
|
# Orientation of the visualization. Can be 'bottom', 'top', 'left', 'right' or
|
||||||
|
# 'horizontal'. Default is 'bottom'. 'left and 'right' are only supported on sdl
|
||||||
|
# and ncruses output. 'horizontal' (bars go up and down from center) is only supported
|
||||||
|
# on noncurses output.
|
||||||
|
# Note: many fonts have weird or missing glyphs for characters used in orientations
|
||||||
|
# other than 'bottom', which can make output not look right.
|
||||||
|
; orientation = bottom
|
||||||
|
|
||||||
|
# Visual channels. Can be 'stereo' or 'mono'.
|
||||||
|
# 'stereo' mirrors both channels with low frequencies in center.
|
||||||
|
# 'mono' outputs left to right lowest to highest frequencies.
|
||||||
|
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||||
|
# set 'reverse' to 1 to display frequencies the other way around.
|
||||||
|
; channels = stereo
|
||||||
|
; mono_option = average
|
||||||
|
; reverse = 0
|
||||||
|
|
||||||
|
# Raw output target.
|
||||||
|
# On Linux, a fifo will be created if target does not exist.
|
||||||
|
# On Windows, a named pipe will be created if target does not exist.
|
||||||
|
; raw_target = /dev/stdout
|
||||||
|
|
||||||
|
# Raw data format. Can be 'binary' or 'ascii'.
|
||||||
|
; data_format = binary
|
||||||
|
|
||||||
|
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||||
|
; bit_format = 16bit
|
||||||
|
|
||||||
|
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||||
|
; ascii_max_range = 1000
|
||||||
|
|
||||||
|
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||||
|
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||||
|
; bar_delimiter = 59
|
||||||
|
; frame_delimiter = 10
|
||||||
|
|
||||||
|
# sdl window size and position. -1,-1 is centered.
|
||||||
|
; sdl_width = 1000
|
||||||
|
; sdl_height = 500
|
||||||
|
; sdl_x = -1
|
||||||
|
; sdl_y= -1
|
||||||
|
; sdl_full_screen = 0
|
||||||
|
|
||||||
|
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
|
||||||
|
# 'frequency' displays the lower cut off frequency of the bar above.
|
||||||
|
# Only supported on ncurses and noncurses output.
|
||||||
|
; xaxis = none
|
||||||
|
|
||||||
|
# enable synchronized sync. 1 = on, 0 = off
|
||||||
|
# removes flickering in alacritty terminal emulator.
|
||||||
|
# defaults to off since the behaviour in other terminal emulators is unknown
|
||||||
|
; synchronized_sync = 0
|
||||||
|
|
||||||
|
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
|
||||||
|
; vertex_shader = pass_through.vert
|
||||||
|
; fragment_shader = bar_spectrum.frag
|
||||||
|
|
||||||
|
; for glsl output mode, keep rendering even if no audio
|
||||||
|
; continuous_rendering = 0
|
||||||
|
|
||||||
|
# disable console blank (screen saver) in tty
|
||||||
|
# (Not supported on FreeBSD)
|
||||||
|
; disable_blanking = 0
|
||||||
|
|
||||||
|
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
|
||||||
|
; show_idle_bar_heads = 1
|
||||||
|
|
||||||
|
# show waveform instead of frequency spectrum, 1 = on, 0 = off
|
||||||
|
; waveform = 0
|
||||||
|
|
||||||
|
[color]
|
||||||
|
|
||||||
|
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||||
|
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||||
|
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||||
|
# default is to keep current terminal color
|
||||||
|
; background = default
|
||||||
|
foreground = magenta
|
||||||
|
; foreground = default
|
||||||
|
|
||||||
|
# SDL and sdl_glsl only support hex code colors, these are the default:
|
||||||
|
; background = '#111111'
|
||||||
|
; foreground = '#33ffff'
|
||||||
|
|
||||||
|
|
||||||
|
# Gradient mode, only hex defined colors are supported,
|
||||||
|
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||||
|
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||||
|
; gradient = 0
|
||||||
|
; gradient_color_1 = '#59cc33'
|
||||||
|
; gradient_color_2 = '#80cc33'
|
||||||
|
; gradient_color_3 = '#a6cc33'
|
||||||
|
; gradient_color_4 = '#cccc33'
|
||||||
|
; gradient_color_5 = '#cca633'
|
||||||
|
; gradient_color_6 = '#cc8033'
|
||||||
|
; gradient_color_7 = '#cc5933'
|
||||||
|
; gradient_color_8 = '#cc3333'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[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 = 20
|
||||||
|
|
||||||
|
|
||||||
|
[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
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
if [ -z $(hyprctl getoption general:layout | grep master ) ]; then
|
||||||
|
hyprctl keyword general:layout master
|
||||||
|
else
|
||||||
|
hyprctl keyword general:layout dwindle
|
||||||
|
fi
|
|
@ -0,0 +1,414 @@
|
||||||
|
|
||||||
|
# #######################################################################################
|
||||||
|
# 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.
|
||||||
|
# #######################################################################################
|
||||||
|
|
||||||
|
# autogenerated = 1 # remove this line to remove the warning
|
||||||
|
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = GBM_BACKEND,nvidia-drm
|
||||||
|
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = XDG_SESSION_DESKTOP,Hyprland
|
||||||
|
env = GDK_BACKEND,wayland,x11,*
|
||||||
|
env = HYPRLAND_PER_MONITOR_WORKSPACES,1
|
||||||
|
|
||||||
|
|
||||||
|
windowrule = float,title:^(flameshot)
|
||||||
|
windowrule = move 0 0,title:^(flameshot)
|
||||||
|
windowrule = suppressevent fullscreen,title:^(flameshot)
|
||||||
|
|
||||||
|
exec-once = pipewire
|
||||||
|
exec-once = wireplumber
|
||||||
|
exec-once = pipewire-pulse
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = /usr/lib/xdg-desktop-portal &
|
||||||
|
exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once = ibus-daemon -rxRd
|
||||||
|
exec-once = hyprpaper
|
||||||
|
|
||||||
|
# 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,prefered,0x0,0.8
|
||||||
|
monitor=DP-1,1024x768,auto,0.8
|
||||||
|
|
||||||
|
|
||||||
|
workspace=HDMI-A-1,1
|
||||||
|
workspace=DP-1,1
|
||||||
|
|
||||||
|
workspace = 1,monitor:HDMI-A-1,default:true
|
||||||
|
workspace = 2,monitor:HDMI-A-1
|
||||||
|
workspace = 3,monitor:HDMI-A-1
|
||||||
|
workspace = 4,monitor:HDMI-A-1
|
||||||
|
workspace = 5,monitor:HDMI-A-1
|
||||||
|
workspace = 6,monitor:HDMI-A-1
|
||||||
|
workspace = 7,monitor:HDMI-A-1
|
||||||
|
workspace = 8,monitor:HDMI-A-1
|
||||||
|
workspace = 9,monitor:HDMI-A-1
|
||||||
|
workspace = 10,monitor:HDMI-A-1
|
||||||
|
|
||||||
|
workspace = 11,monitor:DP-1,default:true
|
||||||
|
workspace = 12,monitor:DP-1
|
||||||
|
workspace = 13,monitor:DP-1
|
||||||
|
workspace = 14,monitor:DP-1
|
||||||
|
workspace = 15,monitor:DP-1
|
||||||
|
workspace = 16,monitor:DP-1
|
||||||
|
workspace = 17,monitor:DP-1
|
||||||
|
workspace = 18,monitor:DP-1
|
||||||
|
workspace = 19,monitor:DP-1
|
||||||
|
workspace = 20,monitor:DP-1
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = wezterm
|
||||||
|
$fileManager = pcmanfm
|
||||||
|
$menu = rofi -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 & hyprpaper & firefox
|
||||||
|
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
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 = 5
|
||||||
|
|
||||||
|
border_size = 1
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||||
|
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.active_border = rgba(8568e6ee) rgba(cf68e6ee) 45deg
|
||||||
|
col.active_border = rgba(cf68e6ee) rgba(8568e6ee) 45deg
|
||||||
|
#33ccff
|
||||||
|
#00ff99
|
||||||
|
#8568e6
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 0
|
||||||
|
rounding_power = 2
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||||
|
animations {
|
||||||
|
enabled = yes, please :)
|
||||||
|
|
||||||
|
# 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. :(
|
||||||
|
focus_on_activate = true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
special_fallthrough = true
|
||||||
|
|
||||||
|
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, return, exec, $terminal
|
||||||
|
bind = $mainMod, Q, killactive,
|
||||||
|
bind = $mainMod SHIFT, Q, exit,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, space, togglefloating,
|
||||||
|
bind = $mainMod, D, exec, $menu
|
||||||
|
bind = $mainMod SHIFT, D, exec, echo \"\" | rofi -x11 -dmenu -p 'Search' | xargs -I{} xdg-open 'https://searx.iceyfox.xyz/search?q={}'
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, i, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, f, fullscreen, 0
|
||||||
|
bind = $mainMod SHIFT, m, fullscreen, 1
|
||||||
|
|
||||||
|
# layout stuffs
|
||||||
|
bind = $mainMod SHIFT, space, exec, /home/iceyrazor/.config/hypr/cycle-layout.sh
|
||||||
|
bind = $mainMod SHIFT, i, layoutmsg, cyclenext
|
||||||
|
bind = $mainMod, z, layoutmsg, swapwithmaster master
|
||||||
|
# behaves like xmonads promote feature (https://hackage.haskell.org/package/xmonad-contrib-0.17.1/docs/XMonad-Actions-Promote.html)
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, h, alterzorder, top
|
||||||
|
bind = $mainMod, l, alterzorder, top
|
||||||
|
bind = $mainMod, k, alterzorder, top
|
||||||
|
bind = $mainMod, j, alterzorder, top
|
||||||
|
bind = $mainMod, h, movefocus, l
|
||||||
|
bind = $mainMod, l, movefocus, r
|
||||||
|
bind = $mainMod, k, movefocus, u
|
||||||
|
bind = $mainMod, j, movefocus, d
|
||||||
|
# bind = $mainMod, h, bringactivetop,
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, h, movewindow, l
|
||||||
|
bind = $mainMod SHIFT, l, movewindow, r
|
||||||
|
bind = $mainMod SHIFT, k, movewindow, u
|
||||||
|
bind = $mainMod SHIFT, j, movewindow, d
|
||||||
|
bind = $mainMod, t, pin
|
||||||
|
|
||||||
|
bind = $mainMod CTRL, j, focusmonitor, +1
|
||||||
|
bind = $mainMod, o, movewindow, mon:+1
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, r~1
|
||||||
|
bind = $mainMod, 2, workspace, r~2
|
||||||
|
bind = $mainMod, 3, workspace, r~3
|
||||||
|
bind = $mainMod, 4, workspace, r~4
|
||||||
|
bind = $mainMod, 5, workspace, r~5
|
||||||
|
bind = $mainMod, 6, workspace, r~6
|
||||||
|
bind = $mainMod, 7, workspace, r~7
|
||||||
|
bind = $mainMod, 8, workspace, r~8
|
||||||
|
bind = $mainMod, 9, workspace, r~9
|
||||||
|
bind = $mainMod, 0, workspace, r~10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, r~1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, r~2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, r~3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, r~4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, r~5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, r~6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, r~7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, r~8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, r~9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, r~10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
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_SOURCE@ toggle
|
||||||
|
# pactl set-source-mute @DEFAULT_SOURCE@ 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%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
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 ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
xwayland {
|
||||||
|
force_zero_scaling = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
windowrule = float, title:Gajim
|
||||||
|
windowrule = monitor DP-1, title:Gajim
|
||||||
|
windowrule = move 100%-w-5 100%-w-40, title:Gajim
|
||||||
|
windowrule = size 60% 60%, title:Gajim
|
||||||
|
windowrule = workspace 11, title:Gajim
|
||||||
|
|
||||||
|
windowrule = float, class:vesktop
|
||||||
|
windowrule = monitor DP-1, class:vesktop
|
||||||
|
windowrule = move 0% 0%, class:vesktop
|
||||||
|
windowrule = size 60% 60%, title:vesktop
|
||||||
|
windowrule = workspace 11, title:vesktop
|
||||||
|
|
||||||
|
windowrule = workspace 9, title: Envision
|
||||||
|
|
||||||
|
windowrule = workspace 8, title: VRChat
|
|
@ -0,0 +1,13 @@
|
||||||
|
preload = /home/iceyrazor/stuff/media/wallpapers/4500025-retrowave-vaporwave-car-typography-purple-blue-chromatic-aberration-initial-d-hachi-roku.jpg
|
||||||
|
preload = /home/iceyrazor/stuff/media/wallpapers/tumblr_06bbd355f3e355049446dac24f6e7c44_2c486f77_1280 ninesols.jpg
|
||||||
|
preload = /home/iceyrazor/stuff/media/wallpapers/dark_leaves.png
|
||||||
|
|
||||||
|
#set the default wallpaper(s) seen on initial workspace(s) --depending on the number of monitors used
|
||||||
|
wallpaper = HDMI-A-1,/home/iceyrazor/stuff/media/wallpapers/4500025-retrowave-vaporwave-car-typography-purple-blue-chromatic-aberration-initial-d-hachi-roku.jpg
|
||||||
|
wallpaper = DP-1,/home/iceyrazor/stuff/media/wallpapers/tumblr_06bbd355f3e355049446dac24f6e7c44_2c486f77_1280 ninesols.jpg
|
||||||
|
|
||||||
|
#enable splash text rendering over the wallpaper
|
||||||
|
splash = true
|
||||||
|
|
||||||
|
#fully disable ipc
|
||||||
|
# ipc = off
|
|
@ -16,12 +16,16 @@ local cmp_select = {behavior = cmp.SelectBehavior.Select}
|
||||||
local cmp_mappings = cmp.mapping.preset.insert({
|
local cmp_mappings = cmp.mapping.preset.insert({
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
['<C-i>'] = cmp.mapping.confirm({ select = true }),
|
||||||
["<C-Space>"] = cmp.mapping.complete(),
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
})
|
})
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
mapping = cmp_mappings
|
mapping = cmp_mappings,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = true,
|
||||||
})
|
})
|
||||||
|
|
||||||
lsp.on_attach(function(client, bufnr)
|
lsp.on_attach(function(client, bufnr)
|
||||||
|
|
|
@ -0,0 +1,180 @@
|
||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "bottom",
|
||||||
|
"modules-left": ["hyprland/workspaces"],
|
||||||
|
|
||||||
|
//"modules-center": ["clock", ], //"custom/weather"],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"custom/mic",
|
||||||
|
"pulseaudio",
|
||||||
|
//"backlight",
|
||||||
|
"battery",
|
||||||
|
"network",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
//"custom/docker",
|
||||||
|
"custom/disc",
|
||||||
|
"custom/rss",
|
||||||
|
"clock",
|
||||||
|
"tray",
|
||||||
|
"custom/lock",
|
||||||
|
"custom/power"
|
||||||
|
],
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
//"format": "{name}: {icon}",
|
||||||
|
//"all-outputs":true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
/*
|
||||||
|
"1": "",
|
||||||
|
"2": "",
|
||||||
|
"3": "",
|
||||||
|
"4": "",
|
||||||
|
"5": ""
|
||||||
|
*/
|
||||||
|
"1":" ",
|
||||||
|
"2":" ",
|
||||||
|
"3":" ",
|
||||||
|
"4":" ",
|
||||||
|
"5":" ",
|
||||||
|
"6":" ",
|
||||||
|
"7":" ",
|
||||||
|
"8":" ",
|
||||||
|
"9":" ",
|
||||||
|
"10":" ",
|
||||||
|
"11":" ",
|
||||||
|
"12":" ",
|
||||||
|
"13":" ",
|
||||||
|
"14":" ",
|
||||||
|
"15":" ",
|
||||||
|
"16":" ",
|
||||||
|
"17":" ",
|
||||||
|
"18":" ",
|
||||||
|
"19":" ",
|
||||||
|
"20":" "
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [], // Always show a workspace with name '3', on all outputs if it does not exists
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": [],
|
||||||
|
"6": [],
|
||||||
|
"7": [],
|
||||||
|
"8": [],
|
||||||
|
"9": [],
|
||||||
|
"10": []
|
||||||
|
},
|
||||||
|
*/
|
||||||
|
"sort-by-name": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 16,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/music": {
|
||||||
|
"format": " {}",
|
||||||
|
"escape": true,
|
||||||
|
"interval": 5,
|
||||||
|
"tooltip": false,
|
||||||
|
"exec": "playerctl metadata --format='{{ artist }} - {{ title }}'",
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"max-length": 50
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"timezone": "America/Chicago",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": "{:%m/%d/%Y - %I:%M:%S}",
|
||||||
|
"interval": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"interface": "wlan0",
|
||||||
|
"format-wifi": " {bandwidthDownBits}",
|
||||||
|
"format-ethernet": " {bandwidthDownBits}",
|
||||||
|
"format-disconnected": " No Network",
|
||||||
|
"interval": 5,
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"tooltip-format-ethernet": "{ifname} ",
|
||||||
|
"tooltip-format-disconnected": "Disconnected"
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {icon0}{icon1}{icon2}{icon3} {usage:>2}%",
|
||||||
|
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {used:0.1f}G/{total:0.1f}G"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/uptime": {
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 1600,
|
||||||
|
"exec": "sh -c '(uptime -p)'"
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", " "]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "wlogout &",
|
||||||
|
"format": "⏻"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/docker": {
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 10,
|
||||||
|
"exec": "$(pwd)/scripts/docker-stats/docker-stats",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/weather": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": true,
|
||||||
|
"interval": 1800,
|
||||||
|
"exec": "$(pwd)/scripts/weather-stats/weather-stats",
|
||||||
|
"return-type": "json"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/rss": {
|
||||||
|
"format": " {}",
|
||||||
|
"interval": 3,
|
||||||
|
"exec": "/usr/bin/newsboat -x print-unread|sed 's/\\s.*//; s/Error:/IA/'"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/disc": {
|
||||||
|
"format": " {}",
|
||||||
|
"interval": 3,
|
||||||
|
"exec": "df -h -x=used /dev/mapper/artix-root | sed '1d' | awk '{print $4}'| sed 's/[^0-9]*//g'"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/mic": {
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 1,
|
||||||
|
"exec": "[ \"$(pactl get-source-mute @DEFAULT_SOURCE@)\" == \"Mute: no\" ] && echo || echo "
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 1000,
|
||||||
|
"exec": "sed \"s/down/\\:\\(/;s/up/\\:\\)/\" /sys/class/net/$wifi_device/operstate"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,163 @@
|
||||||
|
* {
|
||||||
|
font-family: JetbrainsMono Nerd Font;
|
||||||
|
font-size: 13px;
|
||||||
|
min-height: 0;
|
||||||
|
padding-right: 2px;
|
||||||
|
padding-left: 2px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#waybar {
|
||||||
|
background: transparent;
|
||||||
|
color: #c6d0f5;
|
||||||
|
margin: 2px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
border-radius: 5px;
|
||||||
|
margin: 5px;
|
||||||
|
background: #101010;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: #babbf1;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 0.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: #99d1db;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: #1e1e1e;
|
||||||
|
border: 0px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-music,
|
||||||
|
#tray,
|
||||||
|
#backlight,
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#pulseaudio,
|
||||||
|
#network,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#custom-lock,
|
||||||
|
#custom-power,
|
||||||
|
#custom-weather,
|
||||||
|
#custom-uptime,
|
||||||
|
#custom-rss,
|
||||||
|
#custom-disc,
|
||||||
|
#custom-mic,
|
||||||
|
#custom-docker {
|
||||||
|
background-color: #101010;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: #8caaee;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather {
|
||||||
|
color: #8caaee;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: #a6d189;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: #a6d189;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
color: #e78284;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
color: #e5c890;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight,
|
||||||
|
#battery {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
color: #ea999c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-mic{
|
||||||
|
color: #ea999c;
|
||||||
|
border-radius: 5px 0px 0px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-docker {
|
||||||
|
color: #85c1dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-music {
|
||||||
|
color: #ca9ee6;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-lock {
|
||||||
|
color: #babbf1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
margin-right: 1rem;
|
||||||
|
border-radius: 0px 5px 5px 0px;
|
||||||
|
color: #e78284;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-docker.docker {
|
||||||
|
color: #85c1dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-docker.docker-none {
|
||||||
|
color: #737994;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-docker.docker-error {
|
||||||
|
color: #e78284;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.clear {
|
||||||
|
color: #e5c890; /* Sunny yellow */
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.cloud {
|
||||||
|
color: #99d1db; /* Light blue */
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.rain {
|
||||||
|
color: #8caaee; /* Blue */
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.snow {
|
||||||
|
color: #c6d0f5; /* White-ish */
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.thunder {
|
||||||
|
color: #ca9ee6; /* Purple */
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.fog {
|
||||||
|
color: #b0b4bc; /* Gray */
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather.error {
|
||||||
|
color: #e78284; /* Red */
|
||||||
|
}
|
|
@ -1,14 +1,32 @@
|
||||||
local wezterm = require 'wezterm'
|
local wezterm = require 'wezterm'
|
||||||
|
|
||||||
local config = {}
|
local config = {}
|
||||||
local act = wezterm.action
|
local act = wezterm.action
|
||||||
config.default_prog = { 'zsh', '-l' } --config.font = wezterm.font 'Classic Console' config.font_size = 15 config.font = wezterm.font 'Source Code Pro'
|
config.default_prog = { 'zsh', '-l' } --config.font = wezterm.font 'Classic Console' config.font_size = 15 config.font = wezterm.font 'Source Code Pro'
|
||||||
config.show_tabs_in_tab_bar = true
|
-- tab bar
|
||||||
config.enable_tab_bar = true
|
config.enable_tab_bar = false
|
||||||
|
--config.hide_tab_bar_if_only_one_tab = false
|
||||||
|
--config.tab_bar_at_bottom = true
|
||||||
|
--config.use_fancy_tab_bar = false
|
||||||
|
--config.show_tabs_in_tab_bar = true
|
||||||
|
--config.show_new_tab_button_in_tab_bar = false
|
||||||
|
--config.tab_and_split_indices_are_zero_based = true
|
||||||
--config.font = wezterm.font 'CozetteVector'
|
--config.font = wezterm.font 'CozetteVector'
|
||||||
|
|
||||||
|
|
||||||
|
-- In newer versions of wezterm, use the config_builder which will
|
||||||
|
-- help provide clearer error messages
|
||||||
|
--[[
|
||||||
|
if wezterm.config_builder then
|
||||||
|
config = wezterm.config_builder()
|
||||||
|
end
|
||||||
|
--]]
|
||||||
|
|
||||||
config.font = wezterm.font_with_fallback {
|
config.font = wezterm.font_with_fallback {
|
||||||
--'B612',
|
'B612 Mono',
|
||||||
'Inconsolata',
|
--'Inconsolata',
|
||||||
-- 'CozetteVector', --has weird offset with japanese. きki becomes せse and vice versa
|
-- 'CozetteVector', --has weird offset with japanese. きki becomes せse and vice versa
|
||||||
|
'JetBrainsMono',
|
||||||
'JetBrainsMono Nerd Font',
|
'JetBrainsMono Nerd Font',
|
||||||
'JetBrainsMono Nerd Font Mono',
|
'JetBrainsMono Nerd Font Mono',
|
||||||
'IPAGothic',
|
'IPAGothic',
|
||||||
|
@ -19,17 +37,6 @@ config.font_size = 13
|
||||||
--config.font = wezterm.font 'Caesar Dressing'
|
--config.font = wezterm.font 'Caesar Dressing'
|
||||||
--config.font_size = 13
|
--config.font_size = 13
|
||||||
|
|
||||||
config.keys = {
|
|
||||||
{ key = 'h', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' },
|
|
||||||
{ key = 'h', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Left', 1 } },
|
|
||||||
{ key = 'l', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' },
|
|
||||||
{ key = 'l', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Right', 1 } },
|
|
||||||
{ key = 'k', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' },
|
|
||||||
{ key = 'k', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Up', 1 } },
|
|
||||||
{ key = 'j', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' },
|
|
||||||
{ key = 'j', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Down', 1 } },
|
|
||||||
}
|
|
||||||
|
|
||||||
--config.window_background_image = "/home/iceyrazor/stuff/media/wallpapers/hfdsjkldysa87gr9eahgf4rjek ltjkedjkaslfjd salk 9270221.jpg"
|
--config.window_background_image = "/home/iceyrazor/stuff/media/wallpapers/hfdsjkldysa87gr9eahgf4rjek ltjkedjkaslfjd salk 9270221.jpg"
|
||||||
--[[
|
--[[
|
||||||
config.window_background_image_hsb = {
|
config.window_background_image_hsb = {
|
||||||
|
@ -90,9 +97,6 @@ local SOLID_LEFT_ARROW = wezterm.nerdfonts.pl_right_hard_divider
|
||||||
|
|
||||||
-- The filled in variant of the > symbol
|
-- The filled in variant of the > symbol
|
||||||
local SOLID_RIGHT_ARROW = wezterm.nerdfonts.pl_left_hard_divider
|
local SOLID_RIGHT_ARROW = wezterm.nerdfonts.pl_left_hard_divider
|
||||||
|
|
||||||
config.use_fancy_tab_bar = false
|
|
||||||
config.show_new_tab_button_in_tab_bar = false
|
|
||||||
--[[
|
--[[
|
||||||
wezterm.on(
|
wezterm.on(
|
||||||
'format-tab-title',
|
'format-tab-title',
|
||||||
|
@ -132,4 +136,184 @@ wezterm.on(
|
||||||
)
|
)
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
|
--[[
|
||||||
|
local keysmain = {
|
||||||
|
{ key = 'h', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' },
|
||||||
|
{ key = 'h', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Left', 1 } },
|
||||||
|
{ key = 'l', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' },
|
||||||
|
{ key = 'l', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Right', 1 } },
|
||||||
|
{ key = 'k', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' },
|
||||||
|
{ key = 'k', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Up', 1 } },
|
||||||
|
{ key = 'j', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' },
|
||||||
|
{ key = 'j', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Down', 1 } },
|
||||||
|
}
|
||||||
|
]]--
|
||||||
|
|
||||||
|
-- WezTerm Keybindings Documentation by dragonlobster
|
||||||
|
-- ===================================================
|
||||||
|
-- Leader Key:
|
||||||
|
-- The leader key is set to ALT + q, with a timeout of 2000 milliseconds (2 seconds).
|
||||||
|
-- To execute any keybinding, press the leader key (ALT + q) first, then the corresponding key.
|
||||||
|
|
||||||
|
-- Keybindings:
|
||||||
|
-- 1. Tab Management:
|
||||||
|
-- - LEADER + c: Create a new tab in the current pane's domain.
|
||||||
|
-- - LEADER + x: Close the current pane (with confirmation).
|
||||||
|
-- - LEADER + b: Switch to the previous tab.
|
||||||
|
-- - LEADER + n: Switch to the next tab.
|
||||||
|
-- - LEADER + <number>: Switch to a specific tab (0–9).
|
||||||
|
|
||||||
|
-- 2. Pane Splitting:
|
||||||
|
-- - LEADER + |: Split the current pane horizontally into two panes.
|
||||||
|
-- - LEADER + -: Split the current pane vertically into two panes.
|
||||||
|
|
||||||
|
-- 3. Pane Navigation:
|
||||||
|
-- - LEADER + h: Move to the pane on the left.
|
||||||
|
-- - LEADER + j: Move to the pane below.
|
||||||
|
-- - LEADER + k: Move to the pane above.
|
||||||
|
-- - LEADER + l: Move to the pane on the right.
|
||||||
|
|
||||||
|
-- 4. Pane Resizing:
|
||||||
|
-- - LEADER + LeftArrow: Increase the pane size to the left by 5 units.
|
||||||
|
-- - LEADER + RightArrow: Increase the pane size to the right by 5 units.
|
||||||
|
-- - LEADER + DownArrow: Increase the pane size downward by 5 units.
|
||||||
|
-- - LEADER + UpArrow: Increase the pane size upward by 5 units.
|
||||||
|
|
||||||
|
-- 5. Status Line:
|
||||||
|
-- - The status line indicates when the leader key is active, displaying an ocean wave emoji (🌊).
|
||||||
|
|
||||||
|
-- Miscellaneous Configurations:
|
||||||
|
-- - Tabs are shown even if there's only one tab.
|
||||||
|
-- - The tab bar is located at the bottom of the terminal window.
|
||||||
|
-- - Tab and split indices are zero-based.
|
||||||
|
|
||||||
|
-- For example, changing the color scheme:
|
||||||
|
-- config.color_scheme = "Catppuccin Macchiato"
|
||||||
|
-- config.window_decorations = "RESIZE"
|
||||||
|
|
||||||
|
-- tmux
|
||||||
|
config.leader = { key = "Space", mods = "SHIFT", timrout_milliseconds = 20000 }
|
||||||
|
config.keys = {
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "c",
|
||||||
|
action = wezterm.action.SpawnTab "CurrentPaneDomain",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "x",
|
||||||
|
action = wezterm.action.CloseCurrentPane { confirm = true }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "b",
|
||||||
|
action = wezterm.action.ActivateTabRelative(-1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "n",
|
||||||
|
action = wezterm.action.ActivateTabRelative(1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "\\",
|
||||||
|
action = wezterm.action.SplitHorizontal { domain = "CurrentPaneDomain" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "-",
|
||||||
|
action = wezterm.action.SplitVertical { domain = "CurrentPaneDomain" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "h",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Left"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "j",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Down"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "k",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Up"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "l",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Right"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "LeftArrow",
|
||||||
|
action = wezterm.action.AdjustPaneSize { "Left", 5 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "RightArrow",
|
||||||
|
action = wezterm.action.AdjustPaneSize { "Right", 5 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "DownArrow",
|
||||||
|
action = wezterm.action.AdjustPaneSize { "Down", 5 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
mods = "LEADER",
|
||||||
|
key = "UpArrow",
|
||||||
|
action = wezterm.action.AdjustPaneSize { "Up", 5 }
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for i = 1, 9 do
|
||||||
|
-- leader + number to activate that tab
|
||||||
|
table.insert(config.keys, {
|
||||||
|
key = tostring(i),
|
||||||
|
mods = "LEADER",
|
||||||
|
action = wezterm.action.ActivateTab(i-1),
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- tmux status
|
||||||
|
wezterm.on("update-right-status", function(window, _)
|
||||||
|
local SOLID_LEFT_ARROW = ""
|
||||||
|
--local ARROW_FOREGROUND = { Foreground = { Color = "#c6a0f6" } }
|
||||||
|
-- local ARROW_FOREGROUND = { Foreground = { Color = "#000000" } }
|
||||||
|
local prefix = ""
|
||||||
|
|
||||||
|
if window:leader_is_active() then
|
||||||
|
prefix = " " .. utf8.char(0x1f30a) -- ocean wave
|
||||||
|
SOLID_LEFT_ARROW = utf8.char(0xe0b2)
|
||||||
|
end
|
||||||
|
|
||||||
|
if window:active_tab():tab_id() ~= 0 then
|
||||||
|
-- ARROW_FOREGROUND = { Foreground = { Color = "#1e2030" } }
|
||||||
|
-- ARROW_FOREGROUND = { Foreground = { Color = "#000000" } }
|
||||||
|
end -- arrow color based on if tab is first pane
|
||||||
|
|
||||||
|
window:set_left_status(wezterm.format {
|
||||||
|
--{ Background = { Color = "#b7bdf8" } },
|
||||||
|
-- { Background = { Color = "#000000" } },
|
||||||
|
{ Text = prefix },
|
||||||
|
ARROW_FOREGROUND,
|
||||||
|
{ Text = SOLID_LEFT_ARROW }
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
config.unix_domains = {
|
||||||
|
{
|
||||||
|
name = 'unix',
|
||||||
|
no_serve_automatically = false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- This causes `wezterm` to act as though it was started as
|
||||||
|
-- `wezterm connect unix` by default, connecting to the unix
|
||||||
|
-- domain on startup.
|
||||||
|
-- If you prefer to connect manually, leave out this line.
|
||||||
|
-- config.default_gui_startup_args = { 'connect', 'unix' }
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|
18
README.md
18
README.md
|
@ -11,7 +11,7 @@ eg my dotfiles
|
||||||
- libxft
|
- libxft
|
||||||
- libxinerama
|
- libxinerama
|
||||||
- for awesome extra
|
- for awesome extra
|
||||||
- rofi
|
- rofi-wayland (works on x. my rofi command on awesome is rofi -x11 so this may be required)
|
||||||
- for surf
|
- for surf
|
||||||
- gcr
|
- gcr
|
||||||
- webkit2gtk
|
- webkit2gtk
|
||||||
|
@ -24,6 +24,14 @@ eg my dotfiles
|
||||||
- cd into respective directory
|
- cd into respective directory
|
||||||
- sudo make clean install
|
- sudo make clean install
|
||||||
- startx #for dwm
|
- startx #for dwm
|
||||||
|
- hyprland
|
||||||
|
- wayland
|
||||||
|
- waybar
|
||||||
|
- grim # needed for flameshot to work on wayland
|
||||||
|
- xdg-deskop=portal
|
||||||
|
- xdg-deskop=portal-hyprland
|
||||||
|
- xdg-deskop=portal-gtk
|
||||||
|
- hyprpaper
|
||||||
- for neovim
|
- for neovim
|
||||||
- packer
|
- packer
|
||||||
- for urlview - urlview
|
- for urlview - urlview
|
||||||
|
@ -33,10 +41,13 @@ eg my dotfiles
|
||||||
- ibus
|
- ibus
|
||||||
- ibus-mozc # for japanese input
|
- ibus-mozc # for japanese input
|
||||||
- fonts
|
- fonts
|
||||||
|
- B612 mono
|
||||||
- ttf-inconsolata
|
- ttf-inconsolata
|
||||||
|
- ttf-jetbrains-mono
|
||||||
- ttf-jetbrains-mono-nerd
|
- ttf-jetbrains-mono-nerd
|
||||||
- otf-ipafont
|
- otf-ipafont
|
||||||
- login
|
- login
|
||||||
|
- sddm (for hyprland. it doesnt like lightdm :<)
|
||||||
- lightdm
|
- lightdm
|
||||||
- lightdm-gtk-greeter
|
- lightdm-gtk-greeter
|
||||||
- lxappearance # for setting gtk theme
|
- lxappearance # for setting gtk theme
|
||||||
|
@ -45,7 +56,7 @@ eg my dotfiles
|
||||||
- for qt to gtk theme
|
- for qt to gtk theme
|
||||||
- qt6gtk2
|
- qt6gtk2
|
||||||
- qt5gtk2
|
- qt5gtk2
|
||||||
- background setter - nitrogen
|
- background setter - nitrogen # for x11
|
||||||
- numen # voice control, manual setup
|
- numen # voice control, manual setup
|
||||||
- file manager
|
- file manager
|
||||||
- lf
|
- lf
|
||||||
|
@ -61,7 +72,7 @@ eg my dotfiles
|
||||||
- compositor
|
- compositor
|
||||||
- xcompmgr # primarily
|
- xcompmgr # primarily
|
||||||
- picom # for fancy ness
|
- picom # for fancy ness
|
||||||
- inetutils - for normal ftp
|
- inetutils # for normal ftp
|
||||||
- screenshots
|
- screenshots
|
||||||
- flameshot #higher rez than ffmpeg
|
- flameshot #higher rez than ffmpeg
|
||||||
- ffmpeg
|
- ffmpeg
|
||||||
|
@ -74,5 +85,6 @@ eg my dotfiles
|
||||||
- notifications
|
- notifications
|
||||||
- libnotify
|
- libnotify
|
||||||
- notify-send
|
- notify-send
|
||||||
|
- dusnt # for hyprland
|
||||||
- calender
|
- calender
|
||||||
- calcurse
|
- calcurse
|
||||||
|
|
|
@ -15,7 +15,7 @@ fsyncb () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
syncfile="stuff .bash_profile .bashrc .surf/styles .gtkrc-2.0 .urlview .vimrc .xinitrc .Xresources .zshrc .p10k.zsh .gnupg .ssh .local/bin/lf-gadgets .config/dwm .config/wezterm .config/.profile .config/tmux .config/wireplumber .config/FreeTube .config/awesome .config/wlxoverlay .config/newsboat .config/vesktop/themes .config/fastfetch .config/gtk-3.0 .config/rofi .config/lf .config/mutt .config/zsh .config/picom.conf .config/nvim .config/atuin .config/screenkey.json .config/vesktop/themes .keepass .config/Pinta .config/cmus .config/cava .local/share/applications/custom .local/share/osu"
|
syncfile="stuff .bash_profile .bashrc .surf/styles .gtkrc-2.0 .urlview .vimrc .xinitrc .Xresources .zshrc .p10k.zsh .gnupg .ssh .local/bin/lf-gadgets .config/dwm .config/wezterm .config/.profile .config/tmux .config/wireplumber .config/FreeTube .config/awesome .config/wlxoverlay .config/newsboat .config/vesktop/themes .config/fastfetch .config/gtk-3.0 .config/rofi .config/lf .config/mutt .config/zsh .config/picom.conf .config/nvim .config/atuin .config/screenkey.json .config/vesktop/themes .keepass .config/Pinta .config/cmus .config/cava .config/hypr .config/waybar .local/share/applications/custom .local/share/osu"
|
||||||
|
|
||||||
# se shit
|
# se shit
|
||||||
syncfile="$syncfile /home/iceyrazor/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Blueprints /home/iceyrazor/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/IngameScripts /home/iceyrazor/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Saves"
|
syncfile="$syncfile /home/iceyrazor/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Blueprints /home/iceyrazor/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/IngameScripts /home/iceyrazor/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Saves"
|
||||||
|
|
|
@ -11,7 +11,7 @@ fsync () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
syncfile=".urlview .vimrc .Xresources .bashrc .zshrc .p10k.zsh .config/.profile .config/wezterm .config/dwm .config/tmux .config/awesome .config/rofi .config/lf .config/picom.conf .config/nvim .config/atuin .config/screenkey.json .config/fastfetch stuff/manual-programs/suckless"
|
syncfile=".urlview .vimrc .Xresources .bashrc .zshrc .p10k.zsh .config/.profile .config/wezterm .config/dwm .config/tmux .config/awesome .config/rofi .config/cava .config/hypr .config/waybar .config/picom.conf .config/nvim .config/atuin .config/screenkey.json .config/fastfetch stuff/manual-programs/suckless"
|
||||||
|
|
||||||
syncfile="$syncfile stuff/scripts/system/stbar stuff/scripts/system/url-handler.sh stuff/scripts/system/backup/copy-to-git.sh stuff/scripts/system/backup/backup.sh"
|
syncfile="$syncfile stuff/scripts/system/stbar stuff/scripts/system/url-handler.sh stuff/scripts/system/backup/copy-to-git.sh stuff/scripts/system/backup/backup.sh"
|
||||||
syncfile="$syncfile stuff/scripts/system/neoboot.sh stuff/scripts/system/math.sh stuff/scripts/system/bri.sh stuff/scripts/system/restart-pipe.sh stuff/scripts/system/set-pri-java.sh"
|
syncfile="$syncfile stuff/scripts/system/neoboot.sh stuff/scripts/system/math.sh stuff/scripts/system/bri.sh stuff/scripts/system/restart-pipe.sh stuff/scripts/system/set-pri-java.sh"
|
||||||
|
|
|
@ -6,13 +6,17 @@ echo $url
|
||||||
|
|
||||||
choices="
|
choices="
|
||||||
clipboard
|
clipboard
|
||||||
firefox
|
zen
|
||||||
"
|
"
|
||||||
|
|
||||||
choice=$(echo "$choices" | sed /^$/d | rofi -dmenu "$prompt_message")
|
choice=$(echo "$choices" | sed /^$/d | rofi -dmenu "$prompt_message")
|
||||||
|
|
||||||
if [ "$choice" == "clipboard" ]; then
|
if [ "$choice" == "clipboard" ]; then
|
||||||
|
if [ -z $WAYLAND_DISPLAY ]; then
|
||||||
printf "$url" | xclip -selection clipboard
|
printf "$url" | xclip -selection clipboard
|
||||||
|
else
|
||||||
|
printf "$url" | wl-copy
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
$choice "$url"
|
$choice "$url"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue