Image 01
profile-image

steinhmor

Dolphin Folder Color

Dolphin Service Menus 37 comments

Score 84.4%
Jul 25 2017
ok. installation worked but the file dolphin-folder-color.sh can't be found ...
maybe the path changed... - Mar 18 2017
I wasn't able to install this on KDE Neon with Plasma 5.9.3
There seemed to be "old" commands in the install.sh (geometry and cation).
I edited the install.sh and it worked ...
this is my new version:

#!/bin/bash

# Copyright (C) 2014 Smith AR
#
# This program 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
#
# INSTALL: Only run this script

shopt -s extglob
shopt -s expand_aliases
shopt -s extdebug

cd $(dirname $0)

${exit:=$1}
exit=${exit:-"continue"}

declare title='Folder Color'
declare user=$(basename $HOME)
declare combobox0=('⚫ Select your version of Dolphin:' 'Plasma 5' 'KDE4')
declare combobox1=('⚫ Install on:' 'root' $user)
declare rect='330x130'
declare prefix='/usr'

declare foldercolorDE='dolphin-folder-color.desktop'
declare foldercolorSH='dolphin-folder-color.sh'
declare pathService='ServiceMenus'
declare pathExec='/usr/bin'

setPathSH() {
export tmp='.tmp'
pattern='dolphin-folder-color\.sh'
str="$pathExec/$foldercolorSH"
str=${str//+(\/)/\\/}
sed "s/$pattern/$str/" $foldercolorDE > $tmp
}

mk_directory() {
if ! [ -e $1 ] ; then
mkdir "$1"
fi
}

authorize() {
if [ `which kdesu` ] ; then
kdesu -i folder-red -n -d -c $0 finish "$choice" & disown -h
elif [ `which kdesudo` ] ; then
kdesudo -i folder-red -n -d -c $0 finish "$choice" & disown -h
else
kdialog --title ' ' --title dolphin-folder-color --error 'kdesu not found.'
exit 1
fi
}

if [ $exit == 'continue' ] ; then
choice=$(kdialog --title Dolphin \
--title "$title" \
--combobox "${combobox0[@]}" \
--default "${combobox0[1]}")
else
choice=$2
fi


if [ -z "$choice" ]
then exit 0
elif [ "$choice" == "Plasma 5" ] ; then
foldercolorDE='plasma5-folder-color.desktop'
pathService=""

export kde_config_services=`kf5-config --path services`
else
export kde_config_services=`kde4-config --path services`
fi

if [ $exit != "finish" ] && [ $UID != 0 ] ; then
kdg=$(kdialog --title Dolphin \
--title "$title" \
--combobox "${combobox1[@]}" \
--default $user)

if [ -z "$kdg" ]
then exit 0
elif [[ "$kdg" = "$user" ]]
then prefix=$HOME
fi
fi


if [[ $prefix = '/usr' ]] ; then
declare -r RootInstall=true
else
declare -r RootInstall=false
fi

chmod +x ./$foldercolorSH
chmod +x ./$foldercolorDE

succesInstall=true
if $RootInstall ; then
if [[ $UID != 0 ]] ; then
authorize
exit
else
IFS=":"

for p in $kde_config_services ; do
if [ -z ${p/\/usr\/*/} ] ; then
pathService="$p/$pathService"
fi
done

setPathSH
mk_directory $pathService
mk_directory $pathExec

kde-cp --overwrite ./$foldercolorSH "$pathExec/$foldercolorSH"
kde-cp --overwrite ./$tmp "$pathService/$foldercolorDE"

if [ $? != 0 ] ; then
succesInstall=false
fi

rm -r $tmp
fi
else
IFS=":"

for p in $kde_config_services ; do
if ! [ -d "$p" ]
then mkdir "$p"
fi
if [ -w "$p" ] ; then
pathService="$p/$pathService"
pathExec="$pathService"
break
fi
done

setPathSH
mk_directory $pathService

kde-cp --overwrite ./$foldercolorSH "$pathService/$foldercolorSH"
kde-cp --overwrite ./$tmp "$pathService/$foldercolorDE"
if [[ $? != 0 ]] ; then
succesInstall=false
fi
rm $tmp
fi

if $succesInstall ; then
msg="Installed successfully.
\nPlease restart Dolphin to update the Service Menus."
else
msg="Installation failed!"
fi
kdialog --title Dolphin --title "$title" --msgbox "$msg"


- Mar 18 2017