summaryrefslogtreecommitdiff
path: root/raveos-plasma-theme/raveos-plasma-first-login.sh
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-plasma-theme/raveos-plasma-first-login.sh')
-rwxr-xr-x[-rw-r--r--]raveos-plasma-theme/raveos-plasma-first-login.sh86
1 files changed, 39 insertions, 47 deletions
diff --git a/raveos-plasma-theme/raveos-plasma-first-login.sh b/raveos-plasma-theme/raveos-plasma-first-login.sh
index a1a3720..f16f43d 100644..100755
--- a/raveos-plasma-theme/raveos-plasma-first-login.sh
+++ b/raveos-plasma-theme/raveos-plasma-first-login.sh
@@ -1,11 +1,10 @@
#!/usr/bin/env bash
set -euo pipefail
-marker_dir="${HOME}/.config/raveos-kde-theme"
-marker_file="${marker_dir}/.first-login-done"
+marker_dir="${HOME}/.config/raveos"
+marker_file="${marker_dir}/plasma-first-login-done"
wallpaper="/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
kickoff_image="/usr/share/raveos/plasma-theme/theme-data/plasma/org.kde.plasma.kickoff.svg"
-applet_config="${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc"
mkdir -p "${marker_dir}"
[[ -e "${marker_file}" ]] && exit 0
@@ -15,25 +14,17 @@ until qdbus6 org.kde.plasmashell /PlasmaShell >/dev/null 2>&1 || qdbus org.kde.p
sleep 2
done
-sleep 10
+sleep 5
QDBUS=""
if command -v qdbus6 >/dev/null 2>&1; then
- QDBUS="qdbus6"
+ QDBUS="qdbus6"
elif command -v qdbus >/dev/null 2>&1; then
- QDBUS="qdbus"
+ QDBUS="qdbus"
fi
if command -v plasma-apply-lookandfeel >/dev/null 2>&1; then
- plasma-apply-lookandfeel -a org.kde.breezedark.desktop >/dev/null 2>&1 || true
-fi
-
-if command -v kwriteconfig6 >/dev/null 2>&1; then
- kwriteconfig6 --file "${HOME}/.config/ksplashrc" --group KSplash --key Engine KSplashQML
- kwriteconfig6 --file "${HOME}/.config/ksplashrc" --group KSplash --key Theme org.kde.raveos.desktop
- kwriteconfig6 --file "${HOME}/.config/kdeglobals" --group KDE --key widgetStyle Breeze
- kwriteconfig6 --file "${HOME}/.config/kdeglobals" --group General --key ColorScheme BreezeDark
- kwriteconfig6 --file "${HOME}/.config/kdeglobals" --group Icons --key Theme breeze-dark
+ plasma-apply-lookandfeel -a org.kde.breezedark.desktop >/dev/null 2>&1 || true
fi
if [[ -f "${wallpaper}" ]] && command -v plasma-apply-wallpaperimage >/dev/null 2>&1; then
@@ -41,39 +32,40 @@ if [[ -f "${wallpaper}" ]] && command -v plasma-apply-wallpaperimage >/dev/null
fi
if [[ -n "$QDBUS" ]]; then
- $QDBUS org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
- if ('${wallpaper}' !== '') {
- var desktops = desktops();
- for (var i = 0; i < desktops.length; i++) {
- desktops[i].wallpaperPlugin = 'org.kde.image';
- desktops[i].currentConfigGroup = ['Wallpaper', 'org.kde.image', 'General'];
- desktops[i].writeConfig('Image', 'file://${wallpaper}');
- desktops[i].writeConfig('FillMode', 2);
- }
- }
-
- if ('${kickoff_image}' !== '') {
- function setKickoffIcon(applet, iconPath) {
- var groups = [['Configuration', 'General'], ['General']];
- for (var i = 0; i < groups.length; i++) {
- applet.currentConfigGroup = groups[i];
- applet.writeConfig('useCustomButtonImage', 'true');
- applet.writeConfig('customButtonImage', 'file://' + iconPath);
- applet.writeConfig('icon', iconPath);
+ $QDBUS org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
+ if ('${wallpaper}' !== '') {
+ var d = desktops();
+ for (var i = 0; i < d.length; i++) {
+ d[i].wallpaperPlugin = 'org.kde.image';
+ d[i].currentConfigGroup = ['Wallpaper', 'org.kde.image', 'General'];
+ d[i].writeConfig('Image', 'file://${wallpaper}');
+ d[i].writeConfig('FillMode', 2);
+ }
}
- }
- var panels = panels();
- for (var i = 0; i < panels.length; i++) {
- var applets = panels[i].applets;
- for (var j = 0; j < applets.length; j++) {
- var plugin = applets[j].pluginName;
- if (plugin === 'org.kde.plasma.kickoff' || plugin === 'org.kde.plasma.kicker' || plugin === 'org.kde.plasma.simplemenu' || plugin === 'org.kde.plasma.kickoffdashboard') {
- setKickoffIcon(applets[j], '${kickoff_image}');
- }
- }
- }
- }
- " >/dev/null 2>&1 || true
+ " >/dev/null 2>&1 || true
+fi
+
+if [[ -f "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" ]] && command -v kwriteconfig6 >/dev/null 2>&1; then
+ while IFS=: read -r containment applet; do
+ [[ -n "${containment}" && -n "${applet}" ]] || continue
+ kwriteconfig6 --file "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
+ --group Containments --group "${containment}" --group Applets \
+ --group "${applet}" --group Configuration --group General \
+ --key useCustomButtonImage true
+ kwriteconfig6 --file "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
+ --group Containments --group "${containment}" --group Applets \
+ --group "${applet}" --group Configuration --group General \
+ --key customButtonImage "file://${kickoff_image}"
+ kwriteconfig6 --file "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
+ --group Containments --group "${containment}" --group Applets \
+ --group "${applet}" --group Configuration --group General \
+ --key icon "${kickoff_image}"
+ done < <(
+ awk '
+ match($0, /^\[Containments\]\[([0-9]+)\]\[Applets\]\[([0-9]+)\]$/, m) { c=m[1]; a=m[2]; next }
+ /^plugin=org\.kde\.plasma\.(kickoff|kicker|simplemenu|kickoffdashboard)$/ && c != "" && a != "" { print c ":" a }
+ ' "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" | sort -u
+ )
fi
touch "${marker_file}"