mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-18 07:24:10 +01:00
fix: replace webp by png
This commit is contained in:
@@ -9,8 +9,8 @@
|
||||
# copy the scripts directory recursively
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/hypr/wallpapers/lockscreen.webp".source = ../wallpapers/lockscreen.webp;
|
||||
home.file.".config/hypr/wallpapers/wallpaper.webp".source = ../wallpapers/wallpaper.webp;
|
||||
home.file.".config/hypr/wallpapers/lockscreen.png".source = ../wallpapers/lockscreen.png;
|
||||
home.file.".config/hypr/wallpapers/wallpaper.png".source = ../wallpapers/wallpaper.png;
|
||||
|
||||
# allow fontconfig to discover fonts and configurations installed through home.packages
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Background Image
|
||||
IMAGE="$HOME/.config/hypr/wallpapers/lockscreen.webp"
|
||||
IMAGE="$HOME/.config/hypr/wallpapers/lockscreen.png"
|
||||
|
||||
# Colors
|
||||
bg='1e1e2e' bgl='313244' fg='d9e0ee'
|
||||
|
||||
@@ -14,7 +14,7 @@ done
|
||||
/usr/lib/xfce-polkit/xfce-polkit &
|
||||
|
||||
# Set wallpaper
|
||||
swaybg --output '*' --mode fill --image ~/.config/hypr/wallpapers/wallpaper.webp &
|
||||
swaybg --output '*' --mode fill --image ~/.config/hypr/wallpapers/wallpaper.png &
|
||||
|
||||
# Apply themes
|
||||
~/.config/hypr/scripts/gtkthemes &
|
||||
|
||||
@@ -346,7 +346,7 @@ exec --no-startup-id dex --autostart --environment i3
|
||||
|
||||
# set wallpaper
|
||||
# exec --no-startup-id sleep 2 && nitrogen --restore
|
||||
exec --no-startup-id sleep 1 && feh --bg-fill ~/.config/i3/wallpaper.webp
|
||||
exec --no-startup-id sleep 1 && feh --bg-fill ~/.config/i3/wallpaper.png
|
||||
|
||||
# set powersavings for display:
|
||||
exec --no-startup-id xset s 480 dpms 600 600 600
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# 直接从当前文件夹中读取配置文件作为配置内容
|
||||
|
||||
# wallpaper, binary file
|
||||
home.file.".config/i3/wallpaper.webp".source = ../wallpapers/wallpaper.webp;
|
||||
home.file.".config/i3/wallpaper.png".source = ../wallpapers/wallpaper.png;
|
||||
home.file.".config/i3/config".source = ./config;
|
||||
home.file.".config/i3/i3blocks.conf".source = ./i3blocks.conf;
|
||||
home.file.".config/i3/keybindings".source = ./keybindings;
|
||||
|
||||
22
home/wallpapers/convert_to_png.nu
Normal file
22
home/wallpapers/convert_to_png.nu
Normal file
@@ -0,0 +1,22 @@
|
||||
# convert all images to png
|
||||
|
||||
def to_png [old_path: string, old_format: string] {
|
||||
# 将后缀改为 .png 得到新图片的 path
|
||||
let webp_path = ($old_path | split row $old_format | append ".png" | str join)
|
||||
# 使用 ffmpeg 进行格式转换
|
||||
ffmpeg -y -i $old_path $webp_path
|
||||
# 删除旧图片
|
||||
rm $old_path
|
||||
}
|
||||
|
||||
def convert_format [old_format: string] {
|
||||
# 递归找出所有大于 10kib 的图片
|
||||
let old_paths = (ls $"**/*($old_format)" | where size > 10kb | each {|it| $it.name})
|
||||
$old_paths | to md
|
||||
|
||||
# 1. 执行图片格式转换与压缩,同时删除原图片
|
||||
$old_paths | each { |it| to_png $it $old_format }
|
||||
}
|
||||
|
||||
convert_format ".webp"
|
||||
# convert_format ".jpg"
|
||||
@@ -1,37 +0,0 @@
|
||||
# convert all png/jpeg images to webp
|
||||
|
||||
def to_webp [old_path: string, old_format: string] {
|
||||
# 将后缀改为 .webp 得到新图片的 path
|
||||
let webp_path = ($old_path | split row $old_format | append ".webp" | str collect)
|
||||
# 使用 ffmpeg 进行格式转换
|
||||
ffmpeg -y -i $old_path -c:v libwebp $webp_path
|
||||
# 删除旧图片
|
||||
rm $old_path
|
||||
}
|
||||
|
||||
def replace_with_webp [old_path: string, old_format: string] {
|
||||
# 将后缀改为 .webp 得到新图片的 path
|
||||
let webp_path = ($old_path | split row $old_format | append ".webp" | str collect)
|
||||
# 图片的旧名称与新名称
|
||||
let old_name = ($old_path | path basename)
|
||||
let webp_name = ($webp_path | path basename)
|
||||
# 批量将 .md 文件中的所有图片名称,改为对应的 webp 图片名称
|
||||
# 注:MacOS 需要首先安装好 gsed,Linux 请将下面的 gsed 替换为 sed
|
||||
let cmd = $"gsed -ri 's/($old_name)/($webp_name)/g' `find . -name "*.md"`"
|
||||
echo $cmd
|
||||
bash -c $cmd
|
||||
}
|
||||
|
||||
def convert_format(old_format: string) {
|
||||
# 递归找出所有大于 10kib 的图片
|
||||
let old_paths = (ls $"**/*($old_format)" | where size > 10kb | each {|it| $it.name})
|
||||
$old_paths | to md | save --raw ./old_paths.txt
|
||||
|
||||
# 1. 执行图片格式转换与压缩,同时删除原图片
|
||||
$old_paths | each { |it| to_webp $it $old_format }
|
||||
# 2. 执行 .md 文档中的图片名称替换
|
||||
$old_paths | each { |it| replace_with_webp $it $old_format }
|
||||
}
|
||||
|
||||
convert_format ".png"
|
||||
convert_format ".jpg"
|
||||
BIN
home/wallpapers/lockscreen.png
Normal file
BIN
home/wallpapers/lockscreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 254 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
BIN
home/wallpapers/wallpaper-2.png
Normal file
BIN
home/wallpapers/wallpaper-2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 MiB |
BIN
home/wallpapers/wallpaper.png
Normal file
BIN
home/wallpapers/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 765 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 373 KiB |
Reference in New Issue
Block a user