Compare commits
12 Commits
09cfd7d7c1
...
fix-waifus
Author | SHA1 | Date | |
---|---|---|---|
529e71f854 | |||
d7f063b128 | |||
022c9d8fff | |||
4e9d0b8c03 | |||
fe20bfdc1c | |||
93e6c14ede | |||
f68fc3234d | |||
a36b2aa3f8 | |||
d1ad88abd3 | |||
d7517bd21d | |||
7e0460cb6c | |||
afe8a29a24 |
2
.gitmodules
vendored
@ -1,3 +1,3 @@
|
||||
[submodule "lolcat"]
|
||||
path = lolcat
|
||||
url = git@github.com:jaseg/lolcat.git
|
||||
url = https://github.com/sevi-kun/lolcat.git
|
||||
|
16
README.md
@ -12,6 +12,22 @@ Just a little script and some 256x images for some terminal shine UwU.
|
||||
|
||||
Just place this folder somewhere, and add the path of the motd.sh to your .bashrc.
|
||||
|
||||
```
|
||||
git clone https://git.nussnougate.net/Lexeloid/.motd.git
|
||||
```
|
||||
|
||||
### lolcat
|
||||
|
||||
> For faster lolcat we use a C implementation from [jaseg](https://github.com/jaseg/lolcat).
|
||||
|
||||
```
|
||||
git submodule init
|
||||
git submodule update
|
||||
cd lolcat
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## Limitations
|
||||
|
||||
At the moment, it only works in the kitty terminal.
|
||||
|
57
motd.sh
@ -1,41 +1,56 @@
|
||||
# Fancy waifu motd
|
||||
#####################################################################
|
||||
# #
|
||||
# Fancy waifu motd #
|
||||
# #
|
||||
#####################################################################
|
||||
|
||||
MOTDPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" # path to motd folder
|
||||
CACHEFILE="/tmp/waifu.cache" # to cache waifu state
|
||||
RESOLUTION=256 # resolution of waifu
|
||||
CENTER=true # center motd?
|
||||
LOLCAT=false # use lolcat? (start delay)
|
||||
UNAMEARG="-sr" # uname arguments
|
||||
UPTIMEARG="--pretty" # uptime arguments
|
||||
tput_cols=$(/usr/bin/tput cols) # terminal columns
|
||||
MINTERMWIDTH=200 # minimal width of term, to display motd
|
||||
UNAMECOLOR="\033[1;38;5;93m"
|
||||
UPTIMECOLOR="\033[1;38;5;99m"
|
||||
|
||||
WAIFUS=$(($(ls $MOTDPATH/waifus/*.256.png | wc -w) - 1)) # count of waifus
|
||||
##### User config
|
||||
#####################################################################
|
||||
RESOLUTION=128 # resolution of waifu
|
||||
CENTER=true # center motd?
|
||||
LOLCAT=true # use lolcat? (start delay)
|
||||
UNAMEARG="-sr" # uname arguments
|
||||
UPTIMEARG="--pretty" # uptime arguments
|
||||
MINTERMWIDTH=100 # minimal width of term, to display motd (change depending on resolution, 0 to disable)
|
||||
MOTDCOLOR="\033[0m" # Bash color code for motd text (no lolcat)
|
||||
UNAMECOLOR="\033[0m" # Bash color code for uname (no lolcat)
|
||||
UPTIMECOLOR="\033[0m" # Bash color code for uptime (no lolcat)
|
||||
#####################################################################
|
||||
|
||||
|
||||
##### Script config
|
||||
#####################################################################
|
||||
CACHEFILE="$HOME/.cache/waifu.cache" # to cache waifu state
|
||||
MOTDPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" # path to motd folder
|
||||
tput_cols=$(/usr/bin/tput cols) # terminal columns
|
||||
WAIFUS=$(($(ls $MOTDPATH/waifus/*.256.png | wc -w) - 1)) # count of waifus
|
||||
lx="$MOTDPATH/lolcat/lolcat" # lolcat
|
||||
#####################################################################
|
||||
|
||||
|
||||
function output() {
|
||||
val=0
|
||||
if [ $1 == "true" ]; then val=$(($val + 1)); fi
|
||||
if [ $2 == "true" ]; then val=$(($val + 2)); fi
|
||||
if [ -f "/usr/games/lolcat" ]; then lx="/usr/games/lolcat"; else lx="/usr/bin/lolcat"; fi
|
||||
case "$val" in
|
||||
0)
|
||||
echo -en $UPTIMECOLOR
|
||||
/bin/cat $MOTDPATH/motd
|
||||
echo -en $UNAMECOLOR
|
||||
uname $UNAMEARG
|
||||
echo -en $UPTIMECOLOR
|
||||
uptime $UPTIMEARG
|
||||
;;
|
||||
|
||||
1)
|
||||
/bin/cat $MOTDPATH/motd | $lx
|
||||
echo "test"
|
||||
echo -en $UNAMECOLOR
|
||||
uname $UNAMEARG | $lx
|
||||
echo -en $UPTIMECOLOR
|
||||
uptime $UPTIMEARG | $lx
|
||||
;;
|
||||
|
||||
2)
|
||||
echo -en $MOTDCOLOR
|
||||
/bin/cat $MOTDPATH/motd | awk '{ z = '$tput_cols' - length; y = int(z / 2); x = z - y; printf "%*s%s%*s\n", x, "", $0, y, ""; }'
|
||||
echo -en $UNAMECOLOR
|
||||
uname $UNAMEARG | awk '{ z = '$tput_cols' - length; y = int(z / 2); x = z - y; printf "%*s%s%*s\n", x, "", $0, y, ""; }'
|
||||
@ -44,9 +59,7 @@ function output() {
|
||||
;;
|
||||
3)
|
||||
/bin/cat $MOTDPATH/motd | awk '{ z = '$tput_cols' - length; y = int(z / 2); x = z - y; printf "%*s%s%*s\n", x, "", $0, y, ""; }' | $lx
|
||||
echo -en $UNAMECOLOR
|
||||
uname $UNAMEARG | awk '{ z = '$tput_cols' - length; y = int(z / 2); x = z - y; printf "%*s%s%*s\n", x, "", $0, y, ""; }' | $lx
|
||||
echo -en $UPTIMECOLOR
|
||||
uptime $UPTIMEARG | awk '{ z = '$tput_cols' - length; y = int(z / 2); x = z - y; printf "%*s%s%*s\n", x, "", $0, y, ""; }' | $lx
|
||||
;;
|
||||
esac
|
||||
@ -54,8 +67,8 @@ function output() {
|
||||
printf '\033[0m' #reset colors
|
||||
}
|
||||
|
||||
# if [ $tput_cols -gt $MINTERMWIDTH ]
|
||||
# then
|
||||
if [ $tput_cols -gt $MINTERMWIDTH ]
|
||||
then
|
||||
if [ $TERM == "xterm-kitty" ]
|
||||
then
|
||||
if [ $((0 + RANDOM % 2)) -eq 0 ]
|
||||
@ -81,4 +94,4 @@ printf '\033[0m' #reset colors
|
||||
fi
|
||||
fi
|
||||
output $LOLCAT $CENTER
|
||||
# fi
|
||||
fi
|
||||
|
13
waifus/count.py
Normal file
@ -0,0 +1,13 @@
|
||||
# This script checks if corresponding png in format waifu-<count>.<res>.png exists. Values for <res> can be 64, 128, 256.
|
||||
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
count = 513
|
||||
|
||||
for i in range(1, count + 1):
|
||||
for res in [64, 128, 256]:
|
||||
filename = "waifu-" + str(i) + "." + str(res) + ".png"
|
||||
if not os.path.exists(filename):
|
||||
print(filename)
|
45
waifus/rename.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
shopt -s nullglob # Prevent errors if no files match
|
||||
|
||||
# Create a temporary directory
|
||||
temp_dir=$(mktemp -d)
|
||||
|
||||
# Associative array to store unique image bases
|
||||
declare -A unique_images
|
||||
|
||||
# Extract base names without resolution suffix
|
||||
for file in *.64.png; do
|
||||
base="${file%.64.png}"
|
||||
unique_images["$base"]=1
|
||||
done
|
||||
|
||||
# Convert keys to sorted array
|
||||
unique_bases=("${!unique_images[@]}")
|
||||
IFS=$'\n' sorted_bases=($(sort <<<"${unique_bases[*]}"))
|
||||
unset IFS
|
||||
|
||||
# Renaming process
|
||||
counter=0
|
||||
for base in "${sorted_bases[@]}"; do
|
||||
for res in 64 128 256; do
|
||||
old_file="${base}.${res}.png"
|
||||
new_file="${temp_dir}/waifu-${counter}.${res}.png"
|
||||
|
||||
if [[ -f "$old_file" ]]; then
|
||||
mv "$old_file" "$new_file"
|
||||
echo "Copied: $old_file -> $new_file"
|
||||
fi
|
||||
done
|
||||
((counter++))
|
||||
done
|
||||
|
||||
# Move the renamed files back
|
||||
echo "Moving new files back..."
|
||||
mv "${temp_dir}"/* .
|
||||
|
||||
# Remove the temporary directory
|
||||
rmdir "${temp_dir}"
|
||||
|
||||
echo "Renaming complete and safe!"
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 42 KiB |