diff options
| author | Ja.KooLit <85185940+JaKooLit@users.noreply.github.com> | 2024-05-24 13:52:30 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-24 13:52:30 +0900 |
| commit | 5acf937b57fd0c25baf26cae45e0f15862ab7d52 (patch) | |
| tree | dbcae5ec4d6c9199dcb482f313bef2bf461edb4f /config/hypr | |
| parent | 912f18dd534ea7244b7e453e65a84344b34b15b0 (diff) | |
| parent | 06d66be192eeb6f844d7069d05ffc34653352791 (diff) | |
Merge pull request #300 from JaKooLit/development
Pre-release stage: Development to Main
Diffstat (limited to 'config/hypr')
| -rw-r--r-- | config/hypr/UserConfigs/ENVariables.conf | 1 | ||||
| -rw-r--r-- | config/hypr/UserConfigs/UserKeybinds.conf | 5 | ||||
| -rw-r--r-- | config/hypr/UserConfigs/UserSettings.conf | 33 | ||||
| -rw-r--r-- | config/hypr/UserConfigs/WindowRules.conf | 27 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/RofiBeats.sh | 41 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/RofiCalc.sh | 31 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/WallpaperSelect.sh | 46 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/Weather.py | 16 | ||||
| -rw-r--r-- | config/hypr/configs/Keybinds.conf | 3 | ||||
| -rwxr-xr-x | config/hypr/initial-boot.sh | 13 | ||||
| -rwxr-xr-x | config/hypr/scripts/KeyHints.sh | 2 | ||||
| -rwxr-xr-x | config/hypr/scripts/SwitchKeyboardLayout.sh | 37 | ||||
| -rw-r--r-- | config/hypr/v2.2.12 (renamed from config/hypr/v2.2.11) | 0 |
13 files changed, 179 insertions, 76 deletions
diff --git a/config/hypr/UserConfigs/ENVariables.conf b/config/hypr/UserConfigs/ENVariables.conf index 1d60c24b..8681eb30 100644 --- a/config/hypr/UserConfigs/ENVariables.conf +++ b/config/hypr/UserConfigs/ENVariables.conf @@ -1,4 +1,5 @@ # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/ #environment-variables env = CLUTTER_BACKEND,wayland diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf index eede1669..85f3c1c3 100644 --- a/config/hypr/UserConfigs/UserKeybinds.conf +++ b/config/hypr/UserConfigs/UserKeybinds.conf @@ -19,7 +19,9 @@ bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,r bind = $mainMod, A, exec, pkill rofi || true && ags -t 'overview' bind = $mainMod, Return, exec, $term # Launch terminal -bind = $mainMod, T, exec, $files +bind = $mainMod, T, exec, $files # Launch file manager + +bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate) # pyprland bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal @@ -27,6 +29,7 @@ bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom # User Added Keybinds bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme +bindn = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Changing the keyboard layout # For passthrough keyboard into a VM # bind = $mainMod ALT, P, submap, passthru diff --git a/config/hypr/UserConfigs/UserSettings.conf b/config/hypr/UserConfigs/UserSettings.conf index b3193e49..1ca9b5d8 100644 --- a/config/hypr/UserConfigs/UserSettings.conf +++ b/config/hypr/UserConfigs/UserSettings.conf @@ -1,6 +1,7 @@ # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # User Settings -# This is where you put your own settings as this will not be touched during update +# This is where you put your own settings as this will not be touched during update +# if the upgrade.sh is used. # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables @@ -25,7 +26,7 @@ master { general { sensitivity=1.00 apply_sens_to_raw=1 - gaps_in = 4 + gaps_in = 6 gaps_out = 8 border_size = 2 resize_on_border = true @@ -33,7 +34,7 @@ general { col.active_border = $color0 $color2 $color9 $color12 $color15 90deg col.inactive_border = $backgroundCol - layout = master + layout = dwindle } group { @@ -45,7 +46,7 @@ group { } decoration { - rounding = 8 + rounding = 10 active_opacity = 1.0 inactive_opacity = 0.9 @@ -63,7 +64,7 @@ decoration { blur { enabled = true - size = 5 + size = 6 passes = 2 ignore_opacity = true new_optimizations = true @@ -74,32 +75,26 @@ decoration { animations { enabled = yes - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - bezier = linear, 0.0, 0.0, 1.0, 1.0 bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 - bezier = slow, 0, 0.85, 0.3, 1 - bezier = overshot, 0.7, 0.6, 0.1, 1.1 - bezier = bounce, 1.1, 1.6, 0.1, 0.85 - bezier = sligshot, 1, -1, 0.15, 1.25 - bezier = nice, 0, 6.9, 0.5, -4.20 + bezier = liner, 1, 1, 1, 1 - animation = windowsIn, 1, 5, slow, popin - animation = windowsOut, 1, 5, winOut, popin + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 10, linear - animation = borderangle, 1, 180, linear, loop #used by rainbow borders and rotating colors - animation = fade, 1, 5, overshot + animation = border, 1, 1, liner + animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors + animation = fade, 1, 10, default animation = workspaces, 1, 5, wind - animation = windows, 1, 5, bounce, popin } input { kb_layout=us kb_variant= kb_model= - kb_options=grp:alt_shift_toggle + kb_options= kb_rules= repeat_rate=50 repeat_delay=300 diff --git a/config/hypr/UserConfigs/WindowRules.conf b/config/hypr/UserConfigs/WindowRules.conf index 09cc8ec2..3193d26c 100644 --- a/config/hypr/UserConfigs/WindowRules.conf +++ b/config/hypr/UserConfigs/WindowRules.conf @@ -13,16 +13,19 @@ windowrulev2 = workspace 2, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-es windowrulev2 = workspace 2, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$ #windowrulev2 = workspace 3, class:^([Tt]hunar)$ windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ -windowrulev2 = workspace 5 silent, class:^([Ss]team)$,title:^([Ss]team)$ -windowrulev2 = workspace 5 silent, class:^(lutris)$ +windowrulev2 = workspace 5, class:^([Ss]team)$ +windowrulev2 = workspace 5, class:^([Ll]utris)$ +windowrulev2 = workspace 7, class:^([Dd]iscord)$ +windowrulev2 = workspace 7, class:^([Ww]ebCord)$ +windowrulev2 = workspace 7, class:^([Vv]esktop)$ + +# windowrule v2 move to workspace (silent) windowrulev2 = workspace 6 silent, class:^(virt-manager)$ -windowrulev2 = workspace 7 silent, class:^(discord)$ -windowrulev2 = workspace 7 silent, class:^(WebCord)$ windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ # windowrule v2 - float windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = float, class:([Zz)oom|onedriver|onedriver-launcher)$ +windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$ windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files) windowrulev2 = float, class:(xdg-desktop-portal-gtk) @@ -40,6 +43,12 @@ windowrulev2 = float, class:^(evince)$ # document viewer windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer windowrulev2 = float, title:(Kvantum Manager) +windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$ +windowrulev2 = float, class:^([Qq]alculate-gtk)$ + +# windowrule v2 - position +windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress) +windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files) # windowrule v2 - opacity #enable as desired windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ @@ -62,12 +71,12 @@ windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$ windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$ windowrulev2 = opacity 0.9 0.8, class:^(org.gnome.Nautilus)$ windowrulev2 = opacity 0.9 0.8, class:^(VSCode|code-url-handler)$ -windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-studio)$ # Android Studio -windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-phpstorm)$ # PHPStorm -windowrulev2 = opacity 0.94 0.86, class:^(discord)$ -windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop)$ +windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-.+)$ # JetBrains IDEs +windowrulev2 = opacity 0.94 0.86, class:^([Dd]iscord|[Vv]esktop)$ +windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ windowrulev2 = opacity 0.94 0.86, class:^(gnome-disks|evince|wihotspot-gui|org.gnome.baobab)$ windowrulev2 = opacity 0.9 0.8, class:^(file-roller|org.gnome.FileRoller)$ # archive manager +windowrulev2 = opacity 0.8 0.7, class:^(app.drey.Warp)$ # Warp file transfer windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui windowrulev2 = opacity 0.82 0.75, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ windowrulev2 = opacity 0.9 0.8, class:^(xdg-desktop-portal-gtk)$ # gnome-keyring gui diff --git a/config/hypr/UserScripts/RofiBeats.sh b/config/hypr/UserScripts/RofiBeats.sh index 1cf2a445..7fed687f 100755 --- a/config/hypr/UserScripts/RofiBeats.sh +++ b/config/hypr/UserScripts/RofiBeats.sh @@ -1,12 +1,14 @@ #!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# For Rofi Beats to play online Music or Locally save media files -# Directory music folder +# Directory local music folder mDIR="$HOME/Music/" # Directory for icons iDIR="$HOME/.config/swaync/icons" -# Online Stations +# Online Stations. Edit as required declare -A online_music=( ["AfroBeatz 2024 🎧"]="https://www.youtube.com/watch?v=7uB-Eh9XVZQ" ["Lofi Girl ☕️🎶"]="https://play.streamafrica.net/lofiradio" @@ -22,7 +24,6 @@ declare -A online_music=( ["Korean Drama OST 📻🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ" ) -# Local Music # Populate local_music array with files from music directory and subdirectories populate_local_music() { local_music=() @@ -49,18 +50,33 @@ play_local_music() { exit 1 fi - # Find the corresponding file path based on user's choice - for (( i=0; i<"${#filenames[@]}"; i++ )); do + # Find the corresponding file path based on user's choice and set that to play the song then continue on the list + for (( i=0; i<"${#filenames[@]}"; ++i )); do if [ "${filenames[$i]}" = "$choice" ]; then - file="${local_music[$i]}" + + notification "$choice" + + # For some reason wont start playlist at 0 + if [[ $i -eq 0 ]]; then + # Play the selected local music file using mpv + mpv --loop-playlist --vid=no "$mDIR" + + else + file=$i + # Play the selected local music file using mpv + mpv --playlist-start="$file" --loop-playlist --vid=no "$mDIR" + fi break fi done +} - notification "$choice" +# Main function for shuffling local music +shuffle_local_music() { + notification "Shuffle local music" - # Play the selected local music file using mpv - mpv --shuffle --vid=no "$file" + # Play music in $mDIR on shuffle + mpv --shuffle --loop-playlist --vid=no "$mDIR" } # Main function for playing online music @@ -80,10 +96,10 @@ play_online_music() { } # Check if an online music process is running and send a notification, otherwise run the main function -pkill mpv && notify-send -u low -i "$iDIR/music.png" "Online Music stopped" || { +pkill mpv && notify-send -u low -i "$iDIR/music.png" "Music stopped" || { # Prompt the user to choose between local and online music -user_choice=$(printf "Play from Online Stations\nPlay from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source") +user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle Play from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source") case "$user_choice" in "Play from Music Folder") @@ -92,6 +108,9 @@ user_choice=$(printf "Play from Online Stations\nPlay from Music Folder" | rofi "Play from Online Stations") play_online_music ;; + "Shuffle Play from Music Folder") + shuffle_local_music + ;; *) echo "Invalid choice" ;; diff --git a/config/hypr/UserScripts/RofiCalc.sh b/config/hypr/UserScripts/RofiCalc.sh new file mode 100755 index 00000000..355130de --- /dev/null +++ b/config/hypr/UserScripts/RofiCalc.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ +# /* Calculator (using qalculate) and rofi */ +# /* Submitted by: https://github.com/JosephArmas */ + +rofi_config="$HOME/.config/rofi/config-calc.rasi" + +# Kill Rofi if already running before execution +if pgrep -x "rofi" >/dev/null; then + pkill rofi + exit 0 +fi + +# main function + +while true; do + result=$( + rofi -i -dmenu \ + -config "$rofi_config" \ + -mesg "$result = $calc_result" + ) + + if [ $? -ne 0 ]; then + exit + fi + + if [ -n "$result" ]; then + calc_result=$(qalc -t "$result") + echo "$calc_result" | wl-copy + fi +done diff --git a/config/hypr/UserScripts/WallpaperSelect.sh b/config/hypr/UserScripts/WallpaperSelect.sh index 9a087c7d..06859112 100755 --- a/config/hypr/UserScripts/WallpaperSelect.sh +++ b/config/hypr/UserScripts/WallpaperSelect.sh @@ -1,18 +1,18 @@ #!/bin/bash -# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # This script for selecting wallpapers (SUPER W) -SCRIPTSDIR="$HOME/.config/hypr/scripts" - -focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}') - # WALLPAPERS PATH wallDIR="$HOME/Pictures/wallpapers" -# Transition config -FPS=30 -TYPE="wipe" -DURATION=1 +# variables +SCRIPTSDIR="$HOME/.config/hypr/scripts" +focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}') + +# swww transition config +FPS=60 +TYPE="any" +DURATION=2 BEZIER=".43,1.19,1,.4" SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION" @@ -22,31 +22,36 @@ if pidof swaybg > /dev/null; then fi # Retrieve image files -PICS=($(ls "${wallDIR}" | grep -E ".jpg$|.jpeg$|.png$|.gif$")) +PICS=($(find "${wallDIR}" -type f \( -iname \*.jpg -o -iname \*.jpeg -o -iname \*.png -o -iname \*.gif \))) RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}" -RANDOM_PIC_NAME="${#PICS[@]}. random" +RANDOM_PIC_NAME=". random" # Rofi command rofi_command="rofi -i -show -dmenu -config ~/.config/rofi/config-wallpaper.rasi" + +# Sorting Wallpapers menu() { - for i in "${!PICS[@]}"; do + sorted_options=($(printf '%s\n' "${PICS[@]}" | sort)) + # Place ". random" at the beginning + printf "%s\n" "$RANDOM_PIC_NAME" + for pic_path in "${sorted_options[@]}"; do + pic_name=$(basename "$pic_path") # Displaying .gif to indicate animated images - if [[ -z $(echo "${PICS[$i]}" | grep .gif$) ]]; then - printf "$(echo "${PICS[$i]}" | cut -d. -f1)\x00icon\x1f${wallDIR}/${PICS[$i]}\n" + if [[ -z $(echo "$pic_name" | grep -i "\.gif$") ]]; then + printf "%s\x00icon\x1f%s\n" "$(echo "$pic_name" | cut -d. -f1)" "$pic_path" else - printf "${PICS[$i]}\n" + printf "%s\n" "$pic_name" fi done - - printf "$RANDOM_PIC_NAME\n" } +# initiate swww if not running swww query || swww-daemon --format xrgb +# Choice of wallpapers main() { choice=$(menu | ${rofi_command}) - # No choice case if [[ -z $choice ]]; then exit 0 @@ -54,7 +59,8 @@ main() { # Random choice case if [ "$choice" = "$RANDOM_PIC_NAME" ]; then - swww img "${wallDIR}/${RANDOM_PIC}" $SWWW_PARAMS + RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}" + swww img -o $focused_monitor "${RANDOM_PIC}" $SWWW_PARAMS exit 0 fi @@ -69,7 +75,7 @@ main() { done if [[ $pic_index -ne -1 ]]; then - swww img -o $focused_monitor "${wallDIR}/${PICS[$pic_index]}" $SWWW_PARAMS + swww img -o $focused_monitor "${PICS[$pic_index]}" $SWWW_PARAMS else echo "Image not found." exit 1 diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py index 5cd11a66..1d2ea30b 100755 --- a/config/hypr/UserScripts/Weather.py +++ b/config/hypr/UserScripts/Weather.py @@ -8,12 +8,12 @@ import os # original code https://gist.github.com/Surendrajat/ff3876fd2166dd86fb71180f4e9342d7 # weather icons weather_icons = { - "sunnyDay": "", - "clearNight": "", - "cloudyFoggyDay": "", - "cloudyFoggyNight": "", - "rainyDay": "", - "rainyNight": "", + "sunnyDay": "", + "clearNight": "", + "cloudyFoggyDay": "", + "cloudyFoggyNight": "", + "rainyDay": "", + "rainyNight": "", "snowyIcyDay": "", "snowyIcyNight": "", "severe": "", @@ -116,14 +116,14 @@ tooltip_text = str.format( # print waybar module data out_data = { - "text": f"{icon} {temp}", + "text": f"{icon} {temp}", "alt": status, "tooltip": tooltip_text, "class": status_code, } print(json.dumps(out_data)) -simple_weather =f"{icon} {status}\n" + \ +simple_weather =f"{icon} {status}\n" + \ f" {temp} ({temp_feel_text})\n" + \ f"{wind_text} \n" + \ f"{humidity_text} \n" + \ diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf index 2cdd9cde..142de86a 100644 --- a/config/hypr/configs/Keybinds.conf +++ b/config/hypr/configs/Keybinds.conf @@ -29,7 +29,6 @@ bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel -bind = SHIFT, ALT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Switch Keyboard Layout # FEATURES / EXTRAS (UserScripts) bind = $mainMod, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings @@ -75,7 +74,7 @@ bind = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs -bind = $mainMod ALT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs +bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #take screenshot of active window # screenshot with swappy (another screenshot tool) diff --git a/config/hypr/initial-boot.sh b/config/hypr/initial-boot.sh index 162ad65f..b05d6865 100755 --- a/config/hypr/initial-boot.sh +++ b/config/hypr/initial-boot.sh @@ -10,6 +10,11 @@ scriptsDir=$HOME/.config/hypr/scripts wallpaper=$HOME/Pictures/wallpapers/Fantasy-Waterfall.png waybar_style="$HOME/.config/waybar/style/[Dark] Latte-Wallust combined.css" kvantum_theme="Catppuccin-Mocha" +color_scheme="prefer-dark" +gtk_theme="Andromeda-dark" +icon_theme="Flat-Remix-Blue-Dark" +cursor_theme="Bibata-Modern-Ice" + swww="swww img" effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2" @@ -25,10 +30,10 @@ if [ ! -f ~/.config/hypr/.initial_startup_done ]; then fi # initiate GTK dark mode and apply icon and cursor theme - gsettings set org.gnome.desktop.interface color-scheme prefer-dark > /dev/null 2>&1 & - gsettings set org.gnome.desktop.interface gtk-theme Tokyonight-Dark-Moon-BL-LB > /dev/null 2>&1 & - gsettings set org.gnome.desktop.interface icon-theme Flat-Remix-Blue-Dark > /dev/null 2>&1 & - gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Ice > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface color-scheme $color_scheme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface gtk-theme $gtk_theme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface icon-theme $icon_theme > /dev/null 2>&1 & + gsettings set org.gnome.desktop.interface cursor-theme $cursor_theme > /dev/null 2>&1 & gsettings set org.gnome.desktop.interface cursor-size 24 > /dev/null 2>&1 & # initiate kvantum theme diff --git a/config/hypr/scripts/KeyHints.sh b/config/hypr/scripts/KeyHints.sh index 9d29dda4..55ed6903 100755 --- a/config/hypr/scripts/KeyHints.sh +++ b/config/hypr/scripts/KeyHints.sh @@ -58,6 +58,8 @@ yad --width=$dynamic_width --height=$dynamic_height \ " Print" "screenshot" "(grim)" \ " Shift Print" "screenshot region" "(grim + slurp)" \ " Shift S" "screenshot region" "(swappy)" \ +" CTRL Print" "screenshot timer 5 secs " "(grim)" \ +" CTRL SHIFT Print" "screenshot timer 10 secs " "(grim)" \ "ALT Print" "Screenshot active window" "active window only" \ "CTRL ALT P" "power-menu" "(wlogout)" \ "CTRL ALT L" "screen lock" "(hyprlock)" \ diff --git a/config/hypr/scripts/SwitchKeyboardLayout.sh b/config/hypr/scripts/SwitchKeyboardLayout.sh index 0145e262..cbacd74f 100755 --- a/config/hypr/scripts/SwitchKeyboardLayout.sh +++ b/config/hypr/scripts/SwitchKeyboardLayout.sh @@ -41,5 +41,38 @@ new_layout="${layout_mapping[next_index]}" hyprctl switchxkblayout "at-translated-set-2-keyboard" "$new_layout" echo "$new_layout" > "$layout_f" -# Notification for the new keyboard layout -notify-send -u low -i "$notif" "new KB_Layout: $new_layout" +# Created by T-Crypt + +get_keyboard_names() { + hyprctl devices -j | jq -r '.keyboards[].name' +} + +change_layout() { + local got_error=false + + while read -r name; do + hyprctl switchxkblayout "$name" next + if [[ $? -eq 0 ]]; then + echo "Switched the layout for $name." + else + >&2 echo "Error while switching the layout for $name." + got_error=true + fi + done <<< "$(get_keyboard_names)" + + if [ "$got_error" = true ]; then + >&2 echo "Some errors were found during the process..." + return 1 + fi + + return 0 # All layouts had been cycled successfully +} + +if ! change_layout; then + notify-send -u low -t 2000 'Keyboard layout' 'Error: Layout change failed' + >&2 echo "Layout change failed." + exit 1 +else + # Notification for the new keyboard layout + notify-send -u low -i "$notif" "new KB_Layout: $new_layout" +fi diff --git a/config/hypr/v2.2.11 b/config/hypr/v2.2.12 index 31b3414d..31b3414d 100644 --- a/config/hypr/v2.2.11 +++ b/config/hypr/v2.2.12 |
