noctalia
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
config_dir="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
config_file="$config_dir/fuzzel/fuzzel.ini"
|
||||
include_line="include=$config_dir/fuzzel/themes/noctalia"
|
||||
|
||||
mkdir -p "$(dirname "$config_file")"
|
||||
|
||||
write_if_changed() {
|
||||
local target="$1" tmp="$2"
|
||||
if [ ! -e "$target" ] && [ ! -L "$target" ]; then
|
||||
mv "$tmp" "$target"
|
||||
return
|
||||
fi
|
||||
if ! cmp -s "$target" "$tmp"; then
|
||||
cat "$tmp" >"$target"
|
||||
fi
|
||||
rm -f "$tmp"
|
||||
}
|
||||
|
||||
if [ ! -f "$config_file" ]; then
|
||||
echo "$include_line" >"$config_file"
|
||||
elif grep -q "^$include_line$" "$config_file"; then
|
||||
:
|
||||
elif grep -q '^include=.*themes' "$config_file"; then
|
||||
tmp_file="$(mktemp "${config_file}.tmp.XXXXXX")"
|
||||
sed 's|^include=.*themes.*|'"$include_line"'|' "$config_file" >"$tmp_file"
|
||||
write_if_changed "$config_file" "$tmp_file"
|
||||
else
|
||||
[ -s "$config_file" ] && [ -n "$(tail -c1 "$config_file")" ] && echo >>"$config_file"
|
||||
echo "$include_line" >>"$config_file"
|
||||
fi
|
||||
Reference in New Issue
Block a user