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 @@
| ----------------------------------------- |
|  |
+| **Notify Info** | **Notify Warning** | **Notify Error** |
+| ------------------------------------------ | ------------------------------------------------ | -------------------------------------------- |
+|  |  |  |
+
| **Which-key** |
| --------------------------------------------- |
|  |
@@ -647,10 +665,19 @@
| --------------------------------------------- |
|  |
+| **Cmp** |
+| ------------------------------------- |
+|  |
+|  |
+
| **Breadcrumbs** |
| ------------------------------------------------- |
|  |
+| **Actions Preview** |
+| --------------------------------------------------------- |
+|  |
+
| **Trouble** |
| ----------------------------------------- |
|  |
@@ -659,4 +686,12 @@
| --------------------------------------------------- |
|  |
+| **Floaterm** |
+| ------------------------------------------------- |
+|  |
+
+| **Dressing Menu** |
+| ------------------------------------------- |
+|  |
+
# :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,
},