Compare commits
53 Commits
153f94c43a
...
laptop
| Author | SHA1 | Date | |
|---|---|---|---|
| b0cc8aa400 | |||
| 68b85312d7 | |||
| 68b4546aec | |||
| 8687a1496e | |||
| d17a5d9421 | |||
| 7de93a72ee | |||
| a4100d24ba | |||
| 28e8914c8e | |||
| c2b5cce8ef | |||
| e4519ef5b3 | |||
| b0d548024d | |||
| d472603dbf | |||
| eb8ae6f118 | |||
| 9ade674964 | |||
| 376d017d40 | |||
| 61f923da47 | |||
| 9fe47c4807 | |||
| c9d3b514fe | |||
| b923a8a071 | |||
| d5767a1caf | |||
| 4b56e3c494 | |||
| 304cb8ef5f | |||
| a6ce7128d3 | |||
| 6c21d8c1c3 | |||
| 01b7c4e280 | |||
| a6c2687a8f | |||
| 26f9ad46d3 | |||
| e52f913172 | |||
| e6633854c4 | |||
| 3222addaea | |||
| e814d8a32f | |||
| 6285d1012e | |||
| cdfbbae7c1 | |||
| eb96c1f2f5 | |||
| d6e04ec829 | |||
| 36c6ade6f4 | |||
| 2cdf65c6a5 | |||
| 2c205edc7c | |||
| 252d6a2840 | |||
| 619e288564 | |||
| ccc7ad50c5 | |||
| adedbf32fc | |||
| 13c47f6f77 | |||
| f193dfcaab | |||
| f80fa0607b | |||
| 48f391908a | |||
| fa730b8838 | |||
| 4ed8815ba5 | |||
| 0471af2f72 | |||
| 5b9291d1be | |||
| f9e30792ac | |||
| 43b449f792 | |||
| d9fe7cdc20 |
BIN
.bg/bg_3.jpg
Normal file
BIN
.bg/bg_3.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
BIN
.bg/bg_4.png
Normal file
BIN
.bg/bg_4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 MiB |
BIN
.bg/bg_5.png
Normal file
BIN
.bg/bg_5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 139 KiB |
6
.zshrc
6
.zshrc
@@ -75,7 +75,6 @@
|
|||||||
alias du="ncdu"
|
alias du="ncdu"
|
||||||
alias cat="bat"
|
alias cat="bat"
|
||||||
alias ls="lsd"
|
alias ls="lsd"
|
||||||
alias vi="~/.local/bin/lvim"
|
|
||||||
|
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
|
|
||||||
@@ -88,12 +87,13 @@ bindkey "^[[P" delete-char
|
|||||||
|
|
||||||
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
|
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
source ~/.zsh/zsh-auto-notify/auto-notify.plugin.zsh
|
source ~/.zsh/zsh-auto-notify/auto-notify.plugin.zsh
|
||||||
source ~/.zsh/zsh-you-should-use/you-should-use.plugin.zsh
|
|
||||||
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
source ~/.zsh/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
|
|
||||||
|
|
||||||
autoload -U compinit; compinit
|
autoload -U compinit; compinit
|
||||||
source ~/.zsh/zsh-fzf-tab/fzf-tab.plugin.zsh
|
source ~/.zsh/zsh-fzf-tab/fzf-tab.plugin.zsh
|
||||||
|
|
||||||
SAVEHIST=1000
|
SAVEHIST=1000
|
||||||
HISTFILE=~/.zsh_history
|
HISTFILE=~/.zsh_history
|
||||||
|
|
||||||
|
# Created by `pipx` on 2024-10-24 13:49:13
|
||||||
|
export PATH="$PATH:/home/doryan/.local/bin"
|
||||||
|
|||||||
100
acpi_handler/handler.sh
Executable file
100
acpi_handler/handler.sh
Executable file
@@ -0,0 +1,100 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Default acpi script that takes an entry for all actions
|
||||||
|
|
||||||
|
# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to
|
||||||
|
# modify it to not use /sys
|
||||||
|
|
||||||
|
# $1 should be + or - to step up or down the brightness.
|
||||||
|
step_backlight() {
|
||||||
|
for backlight in /sys/class/backlight/*/; do
|
||||||
|
[ -d "$backlight" ] || continue
|
||||||
|
step=$(( $(cat "$backlight/max_brightness") / 20 ))
|
||||||
|
[ "$step" -gt "1" ] || step=1 #fallback if gradation is too low
|
||||||
|
printf '%s' "$(( $(cat "$backlight/brightness") $1 step ))" >"$backlight/brightness"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
export DISPLAY=:0
|
||||||
|
|
||||||
|
minspeed="/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq"
|
||||||
|
maxspeed="/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"
|
||||||
|
setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
button/power)
|
||||||
|
case "$2" in
|
||||||
|
PBTN|PWRF)
|
||||||
|
logger "PowerButton pressed: $2, shutting down..."
|
||||||
|
shutdown -P now
|
||||||
|
;;
|
||||||
|
*) logger "ACPI action undefined: $2" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
button/sleep)
|
||||||
|
case "$2" in
|
||||||
|
SBTN|SLPB)
|
||||||
|
# suspend-to-ram
|
||||||
|
logger "Sleep Button pressed: $2, suspending..."
|
||||||
|
su doryan -c -m "betterlockscreen -l" & sleep 0.5
|
||||||
|
zzz
|
||||||
|
;;
|
||||||
|
*) logger "ACPI action undefined: $2" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
ac_adapter)
|
||||||
|
case "$2" in
|
||||||
|
AC|ACAD|ADP0)
|
||||||
|
case "$4" in
|
||||||
|
00000000)
|
||||||
|
cat "$minspeed" >"$setspeed"
|
||||||
|
#/etc/laptop-mode/laptop-mode start
|
||||||
|
;;
|
||||||
|
00000001)
|
||||||
|
cat "$maxspeed" >"$setspeed"
|
||||||
|
#/etc/laptop-mode/laptop-mode stop
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*) logger "ACPI action undefined: $2" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
battery)
|
||||||
|
case "$2" in
|
||||||
|
BAT0)
|
||||||
|
case "$4" in
|
||||||
|
00000000) #echo "offline" >/dev/tty5
|
||||||
|
;;
|
||||||
|
00000001) #echo "online" >/dev/tty5
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
CPU0)
|
||||||
|
;;
|
||||||
|
*) logger "ACPI action undefined: $2" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
button/lid)
|
||||||
|
case "$3" in
|
||||||
|
close)
|
||||||
|
# suspend-to-ram
|
||||||
|
logger "LID closed, suspending..."
|
||||||
|
su doryan -c -m "betterlockscreen -l" & sleep 0.5
|
||||||
|
zzz
|
||||||
|
;;
|
||||||
|
open)
|
||||||
|
logger "LID opened"
|
||||||
|
;;
|
||||||
|
*) logger "ACPI action undefined (LID): $2";;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
video/brightnessdown)
|
||||||
|
step_backlight -
|
||||||
|
;;
|
||||||
|
video/brightnessup)
|
||||||
|
step_backlight +
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
logger "ACPI group/action undefined: $1 / $2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
17
betterlockscreen/betterlockscreenrc
Normal file
17
betterlockscreen/betterlockscreenrc
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# ~/.config/betterlockscreenrc
|
||||||
|
|
||||||
|
# default options
|
||||||
|
display_on=0
|
||||||
|
span_image=false
|
||||||
|
fx_list=(blur)
|
||||||
|
dim_level=40
|
||||||
|
blur_level=1
|
||||||
|
wallpaper_cmd="feh --bg-fill"
|
||||||
|
quiet=false
|
||||||
|
|
||||||
|
# i3lockcolor_bin="i3lock-color" # Manually set command for i3lock-color
|
||||||
|
suspend_command="loginctl suspend"# Manually change action e.g. hibernate/suspend-command
|
||||||
|
|
||||||
|
# i3lock-color - custom arguments
|
||||||
|
# lockargs=() # overwriting default "(-n)"
|
||||||
|
# lockargs+=(--ignore-empty-password) # appending new argument
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||||
|
pgrep -x polybar > /dev/null || polybar &
|
||||||
bspc monitor DVI-I-1 -d I II III IV V
|
|
||||||
bspc monitor HDMI-1 -d VI VII VIII IX X
|
|
||||||
|
|
||||||
bspc config border_width 3
|
bspc config border_width 3
|
||||||
bspc config window_gap 5
|
bspc config window_gap 5
|
||||||
@@ -20,17 +18,16 @@ bspc config pointer_action3 resize_corner
|
|||||||
bspc rule -a scratch sticky=on state=floating focus=on
|
bspc rule -a scratch sticky=on state=floating focus=on
|
||||||
|
|
||||||
bspc config split_ratio 0.52
|
bspc config split_ratio 0.52
|
||||||
bspc config borderless_monocle true
|
|
||||||
bspc config gapless_monocle true
|
|
||||||
|
|
||||||
bspc config active_border_color "#FFBB53"
|
bspc config active_border_color "#E0A3B6"
|
||||||
bspc config normal_border_color "#FEA3A1"
|
bspc config normal_border_color "#8393A1"
|
||||||
|
bspc config focused_border_color "#93D4C5"
|
||||||
|
|
||||||
|
xhost +si:localuser:$USER &
|
||||||
|
xmodmap ~/.Xmodmap
|
||||||
|
|
||||||
sxhkd &
|
|
||||||
picom &
|
picom &
|
||||||
nitrogen --restore &
|
feh --bg-fill ~/.bg/bg_5.png &
|
||||||
dunst &
|
dunst &
|
||||||
|
xmousepasteblock &
|
||||||
xsetroot -cursor_name left_ptr &
|
xsetroot -cursor_name left_ptr &
|
||||||
pgrep -x polybar > /dev/null || polybar &
|
|
||||||
pgrep -x pipewire > /dev/null || pipewire &
|
|
||||||
pgrep -x pipewire-pulse > /dev/null || pipewire-pulse &
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#? Config file for btop v. 1.3.2
|
#? Config file for btop v. 1.4.0
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
@@ -50,20 +50,20 @@ graph_symbol_net = "default"
|
|||||||
graph_symbol_proc = "default"
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
shown_boxes = "cpu mem net proc"
|
shown_boxes = "cpu net proc mem"
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
update_ms = 500
|
update_ms = 500
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
proc_sorting = "command"
|
proc_sorting = "name"
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
#* Reverse sorting order, True or False.
|
||||||
proc_reversed = False
|
proc_reversed = True
|
||||||
|
|
||||||
#* Show processes as a tree.
|
#* Show processes as a tree.
|
||||||
proc_tree = False
|
proc_tree = True
|
||||||
|
|
||||||
#* Use the cpu graph colors in the process list.
|
#* Use the cpu graph colors in the process list.
|
||||||
proc_colors = True
|
proc_colors = True
|
||||||
@@ -72,7 +72,7 @@ proc_colors = True
|
|||||||
proc_gradient = True
|
proc_gradient = True
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
proc_per_core = True
|
proc_per_core = False
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
#* Show process memory as bytes instead of percent.
|
||||||
proc_mem_bytes = True
|
proc_mem_bytes = True
|
||||||
@@ -169,7 +169,7 @@ show_swap = True
|
|||||||
swap_disk = True
|
swap_disk = True
|
||||||
|
|
||||||
#* If mem box should be split to also show disks info.
|
#* If mem box should be split to also show disks info.
|
||||||
show_disks = False
|
show_disks = True
|
||||||
|
|
||||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
only_physical = True
|
only_physical = True
|
||||||
@@ -187,7 +187,7 @@ disk_free_priv = False
|
|||||||
show_io_stat = True
|
show_io_stat = True
|
||||||
|
|
||||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
io_mode = True
|
io_mode = False
|
||||||
|
|
||||||
#* Set to True to show combined read/write io graphs in io mode.
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
io_graph_combined = False
|
io_graph_combined = False
|
||||||
|
|||||||
277
cava/config
277
cava/config
@@ -1,277 +0,0 @@
|
|||||||
## 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 = waves
|
|
||||||
|
|
||||||
# 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 calulate 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' or 'right'.
|
|
||||||
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
|
|
||||||
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
|
|
||||||
# which can make ncurses 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. A fifo 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 alacritty synchronized updates. 1 = on, 0 = off
|
|
||||||
# removes flickering in alacritty terminal emulator.
|
|
||||||
# defaults to off since the behaviour in other terminal emulators is unknown
|
|
||||||
; alacritty_sync = 0
|
|
||||||
|
|
||||||
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
|
|
||||||
; vertex_shader = pass_through.vert
|
|
||||||
; fragment_shader = bar_spectrum.frag
|
|
||||||
|
|
||||||
; for glsl output mode, keep rendering even if no audio
|
|
||||||
; continuous_rendering = 0
|
|
||||||
|
|
||||||
# disable console blank (screen saver) in tty
|
|
||||||
# (Not supported on FreeBSD)
|
|
||||||
; disable_blanking = 0
|
|
||||||
|
|
||||||
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
|
|
||||||
; show_idle_bar_heads = 1
|
|
||||||
|
|
||||||
# show waveform instead of frequency spectrum, 1 = on, 0 = off
|
|
||||||
; waveform = 0
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
|
||||||
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
|
||||||
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
|
||||||
# default is to keep current terminal color
|
|
||||||
; background = default
|
|
||||||
; foreground = default
|
|
||||||
|
|
||||||
# SDL and sdl_glsl only support hex code colors, these are the default:
|
|
||||||
; background = '#111111'
|
|
||||||
; foreground = '#33ffff'
|
|
||||||
|
|
||||||
|
|
||||||
# Gradient mode, only hex defined colors are supported,
|
|
||||||
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
|
||||||
# You can define as many as 8 different colors. They range from bottom to top of screen
|
|
||||||
gradient = 1
|
|
||||||
|
|
||||||
gradient_color_1 = '#478061'
|
|
||||||
gradient_color_2 = '#598C6E'
|
|
||||||
gradient_color_3 = '#6C987C'
|
|
||||||
gradient_color_4 = '#7EA489'
|
|
||||||
gradient_color_5 = '#8DAD94'
|
|
||||||
gradient_color_6 = '#9CB79F'
|
|
||||||
gradient_color_7 = '#ABC2AB'
|
|
||||||
gradient_color_8 = '#ABC2AB'
|
|
||||||
|
|
||||||
[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
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
#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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#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;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#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;
|
|
||||||
}
|
|
||||||
489
dunst/dunstrc
Executable file
489
dunst/dunstrc
Executable file
@@ -0,0 +1,489 @@
|
|||||||
|
# See dunst(5) for all configuration options
|
||||||
|
|
||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
# follow = mouse
|
||||||
|
|
||||||
|
### Geometry ###
|
||||||
|
|
||||||
|
# dynamic width from 0 to 300
|
||||||
|
width = (0, 300)
|
||||||
|
# constant width of 300
|
||||||
|
; width = 300
|
||||||
|
|
||||||
|
|
||||||
|
# The height of a single notification, excluding the frame.
|
||||||
|
height = (0, 300)
|
||||||
|
|
||||||
|
# Position the notification in the top right corner
|
||||||
|
origin = top-right
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = (10, 50)
|
||||||
|
|
||||||
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
|
scale = 0
|
||||||
|
|
||||||
|
# Maximum number of notification (0 means no limit)
|
||||||
|
notification_limit = 20
|
||||||
|
|
||||||
|
### Progress bar ###
|
||||||
|
|
||||||
|
# Turn on the progress bar. It appears when a progress hint is passed with
|
||||||
|
# for example dunstify -h int:value:12
|
||||||
|
progress_bar = true
|
||||||
|
|
||||||
|
# Set the progress bar height. This includes the frame, so make sure
|
||||||
|
# it's at least twice as big as the frame width.
|
||||||
|
progress_bar_height = 10
|
||||||
|
|
||||||
|
# Set the frame width of the progress bar
|
||||||
|
progress_bar_frame_width = 1
|
||||||
|
|
||||||
|
# Set the minimum width for the progress bar
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
|
||||||
|
# Set the maximum width for the progress bar
|
||||||
|
progress_bar_max_width = 300
|
||||||
|
|
||||||
|
# Corner radius for the progress bar. 0 disables rounded corners.
|
||||||
|
progress_bar_corner_radius = 0
|
||||||
|
|
||||||
|
# Define which corners to round when drawing the progress bar. If progress_bar_corner_radius
|
||||||
|
# is set to 0 this option will be ignored.
|
||||||
|
progress_bar_corners = all
|
||||||
|
|
||||||
|
# Corner radius for the icon image.
|
||||||
|
icon_corner_radius = 0
|
||||||
|
|
||||||
|
# Define which corners to round when drawing the icon image. If icon_corner_radius
|
||||||
|
# is set to 0 this option will be ignored.
|
||||||
|
icon_corners = all
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of
|
||||||
|
# notification_limit).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||||
|
transparency = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# If gap_size is greater than 0, this setting will be ignored.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Padding between text and icon.
|
||||||
|
text_icon_padding = 0
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 3
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#aaaaaa"
|
||||||
|
|
||||||
|
# Size of gap to display between notifications - requires a compositor.
|
||||||
|
# If value is greater than 0, separator_height will be ignored and a border
|
||||||
|
# of size frame_width will be drawn around each notification instead.
|
||||||
|
# Click events on gaps do not currently propagate to applications below.
|
||||||
|
gap_size = 0
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = frame
|
||||||
|
|
||||||
|
# Sort type.
|
||||||
|
# possible values are:
|
||||||
|
# * id: sort by id
|
||||||
|
# * urgency_ascending: sort by urgency (low then normal then critical)
|
||||||
|
# * urgency_descending: sort by urgency (critical then normal then low)
|
||||||
|
# * update: sort by update (most recent always at the top)
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
# idle_threshold = 120
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = JetBrainsMonoNL Nerd Font 8
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Vertical alignment of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
|
vertical_alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Recursive icon lookup. You can set a single theme, instead of having to
|
||||||
|
# define all lookup paths.
|
||||||
|
enable_recursive_icon_lookup = true
|
||||||
|
|
||||||
|
# Set icon theme (only used for recursive icon lookup)
|
||||||
|
icon_theme = Adwaita
|
||||||
|
# You can also set multiple icon themes, with the leftmost one being used first.
|
||||||
|
# icon_theme = "Adwaita, breeze"
|
||||||
|
|
||||||
|
# Align icons left/right/top/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 32
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 128
|
||||||
|
|
||||||
|
# Paths to default icons (only necessary when not using recursive icon lookup)
|
||||||
|
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/xdg-open
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst (X11 only)
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst (X11 only)
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 0
|
||||||
|
|
||||||
|
# Define which corners to round when drawing the window. If the corner radius
|
||||||
|
# is set to 0 this option will be ignored.
|
||||||
|
#
|
||||||
|
# Comma-separated list of the corners. The accepted corner values are bottom-right,
|
||||||
|
# bottom-left, top-right, top-left, top, bottom, left, right or all.
|
||||||
|
corners = all
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Wayland ###
|
||||||
|
# These settings are Wayland-specific. They have no effect when using X11
|
||||||
|
|
||||||
|
# Uncomment this if you want to let notifications appear under fullscreen
|
||||||
|
# applications (default: overlay)
|
||||||
|
# layer = top
|
||||||
|
|
||||||
|
# Set this to true to use X11 output on Wayland.
|
||||||
|
force_xwayland = false
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||||
|
# such action, open the context menu.
|
||||||
|
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||||
|
# ones, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# * context: Open context menu for the notification.
|
||||||
|
# * context_all: Open context menu for all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#4D5A66"
|
||||||
|
foreground = "#A3B4C2"
|
||||||
|
frame_color = "#6C95B8"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#33806E"
|
||||||
|
foreground = "#C8E9E2"
|
||||||
|
frame_color = "#93D4C5"
|
||||||
|
timeout = 10
|
||||||
|
override_pause_level = 30
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#9B5418"
|
||||||
|
foreground = "#E4AF81"
|
||||||
|
frame_color = "#E7A063"
|
||||||
|
timeout = 0
|
||||||
|
override_pause_level = 60
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# set_category
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
# icon_position
|
||||||
|
# skip_display
|
||||||
|
# history_ignore
|
||||||
|
# action_name
|
||||||
|
# word_wrap
|
||||||
|
# ellipsize
|
||||||
|
# alignment
|
||||||
|
# hide_text
|
||||||
|
# override_pause_level
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# You can also allow a notification to appear even when paused. Notification will appear whenever notification's override_pause_level >= dunst's paused level.
|
||||||
|
# This can be used to set partial pause modes, where more urgent notifications get through, but less urgent stay paused. To do that, you can override the following in the rules:
|
||||||
|
# override_pause_level = X
|
||||||
|
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = true
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
||||||
4
install.sh
Normal file → Executable file
4
install.sh
Normal file → Executable file
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
configs=("bspwm" "btop" "cava" "lvim" "picom" "polybar" "rofi" "yazi" "sxhkd")
|
configs=("betterlockscreen" "bspwm" "btop" "picom" "polybar" "zathura" "rofi" "yazi" "sxhkd" "dunst" "mimeapps.list" "starship.toml")rlockscreen -u ~/.bg/bg_5.jpg
|
||||||
|
|
||||||
for config in ${configs[@]}; do
|
for config in ${configs[@]}; do
|
||||||
cp -r ./$config ~/.config/
|
cp -vr ./$config ~/.config/
|
||||||
done
|
done
|
||||||
|
|
||||||
cp ./.zshrc ~/
|
cp ./.zshrc ~/
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
-- Read the docs: https://www.lunarvim.org/docs/configuration
|
|
||||||
-- Example configs: https://github.com/LunarVim/starter.lvim
|
|
||||||
-- Video Tutorials: https://www.youtube.com/watch?v=sFA9kX-Ud_c&list=PLhoH5vyxr6QqGu0i7tt_XoVK9v-KvZ3m6
|
|
||||||
-- Forum: https://www.reddit.com/r/lunarvim/
|
|
||||||
-- Discord: https://discord.com/invite/Xb9B4Ny
|
|
||||||
|
|
||||||
lvim.colorscheme = "melange"
|
|
||||||
lvim.builtin.breadcrumbs.active = false
|
|
||||||
|
|
||||||
vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "rust_analyzer", "rust-analyzer" })
|
|
||||||
|
|
||||||
require "plugins.init"
|
|
||||||
require "mappings"
|
|
||||||
require "configs.nvimtree"
|
|
||||||
require "configs.bufferline"
|
|
||||||
require "configs.dropbar"
|
|
||||||
require "configs.dap"
|
|
||||||
require "configs.acmp"
|
|
||||||
require "configs.colorizer"
|
|
||||||
require "configs.autotag"
|
|
||||||
require "configs.prettier"
|
|
||||||
require "configs.nvimufo"
|
|
||||||
|
|
||||||
vim.lsp.inlay_hint.enable(true)
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
{
|
|
||||||
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
|
|
||||||
"LuaSnip": { "branch": "master", "commit": "1def35377854535bb3b0f4cc7a33c083cdb12571" },
|
|
||||||
"alpha-nvim": { "branch": "main", "commit": "29074eeb869a6cbac9ce1fbbd04f5f5940311b32" },
|
|
||||||
"bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" },
|
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "73540cb95f8d95aa1af3ed57713c6720c78af915" },
|
|
||||||
"catppuccin": { "branch": "main", "commit": "ba5f4153a5dad99505baba936bd0373534400ac3" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
|
||||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
|
||||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
|
||||||
"dropbar.nvim": { "branch": "master", "commit": "aa4c0ab1ade45ff9a3c5d4c06365c9b119f32d36" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" },
|
|
||||||
"fzf-lua": { "branch": "main", "commit": "73bdec9ac5da578376bdc5a705ea80a19baa4942" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" },
|
|
||||||
"huez.nvim": { "branch": "main", "commit": "d07fe09177e0e9e1dd3115c282c190897fa9fd6d" },
|
|
||||||
"hybrid.nvim": { "branch": "master", "commit": "8838621a2e299582a0af5b8b96d5515f27b5d058" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" },
|
|
||||||
"kanagawa.nvim": { "branch": "master", "commit": "e5f7b8a804360f0a48e40d0083a97193ee4fcc87" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" },
|
|
||||||
"lir.nvim": { "branch": "master", "commit": "7a9d45de08fecd23a04aca1f96688d744830029e" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
|
||||||
"lunar.nvim": { "branch": "master", "commit": "08bbc93b96ad698d22fc2aa01805786bcedc34b9" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "273fdde8ac5e51f3a223ba70980e52bbc09d9f6f" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" },
|
|
||||||
"material.nvim": { "branch": "main", "commit": "b5d0ff3ad37ba00cea3dc3dce0b0f555b481c6f4" },
|
|
||||||
"melange-nvim": { "branch": "master", "commit": "e84f8bc2abc5d6edaa7bd48a16c3078504ecb713" },
|
|
||||||
"monokai-pro.nvim": { "branch": "master", "commit": "2bad2a92fe0ff6c8581d33a853a1b17592b83239" },
|
|
||||||
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
|
|
||||||
"neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" },
|
|
||||||
"neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" },
|
|
||||||
"neogit": { "branch": "master", "commit": "2b74a777b963dfdeeabfabf84d5ba611666adab4" },
|
|
||||||
"nlsp-settings.nvim": { "branch": "main", "commit": "707b43110daf27c1aec8c16c2a92c2cb9a06f8df" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
|
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "3a4826687da4310af379515086d71faca4d21288" },
|
|
||||||
"nord.nvim": { "branch": "main", "commit": "6d6bae56a002a4da507ba263776e9691f47deb5f" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "14e97371b2aab6ee70054c1070a123dfaa3e217e" },
|
|
||||||
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" },
|
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "13ce59d4852be2bb3cd4967947985cb0ceaff460" },
|
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" },
|
|
||||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
|
|
||||||
"nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "aa5f4f4ee10b2688fb37fa46215672441d5cd5d9" },
|
|
||||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
|
||||||
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "d5a1c2b0c8ec5bb377a41c1c414b315d6b3e9432" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "dc5e1687ab76ee02e0f11c5ce137f530b36e98b3" },
|
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" },
|
|
||||||
"nvim-ufo": { "branch": "main", "commit": "b23a46aa06f5f653d107efbc67fd2aa3877ac344" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" },
|
|
||||||
"onedarker.nvim": { "branch": "freeze", "commit": "b00dd2189f264c5aeb4cf04c59439655ecd573ec" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" },
|
|
||||||
"prettier.nvim": { "branch": "main", "commit": "d98e732cb73690b07c00c839c924be1d1d9ac5c2" },
|
|
||||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
|
||||||
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
|
|
||||||
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
|
|
||||||
"rustaceanvim": { "branch": "master", "commit": "047f9c9d8cd2861745eb9de6c1570ee0875aa795" },
|
|
||||||
"schemastore.nvim": { "branch": "main", "commit": "8c46453bdf84ad91877effb95e0b6c7b51ea7dda" },
|
|
||||||
"structlog.nvim": { "branch": "main", "commit": "45b26a2b1036bb93c0e83f4225e85ab3cee8f476" },
|
|
||||||
"tailwind-tools.nvim": { "branch": "master", "commit": "94196e8db080eafeeb2be3d6d197a2e960b20eb4" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
|
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" },
|
|
||||||
"toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" },
|
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "67afeaf7fd6ebba000633e89f63c31694057edde" },
|
|
||||||
"ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
|
|
||||||
"vim": { "branch": "legacy", "commit": "99d4b7bf1a0a12f2d78f35a159384b1eb8aa9c15" },
|
|
||||||
"vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" },
|
|
||||||
"vim-react-snippets": { "branch": "main", "commit": "755e288bd0db1052be4195fcc82a25e28b609e0b" },
|
|
||||||
"vim-rustfmt": { "branch": "master", "commit": "6bb517be12908926a4f5f516aa510c517c85260e" },
|
|
||||||
"vscode-js-debug": { "branch": "main", "commit": "ca1c6450490dab5d742eac16a08d593533a1a13d" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" },
|
|
||||||
"winbar.nvim": { "branch": "main", "commit": "13739fdb31be51a1000486189662596f07a59a31" }
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
require'cmp'.setup {
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
require('nvim-ts-autotag').setup({
|
|
||||||
opts = {
|
|
||||||
-- Defaults
|
|
||||||
enable_close = true, -- Auto close tags
|
|
||||||
enable_rename = true, -- Auto rename pairs of tags
|
|
||||||
enable_close_on_slash = false -- Auto close on trailing </
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
vim.opt.termguicolors = true
|
|
||||||
|
|
||||||
lvim.builtin.bufferline = {
|
|
||||||
options = {
|
|
||||||
mode = "buffers",
|
|
||||||
separator_style = "slant",
|
|
||||||
offsets = {
|
|
||||||
{
|
|
||||||
filetype = "NeoTree",
|
|
||||||
text = "File Explorer",
|
|
||||||
highlight = "Directory",
|
|
||||||
separator = true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
require("colorizer").setup {
|
|
||||||
filetypes = { "scss", "sass", "css", "html", "jsx", "tsx" },
|
|
||||||
user_default_options = {
|
|
||||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
|
||||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
|
||||||
-- Available modes for `mode`: foreground, background, virtualtext
|
|
||||||
mode = "background", -- Set the display mode.
|
|
||||||
-- Available methods are false / true / "normal" / "lsp" / "both"
|
|
||||||
-- True is same as normal
|
|
||||||
tailwind = true, -- Enable tailwind colors
|
|
||||||
-- parsers can contain values used in |user_default_options|
|
|
||||||
sass = { enable = true, parsers = { "css" }, }, -- Enable sass colors
|
|
||||||
-- update color values even if buffer is not focused
|
|
||||||
-- example use: cmp_menu, cmp_docs
|
|
||||||
always_update = false
|
|
||||||
},
|
|
||||||
-- all the sub-options of filetypes apply to buftypes
|
|
||||||
buftypes = {},
|
|
||||||
}
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
local dap = require('dap')
|
|
||||||
|
|
||||||
require("dap-vscode-js").setup({
|
|
||||||
-- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node"
|
|
||||||
debugger_path = "/.local/share/lunarvim/site/pack/lazy/opt/vscode-js-debug", -- Path to vscode-js-debug installation.
|
|
||||||
debugger_cmd = { "js-debug-adapter" }, -- Command to use to launch the debug server. Takes precedence over `node_path` and `debugger_path`.
|
|
||||||
adapters = { 'node-terminal' }, -- which adapters to register in nvim-dap
|
|
||||||
-- log_file_path = "(stdpath cache)/dap_vscode_js.log", -- Path for file logging
|
|
||||||
-- log_file_level = false, -- Logging level for output to file. Set to false to disable file logging.
|
|
||||||
-- log_console_level = vim.log.levels.ERROR -- Logging level for output to console. Set to false to disable console output.
|
|
||||||
})
|
|
||||||
|
|
||||||
dap.configurations.cpp = {
|
|
||||||
{
|
|
||||||
name = "Launch file",
|
|
||||||
type = "codelldb",
|
|
||||||
request = "launch",
|
|
||||||
program = function()
|
|
||||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
|
||||||
end,
|
|
||||||
cwd = '${workspaceFolder}',
|
|
||||||
stopOnEntry = false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.c = dap.configurations.cpp
|
|
||||||
dap.configurations.rust = dap.configurations.cpp
|
|
||||||
|
|
||||||
dap.adapters["pwa-node"] = {
|
|
||||||
type = "server",
|
|
||||||
host = "localhost",
|
|
||||||
port = "${port}",
|
|
||||||
executable = {
|
|
||||||
command = "node",
|
|
||||||
-- 💀 make sure to update this path to point to your installation
|
|
||||||
args = {os.getenv("HOME") .. "/.local/share/lvim/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js", "${port}"},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.javascript = {
|
|
||||||
{
|
|
||||||
type = "pwa-node",
|
|
||||||
request = "launch",
|
|
||||||
name = "Launch file",
|
|
||||||
program = "${file}",
|
|
||||||
cwd = "${workspaceFolder}",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.adapters.chrome = {
|
|
||||||
type = "executable",
|
|
||||||
command = "node",
|
|
||||||
args = {os.getenv("HOME") .. "/.local/share/lvim/mason/packages/chrome-debug-adapter/out/src/chromeDebug.js"},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.adapters.firefox = {
|
|
||||||
type = 'executable',
|
|
||||||
command = 'node',
|
|
||||||
args = {os.getenv('HOME') .. '/.local/share/lvim/mason/packages/firefox-debug-adapter/dist/adapter.bundle.js'},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.typescriptreact = { -- change to typescript if needed
|
|
||||||
{
|
|
||||||
name = 'Next.js: debug server-side',
|
|
||||||
type = "pwa-node",
|
|
||||||
request = "launch",
|
|
||||||
runtimeExecutable = "npm",
|
|
||||||
runtimeArgs = { "run", "dev" },
|
|
||||||
cwd = "${workspaceFolder}",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "Next.js: debug client-side with chrome",
|
|
||||||
type = "chrome",
|
|
||||||
request = "launch",
|
|
||||||
url = "http://localhost:3000"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "Next.js: debug client-side with firefox",
|
|
||||||
type = "firefox",
|
|
||||||
request = "launch",
|
|
||||||
url = 'http://localhost:3000',
|
|
||||||
webRoot = '${workspaceFolder}',
|
|
||||||
firefoxExecutable = '/usr/bin/waterfox',
|
|
||||||
pathMappings = {
|
|
||||||
{
|
|
||||||
url = "webpack://_n_e/",
|
|
||||||
path = "${workspaceFolder}/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.javascriptreact = dap.configurations.typescriptreact;
|
|
||||||
|
|
||||||
require("dapui").setup()
|
|
||||||
|
|
||||||
local dap, dapui = require("dap"), require("dapui")
|
|
||||||
|
|
||||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
|
||||||
dapui.open({})
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>ui', require 'dapui'.toggle)
|
|
||||||
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
local sources = require("dropbar.sources")
|
|
||||||
|
|
||||||
local function get_hl_color(group, attr)
|
|
||||||
return vim.fn.synIDattr(vim.fn.synIDtrans(vim.fn.hlID(group)), attr)
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.cmd [[hi WinBar guisp=#665c54 guibg=#313131]]
|
|
||||||
vim.cmd [[hi WinBarNC guisp=#665c54 guibg=#313131]]
|
|
||||||
|
|
||||||
require("dropbar").setup(
|
|
||||||
{
|
|
||||||
bar = {
|
|
||||||
sources = {
|
|
||||||
{
|
|
||||||
get_symbols = function(buf, win, cursor)
|
|
||||||
local symbols = sources.path.get_symbols(buf, win, cursor)
|
|
||||||
for _, symbol in ipairs(symbols) do
|
|
||||||
-- get correct icon color
|
|
||||||
local icon_fg = get_hl_color(symbol.icon_hl, "fg#")
|
|
||||||
symbol.icon_hl = "DropbarSymbol" .. symbol.icon_hl
|
|
||||||
|
|
||||||
local icon_string = ""
|
|
||||||
-- if icon_fg == "" then
|
|
||||||
-- icon_string = "hi " .. symbol.icon_hl .. " guisp=#665c54 guibg=#313131"
|
|
||||||
-- else
|
|
||||||
-- icon_string = "hi " .. symbol.icon_hl .. " guisp=#665c54 guibg=#313131 guifg=" .. icon_fg
|
|
||||||
-- end
|
|
||||||
|
|
||||||
vim.cmd(icon_string)
|
|
||||||
end
|
|
||||||
return symbols
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
-- vscode format
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load { exclude = vim.g.vscode_snippets_exclude or {} }
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.vscode_snippets_path or "" }
|
|
||||||
|
|
||||||
-- snipmate format
|
|
||||||
require("luasnip.loaders.from_snipmate").load()
|
|
||||||
require("luasnip.loaders.from_snipmate").lazy_load { paths = vim.g.snipmate_snippets_path or "" }
|
|
||||||
|
|
||||||
-- lua format
|
|
||||||
require("luasnip.loaders.from_lua").load()
|
|
||||||
require("luasnip.loaders.from_lua").lazy_load { paths = vim.g.lua_snippets_path or "" }
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("InsertLeave", {
|
|
||||||
callback = function()
|
|
||||||
if
|
|
||||||
require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()]
|
|
||||||
and not require("luasnip").session.jump_active
|
|
||||||
then
|
|
||||||
require("luasnip").unlink_current()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
require("noice").setup({
|
|
||||||
lsp = {
|
|
||||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
|
||||||
override = {
|
|
||||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
|
||||||
["vim.lsp.util.stylize_markdown"] = true,
|
|
||||||
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- you can enable a preset for easier configuration
|
|
||||||
presets = {
|
|
||||||
bottom_search = true, -- use a classic bottom cmdline for search
|
|
||||||
command_palette = true, -- position the cmdline and popupmenu together
|
|
||||||
long_message_to_split = true, -- long messages will be sent to a split
|
|
||||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
|
||||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
lvim.builtin.nvimtree.active = false
|
|
||||||
|
|
||||||
vim.fn.sign_define("LspDiagnosticsSignError",
|
|
||||||
{text = " ", texthl = "LspDiagnosticsSignError"})
|
|
||||||
vim.fn.sign_define("LspDiagnosticsSignWarning",
|
|
||||||
{text = " ", texthl = "LspDiagnosticsSignWarning"})
|
|
||||||
vim.fn.sign_define("LspDiagnosticsSignInformation",
|
|
||||||
{text = " ", texthl = "LspDiagnosticsSignInformation"})
|
|
||||||
vim.fn.sign_define("LspDiagnosticsSignHint",
|
|
||||||
{text = " ", texthl = "LspDiagnosticsSignHint"})
|
|
||||||
|
|
||||||
require("neo-tree").setup({
|
|
||||||
close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab
|
|
||||||
popup_border_style = "rounded",
|
|
||||||
enable_git_status = true,
|
|
||||||
enable_diagnostics = true,
|
|
||||||
open_files_do_not_replace_types = { "terminal", "trouble", "qf" }, -- when opening files, do not use windows containing these filetypes or buftypes
|
|
||||||
sort_case_insensitive = false, -- used when sorting files and directories in the tree
|
|
||||||
sort_function = nil , -- use a custom function for sorting files and directories in the tree
|
|
||||||
-- sort_function = function (a,b)
|
|
||||||
-- if a.type == b.type then
|
|
||||||
-- return a.path > b.path
|
|
||||||
-- else
|
|
||||||
-- return a.type > b.type
|
|
||||||
-- end
|
|
||||||
-- end , -- this sorts files and directories descendantly
|
|
||||||
default_component_configs = {
|
|
||||||
indent = {
|
|
||||||
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
|
||||||
},
|
|
||||||
icon = {
|
|
||||||
folder_closed = "",
|
|
||||||
folder_open = "",
|
|
||||||
folder_empty = "",
|
|
||||||
default = "*",
|
|
||||||
highlight = "NeoTreeFileIcon"
|
|
||||||
},
|
|
||||||
modified = {
|
|
||||||
symbol = "",
|
|
||||||
highlight = "NeoTreeModified",
|
|
||||||
},
|
|
||||||
name = {
|
|
||||||
trailing_slash = false,
|
|
||||||
use_git_status_colors = true,
|
|
||||||
highlight = "NeoTreeFileName",
|
|
||||||
},
|
|
||||||
git_status = {
|
|
||||||
symbols = {
|
|
||||||
-- Change type
|
|
||||||
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
|
|
||||||
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name
|
|
||||||
deleted = "",-- this can only be used in the git_status source
|
|
||||||
renamed = "",-- this can only be used in the git_status source
|
|
||||||
-- Status type
|
|
||||||
untracked = "",
|
|
||||||
ignored = "",
|
|
||||||
unstaged = "",
|
|
||||||
staged = "",
|
|
||||||
conflict = "",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
vim.o.foldcolumn = '1' -- '0' is not bad
|
|
||||||
vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
|
|
||||||
vim.o.foldlevelstart = 99
|
|
||||||
vim.o.foldenable = true
|
|
||||||
vim.o.fillchars = [[eob: ,fold: ,foldopen:,foldsep:╎,foldclose:]]
|
|
||||||
|
|
||||||
-- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself
|
|
||||||
vim.keymap.set('n', 'zR', require('ufo').openAllFolds)
|
|
||||||
vim.keymap.set('n', 'zM', require('ufo').closeAllFolds)
|
|
||||||
|
|
||||||
-- Option 3: treesitter as a main provider instead
|
|
||||||
-- (Note: the `nvim-treesitter` plugin is *not* needed.)
|
|
||||||
-- ufo uses the same query files for folding (queries/<lang>/folds.scm)
|
|
||||||
-- performance and stability are better than `foldmethod=nvim_treesitter#foldexpr()`
|
|
||||||
require('ufo').setup({
|
|
||||||
provider_selector = function(bufnr, filetype, buftype)
|
|
||||||
return {'treesitter', 'indent'}
|
|
||||||
end
|
|
||||||
})
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
local prettier = require("prettier")
|
|
||||||
|
|
||||||
prettier.setup({
|
|
||||||
bin = 'prettier', -- or `'prettierd'` (v0.23.3+)
|
|
||||||
filetypes = {
|
|
||||||
"css",
|
|
||||||
"graphql",
|
|
||||||
"html",
|
|
||||||
"javascript",
|
|
||||||
"javascriptreact",
|
|
||||||
"json",
|
|
||||||
"less",
|
|
||||||
"markdown",
|
|
||||||
"scss",
|
|
||||||
"typescript",
|
|
||||||
"typescriptreact",
|
|
||||||
"yaml",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
local map = vim.keymap.set
|
|
||||||
|
|
||||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
|
||||||
|
|
||||||
map("i", "<C-h>", "<Left>", { desc = "move left" })
|
|
||||||
map("i", "<C-l>", "<Right>", { desc = "move right" })
|
|
||||||
map("i", "<C-j>", "<Down>", { desc = "move down" })
|
|
||||||
map("i", "<C-k>", "<Up>", { desc = "move up" })
|
|
||||||
|
|
||||||
map("n", "<C-h>", "<C-w>h", { desc = "switch window left" })
|
|
||||||
map("n", "<C-l>", "<C-w>l", { desc = "switch window right" })
|
|
||||||
map("n", "<C-j>", "<C-w>j", { desc = "switch window down" })
|
|
||||||
map("n", "<C-k>", "<C-w>k", { desc = "switch window up" })
|
|
||||||
|
|
||||||
map("n", "<C-n>", "<cmd>NeoTreeShowToggle<CR>", { desc = "nvimtree toggle window" })
|
|
||||||
|
|
||||||
map("n", "<C-A-l>", "<cmd>BufferLineMoveNext<cr>", { desc = "move buffer to right" })
|
|
||||||
map("n", "<C-A-J>", "<cmd>BufferLineMovePrev<cr>", { desc = "move buffer to left" })
|
|
||||||
map("n", "<Tab>", "<cmd>BufferLineCycleNext<cr>", { desc = "switch to next buffer" })
|
|
||||||
map("n", "<S-Tab>", "<cmd>BufferLineCyclePrev<cr>", { desc = "switch to prev buffer" })
|
|
||||||
|
|
||||||
lvim.builtin.which_key.mappings["ln"] = { "<cmd>set norelativenumber<CR>", "Toggle line number" }
|
|
||||||
lvim.builtin.which_key.mappings["e"] = { "<cmd>NeoTreeFocus<CR>", "Nvimtree focus window" }
|
|
||||||
lvim.builtin.which_key.mappings["rn"] = { "<cmd>set relativenumber<CR>", "Toggle relative number" }
|
|
||||||
lvim.builtin.which_key.mappings["ns"] = { "<Cmd>split<cr>", "Horizontal split" }
|
|
||||||
lvim.builtin.which_key.mappings["vs"] = { "<Cmd>vsplit<cr>", "Vertical split" }
|
|
||||||
|
|
||||||
map("n", "<F9>", "<cmd>DapContinue<cr>")
|
|
||||||
map("n", "<F5>", "<cmd>DapToggleBreakpoint<cr>")
|
|
||||||
|
|
||||||
map("n", "mk", "<cmd>RustLsp moveItem up<cr>")
|
|
||||||
map("n", "m,", "<cmd>RustLsp moveItem down<cr>")
|
|
||||||
map("n", "rs", "<cmd>RustLsp run<cr>")
|
|
||||||
map("n", "hh", "<cmd>RustLsp hover actions<cr>")
|
|
||||||
map("n", "ca", "<cmd>RustLsp codeAction<cr>")
|
|
||||||
map("n", "<C-s>", "<cmd>w!<cr>")
|
|
||||||
map("i", "<C-s>", "<cmd>w!<cr>")
|
|
||||||
|
|
||||||
map("n", "<leader>dr", "<cmd> DapContinue <cr>", { desc = "Continue debug" } )
|
|
||||||
|
|
||||||
map("n", "do", function()
|
|
||||||
require("dapui").open()
|
|
||||||
end, { desc = "Open DAP ui" })
|
|
||||||
map("n", "dc", function()
|
|
||||||
require("dapui").close()
|
|
||||||
end, { desc = "Start or continue debug" })
|
|
||||||
map("n", "dt", function()
|
|
||||||
require("dapui").toggle()
|
|
||||||
end, { desc = "Toggle DAP ui" })
|
|
||||||
|
|
||||||
map("n", "+", "<cmd>vertical resize +5<cr>", { desc = "Increase vertical buffer" }) -- make the window biger vertically
|
|
||||||
map("n", "-", "<cmd>vertical resize -5<cr>", { desc = "Decrease vertical buffer" }) -- make the window smaller vertically
|
|
||||||
map("n", "=", "<cmd>horizontal resize -2<cr>", { desc = "Decrease horizontal buffer" }) -- make the window smaller horizontally by pressing shift and -
|
|
||||||
map("n", "_", "<cmd>horizontal resize +2<cr>", { desc = "Increase horizontal buffer" }) -- make the window bigger horizontally by pressing shift and =
|
|
||||||
map("n", "<C-{>", "<cmd>foldopen<cr>")
|
|
||||||
map("n", "<C-}>", "<cmd>foldclose<cr>")
|
|
||||||
@@ -1,209 +0,0 @@
|
|||||||
lvim.plugins = {
|
|
||||||
{
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
"eslint-lsp",
|
|
||||||
"js-debug-adapter",
|
|
||||||
"prettier",
|
|
||||||
"typescript-language-server",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'kevinhwang91/nvim-ufo',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'kevinhwang91/promise-async',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'rust-lang/rust.vim',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'kevinhwang91/nvim-bqf'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'MunifTanjim/prettier.nvim'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'alx741/vim-rustfmt',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"savq/melange-nvim"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'theHamsta/nvim-dap-virtual-text',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"HoNamDuong/hybrid.nvim",
|
|
||||||
lazy = false,
|
|
||||||
priority = 1000,
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'marko-cerovac/material.nvim'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rebelot/kanagawa.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'mountain-theme/vim'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'fgheng/winbar.nvim'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gbprod/nord.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"vague2k/huez.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Bekaboo/dropbar.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-telescope/telescope-fzf-native.nvim"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
branch = "v2.x",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- load luasnips + cmp related in insert mode only
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
event = "InsertEnter",
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
-- snippet plugin
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
dependencies = "rafamadriz/friendly-snippets",
|
|
||||||
opts = { history = true, updateevents = "TextChanged,TextChangedI" },
|
|
||||||
config = function(_, opts)
|
|
||||||
require("luasnip").config.set_config(opts)
|
|
||||||
require "configs.luasnip"
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- cmp sources plugins
|
|
||||||
{
|
|
||||||
"saadparwaiz1/cmp_luasnip",
|
|
||||||
"hrsh7th/cmp-nvim-lua",
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
"hrsh7th/cmp-buffer",
|
|
||||||
"hrsh7th/cmp-path",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"luckasRanarison/tailwind-tools.nvim",
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"kyazdani42/nvim-web-devicons"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
event = "VeryLazy",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-neotest/nvim-nio",
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
},
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("dapui").setup()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mxsdev/nvim-dap-vscode-js"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"microsoft/vscode-js-debug",
|
|
||||||
lazy = true,
|
|
||||||
build = "npm install --legacy-peer-deps && npx gulp vsDebugServerBundle && mv dist out"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'NvChad/nvim-colorizer.lua',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/neodev.nvim", opts = {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mlaursen/vim-react-snippets",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"windwp/nvim-ts-autotag",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/ts-comments.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
enabled = vim.fn.has("nvim-0.10.0") == 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = true
|
|
||||||
-- use opts = {} for passing setup options
|
|
||||||
-- this is equalent to setup({}) function
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mrcjkb/rustaceanvim",
|
|
||||||
version = '^4', -- Recommended
|
|
||||||
lazy = false, -- This plugin is already lazy
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"NeogitOrg/neogit",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim", -- required
|
|
||||||
"sindrets/diffview.nvim", -- optional - Diff integration
|
|
||||||
|
|
||||||
-- Only one of these is needed, not both.
|
|
||||||
"nvim-telescope/telescope.nvim", -- optional
|
|
||||||
"ibhagwan/fzf-lua", -- optional
|
|
||||||
},
|
|
||||||
config = true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
priority = 1000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"loctvl842/monokai-pro.nvim"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tanvirtin/monokai.nvim"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/noice.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
routes = {
|
|
||||||
{
|
|
||||||
filter = { event = "notify", find = "No information available" },
|
|
||||||
opts = { skip = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
presets = {
|
|
||||||
lsp_doc_border = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
17
mimeapps.list
Normal file
17
mimeapps.list
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
[Default Applications]
|
||||||
|
x-scheme-handler/tonsite=io.github.kukuruzka165.materialgram.desktop
|
||||||
|
x-scheme-handler/tg=io.github.kukuruzka165.materialgram.desktop
|
||||||
|
x-scheme-handler/mailto=userapp-Thunderbird-9B2JV2.desktop
|
||||||
|
message/rfc822=userapp-Thunderbird-9B2JV2.desktop
|
||||||
|
x-scheme-handler/mid=userapp-Thunderbird-9B2JV2.desktop
|
||||||
|
application/pdf=org.pwmt.zathura-pdf-poppler.desktop
|
||||||
|
image/jpg=feh.desktop
|
||||||
|
image/jpeg=feh.desktop
|
||||||
|
image/png=feh.desktop
|
||||||
|
image/webm=feh.desktop
|
||||||
|
|
||||||
|
[Added Associations]
|
||||||
|
x-scheme-handler/tonsite=org.telegram.desktop.desktop;io.github.kukuruzka165.materialgram.desktop;
|
||||||
|
x-scheme-handler/tg=io.github.kukuruzka165.materialgram.desktop;
|
||||||
|
x-scheme-handler/mailto=userapp-Thunderbird-9B2JV2.desktop;
|
||||||
|
x-scheme-handler/mid=userapp-Thunderbird-9B2JV2.desktop;
|
||||||
110
picom/picom.conf
110
picom/picom.conf
@@ -64,7 +64,7 @@ shadow-offset-y = -20;
|
|||||||
|
|
||||||
# Fade windows in/out when opening/closing and when opacity changes,
|
# Fade windows in/out when opening/closing and when opacity changes,
|
||||||
# unless no-fading-openclose is used.
|
# unless no-fading-openclose is used.
|
||||||
fading = false;
|
fading = true;
|
||||||
|
|
||||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||||
# fade-in-step = 0.028
|
# fade-in-step = 0.028
|
||||||
@@ -120,7 +120,7 @@ fade-delta = 10
|
|||||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||||
# round the corners of windows. Does not interact well with
|
# round the corners of windows. Does not interact well with
|
||||||
# `transparent-clipping`.
|
# `transparent-clipping`.
|
||||||
corner-radius = 10;
|
corner-radius = 2;
|
||||||
|
|
||||||
# Exclude conditions for rounded corners.
|
# Exclude conditions for rounded corners.
|
||||||
#rounded-corners-exclude = [
|
#rounded-corners-exclude = [
|
||||||
@@ -142,17 +142,17 @@ corner-radius = 10;
|
|||||||
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
|
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
|
||||||
# `xrender` is the default one.
|
# `xrender` is the default one.
|
||||||
#
|
#
|
||||||
|
# Available backends "xrender" "glx" "egl"
|
||||||
backend = "glx"
|
backend = "glx"
|
||||||
dithered-present = false;
|
|
||||||
|
dithered-present = true;
|
||||||
vsync = true;
|
vsync = true;
|
||||||
|
|
||||||
|
detect-rounded-corners = true;
|
||||||
detect-client-opacity = true;
|
detect-client-opacity = true;
|
||||||
detect-transient = true;
|
detect-transient = true;
|
||||||
detect-client-leader = true
|
|
||||||
glx-no-stencil = true
|
|
||||||
glx-no-rebind-pixmap = false
|
|
||||||
use-damage = true;
|
use-damage = true;
|
||||||
xrender-sync-fence = false
|
|
||||||
log-level = "warn";
|
|
||||||
|
|
||||||
rules = ({
|
rules = ({
|
||||||
match = "WM_TRANSIENT_FOR@";
|
match = "WM_TRANSIENT_FOR@";
|
||||||
@@ -193,7 +193,7 @@ rules = ({
|
|||||||
blur-opacity = 0;
|
blur-opacity = 0;
|
||||||
shadow-opacity = "opacity";
|
shadow-opacity = "opacity";
|
||||||
scale-y = {
|
scale-y = {
|
||||||
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
duration = 0.15;
|
duration = 0.15;
|
||||||
start = 1;
|
start = 1;
|
||||||
end = 0.7;
|
end = 0.7;
|
||||||
@@ -241,7 +241,7 @@ rules = ({
|
|||||||
blur-opacity = 0;
|
blur-opacity = 0;
|
||||||
shadow-opacity = "opacity";
|
shadow-opacity = "opacity";
|
||||||
scale-y = {
|
scale-y = {
|
||||||
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
duration = 0.15;
|
duration = 0.15;
|
||||||
start = 1;
|
start = 1;
|
||||||
end = 0.7;
|
end = 0.7;
|
||||||
@@ -257,7 +257,14 @@ rules = ({
|
|||||||
match = "window_type = 'dock' || window_type = 'desktop'";
|
match = "window_type = 'dock' || window_type = 'desktop'";
|
||||||
blur-background = false;
|
blur-background = false;
|
||||||
corner-radius = 0;
|
corner-radius = 0;
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
|
match = "window_type = 'dock'";
|
||||||
|
animations = ({
|
||||||
|
triggers = ["open", "show", "close", "hide"],
|
||||||
|
})
|
||||||
|
},
|
||||||
|
{
|
||||||
match = "class_g *= 'i3lock' || _NET_WM_STATE@[1] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[2] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[3] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[4] = '_NET_WM_STATE_FULLSCREEN'";
|
match = "class_g *= 'i3lock' || _NET_WM_STATE@[1] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[2] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[3] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[4] = '_NET_WM_STATE_FULLSCREEN'";
|
||||||
shadow = false;
|
shadow = false;
|
||||||
corner-radius = 0;
|
corner-radius = 0;
|
||||||
@@ -286,7 +293,7 @@ rules = ({
|
|||||||
duration = 0.15;
|
duration = 0.15;
|
||||||
start = "window-raw-opacity-before";
|
start = "window-raw-opacity-before";
|
||||||
end = "0";
|
end = "0";
|
||||||
};
|
}
|
||||||
blur-opacity = 0;
|
blur-opacity = 0;
|
||||||
shadow-opacity = "opacity";
|
shadow-opacity = "opacity";
|
||||||
saved-image-blend = 0;
|
saved-image-blend = 0;
|
||||||
@@ -306,7 +313,7 @@ animations = ({
|
|||||||
offset-x = "(1 - scale-x) / 2 * window-width";
|
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||||
offset-y = "(1 - scale-y) / 2 * window-height";
|
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||||
scale-x = {
|
scale-x = {
|
||||||
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
duration = 0.15;
|
duration = 0.15;
|
||||||
start = 1;
|
start = 1;
|
||||||
end = 0.9;
|
end = 0.9;
|
||||||
@@ -346,18 +353,17 @@ animations = ({
|
|||||||
shadow-offset-x = "offset-x";
|
shadow-offset-x = "offset-x";
|
||||||
shadow-offset-y = "offset-y";
|
shadow-offset-y = "offset-y";
|
||||||
},
|
},
|
||||||
|
|
||||||
# Half Window Size Desktop Switch
|
# Half Window Size Desktop Switch
|
||||||
{
|
{
|
||||||
triggers = ["workspace-out"];
|
triggers = ["workspace-out"];
|
||||||
offset-y = {
|
offset-y = {
|
||||||
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
duration = 0.15;
|
duration = 0.15;
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "- window-height / 2";
|
end = "- window-height / 2";
|
||||||
};
|
};
|
||||||
scale-x = {
|
scale-x = {
|
||||||
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
duration = 0.10;
|
duration = 0.10;
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "- window-height / 2";
|
end = "- window-height / 2";
|
||||||
@@ -375,7 +381,7 @@ animations = ({
|
|||||||
}, {
|
}, {
|
||||||
triggers = ["workspace-out-inverse"];
|
triggers = ["workspace-out-inverse"];
|
||||||
offset-y = {
|
offset-y = {
|
||||||
curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
duration = 0.15;
|
duration = 0.15;
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "window-height / 2";
|
end = "window-height / 2";
|
||||||
@@ -435,22 +441,72 @@ animations = ({
|
|||||||
end = "window-raw-opacity";
|
end = "window-raw-opacity";
|
||||||
};
|
};
|
||||||
shadow-opacity = "opacity";
|
shadow-opacity = "opacity";
|
||||||
},
|
},{
|
||||||
|
triggers = ["geometry"]
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
||||||
|
duration = 0.2;
|
||||||
|
start = "window-width-before / window-width";
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
scale-y = {
|
||||||
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
||||||
|
duration = 0.2;
|
||||||
|
start = "window-height-before / window-height";
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
offset-x = {
|
||||||
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
||||||
|
duration = 0.2;
|
||||||
|
start = "window-x-before - window-x";
|
||||||
|
end = 0;
|
||||||
|
}
|
||||||
|
offset-y = {
|
||||||
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
||||||
|
duration = 0.2;
|
||||||
|
start = "window-y-before - window-y";
|
||||||
|
end = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
saved-image-blend = 0;
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
}
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# triggers = [ "geometry" ];
|
# triggers = [ "geometry" ];
|
||||||
# crop-width = {
|
# scale-x = {
|
||||||
# curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
# duration = 0.5;
|
# duration = 0.25;
|
||||||
# start = "window-width-before";
|
# start = "window-width-before / window-width";
|
||||||
# end = "window-width";
|
# end = 1;
|
||||||
# };
|
# }
|
||||||
|
# scale-y = {
|
||||||
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
|
# duration = 0.25;
|
||||||
|
# start = "window-height-before / window-height";
|
||||||
|
# end = 1;
|
||||||
|
# }
|
||||||
|
# offset-x = {
|
||||||
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
|
# duration = 0.25;
|
||||||
|
# start = "window-x-before - window-x";
|
||||||
|
# end = "0";
|
||||||
|
# }
|
||||||
|
# offset-y = {
|
||||||
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
|
# duration = 0.25;
|
||||||
|
# start = "window-y-before - window-y";
|
||||||
|
# end = "0";
|
||||||
|
# }
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# Full Opaque Desktop Switch
|
# Full Opaque Desktop Switch
|
||||||
#{
|
#{
|
||||||
# triggers = ["workspace-out"];
|
# triggers = ["workspace-out"];
|
||||||
# offset-y = {
|
# offset-y = {
|
||||||
# timing = "0.15s cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
# timing = "0.15s cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
# start = "0";
|
# start = "0";
|
||||||
# end = "-window-monitor-height";
|
# end = "-window-monitor-height";
|
||||||
# };
|
# };
|
||||||
@@ -465,7 +521,7 @@ animations = ({
|
|||||||
#}, {
|
#}, {
|
||||||
# triggers = ["workspace-out-inverse"];
|
# triggers = ["workspace-out-inverse"];
|
||||||
# offset-y = {
|
# offset-y = {
|
||||||
# timing = "0.15s cubic-bezier(0.21, 0.02, 0.76, 0.36)";
|
# timing = "0.15s cubic-bezier(0.25, 0.05, 0.28, 1)";
|
||||||
# start = "0";
|
# start = "0";
|
||||||
# end = "window-monitor-height";
|
# end = "window-monitor-height";
|
||||||
# };
|
# };
|
||||||
|
|||||||
32
polybar/calendar
Executable file
32
polybar/calendar
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
send_notification() {
|
||||||
|
TODAY=$(date '+%-d')
|
||||||
|
HEAD=$(cal "$1" | head -n1)
|
||||||
|
BODY=$(cal "$1" | tail -n7 | sed -z "s|$TODAY|<u><b>$TODAY</b></u>|1")
|
||||||
|
FOOT="\n<i> ~ calendar</i> "
|
||||||
|
dunstify -h string:x-canonical-private-synchronous:calendar \
|
||||||
|
"$HEAD" "$BODY$FOOT" -u NORMAL
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_action() {
|
||||||
|
echo "$DIFF" > "$TMP"
|
||||||
|
if [ "$DIFF" -ge 0 ]; then
|
||||||
|
send_notification "+$DIFF months"
|
||||||
|
else
|
||||||
|
send_notification "$((-DIFF)) months ago"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
TMP=${XDG_RUNTIME_DIR:-/tmp}/"$UID"_calendar_notification_month
|
||||||
|
touch "$TMP"
|
||||||
|
|
||||||
|
DIFF=$(<"$TMP")
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
"curr") DIFF=0;;
|
||||||
|
"next") DIFF=$((DIFF+1));;
|
||||||
|
"prev") DIFF=$((DIFF-1));;
|
||||||
|
esac
|
||||||
|
|
||||||
|
handle_action
|
||||||
@@ -17,42 +17,35 @@
|
|||||||
;==========================================================
|
;==========================================================
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
background = #353F5D
|
background = #333333
|
||||||
background-alt = #414D72
|
background-alt = #2E2E2E
|
||||||
foreground = #C8C7D1
|
foreground = #8C8C8C
|
||||||
primary = #FFCC4D
|
primary = #93D4C5
|
||||||
secondary = #FF7FA3
|
secondary = #E0A3B6
|
||||||
alert = #A54242
|
alert = #E7A063
|
||||||
disabled = #707880
|
disabled = #9DA991
|
||||||
|
|
||||||
[bar/example]
|
[bar/example]
|
||||||
width = 100%
|
width = 100%
|
||||||
height = 18pt
|
height = 22pt
|
||||||
radius = 11t
|
|
||||||
|
|
||||||
; dpi = 96
|
; dpi = 96
|
||||||
|
|
||||||
background = ${colors.background}
|
background = ${colors.background}
|
||||||
foreground = ${colors.foreground}
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
line-size = 1pt
|
line-size = 2pt
|
||||||
|
|
||||||
border-size = 4pt
|
|
||||||
border-color = #00000000
|
|
||||||
|
|
||||||
padding-left = 0
|
padding-left = 0
|
||||||
padding-right = 1
|
padding-right = 1
|
||||||
|
|
||||||
module-margin = 1
|
module-margin = 1
|
||||||
|
|
||||||
separator = |
|
font-0 = "FiraCode Nerd Font Propo:size=10;2"
|
||||||
separator-foreground = ${colors.disabled}
|
|
||||||
|
|
||||||
font-0 = "FiraCode Nerd Font:size=10;2"
|
|
||||||
|
|
||||||
modules-left = xworkspaces
|
modules-left = xworkspaces
|
||||||
modules-center = xwindow
|
modules-center = xwindow
|
||||||
modules-right = memory cpu pulseaudio xkeyboard wlan eth date battery powermenu
|
modules-right = pulseaudio xkeyboard wlan eth date calendar battery powermenu
|
||||||
|
|
||||||
cursor-click = pointer
|
cursor-click = pointer
|
||||||
cursor-scroll = ns-resize
|
cursor-scroll = ns-resize
|
||||||
@@ -60,7 +53,7 @@ cursor-scroll = ns-resize
|
|||||||
enable-ipc = true
|
enable-ipc = true
|
||||||
|
|
||||||
; wm-restack = generic
|
; wm-restack = generic
|
||||||
; wm-restack = bspwm
|
wm-restack = bspwm
|
||||||
; wm-restack = i3
|
; wm-restack = i3
|
||||||
|
|
||||||
; override-redirect = true
|
; override-redirect = true
|
||||||
@@ -73,6 +66,7 @@ enable-ipc = true
|
|||||||
; be quite random.
|
; be quite random.
|
||||||
; For more information, see the documentation page for this module:
|
; For more information, see the documentation page for this module:
|
||||||
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
|
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
|
||||||
|
|
||||||
[module/systray]
|
[module/systray]
|
||||||
type = internal/tray
|
type = internal/tray
|
||||||
|
|
||||||
@@ -161,7 +155,6 @@ label = %percentage:2%%
|
|||||||
type = internal/network
|
type = internal/network
|
||||||
interval = 5
|
interval = 5
|
||||||
|
|
||||||
|
|
||||||
format-disconnected = <label-disconnected>
|
format-disconnected = <label-disconnected>
|
||||||
label-disconnected = disconnected
|
label-disconnected = disconnected
|
||||||
|
|
||||||
@@ -186,9 +179,9 @@ ramp-signal-5 =
|
|||||||
inherit = network-base
|
inherit = network-base
|
||||||
interface-type = wired
|
interface-type = wired
|
||||||
|
|
||||||
format-connected = %{} <label-connected>
|
format-connected = <label-connected>
|
||||||
|
|
||||||
format-connected-prefix =
|
format-connected-prefix = " "
|
||||||
format-connected-prefix-foreground = ${colors.primary}
|
format-connected-prefix-foreground = ${colors.primary}
|
||||||
|
|
||||||
label-connected = %local_ip%
|
label-connected = %local_ip%
|
||||||
@@ -199,11 +192,21 @@ type = internal/date
|
|||||||
interval = 1
|
interval = 1
|
||||||
|
|
||||||
date = %H:%M
|
date = %H:%M
|
||||||
date-alt = %Y-%m-%d %H:%M:%S
|
|
||||||
|
|
||||||
label = %date%
|
label = %date%
|
||||||
label-foreground = ${colors.primary}
|
label-foreground = ${colors.primary}
|
||||||
|
|
||||||
|
[module/calendar]
|
||||||
|
type = custom/script
|
||||||
|
label = %output:0:15:...%
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.primary}
|
||||||
|
format = <label>
|
||||||
|
exec = date "+%d %b %Y"
|
||||||
|
click-left = ~/.config/polybar/calendar curr
|
||||||
|
scroll-up = ~/.config/polybar/calendar next
|
||||||
|
scroll-down = ~/.config/polybar/calendar prev
|
||||||
|
|
||||||
[module/battery]
|
[module/battery]
|
||||||
type = internal/battery
|
type = internal/battery
|
||||||
|
|
||||||
@@ -251,6 +254,8 @@ format-charging = <animation-charging> <label-charging>
|
|||||||
; <animation-discharging>
|
; <animation-discharging>
|
||||||
format-discharging = <ramp-capacity> <label-discharging>
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
|
||||||
|
ramp-capacity-foreground = ${colors.primary}
|
||||||
|
|
||||||
; Available tags:
|
; Available tags:
|
||||||
; <label-full> (default)
|
; <label-full> (default)
|
||||||
; <bar-capacity>
|
; <bar-capacity>
|
||||||
@@ -295,30 +300,30 @@ label-full = Fully charged
|
|||||||
label-low = BATTERY LOW
|
label-low = BATTERY LOW
|
||||||
|
|
||||||
; Only applies if <ramp-capacity> is used
|
; Only applies if <ramp-capacity> is used
|
||||||
ramp-capacity-0 =
|
ramp-capacity-0 =
|
||||||
ramp-capacity-1 =
|
ramp-capacity-1 =
|
||||||
ramp-capacity-2 =
|
ramp-capacity-2 =
|
||||||
ramp-capacity-3 =
|
ramp-capacity-3 =
|
||||||
ramp-capacity-4 =
|
ramp-capacity-4 =
|
||||||
|
|
||||||
; Only applies if <bar-capacity> is used
|
; Only applies if <bar-capacity> is used
|
||||||
bar-capacity-width = 10
|
bar-capacity-width = 10
|
||||||
|
|
||||||
; Only applies if <animation-charging> is used
|
; Only applies if <animation-charging> is used
|
||||||
animation-charging-0 =
|
animation-charging-0 =
|
||||||
animation-charging-1 =
|
animation-charging-1 =
|
||||||
animation-charging-2 =
|
animation-charging-2 =
|
||||||
animation-charging-3 =
|
animation-charging-3 =
|
||||||
animation-charging-4 =
|
animation-charging-4 =
|
||||||
; Framerate in milliseconds
|
; Framerate in milliseconds
|
||||||
animation-charging-framerate = 750
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
; Only applies if <animation-discharging> is used
|
; Only applies if <animation-discharging> is used
|
||||||
animation-discharging-0 =
|
animation-discharging-0 =
|
||||||
animation-discharging-1 =
|
animation-discharging-1 =
|
||||||
animation-discharging-2 =
|
animation-discharging-2 =
|
||||||
animation-discharging-3 =
|
animation-discharging-3 =
|
||||||
animation-discharging-4 =
|
animation-discharging-4 =
|
||||||
; Framerate in milliseconds
|
; Framerate in milliseconds
|
||||||
animation-discharging-framerate = 500
|
animation-discharging-framerate = 500
|
||||||
|
|
||||||
@@ -338,6 +343,8 @@ pseudo-transparency = true
|
|||||||
type = custom/text
|
type = custom/text
|
||||||
|
|
||||||
content = " "
|
content = " "
|
||||||
content-foreground = ${colors.urgent}
|
content-foreground = ${colors.primary}
|
||||||
|
|
||||||
click-left = ~/.config/rofi/power/launch.sh
|
click-left = ~/.config/rofi/power/launch.sh
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
* {
|
* {
|
||||||
selected: #FFCC4D;
|
selected: #93D4C5;
|
||||||
background: #353F5D;
|
background: #333333;
|
||||||
foreground: #C8C7D1;
|
foreground: #A6A6A6;
|
||||||
background-alt: #414D72;
|
background-alt: #272727;
|
||||||
urgent: #353F5D;
|
urgent: #8393A1;
|
||||||
active: #FF7FA3;
|
active: #E0A3B6;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,17 +63,9 @@ run_cmd() {
|
|||||||
elif [[ $1 == '--reboot' ]]; then
|
elif [[ $1 == '--reboot' ]]; then
|
||||||
loginctl reboot
|
loginctl reboot
|
||||||
elif [[ $1 == '--suspend' ]]; then
|
elif [[ $1 == '--suspend' ]]; then
|
||||||
loginctl suspend
|
betterlockscreen --suspend
|
||||||
elif [[ $1 == '--logout' ]]; then
|
elif [[ $1 == '--logout' ]]; then
|
||||||
if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then
|
bspc quit & pkill pipewire & pkill pipewire-pulse & pkill polybar
|
||||||
openbox --exit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then
|
|
||||||
bspc quit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then
|
|
||||||
i3-msg exit
|
|
||||||
elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then
|
|
||||||
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
exit 0
|
exit 0
|
||||||
@@ -100,6 +92,6 @@ case ${chosen} in
|
|||||||
run_cmd --suspend
|
run_cmd --suspend
|
||||||
;;
|
;;
|
||||||
$logout)
|
$logout)
|
||||||
run_cmd --logout
|
run_cmd --logout
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ Print
|
|||||||
# terminal emulator
|
# terminal emulator
|
||||||
super + Return
|
super + Return
|
||||||
tabbed -r 2 st -w ''
|
tabbed -r 2 st -w ''
|
||||||
# program launcher
|
|
||||||
|
# program launcher
|
||||||
super + d
|
super + d
|
||||||
~/.config/rofi/launcher/launch.sh
|
~/.config/rofi/launcher/launch.sh
|
||||||
|
|
||||||
@@ -24,7 +25,10 @@ super + Escape
|
|||||||
|
|
||||||
# quit/restart bspwm
|
# quit/restart bspwm
|
||||||
super + alt + {q,r}
|
super + alt + {q,r}
|
||||||
bspc {quit,wm -r}
|
bspc {quit & pkill pipewire & pkill pipewire-pulse,wm -r}
|
||||||
|
|
||||||
|
alt + shift + l
|
||||||
|
betterlockscreen -l dim
|
||||||
|
|
||||||
# close and kill
|
# close and kill
|
||||||
super + {q, shift + q}
|
super + {q, shift + q}
|
||||||
@@ -41,6 +45,7 @@ super + y
|
|||||||
# swap the current node and the biggest window
|
# swap the current node and the biggest window
|
||||||
super + g
|
super + g
|
||||||
bspc node -s biggest.window
|
bspc node -s biggest.window
|
||||||
|
|
||||||
#
|
#
|
||||||
# state/flags
|
# state/flags
|
||||||
#
|
#
|
||||||
@@ -111,6 +116,15 @@ super + ctrl + shift + space
|
|||||||
# move/resize
|
# move/resize
|
||||||
#
|
#
|
||||||
|
|
||||||
|
{XF86AudioLowerVolume, XF86AudioRaiseVolume}
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ {-,+}5%
|
||||||
|
|
||||||
|
XF86AudioMute
|
||||||
|
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
|
||||||
|
super + ctrl + XF86TouchpadToggle
|
||||||
|
touchpad_toggle.sh
|
||||||
|
|
||||||
# expand a window by moving one of its side outward
|
# expand a window by moving one of its side outward
|
||||||
super + alt + {h,j,k,l}
|
super + alt + {h,j,k,l}
|
||||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||||
@@ -122,3 +136,10 @@ super + alt + shift + {h,j,k,l}
|
|||||||
# move a floating window
|
# move a floating window
|
||||||
super + {Left,Down,Up,Right}
|
super + {Left,Down,Up,Right}
|
||||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||||
|
|
||||||
|
#
|
||||||
|
# rofi applets
|
||||||
|
#
|
||||||
|
|
||||||
|
super + P
|
||||||
|
~/.config/rofi/power/launch.sh
|
||||||
|
|||||||
22
yazi/flavors/gruvbox-dark.yazi/LICENSE
Normal file
22
yazi/flavors/gruvbox-dark.yazi/LICENSE
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2024 Ben Yip
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
21
yazi/flavors/gruvbox-dark.yazi/LICENSE-tmtheme
Normal file
21
yazi/flavors/gruvbox-dark.yazi/LICENSE-tmtheme
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 Subhaditya Nath
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
32
yazi/flavors/gruvbox-dark.yazi/README.md
Normal file
32
yazi/flavors/gruvbox-dark.yazi/README.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<div align="center">
|
||||||
|
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 align="center">
|
||||||
|
Gruvbox Dark Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
## 👀 Preview
|
||||||
|
|
||||||
|
<img src="preview.png" width="600" />
|
||||||
|
|
||||||
|
## 🎨 Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ya pack -a bennyyip/gruvbox-dark
|
||||||
|
```
|
||||||
|
|
||||||
|
## ⚙️ Usage
|
||||||
|
|
||||||
|
Add the these lines to your `theme.toml` configuration file to use it:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[flavor]
|
||||||
|
dark = "gruvbox-dark"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📜 License
|
||||||
|
|
||||||
|
The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
|
||||||
|
|
||||||
|
Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.
|
||||||
146
yazi/flavors/gruvbox-dark.yazi/flavor.toml
Normal file
146
yazi/flavors/gruvbox-dark.yazi/flavor.toml
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
# vim:fileencoding=utf-8:foldmethod=marker
|
||||||
|
|
||||||
|
# : Manager {{{
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
cwd = { fg = "#83a598" }
|
||||||
|
|
||||||
|
# Hovered
|
||||||
|
hovered = { reversed = true, bold = true }
|
||||||
|
# hovered = { bg = "#3c3836", bold = true }
|
||||||
|
preview_hovered = { underline = true }
|
||||||
|
|
||||||
|
# Find
|
||||||
|
find_keyword = { fg = "#b8bb26", italic = true }
|
||||||
|
find_position = { fg = "#fe8019", bg = "reset", italic = true }
|
||||||
|
|
||||||
|
# Marker
|
||||||
|
marker_copied = { fg = "#8ec07c", bg = "#8ec07c" }
|
||||||
|
marker_cut = { fg = "#d3869b", bg = "#d3869b" }
|
||||||
|
marker_marked = { fg = "#83a598", bg = "#83a598" }
|
||||||
|
marker_selected = { fg = "#fbf1c7", bg = "#fbf1c7" }
|
||||||
|
|
||||||
|
# Tab
|
||||||
|
tab_active = { fg = "#282828", bg = "#a89984" }
|
||||||
|
tab_inactive = { fg = "#a89984", bg = "#504945" }
|
||||||
|
tab_width = 1
|
||||||
|
|
||||||
|
# Count
|
||||||
|
count_copied = { fg = "#282828", bg = "#8ec07c" }
|
||||||
|
count_cut = { fg = "#282828", bg = "#d3869b" }
|
||||||
|
count_selected = { fg = "#282828", bg = "#fbf1c7" }
|
||||||
|
|
||||||
|
# Border
|
||||||
|
border_symbol = "│"
|
||||||
|
border_style = { fg = "#665c54" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Status {{{
|
||||||
|
|
||||||
|
[status]
|
||||||
|
separator_open = "\ue0be"
|
||||||
|
separator_close = "\ue0b8"
|
||||||
|
separator_style = { fg = "#3c3836", bg = "#3c3836" }
|
||||||
|
|
||||||
|
# Mode
|
||||||
|
mode_normal = { fg = "#282828", bg = "#a89984", bold = true }
|
||||||
|
mode_select = { fg = "#282828", bg = "#fe8019", bold = true }
|
||||||
|
mode_unset = { fg = "#282828", bg = "#b8bb26", bold = true }
|
||||||
|
|
||||||
|
# Progress
|
||||||
|
progress_label = { fg = "#ebdbb2", bold = true }
|
||||||
|
progress_normal = { fg = "#504945", bg = "#3c3836" }
|
||||||
|
progress_error = { fg = "#fb4934", bg = "#3c3836" }
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
permissions_t = { fg = "#504945" }
|
||||||
|
permissions_r = { fg = "#b8bb26" }
|
||||||
|
permissions_w = { fg = "#fb4934" }
|
||||||
|
permissions_x = { fg = "#b8bb26" }
|
||||||
|
permissions_s = { fg = "#665c54" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Select {{{
|
||||||
|
|
||||||
|
[select]
|
||||||
|
border = { fg = "#458588" }
|
||||||
|
active = { fg = "#d3869b", bold = true }
|
||||||
|
inactive = {}
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Input {{{
|
||||||
|
|
||||||
|
[input]
|
||||||
|
border = { fg = "#ebdbb2" }
|
||||||
|
title = {}
|
||||||
|
value = {}
|
||||||
|
selected = { reversed = true }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Tasks {{{
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
border = { fg = "#504945" }
|
||||||
|
title = {}
|
||||||
|
hovered = { underline = true }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Which {{{
|
||||||
|
|
||||||
|
[which]
|
||||||
|
mask = { bg = "#3c3836" }
|
||||||
|
cand = { fg = "#83a598" }
|
||||||
|
rest = { fg = "#928374" }
|
||||||
|
desc = { fg = "#fe8019" }
|
||||||
|
separator = " "
|
||||||
|
separator_style = { fg = "#504945" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Help {{{
|
||||||
|
|
||||||
|
[help]
|
||||||
|
on = { fg = "#83a598" }
|
||||||
|
run = { fg = "#d3869b" }
|
||||||
|
hovered = { reversed = true, bold = true }
|
||||||
|
footer = { fg = "#3c3836", bg = "#a89984" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : Notify {{{
|
||||||
|
|
||||||
|
[notify]
|
||||||
|
title_info = { fg = "#8ec07c" }
|
||||||
|
title_warn = { fg = "#fbf1c7" }
|
||||||
|
title_error = { fg = "#d3869b" }
|
||||||
|
|
||||||
|
# : }}}
|
||||||
|
|
||||||
|
# : File-specific styles {{{
|
||||||
|
|
||||||
|
[filetype]
|
||||||
|
rules = [
|
||||||
|
# Images
|
||||||
|
{ mime = "image/*", fg = "#d3869b" },
|
||||||
|
|
||||||
|
# Media
|
||||||
|
{ mime = "{audio,video}/*", fg = "#fabd2f" },
|
||||||
|
|
||||||
|
# Archives
|
||||||
|
{ mime = "application/*zip", fg = "#fb4934" },
|
||||||
|
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#fb4934" },
|
||||||
|
|
||||||
|
# Documents
|
||||||
|
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#689d6a" },
|
||||||
|
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", fg = "#ebdbb2" },
|
||||||
|
{ name = "*/", fg = "#83a598" },
|
||||||
|
]
|
||||||
|
|
||||||
|
# : }}}
|
||||||
BIN
yazi/flavors/gruvbox-dark.yazi/preview.png
Normal file
BIN
yazi/flavors/gruvbox-dark.yazi/preview.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 MiB |
1509
yazi/flavors/gruvbox-dark.yazi/tmtheme.xml
Normal file
1509
yazi/flavors/gruvbox-dark.yazi/tmtheme.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,47 +1,8 @@
|
|||||||
local function setup(_, opts)
|
require("full-border"):setup {
|
||||||
local type = opts and opts.type or ui.Border.ROUNDED
|
|
||||||
local old_build = Tab.build
|
|
||||||
|
|
||||||
Tab.build = function(self, ...)
|
|
||||||
local bar = function(c, x, y)
|
|
||||||
if x <= 0 or x == self._area.w - 1 then
|
|
||||||
return ui.Bar(ui.Rect.default, ui.Bar.TOP)
|
|
||||||
end
|
|
||||||
|
|
||||||
return ui.Bar(
|
|
||||||
ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) },
|
|
||||||
ui.Bar.TOP
|
|
||||||
):symbol(c)
|
|
||||||
end
|
|
||||||
|
|
||||||
local c = self._chunks
|
|
||||||
self._chunks = {
|
|
||||||
c[1]:padding(ui.Padding.y(1)),
|
|
||||||
c[2]:padding(ui.Padding(c[1].w > 0 and 0 or 1, c[3].w > 0 and 0 or 1, 1, 1)),
|
|
||||||
c[3]:padding(ui.Padding.y(1)),
|
|
||||||
}
|
|
||||||
|
|
||||||
local style = THEME.manager.border_style
|
|
||||||
self._base = ya.list_merge(self._base or {}, {
|
|
||||||
ui.Border(self._area, ui.Border.ALL):type(type):style(style),
|
|
||||||
ui.Bar(self._chunks[1], ui.Bar.RIGHT):style(style),
|
|
||||||
ui.Bar(self._chunks[3], ui.Bar.LEFT):style(style),
|
|
||||||
|
|
||||||
bar("┬", c[1].right - 1, c[1].y),
|
|
||||||
bar("┴", c[1].right - 1, c[1].bottom - 1),
|
|
||||||
bar("┬", c[2].right, c[2].y),
|
|
||||||
bar("┴", c[2].right, c[2].bottom - 1),
|
|
||||||
})
|
|
||||||
|
|
||||||
old_build(self, ...)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
setup {
|
|
||||||
-- Available values: ui.Border.PLAIN, ui.Border.ROUNDED
|
-- Available values: ui.Border.PLAIN, ui.Border.ROUNDED
|
||||||
type = ui.Border.ROUNDED,
|
type = ui.Border.ROUNDED,
|
||||||
}
|
}
|
||||||
|
|
||||||
require("archivemount"):setup()
|
require("archivemount"):setup()
|
||||||
require("chmod")
|
require("chmod")
|
||||||
require("starship").setup()
|
require("diff")
|
||||||
|
require("starship"):setup()
|
||||||
|
|||||||
@@ -7,15 +7,9 @@ run = '''
|
|||||||
[[manager.prepend_keymap]]
|
[[manager.prepend_keymap]]
|
||||||
on = "y"
|
on = "y"
|
||||||
run = [ '''
|
run = [ '''
|
||||||
shell 'echo "$@" | xclip -i -selection clipboard -t text/uri-list' --confirm
|
shell 'echo "$@" | xclip -i -selection clipboard -t text/uri-list'
|
||||||
''', "yank" ]
|
''', "yank" ]
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[manager.prepend_keymap]]
|
||||||
on = [ "m", "a" ]
|
on = "<C-y>"
|
||||||
run = "plugin archivemount --args=mount"
|
run = ["plugin system-clipboard"]
|
||||||
desc = "Mount selected archive"
|
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
|
||||||
on = [ "m", "u" ]
|
|
||||||
run = "plugin archivemount --args=unmount"
|
|
||||||
desc = "Unmount and save changes to original archive"
|
|
||||||
|
|||||||
5
yazi/package.toml
Normal file
5
yazi/package.toml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[plugin]
|
||||||
|
deps = [{ use = "yazi-rs/plugins:full-border", rev = "4f1d0ae" }, { use = "Lil-Dank/lazygit", rev = "c82794f" }, { use = "TD-Sky/sudo", rev = "a8287ea" }]
|
||||||
|
|
||||||
|
[flavor]
|
||||||
|
deps = [{ use = "bennyyip/gruvbox-dark", rev = "b4cc9f2" }]
|
||||||
37
yazi/plugins/diff.yazi/init.lua
Normal file
37
yazi/plugins/diff.yazi/init.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
local function info(content)
|
||||||
|
return ya.notify {
|
||||||
|
title = "Diff",
|
||||||
|
content = content,
|
||||||
|
timeout = 5,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local selected_url = ya.sync(function()
|
||||||
|
for _, u in pairs(cx.active.selected) do
|
||||||
|
return u
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
local hovered_url = ya.sync(function()
|
||||||
|
local h = cx.active.current.hovered
|
||||||
|
return h and h.url
|
||||||
|
end)
|
||||||
|
|
||||||
|
return {
|
||||||
|
entry = function()
|
||||||
|
local a, b = selected_url(), hovered_url()
|
||||||
|
if not a then
|
||||||
|
return info("No file selected")
|
||||||
|
elseif not b then
|
||||||
|
return info("No file hovered")
|
||||||
|
end
|
||||||
|
|
||||||
|
local output, err = Command("diff"):arg("-Naur"):arg(tostring(a)):arg(tostring(b)):output()
|
||||||
|
if not output then
|
||||||
|
return info("Failed to run diff, error: " .. err)
|
||||||
|
end
|
||||||
|
|
||||||
|
ya.clipboard(output.stdout)
|
||||||
|
info("Diff copied to clipboard")
|
||||||
|
end,
|
||||||
|
}
|
||||||
21
yazi/plugins/full-border.yazi/LICENSE
Normal file
21
yazi/plugins/full-border.yazi/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 yazi-rs
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
32
yazi/plugins/full-border.yazi/README.md
Normal file
32
yazi/plugins/full-border.yazi/README.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# full-border.yazi
|
||||||
|
|
||||||
|
Add a full border to Yazi to make it look fancier.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```sh
|
||||||
|
ya pack -a yazi-rs/plugins:full-border
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Add this to your `init.lua` to enable the plugin:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
require("full-border"):setup()
|
||||||
|
```
|
||||||
|
|
||||||
|
Or you can customize the border type:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
require("full-border"):setup {
|
||||||
|
-- Available values: ui.Border.PLAIN, ui.Border.ROUNDED
|
||||||
|
type = ui.Border.ROUNDED,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.
|
||||||
50
yazi/plugins/full-border.yazi/init.lua
Normal file
50
yazi/plugins/full-border.yazi/init.lua
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
-- TODO: remove this once v0.4 is released
|
||||||
|
local v4 = function(typ, area, ...)
|
||||||
|
if typ == "bar" then
|
||||||
|
return ui.Table and ui.Bar(...):area(area) or ui.Bar(area, ...)
|
||||||
|
else
|
||||||
|
return ui.Table and ui.Border(...):area(area) or ui.Border(area, ...)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function setup(_, opts)
|
||||||
|
local type = opts and opts.type or ui.Border.ROUNDED
|
||||||
|
local old_build = Tab.build
|
||||||
|
|
||||||
|
Tab.build = function(self, ...)
|
||||||
|
local bar = function(c, x, y)
|
||||||
|
if x <= 0 or x == self._area.w - 1 then
|
||||||
|
return v4("bar", ui.Rect.default, ui.Bar.TOP)
|
||||||
|
end
|
||||||
|
|
||||||
|
return v4(
|
||||||
|
"bar",
|
||||||
|
ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) },
|
||||||
|
ui.Bar.TOP
|
||||||
|
):symbol(c)
|
||||||
|
end
|
||||||
|
|
||||||
|
local c = self._chunks
|
||||||
|
self._chunks = {
|
||||||
|
c[1]:padding(ui.Padding.y(1)),
|
||||||
|
c[2]:padding(ui.Padding(c[1].w > 0 and 0 or 1, c[3].w > 0 and 0 or 1, 1, 1)),
|
||||||
|
c[3]:padding(ui.Padding.y(1)),
|
||||||
|
}
|
||||||
|
|
||||||
|
local style = THEME.manager.border_style
|
||||||
|
self._base = ya.list_merge(self._base or {}, {
|
||||||
|
v4("border", self._area, ui.Border.ALL):type(type):style(style),
|
||||||
|
v4("bar", self._chunks[1], ui.Bar.RIGHT):style(style),
|
||||||
|
v4("bar", self._chunks[3], ui.Bar.LEFT):style(style),
|
||||||
|
|
||||||
|
bar("┬", c[1].right - 1, c[1].y),
|
||||||
|
bar("┴", c[1].right - 1, c[1].bottom - 1),
|
||||||
|
bar("┬", c[2].right, c[2].y),
|
||||||
|
bar("┴", c[2].right, c[2].bottom - 1),
|
||||||
|
})
|
||||||
|
|
||||||
|
old_build(self, ...)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return { setup = setup }
|
||||||
21
yazi/plugins/lazygit.yazi/LICENSE
Normal file
21
yazi/plugins/lazygit.yazi/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2024 Darius
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
29
yazi/plugins/lazygit.yazi/README.md
Normal file
29
yazi/plugins/lazygit.yazi/README.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# lazygit.yazi
|
||||||
|
Plugin for [Yazi](https://github.com/sxyazi/yazi) to manage git repos with [lazygit](https://github.com/jesseduffield/lazygit)
|
||||||
|
## Dependencies
|
||||||
|
Make sure [lazygit](https://github.com/jesseduffield/lazygit) is installed and in your `PATH`.
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Using `ya pack`
|
||||||
|
```
|
||||||
|
ya pack -a Lil-Dank/lazygit
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
**Linux/macOS**
|
||||||
|
```
|
||||||
|
git clone https://github.com/Lil-Dank/lazygit.yazi.git ~/.config/yazi/plugins/lazygit.yazi
|
||||||
|
```
|
||||||
|
**Windows**
|
||||||
|
```
|
||||||
|
git clone https://github.com/Lil-Dank/lazygit.yazi.git %AppData%\yazi\config\plugins\lazygit.yazi
|
||||||
|
```
|
||||||
|
## Configuration
|
||||||
|
add this to your **keymap.toml** file
|
||||||
|
```toml
|
||||||
|
[[manager.prepend_keymap]]
|
||||||
|
on = [ "g", "i" ]
|
||||||
|
run = "plugin lazygit"
|
||||||
|
desc = "run lazygit"
|
||||||
|
```
|
||||||
|
you can customize the keybinding however you like. Please refer to the [keymap.toml](https://yazi-rs.github.io/docs/configuration/keymap) documentation
|
||||||
31
yazi/plugins/lazygit.yazi/init.lua
Normal file
31
yazi/plugins/lazygit.yazi/init.lua
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
return {
|
||||||
|
entry = function()
|
||||||
|
local output = Command("git"):arg("status"):stderr(Command.PIPED):output()
|
||||||
|
if output.stderr ~= "" then
|
||||||
|
ya.notify({
|
||||||
|
title = "lazygit",
|
||||||
|
content = "Not in a git directory",
|
||||||
|
level = "warn",
|
||||||
|
timeout = 5,
|
||||||
|
})
|
||||||
|
else
|
||||||
|
permit = ya.hide()
|
||||||
|
local output, err_code = Command("lazygit"):stderr(Command.PIPED):output()
|
||||||
|
if err_code ~= nil then
|
||||||
|
ya.notify({
|
||||||
|
title = "Failed to run lazygit command",
|
||||||
|
content = "Status: " .. err_code,
|
||||||
|
level = "error",
|
||||||
|
timeout = 5,
|
||||||
|
})
|
||||||
|
elseif not output.status.success then
|
||||||
|
ya.notify({
|
||||||
|
title = "lazygit in" .. cwd .. "failed, exit code " .. output.status.code,
|
||||||
|
content = output.stderr,
|
||||||
|
level = "error",
|
||||||
|
timeout = 5,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
||||||
54
yazi/plugins/system-clipboard.yazi/init.lua
Normal file
54
yazi/plugins/system-clipboard.yazi/init.lua
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
-- Meant to run at async context. (yazi system-clipboard)
|
||||||
|
|
||||||
|
local selected_or_hovered = ya.sync(function()
|
||||||
|
local tab, paths = cx.active, {}
|
||||||
|
for _, u in pairs(tab.selected) do
|
||||||
|
paths[#paths + 1] = tostring(u)
|
||||||
|
end
|
||||||
|
if #paths == 0 and tab.current.hovered then
|
||||||
|
paths[1] = tostring(tab.current.hovered.url)
|
||||||
|
end
|
||||||
|
return paths
|
||||||
|
end)
|
||||||
|
|
||||||
|
return {
|
||||||
|
entry = function()
|
||||||
|
ya.manager_emit("escape", { visual = true })
|
||||||
|
|
||||||
|
local urls = selected_or_hovered()
|
||||||
|
|
||||||
|
if #urls == 0 then
|
||||||
|
return ya.notify({ title = "System Clipboard", content = "No file selected", level = "warn", timeout = 5 })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- ya.notify({ title = #urls, content = table.concat(urls, " "), level = "info", timeout = 5 })
|
||||||
|
|
||||||
|
local status, err =
|
||||||
|
Command("cb")
|
||||||
|
:arg("copy")
|
||||||
|
:args(urls)
|
||||||
|
:spawn()
|
||||||
|
:wait()
|
||||||
|
|
||||||
|
if status or status.succes then
|
||||||
|
ya.notify({
|
||||||
|
title = "System Clipboard",
|
||||||
|
content = "Succesfully copied the file(s) to system clipboard",
|
||||||
|
level = "info",
|
||||||
|
timeout = 5,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
if not status or not status.success then
|
||||||
|
ya.notify({
|
||||||
|
title = "System Clipboard",
|
||||||
|
content = string.format(
|
||||||
|
"Could not copy selected file(s) %s",
|
||||||
|
status and status.code or err
|
||||||
|
),
|
||||||
|
level = "error",
|
||||||
|
timeout = 5,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -4,3 +4,6 @@ separator_close = ""
|
|||||||
|
|
||||||
[manager]
|
[manager]
|
||||||
border_style = { bold = true }
|
border_style = { bold = true }
|
||||||
|
|
||||||
|
[flavor]
|
||||||
|
dark = "gruvbox-dark"
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
|
[preview]
|
||||||
|
tab_size = 2
|
||||||
|
image_quality = 90
|
||||||
|
ueberzug_scale = 1
|
||||||
|
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||||
|
|
||||||
[manager]
|
[manager]
|
||||||
show_hidden = true
|
show_hidden = true
|
||||||
|
|
||||||
[preview]
|
|
||||||
image_quality = 70
|
|
||||||
|
|||||||
7
zathura/zathurarc
Normal file
7
zathura/zathurarc
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
set selection-clipboard clipboard
|
||||||
|
map p print
|
||||||
|
map r reload
|
||||||
|
map D toggle_page_mode
|
||||||
|
|
||||||
|
set default-bg "#474747" #00
|
||||||
|
set default-fg "#F7F7F6" #01
|
||||||
Reference in New Issue
Block a user