feat: hyprland fix error on new version & change wallpaper to video wallpaper

This commit is contained in:
grassblock 2025-01-17 13:54:22 +08:00
parent 2976fbab63
commit fadb073153
5 changed files with 140 additions and 16 deletions

View file

@ -0,0 +1,53 @@
#!/bin/bash
# Output file
output_file="$HOME/.config/hypr/conf/env.conf"
# Well-known environment variables to skip
skip_vars="HOME"
# Define the output file
output_file="$HOME/.config/hypr/conf/env.conf"
# Write Info into file
echo -e "# This file was imported from envvars config in .config .\n# Don't edit this file! This file would be override by import-env script.\n" > "$output_file"
# Temporary associative array to store referenced variables
declare -A var_references
# Process each .conf file in the directory
for conf_file in ~/.config/environment.d/*.conf; do
while IFS= read -r line || [ -n "$line" ]; do
# Preserve comments
if [[ $line =~ ^#.* ]]; then
echo "$line" >> "$output_file"
continue
fi
# Handle variable definitions, skipping lines without '='
if [[ $line =~ ^([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then
key="${BASH_REMATCH[1]}"
value="${BASH_REMATCH[2]}"
# Check if the value references another variable
if [[ $value =~ \$(\{?[A-Za-z_][A-Za-z0-9_]*\}?) ]]; then
var_name="${BASH_REMATCH[1]}"
var_name="${var_name//\{\}/}"
# If the referenced variable is not in the skip list, add to references
if ! [[ $skip_vars =~ $var_name ]]; then
if [[ -z ${var_references[$var_name]} ]]; then
var_ref_value=$(eval echo \$$var_name)
echo "\$$var_name=$var_ref_value" >> "$output_file"
var_references[$var_name]=$var_ref_value
fi
fi
fi
# Write the environment variable in the desired format
echo "env=${key},${value}" >> "$output_file"
fi
done < "$conf_file"
done
echo "Merged environment variables written to $output_file"

View file

@ -0,0 +1,11 @@
#!/bin/bash
# Define the output file
output_file="$HOME/.config/hypr/conf/env.conf"
# Write Info into file
echo -e "# This file was imported from envvars config in .config .\n# Don't edit this file! This file would be override by import-env script.\n" > "$output_file"
# Use sed to process all .conf files in the directory
sed '/^#/! s/^\([^=]\+\)=\(.*\)$/env=\1,\2/' ~/.config/environment.d/*.conf >> "$output_file"

View file

@ -0,0 +1,2 @@
#!/usr/bin/env bash
mpvpaper -p -o "no-audio loop keepaspect=yes load-scripts=no vo=libmpv" eDP-1 ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/workshop/content/431960/2936220664/rooftop.mp4