diff --git a/README.md b/README.md index cf227ead..86471b01 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ git clone https://aur.archlinux.org/paru-bin.git Install Dependencies / Packages ``` -paru -S fnm hyprland keyb rofi-file-browser-extended-git imv brightnessctl neofetch yazi waybar playerctl wf-recorder kvantum swaylock-effects-git qt5ct qt6ct nwg-look mpv-mpris pacman-contrib swayidle pavucontrol pamixer file-roller htop adobe-source-code-pro-fonts ttf-fira-code ttf-jetbrains-mono-nerd ttf-jetbrains-mono noto-fonts-emoji ttf-droid otf-font-awesome ttf-cascadia-code-nerd ttf-bitstream-vera ttf-croscore ttf-dejavu ttf-droid ttf-ibm-plex ttf-liberation noto-fonts gnu-free-fonts linux-headers alsa-utils less wlroots vlc thunar thunar-volman thunar-archive-plugin udiskie mtpfs jmtpfs gvfs-gphoto2 gvfs-mtp mousepad rofi-lbonn-wayland-git network-manager-applet lsd cava geany geany-plugin swaync tumbler unzip zip unrar polkit-gnome xdg-user-dirs grim slurp gnome-system-monitor jq blueberyy-wayland polkit-kde-agent cbonsai zathura-pdf-mupdf zathura yt-dlp ffmpegthumbnailer xdotool wmctrl zsh lazygit xdg-desktop-portal-gtk gtk-engine-murrine lxappearance parallel +paru -S fnm hyprland keyb rofi-file-browser-extended-git imv brightnessctl neofetch yazi waybar playerctl wf-recorder kvantum swaylock-effects-git qt5ct qt6ct nwg-look mpv-mpris pacman-contrib swayidle pavucontrol pamixer file-roller htop adobe-source-code-pro-fonts ttf-fira-code ttf-jetbrains-mono-nerd ttf-jetbrains-mono noto-fonts-emoji ttf-droid otf-font-awesome ttf-cascadia-code-nerd ttf-bitstream-vera ttf-croscore ttf-dejavu ttf-droid ttf-ibm-plex ttf-liberation noto-fonts gnu-free-fonts linux-headers alsa-utils less wlroots vlc thunar thunar-volman thunar-archive-plugin udiskie mtpfs jmtpfs gvfs-gphoto2 gvfs-mtp mousepad rofi-lbonn-wayland-git network-manager-applet lsd cava geany geany-plugin swaync tumbler unzip zip unrar polkit-gnome xdg-user-dirs grim slurp gnome-system-monitor jq blueberyy-wayland polkit-kde-agent cbonsai zathura-pdf-mupdf zathura yt-dlp ffmpegthumbnailer xdotool wmctrl zsh lazygit xdg-desktop-portal-gtk gtk-engine-murrine lxappearance xsel bc ``` > **Warning** diff --git a/config/VSCodium/User/extensions.txt b/config/VSCodium/User/extensions.txt index 36ef6bdd..39aad589 100644 --- a/config/VSCodium/User/extensions.txt +++ b/config/VSCodium/User/extensions.txt @@ -28,13 +28,17 @@ rafamel.subtle-brackets redhat.ansible redhat.vscode-yaml rust-lang.rust-analyzer +stivo.tailwind-fold streetsidesoftware.code-spell-checker sumneko.lua svelte.svelte-vscode thang-nm.catppuccin-perfect-icons timonwong.shellcheck +tobias-z.vscode-harpoon usernamehw.errorlens +vadimcn.vscode-lldb VSpaceCode.whichkey Vue.volar yandeu.five-server +YoavBls.pretty-ts-errors ziglang.vscode-zig diff --git a/config/hypr/UserConfigs/Laptops.conf b/config/hypr/UserConfigs/Laptops.conf index 43c7637f..2fb703f4 100644 --- a/config/hypr/UserConfigs/Laptops.conf +++ b/config/hypr/UserConfigs/Laptops.conf @@ -4,23 +4,16 @@ $mainMod = SUPER $scriptsDir = $HOME/.config/hypr/scripts +$device = $scriptsDir/Device_cmd.sh $UserConfigs = $HOME/.config/hypr/UserConfigs -$UserScripts = $HOME/.config/hypr/UserScripts -# media controls using keyboards -bind = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause -bind = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause -bind = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause -bind = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt -bind = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv -bind = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop #Brightness Control -bind = ,xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down -bind = ,xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up +bind = ,xf86KbdBrightnessDown, exec, $scriptsDir/Brightness.sh --dec-kbd #Keyboard brightness Down +bind = ,xf86KbdBrightnessUp, exec, $scriptsDir/Brightness.sh --inc-kbd #Keyboard brightness up bind = ,XF86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc bind = ,XF86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec -bind = $mainMod_SHIFT, D, exec, $UserScripts/TouchPad.sh # Disable Touchpad +bind = $mainMod_SHIFT, D, exec, $device toggle_touchpad # Disable Touchpad #VolumeControl bind = ,XF86AudioRaiseVolume, exec, $scriptsDir/Volume.sh --inc @@ -35,6 +28,7 @@ bind = ,XF86AudioStop, exec, playerctl pause # ScreenShot bind = , Print, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen +bind = CTRL, Print, exec, $scriptsDir/ScreenShot.sh --active # active window bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 Sec bind = SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 sec bind = $mainMod, Z, exec, $scriptsDir/ScreenShot.sh --area diff --git a/config/hypr/UserConfigs/Startup_Apps.conf b/config/hypr/UserConfigs/Startup_Apps.conf index f61e1912..18c286be 100644 --- a/config/hypr/UserConfigs/Startup_Apps.conf +++ b/config/hypr/UserConfigs/Startup_Apps.conf @@ -1,15 +1,15 @@ #Commands & Apps to be executed at launch $scriptsDir = $HOME/.config/hypr/scripts -$UserScripts = $HOME/.config/hypr/UserScripts - $wallDIR=$HOME/Pictures/wallpapers -$lock = swaylock -$SwwwRandom = $UserScripts/WallpaperAutoChange.sh + +$RunCMD = $scriptsDir/RunCMD.sh +$SwwwRandom = $RunCMD autowall +$lock = $RunCMD lockscreen # wallpaper stuff / More wallpaper options below exec-once = swww query || swww init -exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minute +exec-once = $SwwwRandom # Startup exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP @@ -34,7 +34,7 @@ exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store # Rainbow borders -exec-once = $UserScripts/RainbowBorders.sh +exec-once = $ui rainbowborder # sway-idle with lock only #exec-once = swayidle -w timeout 900 '$lock' diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf index c93da2db..948a76a8 100644 --- a/config/hypr/UserConfigs/UserKeybinds.conf +++ b/config/hypr/UserConfigs/UserKeybinds.conf @@ -8,14 +8,14 @@ $files = thunar $term = kitty $browser = firefox $scriptsDir = $HOME/.config/hypr/scripts -$UserScripts = $HOME/.config/hypr/UserScripts + +$RunCMD = $scriptsDir/RunCMD.sh -bindr = ALT, D, exec, pkill rofi || $UserScripts/Xmenu.sh - -# rofi App launcher +# RunCMD App launcher bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window -config ~/.config/rofi/launcher.rasi -bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window -config ~/.config/rofi/launcher.rasi +bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window -config ~/.config/RunCMD/launcher.rasi +bind = ALT, D, exec, pkill rofi || $scriptsDir/Xmenu.sh # Terminals bind = CTRL_ALT, Return, exec, kitty --start-as=fullscreen --title all_is_kitty @@ -25,44 +25,40 @@ bind = $mainMod, Return, exec, $term # Apps bind = $mainMod, E, exec, $files bind = ALT, F, exec, $browser -bind = ALT, Y, exec, kitty --title fly_is_kitty sh -c 'yazi' +bind = ALT, Y, exec, kitty yazi bind = $mainMod, Slash, exec, kitty nvim -bind = $mainMod_SHIFT, Slash, exec, code --disable-gpu +bind = $mainMod_SHIFT, Slash, exec, codium --disable-gpu # FEATURES / EXTRAS -bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi -bind = $mainMod, X, exec, $scriptsDir/RofiPower.sh # Powermenu -bind = $mainMod_SHIFT, A, exec, $scriptsDir/ToggleAnimation.sh -t # Animation ON/OFF -bind = ALT, slash, exec, $scriptsDir/RofiEmoji.sh # Emoji -bind = ALT, F1, exec, $scriptsDir/SwitchKeyboardLayout.sh # Switch Keyboard Layout -bind = $mainMod_SHIFT, Q, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings -bind = $mainMod, space, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout -bind = SHIFT_ALT, C, exec, $scriptsDir/ClipManager.sh # Clipboard Manager -bind = $mainMod_SHIFT, N, exec, swaync-client -t -sw # swayNC panel -bind = ALT, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings -bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select Wallpaper to apply -bind = SHIFT_ALT,W, exec, $UserScripts/WallpaperRandom.sh # Random Wallpapers -bind = $mainMod, F1, exec, $UserScripts/KeyBinds.sh # Keybinds -bind = ALT_SHIFT, T, exec, rofi -modi TODO:$scriptsDir/RofiTodo.sh -show TODO -config ~/.config/rofi/config.rasi # TODO List -bind = $mainMod, T, exec, $scriptsDir/RofiTmuxSesions.sh # Tmux -bind = ALT, B, exec, $scriptsDir/RofiNotes.sh # Note - +bind = SHIFT_ALT, R, exec, $RunCMD reload +bind = $mainMod, X, exec, $RunCMD powermenu +bind = $mainMod_SHIFT, A, exec, $RunCMD gamemode +bind = ALT, slash, exec, $RunCMD emoji +bind = ALT, F1, exec, $RunCMD kb +bind = $mainMod_SHIFT, Q, exec, $RunCMD blur +bind = $mainMod, space, exec, $RunCMD layout +bind = SHIFT_ALT, C, exec, $RunCMD clip +bind = ALT, E, exec, $RunCMD edit +bind = $mainMod, W, exec, $RunCMD selectwall +bind = SHIFT_ALT,W, exec, $RunCMD randomwall +bind = $mainMod, F1, exec, $RunCMD keybind +bind = ALT_SHIFT, T, exec, $RunCMD todo +bind = ALT, T, exec, $RunCMD tmux +bind = ALT, B, exec, $RunCMD note +bind = ALT, C, exec, $RunCMD calc +bind = $mainMod, R, exec, $RunCMD sr +bind = $mainMod_SHIFT, N, exec, swaync-client -C # Online Music related keybinds -bind = ALT, M, exec, $UserScripts/RofiMusic.sh -bind = ALT, S, exec, $scriptsDir/MusicControl.sh -s # Stop -bind = ALT, N, exec, $scriptsDir/MusicControl.sh -n # Next -bind = ALT, P, exec, $scriptsDir/MusicControl.sh -p # Previous -bind = ALT, R, exec, $scriptsDir/MusicControl.sh -k # Resume - - -# Recorder (wf-recorder) -bind = $mainMod, R, exec, wf-recorder --force-yuv -c libx264rgb -t -f "$HOME/Videos/screencast--$(date +'%H:%M:%S_%d-%m-%Y.mp4')" --audio=alsa_output.pci-0000_03_00.6.analog-stereo.monitor -bind = $mainMod_SHIFT, R, exec, pkill wf-recorder --signal SIGINT && notify-send "🛑 Recording stopped" && pkill -RTMIN+8 waybar +bind = ALT, M, exec, $scriptsDir/Music_cmd.sh -m +bind = ALT, S, exec, $scriptsDir/Music_cmd.sh -s # Stop +bind = ALT, N, exec, $scriptsDir/Music_cmd.sh -n # Next +bind = ALT, P, exec, $scriptsDir/Music_cmd.sh -p # Previous +bind = ALT, R, exec, $scriptsDir/Music_cmd.sh -k # Resume # Waybar / Bar related -bind = $mainMod, H, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar -bind = ALT, W, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu +bind = $mainMod, H, exec, killall -SIGUSR1 waybar +bind = ALT, W, exec, $RunCMD waybarl diff --git a/config/hypr/UserConfigs/WindowRules.conf b/config/hypr/UserConfigs/WindowRules.conf index 0fda2e7d..1d44e223 100644 --- a/config/hypr/UserConfigs/WindowRules.conf +++ b/config/hypr/UserConfigs/WindowRules.conf @@ -130,7 +130,8 @@ windowrulev2 = center, title:(.*Save File.*) # VS Code windowrulev2 = workspace 2, class:^(.*Code.*)$|(.*codium.*)$ -windowrulev2 = opacity 0.9 0.6, class:(Code) +windowrulev2 = opacity 0.9 0.6, class:^(.*Code.*)$|(.*codium.*)$|(.*codium-url-handler.*)$ + # Telegram diff --git a/config/hypr/UserScripts/KeyBinds.sh b/config/hypr/UserScripts/KeyBinds.sh deleted file mode 100755 index 9691015a..00000000 --- a/config/hypr/UserScripts/KeyBinds.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -CONFIG=$(rofi -show file-browser-extended -file-browser-stdout -file-browser-dir "$HOME"/.config/keyb/bindings -config ~/.config/rofi/config-long.rasi) - -hyprctl dispatch exec "[float;size 45% 80%;center 1] kitty keyb -k '$CONFIG'" diff --git a/config/hypr/UserScripts/QuickEdit.sh b/config/hypr/UserScripts/QuickEdit.sh deleted file mode 100755 index 73ecf770..00000000 --- a/config/hypr/UserScripts/QuickEdit.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# Rofi menu for Quick Edit / View of Settings (SUPER E) - -configs="$HOME/.config/hypr/configs" -UserConfigs="$HOME/.config/hypr/UserConfigs" - -menu(){ - printf "1. view Env-variables\n" - printf "2. view Window-Rules\n" - printf "3. view Startup_Apps\n" - printf "4. view User-Keybinds\n" - printf "5. view Monitors\n" - printf "6. view Laptop-Keybinds\n" - printf "7. view User-Settings\n" - printf "8. view Default-Settings\n" - printf "9. view Default-Keybinds\n" -} - -main() { - choice=$(menu | rofi -dmenu -i -l 9 -p " View / Edit Hyprland Configs:" -config ~/.config/rofi/config.rasi | cut -d. -f1) - case $choice in - 1) - kitty -e nano "$UserConfigs/ENVariables.conf" - ;; - 2) - kitty -e nano "$UserConfigs/WindowRules.conf" - ;; - 3) - kitty -e nano "$UserConfigs/Startup_Apps.conf" - ;; - 4) - kitty -e nano "$UserConfigs/UserKeybinds.conf" - ;; - 5) - kitty -e nano "$UserConfigs/Monitors.conf" - ;; - 6) - kitty -e nano "$UserConfigs/Laptops.conf" - ;; - 7) - kitty -e nano "$UserConfigs/UserSettings.conf" - ;; - 8) - kitty -e nano "$configs/Settings.conf" - ;; - 9) - kitty -e nano "$configs/Keybinds.conf" - ;; - *) - ;; - esac -} - -main diff --git a/config/hypr/UserScripts/RainbowBorders.sh b/config/hypr/UserScripts/RainbowBorders.sh deleted file mode 100755 index 1f5e6cdb..00000000 --- a/config/hypr/UserScripts/RainbowBorders.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -function random_hex() { - random_hex=("0xff$(openssl rand -hex 3)") - echo $random_hex -} - -hyprctl keyword general:col.active_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg - -hyprctl keyword general:col.inactive_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg \ No newline at end of file diff --git a/config/hypr/UserScripts/RofiMusic.sh b/config/hypr/UserScripts/RofiMusic.sh deleted file mode 100755 index d37cfd37..00000000 --- a/config/hypr/UserScripts/RofiMusic.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash - -# Directory for icons -iDIR="$HOME/.config/swaync/icons" - - -LOFI_STREAM="https://www.youtube.com/watch?v=jfKfPfyJRdk" -NEPALI_OLD_SONG="https://youtube.com/playlist?list=PLXuVG9D9JQ8RAhpH2TyISgBgEmXONIhGY&si=SLyxb2vxaE0XuXsz" -BOLLYWOOD_LOVE_SONG="https://youtube.com/playlist?list=PL9bw4S5ePsEEqCMJSiYZ-KTtEjzVy0YvK&si=J0gPvKL4R4fIlPz9" -TOP_50_BOLLYWOOD="https://youtube.com/playlist?list=PLHuHXHyLu7BEnMJNeVvkXpxapvDSp5UdI&si=-TBeeNJ28NqVcnKu" -BHAJAN="https://youtube.com/playlist?list=PLwIh-QEhrDJDM8IF3gLUgnEyZm6dBgr_n&si=_RDHngYobHlcxaJW" - -# Player menu controls -play=" Play music" -pause=" Pause music" -stop=" Stop music" -next_track=" Next track" -prev_track=" Previous track" -increase_volume="󰝝 Increase volume" -decrease_volume="󰝞 Decrease volume" - -# Music menu controls -play_bhajan="󰥳 Play Bhajan" -play_lofi=" Play lofi girl" -play_old_nepali="1.  Play Nepali Old Song" -play_bollywood_love="2.  Play BollyWood Love" -play_TOP_50_BOLLYWOOD="3.  Play Top 50 BollyWood" - -function notify() { - notify-send -u normal -i "$iDIR/music.png" "$1" -} - -function music() { - local chosen=$(printf "%s\n%s\n%s\n%s\n" "$play_bhajan" "$play_lofi" "$play_old_nepali" "$play_bollywood_love" "$play_TOP_50_BOLLYWOOD" | rofi -dmenu -i -l 5 -p "Music Time:" -config ~/.config/rofi/config.rasi) - - - if [[ "$chosen" == "$play_bhajan" ]]; then - notify "Playing Bhajan" - exec -a "rofi-music" mpv --no-video "$BHAJAN" --shuffle --no-resume-playback - elif [[ "$chosen" == "$play_lofi" ]]; then - notify "🎹 Playing lofi girl" - exec -a "rofi-music" mpv --no-video "$LOFI_STREAM" --no-resume-playback - elif [[ "$chosen" == "$play_old_nepali" ]]; then - notify "🎹 Playing nepali old song" - exec -a "rofi-music" mpv --no-video "$NEPALI_OLD_SONG" --shuffle --no-resume-playback - elif [[ "$chosen" == "$play_bollywood_love" ]]; then - notify "🎹 Playing bollywood love" - exec -a "rofi-music" mpv --no-video "$BOLLYWOOD_LOVE_SONG" --shuffle --no-resume-playback - elif [[ "$chosen" == "$play_TOP_50_BOLLYWOOD" ]]; then - notify "🎹 Playing top 50 bollywood" - exec -a "rofi-music" mpv --no-video "$TOP_50_BOLLYWOOD" --shuffle --no-resume-playback - fi -} - -function controls() { - local chosen=$(printf "%s\n%s\n%s\n%s\n%s\n%s\n%s\n" "$play" "$pause" "$stop" "$next_track" "$prev_track" "$increase_volume" "$decrease_volume" | rofi -dmenu -i -l 7 -p "Music Controls:" -config ~/.config/rofi/config.rasi) - - if [[ "$chosen" == "$play" ]]; then - playerctl --player=mpv play && notify-send -u normal -i "$1" "▶️ Resuming music" - elif [[ "$chosen" == "$pause" ]]; then - playerctl --player=mpv pause && notify-send -u normal -i "$1" "⏸️ Music paused" - elif [[ "$chosen" == "$stop" ]]; then - kill $(pidof "rofi-music") && notify-send -u normal -i "$1" "🛑 Music stopped" - elif [[ "$chosen" == "$next_track" ]]; then - playerctl --player=mpv next && notify-send -u normal -i "$1" "⏭️ Next track playing" - elif [[ "$chosen" == "$prev_track" ]]; then - playerctl --player=mpv previous && notify-send -u normal -i "$1" "⏮️ Previous track playing" - elif [[ "$chosen" == "$increase_volume" ]]; then - current_volume=$(playerctl --player=mpv volume) - new_volume=$(echo "$current_volume + 0.1" | bc) - playerctl --player=mpv volume $new_volume && notify-send -u normal -i "$1" "🔊 Increasing track volume" - elif [[ "$chosen" == "$decrease_volume" ]]; then - current_volume=$(playerctl --player=mpv volume) - new_volume=$(echo "$current_volume - 0.1" | bc) - playerctl --player=mpv volume $new_volume && notify-send -u normal -i "$1" "🔉 Decreasing track volume" - fi -} - -# Check if music is running -if pidof "rofi-music" > /dev/null; then - controls -else - music -fi diff --git a/config/hypr/UserScripts/TouchPad.sh b/config/hypr/UserScripts/TouchPad.sh deleted file mode 100755 index 3e38900d..00000000 --- a/config/hypr/UserScripts/TouchPad.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# For disabling touchpad. - -notif="$HOME/.config/swaync/images/bell.png" - -# NOTE: find the right device using hyprctl devices - -HYPRLAND_DEVICE="dll07a7:01-044e:120b" - -DIR=$HOME/.cache -STATUS_FILE="$DIR/touchpad.status" - -toggle_touchpad() { - if [ ! -f "$STATUS_FILE" ] || [ "$(cat "$STATUS_FILE")" = "false" ]; then - echo "true" > "$STATUS_FILE" - action="enabled" - else - echo "false" > "$STATUS_FILE" - action="disabled" - fi - - notify-send -u low -i "$notif" "Touchpad $action" - hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" "$(cat "$STATUS_FILE")" -} - -toggle_touchpad diff --git a/config/hypr/UserScripts/WallDownloader.sh b/config/hypr/UserScripts/WallDownloader.sh deleted file mode 100755 index 8d38ea47..00000000 --- a/config/hypr/UserScripts/WallDownloader.sh +++ /dev/null @@ -1,297 +0,0 @@ -#!/bin/bash - -stype=$(echo -e "standard\nsearch" | rofi -l 2 -dmenu -p "Search Type:") - -if [ "$stype" = "standard" ]; then - smode=$(echo -e "toplist\nrandom" | rofi -l 2 -dmenu -p "Search Mode") - notify-send "Downloading wallpaper for" "$smode" -else - query=$(echo -e "sci-fi\nfuturistic\nconcept art" | rofi -l 4 -dmenu -p "Search Query: ") - notify-send "Downloading wallpaper for" "$query" -fi -pageno=$(rofi -l 0 -dmenu -p "Enter Page Number") -wpnum=$(echo -e "24\n48\n72\n96\n120" | rofi -l 5 -dmenu -p "No. of Wallpapers:") -STARTPAGE=$pageno -APIKEY="u4YNdj6N0M7nkrM2Pbz7fHAY0EYIT5WL" - -##################################### -### Configuration Options ### -##################################### -LOCATION=$HOME/Pictures/Wallpapers -WPNUMBER=$wpnum -TYPE=$stype # Download Type (standard,search) -CATEGORIES=100 # General Anime People -FILTER=100 # SFW SKETCHY NSFW -RESOLUTION=1920x1080 # Preferred Resolution (3840x2160, 2560x1440, 1920x1080) -ATLEAST=1920x1080 # Minimum Resolution -ASPECTRATIO=16x9 # Monitor Aspect Ratio -MODE=$smode # relevance, random, date_added, views, favorites, toplist, toplist-beta -TOPRANGE=1y # possible values: 1d (last day), 3d (last 3 days), 1w (last week),1M (last month), 3M (last 3 months), 6M (last 6 months), 1y (last year) -ORDER=desc # Download Order -COLLECTION="Default" -QUERY="$query" -COLOR="" -PARALLEL=1 -THUMBS=24 # valid values: 24, 32, 64 (if set to 32 or 64 you need to provide an api key) - -##################################### -### End Configuration Options ### -##################################### - - -function setAPIkeyHeader { - # checking parameters -> if not ok print error and exit script - if [ $# -lt 1 ] || [ "$1" == '' ] - then - printf "Please make sure to enter a valid API key,\n" - printf "it is needed for NSFW Content and downloading \n" - printf "your Collections also make sure your Thumbnails per\n" - printf "Page Setting matches the THUMBS Variable\n\n" - printf "Press any key to exit\n" - read -r - exit - fi - - # everythings ok --> set api key header - httpHeader="X-API-Key: $APIKEY" -} # /setAPIkeyHeader - -# -# downloads Page with Thumbnails -# -function getPage { - # checking parameters -> if not ok print error and exit script - if [ $# -lt 1 ] - then - printf "getPage expects at least 1 argument\\n" - printf "arg1:\\tparameters for the wget -q command\\n\\n" - printf "press any key to exit\\n" - read -r - exit - fi - - # parameters ok --> get page - WGET -O tmp "https://wallhaven.cc/api/v1/$1" -} # /getPage - -# -# downloads all the wallpaper from a wallpaperfile -# arg1: the file containing the wallpapers -# -function downloadWallpapers { - if (( "$page" >= "$(jq -r ".meta.last_page" tmp)" )) - then - downloadEndReached=true - fi - - for ((i=0; i/dev/null - then - printf "\\tWallpaper %s already downloaded!\\n" "$imgURL" - elif [ $PARALLEL == 1 ] - then - echo "$imgURL" >> download.txt - else - # check if downloadWallpaper was successful - if downloadWallpaper "$imgURL" - then - echo "$filename" >> downloaded.txt - fi - fi - done - - if [ $PARALLEL == 1 ] && [ -f ./download.txt ] - then - # export wget wrapper and download function to make it - # available for parallel - export -f WGET coolDown downloadWallpaper - # shellcheck disable=SC2016 - SHELL=$(type -p bash) parallel --gnu --no-notice \ - 'imgURL={} && downloadWallpaper $imgURL && echo "$imgURL"| sed "s/.*\///" >> downloaded.txt' < download.txt - rm tmp download.txt - else - rm tmp - fi -} # /downloadWallpapers - -# -# downloads a single Wallpaper by guessing its extension, this eliminates -# the need to download each wallpaper page, now only the thumbnail page -# needs to be downloaded -# -function downloadWallpaper { - if [[ "$1" != null ]] - then - WGET "$1" - else - return 1 - fi -} # /downloadWallpaper - -# -# Waits for 30 seconds if rate limiting is detected -# -function coolDown { - printf "\\t -Rate Limiting detected, sleeping for 30 seconds\\n" - sleep 30 - WGET "$@" -} # /coolDown - -# -# wrapper for wget with some default arguments -# arg0: additional arguments for wget (optional) -# arg1: file to download -# -function WGET { - # checking parameters -> if not ok print error and exit script - if [ $# -lt 1 ] - then - printf "WGET expects at least 1 argument\\n" - printf "arg0:\\tadditional arguments for wget (optional)\\n" - printf "arg1:\\tfile to download\\n\\n" - printf "press any key to exit\\n" - read -r - exit - fi - - # default wget command - wget --server-response -q --header="$httpHeader" --keep-session-cookies \ - --save-cookies cookies.txt --load-cookies cookies.txt "$@" 2>&1 | \ - grep "429 Too Many Requests" >/dev/null && coolDown "$@" - - return "${PIPESTATUS[0]}" -} # /WGET - - -# optionally create a separate subfolder for each search query -# might download duplicates as each search query has its own list of -# downloaded wallpapers -if [ "$TYPE" == search ] && [ "$SUBFOLDER" == 1 ] -then - LOCATION+=/$(echo "$QUERY" | sed -e "s/ /_/g" -e "s/+/_/g" -e "s/\\//_/g") -fi - -# creates Location folder if it does not exist -if [ ! -d "$LOCATION" ] -then - mkdir -p "$LOCATION" -fi - -cd "$LOCATION" || exit - -# creates downloaded.txt if it does not exist -if [ ! -f ./downloaded.txt ] -then - touch downloaded.txt -fi - -# set auth header only when it is required ( for example to download your -# own collections or nsfw content... ) -if [ "$FILTER" == 001 ] || [ "$FILTER" == 011 ] || [ "$FILTER" == 111 ] \ - || [ "$TYPE" == collections ] || [ "$THUMBS" != 24 ] -then - setAPIkeyHeader "$APIKEY" -fi - -if [ "$TYPE" == standard ] -then - for (( count=0, page="$STARTPAGE"; - count< "$WPNUMBER"; - count=count+"$THUMBS", page=page+1 )); - do - printf "Download Page %s\\n" "$page" - s1="search?page=$page&categories=$CATEGORIES&purity=$FILTER&" - s1+="atleast=$ATLEAST&resolutions=$RESOLUTION&ratios=$ASPECTRATIO" - s1+="&sorting=$MODE&order=$ORDER&topRange=$TOPRANGE&colors=$COLOR" - getPage "$s1" - printf "\\t- done!\\n" - printf "Download Wallpapers from Page %s\\n" "$page" - downloadWallpapers - printf "\\t- done!\\n" - if [ "$downloadEndReached" = true ] - then - break - fi - done - -elif [ "$TYPE" == search ] -then - for (( count=0, page="$STARTPAGE"; - count< "$WPNUMBER"; - count=count+"$THUMBS", page=page+1 )); - do - printf "Download Page %s\\n" "$page" - s1="search?page=$page&categories=$CATEGORIES&purity=$FILTER&" - s1+="atleast=$ATLEAST&resolutions=$RESOLUTION&ratios=$ASPECTRATIO" - s1+="&sorting=$MODE&order=desc&topRange=$TOPRANGE&colors=$COLOR" - if [ "$TYPE" == search ] - then - s1+="&q=$QUERY" - fi - - getPage "$s1" - printf "\\t- done!\\n" - printf "Download Wallpapers from Page %s\\n" "$page" - downloadWallpapers - printf "\\t- done!\\n" - if [ "$downloadEndReached" = true ] - then - break - fi - done - -elif [ "$TYPE" == collections ] -then - if [ "$USR" == "" ] - then - printf "Please check the value specified for USR\\n" - printf "to download a Collection it is necessary to specify a User\\n\\n" - printf "Press any key to exit\\n" - read -r - exit - fi - - getPage "collections/$USR" - - - i=0 - while - label=$(jq -e -r ".data[$i].label" tmp) - id=$(jq -e -r ".data[$i].id" tmp) - collectionsize=$(jq -e -r ".data[$i].count" tmp) - [[ $label != "$COLLECTION" && $label != null ]] - do - (( i++ )) - done - - if [ -z "$id" ] - then - printf "Please check the value specified for COLLECTION\\n" - printf "it seems that a collection with the name \"%s\" does not exist\\n\\n" \ - "$COLLECTION" - printf "Press any key to exit\\n" - read -r - exit - fi - - for (( count=0, page="$STARTPAGE"; - count< "$WPNUMBER" && count< "$collectionsize"; - count=count+"$THUMBS", page=page+1 )); - do - printf "Download Page %s\\n" "$page" - getPage "collections/$USR/$id?page=$page" - printf "\\t- done!\\n" - printf "Download Wallpapers from Page %s\\n" "$page" - downloadWallpapers - printf "\\t- done!\\n" - done -else - printf "error in TYPE please check Variable\\n" -fi - -rm -rf cookies.txt -notify-send "Wallpapers Downloaded" "$LOCATION" diff --git a/config/hypr/UserScripts/WallpaperAutoChange.sh b/config/hypr/UserScripts/WallpaperAutoChange.sh deleted file mode 100755 index e204e233..00000000 --- a/config/hypr/UserScripts/WallpaperAutoChange.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes - -# This script will randomly go through the files of a directory, setting it -# up as the wallpaper at regular intervals -# -# NOTE: this script uses bash (not POSIX shell) for the RANDOM variable -linker=$HOME/.config/hypr/scripts/Linker.sh - -if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then - echo "Usage: - $0 " - exit 1 -fi - -# Edit below to control the images transition -export SWWW_TRANSITION_FPS=60 -export SWWW_TRANSITION_TYPE=simple - -# This controls (in seconds) when to switch to the next image -INTERVAL=1800 - -while true; do - find "$1" \ - | while read -r img; do - echo "$((RANDOM % 1000)):$img" - done \ - | sort -n | cut -d':' -f2- \ - | while read -r img; do - # Create symbolic link to the current image - swww img "$img" - $linker - sleep $INTERVAL - done -done diff --git a/config/hypr/UserScripts/WallpaperRandom.sh b/config/hypr/UserScripts/WallpaperRandom.sh deleted file mode 100755 index 1df432bc..00000000 --- a/config/hypr/UserScripts/WallpaperRandom.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -# Script for Random Wallpaper (SHIFT ALT W) - -# Directory paths -wallDIR="$HOME/Pictures/wallpapers" -hyprConfigDir="$HOME/.config/hypr" -scriptsDir="$hyprConfigDir/scripts" - -# Check if swww is initialized; if not, initialize it -swww query || swww init - -# Array of image files in wallDIR -PICS=($(find "${wallDIR}" -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.gif" \))) - -# Check if there are images in the specified directory -if [ ${#PICS[@]} -eq 0 ]; then - echo "No images found in ${wallDIR}. Exiting." - exit 1 -fi - -# Select a random image -RANDOMPICS=${PICS[$RANDOM % ${#PICS[@]}]} - -# Transition config -FPS=60 -TYPE="random" -DURATION=1 -BEZIER=".43,1.19,1,.4" -SWWW_PARAMS="--transition-fps ${FPS} --transition-type ${TYPE} --transition-duration ${DURATION} --transition-bezier ${BEZIER}" - -# Set the randomly selected wallpaper -swww img "${RANDOMPICS}" ${SWWW_PARAMS} - -${scriptsDir}/Linker.sh diff --git a/config/hypr/UserScripts/WallpaperSelect.sh b/config/hypr/UserScripts/WallpaperSelect.sh deleted file mode 100755 index 7dae6f8c..00000000 --- a/config/hypr/UserScripts/WallpaperSelect.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -# This script for selecting wallpapers (SUPER W) - -SCRIPTSDIR="$HOME/.config/hypr/scripts" - -# WALLPAPERS PATH -DIR="$HOME/Pictures/wallpapers" - -# Transition config -FPS=30 -TYPE="wipe" -DURATION=1 -BEZIER=".43,1.19,1,.4" -SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION" - -# Check if swaybg is running -if pidof swaybg > /dev/null; then - pkill swaybg -fi - -# Retrieve image files -PICS=($(ls "${DIR}" | grep -E ".jpg$|.jpeg$|.png$|.gif$")) -RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}" -RANDOM_PIC_NAME="${#PICS[@]}. random" - -# Rofi command -rofi_command="rofi -show -dmenu -config ~/.config/rofi/config-wallpaper.rasi" - -menu() { - for i in "${!PICS[@]}"; do - # Displaying .gif to indicate animated images - if [[ -z $(echo "${PICS[$i]}" | grep .gif$) ]]; then - printf "$(echo "${PICS[$i]}" | cut -d. -f1)\x00icon\x1f${DIR}/${PICS[$i]}\n" - else - printf "${PICS[$i]}\n" - fi - done - - printf "$RANDOM_PIC_NAME\n" -} - -swww query || swww init - -main() { - choice=$(menu | ${rofi_command}) - - # No choice case - if [[ -z $choice ]]; then - exit 0 - fi - - # Random choice case - if [ "$choice" = "$RANDOM_PIC_NAME" ]; then - swww img "${DIR}/${RANDOM_PIC}" $SWWW_PARAMS - exit 0 - fi - - # Find the index of the selected file - pic_index=-1 - for i in "${!PICS[@]}"; do - filename=$(basename "${PICS[$i]}") - if [[ "$filename" == "$choice"* ]]; then - pic_index=$i - break - fi - done - - if [[ $pic_index -ne -1 ]]; then - swww img "${DIR}/${PICS[$pic_index]}" $SWWW_PARAMS - else - exit 1 - fi -} - -# Check if rofi is already running -if pidof rofi > /dev/null; then - pkill rofi - exit 0 -fi - -main - -${SCRIPTSDIR}/Linker.sh diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py deleted file mode 100755 index b5b514de..00000000 --- a/config/hypr/UserScripts/Weather.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env python3 -# From https://raw.githubusercontent.com/rxyhn/dotfiles/main/home/rxyhn/modules/desktop/waybar/scripts/waybar-wttr.py - -## ensure to insert city inside "" -import json -import requests -from datetime import datetime - -WEATHER_CODES = { - '113': ' ', - '116': '󰖕 ', - '119': ' ', - '122': ' ', - '143': ' ', - '176': ' ', - '179': ' ', - '182': ' ', - '185': ' ', - '200': '⛈️', - '227': '🌨️', - '230': '🌨️', - '248': '☁️', - '260': '☁️', - '263': '🌧️', - '266': '🌧️', - '281': '🌧️', - '284': '🌧️', - '293': '🌧️', - '296': '🌧️', - '299': '🌧️', - '302': '🌧️', - '305': '🌧️', - '308': '🌧️', - '311': '🌧️', - '314': '🌧️', - '317': '🌧️', - '320': '🌨️', - '323': '🌨️', - '326': '🌨️', - '329': '❄️', - '332': '❄️', - '335': '❄️', - '338': '❄️', - '350': '🌧️', - '353': '🌧️', - '356': '🌧️', - '359': '🌧️', - '362': '🌧️', - '365': '🌧️', - '368': '🌧️', - '371': '❄️', - '374': '🌨️', - '377': '🌨️', - '386': '🌨️', - '389': '🌨️', - '392': '🌧️', - '395': '❄️' -} - -data = {} - - -weather = requests.get("https://wttr.in/Kohalpur?format=j1").json() - - -def format_time(time): - return time.replace("00", "").zfill(2) - - -def format_temp(temp): - return (hour['FeelsLikeC']+"°").ljust(3) - - -def format_chances(hour): - chances = { - "chanceoffog": "Fog", - "chanceoffrost": "Frost", - "chanceofovercast": "Overcast", - "chanceofrain": "Rain", - "chanceofsnow": "Snow", - "chanceofsunshine": "Sunshine", - "chanceofthunder": "Thunder", - "chanceofwindy": "Wind" - } - - conditions = [] - for event in chances.keys(): - if int(hour[event]) > 0: - conditions.append(chances[event]+" "+hour[event]+"%") - return ", ".join(conditions) - -tempint = int(weather['current_condition'][0]['FeelsLikeC']) -extrachar = '' -if tempint > 0 and tempint < 10: - extrachar = '+' - - -data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \ - " "+extrachar+weather['current_condition'][0]['FeelsLikeC']+"°" - -data['tooltip'] = f"{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°\n" -data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n" -data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n" -data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n" -for i, day in enumerate(weather['weather']): - data['tooltip'] += f"\n" - if i == 0: - data['tooltip'] += "Today, " - if i == 1: - data['tooltip'] += "Tomorrow, " - data['tooltip'] += f"{day['date']}\n" - data['tooltip'] += f"⬆️{day['maxtempC']}° ⬇️{day['mintempC']}° " - data['tooltip'] += f"🌅{day['astronomy'][0]['sunrise']} 🌇{day['astronomy'][0]['sunset']}\n" - for hour in day['hourly']: - if i == 0: - if int(format_time(hour['time'])) < datetime.now().hour-2: - continue - data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n" - - -print(json.dumps(data)) diff --git a/config/hypr/UserScripts/Xmenu.sh b/config/hypr/UserScripts/Xmenu.sh deleted file mode 100755 index 5b9e0cea..00000000 --- a/config/hypr/UserScripts/Xmenu.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash - -# Directory for icons -iDIR="$HOME/.config/swaync/icons" -scriptsDir="$HOME/.config/hypr/scripts" -UserScripts="$HOME/.config/hypr/UserScripts" -yes='Yes' -no='No' -# Note: You can add more options below with the following format: -# ["TITLE"]="link" - -# Define menu options as an associative array -declare -A menu_options=( - ["nv Neovim"]="kitty -e nvim" - ["re RofiEmoji"]="$scriptsDir/RofiEmoji.sh" - ["rn RofiNotes"]="$scriptsDir/RofiNotes.sh" - ["rs TmuxSesions"]="$scriptsDir/RofiTmuxSesions.sh" - ["rt RofiTodo"]="rofi -modi TODO:$scriptsDir/RofiTodo.sh -show TODO" - ["ws WallpaperSelect"]="$UserScripts/WallpaperSelect.sh" - ["wb ToggleWaybar"]="killall -SIGUSR1 waybar" - ["wl WaybarLayout"]="$scriptsDir/WaybarLayout.sh" - ["gm GameMode"]="$scriptsDir/ToggleAnimation -t" - ["rm RofiMusic"]="$UserScripts/RofiMusic.sh" - ["cb ChangeBlur"]="$scriptsDir/ChangeBlur.sh" - ["po Shutdown"]="needConfim "poweroff"" - ["rr Reboot"]="needConfim "reboot"" - ["pm PowerMenu"]="$scriptsDir/RofiPower.sh" - ["rfs Refesh All"]="$scriptsDir/Refresh.sh" - ["cc Calculator"]="rofi -modi \"calc:$scriptsDir/RofiCalc.sh\" -show calc" - ["fd Finder"]="rofi -modi \"find:$scriptsDir/Finder.sh\" -show find" - ["cb Clipborad"]="$scriptsDirt/ClipManager.sh" - ["flt Float all window"]="hyprctl dispatch workspaceopt allfloat" - ["; Launcher"]="rofi -show drun -modi drun,filebrowser,run,window -config ~/.config/rofi/launcher.rasi" - ["ff firefox"]="firefox" - ["fp firefox"]="firefox --private-window" - ["qe QuickEdit"]="$UserScripts/QuickEdit.sh" - ["tp Touchpad"]="$UserScripts/TouchPad.sh" - ["yz Yazi"]="kitty -e yazi" - ["ds Discord"]="discord" - ["tg Telegram"]="telegram-desktop" - ["fz FuzzyFind"]="kitty fzf -e" - ["tn TermianlNote"]="kitty -e notes" - -) - -# Function for displaying notifications -notification() { - notify-send -e -u low "$@" -} - -confirm_cmd() { - rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 250px;}' \ - -theme-str 'mainbox {children: [ "message", "listview" ];}' \ - -theme-str 'listview {columns: 2; lines: 1;}' \ - -theme-str 'element-text {horizontal-align: 0.5;}' \ - -theme-str 'textbox {horizontal-align: 0.5;}' \ - -dmenu \ - -p 'Confirmation' \ - -mesg 'Are you Sure?' - # -theme ${dir}/${theme}.rasi -} - -# Ask for confirmation -confirm_exit() { - echo -e "$no\n$yes" | confirm_cmd -} -needConfim() { - selected="$(confirm_exit)" - if [[ "$selected" == "$yes" ]]; then - $1 - fi -} -# myt="$(notification number)" -# Main function -main() { - choice=$( - printf "%s\n" "${!menu_options[@]}" | - rofi -dmenu -config ~/.config/rofi/config.rasi \ - -p "Rofi" \ - -mesg "Hello" \ - -max-history-size 0 \ - -auto-select - ) - - if [ -z "$choice" ]; then - exit 1 - fi - - link="${menu_options[$choice]}" - $link - # notification "$choice" - # test_cmd -} - -main diff --git a/config/hypr/scripts/AirplaneMode.sh b/config/hypr/scripts/AirplaneMode.sh deleted file mode 100755 index 886e8c3a..00000000 --- a/config/hypr/scripts/AirplaneMode.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# Airplane Mode. Turning on or off all wifi using rfkill. - -notif="$HOME/.config/swaync/images/bell.png" - -# Check if any wireless device is blocked -wifi_blocked=$(rfkill list wifi | grep -o "Soft blocked: yes") - -if [ -n "$wifi_blocked" ]; then - rfkill unblock wifi - notify-send -u low -i "$notif" 'Airplane mode: OFF' -else - rfkill block wifi - notify-send -u low -i "$notif" 'Airplane mode: ON' -fi diff --git a/config/hypr/scripts/Brightness.sh b/config/hypr/scripts/Brightness.sh index 36345aa9..92c931df 100755 --- a/config/hypr/scripts/Brightness.sh +++ b/config/hypr/scripts/Brightness.sh @@ -1,52 +1,59 @@ #!/bin/bash -# Script for Monitor backlights (if supported) using brightnessctl + +# Script for keyboard backlights (if supported) & screen using brightnessctl iDIR="$HOME/.config/swaync/icons" notification_timeout=1000 -# Get brightness get_backlight() { - echo $(brightnessctl -m | cut -d, -f4) + echo $(brightnessctl -m | cut -d, -f4) +} + +get_kbd_backlight() { + brightnessctl -d '*::kbd_backlight' -m | cut -d, -f4 | tr -d '%' } -# Get icons get_icon() { - current=$(get_backlight | sed 's/%//') - if [ "$current" -le "20" ]; then - icon="$iDIR/brightness-20.png" - elif [ "$current" -le "40" ]; then - icon="$iDIR/brightness-40.png" - elif [ "$current" -le "60" ]; then - icon="$iDIR/brightness-60.png" - elif [ "$current" -le "80" ]; then - icon="$iDIR/brightness-80.png" - else - icon="$iDIR/brightness-100.png" - fi + current=$(get_backlight | sed 's/%//') + [ "$current" -le "20" ] && icon="$iDIR/brightness-20.png" || + [ "$current" -le "40" ] && icon="$iDIR/brightness-40.png" || + [ "$current" -le "60" ] && icon="$iDIR/brightness-60.png" || + [ "$current" -le "80" ] && icon="$iDIR/brightness-80.png" || + icon="$iDIR/brightness-100.png" } -# Notify notify_user() { - notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness : $current%" + notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness: $current%" } -# Change brightness change_backlight() { - brightnessctl set "$1" && get_icon && notify_user + brightnessctl set "$1" && get_icon && notify_user +} + +change_kbd_backlight() { + brightnessctl -d '*::kbd_backlight' set "$1" && get_icon && notify_user } -# Execute accordingly case "$1" in - "--get") - get_backlight - ;; - "--inc") - change_backlight "+10%" - ;; - "--dec") - change_backlight "10%-" - ;; - *) - get_backlight - ;; + "--get") + get_backlight + ;; + "--inc") + change_backlight "+10%" + ;; + "--dec") + change_backlight "10%-" + ;; + "--get-kbd") + get_kbd_backlight + ;; + "--inc-kbd") + change_kbd_backlight "+30%" + ;; + "--dec-kbd") + change_kbd_backlight "30%-" + ;; + *) + get_backlight + ;; esac diff --git a/config/hypr/scripts/BrightnessKbd.sh b/config/hypr/scripts/BrightnessKbd.sh deleted file mode 100755 index 43caa5cb..00000000 --- a/config/hypr/scripts/BrightnessKbd.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -# Script for keyboard backlights (if supported) using b - -iDIR="$HOME/.config/swaync/icons" - -# Get keyboard brightness -get_kbd_backlight() { - echo $(brightnessctl -d '*::kbd_backlight' -m | cut -d, -f4) -} - -# Get icons -get_icon() { - current=$(get_kbd_backlight | sed 's/%//') - if [ "$current" -le "20" ]; then - icon="$iDIR/brightness-20.png" - elif [ "$current" -le "40" ]; then - icon="$iDIR/brightness-40.png" - elif [ "$current" -le "60" ]; then - icon="$iDIR/brightness-60.png" - elif [ "$current" -le "80" ]; then - icon="$iDIR/brightness-80.png" - else - icon="$iDIR/brightness-100.png" - fi -} -# Notify -notify_user() { - notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard Brightness : $current%" -} - -# Change brightness -change_kbd_backlight() { - brightnessctl -d *::kbd_backlight set "$1" && get_icon && notify_user -} - -# Execute accordingly -case "$1" in - "--get") - get_kbd_backlight - ;; - "--inc") - change_kbd_backlight "+30%" - ;; - "--dec") - change_kbd_backlight "30%-" - ;; - *) - get_kbd_backlight - ;; -esac diff --git a/config/hypr/scripts/Caway.sh b/config/hypr/scripts/Caway.sh index 05d26742..fa74ea91 100755 --- a/config/hypr/scripts/Caway.sh +++ b/config/hypr/scripts/Caway.sh @@ -3,9 +3,9 @@ # Nuke all internal spawns when script dies trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM -BARS=8 -FRAMERATE=60 -EQUILIZER=1 +BARS=8; +FRAMERATE=60; +EQUILIZER=1; # Get script options while getopts 'b:f:m:eh' flag; do @@ -31,7 +31,8 @@ dict="s/;//g;" # creating "dictionary" to replace char with bar + thin space " " i=0 -while [ $i -lt ${#bar} ]; do +while [ $i -lt ${#bar} ] +do dict="${dict}s/$i/${bar:$i:1} /g;" i=$((i=i+1)) done @@ -40,17 +41,17 @@ done dict="${dict}s/.$//;" clean_create_pipe() { - if [ -p "$1" ]; then - unlink "$1" + if [ -p $1 ]; then + unlink $1 fi - mkfifo "$1" + mkfifo $1 } kill_pid_file() { - if [[ -f "$1" ]]; then - while read -r pid; do - kill "$pid" && wait "$pid" 2>/dev/null - done < "$1" + if [[ -f $1 ]]; then + while read pid; do + { kill "$pid" && wait "$pid"; } 2>/dev/null + done < $1 fi } @@ -59,11 +60,11 @@ cava_waybar_pid="/tmp/cava_waybar_pid" # Clean pipe for cava cava_waybar_pipe="/tmp/cava_waybar.fifo" -clean_create_pipe "$cava_waybar_pipe" +clean_create_pipe $cava_waybar_pipe # Custom cava config cava_waybar_config="/tmp/cava_waybar_config" -cat > "$cava_waybar_config" < $cava_waybar_config # Clean pipe for playerctl playerctl_waybar_pipe="/tmp/playerctl_waybar.fifo" -clean_create_pipe "$playerctl_waybar_pipe" +clean_create_pipe $playerctl_waybar_pipe # playerctl output into playerctl_waybar_pipe playerctl -a metadata --format '{"tooltip": "{{playerName}} : {{markup_escape(artist)}} - {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' -F > "$playerctl_waybar_pipe" & @@ -86,35 +87,29 @@ playerctl -a metadata --format '{"tooltip": "{{playerName}} : {{markup_escape(ar # Read the playerctl o/p via its fifo pipe while read -r line; do # Kill the cava process to stop the input to cava_waybar_pipe - kill_pid_file "$cava_waybar_pid" + kill_pid_file $cava_waybar_pid - # Move these outside the loop - cava_cmd="cava -p $cava_waybar_config > $cava_waybar_pipe &" - jq_cmd="jq --arg a \$(echo \$cmd2 | sed \"$dict\") '.text = \$a' --unbuffered --compact-output" - - echo "$line" | eval "$jq_cmd" + echo "$line" | jq --unbuffered --compact-output # If the class says "Playing" and equilizer is enabled # then show the cava equilizer - if [ "$EQUILIZER" == 1 ] && [ "$(echo "$line" | jq -r '.class')" == 'Playing' ]; then + if [[ $EQUILIZER == 1 && $(echo $line | jq -r '.class') == 'Playing' ]]; then + # Show the playing title for 2 seconds + sleep 2 # cava output into cava_waybar_pipe - eval "$cava_cmd" + cava -p $cava_waybar_config >$cava_waybar_pipe & # Save the PID of child process - echo $! > "$cava_waybar_pid" + echo $! > $cava_waybar_pid # Read the cava o/p via its fifo pipe - cava_output() { - while read -r cmd2; do - # Change the "text" key to bars - echo "$line" | eval "$jq_cmd" - done < "$cava_waybar_pipe" & - } - - cava_output & + while read -r cmd2; do + # Change the "text" key to bars + echo "$line" | jq --arg a $(echo $cmd2 | sed "$dict") '.text = $a' --unbuffered --compact-output + done < $cava_waybar_pipe & # Do this fifo read in background # Save the while loop PID into the file as well - echo $! >> "$cava_waybar_pid" + echo $! >> $cava_waybar_pid fi -done < "$playerctl_waybar_pipe" +done < $playerctl_waybar_pipe diff --git a/config/hypr/scripts/ChangeBlur.sh b/config/hypr/scripts/ChangeBlur.sh deleted file mode 100755 index 13f657bd..00000000 --- a/config/hypr/scripts/ChangeBlur.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -## Script for changing blurs on the fly - -notif="$HOME/.config/swaync/images/bell.png" - -STATE=$(hyprctl -j getoption decoration:blur:passes | jq ".int") - -if [ "${STATE}" == "2" ]; then - hyprctl keyword decoration:blur:size 2 - hyprctl keyword decoration:blur:passes 1 - notify-send -e -u low -i "$notif" "Less blur" -else - hyprctl keyword decoration:blur:size 5 - hyprctl keyword decoration:blur:passes 2 - notify-send -e -u low -i "$notif" "Normal blur" -fi diff --git a/config/hypr/scripts/ChangeLayout.sh b/config/hypr/scripts/ChangeLayout.sh deleted file mode 100755 index eaa94db0..00000000 --- a/config/hypr/scripts/ChangeLayout.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# for changing Hyprland Layouts (Master or Dwindle) on the fly - -notif="$HOME/.config/swaync/images/bell.png" - -LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g') - -case $LAYOUT in -"master") - hyprctl keyword general:layout dwindle - hyprctl keyword unbind SUPER,J - hyprctl keyword unbind SUPER,K - hyprctl keyword bind SUPER,J,cyclenext - hyprctl keyword bind SUPER,K,cyclenext,prev - hyprctl keyword bind SUPER,O,togglesplit - notify-send -e -u low -i "$notif" "Dwindle Layout" - ;; -"dwindle") - hyprctl keyword general:layout master - hyprctl keyword unbind SUPER,J - hyprctl keyword unbind SUPER,K - hyprctl keyword unbind SUPER,O - hyprctl keyword bind SUPER,J,layoutmsg,cyclenext - hyprctl keyword bind SUPER,K,layoutmsg,cycleprev - notify-send -e -u low -i "$notif" "Master Layout" - ;; -*) ;; - -esac diff --git a/config/hypr/scripts/ClipManager.sh b/config/hypr/scripts/ClipManager.sh deleted file mode 100755 index 1da94194..00000000 --- a/config/hypr/scripts/ClipManager.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# Clipboard Manager. This script uses cliphist, rofi, and wl-copy. - -# Actions: -# CTRL Del to delete an entry -# ALT Del to wipe clipboard contents - -while true; do - result=$( - rofi -dmenu \ - -kb-custom-1 "Control-Delete" \ - -kb-custom-2 "Alt-Delete" \ - -p "CTRL Del - Cliphist del || Alt Del - cliphist wipe" \ - -config ~/.config/rofi/config-long.rasi < <(cliphist list) - ) - - case "$?" in - 1) - exit - ;; - 0) - case "$result" in - "") - continue - ;; - *) - cliphist decode <<<"$result" | wl-copy - exit - ;; - esac - ;; - 10) - cliphist delete <<<"$result" - ;; - 11) - cliphist wipe - ;; - esac -done diff --git a/config/hypr/scripts/Device_cmd.sh b/config/hypr/scripts/Device_cmd.sh new file mode 100755 index 00000000..86246007 --- /dev/null +++ b/config/hypr/scripts/Device_cmd.sh @@ -0,0 +1,154 @@ +#!/bin/bash + +# Source the configuration file. +CONFIG_FILE=~/.config/hypr/scripts/Ref.sh +source "$CONFIG_FILE" + + +# Toggle touchpad state. (SUPER SHIFT D) +touchpad() { + local status_file="$STATUS_FILE" + local action + + if [[ ! -e "$status_file" ]] || ! $(<"$status_file"); then + echo "true" > "$status_file" + action="enabled" + else + echo "false" > "$status_file" + action="disabled" + fi + + notify-send -u low -i "$notif" "Touchpad $action" + hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" "$(cat "$status_file")" +} + + +# Toggle Wifi +wifi() { + wifi="$(nmcli r wifi | awk 'FNR = 2 {print $1}')" + if [ -n "$wifi" ]; then + rfkill block all & + notify-send -u low -i "$notif" 'Airplane mode: OFF' + else + rfkill unblock all & + notify-send -u low -i "$notif" 'Airplane mode: ON' + fi +} + + +# Reload Waybar, Rofi, Swaync, and Rainbowborder.sh (SHIFT ALT R) +reload() { + file_exists() { + [ -e "$1" ] + } + + processes=("waybar" "rofi" "swaync") + + for process in "${processes[@]}"; do + pid=$(pidof "$process") + if [ -n "$pid" ]; then + pkill "$process" + fi + done + + sleep 0.3 + waybar & + sleep 0.5 + swaync > /dev/null 2>&1 & + sleep 1 + + script_path="${UserSCRIPTSDIR}/RainbowBorders.sh" + if file_exists "$script_path"; then + "$script_path" & + fi +} + + +# LockScreen with swaylock +lockscreen() { + LOCKCONFIG="$HOME/.config/swaylock/config" + sleep 0.5s + swaylock --config ${LOCKCONFIG} & + disown +} + + +# Switch Keyboard Layout (ALT F1) +kb() { + layout_f="$HOME/.keyboard_layout" + settings_file="$HOME/.config/your_settings_file" # Replace with the actual path + notif="path_to_notification_icon" # Replace with the actual path + + if [ ! -f "$layout_f" ]; then + default_layout=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2 | cut -d ',' -f 1 2>/dev/null) + default_layout=${default_layout:-"us"} + echo "$default_layout" > "$layout_f" + fi + + current_layout=$(cat "$layout_f") + + if [ -f "$settings_file" ]; then + kb_layout_line=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2) + IFS=',' read -ra layout_mapping <<< "$kb_layout_line" + else + layout_mapping=() + fi + + layout_count=${#layout_mapping[@]} + + for ((i = 0; i < layout_count; i++)); do + [ "$current_layout" == "${layout_mapping[i]}" ] && current_index=$i && break + done + + next_index=$(( (current_index + 1) % layout_count )) + new_layout="${layout_mapping[next_index]}" + hyprctl keyword input:kb_layout "$new_layout" + echo "$new_layout" > "$layout_f" + notify-send -u low -i "$notif" "Keyboard Layout Changed to $new_layout" +} + +disable_edp1() { + enable_edp1 + sleep 1 + hyprctl keyword monitor eDP-1,disable +} +enable_edp1() { + hyprctl keyword monitor eDP-1,preferred,auto,1 +} + +weather() { + city=kohalpur + cachedir=~/.cache/rbn + cachefile=${0##*/}-$1 + + mkdir -p $cachedir + touch $cachedir/$cachefile + + SAVEIFS=$IFS;IFS=$'\n' + cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile"))) + [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ] && { + data=($(curl -s https://en.wttr.in/"$city"$1\?0qnT 2>&1)) + for i in {1..2}; do echo ${data[$i]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile; done + } + IFS=$SAVEIFS + + weather=($(cat $cachedir/$cachefile)) + temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]]+)\.\./\1 to /g') + + case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in + clear|sunny) condition="" ;; + partly\ cloudy) condition="󰖕" ;; + cloudy) condition="" ;; + overcast) condition="" ;; + fog|freezing\ fog) condition="" ;; + patchy\ rain\ possible|patchy\ light\ drizzle|light\ drizzle|patchy\ light\ rain|light\ rain|light\ rain\ shower|mist|rain) condition="󰼳" ;; + moderate\ rain\ at\ times|moderate\ rain|heavy\ rain\ at\ times|heavy\ rain|moderate\ or\ heavy\ rain\ shower|torrential\ rain\ shower|rain\ shower) condition="" ;; + patchy\ snow\ possible|patchy\ sleet\ possible|patchy\ freezing\ drizzle\ possible|freezing\ drizzle|heavy\ freezing\ drizzle|light\ freezing\ rain|moderate\ or\ heavy\ freezing\ rain|light\ sleet|ice\ pellets|light\ sleet\ showers|moderate\ or\ heavy\ sleet\ showers) condition="󰼴" ;; + blowing\ snow|moderate\ or\ heavy\ sleet|patchy\ light\ snow|light\ snow|light\ snow\ showers) condition="󰙿" ;; + blizzard|patchy\ moderate\ snow|moderate\ snow|patchy\ heavy\ snow|heavy\ snow|moderate\ or\ heavy\ snow\ with\ thunder|moderate\ or\ heavy\ snow\ showers) condition="" ;; + thundery\ outbreaks\ possible|patchy\ light\ rain\ with\ thunder|moderate\ or\ heavy\ rain\ with\ thunder|patchy\ light\ snow\ with\ thunder) condition="" ;; + *) condition="" ;; + esac + + echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}" +} diff --git a/config/hypr/scripts/Finder.sh b/config/hypr/scripts/Finder.sh deleted file mode 100755 index 6efc949e..00000000 --- a/config/hypr/scripts/Finder.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - - -if [ ! -z "$@" ]; then - QUERY=$@ - - # Check if the query starts with "/" - if [[ "$@" == /* ]]; then - if [[ "$@" == *\?\? ]]; then - # If the query ends with "??", open the directory - coproc ( exo-open "${QUERY%\/* \?\?}" > /dev/null 2>&1 ) - exec 1>&- - exit; - else - # Open the file or directory - coproc ( exo-open "$@" > /dev/null 2>&1 ) - exec 1>&- - exit; - fi - elif [[ "$@" == \!\!* ]]; then - # Display help messages - echo "!!-- Type your search query to find files" - echo "!!-- To search again type !" - echo "!!-- To search parent directories type ?" - echo "!!-- You can print this help by typing !!" - elif [[ "$@" == \?* ]]; then - # Display search results for parent directories, including hidden files - echo "!!-- Type another search query" - while read -r line; do - echo "$line" \?\? - done <<< $(find ~ -type d -o -type f -iname *"${QUERY#\?}"* -print) - else - # Display search results for files, including hidden files - echo "!!-- Type another search query" - find ~ -type d -o -type f -iname *"${QUERY#!}"* -print - fi -else - # Display initial help messages - echo "!!-- Type your search query to find files" - echo "!!-- To search again type !" - echo "!!-- To search parent directories type ?" - echo "!!-- You can print this help by typing !!" -fi diff --git a/config/hypr/scripts/MediaCtrl.sh b/config/hypr/scripts/MediaCtrl.sh deleted file mode 100755 index 4cc6e7a9..00000000 --- a/config/hypr/scripts/MediaCtrl.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -#playerctl - -music_icon="$HOME/.config/swaync/icons/music.png" - -# Play the next track -play_next() { - playerctl next - show_music_notification -} - -# Play the previous track -play_previous() { - playerctl previous - show_music_notification -} - -# Toggle play/pause -toggle_play_pause() { - playerctl play-pause - show_music_notification -} - -# Stop playback -stop_playback() { - playerctl stop - notify-send -e -u low -i "$music_icon" "Playback Stopped" -} - -# Display notification with song information -show_music_notification() { - status=$(playerctl status) - if [[ "$status" == "Playing" ]]; then - song_title=$(playerctl metadata title) - song_artist=$(playerctl metadata artist) - notify-send -e -u low -i "$music_icon" "Now Playing:" "$song_title\nby $song_artist" - elif [[ "$status" == "Paused" ]]; then - notify-send -e -u low -i "$music_icon" "Playback Paused" - fi -} - -# Get media control action from command line argument -case "$1" in - "--nxt") - play_next - ;; - "--prv") - play_previous - ;; - "--pause") - toggle_play_pause - ;; - "--stop") - stop_playback - ;; - *) - echo "Usage: $0 [--nxt|--prv|--pause|--stop]" - exit 1 - ;; -esac diff --git a/config/hypr/scripts/MusicControl.sh b/config/hypr/scripts/MusicControl.sh deleted file mode 100755 index c4747fab..00000000 --- a/config/hypr/scripts/MusicControl.sh +++ /dev/null @@ -1,63 +0,0 @@ -#! /usr/bin/env bash - -# Control music using keyboard - - -# M should open the rofi-music menu -# i should increase volume -# u should decrease volume -# n should trigger next track -# p should trigger previous track -# k should pause resume music -# s should stop music - -function open_rofi_music(){ - exec $HOME/.config/hypr/scripts/RofiMusic.sh -} - -function increase_volume(){ - current_volume=$(playerctl --player=mpv volume) - new_volume=$(echo "$current_volume + 0.1" | bc) - playerctl --player=mpv volume $new_volume && notify-send "🔊 Increasing track volume" -} - -function decrease_volume(){ - current_volume=$(playerctl --player=mpv volume) - new_volume=$(echo "$current_volume - 0.1" | bc) - playerctl --player=mpv volume $new_volume && notify-send "🔉 Decreasing track volume" -} - -function next_track(){ - playerctl --player=mpv next && notify-send "⏭️ Next track playing" -} - -function prev_track(){ - playerctl --player=mpv previous && notify-send "⏮️ Previous track playing" -} - -function play_pause(){ - status=$(playerctl --player=mpv status) - if [[ "$status" == "Playing" ]] - then - playerctl --player=mpv pause && notify-send "⏸️ Music paused" - else - playerctl --player=mpv play && notify-send "▶️ Resuming music" - fi -} - -function stop_music(){ - kill $(pidof "rofi-music") && notify-send "🛑 Music stopped" -} - -while getopts midnpks flag -do - case "${flag}" in - m) open_rofi_music ;; - i) increase_volume ;; - d) decrease_volume ;; - s) stop_music ;; - n) next_track ;; - p) prev_track ;; - k) play_pause ;; - esac -done diff --git a/config/hypr/scripts/Music_cmd.sh b/config/hypr/scripts/Music_cmd.sh new file mode 100755 index 00000000..1a272c49 --- /dev/null +++ b/config/hypr/scripts/Music_cmd.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +iDIR="$HOME/.config/swaync/icons" +LOFI_STREAM="https://www.youtube.com/watch?v=jfKfPfyJRdk" +NEPALI_OLD_SONG="https://youtube.com/playlist?list=PLXuVG9D9JQ8RAhpH2TyISgBgEmXONIhGY&si=SLyxb2vxaE0XuXsz" +BOLLYWOOD_LOVE_SONG="https://youtube.com/playlist?list=PL9bw4S5ePsEEqCMJSiYZ-KTtEjzVy0YvK&si=J0gPvKL4R4fIlPz9" +TOP_50_BOLLYWOOD="https://youtube.com/playlist?list=PLHuHXHyLu7BEnMJNeVvkXpxapvDSp5UdI&si=-TBeeNJ28NqVcnKu" +BHAJAN="https://youtube.com/playlist?list=PLwIh-QEhrDJDM8IF3gLUgnEyZm6dBgr_n&si=_RDHngYobHlcxaJW" + +play=" Play music" +pause=" Pause music" +stop=" Stop music" +next_track=" Next track" +prev_track=" Previous track" +increase_volume="󰝝 Increase volume" +decrease_volume="󰝞 Decrease volume" + +play_bhajan="󰥳 Play Bhajan" +play_lofi=" Play lofi girl" +play_old_nepali="1.  Play Nepali Old Song" +play_bollywood_love="2.  Play BollyWood Love" +play_TOP_50_BOLLYWOOD="3.  Play Top 50 BollyWood" + +notify() { notify-send -u normal -i "$iDIR/music.png" "$1"; } + +music() { + if pgrep -x "mpv" > /dev/null; then + controls + else + local chosen=$(printf "%s\n%s\n%s\n%s\n" "$play_bhajan" "$play_lofi" "$play_old_nepali" "$play_bollywood_love" "$play_TOP_50_BOLLYWOOD" | rofi -dmenu -i -l 5 -p "Music Time:" -config ~/.config/rofi/config.rasi) + + case "$chosen" in + "$play_bhajan") notify "Playing Bhajan"; exec -a "rofi-music" mpv --no-video "$BHAJAN" --shuffle --no-resume-playback ;; + "$play_lofi") notify "🎹 Playing lofi girl"; exec -a "rofi-music" mpv --no-video "$LOFI_STREAM" --no-resume-playback ;; + "$play_old_nepali") notify "🎹 Playing nepali old song"; exec -a "rofi-music" mpv --no-video "$NEPALI_OLD_SONG" --shuffle --no-resume-playback ;; + "$play_bollywood_love") notify "🎹 Playing bollywood love"; exec -a "rofi-music" mpv --no-video "$BOLLYWOOD_LOVE_SONG" --shuffle --no-resume-playback ;; + "$play_TOP_50_BOLLYWOOD") notify "🎹 Playing top 50 bollywood"; exec -a "rofi-music" mpv --no-video "$TOP_50_BOLLYWOOD" --shuffle --no-resume-playback ;; + esac + fi +} + +controls() { + local chosen=$(printf "%s\n%s\n%s\n%s\n%s\n%s\n%s\n" "$play" "$pause" "$stop" "$next_track" "$prev_track" "$increase_volume" "$decrease_volume" | rofi -dmenu -i -l 7 -p "Music Controls:" -config ~/.config/rofi/config.rasi) + + case "$chosen" in + "$play") playerctl --player=mpv play && notify-send -u normal -i "$1" "▶️ Resuming music" ;; + "$pause") playerctl --player=mpv pause && notify-send -u normal -i "$1" "⏸️ Music paused" ;; + "$stop") kill $(pidof "rofi-music") && notify-send -u normal -i "$1" "🛑 Music stopped" ;; + "$next_track") playerctl --player=mpv next && notify-send -u normal -i "$1" "⏭️ Next track playing" ;; + "$prev_track") playerctl --player=mpv previous && notify-send -u normal -i "$1" "⏮️ Previous track playing" ;; + "$increase_volume") adjust_volume 0.1 "🔊 Increasing track volume" ;; + "$decrease_volume") adjust_volume -0.1 "🔉 Decreasing track volume" ;; + esac +} + +adjust_volume() { + current_volume=$(playerctl --player=mpv volume) + new_volume=$(echo "$current_volume + $1" | bc) + playerctl --player=mpv volume "$new_volume" + notify-send -u normal -i "$iDIR/music.png" "$2" +} + +while getopts midnpks flag; do + case "${flag}" in + m) music ;; + i) adjust_volume 0.1 "🔊 Increasing track volume" ;; + d) adjust_volume -0.1 "🔉 Decreasing track volume" ;; + s) kill $(pidof "rofi-music") && notify-send "🛑 Music stopped" ;; + n) playerctl --player=mpv next && notify-send "⏭️ Next track playing" ;; + p) playerctl --player=mpv previous && notify-send "⏮️ Previous track playing" ;; + k) play_pause ;; + esac +done diff --git a/config/hypr/scripts/Ref.sh b/config/hypr/scripts/Ref.sh new file mode 100755 index 00000000..7f621d8a --- /dev/null +++ b/config/hypr/scripts/Ref.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# For TouchPad +HYPRLAND_DEVICE="dll07a7:01-044e:120b" +DIR=$HOME/.cache +STATUS_FILE="$DIR/touchpad.status" + +# For Notification icon +notif="$HOME/.config/swaync/images/bell.png" + +# Scripts DIR +SCRIPTSDIR="$HOME/.config/hypr/scripts" +UserSCRIPTSDIR="$HOME/.config/hypr/UserScripts" +linker="$SCRIPTSDIR/Linker.sh" + + +# For Tmux Sessions +ADD=" Add new session" +DELETE="󰆴 Delete a session" +QUIT="󰗼 Quit" + + +# For Random Wallpaper +wallDIR="$HOME/Pictures/wallpapers" +FPS=60 +TYPE="random" +DURATION=1 +BEZIER=".43,1.19,1,.4" +SWWW_PARAMS="--transition-fps ${FPS} --transition-type ${TYPE} --transition-duration ${DURATION} --transition-bezier ${BEZIER}" + +# For Select Wallpaper +FPS1=30 +TYPE1="wipe" +DURATION1=1 +BEZIER1=".43,1.19,1,.4" +SWWW_PARAMS1="--transition-fps $FPS1 --transition-type $TYPE1 --transition-duration $DURATION1" + + +# For Keyboard Layout Switcher +layout_f="$HOME/.cache/kb_layout" +settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf" + + +# For Quickedit +configs="$HOME/.config/hypr/configs" +UserConfigs="$HOME/.config/hypr/UserConfigs" + + +# For TODO +file="$HOME/Documents/Notes/.rofi_todo" +touch "$file" +prompt="Add/delete a task: " +height=$(wc -l "$file" | awk '{print $1}') + + +# For Waybar Layout +config_dir="$HOME/.config/waybar/configs" +waybar_config="$HOME/.config/waybar/config" +CMD="$SCRIPTSDIR/RunCMD.sh reload" + + +# For Note +NOTES_AUTHOR="$(whoami)" +NOTES_FOLDER="$HOME/Documents/Notes" +NOTES_EDITOR="kitty nvim" + +# Misc +lock="$SCRIPTSDIR/device_cmd.sh lockscreen" + + +# Wallpaper Downloader +CATEGORIES=100 +FILTER=100 +RESOLUTION=1920x1080 +ATLEAST=1920x1080 +ASPECTRATIO=16x9 +TOPRANGE=1y +ORDER=desc +COLLECTION="Default" +COLOR="" +PARALLEL=1 +THUMBS=24 +LOCATION=$HOME/Pictures/Wallpapers +APIKEY="u4YNdj6N0M7nkrM2Pbz7fHAY0EYIT5WL" + diff --git a/config/hypr/scripts/Refresh.sh b/config/hypr/scripts/Refresh.sh deleted file mode 100755 index e5d4c75d..00000000 --- a/config/hypr/scripts/Refresh.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# Scripts for refreshing waybar, rofi, swaync - -SCRIPTSDIR=$HOME/.config/hypr/scripts -UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts - -# Define file_exists function -file_exists() { - if [ -e "$1" ]; then - return 0 # File exists - else - return 1 # File does not exist - fi -} - -# Kill already running processes -_ps=(waybar rofi swaync) -for _prs in "${_ps[@]}"; do - if pidof "${_prs}" >/dev/null; then - pkill "${_prs}" - fi -done - -sleep 0.3 -# Relaunch waybar -waybar & - -# relaunch swaync -sleep 0.5 -swaync > /dev/null 2>&1 & - -# Relaunching rainbow borders if the script exists -sleep 1 -if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then - ${UserSCRIPTSDIR}/RainbowBorders.sh & -fi - - -exit 0 diff --git a/config/hypr/scripts/RofiCalc.sh b/config/hypr/scripts/RofiCalc.sh deleted file mode 100755 index b1c28187..00000000 --- a/config/hypr/scripts/RofiCalc.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash - -# A rofi mode script that allows calculations to be done -# by Adnan Shameem (adnan360). License: MIT (Expat) -# -# Usage: -# - Download this into a dir -# - Make sure it's executable: chmod +x rofi-calc.sh -# - Make sure you have at least one of these: -# - bc -# - python (v2 or v3) -# - bcalc (curl -LO https://github.com/Phate6660/bcalc/blob/master/bcalc && chmod +x bcalc) -# - Run: rofi -modi "calc:./rofi-calc.sh" -show calc -# or, use this to have both run and calc options: rofi -combi-modi "calc:./rofi-calc.sh",run -show combi -# - Enter expressions like "2+2", "15-5", "10*2", "3^2" to get results - -# Handle input -# Important! It has to be before anything else is done in the script. -# Otherwise it will keep reopening the menu indefinitely! -if [ ! -z "$@" ]; then - # To strip spaces - input=$(echo "$@" | sed 's/[[:space:]]*//g') - # If input has numbers and symbols, process it - if grep -q '+\|-[[:digit:]]\|\*\|\/\|\^' <<<"$input"; then - if [ ! -z "$(command -v bc)" ]; then # has bc package on system - # If there is an equal sign (=) at the end, get rid of it. - input=$(echo "$input" | sed 's/\=//g') - # Show the result in a notification. - echo "$input = "$( echo $input | bc ) - elif [ ! -z "$(command -v python)" ]; then # has python package on system - # If there is an equal sign (=) at the end, get rid of it. - # Replace "^" with "**" so that it can calculate powers. - input=$(echo "$input" | sed 's/\=//g;s/\^/**/g') - # Show the result in a notification. - # The "float(1)*" part is so that Python 2 returns decimal places. - echo "$input = "$( python -c "print( float(1)*$input )" ) - elif [ -f "$(dirname $0)/bcalc" ]; then # has bcalc - # If there is an equal sign (=) at the end, get rid of it. - input=$(echo "$input" | sed 's/\=//g') - echo "$input = "$($(dirname $0)/bcalc "$input") - else - echo 'Error: No calculation utility found.' - echo 'Please install bc, python or bcalc.' - fi - fi - exit 0 -fi - -# Change prompt -echo -en "\0prompt\x1fcalc\n" diff --git a/config/hypr/scripts/RofiNotes.sh b/config/hypr/scripts/RofiNotes.sh deleted file mode 100755 index 754cb626..00000000 --- a/config/hypr/scripts/RofiNotes.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/bash - -# <<--------- Settings --------->> # - -# Set the directory where the notes are stored -NOTES_DIR="$HOME/Documents/Notes" -# Set the editor to use -EDITOR=nvim -TERMINAL=kitty - -# <<--------- Choosing Templates --------->> # -Basic() { - - notify-send "Basic Document Created!" - cp $NOTES_DIR/Templates/SimpleNote.md $NOTES_DIR/"$cn_name".$EXTENSION - $TERMINAL -e $EDITOR $NOTES_DIR/"$cn_name".$EXTENSION -} - -LaTeX() { - - notify-send "LaTeX Document Created!" - cp $NOTES_DIR/Templates/LaTeX.tex $NOTES_DIR/"$cn_name".$EXTENSION - $TERMINAL -e $EDITOR $NOTES_DIR/"$cn_name".$EXTENSION -} - -Beamer() { - - notify-send "Beamer Presentation Created!" - cp $NOTES_DIR/Templates/Presentation.tex $NOTES_DIR/"$cn_name".$EXTENSION - $TERMINAL -e $EDITOR $NOTES_DIR/"$cn_name".$EXTENSION -} - -RMark() { - - notify-send "R Markdown Document Created!" - cp $NOTES_DIR/Templates/RMarkdown.rmd $NOTES_DIR/"$cn_name".$EXTENSION - $TERMINAL -e $EDITOR $NOTES_DIR/"$cn_name".$EXTENSION -} - -template() { - - tm_chosen=$(cat $HOME/Documents/Notes/Templates/temp_options.md | rofi -dmenu -i -p "Choose Template") - - if [ "$tm_chosen" = "Basic" ]; then - EXTENSION="md" - check - Basic - elif [ "$tm_chosen" = "LaTeX" ]; then - EXTENSION="tex" - check - LaTeX - elif [ "$tm_chosen" = "RMark" ]; then - EXTENSION="rmd" - check - RMark - elif [ "$tm_chosen" = "Beamer" ]; then - EXTENSION="tex" - check - Beamer - else - exit 0 - fi -} - -check() { - - if [ -f $NOTES_DIR/"$cn_name".$EXTENSION ]; then - cn_exist=$(rofi -dmenu -i -p "Note already exists! Do you want to overwrite it?") - if [ "$cn_exist" = "y" ]; then - notify-send "New Note Created!" && $TERMINAL -e $EDITOR $NOTES_DIR/"$cn_name".$EXTENSION - exit 0 - elif [ "$cn_exist" = "n" ]; then - create_note - else - exit 0 - fi - fi -} - -create_note() { - - cn_name=$(rofi -dmenu -i -p "Enter the note name") - if [ -z "$cn_name" ]; then - exit 0 - else - template - fi -} - -view_note() { - - selected=$(find $NOTES_DIR -type f -name "*" | rofi -dmenu -i -p "Open") - if [ -z "$selected" ]; then - exit 0 - else - $TERMINAL -e $EDITOR $selected - fi -} - -delete_note() { - - selected=$(find $NOTES_DIR -type f -name "*" | rofi -dmenu -i -p "Delete") - rm $selected - -} - -main() { - - # Check if the note directory exists - if [ ! -d $NOTES_DIR ]; then - mk_chosen=$(rofi -dmenu -i -p "Notes directory not found! Do you want to create it?") - if [ "$mk_chosen" = "y" ]; then - mkdir $NOTES_DIR - elif [ "$mk_chosen" = "n" ]; then - exit 0 - fi - fi - - main_chosen=$(cat $HOME/Documents/Notes/Templates/main_options.md | rofi -dmenu -i -p "Choose an option") - if [ -z "$main_chosen" ]; then - exit 0 - else - if [ "$main_chosen" = "Create a new note" ]; then - create_note - elif [ "$main_chosen" = "View notes" ]; then - view_note - elif [ "$main_chosen" = "Delete a note" ]; then - delete_note - fi - fi -} - -main diff --git a/config/hypr/scripts/RofiPower.sh b/config/hypr/scripts/RofiPower.sh deleted file mode 100755 index 1d48a3a3..00000000 --- a/config/hypr/scripts/RofiPower.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -# Powermenu using rofi (Power, Screen Lock, Suspend, etc) - -# CMDs -uptime_info=$(uptime -p | sed -e 's/up //g') -host=$(hostnamectl hostname) - -# Options with Icons and Text -options=("Lock(l)" "Suspend(u)" "Logout(e)" "Reboot(r)" "Shutdown(s)" "Hibernate(h)") -icons=("" "" "󰿅" "󱄌" "" "󰒲") - -# Rofi CMD -rofi_cmd() { - options_with_icons=() - for ((i = 0; i < ${#options[@]}; i++)); do - options_with_icons+=("${icons[$i]} ${options[$i]}") - done - - chosen_option=$(printf "%s\n" "${options_with_icons[@]}" | \ - rofi -dmenu -i -p " $USER@$host" -mesg " Uptime: $uptime_info" \ - -kb-select-1 "l" \ - -kb-select-2 "u" \ - -kb-select-3 "e" \ - -kb-select-4 "r" \ - -kb-select-5 "s" \ - -kb-select-6 "h" \ - -theme ~/.config/rofi/config-powermenu.rasi | awk '{print $1}') - echo "$chosen_option" -} - -# Execute Command -run_cmd() { - case $1 in - "") - swaylock & - ;; - "") - swaylock -f && systemctl suspend - ;; - "󰿅") - hyprctl dispatch exit 0 - ;; - "󱄌") - systemctl reboot - ;; - "") - systemctl poweroff - ;; - "󰒲") - swaylock -f && systemctl hibernate - ;; - *) - echo "choose: $1" - ;; - esac -} - -# Actions -chosen_option=$(rofi_cmd) -run_cmd "${chosen_option% *}" diff --git a/config/hypr/scripts/RofiTmuxSesions.sh b/config/hypr/scripts/RofiTmuxSesions.sh deleted file mode 100755 index 32127bba..00000000 --- a/config/hypr/scripts/RofiTmuxSesions.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -function tmux_sessions() { - tmux list-sessions | sed 's/: /| /' | column -t -s'|' -o' | ' -} - -ROFI_THEME="$HOME/.config/rofi/config.rasi" -ADD=" Add new session" -DELETE="󰆴 Delete a session" -QUIT="󰗼 Quit" - -TMUX_SESSION=$( - (printf "%s\n" "$ADD" "$DELETE" "$QUIT"; tmux_sessions) | - rofi -theme "$ROFI_THEME" -dmenu -p "  Tmux" -no-show-icons -) - -if [[ "$ADD" = "$TMUX_SESSION" ]]; then - kitty -e tmux new-session & -elif [[ "$DELETE" = "$TMUX_SESSION" ]]; then - SESSION_TO_DELETE=$(tmux_sessions | rofi -dmenu -p "Select session to delete" | awk '{print $1}') - [ -n "$SESSION_TO_DELETE" ] && tmux kill-session -t "$SESSION_TO_DELETE" -elif [[ "$QUIT" = "$TMUX_SESSION" ]]; then - exit -elif [[ -n "$TMUX_SESSION" ]]; then - SESSION=$(echo "$TMUX_SESSION" | cut -d\ -f1) - kitty -e tmux attach -t "$SESSION" & -fi diff --git a/config/hypr/scripts/RofiTodo.sh b/config/hypr/scripts/RofiTodo.sh deleted file mode 100755 index c7de6ee1..00000000 --- a/config/hypr/scripts/RofiTodo.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash -# Set default todo file -if [ -z ${TODO_FILE+x} ]; then - TODO_FILE=~/.rofi_todos -fi - -if [[ ! -a "${TODO_FILE}" ]]; then - touch "${TODO_FILE}" -fi - -function add_todo() { - echo -e "`date +"%B %d %H:%M"` $*" >> "${TODO_FILE}" -} - -function remove_todo() { - if [[ ! -z "$DONE_FILE" ]]; then - echo "${*}" >> "${DONE_FILE}" - fi - sed -i "/^${*}$/d" "${TODO_FILE}" -} - -function get_todos() { - echo "$(cat "${TODO_FILE}")" -} - -if [ -z "$@" ]; then - get_todos -else - LINE=$(echo "${@}" | sed "s/\([^a-zA-Z0-9]\)/\\\\\\1/g") - LINE_UNESCAPED=${@} - if [[ $LINE_UNESCAPED == +* ]]; then - LINE_UNESCAPED=$(echo $LINE_UNESCAPED | sed s/^+//g |sed s/^\s+//g ) - add_todo ${LINE_UNESCAPED} - else - MATCHING=$(grep "^${LINE_UNESCAPED}$" "${TODO_FILE}") - if [[ -n "${MATCHING}" ]]; then - remove_todo ${LINE_UNESCAPED} - fi - fi - get_todos -fi diff --git a/config/hypr/scripts/Rofi_cmd.sh b/config/hypr/scripts/Rofi_cmd.sh new file mode 100755 index 00000000..bc995aaa --- /dev/null +++ b/config/hypr/scripts/Rofi_cmd.sh @@ -0,0 +1,228 @@ +#!/usr/bin/env bash + + +# Source the configuration file. +CONFIG_FILE=~/.config/hypr/scripts/Ref.sh +source "$CONFIG_FILE" + + +# Todo List (SHIFT ALT T) +todo() { + while cmd=$(rofi -dmenu -p "$prompt" -lines "$height" "$@" < "$file"); [ -n "$cmd" ]; do + if grep -q "^$cmd\$" "$file"; then + grep -v "^$cmd\$" "$file" > "$file.$$" + mv "$file.$$" "$file" + ((height--)) + else + echo "$cmd" >> "$file" + ((height++)) + fi + done + exit 0 +} + + +# Function For Calculator (ALT C) +calc() { + roficmd="rofi -dmenu -p Calc $@" + + while true; do + result=$(xsel -o -b | $roficmd | xargs echo | bc -l 2>&1) + + if [[ $result ]]; then + printf "$result" | xsel -b + else + break + fi + done +} + + +# Funtion for Tmux Sessions (ALT t) +tmux(){ +tmux_sessions() { + tmux list-sessions | sed 's/: /| /' | column -t -s'|' -o' | ' +} +add_session() { + kitty -e tmux new-session +} +delete_session() { + SESSION_TO_DELETE=$(tmux_sessions | rofi -dmenu -p "Select session to delete" | awk '{print $1}') + [ -n "$SESSION_TO_DELETE" ] && tmux kill-session -t "$SESSION_TO_DELETE" +} +main() { + if pgrep -x rofi > /dev/null; then + echo "" + exit + fi + TMUX_SESSION=$( + (printf "%s\n" "$ADD" "$DELETE" "$QUIT"; tmux_sessions) | + rofi -dmenu -p " Tmux" -no-show-icons + ) + case "$TMUX_SESSION" in + "$ADD") add_session ;; + "$DELETE") delete_session ;; + "$QUIT") exit ;; + *) + if [ -n "$TMUX_SESSION" ]; then + SESSION=$(echo "$TMUX_SESSION" | cut -d\ -f1) + kitty -e tmux attach -t "$SESSION" + fi + ;; + esac +} +main +} + + +# Take note (ALT B) +note() { + [ ! -d "$NOTES_FOLDER" ] && mkdir -p "$NOTES_FOLDER" +} +get_notes() { + ls "$NOTES_FOLDER" +} +edit_note() { + $NOTES_EDITOR "$1" +} +delete_note() { + note=$1 + action=$(echo -e "Yes\nNo" | rofi -dmenu -p "Delete $note? ") + + case $action in + "Yes") + rm "$NOTES_FOLDER/$note" + main ;; + "No") + main ;; + esac +} +note_context() { + note=$1 + note_location="$NOTES_FOLDER/$note" + action=$(echo -e "Edit\nDelete" | rofi -dmenu -p "$note > ") + + case $action in + "Edit") edit_note "$note_location"; exit 0 ;; + "Delete") delete_note "$note"; exit 0 ;; + esac + + exit 1 +} +new_note() { + title=$(echo -e "Cancel" | rofi -dmenu -p "Input title: ") + + case "$title" in + "Cancel") main ;; + *) + file=$(echo "$title" | sed 's/ /_/g;s/\(.*\)/\L\1/g') + template="---\ntitle: $title\ndate: $(date --rfc-3339=seconds)\nauthor: $NOTES_AUTHOR\n---\n" + note_location="$NOTES_FOLDER/$file.md" + + [ "$title" != "" ] && echo -e "$template" > "$note_location" | edit_note "$note_location" + exit 0 + ;; + esac +} +main() { + all_notes="$(get_notes)" + first_menu="New Note" + + [ "$all_notes" ] && first_menu="New Note\n$all_notes" + + note=$(echo -e "$first_menu" | rofi -dmenu -i -p "Note: ") + + case $note in + "New Note") new_note ;; + "") exit 1 ;; + *) note_context "$note" & ;; + esac + exit 1 +main +} + + +# Clipboard Manager. This script uses cliphist, rofi, and wl-copy. (SHIFT ALT C) +clip() { + while true; do + result=$(rofi -dmenu -kb-custom-1 "Control-Delete" -kb-custom-2 "Alt-Delete" -p "CTRL Del - Cliphist del || Alt Del - cliphist wipe" -config ~/.config/rofi/config-long.rasi < <(cliphist list)) + + case "$?" in + 1) exit ;; + 0) [ -n "$result" ] && cliphist decode <<<"$result" | wl-copy; exit ;; + 10) cliphist delete <<<"$result" ;; + 11) cliphist wipe ;; + esac + done +} + + +# Rofi menu for Quick Edit / View of Settings (SUPER E) +edit() { + menu() { + options=("Env-variables" "Window-Rules" "Startup_Apps" "User-Keybinds" "Monitors" "Laptop-Keybinds" "User-Settings" "Default-Settings" "Default-Keybinds") + for ((i = 0; i < ${#options[@]}; i++)); do + printf "%d. view %s\n" "$((i + 1))" "${options[i]}" + done + } + main() { + options=("ENVariables.conf" "WindowRules.conf" "Startup_Apps.conf" "UserKeybinds.conf" "Monitors.conf" "Laptops.conf" "UserSettings.conf" "Settings.conf" "Keybinds.conf") + choice=$(menu | rofi -dmenu -i -l 9 -p " View / Edit Hyprland Configs:" | cut -d. -f1) + [[ $choice =~ ^[1-9]$ ]] && kitty -e nano "$UserConfigs/${options[choice - 1]}" + } + main +} + + +# Powermenu (SUPER X) +powermenu() { + uptime_info=$(uptime -p | sed -e 's/up //g') + host=$(hostnamectl hostname) + options=("Lock(l)" "Suspend(u)" "Logout(e)" "Reboot(r)" "Shutdown(s)" "Hibernate(h)") + icons=("" "" "󰿅" "󱄌" "" "󰒲") + + chosen_option=$(printf "%s\n" "${options[@]}" | \ + rofi -dmenu -i -p " $USER@$host" -mesg " Uptime: $uptime_info" \ + -kb-select-1 "l" \ + -kb-select-2 "u" \ + -kb-select-3 "e" \ + -kb-select-4 "r" \ + -kb-select-5 "s" \ + -kb-select-6 "h" \ + -theme ~/.config/rofi/config-powermenu.rasi | awk '{print $1}') + + case $chosen_option in + "Lock(l)") swaylock & ;; + "Suspend(u)") swaylock -f && systemctl suspend ;; + "Logout(e)") hyprctl dispatch exit 0 ;; + "Reboot(r)") systemctl reboot ;; + "Shutdown(s)") systemctl poweroff ;; + "Hibernate(h)") swaylock -f && systemctl hibernate ;; + *) echo "choose: $chosen_option" ;; + esac +} + +# Keybinds (SUPER F1 ) +keybind() { +CONFIG=$(rofi -show file-browser-extended -file-browser-stdout -file-browser-dir "$HOME"/.config/keyb/bindings -config ~/.config/rofi/config-long.rasi) + +hyprctl dispatch exec "[float;size 45% 80%;center 1] kitty keyb -k '$CONFIG'" +} + +# Emoji (ALT SLASH) +emoji() { + emojis_file="$HOME/.config/hypr/scripts/emoji.txt" + + show_emoji_menu() { + awk '{print $1, substr($0, index($0,$2))}' "$emojis_file" | rofi -dmenu -p "🔎 Search" -config ~/.config/rofi/config-long.rasi + } + + emojis=$(awk '{print $1}' "$emojis_file" | tr '\n' ' ') + selected_emoji=$(show_emoji_menu) + + if [ -n "$selected_emoji" ]; then + emoji=$(grep "$selected_emoji" "$emojis_file" | awk '{print $1}') + echo -n "$emoji" | wl-copy + fi +} + diff --git a/config/hypr/scripts/RunCMD.sh b/config/hypr/scripts/RunCMD.sh new file mode 100755 index 00000000..b6446f0d --- /dev/null +++ b/config/hypr/scripts/RunCMD.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +source ~/.config/hypr/scripts/Ui_cmd.sh +source ~/.config/hypr/scripts/Device_cmd.sh +source ~/.config/hypr/scripts/Rofi_cmd.sh +source ~/.config/hypr/scripts/Music_cmd.sh + +help() { + declare -F +} +if [[ ! -z "$1" ]]; then + $1 "${@:2}" +fi diff --git a/config/hypr/scripts/ScreenShot.sh b/config/hypr/scripts/ScreenShot.sh index 5c7dd703..7428e412 100755 --- a/config/hypr/scripts/ScreenShot.sh +++ b/config/hypr/scripts/ScreenShot.sh @@ -1,108 +1,46 @@ #!/bin/bash -# Screenshots scripts - iDIR="$HOME/.config/swaync/icons" notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png" - time=$(date "+%d-%b_%H-%M-%S") dir="$(xdg-user-dir)/Pictures/Screenshots" file="Screenshot_${time}_${RANDOM}.png" +active_window_path="${dir}/Screenshot_${time}_$(hyprctl -j activewindow | jq -r '(.class)').png" -active_window_class=$(hyprctl -j activewindow | jq -r '(.class)') -active_window_file="Screenshot_${time}_${active_window_class}.png" -active_window_path="${dir}/${active_window_file}" - -# notify and view screenshot notify_view() { - if [[ "$1" == "active" ]]; then - if [[ -e "${active_window_path}" ]]; then - ${notify_cmd_shot} "Screenshot of '${active_window_class}' Saved." - else - ${notify_cmd_shot} "Screenshot of '${active_window_class}' not Saved" - fi - else - local check_file="$dir/$file" - if [[ -e "$check_file" ]]; then - ${notify_cmd_shot} "Screenshot Saved." - else - ${notify_cmd_shot} "Screenshot NOT Saved." - fi - fi + local msg="Screenshot Saved." + [[ "$1" == "active" && ! -e "${active_window_path}" ]] && msg="Screenshot NOT Saved." + ${notify_cmd_shot} "$msg" } - - -# countdown countdown() { - for sec in $(seq $1 -1 1); do - notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec" - sleep 1 - done + for sec in $(seq $1 -1 1); do + notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec" + sleep 1 + done } -# take shots -shotnow() { - cd ${dir} && grim - | tee "$file" | wl-copy - sleep 2 - notify_view +take_shot() { + cd ${dir} && grim - | tee "$file" | wl-copy + sleep 2 + notify_view "$1" } -shot5() { - countdown '5' - sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy - sleep 1 - notify_view +shotnow() { take_shot; } +shot5() { countdown '5'; sleep 1 && take_shot; } +shot10() { countdown '10'; take_shot; } +shotarea() { cd ${dir} && grim -g "$(slurp)" - | tee "$file" | wl-copy; notify_view; } +shotactive() { hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}" && sleep 1 && notify_view "active"; } -} +[[ ! -d "$dir" ]] && mkdir -p "$dir" -shot10() { - countdown '10' - sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy - notify_view -} - -shotwin() { - w_pos=$(hyprctl activewindow | grep 'at:' | cut -d':' -f2 | tr -d ' ' | tail -n1) - w_size=$(hyprctl activewindow | grep 'size:' | cut -d':' -f2 | tr -d ' ' | tail -n1 | sed s/,/x/g) - cd ${dir} && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy - notify_view -} - -shotarea() { - cd ${dir} && grim -g "$(slurp)" - | tee "$file" | wl-copy - notify_view -} - -shotactive() { - active_window_class=$(hyprctl -j activewindow | jq -r '(.class)') - active_window_file="Screenshot_${time}_${active_window_class}.png" - active_window_path="${dir}/${active_window_file}" - - hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}" - sleep 1 - notify_view "active" -} - - -if [[ ! -d "$dir" ]]; then - mkdir -p "$dir" -fi - -if [[ "$1" == "--now" ]]; then - shotnow -elif [[ "$1" == "--in5" ]]; then - shot5 -elif [[ "$1" == "--in10" ]]; then - shot10 -elif [[ "$1" == "--win" ]]; then - shotwin -elif [[ "$1" == "--area" ]]; then - shotarea -elif [[ "$1" == "--active" ]]; then - shotactive -else - echo -e "Available Options : --now --in5 --in10 --win --area --active" -fi +case "$1" in + --now) shotnow ;; + --in5) shot5 ;; + --in10) shot10 ;; + --area) shotarea ;; + --active) shotactive ;; + *) echo -e "Available Options: --now --in5 --in10 --area --active" +esac exit 0 diff --git a/config/hypr/scripts/SwitchKeyboardLayout.sh b/config/hypr/scripts/SwitchKeyboardLayout.sh deleted file mode 100755 index e9920447..00000000 --- a/config/hypr/scripts/SwitchKeyboardLayout.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -# This is for changing kb_layouts. Set kb_layouts in $settings_file - -layout_f="$HOME/.cache/kb_layout" -settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf" -notif="$HOME/.config/swaync/images/bell.png" - -# Check if ~/.cache/kb_layout exists and create it with a default layout from Settings.conf if not found -if [ ! -f "$layout_f" ]; then - default_layout=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2 | cut -d ',' -f 1 2>/dev/null) - if [ -z "$default_layout" ]; then - default_layout="us" # Default to 'us' layout if Settings.conf or 'kb_layout' is not found - fi - echo "$default_layout" > "$layout_f" -fi - -current_layout=$(cat "$layout_f") - -# Read keyboard layout settings from Settings.conf -if [ -f "$settings_file" ]; then - kb_layout_line=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2) - IFS=',' read -ra layout_mapping <<< "$kb_layout_line" -fi - -layout_count=${#layout_mapping[@]} - -# Find the index of the current layout in the mapping -for ((i = 0; i < layout_count; i++)); do - if [ "$current_layout" == "${layout_mapping[i]}" ]; then - current_index=$i - break - fi -done - -# Calculate the index of the next layout -next_index=$(( (current_index + 1) % layout_count )) -new_layout="${layout_mapping[next_index]}" - -# Update the keyboard layout -hyprctl keyword input:kb_layout "$new_layout" -echo "$new_layout" > "$layout_f" - -# Notification for the new keyboard layout -notify-send -u low -i "$notif" "Keyboad Layout Changed to $new_layout" diff --git a/config/hypr/scripts/ToggleAnimation.sh b/config/hypr/scripts/ToggleAnimation.sh deleted file mode 100755 index 142e1e21..00000000 --- a/config/hypr/scripts/ToggleAnimation.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -notif="$HOME/.config/swaync/images/bell.png" - -# Script to toggle animations in hyprland - -# Function to toggle animations -function toggle_mode() { - status=$(hyprctl getoption animations:enabled -j | jq ".int") - if [[ $status -eq 1 ]]; then - notify-send -e -u low -i "$notif" "All animations off" - hyprctl keyword animations:enabled 0 - swww kill - else - notify-send -e -u normal -i "$notif" "All animations normal" - hyprctl keyword animations:enabled 1 - swww init && swww img "$HOME/.config/hypr/.current_wallpaper" - fi -} - -# Parse options -while getopts t flag; do - case "${flag}" in - t) toggle_mode ;; - esac -done diff --git a/config/hypr/scripts/Ui_cmd.sh b/config/hypr/scripts/Ui_cmd.sh new file mode 100755 index 00000000..aa981075 --- /dev/null +++ b/config/hypr/scripts/Ui_cmd.sh @@ -0,0 +1,174 @@ +#!/bin/bash + +# Source the configuration file. +CONFIG_FILE=~/.config/hypr/scripts/Ref.sh +source "$CONFIG_FILE" + + +# Change blur (SUPER SHIFT Q) +blur (){ + STATE=$(hyprctl -j getoption decoration:blur:passes | jq ".int") + + if [ "${STATE}" == "2" ]; then + hyprctl keyword decoration:blur:size 2 + hyprctl keyword decoration:blur:passes 1 + notify-send -e -u low -i "$notif" "Less blur" + else + hyprctl keyword decoration:blur:size 5 + hyprctl keyword decoration:blur:passes 2 + notify-send -e -u low -i "$notif" "Normal blur" + fi +} + + +rainbowborder() { + function random_hex() { + random_hex=("0xff$(openssl rand -hex 3)") + echo $random_hex +} + +hyprctl keyword general:col.active_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg + +hyprctl keyword general:col.inactive_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg +} + +# Change layout to master & dwindle (SUPER SPACE) +layout() { + LAYOUT=$(hyprctl -j getoption general:layout | jq -r '.str') + + case $LAYOUT in + "master") + hyprctl keyword general:layout dwindle + hyprctl keyword unbind SUPER,J + hyprctl keyword unbind SUPER,K + hyprctl keyword bind SUPER,J,cyclenext + hyprctl keyword bind SUPER,K,cyclenext,prev + hyprctl keyword bind SUPER,O,togglesplit + notify-send -u low -i "$notif" "Dwindle Layout" + ;; + "dwindle") + hyprctl keyword general:layout master + hyprctl keyword unbind SUPER,J + hyprctl keyword unbind SUPER,K + hyprctl keyword unbind SUPER,O + hyprctl keyword bind SUPER,J,layoutmsg,cyclenext + hyprctl keyword bind SUPER,K,layoutmsg,cycleprev + notify-send -u low -i "$notif" "Master Layout" + ;; + *) ;; + esac +} + + +# Script for Random Wallpaper ( SHIFT ALT W) + +randomwall() { + swww query || swww init + PICS=("${wallDIR}"/*.{jpg,jpeg,png,gif}) # Array of image files in wallDIR + + if [[ ${#PICS[@]} -gt 0 ]]; then + RANDOMPICS=${PICS[RANDOM % ${#PICS[@]}]} # Select a random image + swww img "${RANDOMPICS}" ${SWWW_PARAMS} # Set the randomly selected wallpaper + $linker + else + echo "No images found in ${wallDIR}" + fi +} + + +# Change Wallpaper automatically after 30min + +autowall() { + INTERVAL=1800 # This controls (in seconds) when to switch to the next image + + while true; do + find "$wallDIR" -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.gif" \) -print0 \ + | shuf -z -n 1 \ + | xargs -0 -I {} swww img "{}" ${SWWW_PARAMS} && $linker + + sleep $INTERVAL + done +} + + + +# selecting wallpapers (SUPER W) +selectwall() { + build_theme() { + rows="$1" + cols="$1" + icon_size="$3" + echo "element{orientation:vertical;}element-text{horizontal-align:0.5;}element-icon{size:${icon_size}.0000em;}listview{lines:${rows};columns:${cols};}" + } + if [ ! -d "$wallDIR" ]; then + echo "Error: Wallpaper directory not found." >&2 + exit 1 + fi + + images=$(find "$wallDIR" -maxdepth 1 -type f -printf "%f\x00icon\x1f$wallDIR/%f\n" | sort -n) + choice=$(echo -en "$images\nRandom Choice" | rofi -dmenu -i -show-icons -theme-str "$(build_theme 3 5 6)" -config ~/.config/rofi/config-wallpaper.rasi) + + if [ -n "$choice" ]; then + if [ "$choice" = "Random Choice" ]; then + choice=$(find "$wallDIR" -type f -maxdepth 1 -printf "%f\n" | shuf -n1) + fi + wallpaper="$wallDIR/${choice#*icon\x1f}" + swww img $SWWW_PARAMS1 "$wallpaper" && $linker + else + echo "No wallpaper selected. Exiting." + exit 0 + fi +} + +sr() { + if pgrep -x "wf-recorder" > /dev/null; then + pkill -SIGTERM wf-recorder + wait "$(pgrep -o wf-recorder)" || true + notify-send "Screen recording stopped." + else + wf-recorder --force-yuv -c libx264rgb -t -f "$HOME/Videos/sr--$(date +'%I:%M:%S_%p_%d-%m-%Y.mp4')" --audio=alsa_output.pci-0000_03_00.6.analog-stereo.monitor & + disown + notify-send "Screen recording started." + fi +} + +# Waybar Layout (ALT W) +waybarl() { + menu() { + find "$config_dir" -maxdepth 1 -type f -exec basename {} \; | sort + } + apply_config() { + ln -sf "$config_dir/$1" "$waybar_config" + pkill -x waybar && sleep 0.1 + $CMD & + } + main() { + choice=$(menu | rofi -dmenu -p " Choose Waybar Layout") + + [[ -z "$choice" ]] && { echo "No option selected. Exiting."; exit 0; } + + case $choice in + "no panel") pkill -x waybar || true ;; + *) apply_config "$choice" ;; + esac + } + pgrep -x rofi && { pkill rofi; exit 0; } + main +} + +# Toggle animations (SUPER SHIFT A) +gamemode() { + status=$(hyprctl getoption animations:enabled -j | jq ".int") + if [[ $status -eq 1 ]]; then + notify-send -e -u low -i "$notif" "All animations off" + hyprctl keyword animations:enabled 0 + swww kill + else + notify-send -e -u normal -i "$notif" "All animations normal" + hyprctl keyword animations:enabled 1 + swww init && swww img "$HOME/.config/rofi/.current_wallpaper" + fi +} + + + diff --git a/config/hypr/scripts/WaybarLayout.sh b/config/hypr/scripts/WaybarLayout.sh deleted file mode 100755 index 8454eb58..00000000 --- a/config/hypr/scripts/WaybarLayout.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -# Script for waybar layout or configs - -set -euo pipefail -IFS=$'\n\t' - -# Define directories -config_dir="$HOME/.config/waybar/configs" -waybar_config="$HOME/.config/waybar/config" -scripts_dir="$HOME/.config/hypr/scripts" -rofi_config="$HOME/.config/rofi/config.rasi" - -# Function to display menu options -menu() { - options=() - while IFS= read -r file; do - options+=("$(basename "$file")") - done < <(find "$config_dir" -maxdepth 1 -type f -exec basename {} \; | sort) - - printf '%s\n' "${options[@]}" -} - -# Apply selected configuration -apply_config() { - ln -sf "$config_dir/$1" "$waybar_config" - restart_waybar_if_needed -} - -# Restart Waybar -restart_waybar_if_needed() { - if pgrep -x "waybar" >/dev/null; then - pkill waybar - sleep 0.1 # Delay for Waybar to completely terminate - fi - "${scripts_dir}/Refresh.sh" & -} - -# Main function -main() { - choice=$(menu | rofi -dmenu -p " Choose Waybar Layout" -config "$rofi_config") - - if [[ -z "$choice" ]]; then - echo "No option selected. Exiting." - exit 0 - fi - - case $choice in - "no panel") - pgrep -x "waybar" && pkill waybar || true - ;; - *) - apply_config "$choice" - ;; - esac -} - -# Kill Rofi if already running before execution -if pgrep -x "rofi" >/dev/null; then - pkill rofi - exit 0 -fi - -main diff --git a/config/hypr/scripts/Xmenu.sh b/config/hypr/scripts/Xmenu.sh new file mode 100755 index 00000000..7ecad720 --- /dev/null +++ b/config/hypr/scripts/Xmenu.sh @@ -0,0 +1,109 @@ +#!/bin/bash + +# Directory for icons +iDIR="$HOME/.config/swaync/icons" +scriptsDir="$HOME/.config/hypr/scripts" +RunCMD="$scriptsDir/RunCMD.sh" +yes='Yes' +no='No' +# Note: You can add more options below with the following format: +# ["TITLE"]="link" + +# Define menu options as an associative array +declare -A menu_options=( + + + #waybar + ["wbt ToggleWaybar"]="killall -SIGUSR1 waybar" + ["wbl WaybarLayout"]="$RunCMD waybarl" + #hypr + ["hpr Reload hyprland"]="hyprctl reload" + ["cl ChangeLayout"]="$RunCMD layout" + ["rld Reload All"]="$RunCMD reload" + ["gm GameMode"]="$RunCMD gamemode" + ["bl ChangeBlur"]="$RunCMD blur" + ["flt Float all window"]="hyprctl dispatch workspaceopt allfloat" + #wallpaper + ["ws Wallpaper Select"]="$RunCMD selectwall" + ["wc Random Wallpaper"]="$RunCMD randomwall" + #RunCMD + ["; Launcher"]="rofi -show drun -modi drun,filebrowser,run,window -theme $HOME/.config/rofi/launcher.rasi" + ["cb Clipboard"]="$RunCMD clip" + ["rm RunCMDMusic"]="$scriptsDir/Music_cmd.sh -m" + ["emj RunCMDEmoji"]="$RunCMD emoji" + ["cc Calculator"]="$RunCMD calc" + ["td Todo"]="$RunCMD todo" + ["tx Tmux"]="$RunCMD tmux" + ["nt Note"]="$RunCMD note" + ["kb Kebinds"]="$RunCMD keybind" + ["qe Edits"]="$RunCMD edit" + #System + ["QQ Shutdown"]="needConfim "poweroff"" + ["RR Reboot"]="needConfim "reboot"" + ["pm Powermenu"]="$RunCMD powermenu" + ["cn Close Notifactions"]="swaync-client -C" + ["dm0"]="$RunCMD enable_edp1" + ["dm1"]="$RunCMD enable_edp1" + ["tt Touchpad"]="$RunCMD touchpad" + ["tw Wifi"]="$RunCMD wifi" + ["kb Keyboard switcher"]="$RunCMD kb" + #Misc + ["ff Firefox"]="firefox" + ["sr ScreenRecord"]="$RunCMD sr" + ["lg Lazygit"]="kitty lazygit" + ["vi Nvim"]="kitty nvim" + ["yz Yazi"]="kitty yazi" + ["cd Codium"]="codium" +) + +# Function for displaying notifications +notification() { + notify-send -e -u low "$@" +} + +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 250px;}' \ + -theme-str 'mainbox {children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -kb-accept-entry 'Return,space' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' + # -theme ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$no\n$yes" | confirm_cmd +} +needConfim() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + $1 + fi +} +# myt="$(notification number)" +# Main function +main() { + choice=$( + printf "%s\n" "${!menu_options[@]}" | + rofi -dmenu -config ~/.config/rofi/config-long.rasi \ + -p "Rofi" \ + -mesg "Hello" \ + -max-history-size 0 \ + -auto-select + ) + + if [ -z "$choice" ]; then + exit 1 + fi + + link="${menu_options[$choice]}" + $link + # notification "$choice" + # test_cmd +} + +main diff --git a/config/hypr/scripts/RofiEmoji.sh b/config/hypr/scripts/emoji.txt old mode 100755 new mode 100644 similarity index 99% rename from config/hypr/scripts/RofiEmoji.sh rename to config/hypr/scripts/emoji.txt index d530725a..30cca5a8 --- a/config/hypr/scripts/RofiEmoji.sh +++ b/config/hypr/scripts/emoji.txt @@ -1,13 +1,3 @@ -#!/bin/bash - -# Rofi Emoticons. Not my own. Cant remember the source - -sed '1,/^### DATA ###$/d' $0 | -rofi -dmenu -p "🔎 Search" -config ~/.config/rofi/config-long.rasi| -cut -d ' ' -f 1 | tr -d '\n' | wl-copy - -exit -### DATA ### 😀 grinning face, grin 😃 grinning face with big eyes, mouth open smile 😄 grinning face with smiling eyes eye, mouth open smile diff --git a/config/nvim/.github/README.md b/config/nvim/.github/README.md index bbbc1b25..5892e623 100644 --- a/config/nvim/.github/README.md +++ b/config/nvim/.github/README.md @@ -59,6 +59,7 @@ 🎨 Colorscheme - [rockerBOO/boo-colorscheme-nvim](https://dotfyle.com/plugins/rockerBOO/boo-colorscheme-nvim) +- [HoNamDuong/hybrid.nvim](https://dotfyle.com/plugins/HoNamDuong/hybrid.nvim) - [craftzdog/solarized-osaka.nvim](https://dotfyle.com/plugins/craftzdog/solarized-osaka.nvim) - [shaunsingh/moonlight.nvim](https://dotfyle.com/plugins/shaunsingh/moonlight.nvim) - [savq/melange-nvim](https://dotfyle.com/plugins/savq/melange-nvim) @@ -119,6 +120,18 @@ 🔥 Completion - [hrsh7th/nvim-cmp](https://dotfyle.com/plugins/hrsh7th/nvim-cmp) +- [hrsh7th/cmp-buffer](https://github.com/hrsh7th/cmp-buffer) +- [hrsh7th/cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) +- [hrsh7th/cmp-path](https://github.com/hrsh7th/cmp-path) +- [saadparwaiz1/cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip) +- [lukas-reineke/cmp-rg](https://dotfyle.com/plugins/lukas-reineke/cmp-rg) +- [lukas-reineke/cmp-under-comparator](https://dotfyle.com/plugins/lukas-reineke/cmp-under-comparator) +- [petertriho/cmp-git](https://github.com/petertriho/cmp-git) +- [amarakon/nvim-cmp-fonts](https://github.com/amarakon/nvim-cmp-fonts) +- [hrsh7th/cmp-emoji](https://github.com/hrsh7th/cmp-emoji) +- [chrisgrieser/cmp_yanky](https://github.com/chrisgrieser/cmp_yanky) +- [chrisgrieser/cmp-nerdfont](https://github.com/chrisgrieser/cmp-nerdfont) +- [SergioRibera/cmp-dotenv](https://github.com/SergioRibera/cmp-dotenv) - [roobert/tailwindcss-colorizer-cmp.nvim](https://dotfyle.com/plugins/roobert/tailwindcss-colorizer-cmp.nvim) @@ -287,6 +300,7 @@ - [Zeioth/markmap.nvim](https://dotfyle.com/plugins/Zeioth/markmap.nvim) - [iamcco/markdown-preview.nvim](https://dotfyle.com/plugins/iamcco/markdown-preview.nvim) - [toppair/peek.nvim](https://dotfyle.com/plugins/toppair/peek.nvim) +- [lukas-reineke/headlines.nvim](https://dotfyle.com/plugins/lukas-reineke/headlines.nvim) @@ -639,6 +653,10 @@ | ----------------------------------------- | | ![lualine](./overview-images/lualine.png) | +| **Notify Info** | **Notify Warning** | **Notify Error** | +| ------------------------------------------ | ------------------------------------------------ | -------------------------------------------- | +| ![info](./overview-images/notify-info.png) | ![warning](./overview-images/notify-warning.png) | ![error](./overview-images/notify-error.png) | + | **Which-key** | | --------------------------------------------- | | ![which-key](./overview-images/which-key.png) | @@ -647,10 +665,19 @@ | --------------------------------------------- | | ![live-grep](./overview-images/live-grep.png) | +| **Cmp** | +| ------------------------------------- | +| ![cmp](./overview-images/cmp.png) | +| ![cmp-2](./overview-images/cmp-2.png) | + | **Breadcrumbs** | | ------------------------------------------------- | | ![breadcrumbs](./overview-images/breadcrumbs.png) | +| **Actions Preview** | +| --------------------------------------------------------- | +| ![actions-preview](./overview-images/actions-preview.png) | + | **Trouble** | | ----------------------------------------- | | ![trouble](./overview-images/trouble.png) | @@ -659,4 +686,12 @@ | --------------------------------------------------- | | ![diff-history](./overview-images/diff-history.png) | +| **Floaterm** | +| ------------------------------------------------- | +| ![floating](./overview-images/floaterm-float.png) | + +| **Dressing Menu** | +| ------------------------------------------- | +| ![dressing](./overview-images/dressing.png) | + # :keyboard: ‎ Binds diff --git a/config/nvim/.github/overview-images/actions-preview.png b/config/nvim/.github/overview-images/actions-preview.png new file mode 100644 index 00000000..bd4eb7e7 Binary files /dev/null and b/config/nvim/.github/overview-images/actions-preview.png differ diff --git a/config/nvim/.github/overview-images/cmp-2.png b/config/nvim/.github/overview-images/cmp-2.png new file mode 100644 index 00000000..7348b504 Binary files /dev/null and b/config/nvim/.github/overview-images/cmp-2.png differ diff --git a/config/nvim/.github/overview-images/cmp.png b/config/nvim/.github/overview-images/cmp.png new file mode 100644 index 00000000..255c88d1 Binary files /dev/null and b/config/nvim/.github/overview-images/cmp.png differ diff --git a/config/nvim/.github/overview-images/dressing.png b/config/nvim/.github/overview-images/dressing.png new file mode 100644 index 00000000..55b71bc8 Binary files /dev/null and b/config/nvim/.github/overview-images/dressing.png differ diff --git a/config/nvim/.github/overview-images/floaterm-float.png b/config/nvim/.github/overview-images/floaterm-float.png new file mode 100644 index 00000000..0d940b0e Binary files /dev/null and b/config/nvim/.github/overview-images/floaterm-float.png differ diff --git a/config/nvim/.github/overview-images/notify-error.png b/config/nvim/.github/overview-images/notify-error.png new file mode 100644 index 00000000..a5a034fe Binary files /dev/null and b/config/nvim/.github/overview-images/notify-error.png differ diff --git a/config/nvim/.github/overview-images/notify-info.png b/config/nvim/.github/overview-images/notify-info.png new file mode 100644 index 00000000..29db382c Binary files /dev/null and b/config/nvim/.github/overview-images/notify-info.png differ diff --git a/config/nvim/.github/overview-images/notify-warning.png b/config/nvim/.github/overview-images/notify-warning.png new file mode 100644 index 00000000..e93b0647 Binary files /dev/null and b/config/nvim/.github/overview-images/notify-warning.png differ diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index ec792799..64ef4e9f 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, "LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" }, - "SchemaStore.nvim": { "branch": "main", "commit": "015f5a51b95fef2828e8739a17c42c93877a3c90" }, + "SchemaStore.nvim": { "branch": "main", "commit": "5012a4758f1ab35f9d2ed5b017a75e9bb67b7e63" }, "actions-preview.nvim": { "branch": "master", "commit": "dd63df1a4ed0ffe1458945ee50ecb1dd02b605ab" }, "animation.nvim": { "branch": "main", "commit": "fb77091ab72ec9971aee0562e7081182527aaa6a" }, "autolist.nvim": { "branch": "main", "commit": "5f70a5f99e96c8fe3069de042abd2a8ed2deb855" }, @@ -16,11 +16,11 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "codeium.vim": { "branch": "main", "commit": "4063291e335e74e9ee2be04beb47d40b376312fa" }, - "comment-box.nvim": { "branch": "main", "commit": "a5dbf397b81914ed4c2e3bf0785a0b482ace9183" }, + "codeium.vim": { "branch": "main", "commit": "a1c3d6b369a18514d656dac149de807becacbdf7" }, + "comment-box.nvim": { "branch": "main", "commit": "a08986622a25c1c2d1dcbff2af612deace1c8a7f" }, "compiler.nvim": { "branch": "main", "commit": "e82a48e9528edc769b1329b753eb9e3926f25595" }, "conform.nvim": { "branch": "master", "commit": "cbc5745bf7519acaf3a5cbaaa677fd556aa813d7" }, - "crates.nvim": { "branch": "main", "commit": "b9d68ba054e184dd158cbfd375574d24269232a9" }, + "crates.nvim": { "branch": "main", "commit": "efb5b306fea2d5eebf3c6c230f956b7686c09aa7" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "debugprint.nvim": { "branch": "main", "commit": "13378f67edc112bf0d043bc0c018f8923dc2198d" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, @@ -45,7 +45,7 @@ "import-cost.nvim": { "branch": "main", "commit": "39ef36f438574db0b26e9c957316eb1cb22e970f" }, "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, - "kitty-scrollback.nvim": { "branch": "main", "commit": "5e0deaba10b29aa9e2af1ef79fa22ba51987b2a9" }, + "kitty-scrollback.nvim": { "branch": "main", "commit": "d7b2981d5330de52e2af57e71d58fa2d190b2be6" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "live-server.nvim": { "branch": "main", "commit": "f6f00a3f541251f0320910bb0d03c4ae14ee6d10" }, "lsp-lens.nvim": { "branch": "main", "commit": "48bb1a7e271424c15f3d588d54adc9b7c319d977" }, @@ -63,8 +63,8 @@ "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, "multicursors.nvim": { "branch": "main", "commit": "8e876fe9db46c1b76c151202b418df21eca07bad" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "2f2d08894bbc679d4d181604c16bb7079f646384" }, - "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "505860e0277611434f4e8d61d3c0d373045e57e1" }, + "neoconf.nvim": { "branch": "main", "commit": "fe9e3a933a8c5f9feb5b0fd4cc451f4241d94263" }, + "neodev.nvim": { "branch": "main", "commit": "482abc6688a028ce183719b0350d0235ae2c2e83" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neotest": { "branch": "master", "commit": "dcdb40ea48f9c7b67a5576f6bb2e5f63ec15f2c0" }, "neotest-bash": { "branch": "main", "commit": "2eaad2ae4577fadf4af1eec32ec169d0fb2698bb" }, @@ -84,13 +84,13 @@ "nvim-dap-python": { "branch": "master", "commit": "091e4ae00a12085f9ed4200a3cd04af7179b8a23" }, "nvim-dap-ui": { "branch": "master", "commit": "a6beb3a855b42faa1d0fee1081602257719c2c5e" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d4542ac257d3c7ee4131350db6179ae6340ce40b" }, - "nvim-dev-container": { "branch": "main", "commit": "47927e2df27503debf3bfbfe90afefbac73e002f" }, + "nvim-dev-container": { "branch": "main", "commit": "0c20c26781ee996c98cf49815ec650ab9f0cdb03" }, "nvim-devdocs": { "branch": "master", "commit": "521d24661ffe6d1ba025debea2675c765a9c1ee1" }, "nvim-jqx": { "branch": "master", "commit": "11b1d0368e5b23b9c356da8e5f70bb5827f27f62" }, "nvim-lightbulb": { "branch": "master", "commit": "8f00b89dd1b1dbde16872bee5fbcee2e58c9b8e9" }, - "nvim-lint": { "branch": "master", "commit": "6427b17058a74891bb287b275356bbc445b5924c" }, + "nvim-lint": { "branch": "master", "commit": "b32127ba52f3a1f7dc86773c2ca3f0029afa12c1" }, "nvim-lsp-file-operations": { "branch": "master", "commit": "8e7223e138590c1bd9d86d3de810e65939d8b12f" }, - "nvim-lspconfig": { "branch": "master", "commit": "7eed8b2150192e5ad05e1886fdf133493ddf2928" }, + "nvim-lspconfig": { "branch": "master", "commit": "042aa6b27b8b8d4f4e1bd42de2037c83d676a8a0" }, "nvim-notify": { "branch": "master", "commit": "80b67b265530632505193553d05127ae7fe09ddd" }, "nvim-numbertoggle": { "branch": "main", "commit": "9ab95e60ea5ec138e1b2332e0fc18b8e5de464c6" }, "nvim-origami": { "branch": "main", "commit": "4ec426ce4b0aad0303af44909f86e075dd65c615" }, @@ -99,8 +99,8 @@ "nvim-regexplainer": { "branch": "main", "commit": "78fff711edcb986a05a03253c28a90e32c4ce31f" }, "nvim-scissors": { "branch": "main", "commit": "63d05e732d1403fcd7c7e1fb6b55763adcd08b64" }, "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, - "nvim-treesitter": { "branch": "master", "commit": "07c8c3d84f67b1530f636dcad31971f569a3df5f" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2017a0d7fc2d3790d823feddedada506984a10ce" }, + "nvim-treesitter": { "branch": "master", "commit": "090880c0f1fec219f7de838cb51b8dc07ce74a6d" }, + "nvim-treesitter-context": { "branch": "master", "commit": "85cf977181fb8e816e47ac05df7f756e9cb72caf" }, "nvim-treesitter-endwise": { "branch": "master", "commit": "4c344ffc8d54d7e1ba2cefaaa2c10ea93aa1cc2d" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "19a91a38b02c1c28c14e0ba468d20ae1423c39b2" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, @@ -109,7 +109,7 @@ "nvim-various-textobjs": { "branch": "main", "commit": "ca9e6f290c25f6a3168c5dd64b9ef0a8000263d9" }, "nvim-web-devicons": { "branch": "master", "commit": "140edfcf25093e8b321d13e154cbce89ee868ca0" }, "nvim_context_vt": { "branch": "master", "commit": "8f7b6b46292e0819290b0d368abc3366b8a163fc" }, - "octo.nvim": { "branch": "master", "commit": "5a04268e54c3f538702ef4f03f635d69c569d23e" }, + "octo.nvim": { "branch": "master", "commit": "2ab86dc1e882c5e05679faaa2827010494597b8b" }, "oil.nvim": { "branch": "master", "commit": "dd432e76d01eda08b8658415588d011009478469" }, "openingh.nvim": { "branch": "main", "commit": "5c9e851d7c26fdb236dfea8866b71fefe7ddeffc" }, "outline.nvim": { "branch": "main", "commit": "4ad4e8e2b9c797d68774b0d88f91c92183975639" }, @@ -120,7 +120,7 @@ "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "cf626cd2f94f6c230384c2e3249352b6404cd8d7" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "8b6099f24e435036a628798585f95f62fb892838" }, "refactoring.nvim": { "branch": "master", "commit": "c067e44b8171494fc1b5206ab4c267cd74c043b1" }, "rest.nvim": { "branch": "main", "commit": "84e81a19ab24ccf05c9233d34d4dfce61c233abe" }, "rustaceanvim": { "branch": "master", "commit": "ea105333daea50823d30842adeae1a763d1e88f6" }, @@ -143,7 +143,7 @@ "telescope-luasnip.nvim": { "branch": "master", "commit": "2ef7da3a363890686dbaad18ddbf59177cfe4f78" }, "telescope-undo.nvim": { "branch": "main", "commit": "d3afc1c105535a90caec092ce27a113f77ba7b84" }, "telescope-zoxide": { "branch": "main", "commit": "68966349aa1b8e9ade403e18479ecf79447389a7" }, - "telescope.nvim": { "branch": "master", "commit": "da8b3d485975a8727bea127518b65c980521ae22" }, + "telescope.nvim": { "branch": "master", "commit": "9cf58f438f95f04cf1709b734bbcb9243c262d70" }, "text-case.nvim": { "branch": "main", "commit": "6bc91cde614bbec6f0befbaf7fcd302415d803fb" }, "theme-loader.nvim": { "branch": "master", "commit": "ad8774ec8267a447d469b4e6603b43f49b946e53" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, diff --git a/config/nvim/lua/config/keymaps.lua b/config/nvim/lua/config/keymaps.lua index 39a128f0..bab79304 100644 --- a/config/nvim/lua/config/keymaps.lua +++ b/config/nvim/lua/config/keymaps.lua @@ -11,10 +11,24 @@ local searching_brave = function() end map("n", "?", searching_brave, { noremap = true, silent = true, desc = "Search current word on brave search" }) +-- Lazy options +map("n", "ll", "Lazy", { desc = "Lazy" }) +-- stylua: ignore start +map("n", "ld", function() vim.fn.system({ "xdg-open", "https://lazyvim.org" }) end, { desc = "Docs" }) +map("n", "lr", function() vim.fn.system({ "xdg-open", "https://github.com/LazyVim/LazyVim" }) end, { desc = "Repo" }) +map("n", "le", "LazyExtras", { desc = "Extras" }) +map("n", "lc", function() Util.news.changelog() end, { desc = "LazyVim Changelog" }) +-- stylua: ignore end +map("n", "L", "") + -- Toggle background -- stylua: ignore map("n", "uB", function() Util.toggle("background", false, { "light", "dark" }) end, { desc = "Toggle Background" }) +-- Identation +map("n", "<", "<<", { desc = "Deindent" }) +map("n", ">", ">>", { desc = "Indent" }) + -- Save without formatting map("n", "", "noautocmd w", { desc = "Save without formatting" }) @@ -62,7 +76,6 @@ end, { desc = "Toggle Statusline" }) map("n", "cif", "LazyFormatInfo", { desc = "Formatting" }) map("n", "cic", "ConformInfo", { desc = "Conform" }) map("n", "cir", "LazyRoot", { desc = "Root" }) -map("n", "cie", "LazyExtras", { desc = "Extras" }) -- U for redo map("n", "U", "", { desc = "Redo" }) diff --git a/config/nvim/lua/plugins/extras/ui/colorschemes/hybrid.lua b/config/nvim/lua/plugins/extras/ui/colorschemes/hybrid.lua new file mode 100644 index 00000000..61179abc --- /dev/null +++ b/config/nvim/lua/plugins/extras/ui/colorschemes/hybrid.lua @@ -0,0 +1,6 @@ +return { + "HoNamDuong/hybrid.nvim", + name = "hybrid", + lazy = false, + opts = {}, +} diff --git a/config/nvim/lua/plugins/extras/util/neovide.lua b/config/nvim/lua/plugins/extras/util/neovide.lua index b8c381cb..041050be 100644 --- a/config/nvim/lua/plugins/extras/util/neovide.lua +++ b/config/nvim/lua/plugins/extras/util/neovide.lua @@ -21,19 +21,23 @@ vim.keymap.set({ "n", "i" }, "", function() ResizeGuiFont(-1) end, opts) +-- Options vim.g.neovide_padding_top = 5 vim.g.neovide_padding_right = 5 vim.g.neovide_padding_left = 5 vim.g.neovide_floating_blur_amount_x = 5.0 vim.g.neovide_floating_blur_amount_y = 5.0 - -vim.g.neovide_transparency = 0.85 +vim.g.neovide_floating_shadow = true +vim.g.neovide_floating_z_height = 10 vim.g.neovide_cursor_antialiasing = false vim.g.neovide_cursor_vfx_mode = "pixiedust" +vim.o.guifont = "JetBrainsMono Nerd Font:h10" + vim.opt.winblend = 20 +vim.g.neovide_refresh_rate = 75 return {} diff --git a/config/nvim/lua/plugins/extras/util/vscode.lua b/config/nvim/lua/plugins/extras/util/vscode.lua index 82ee4962..274b74ce 100644 --- a/config/nvim/lua/plugins/extras/util/vscode.lua +++ b/config/nvim/lua/plugins/extras/util/vscode.lua @@ -14,6 +14,7 @@ local enabled = { "lazy.nvim", "dial.nvim", "mini.align", + "nvim-recorder", "comment-box.nvim", "text-case.nvim", "mini.ai", @@ -21,6 +22,7 @@ local enabled = { "mini.pairs", "mini.surround", "nvim-treesitter", + "wildfire.nvim", "nvim-treesitter-textobjects", "nvim-various-textobjs", "nvim-ts-context-commentstring", @@ -66,7 +68,15 @@ vim.api.nvim_create_autocmd("User", { -- terminal map("n", [[]], vscode_action("workbench.action.terminal.toggleTerminal")) map("n", "fts", vscode_action("workbench.action.terminal.newWithCwd")) - -- close editor + -- working with editors (buffers) + map("n", "bo", vscode_action("workbench.action.closeOtherEditors")) + map("n", "bA", vscode_action("workbench.action.closeAllEditors")) + map("n", "ba", vscode_action("workbench.action.lastEditorInGroup")) + map("n", "bf", vscode_action("workbench.action.firstEditorInGroup")) + map("n", "bl", vscode_action("workbench.action.closeEditorsToTheLeft")) + map("n", "br", vscode_action("workbench.action.closeEditorsToTheRight")) + map("n", "H", vscode_action("workbench.action.previousEditorInGroup")) + map("n", "L", vscode_action("workbench.action.nextEditorInGroup")) map("n", "bd", vscode_action("workbench.action.closeActiveEditor")) -- breakpoints map("n", "", vscode_action("editor.debug.action.toggleBreakpoint")) @@ -82,6 +92,8 @@ vim.api.nvim_create_autocmd("User", { map("n", "cr", vscode_action("editor.action.rename")) map("n", "co", vscode_action("editor.action.organizeImport")) map("n", "cf", vscode_action("editor.action.formatDocument")) + map("n", "ss", vscode_action("workbench.action.gotoSymbol")) + map("n", "sS", vscode_action("workbench.action.showAllSymbols")) -- refactor map("n", "cR", vscode_action("editor.action.refactor")) -- markdown preview @@ -103,10 +115,29 @@ vim.api.nvim_create_autocmd("User", { -- git map("n", "gg", vscode_action("gitlens.views.home.focus")) map("n", "ub", vscode_action("gitlens.toggleFileBlame")) + map("n", "]h", function() + vscode.action("workbench.action.editor.nextChange") + vscode.action("workbench.action.compareEditor.nextChange") + end) + map("n", "[h", function() + vscode.action("workbench.action.editor.previousChange") + vscode.action("workbench.action.compareEditor.previousChange") + end) -- statusline map("n", "uS", vscode_action("workbench.action.toggleStatusbarVisibility")) -- markdown preview map("n", "cp", vscode_action("markdown.showPreviewToSide")) + -- codeium + map("n", "cI", vscode_action("codeium.toggleEnable")) + map({ "n", "v" }, "id", vscode_action("codeium.generateFunctionDocstring")) + map("n", "ic", vscode_action("codeium.openChatView")) + map("n", "is", vscode_action("codeium.openSearchView")) + map({ "n", "v" }, "ie", vscode_action("codeium.explainCodeBlock")) + map({ "n", "v" }, "iE", vscode_action("codeium.explainProblem")) + map({ "n", "v" }, "ii", vscode_action("codeium.openCodeiumCommand")) + -- diagnostics + map("n", "]d", vscode_action("editor.action.marker.next")) + map("n", "[d", vscode_action("editor.action.marker.prev")) end, }) diff --git a/config/nvim/lua/plugins/lazyvim-extras.lua b/config/nvim/lua/plugins/lazyvim-extras.lua index 65d478c0..95c4da92 100644 --- a/config/nvim/lua/plugins/lazyvim-extras.lua +++ b/config/nvim/lua/plugins/lazyvim-extras.lua @@ -39,6 +39,7 @@ return { -- Markdown { "iamcco/markdown-preview.nvim", optional = true }, + { "lukas-reineke/headlines.nvim", optional = true }, -- C# { "Hoffs/omnisharp-extended-lsp.nvim", optional = true }, diff --git a/config/nvim/lua/plugins/which-key.lua b/config/nvim/lua/plugins/which-key.lua index dff646aa..e6864d2b 100644 --- a/config/nvim/lua/plugins/which-key.lua +++ b/config/nvim/lua/plugins/which-key.lua @@ -14,6 +14,7 @@ return { ["c"] = { name = " code" }, ["f"] = { name = "󰈔 file/find" }, ["g"] = { name = " git" }, + ["l"] = { name = "󰒲 lazy" }, ["q"] = { name = "󰗼 quit/session" }, ["s"] = { name = " search" }, ["u"] = { name = " ui" }, diff --git a/config/swaync/config.json b/config/swaync/config.json index 2dcdea44..d56ecd79 100755 --- a/config/swaync/config.json +++ b/config/swaync/config.json @@ -72,7 +72,7 @@ }, { "label": "󰌾", - "command": "swaylock" + "command": "~/.config/hypr/scripts/RunCMD.sh lockscreen" }, { "label": "󰍃", diff --git a/config/swaync/style.css b/config/swaync/style.css index 859ec608..c2b32294 100644 --- a/config/swaync/style.css +++ b/config/swaync/style.css @@ -1,22 +1,55 @@ +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; -@define-color noti-border-color @color2; -@define-color noti-bg rgba(0, 0, 0, 0.8); -@define-color noti-bg-alt #111111; -@define-color noti-bg-hover @color2; -@define-color text-color @color2; -@define-color text-color-alt @color7; +@define-color text #cdd6f4; +@define-color subtext0 #a6adc8; +@define-color subtext1 #bac2de; + +@define-color surface0 #313244; +@define-color surface1 #45475a; +@define-color surface2 #585b70; + +@define-color overlay0 #6c7086; +@define-color overlay1 #7f849c; +@define-color overlay2 #9399b2; + +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color sapphire #74c7ec; +@define-color sky #89dceb; +@define-color teal #94e2d5; +@define-color green #a6e3a1; +@define-color yellow #f9e2af; +@define-color peach #fab387; +@define-color maroon #eba0ac; +@define-color red #f38ba8; +@define-color mauve #cba6f7; +@define-color pink #f5c2e7; +@define-color flamingo #f2cdcd; +@define-color rosewater #f5e0dc; + +@define-color noti-border-color @pink; +@define-color notify-bg @surface0; +@define-color black-bg rgba(30, 30, 46, 0.85); +@define-color black-bg-alt #181825; +/* @define-color black-bg-center rgba(30, 30, 46, 0.5); */ +@define-color black-bg-hover #6c7086; +@define-color text-color #cdd6f4; +@define-color text-color-alt #a6adc8; @define-color text-color-disabled rgba(150, 150, 150, 0.8); +/* @define-color highlight-color; */ * { - font-family: FiraCode; + font-family: "CaskaydiaCove Nerd Font Mono"; font-weight: Bolder; } .control-center .notification-row:focus, .control-center .notification-row:hover { opacity: 1; - background: @noti-bg; + background: @black-bg; border-radius: 10px } @@ -24,17 +57,24 @@ outline: none; margin: 0px; } - +.notification.critical .summary { + font-size:2rem; + margin:10px; + padding-left:20px; +} +.notification.critical { + border: 2px solid @red; +} .notification { border-radius: 10px; } .notification-content{ color: @text-color; - background: @noti-bg; + background: @notify-bg; padding: 3px 10px 3px 6px; border-radius: 10px; - border: 2px solid @noti-border-color; + border: 2px solid @mauve; margin: 0px; } @@ -45,8 +85,8 @@ } .close-button { - background: #f7768e; - color: @noti-bg; + background: #eba0ac; + color: @black-bg; text-shadow: none; padding: 0; border-radius: 10px; @@ -56,7 +96,7 @@ .close-button:hover { box-shadow: none; - background: #f7768e; + background: #eba0ac; transition: all .15s ease-in-out; border: none } @@ -87,12 +127,12 @@ .notification-action:first-child { border-bottom-left-radius: 10px; - background: #1b1b2b + background: #1e1e2e } .notification-action:last-child { border-bottom-right-radius: 10px; - background: #1b1b2b + background: #1e1e2e } .inline-reply { @@ -100,7 +140,7 @@ } .inline-reply-entry { - background: @noti-bg; + background: @black-bg; color: @text-color; caret-color: @text-color; border: 1px solid @noti-border-color; @@ -110,7 +150,7 @@ .inline-reply-button { font-size: 0.5rem; margin-left: 4px; - background: @noti-bg; + background: @black-bg; border: 1px solid @noti-border-color; border-radius: 10px; color: @text-color @@ -123,7 +163,7 @@ } .inline-reply-button:hover { - background: @noti-bg-hover + background: @black-bg-hover } .body-image { @@ -133,8 +173,8 @@ } .summary { - font-size: 1rem; - font-weight: 200; + font-size: 1.15rem; + /* font-weight: 200; */ background: transparent; color: @text-color-alt; text-shadow: none @@ -142,7 +182,7 @@ .time { font-size: 1rem; - font-weight: 200; + /* font-weight: 200; */ background: transparent; color: @text-color; text-shadow: none; @@ -151,16 +191,16 @@ .body { font-size: 1rem; - font-weight: 200; + /* font-weight: 200; */ background: transparent; color: @text-color; text-shadow: none } .control-center { - background: @noti-bg; + background: @black-bg; border: 2px solid @noti-border-color; - border-radius: 10px; + border-radius: 8px; } .control-center-list { @@ -181,7 +221,7 @@ .widget-title { color: @noti-border-color; - background: @noti-bg-alt; + background: @black-bg-alt; padding: 3px 6px; margin: 5px; font-size: 1rem; @@ -202,7 +242,7 @@ } .widget-dnd { - background: @noti-bg-alt; + background: @black-bg-alt; padding: 3px 6px; margin: 5px; border-radius: 10px; @@ -213,21 +253,21 @@ .widget-dnd>switch { border-radius: 10px; /* border: 1px solid #7aa2f7; */ - background: white; + background: @notify-bg; } .widget-dnd>switch:checked { - background: #f7768e; - border: 1px solid #f7768e; + background: @mauve; + border: 1px solid @mauve; } .widget-dnd>switch slider { - background: @noti-bg; + background: @mauve; border-radius: 10px } .widget-dnd>switch:checked slider { - background: @noti-bg; + background: @black-bg; border-radius: 10px } @@ -242,7 +282,7 @@ .widget-mpris { color: @text-color; - background: @noti-bg-alt; + background: @black-bg-alt; padding: 3px 6px; margin: 5px; border-radius: 10px; @@ -258,7 +298,7 @@ } .widget-mpris-title { - font-weight: 100; + /* font-weight: 100; */ font-size: 1rem } @@ -267,17 +307,19 @@ } .widget-buttons-grid { - font-size: large; + font-size: 20px; color: @noti-border-color; padding: 2px; margin: 5px; + padding-left:15px; + padding-right:15px; border-radius: 10px; - background: @noti-bg-alt; + background: @black-bg-alt; } .widget-buttons-grid>flowbox>flowboxchild>button { margin: 1px; - background: @noti-bg; + background: @black-bg; border-radius: 10px; color: @text-color } @@ -298,7 +340,7 @@ } .widget-volume { - background: @noti-bg-alt; + background: @black-bg-alt; padding: 2px; margin: 10px 10px 5px 10px; border-radius: 10px; @@ -312,7 +354,7 @@ } .per-app-volume { - background-color: @noti-bg; + background-color: @black-bg; padding: 4px 8px 8px; margin: 0 8px 8px; border-radius: 10px; @@ -320,7 +362,7 @@ } .widget-backlight { - background: @noti-bg-alt; + background: @black-bg-alt; padding: 5px; margin: 10px 10px 5px 10px; border-radius: 10px; diff --git a/config/waybar/config b/config/waybar/config index 72fca87a..d244b1ad 120000 --- a/config/waybar/config +++ b/config/waybar/config @@ -1 +1 @@ -/home/sankalp/.config/waybar/configs/[TOP & BOT] summitsplit \ No newline at end of file +/home/sankalp/.config/waybar/configs/[BOT] gardenia \ No newline at end of file diff --git a/config/waybar/configs/[BOT] camellia b/config/waybar/configs/[BOT] camellia index 422fdd59..8166eecd 100644 --- a/config/waybar/configs/[BOT] camellia +++ b/config/waybar/configs/[BOT] camellia @@ -1,8 +1,3 @@ -//* ----------- 💫 https://github.com/JaKooLit 💫 -------- */ -//* ............................................*/ -//* .............CAMELLIA.......................*/ -//* ............................................*/ -//* --- 👍 designed by https://github.com/Krautt 👍 --- */ { @@ -99,9 +94,9 @@ "states": { "critical": 15 }, - "format": "{capacity}% {icon}", - "format-charging": " {capacity}%", - "format-plugged": "󱘖 {capacity}%", + "format": "{icon}", + "format-charging": "", + "format-plugged": "󱘖 ", "format-full": "{icon} Full", "format-alt": "{icon} {time}", "format-icons": [" ", " ", " ", " ", " "], diff --git a/config/waybar/configs/[BOT] gardenia b/config/waybar/configs/[BOT] gardenia index 4cf9831b..79044124 100644 --- a/config/waybar/configs/[BOT] gardenia +++ b/config/waybar/configs/[BOT] gardenia @@ -88,8 +88,8 @@ "format-time": "{H}h {M}min", "tooltip": true, "tooltip-format": "{capacity}%", - "on-click-middle": "~/.config/hypr/scripts/ChangeBlur.sh", - "on-click-right": "~/.config/hypr/scripts/RofiPower.sh", + "on-click-middle": "~/.config/hypr/scripts/RunCMD.sh blur", + "on-click-right": "~/.config/hypr/scripts/RunCMD.sh powermenu", }, } diff --git a/config/waybar/configs/[BOT] peony b/config/waybar/configs/[BOT] peony index 4c8b683a..cca28843 100644 --- a/config/waybar/configs/[BOT] peony +++ b/config/waybar/configs/[BOT] peony @@ -93,8 +93,8 @@ "format-time": "{H}h {M}min", "tooltip": true, "tooltip-format": "{timeTo} {power}w", - "on-click-middle": "~/.config/hypr/scripts/ChangeBlur.sh", - "on-click-right": "~/.config/hypr/scripts/Wlogout.sh", + "on-click-middle": "~/.config/hypr/scripts/RunCMD.sh lur", + "on-click-right": "~/.config/hypr/scripts/RunCMD.sh powermenu", }, "tray#peony": { diff --git a/config/waybar/configs/[TOP] sleek b/config/waybar/configs/[TOP] sleek index a1e6ab69..fb78a5ee 100644 --- a/config/waybar/configs/[TOP] sleek +++ b/config/waybar/configs/[TOP] sleek @@ -42,7 +42,7 @@ "custom/power": { "format": " ", "icon-size": 20, - "on-click": "~/.config/hypr/scripts/RofiPower.sh", + "on-click": "~/.config/hypr/scripts/RunCMD.sh powermenu", "tooltip": false, }, diff --git a/config/waybar/modules b/config/waybar/modules index 21146c3e..564a5962 100644 --- a/config/waybar/modules +++ b/config/waybar/modules @@ -200,7 +200,7 @@ "tooltip": true, //"tooltip-format": "{timeTo} {power}w", "tooltip-format": "{capacity}%", - "on-click-middle": "~/.config/hypr/scripts/ChangeBlur.sh", + "on-click-middle": "~/.config/hypr/scripts/RunCMD.sh toggle_blur", }, "bluetooth": { @@ -274,11 +274,14 @@ "${USER}@${set_sysname}:(.*)": "$1 ", "(.*) — Mozilla Firefox": "$1 󰈹", "(.*)Mozilla Firefox": "Firefox 󰈹", - "(.*) - Visual Studio Code": "$1 󰨞", - "(.*)Visual Studio Code": "Code 󰨞", + //"(.*) - Visual Studio Code": "$1 󰨞", + //"(.*)Visual Studio Code": "Code 󰨞", + "(.*) - codium": "$1 󰨞", + "(.*)codium": "Code 󰨞", "(.*)Thunar": "$1 󰉋", + "(.*)yazi": "$1 󰉋", "(.*)Spotify": "Spotify 󰓇", - "(.*)Steam": "Steam 󰓓" + "(.*)nvim": "$1 ", }, }, @@ -479,8 +482,8 @@ "custom/cycle_wall":{ "format":" ", "exec": "echo ; echo 󰸉 wallpaper select", - "on-click": "~/.config/hypr/UserScripts/WallpaperSelect.sh", - "on-click-right": "~/.config/hypr/UserScripts/WallpaperAutoChange.sh", + "on-click": "~/.config/hypr/scripts/RunCMD.sh selectwall", + "on-click-right": "~/.config/hypr/scripts/RunCMD.sh randomwall", "interval" : 86400, // once every day "tooltip": true, }, @@ -490,14 +493,14 @@ "exec": "echo ; echo  Key Hints SUPER F1", "interval": 86400, // once every day "tooltip": false, - "on-click": "~/.config/hypr/UserScripts/KeyBinds.sh", + "on-click": "~/.config/hypr/scripts/RunCMD.sh keybind", }, "custom/keyboard": { "exec": "cat ~/.cache/kb_layout", "interval": 1, "format": " {}", - "on-click": "~/.config/hypr/scripts/SwitchKeyboardLayout.sh", + "on-click": "~/.config/hypr/scripts/RunCMD.sh kb", "tooltip": false, }, @@ -515,7 +518,7 @@ "interval" : 86400, // once every day "tooltip": false, "on-click": "pkill rofi || rofi -show drun -modi drun,filebrowser,run,window -config ~/.config/rofi/launcher.rasi", - "on-click-right": "~/.config/hypr/scripts/WaybarLayout.sh", + "on-click-right": "~/.config/hypr/scripts/RunCMD.sh waybarl", }, @@ -524,8 +527,8 @@ "exec": "echo ; echo 󰟡 power // blur", "interval": 86400, "tooltip": false, - "on-click": "~/.config/hypr/scripts/RofiPower.sh", - "on-click-right": "~/.config/hypr/scripts/ChangeBlur.sh", + "on-click": "~/.config/hypr/scripts/RunCMD.sh powermenu", + "on-click-right": "~/.config/hypr/scripts/RunCMD.sh blur", }, // NOTE:! This is only for Arch and Arch Based Distros @@ -543,7 +546,7 @@ "format-alt-click": "click", "interval": 1, "return-type": "json", - "exec": "~/.config/hypr/UserScripts/Weather.py", + "exec": "~/.config/hypr/scripts/RunCMD.sh weather", "exec-if": "ping wttr.in -c1", "tooltip" : true, }, @@ -683,7 +686,7 @@ "format": "⏻", "exec": "echo ; echo 󰟡 power // blur", "on-click-right": "~/.config/hypr/scripts/ChangeBlur.sh", - "on-click":"~/.config/hypr/scripts/RofiPower.sh", + "on-click":"~/.config/hypr/scripts/RunCMD.sh powermenu", "interval": 86400, // once every day "tooltip": false, },