update: hypr&neovim improvements, yazi plugins, waybar tweaking before bigger update

This commit is contained in:
2026-04-25 09:48:48 +03:00
parent 1930ed092f
commit 6cbd52f0db
71 changed files with 1470 additions and 223 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

+19 -8
View File
@@ -1,20 +1,31 @@
# 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"
# System
# Initialize dbus
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# Set workspace 100 for the scroll-left support
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"
# Initialize sleep
exec-once = uwsm app -- systemd-inhibit --who="Hyprland config" --why="wlogout keybind" --what=handle-power-key --mode=block sleep infinity
# Run xdg portals
exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-hyprland
exec-once = uwsm app -- /usr/lib/xdg-desktop-portal
exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-gtk
exec-once = uwsm app -- hypridle
# Clipboard
exec-once = uwsm app -- wl-paste --type text --watch cliphist store #Stores only text data
exec-once = uwsm app -- wl-paste --type image --watch cliphist store #Stores only image data
# Essential
exec-once = uwsm app -- dunst
exec-once = uwsm app -- awww-daemon
exec-once = uwsm app -- awww img "$WALLPAPER"
# Important
exec-once = uwsm app -- hypridle
exec-once = uwsm app -- waybar
exec-once = uwsm app -- dunst
exec-once = uwsm app -- wl-paste --type text --watch cliphist store #Stores only text data
exec-once = uwsm app -- wl-paste --type image --watch cliphist store #Stores only image data
exec-once = uwsm app -- systemd-inhibit --who="Hyprland config" --why="wlogout keybind" --what=handle-power-key --mode=block sleep infinity
# Extra
# Color correction
exec-once = uwsm app -- ~/.config/hypr/scripts/color-correction.sh
# Apply GTK themes
exec-once = nwg-look -a
+50 -46
View File
@@ -1,6 +1,13 @@
# general
$mainMod = SUPER
# change layout that supports no shift retapping
bindl = ALT, Shift_L, exec, hyprctl switchxkblayout main next
# Toggle performance mode
bind = $mainMod, F1, exec, ~/.config/hypr/scripts/mode-performance.sh
# navigation binds
bind = $mainMod SHIFT, C, killactive
@@ -22,12 +29,12 @@ bind = $mainMod SHIFT, T, layoutmsg, swapsplit
bind = $mainMod, Q, exec, kitty
bind = $mainMod, E, exec, thunar
bind = $mainMod, R, exec, rofi -show drun -no-history -matching prefix -drun-match-fields name -no-tokenize
bind = $mainMod SHIFT, R, exec, .config/rofi/network-manager/run-manager.sh
bind = $mainMod SHIFT, R, exec, ~/.config/rofi/network-manager/run-manager.sh
bind = $mainMod, C, exec, hyprpicker -a
# copy binds
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
@@ -40,57 +47,54 @@ bind = $mainMod, code:49, exec, hyprlock
bindr = $mainMod, w, exec, pkill -9 waybar || uwsm app -- waybar
# quickshell bind
bindr = $mainMod SHIFT, w, exec, pkill -9 quickshell || uwsm app -- quickshell
# multimedia binds
binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%; .config/hypr/scripts/dunst/volume.sh
binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%; .config/hypr/scripts/dunst/volume-down.sh
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle; .config/hypr/scripts/dunst/volume-mute.sh
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle; .config/hypr/scripts/dunst/micro.sh
binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%; ~/.config/hypr/scripts/dunst/volume.sh
binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%; ~/.config/hypr/scripts/dunst/volume-down.sh
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle; ~/.config/hypr/scripts/dunst/volume-mute.sh
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle; ~/.config/hypr/scripts/dunst/micro.sh
bind = , XF86AudioStop, exec, playerctl stop
bind = , XF86AudioPause, exec, playerctl pause
bind = , XF86AudioPrev, exec, playerctl previous; .config/hypr/scripts/dunst/trackinfo.sh
bind = , XF86AudioNext, exec, playerctl next; .config/hypr/scripts/dunst/trackinfo.sh
bind = , XF86AudioPrev, exec, playerctl previous; ~/.config/hypr/scripts/dunst/trackinfo.sh
bind = , XF86AudioNext, exec, playerctl next; ~/.config/hypr/scripts/dunst/trackinfo.sh
bind = , XF86AudioPlay, exec, playerctl play-pause
# bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10%
# bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10%
# bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
# brightness binds
binde = , XF86MonBrightnessUp , exec, brightnessctl --class='backlight' set 5%+; .config/hypr/scripts/dunst/brightness.sh
binde = , XF86MonBrightnessDown , exec, brightnessctl --class='backlight' set 5%-; .config/hypr/scripts/dunst/brightness-down.sh
binde = , XF86MonBrightnessUp , exec, brightnessctl --class='backlight' set 5%+; ~/.config/hypr/scripts/dunst/brightness.sh
binde = , XF86MonBrightnessDown , exec, brightnessctl --class='backlight' set 5%-; ~/.config/hypr/scripts/dunst/brightness-down.sh
# power binds
# bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, 1920x1080@120, 0x0, 1, vrr, 1"
# bindl = , switch:on:Lid Switch, exec, .config/hypr/scripts/eDPower.sh
# bind = , XF86PowerOff, exec, .config/hypr/scripts/before-sleep.sh
bind = , XF86PowerOff, exec, systemctl suspend
# Move focus with mainMod + arrow keys
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
binde = $mainMod, H, movefocus, l
binde = $mainMod, L, movefocus, r
binde = $mainMod, K, movefocus, u
binde = $mainMod, J, movefocus, d
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
binde = $mainMod, left, movefocus, l
binde = $mainMod, right, movefocus, r
binde = $mainMod, up, movefocus, u
binde = $mainMod, down, movefocus, d
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
binde = $mainMod SHIFT, H, movewindow, l
binde = $mainMod SHIFT, L, movewindow, r
binde = $mainMod SHIFT, K, movewindow, u
binde = $mainMod SHIFT, J, movewindow, d
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
binde = $mainMod SHIFT, left, movewindow, l
binde = $mainMod SHIFT, right, movewindow, r
binde = $mainMod SHIFT, up, movewindow, u
binde = $mainMod SHIFT, down, movewindow, d
bind = ALT, TAB, cyclenext
binde = ALT, TAB, cyclenext
# Scroll through existing workspaces with mainMod + scroll
@@ -105,24 +109,24 @@ 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
binde = $mainMod CTRL, h, resizeactive, -30 0
binde = $mainMod CTRL, l, resizeactive, 30 0
binde = $mainMod CTRL, j, resizeactive, 0 30
binde = $mainMod CTRL, k, resizeactive, 0 -30
# Switch workspaces
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
binde = $mainMod, A, exec, .config/hypr/scripts/workspace-handler.sh change previous
binde = $mainMod, D, exec, .config/hypr/scripts/workspace-handler.sh change next
binde = $mainMod CTRL, A, focusworkspaceoncurrentmonitor, r-1
binde = $mainMod CTRL, D, focusworkspaceoncurrentmonitor, 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
binde = $mainMod SHIFT, A, exec, .config/hypr/scripts/workspace-handler.sh move previous
binde = $mainMod SHIFT, D, exec, .config/hypr/scripts/workspace-handler.sh move next
binde = $mainMod CTRL SHIFT, A, movetoworkspace, r-1
binde = $mainMod CTRL SHIFT, D, movetoworkspace, r+1
# Swap worlspaces between monitors
+8 -1
View File
@@ -1,20 +1,27 @@
# GTK theme
env = GTK_THEME,Colloid-Transparent-Dracula
# Session settings
env = QT_QPA_PLATFORM,wayland;xcb
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = GDK_BACKEND,wayland,x11,*
# Gnome theme
exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
exec = gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-dark"
# Cursor
env = XCURSOR_SIZE,24
# Wayland support
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = MOZ_ENABLE_WAYLAND,1
# env = chrome,--enable-features=TouchpadOverscrollHistoryNavigation
# chrome --enable-features=TouchpadOverscrollHistoryNavigation
# Scaling
env = GDK_SCALE,1
xwayland {
force_zero_scaling = true
+4 -1
View File
@@ -2,7 +2,10 @@ input {
kb_layout = us, ru
kb_variant =
kb_model =
kb_options = grp:alt_shift_toggle, caps:escape
# The change layout hotkey is at the top of binds.conf
# The grp:alt_shift_toggle does not support not retapping shift after toggle to capitalize
# kb_options = grp:alt_shift_toggle, caps:escape
kb_options = caps:escape
kb_rules =
follow_mouse = 1
+1
View File
@@ -5,3 +5,4 @@ monitor = eDP-1, prefered, auto, 1
# custom
monitor = desc:Communications Supply Corporation (A division of WESCO) P120ZDG-BF4, 2160x1440@60, auto, 1.33333334
monitor = desc:AU Optronics 0x243D, 1920x1080@60, 0x0, 1, bitdepth, 10
+2
View File
@@ -7,6 +7,7 @@ ecosystem {
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
key_press_enables_dpms = true
}
@@ -23,6 +24,7 @@ general {
dwindle {
pseudotile = yes
preserve_split = yes
# smart_split = no
}
cursor {
+2
View File
@@ -0,0 +1,2 @@
#### Layout change
https://www.reddit.com/r/hyprland/comments/1jintly/how_to_make_altshift_layout_switch_work_correctly/
+14 -10
View File
@@ -1,30 +1,34 @@
general {
lock_cmd = pidof hyprlock || hyprlock
before_sleep_cmd = loginctl lock-session
after_sleep_cmd = hyprctl dispatch dpms on && brightnessctl -r
inhibit_sleep = 3
# lock_cmd = pidof hyprlock || hyprlock
before_sleep_cmd = ~/.config/hypr/scripts/before-sleep.sh
after_sleep_cmd = ~/.config/hypr/scripts/after-sleep.sh
# ignore_dbus_inhibit = false
}
# TODO: migrate to brillo?
# Listener 1: Dim screen
# TODO: migrate to brillo? (just replace `brightnessctl` with `brillo`)
listener {
timeout = 120
on-timeout = brightnessctl -s set 0 # avoid 0 with OLED monitors
timeout = 180
on-timeout = brightnessctl -s set 2% # avoid 0 with OLED monitors
on-resume = brightnessctl -r
}
# Listener 2: Lock session
listener {
timeout = 180
timeout = 240
on-timeout = loginctl lock-session
}
# Listener 3: Turn off display
listener {
timeout = 330
timeout = 250
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on && brightnessctl -r
}
# Listener 4: Suspend system
listener {
timeout = 300
timeout = 360
on-timeout = systemctl suspend
}
-4
View File
@@ -1,4 +0,0 @@
#!/bin/bash
# hyprctl keyword monitor "eDP-1, 1920x1080@120, 0x0, 1, vrr, 1"
# brightnessctl -r
-12
View File
@@ -1,12 +0,0 @@
#!/bin/bash
# hyprctl keyword monitor "eDP-1, 1920x1080@120, 0x0, 1, vrr, 1"
# TODO: why uwsm?
brightnessctl -s
# brightnessctl --class='backlight' set 0%
#
# sleep 4
# brightnessctl --class='backlight' set 20%
uwsm app -- hyprlock &
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
if command -v hyprshade &>/dev/null; then
hyprshade on vibrance
@@ -0,0 +1,7 @@
<svg width="96" height="96" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="48" cy="48" r="46" stroke="#DADAFF" stroke-width="4"/>
<g transform="translate(16.8, 16.8) scale(2.6)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.0002 12V14C13.1048 14 14.0002 13.1045 14.0002 12H12.0002ZM12.0002 12H10.0002C10.0002 13.1045 10.8956 14 12.0002 14V12ZM12.0002 12V9.99995C10.8956 9.99995 10.0002 10.8954 10.0002 12H12.0002ZM12.0002 12H14.0002C14.0002 10.8954 13.1048 9.99995 12.0002 9.99995V12ZM12.0002 13H12.0102V11H12.0002V13ZM14.8286 14.8284C12.7579 16.8991 10.5345 18.3566 8.64907 19.0636C6.67076 19.8055 5.45764 19.5995 4.92913 19.071L3.51492 20.4852C4.93902 21.9093 7.23488 21.7299 9.35132 20.9363C11.5606 20.1078 14.0178 18.4677 16.2428 16.2426L14.8286 14.8284ZM4.92913 19.071C4.40061 18.5425 4.19466 17.3294 4.93653 15.3511C5.64358 13.4656 7.10106 11.2422 9.17177 9.17152L7.75756 7.75731C5.5325 9.98237 3.89235 12.4395 3.06387 14.6488C2.2702 16.7653 2.09081 19.0611 3.51492 20.4852L4.92913 19.071ZM9.17177 9.17152C11.2425 7.10082 13.4658 5.64333 15.3513 4.93628C17.3296 4.19441 18.5427 4.40037 19.0713 4.92888L20.4855 3.51467C19.0614 2.09056 16.7655 2.26996 14.6491 3.06362C12.4398 3.8921 9.98262 5.53225 7.75756 7.75731L9.17177 9.17152ZM19.0713 4.92888C19.5998 5.4574 19.8057 6.67051 19.0639 8.64883C18.3568 10.5343 16.8993 12.7577 14.8286 14.8284L16.2428 16.2426C18.4679 14.0175 20.108 11.5604 20.9365 9.35108C21.7302 7.23464 21.9096 4.93878 20.4855 3.51467L19.0713 4.92888ZM14.8286 9.17152C16.8993 11.2422 18.3568 13.4656 19.0639 15.3511C19.8057 17.3294 19.5998 18.5425 19.0713 19.071L20.4855 20.4852C21.9096 19.0611 21.7302 16.7653 20.9365 14.6488C20.108 12.4395 18.4679 9.98237 16.2428 7.75731L14.8286 9.17152ZM19.0713 19.071C18.5427 19.5995 17.3296 19.8055 15.3513 19.0636C13.4658 18.3566 11.2425 16.8991 9.17177 14.8284L7.75756 16.2426C9.98262 18.4677 12.4398 20.1078 14.6491 20.9363C16.7655 21.7299 19.0614 21.9093 20.4855 20.4852L19.0713 19.071ZM9.17177 14.8284C7.10106 12.7577 5.64358 10.5343 4.93653 8.64883C4.19466 6.67051 4.40061 5.4574 4.92913 4.92888L3.51491 3.51467C2.09081 4.93878 2.2702 7.23464 3.06387 9.35108C3.89235 11.5604 5.5325 14.0175 7.75756 16.2426L9.17177 14.8284ZM4.92913 4.92888C5.45764 4.40037 6.67076 4.19441 8.64907 4.93628C10.5345 5.64333 12.7579 7.10082 14.8286 9.17152L16.2428 7.75731C14.0178 5.53225 11.5606 3.8921 9.35132 3.06362C7.23488 2.26996 4.93902 2.09056 3.51491 3.51467L4.92913 4.92888Z" fill="#DADAFF"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

+8
View File
@@ -0,0 +1,8 @@
<svg width="96" height="96" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="48" cy="48" r="46" stroke="#DADAFF" stroke-width="4"/>
<g transform="translate(16.8, 16.8) scale(2.6)" stroke="#DADAFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<path d="M9 3v3m6-3v3m3 3h3m-3 6h3m-6 3v3m-6-3v3m-3-6H3m3-6H3m6.5 4.5v-3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1ZM7 18h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 523 B

+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
msgId="3378455"
PERFORMANCE_MODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
if [ "$PERFORMANCE_MODE" = 1 ] ; then
hyprctl --batch "\
keyword general:allow_tearing 1;\
keyword animations:enabled 0;\
keyword animation borderangle,0; \
keyword decoration:shadow:enabled 0;\
keyword decoration:blur:enabled 0;\
keyword decoration:fullscreen_opacity 1;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
notify-send -i "$HOME/.config/hypr/scripts/dunst/icons/cpu.svg" -u low -r "$msgId" "Performance mode [ON]"
exit
else
notify-send -i "$HOME/.config/hypr/scripts/dunst/icons/core.svg" -u low -r "$msgId" "Performance mode [OFF]"
hyprctl reload
exit 0
fi
exit 1