update: huge style update
@@ -1,3 +1,24 @@
|
||||
# editor
|
||||
export EDITOR=nvim
|
||||
|
||||
# infinite bash history
|
||||
# remove '-1' in both places if your bash version < 4.3
|
||||
export HISTFILESIZE=-1
|
||||
export HISTSIZE=-1
|
||||
|
||||
# writes bash history after every command
|
||||
export PROMPT_COMMAND="history -a"
|
||||
|
||||
|
||||
# pyenv
|
||||
if command -v pyenv >/dev/null 2>&1; then
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init - bash)"
|
||||
fi
|
||||
|
||||
|
||||
# android-sdk
|
||||
export ANDROID_SDK_ROOT=/opt/android-sdk
|
||||
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
|
||||
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
|
||||
|
||||
39
.bashrc
@@ -1,21 +1,4 @@
|
||||
# Configs
|
||||
export EDITOR=nvim
|
||||
|
||||
# infinite bash history
|
||||
# remove '-1' in both places if your bash version < 4.3
|
||||
export HISTFILESIZE=-1
|
||||
export HISTSIZE=-1
|
||||
|
||||
# writes bash history after every command
|
||||
export PROMPT_COMMAND="history -a"
|
||||
|
||||
# pyenv
|
||||
if command -v pyenv >/dev/null 2>&1; then
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init - bash)"
|
||||
fi
|
||||
|
||||
# additional aliases
|
||||
if [ -f "$HOME/.bash_private" ]; then
|
||||
. "$HOME/.bash_private"
|
||||
fi
|
||||
@@ -45,13 +28,14 @@ alias t='cd ~/tmp'
|
||||
alias cleartmp='rm -r ~/tmp/*'
|
||||
|
||||
# edit configs aliases
|
||||
alias cfghypr='nvim ~/.config/hypr'
|
||||
alias cfgkitty='nvim ~/.config/kitty'
|
||||
alias cfgnvim='nvim ~/.config/nvim'
|
||||
alias cfgrofi='nvim ~/.config/rofi'
|
||||
alias cfgwaybar='nvim ~/.config/waybar'
|
||||
alias cfgdunst='nvim ~/.config/dunst'
|
||||
alias cfgyazi='nvim ~/.config/yazi'
|
||||
alias cfghypr='(nvim ~/.config/hypr)'
|
||||
alias cfgkitty='(nvim ~/.config/kitty)'
|
||||
alias cfgnvim='(nvim ~/.config/nvim)'
|
||||
alias cfgrofi='(nvim ~/.config/rofi)'
|
||||
alias cfgwaybar='(nvim ~/.config/waybar)'
|
||||
alias cfgdunst='(nvim ~/.config/dunst)'
|
||||
alias cfgyazi='(nvim ~/.config/yazi)'
|
||||
alias cfgfastfetch='(nvim ~/.config/fastfetch)'
|
||||
|
||||
# utils aliases
|
||||
alias y='yazi'
|
||||
@@ -63,13 +47,16 @@ alias hload='hyprctl reload'
|
||||
alias shy='start-hyprland'
|
||||
alias wifi-reload='nmcli r wifi off && nmcli r wifi on'
|
||||
alias swagger-docs='sudo host-docs'
|
||||
alias share='python3 -m http.server'
|
||||
alias download='aria2c -x16 -s16'
|
||||
|
||||
# kitty aliases
|
||||
alias ssh='kitty +kitten ssh'
|
||||
alias edit-in-kitty='kitten edit-in-kitty'
|
||||
|
||||
# yay aliases
|
||||
# yay/pacman aliases
|
||||
alias pzf='yay -Qq | fzf --preview '\''yay -Qil {}'\'' --layout reverse --bind '\''enter:execute(yay -Qil {} | less)'\'' --bind '\''ctrl-r:execute(yay -R {} | less)'\'''
|
||||
alias paclean='sudo pacman -Rs '
|
||||
|
||||
# fun aliases
|
||||
alias ff='fastfetch'
|
||||
|
||||
BIN
.config/hypr/Wallpapers/Arcane/airship.png
Executable file
|
After Width: | Height: | Size: 5.3 MiB |
BIN
.config/hypr/Wallpapers/Arcane/boom.png
Executable file
|
After Width: | Height: | Size: 5.1 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-chill.png
Executable file
|
After Width: | Height: | Size: 5.5 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-fog.png
Executable file
|
After Width: | Height: | Size: 4.3 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-grenade.png
Executable file
|
After Width: | Height: | Size: 5.2 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-hexgem.png
Executable file
|
After Width: | Height: | Size: 4.2 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-lighter.png
Executable file
|
After Width: | Height: | Size: 4.2 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-poow.png
Executable file
|
After Width: | Height: | Size: 5.8 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-puff.png
Executable file
|
After Width: | Height: | Size: 4.5 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-silco.png
Executable file
|
After Width: | Height: | Size: 5.8 MiB |
BIN
.config/hypr/Wallpapers/Arcane/jinx-unbraided.png
Executable file
|
After Width: | Height: | Size: 6.1 MiB |
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 2.5 MiB |
|
Before Width: | Height: | Size: 16 MiB After Width: | Height: | Size: 16 MiB |
|
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 11 MiB After Width: | Height: | Size: 11 MiB |
10
.config/hypr/config/arbitary_settings.conf
Normal file
@@ -0,0 +1,10 @@
|
||||
# Wallpaper
|
||||
env = WALLPAPER,$HOME/.config/hypr/Wallpapers/Arcane/jinx-fog.png
|
||||
|
||||
# Lockscreen wallpaper
|
||||
env = LOCK_WALLPAPER,$HOME/.config/hypr/Wallpapers/Arcane/airship.png
|
||||
env = LOCK_BLUR_PASSES,0 # 0 disable blurring
|
||||
|
||||
|
||||
# Custom env to switch between default hyprland workspace switching style and hyprnome style
|
||||
env = GNOME_STYLE_WORKSPACES,true
|
||||
@@ -1,3 +1,6 @@
|
||||
# TODO: testing
|
||||
exec-once = bash -c "sleep 1 && for monitor in $(hyprctl monitors -j | jq -r '.[].name'); do hyprctl dispatch workspace 100 && hyprctl dispatch focusworkspaceoncurrentmonitor 100; done"
|
||||
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
|
||||
exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-hyprland
|
||||
@@ -6,9 +9,8 @@ exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-gtk
|
||||
|
||||
exec-once = uwsm app -- hypridle
|
||||
|
||||
# exec-once = uwsm app -- hyprpaper
|
||||
exec-once = uwsm app -- swww-daemon
|
||||
exec-once = swww img "$WALLPAPER"
|
||||
exec-once = uwsm app -- swww img "$WALLPAPER"
|
||||
|
||||
exec-once = uwsm app -- waybar
|
||||
exec-once = uwsm app -- dunst
|
||||
|
||||
@@ -3,17 +3,19 @@ $mainMod = SUPER
|
||||
|
||||
|
||||
# navigation binds
|
||||
bind = $mainMod SHIFT, C, killactive,
|
||||
bind = $mainMod SHIFT, M, exit,
|
||||
bind = $mainMod SHIFT, V, togglefloating,
|
||||
bind = $mainMod SHIFT, C, killactive
|
||||
bind = $mainMod SHIFT, M, exit
|
||||
|
||||
|
||||
# window special
|
||||
bind = $mainMod SHIFT, P, togglefloating
|
||||
bind = $mainMod, F, fullscreen, 1
|
||||
bind = $mainMod SHIFT, F, fullscreen, 0
|
||||
|
||||
|
||||
# dwindle
|
||||
bind = $mainMod, P, pseudo,
|
||||
bind = $mainMod, T, togglesplit,
|
||||
bind = $mainMod SHIFT, T, swapsplit,
|
||||
bind = $mainMod, P, pseudo
|
||||
bind = $mainMod, T, layoutmsg, togglesplit
|
||||
bind = $mainMod SHIFT, T, layoutmsg, swapsplit
|
||||
|
||||
|
||||
# apps binds
|
||||
@@ -24,7 +26,7 @@ bind = $mainMod SHIFT, R, exec, .config/rofi/network-manager/run-manager.sh
|
||||
|
||||
|
||||
# copy binds
|
||||
bind = $mainMod, V, exec, rofi -modi clipboard:/$HOME/.config/rofi/cliphist-rofi-img.sh -show clipboard -show-icon
|
||||
bind = $mainMod, V, exec, rofi -modi clipboard:/$HOME/.config/rofi/clipboard/cliphist-rofi-img.sh -show clipboard -show-icon -config ~/.config/rofi/clipboard-config.rasi
|
||||
# -config $HOME/.config/rofi/clipboard-config.rasi
|
||||
bind = $mainMod SHIFT, S, exec, IMG=~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).png && grim -g "$(slurp)" $IMG && wl-copy < $IMG
|
||||
bind = , PRINT, exec, grim - | wl-copy
|
||||
@@ -102,41 +104,26 @@ bindm = $mainMod, mouse:273, resizewindow
|
||||
bindm = $mainMod SHIFT, mouse:272, resizewindow
|
||||
|
||||
|
||||
# Resize with keyboard
|
||||
bind = $mainMod CTRL, h, resizeactive, -30 0
|
||||
bind = $mainMod CTRL, l, resizeactive, 30 0
|
||||
bind = $mainMod CTRL, j, resizeactive, 0 30
|
||||
bind = $mainMod CTRL, k, resizeactive, 0 -30
|
||||
|
||||
|
||||
# Switch workspaces
|
||||
bind = $mainMod, A, focusworkspaceoncurrentmonitor, r-1
|
||||
bind = $mainMod, D, focusworkspaceoncurrentmonitor, r+1
|
||||
bind = $mainMod, A, exec, .config/hypr/scripts/workspace-handler.sh change previous
|
||||
bind = $mainMod, D, exec, .config/hypr/scripts/workspace-handler.sh change next
|
||||
bind = $mainMod CTRL, A, focusworkspaceoncurrentmonitor, r-1
|
||||
bind = $mainMod CTRL, D, focusworkspaceoncurrentmonitor, r+1
|
||||
|
||||
|
||||
# Move active window to the next or previous workspace
|
||||
bind = $mainMod SHIFT, A, movetoworkspace, r-1
|
||||
bind = $mainMod SHIFT, D, movetoworkspace, r+1
|
||||
# Move active window between workspaces
|
||||
bind = $mainMod SHIFT, A, exec, .config/hypr/scripts/workspace-handler.sh move previous
|
||||
bind = $mainMod SHIFT, D, exec, .config/hypr/scripts/workspace-handler.sh move next
|
||||
bind = $mainMod CTRL SHIFT, A, movetoworkspace, r-1
|
||||
bind = $mainMod CTRL SHIFT, D, movetoworkspace, r+1
|
||||
|
||||
|
||||
# Swap worlspaces between monitors
|
||||
bind = $mainMod, TAB, swapactiveworkspaces, 1 0
|
||||
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, focusworkspaceoncurrentmonitor, 1
|
||||
bind = $mainMod, 2, focusworkspaceoncurrentmonitor, 2
|
||||
bind = $mainMod, 3, focusworkspaceoncurrentmonitor, 3
|
||||
bind = $mainMod, 4, focusworkspaceoncurrentmonitor, 4
|
||||
bind = $mainMod, 5, focusworkspaceoncurrentmonitor, 5
|
||||
bind = $mainMod, 6, focusworkspaceoncurrentmonitor, 6
|
||||
bind = $mainMod, 7, focusworkspaceoncurrentmonitor, 7
|
||||
bind = $mainMod, 8, focusworkspaceoncurrentmonitor, 8
|
||||
bind = $mainMod, 9, focusworkspaceoncurrentmonitor, 9
|
||||
bind = $mainMod, 0, focusworkspaceoncurrentmonitor, 0
|
||||
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 0
|
||||
|
||||
@@ -12,6 +12,7 @@ exec = gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-dark"
|
||||
env = XCURSOR_SIZE,24
|
||||
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
# env = chrome,--enable-features=TouchpadOverscrollHistoryNavigation
|
||||
|
||||
env = GDK_SCALE,1
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Splashes
|
||||
ecosystem {
|
||||
no_update_news = true
|
||||
no_donation_nag = true
|
||||
@@ -5,24 +6,31 @@ ecosystem {
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
|
||||
disable_splash_rendering = true
|
||||
}
|
||||
|
||||
|
||||
# General config
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 5
|
||||
border_size = 2
|
||||
col.active_border = rgba(33ccffee) rgba(bd93f9ee) 45deg
|
||||
col.active_border = rgba(6aa0d2ff) rgba(cb7194ff) 24deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = yes
|
||||
preserve_split = yes
|
||||
}
|
||||
|
||||
cursor {
|
||||
inactive_timeout = 2
|
||||
}
|
||||
|
||||
|
||||
# Window styling
|
||||
decoration {
|
||||
rounding = 10
|
||||
blur {
|
||||
@@ -67,13 +75,6 @@ animations {
|
||||
# animation = workspaces, 1, 6, myBezier, slide
|
||||
}
|
||||
|
||||
|
||||
dwindle {
|
||||
pseudotile = yes
|
||||
preserve_split = yes
|
||||
}
|
||||
|
||||
|
||||
group {
|
||||
col.border_active = rgba(33ccffee) rgba(bd93f9ee) 45deg
|
||||
groupbar {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
env = WALLPAPER_PATH,$HOME/.config/hypr/Wallpapers/kotamota2.png
|
||||
@@ -17,6 +17,7 @@ windowrule = tag +tools, match:class ^([Dd][Bb]eaver|[Dd][Bb]eaver-ce|[Dd][Bb]ea
|
||||
|
||||
windowrule = opacity 0.85 0.75, match:tag tools*
|
||||
|
||||
|
||||
# jetbrains
|
||||
windowrule = no_initial_focus on, match:class (jetbrains-idea), match:title ^win.*
|
||||
windowrule = no_initial_focus on, match:class (jetbrains-studio), match:title ^win(.*)
|
||||
@@ -24,6 +25,12 @@ windowrule = no_initial_focus on, match:class (jetbrains-goland), match:title ^
|
||||
windowrule = no_initial_focus on, match:class (jetbrains-toolbox), match:float yes
|
||||
windowrule = no_initial_focus on, match:class (jetbrains-goland), match:float yes, match:title ^$, match:initial_title ^$
|
||||
|
||||
|
||||
# other
|
||||
# windowrule = float, center, match:class ^(xfce-polkit)$
|
||||
# windowrule = float, center, match:class ^(file-roller)$
|
||||
|
||||
|
||||
# Permanent
|
||||
# windowrule = size 800 400,match:float yes
|
||||
# set
|
||||
|
||||
40
.config/hypr/docs/colors.md
Normal file
@@ -0,0 +1,40 @@
|
||||
## Sources
|
||||
https://colorscheme.ru/color-converter.html
|
||||
http://maketintsandshades.com/#colors=0661b4,a9124d&hashtag=0&steps=10
|
||||
https://meyerweb.com/eric/tools/color-blend/#0661B4:A9124D:4:hex
|
||||
|
||||
## Original colors:
|
||||
### Jinx Blue
|
||||
`#0661b4`
|
||||
|
||||
### Vi Red
|
||||
`#a9124d`
|
||||
|
||||
|
||||
## Gradients:
|
||||
### Jinx Blue -> Vi Red
|
||||
`#0661b4`
|
||||
`#27519f`
|
||||
`#47418b`
|
||||
`#683276`
|
||||
`#882262`
|
||||
`#a9124d`
|
||||
|
||||
### Jinx Blue ^
|
||||
`#0661b4`
|
||||
`#3881c3`
|
||||
`#6aa0d2`
|
||||
`#9bc0e1`
|
||||
`#cddff0`
|
||||
|
||||
### Vi Red ^
|
||||
`#a9124d`
|
||||
`#ba4171`
|
||||
`#cb7194`
|
||||
`#dda0b8`
|
||||
`#eed0db`
|
||||
|
||||
|
||||
## Most used:
|
||||
Blue: `#6aa0d2`
|
||||
Red: `#cb7194`
|
||||
@@ -1,10 +1,16 @@
|
||||
# General
|
||||
general {
|
||||
fail_timeout = 300
|
||||
}
|
||||
|
||||
animations {
|
||||
animation = fadeIn, 0
|
||||
animation = fadeOut, 0
|
||||
}
|
||||
|
||||
background {
|
||||
path = $HOME/.config/hypr/Wallpapers/kita.png
|
||||
blur_passes = 1 # 0 disables blurring
|
||||
path = $LOCK_WALLPAPER
|
||||
blur_passes = $LOCK_BLUR_PASSES
|
||||
blur_size = 3
|
||||
noise = 0.0117
|
||||
contrast = 0.8916
|
||||
@@ -13,34 +19,50 @@ background {
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
input-field {
|
||||
size = 250, 60
|
||||
outline_thickness = 4
|
||||
dots_size = 0.2
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
outer_color = rgba(51, 204, 255, 0.93)
|
||||
inner_color = rgba(10, 0, 30, 0)
|
||||
font_color = rgb(200, 200, 200)
|
||||
fade_on_empty = false
|
||||
font_family = JetBrains Mono Nerd Font Mono
|
||||
placeholder_text = <i><span foreground="##cdd6f4">Мур Кусь</span></i>
|
||||
hide_input = false
|
||||
position = 0, -280
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Positioning
|
||||
# Time
|
||||
label {
|
||||
text = cmd[update:1000] echo "$(date +"%R")"
|
||||
color = $foreground
|
||||
font_size = 60
|
||||
font_family = JetBrains Mono Nerd Font Mono ExtraBold
|
||||
position = 0, -180
|
||||
halign = center
|
||||
position = 210, 240
|
||||
halign = left
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Date
|
||||
label {
|
||||
text = cmd[update:1000] echo -e "$(date +"%A, %B %d")"
|
||||
color = rgba(216, 222, 233, 0.75)
|
||||
font_size = 20
|
||||
font_family = SF Pro Display Bold
|
||||
position = 202, 175
|
||||
halign = left
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Input
|
||||
input-field {
|
||||
size = 350, 55
|
||||
outline_thickness = 2
|
||||
dots_size = 0.2
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
outer_color = rgba(56, 129, 195, 0.94)
|
||||
inner_color = rgba(10, 0, 30, 0.3)
|
||||
font_color = rgb(200, 200, 200)
|
||||
fade_on_empty = false
|
||||
font_family = JetBrains Mono Nerd Font Mono
|
||||
placeholder_text = <i><span foreground="##cdd6f4">Poow</span></i>
|
||||
hide_input = false
|
||||
position = 160, 40
|
||||
halign = left
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Player (TODO: fix it)
|
||||
label {
|
||||
text = cmd[update:1000] echo "$($HOME/.config/hypr/scripts/player-status.sh)"
|
||||
color = $foreground
|
||||
@@ -51,7 +73,3 @@ label {
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
animations {
|
||||
animation = fadeIn, 0
|
||||
animation = fadeOut, 0
|
||||
}
|
||||
|
||||
52
.config/hypr/scripts/workspace-handler.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Usage: workspace-handler.sh <mode> <direction>
|
||||
# mode: "change" | "move"
|
||||
# direction: "next" | "previous"
|
||||
|
||||
mode="$1"
|
||||
direction="$2"
|
||||
|
||||
if [[ -z "$mode" || -z "$direction" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$mode" != "change" && "$mode" != "move" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$direction" != "next" && "$direction" != "previous" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$GNOME_STYLE_WORKSPACES" == "true" ]] && command -v hyprnome &>/dev/null; then
|
||||
# Hyprnome style
|
||||
if [[ "$mode" == "change" ]]; then
|
||||
if [[ "$direction" == "previous" ]]; then
|
||||
exec hyprnome --previous
|
||||
else
|
||||
exec hyprnome
|
||||
fi
|
||||
else
|
||||
if [[ "$direction" == "previous" ]]; then
|
||||
exec hyprnome --previous --move
|
||||
else
|
||||
exec hyprnome --move
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Hyprland style
|
||||
if [[ "$mode" == "change" ]]; then
|
||||
if [[ "$direction" == "previous" ]]; then
|
||||
exec hyprctl dispatch focusworkspaceoncurrentmonitor r-1
|
||||
else
|
||||
exec hyprctl dispatch focusworkspaceoncurrentmonitor r+1
|
||||
fi
|
||||
else
|
||||
if [[ "$direction" == "previous" ]]; then
|
||||
exec hyprctl dispatch movetoworkspace r-1
|
||||
else
|
||||
exec hyprctl dispatch movetoworkspace r+1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -1,78 +1,38 @@
|
||||
linux_display_server wayland
|
||||
# wayland_titlebar_color background
|
||||
|
||||
# Coloring
|
||||
# BEGIN_KITTY_THEME
|
||||
# Catppuccin-Mocha
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
# The color for highlighting URLs on mouse-over
|
||||
url color #5de4c7
|
||||
|
||||
|
||||
# Fonts
|
||||
font_family JetBrainsMono Nerd Font
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
font_size 14
|
||||
background_opacity 0.4
|
||||
|
||||
disable_ligatures always
|
||||
|
||||
# window settings
|
||||
|
||||
# Styling
|
||||
# Opacity
|
||||
background_opacity 0.4
|
||||
|
||||
# Curor trail
|
||||
cursor_trail 4
|
||||
cursor_trail_decay 0.1 0.4
|
||||
|
||||
# Window settings
|
||||
initial_window_width 95c
|
||||
initial_window_height 35c
|
||||
window_padding_width 20
|
||||
confirm_os_window_close 0
|
||||
|
||||
# Upstream colors {{{
|
||||
|
||||
# Special
|
||||
# background #14151e
|
||||
# foreground #98b0d3
|
||||
|
||||
# Black
|
||||
# color0 #151720
|
||||
# color8 #4f5572
|
||||
|
||||
# Red
|
||||
# color1 #dd6777
|
||||
# color9 #e26c7c
|
||||
|
||||
# Green
|
||||
# color2 #90ceaa
|
||||
# color10 #95d3af
|
||||
|
||||
# Yellow
|
||||
# color3 #ecd3a0
|
||||
# color11 #f1d8a5
|
||||
|
||||
# Blue
|
||||
# color4 #86aaec
|
||||
# color12 #8baff1
|
||||
|
||||
# Magenta
|
||||
# color5 #c296eb
|
||||
# color13 #c79bf0
|
||||
|
||||
# Cyan
|
||||
# color6 #93cee9
|
||||
# color14 #98d3ee
|
||||
|
||||
# White
|
||||
# color7 #cbced3
|
||||
# color15 #d0d3d8
|
||||
|
||||
# Cursor
|
||||
# cursor #cbced3
|
||||
# cursor_text_color #a5b6cf
|
||||
|
||||
# Selection highlight
|
||||
# selection_foreground #a5b6cf
|
||||
# selection_background #1c1e27
|
||||
|
||||
|
||||
# The color for highlighting URLs on mouse-over
|
||||
# url_color #9ece6a
|
||||
url color #5de4c7
|
||||
|
||||
# Window borders
|
||||
# active_border_color #3d59a1
|
||||
# inactive_border_color #101014
|
||||
# bell_border_color #fffac2
|
||||
|
||||
# Tab bar
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
@@ -84,18 +44,12 @@ active_tab_font_style bold
|
||||
inactive_tab_font_style bold
|
||||
# tab_bar_background #101014
|
||||
|
||||
# Title bar
|
||||
# macos_titlebar_color #16161e
|
||||
|
||||
# Keyboard bindings
|
||||
map kitty_mod+t new_tab_with_cwd
|
||||
map ctrl+v paste_from_clipboard
|
||||
|
||||
# Binds
|
||||
# Mouse bindings
|
||||
mouse_map b4 press grabbed,ungrabbed send_key ctrl+o
|
||||
mouse_map b5 press grabbed,ungrabbed send_key ctrl+shift+i
|
||||
|
||||
# BEGIN_KITTY_THEME
|
||||
# Catppuccin-Mocha
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
# Keyboard bindings
|
||||
map kitty_mod+t new_tab_with_cwd
|
||||
map ctrl+v paste_from_clipboard
|
||||
|
||||
@@ -2,4 +2,4 @@ require("config.lazy")
|
||||
require("config.config")
|
||||
require("config.options")
|
||||
require("config.key_binds")
|
||||
require("config.osc52")
|
||||
require("config.clipboard")
|
||||
|
||||
9
.config/nvim/lua/config/clipboard.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
vim.o.clipboard = "unnamedplus"
|
||||
-- vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
-- callback = function()
|
||||
-- local copy_to_unnamedplus = require("vim.ui.clipboard.osc52").copy("+")
|
||||
-- copy_to_unnamedplus(vim.v.event.regcontents)
|
||||
-- local copy_to_unnamed = require("vim.ui.clipboard.osc52").copy("*")
|
||||
-- copy_to_unnamed(vim.v.event.regcontents)
|
||||
-- end,
|
||||
-- })
|
||||
@@ -1,18 +1,34 @@
|
||||
-- Also check plugins/neo-tree.lua for binds
|
||||
vim.cmd([[
|
||||
tnoremap <C-h> <C-\\><C-o><C-w>h
|
||||
tnoremap <C-k> <C-\\><C-o><C-w>k
|
||||
tnoremap <C-l> <C-\\><C-o><C-w>l
|
||||
tnoremap <C-j> <C-\\><C-o><C-w>j
|
||||
tnoremap <C-h> <C-\\><C-o><C-w>h
|
||||
tnoremap <C-k> <C-\\><C-o><C-w>k
|
||||
tnoremap <C-l> <C-\\><C-o><C-w>l
|
||||
tnoremap <C-j> <C-\\><C-o><C-w>j
|
||||
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-l> <C-w>l
|
||||
nnoremap <C-j> <C-w>j
|
||||
" Moving between windows
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-l> <C-w>l
|
||||
nnoremap <C-j> <C-w>j
|
||||
|
||||
nnoremap <Space> @q
|
||||
nnoremap <C-Space>
|
||||
vnoremap <C-Space>
|
||||
vnoremap <leader>e :!sh<CR>
|
||||
" I don't remember
|
||||
nnoremap <C-Space>
|
||||
vnoremap <C-Space>
|
||||
|
||||
nnoremap ' @q
|
||||
" Paste shell command output
|
||||
vnoremap <leader>e :!sh<CR>
|
||||
|
||||
" Quick qq macros
|
||||
nnoremap ' @q
|
||||
|
||||
" Clear search
|
||||
nnoremap @/ <Esc>:noh<CR>
|
||||
|
||||
" Copy relative path to clipboard (from infile)
|
||||
nnoremap <F3> :let @+ = expand("%:f")<CR>
|
||||
" Copy filename to clipboard (from infile)
|
||||
nnoremap <F4> :let @+ = expand("%:t")<CR>
|
||||
|
||||
" Delete trailing spaces
|
||||
nnoremap <leader>w :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>
|
||||
]])
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
vim.opt.fixeol = true
|
||||
|
||||
vim.opt.list = true
|
||||
vim.opt.listchars = {
|
||||
trail = "·",
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
vim.g.osc_enabled = false
|
||||
vim.api.nvim_create_user_command("ToggleOsc", function(input)
|
||||
if not vim.g.osc_enabled then
|
||||
vim.g.clipboard = {
|
||||
name = "osc 52",
|
||||
copy = {
|
||||
["+"] = require("vim.ui.clipboard.osc52").copy("+"),
|
||||
["*"] = require("vim.ui.clipboard.osc52").copy("*"),
|
||||
},
|
||||
paste = {
|
||||
["+"] = function()
|
||||
return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") }
|
||||
end,
|
||||
["*"] = function()
|
||||
return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") }
|
||||
end,
|
||||
},
|
||||
}
|
||||
vim.g.osc_enabled = true
|
||||
vim.api.nvim_echo({ { "OSC 52 Clipboard Enabled", "Normal" } }, true, {})
|
||||
else
|
||||
vim.g.clipboard = nil
|
||||
vim.g.osc_enabled = false
|
||||
vim.api.nvim_echo({ { "OSC 52 Clipboard Disabled", "Normal" } }, true, {})
|
||||
end
|
||||
end, {})
|
||||
vim.keymap.set("n", "<leader>H", vim.cmd.ToggleOsc, { desc = "Toggle OSC 52 clipboard" })
|
||||
@@ -9,6 +9,9 @@ return {
|
||||
local tree = require("neo-tree")
|
||||
|
||||
tree.setup({
|
||||
clipboard = {
|
||||
sync = "universal",
|
||||
},
|
||||
document_symbols = {
|
||||
custom_kinds = {},
|
||||
},
|
||||
@@ -19,8 +22,31 @@ return {
|
||||
["h"] = "close_node",
|
||||
["<Right>"] = "open",
|
||||
["<Left>"] = "close_node",
|
||||
["C"] = "convert_to_directory",
|
||||
},
|
||||
},
|
||||
commands = {
|
||||
convert_to_directory = function(state)
|
||||
local node = state.tree:get_node()
|
||||
local path = node.path
|
||||
|
||||
if node.type ~= "file" then
|
||||
print("Node is not a file")
|
||||
return
|
||||
end
|
||||
|
||||
local confirm = vim.fn.confirm("Convert " .. node.name .. " to directory?", "&Yes\n&No", 2)
|
||||
if confirm ~= 1 then
|
||||
return
|
||||
end
|
||||
|
||||
vim.fn.delete(path)
|
||||
vim.fn.mkdir(path, "p")
|
||||
|
||||
require("neo-tree.sources.manager").refresh(state.name)
|
||||
print("Converted to directory: " .. path)
|
||||
end,
|
||||
},
|
||||
})
|
||||
vim.keymap.set("n", "<F2>", "<CMD>Neotree toggle<CR>")
|
||||
end,
|
||||
|
||||
@@ -1,22 +1,26 @@
|
||||
// Configuration
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser,window";
|
||||
modi: "clipboard";
|
||||
show-icons: true;
|
||||
display-drun: " ";
|
||||
display-run: " ";
|
||||
display-filebrowser: " ";
|
||||
display-window: " ";
|
||||
display-clipboard: " Clipboard";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
|
||||
// binds
|
||||
// kb-row-up: "Up,Control+k,Shift+Tab,Shift+ISO_Left_Tab";
|
||||
// kb-row-down: "Down,Control+j";
|
||||
kb-row-up: "Up,Control+k,Shift+Tab,Shift+ISO_Left_Tab";
|
||||
kb-row-down: "Down,Control+j";
|
||||
kb-accept-entry: "Control+m,Return,KP_Enter";
|
||||
terminal: "mate-terminal";
|
||||
kb-remove-to-eol: "Control+Shift+e";
|
||||
kb-mode-complete: "Control+Shift+t";
|
||||
kb-mode-next: "Shift+Right,Control+Tab,Control+l";
|
||||
kb-mode-previous: "Shift+Left,Control+Shift+Tab,Control+h";
|
||||
kb-remove-char-back: "BackSpace";
|
||||
}
|
||||
|
||||
// Global Properties
|
||||
@import "./colors.rasi"
|
||||
@import "./fonts.rasi"
|
||||
@import "./themes/colors.rasi"
|
||||
@import "./themes/fonts.rasi"
|
||||
|
||||
* {
|
||||
border-color: var(border);
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
// Configuration
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser,window";
|
||||
modi: "drun,window";
|
||||
show-icons: false;
|
||||
display-drun: " ";
|
||||
display-run: " ";
|
||||
display-filebrowser: " ";
|
||||
display-window: " ";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
@@ -22,8 +20,8 @@ configuration {
|
||||
}
|
||||
|
||||
// Global Properties
|
||||
@import "./colors.rasi"
|
||||
@import "./fonts.rasi"
|
||||
@import "./themes/colors.rasi"
|
||||
@import "./themes/fonts.rasi"
|
||||
|
||||
* {
|
||||
border-color: var(border);
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# rofi.kb-row-up: Up,Control+k,Shift+Tab,Shift+ISO_Left_Tab
|
||||
# rofi.kb-row-down: Down,Control+j
|
||||
rofi.kb-accept-entry: Control+m,Return,KP_Enter
|
||||
rofi.terminal: mate-terminal
|
||||
rofi.kb-remove-to-eol: Control+Shift+e
|
||||
rofi.kb-mode-complete: Control+Shift+t
|
||||
rofi.kb-mode-next: Shift+Right,Control+Tab,Control+l
|
||||
rofi.kb-mode-previous: Shift+Left,Control+Shift+Tab,Control+h
|
||||
rofi.kb-remove-char-back: BackSpace
|
||||
@@ -3,8 +3,8 @@
|
||||
sel-foreground: #111218;
|
||||
background-alt: #282B3C00;
|
||||
foreground: #DADAFF;
|
||||
selected: #87B2F6;
|
||||
selected: #6aa0d2;
|
||||
active: #33CCFF;
|
||||
urgent: #50FA7B;
|
||||
border: #87B2F6;
|
||||
border: #0661b4;
|
||||
}
|
||||
@@ -1,19 +1,23 @@
|
||||
{
|
||||
"position": "bottom",
|
||||
"layer": "top",
|
||||
"modules-left": ["group/workspaces-group", "custom/media"],
|
||||
"modules-center": [],
|
||||
"modules-right": [
|
||||
"modules-left": [
|
||||
"~/.config/waybar/modules/tray.jsonc",
|
||||
"tray",
|
||||
"custom/media",
|
||||
],
|
||||
"modules-center": [
|
||||
"group/workspaces-group",
|
||||
],
|
||||
"modules-right": [
|
||||
"group/pulseaudio-group",
|
||||
"group/network-group",
|
||||
"group/power-group",
|
||||
"group/network-group",
|
||||
"clock",
|
||||
],
|
||||
"include": [
|
||||
"~/.config/waybar/modules/workspaces.jsonc",
|
||||
"~/.config/waybar/modules/network.jsonc",
|
||||
"~/.config/waybar/modules/tray.jsonc",
|
||||
"~/.config/waybar/modules/pulseaudio.jsonc",
|
||||
"~/.config/waybar/modules/power.jsonc",
|
||||
"~/.config/waybar/modules/mediaplayer.jsonc",
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/bash
|
||||
date +"%a %d"
|
||||
@@ -1,5 +1,23 @@
|
||||
{
|
||||
"clock": {
|
||||
"format": " {:%H:%M}",
|
||||
"format": "{:%H:%M}",
|
||||
"tooltip-format": "<span>{calendar}</span>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#3881c3'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#cb7194'><b>{}</b></span>",
|
||||
"today": "<span color='#3881c3'><b>{}</b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click": "shift_reset",
|
||||
"on-click-right": "mode",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"hyprland/language": {
|
||||
"format": " {}",
|
||||
"format-en": "en",
|
||||
"format-ru": "ru",
|
||||
},
|
||||
}
|
||||
@@ -5,19 +5,19 @@
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "Bd",
|
||||
"format-connected": " ",
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": "",
|
||||
"on-click": "kitty bluetui",
|
||||
"tooltip-format": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}",
|
||||
},
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-disabled": "Wd",
|
||||
"format-wifi": " ",
|
||||
"format-ethernet": " ",
|
||||
"format-disconnected": " ",
|
||||
"format-disabled": "",
|
||||
"format-wifi": "",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format-wifi": "{essid}",
|
||||
"tooltip-format-ethernet": "{ipaddr}",
|
||||
"on-click": "~/.config/rofi/network-manager/run_manager.sh",
|
||||
|
||||
@@ -6,15 +6,16 @@
|
||||
|
||||
"battery": {
|
||||
"format": "{icon}",
|
||||
"format-icons": [" ", " ", " ", " ", " "],
|
||||
"format-charging": " ",
|
||||
// "format-icons": [" ", " ", " ", " ", " "],
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
|
||||
"format-charging": " {capacity}%",
|
||||
"tooltip-format": "{capacity}% {timeTo}",
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"smooth-scrolling-threshold": 1, // This value was tested using a trackpad, it should be lowered if using a mouse.
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"on-scroll-down": "brightnessctl --class='backlight' set 5%+",
|
||||
"on-scroll-up": "brightnessctl --class='backlight' set 5%-",
|
||||
"on-click": "python $HOME/.config/hypr/scripts/swww.py",
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 10,
|
||||
"show-passive-items": true,
|
||||
"icons": {
|
||||
"Spotify": " ",
|
||||
"Steam": "",
|
||||
"Telegram Desktop": "",
|
||||
"Mattermost Desktop": "",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
"empty": "",
|
||||
},
|
||||
"all-outputs": false,
|
||||
"on-scroll-up": "hyprctl dispatch focusworkspaceoncurrentmonitor r-1",
|
||||
"on-scroll-down": "hyprctl dispatch focusworkspaceoncurrentmonitor r+1",
|
||||
"on-scroll-up": "workspace-change next",
|
||||
"on-scroll-down": "workspace-change previous",
|
||||
"format-icons": {
|
||||
"active": "",
|
||||
"default": "",
|
||||
"active": "", //
|
||||
"default": "", //
|
||||
},
|
||||
},
|
||||
"hyprland/windowcount": {
|
||||
"format": "{}",
|
||||
"format": "{icon}",
|
||||
"format-empty": "{}",
|
||||
"format-windowed": "{}",
|
||||
"separate-outputs": true,
|
||||
"on-click": "rofi -show window",
|
||||
"on-click": "rofi -show",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/* Colors */
|
||||
@define-color primary_fg rgba(205, 223, 240, 1);
|
||||
@define-color primary_bg rgba(44, 44, 44, 0.42);
|
||||
@define-color primary_bd rgba(205, 223, 240, 0.3);
|
||||
@define-color tooltip_bg rgba(32, 33, 44, 0.6);
|
||||
|
||||
|
||||
/* General */
|
||||
* {
|
||||
border: none;
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
@@ -5,78 +13,126 @@
|
||||
font-weight: 700;
|
||||
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
||||
min-height: 20px;
|
||||
color: #c0caf5;
|
||||
color: @primary_fg;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* Common */
|
||||
tooltip,
|
||||
#clock,
|
||||
#tray,
|
||||
#language,
|
||||
#custom-media,
|
||||
#network-group,
|
||||
#pulseaudio-group,
|
||||
#workspaces-group,
|
||||
#power-group {
|
||||
border: 2px solid rgba(192, 202, 245, 0.5);
|
||||
border: 2px solid @primary_bd;
|
||||
border-radius: 11px;
|
||||
background-color: rgba(32, 33, 44, 0.42);
|
||||
background-color: @primary_bg;
|
||||
padding-top: 1px;
|
||||
margin-bottom: 2px;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
|
||||
/* Tooltip */
|
||||
tooltip {
|
||||
background: rgba(32, 33, 44, 0.82);
|
||||
background: @tooltip_bg;
|
||||
}
|
||||
tooltip label {
|
||||
}
|
||||
|
||||
#hyprland-group,
|
||||
#custom-media {
|
||||
|
||||
/* Groups */
|
||||
#hyprland-group {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#power-group,
|
||||
#network-group,
|
||||
#pulseaudio-group,
|
||||
#tray {
|
||||
#pulseaudio-group {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#pulseaudio,
|
||||
#custom-media,
|
||||
#network,
|
||||
#battery,
|
||||
#clock,
|
||||
#tray,
|
||||
#language,
|
||||
#backlight,
|
||||
#bluetooth,
|
||||
#windowcount {
|
||||
#power-group {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#network-group {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
|
||||
/* Parts */
|
||||
#tray * {
|
||||
/* margin-right: 5px; */
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin-right: 5px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
margin-left: 5px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
|
||||
#windowcount {
|
||||
padding-left: 12px;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding-left: 4px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
#windowcount {
|
||||
padding-right: 4px;
|
||||
}
|
||||
#network,
|
||||
#battery {
|
||||
padding-left: 6px;
|
||||
}
|
||||
#workspaces,
|
||||
#pulseaudio.input,
|
||||
#backlight,
|
||||
#bluetooth {
|
||||
#workspaces {
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
|
||||
#pulseaudio {
|
||||
padding-left: 8px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
#pulseaudio.input {
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
|
||||
#backlight {
|
||||
padding-left: 12px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
padding-right: 12px;
|
||||
padding-left: 6px;
|
||||
}
|
||||
|
||||
|
||||
#bluetooth {
|
||||
padding-left: 12px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
#network {
|
||||
padding-left: 6px;
|
||||
padding-right: 17px;
|
||||
}
|
||||
|
||||
|
||||
#clock {
|
||||
margin-right: 5px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
@@ -1,29 +1,85 @@
|
||||
[mgr]
|
||||
prepend_keymap = [
|
||||
{on = [ ";" ], run = 'shell "$SHELL" --block --confirm', desc = "Open shell here"},
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ ";" ]
|
||||
run = 'shell "$SHELL" --block --confirm'
|
||||
desc = "Open shell here"
|
||||
|
||||
{on = [ ":","q","a","<Enter>" ], run = 'quit', desc = "Close the current tab"},
|
||||
{on = [ ":","q","<Enter>" ], run = 'close', desc = "Close the current tab"},
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ ":","q","a","<Enter>" ]
|
||||
run = 'quit'
|
||||
desc = "Close the current tab"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ ":","q","<Enter>" ]
|
||||
run = 'close'
|
||||
desc = "Close the current tab"
|
||||
|
||||
# Makes "Enter" key necessary to press
|
||||
{on = [ ":","q","a","<Esc>" ], run = 'echo meow', desc = ""},
|
||||
# Makes "Enter" key necessary to press
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ ":","q","a","<Esc>" ]
|
||||
run = 'echo meow'
|
||||
desc = ""
|
||||
|
||||
{on = [ "q" ], run = 'noop'},
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "q" ]
|
||||
run = 'noop'
|
||||
|
||||
{on = [ "g","e" ], run = 'cd /etc', desc = "Go to /etc"},
|
||||
{on = [ "g","r" ], run = 'cd /', desc = "Go to /"},
|
||||
{on = [ "g","s" ], run = 'cd /srv', desc = "Go to /srv"},
|
||||
{on = [ "g","u" ], run = 'cd /usr', desc = "Go to /usr"},
|
||||
{on = [ "g","v" ], run = 'cd /var', desc = "Go to /var"},
|
||||
{on = [ "g","c" ], run = 'cd ~/.config', desc = "Go to .config"},
|
||||
|
||||
{on = [ "v" ], run = 'select_all --state=true', desc = "Select all files"},
|
||||
{on = [ "V" ], run = 'visual_mode', desc = "Enter visual mode"},
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","r" ]
|
||||
run = 'cd /'
|
||||
desc = "Go to /"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","u" ]
|
||||
run = 'cd /usr'
|
||||
desc = "Go to /usr"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","e" ]
|
||||
run = 'cd /etc'
|
||||
desc = "Go to /etc"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","v" ]
|
||||
run = 'cd /var'
|
||||
desc = "Go to /var"
|
||||
|
||||
{on = [ "y" ], run = [
|
||||
'shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list',
|
||||
"yank"
|
||||
]},
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","a" ]
|
||||
run = 'cd /run/media/eugenebee'
|
||||
desc = "Go to attached devices"
|
||||
|
||||
{on = [ "D", "<Enter>" ], run = 'remove --force --permanently', desc = "Permanently delete"},
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","c" ]
|
||||
run = 'cd ~/.config'
|
||||
desc = "Go to .config"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","d" ]
|
||||
run = 'cd ~/Downloads'
|
||||
desc = "Go to Downloads"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "g","p" ]
|
||||
run = 'cd ~/Pictures'
|
||||
desc = "Go to Pictures"
|
||||
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "v" ]
|
||||
run = 'select_all --state=true'
|
||||
desc = "Select all files"
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "V" ]
|
||||
run = 'visual_mode'
|
||||
desc = "Enter visual mode"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "y" ]
|
||||
run = [
|
||||
'shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list',
|
||||
"yank"
|
||||
]
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "<C-y>"
|
||||
run = ["plugin wl-clipboard"]
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "D", "<Enter>" ]
|
||||
run = 'remove --force --permanently'
|
||||
desc = "Permanently delete"
|
||||
|
||||
29
.config/yazi/oldstyle-keymap.toml
Normal file
@@ -0,0 +1,29 @@
|
||||
[mgr]
|
||||
prepend_keymap = [
|
||||
{on = [ ";" ], run = 'shell "$SHELL" --block --confirm', desc = "Open shell here"},
|
||||
|
||||
{on = [ ":","q","a","<Enter>" ], run = 'quit', desc = "Close the current tab"},
|
||||
{on = [ ":","q","<Enter>" ], run = 'close', desc = "Close the current tab"},
|
||||
|
||||
# Makes "Enter" key necessary to press
|
||||
{on = [ ":","q","a","<Esc>" ], run = 'echo meow', desc = ""},
|
||||
|
||||
{on = [ "q" ], run = 'noop'},
|
||||
|
||||
{on = [ "g","e" ], run = 'cd /etc', desc = "Go to /etc"},
|
||||
{on = [ "g","r" ], run = 'cd /', desc = "Go to /"},
|
||||
{on = [ "g","s" ], run = 'cd /srv', desc = "Go to /srv"},
|
||||
{on = [ "g","u" ], run = 'cd /usr', desc = "Go to /usr"},
|
||||
{on = [ "g","v" ], run = 'cd /var', desc = "Go to /var"},
|
||||
{on = [ "g","c" ], run = 'cd ~/.config', desc = "Go to .config"},
|
||||
|
||||
{on = [ "v" ], run = 'select_all --state=true', desc = "Select all files"},
|
||||
{on = [ "V" ], run = 'visual_mode', desc = "Enter visual mode"},
|
||||
|
||||
{on = [ "y" ], run = [
|
||||
'shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list',
|
||||
"yank"
|
||||
]},
|
||||
|
||||
{on = [ "D", "<Enter>" ], run = 'remove --force --permanently', desc = "Permanently delete"},
|
||||
]
|
||||
7
.config/yazi/package.toml
Normal file
@@ -0,0 +1,7 @@
|
||||
[[plugin.deps]]
|
||||
use = "grappas/wl-clipboard"
|
||||
rev = "e9a38e4"
|
||||
hash = "6b8e5d6b09626facec713923d3ddb54b"
|
||||
|
||||
[flavor]
|
||||
deps = []
|
||||
7
.config/yazi/plugins/wl-clipboard.yazi/LICENSE
Normal file
@@ -0,0 +1,7 @@
|
||||
Copyright 2024 grappas
|
||||
|
||||
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.
|
||||
34
.config/yazi/plugins/wl-clipboard.yazi/README.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# wl-clipboard.yazi
|
||||
|
||||
Forked from: [orhnk/system-clipboard.yazi](https://github.com/orhnk/system-clipboard.yazi) to work with wayland compositors.
|
||||
|
||||
## Demo
|
||||
|
||||
<https://github.com/user-attachments/assets/74d59f49-266a-497e-b67e-d77e64209026>
|
||||
|
||||
## Config
|
||||
|
||||
> [!NOTE]
|
||||
> You need yazi 3.x for this plugin to work.
|
||||
|
||||
> [!Important]
|
||||
> This plugin utilizes ["wl-clipboard" project](https://github.com/bugaevc/wl-clipboard).
|
||||
> You need to have it installed on your system. (Make sure that It's on your $PATH)
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ya pkg add grappas/wl-clipboard
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Copy or install this plugin and add the following keymap to your `manager.prepend_keymap`:
|
||||
|
||||
```toml
|
||||
on = "<C-y>"
|
||||
run = ["plugin wl-clipboard"]
|
||||
```
|
||||
|
||||
> [!Tip]
|
||||
> If you want to use this plugin with yazi's default yanking behaviour you should use `cx.yanked` instead of `tab.selected` in `init.lua` (See [#1487](https://github.com/sxyazi/yazi/issues/1487))
|
||||
60
.config/yazi/plugins/wl-clipboard.yazi/main.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
-- 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 })
|
||||
|
||||
-- Format the URLs for `text/uri-list` specification
|
||||
local function encode_uri(uri)
|
||||
return uri:gsub("([^%w%-%._~:/])", function(c)
|
||||
return string.format("%%%02X", string.byte(c))
|
||||
end)
|
||||
end
|
||||
|
||||
local file_list_formatted = ""
|
||||
for _, path in ipairs(urls) do
|
||||
-- Each file path must be URI-encoded and prefixed with "file://"
|
||||
file_list_formatted = file_list_formatted .. "file://" .. encode_uri(path) .. "\r\n"
|
||||
end
|
||||
|
||||
local status, err =
|
||||
Command("wl-copy"):arg("--type"):arg("text/uri-list"):arg(file_list_formatted):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,
|
||||
}
|
||||