Added -d and -D flags to generate a default I38 setup. -D also creates the .xinitrc and .xprofiles. This is basically a silent mode with no prompts and uses the items it finds with other sane defaults, e.g. alt+escape for RP mode and control+escape for personal mode.
This commit is contained in:
Executable
+74
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This file is part of I38.
|
||||
#
|
||||
# I38 is free software: you can redistribute it and/or modify it under the terms
|
||||
# of the GNU General Public License as published by the Free Software
|
||||
# Foundation, either version 3 of the License, or (at your option) any later
|
||||
# version.
|
||||
|
||||
set -u
|
||||
|
||||
set_ini_key() {
|
||||
local filePath="$1"
|
||||
local sectionName="$2"
|
||||
local keyName="$3"
|
||||
local keyValue="$4"
|
||||
local tempFile
|
||||
|
||||
mkdir -p -- "$(dirname -- "$filePath")" || return 0
|
||||
touch -- "$filePath" || return 0
|
||||
tempFile="$(mktemp "${filePath}.tmp.XXXXXX")" || return 0
|
||||
|
||||
awk -v section="$sectionName" -v key="$keyName" -v value="$keyValue" '
|
||||
BEGIN {
|
||||
inSection = 0
|
||||
sawSection = 0
|
||||
wroteKey = 0
|
||||
}
|
||||
$0 ~ "^\\[" {
|
||||
if (inSection && !wroteKey) {
|
||||
print key "=" value
|
||||
wroteKey = 1
|
||||
}
|
||||
inSection = ($0 == "[" section "]")
|
||||
if (inSection) {
|
||||
sawSection = 1
|
||||
}
|
||||
}
|
||||
inSection && $0 ~ "^[[:space:]]*" key "[[:space:]]*=" {
|
||||
if (!wroteKey) {
|
||||
print key "=" value
|
||||
wroteKey = 1
|
||||
}
|
||||
next
|
||||
}
|
||||
{ print }
|
||||
END {
|
||||
if (sawSection && inSection && !wroteKey) {
|
||||
print key "=" value
|
||||
} else if (!sawSection) {
|
||||
print ""
|
||||
print "[" section "]"
|
||||
print key "=" value
|
||||
}
|
||||
}
|
||||
' "$filePath" > "$tempFile" && mv -- "$tempFile" "$filePath"
|
||||
rm -f -- "$tempFile"
|
||||
}
|
||||
|
||||
fileManager="${1:-}"
|
||||
fileManager="${fileManager##*/}"
|
||||
|
||||
case "$fileManager" in
|
||||
thunar)
|
||||
command -v xfconf-query > /dev/null || exit 0
|
||||
xfconf-query -c thunar -p /last-view -s ThunarDetailsView > /dev/null 2>&1 || true
|
||||
;;
|
||||
pcmanfm)
|
||||
set_ini_key "${XDG_CONFIG_HOME:-${HOME}/.config}/pcmanfm/default/pcmanfm.conf" "ui" "view_mode" "list"
|
||||
;;
|
||||
pcmanfm-qt)
|
||||
set_ini_key "${XDG_CONFIG_HOME:-${HOME}/.config}/pcmanfm-qt/lxqt/settings.conf" "FolderView" "Mode" "list"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user