| OLD | NEW |
| 1 | 1 |
| 2 #---------------------------------------------------------------------------- | 2 #---------------------------------------------------------------------------- |
| 3 # Common utility functions included in all XDG wrapper scripts | 3 # Common utility functions included in all XDG wrapper scripts |
| 4 #---------------------------------------------------------------------------- | 4 #---------------------------------------------------------------------------- |
| 5 | 5 |
| 6 DEBUG() | 6 DEBUG() |
| 7 { | 7 { |
| 8 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && return 0; | 8 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && return 0; |
| 9 [ ${XDG_UTILS_DEBUG_LEVEL} -lt $1 ] && return 0; | 9 [ ${XDG_UTILS_DEBUG_LEVEL} -lt $1 ] && return 0; |
| 10 shift | 10 shift |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 echo "Use 'man @NAME@' or '@NAME@ --manual' for additional info." | 162 echo "Use 'man @NAME@' or '@NAME@ --manual' for additional info." |
| 163 exit_success | 163 exit_success |
| 164 ;; | 164 ;; |
| 165 | 165 |
| 166 --manual) | 166 --manual) |
| 167 manualpage | 167 manualpage |
| 168 exit_success | 168 exit_success |
| 169 ;; | 169 ;; |
| 170 | 170 |
| 171 --version) | 171 --version) |
| 172 echo "@NAME@ 1.0.2" | 172 echo "@NAME@ 1.1.0 rc1" |
| 173 exit_success | 173 exit_success |
| 174 ;; | 174 ;; |
| 175 esac | 175 esac |
| 176 done | 176 done |
| 177 } | 177 } |
| 178 | 178 |
| 179 check_common_commands "$@" | 179 check_common_commands "$@" |
| 180 | 180 |
| 181 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL; | 181 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL; |
| 182 if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then | 182 if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then |
| 183 # Be silent | 183 # Be silent |
| 184 xdg_redirect_output=" > /dev/null 2> /dev/null" | 184 xdg_redirect_output=" > /dev/null 2> /dev/null" |
| 185 else | 185 else |
| 186 # All output to stderr | 186 # All output to stderr |
| 187 xdg_redirect_output=" >&2" | 187 xdg_redirect_output=" >&2" |
| 188 fi | 188 fi |
| 189 | 189 |
| 190 #-------------------------------------- | 190 #-------------------------------------- |
| 191 # Checks for known desktop environments | 191 # Checks for known desktop environments |
| 192 # set variable DE to the desktop environments name, lowercase | 192 # set variable DE to the desktop environments name, lowercase |
| 193 | 193 |
| 194 detectDE() | 194 detectDE() |
| 195 { | 195 { |
| 196 if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; | 196 if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; |
| 197 elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; | 197 elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; |
| 198 elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/D
Bus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/nul
l 2>&1` ; then DE=gnome; | 198 elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/D
Bus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/nul
l 2>&1` ; then DE=gnome; |
| 199 elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/nul
l 2>&1; then DE=xfce; | 199 elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/nul
l 2>&1; then DE=xfce; |
| 200 elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; | 200 fi |
| 201 |
| 202 if [ x"$DE" = x"" ]; then |
| 203 # if all else fails, fallback to checking $DESKTOP_SESSION |
| 204 case "$DESKTOP_SESSION" in |
| 205 LXDE) |
| 206 DE=lxde; |
| 207 ;; |
| 208 xfce|xfce4) |
| 209 DE=xfce; |
| 210 ;; |
| 211 esac |
| 212 fi |
| 213 |
| 214 if [ x"$DE" = x"gnome" ]; then |
| 215 # gnome-default-applications-properties is only available in GNOME 2.x |
| 216 # but not in GNOME 3.x |
| 217 which gnome-default-applications-properties 2> /dev/null || DE="gnome3" |
| 201 fi | 218 fi |
| 202 } | 219 } |
| 203 | 220 |
| 204 #---------------------------------------------------------------------------- | 221 #---------------------------------------------------------------------------- |
| 205 # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4 | 222 # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4 |
| 206 # It also always returns 1 in KDE 3.4 and earlier | 223 # It also always returns 1 in KDE 3.4 and earlier |
| 207 # Simply return 0 in such case | 224 # Simply return 0 in such case |
| 208 | 225 |
| 209 kfmclient_fix_exit_code() | 226 kfmclient_fix_exit_code() |
| 210 { | 227 { |
| 211 version=`kde${KDE_SESSION_VERSION}-config --version 2>/dev/null | grep '^KDE
'` | 228 [ x"$KDE_SESSION_VERSION" = x"4" ] && return 0; |
| 229 version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'` |
| 212 major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'` | 230 major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'` |
| 213 minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'` | 231 minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'` |
| 214 release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'` | 232 release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'` |
| 215 test "$major" -gt 3 && return $1 | 233 test "$major" -gt 3 && return $1 |
| 216 test "$minor" -gt 5 && return $1 | 234 test "$minor" -gt 5 && return $1 |
| 217 test "$release" -gt 4 && return $1 | 235 test "$release" -gt 4 && return $1 |
| 218 return 0 | 236 return 0 |
| 219 } | 237 } |
| OLD | NEW |