diff options
| author | Mosder <xmosder12@gmail.com> | 2025-12-08 19:49:48 +0000 |
|---|---|---|
| committer | Mosder <xmosder12@gmail.com> | 2025-12-08 19:49:48 +0000 |
| commit | 08787600c2065d49ce560186b619ac25fe1622fb (patch) | |
| tree | 461ceaeb722245d9001391178926b488d50140a8 /desktop/.config/hypr/scripts | |
| parent | 2b2e01cbff377309d7d63f6090c25eb9e483065a (diff) | |
desktop hyprland
Diffstat (limited to 'desktop/.config/hypr/scripts')
| -rwxr-xr-x | desktop/.config/hypr/scripts/equalize-windows.sh | 87 | ||||
| -rwxr-xr-x | desktop/.config/hypr/scripts/randomize-wallpapers.sh | 16 | ||||
| -rwxr-xr-x | desktop/.config/hypr/scripts/zoom.sh | 9 |
3 files changed, 112 insertions, 0 deletions
diff --git a/desktop/.config/hypr/scripts/equalize-windows.sh b/desktop/.config/hypr/scripts/equalize-windows.sh new file mode 100755 index 0000000..cd43729 --- /dev/null +++ b/desktop/.config/hypr/scripts/equalize-windows.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +ITERS=3 + +# get address of the window to return to +address=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') + +# define move directions +dir1=$1 +dir2=r +if [[ $dir1 == u ]]; then + dir2=d +fi + +# move max to the left/top +prev_window="" +window=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') +while [[ $window != $prev_window ]]; do + hyprctl dispatch movefocus $dir1 + prev_window=$window + window=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') +done + +# get start location +at=$(hyprctl activewindow | awk -F" " 'NR==4 {print $2}') +if [[ $dir1 == l ]]; then + start_location=$(echo $at | awk -F"," '{print $1}') +else + start_location=$(echo $at | awk -F"," '{print $2}') +fi + +# count windows in the line +window_count=0 +prev_window="" +while [[ $window != $prev_window ]]; do + hyprctl dispatch movefocus $dir2 + prev_window=$window + window=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') + window_count=$(($window_count+1)) +done + +# get end location +at=$(hyprctl activewindow | awk -F" " 'NR==4 {print $2}') +size=$(hyprctl activewindow | awk -F" " 'NR==5 {print $2}') +if [[ $dir1 == l ]]; then + at=$(echo $at | awk -F"," '{print $1}') + size=$(echo $size | awk -F"," '{print $1}') +else + at=$(echo $at | awk -F"," '{print $2}') + size=$(echo $size | awk -F"," '{print $2}') +fi +end_location=$(($at+$size)) + +# calculate full size and size per window +full_size=$(($end_location - $start_location)) +size_per_window=$(($full_size / $window_count)) + +# set sizes +i=0 +while [[ $i -lt $ITERS ]]; do + i=$(($i+1)) + window=0 + while [[ $window -lt $window_count ]]; do + window=$(($window+1)) + size=$(hyprctl activewindow | awk -F" " 'NR==5 {print $2}') + if [[ $dir1 == l ]]; then + #other_side=$(echo $size | awk -F"," '{print $2}') + #hyprctl dispatch resizeactive exact $size_per_window $other_side + size=$(echo $size | awk -F"," '{print $1}') + diff=$(($size_per_window - $size)) + hyprctl dispatch resizeactive $diff 0 + else + #other_side=$(echo $size | awk -F"," '{print $1}') + #hyprctl dispatch resizeactive exact $other_side $size_per_window + size=$(echo $size | awk -F"," '{print $2}') + diff=$(($size_per_window - $size)) + hyprctl dispatch resizeactive 0 $diff + fi + hyprctl dispatch movefocus $dir1 + done + temp=$dir1 + dir1=$dir2 + dir2=$temp +done + +# return to starting window +hyprctl dispatch focuswindow address:0x$address diff --git a/desktop/.config/hypr/scripts/randomize-wallpapers.sh b/desktop/.config/hypr/scripts/randomize-wallpapers.sh new file mode 100755 index 0000000..c7bd651 --- /dev/null +++ b/desktop/.config/hypr/scripts/randomize-wallpapers.sh @@ -0,0 +1,16 @@ +#!/usr/bin/bash + +WALLPAPER_DIR_2K="$HOME/wallpapers/2k" +WALLPAPER_DIR_HD="$HOME/wallpapers/hd" + +# Get random wallpapers +WALLPAPER_2K=$(find $WALLPAPER_DIR_2K -type f | shuf -n 1) +WALLPAPER_HD=$(find $WALLPAPER_DIR_HD -type f | shuf -n 1) + +# Create symlinks to new random wallpapers +SYMLINK_2K=$WALLPAPER_DIR_2K/.current +SYMLINK_HD=$WALLPAPER_DIR_HD/.current +rm $SYMLINK_2K +rm $SYMLINK_HD +ln -s $WALLPAPER_2K $SYMLINK_2K +ln -s $WALLPAPER_HD $SYMLINK_HD diff --git a/desktop/.config/hypr/scripts/zoom.sh b/desktop/.config/hypr/scripts/zoom.sh new file mode 100755 index 0000000..433f899 --- /dev/null +++ b/desktop/.config/hypr/scripts/zoom.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +ZOOM=$(hyprctl getoption cursor:zoom_factor | grep float | awk -F" " '{print $2}') +ZOOM=$(echo "scale=0; ($ZOOM+1)/1" | bc) +if [[ $ZOOM -gt $MAX_ZOOM ]]; then + ZOOM=1 +fi + +hyprctl -q keyword cursor:zoom_factor $ZOOM |
