From cafd3adcbaa6714dc3674788401cf0f58fbbcb5e Mon Sep 17 00:00:00 2001 From: Bryan Quigley Date: Wed, 6 Jan 2016 15:11:09 -0500 Subject: Just use xdg-open Remove kde4/tde/open-url.sh and have LO just use xdg-open. It's available on TDE builds as well as any recent KDE. We recently did this just for gnome-open-url and have had no reported issues. Change-Id: I4e1ee6caef368051af92023fa382b6fed9d9397e Reviewed-on: https://gerrit.libreoffice.org/21173 Tested-by: Jenkins Reviewed-by: Michael Stahl Reviewed-by: Jan-Marek Glogowski --- shell/Package_scripts.mk | 2 - shell/Package_scripts_kde.mk | 4 -- shell/Package_scripts_tde.mk | 4 -- shell/source/unix/exec/shellexec.cxx | 47 +--------------- shell/source/unix/misc/kde4-open-url.sh | 21 -------- shell/source/unix/misc/open-url.sh | 96 --------------------------------- shell/source/unix/misc/tde-open-url.sh | 25 --------- 7 files changed, 2 insertions(+), 197 deletions(-) delete mode 100755 shell/source/unix/misc/kde4-open-url.sh delete mode 100755 shell/source/unix/misc/open-url.sh delete mode 100755 shell/source/unix/misc/tde-open-url.sh (limited to 'shell') diff --git a/shell/Package_scripts.mk b/shell/Package_scripts.mk index 1b310ca42a57..6962fe5567e4 100644 --- a/shell/Package_scripts.mk +++ b/shell/Package_scripts.mk @@ -9,6 +9,4 @@ $(eval $(call gb_Package_Package,shell_scripts,$(SRCDIR)/shell/source/unix/misc)) -$(eval $(call gb_Package_add_file,shell_scripts,$(LIBO_BIN_FOLDER)/open-url,open-url.sh)) - # vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/shell/Package_scripts_kde.mk b/shell/Package_scripts_kde.mk index b9168d63c0e0..4dc1cf5bcdae 100644 --- a/shell/Package_scripts_kde.mk +++ b/shell/Package_scripts_kde.mk @@ -9,8 +9,4 @@ $(eval $(call gb_Package_Package,shell_scripts_kde,$(SRCDIR)/shell/source/unix/misc)) -ifeq ($(ENABLE_KDE4),TRUE) -$(eval $(call gb_Package_add_file,shell_scripts_kde,$(LIBO_BIN_FOLDER)/kde4-open-url,kde4-open-url.sh)) -endif - # vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/shell/Package_scripts_tde.mk b/shell/Package_scripts_tde.mk index 0d1111fe8c10..d73d82417b2e 100644 --- a/shell/Package_scripts_tde.mk +++ b/shell/Package_scripts_tde.mk @@ -9,8 +9,4 @@ $(eval $(call gb_Package_Package,shell_scripts_tde,$(SRCDIR)/shell/source/unix/misc)) -ifeq ($(ENABLE_TDE),TRUE) -$(eval $(call gb_Package_add_file,shell_scripts_tde,$(LIBO_BIN_FOLDER)/tde-open-url,tde-open-url.sh)) -endif - # vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx index 7dadfd213e24..89481bf2c2db 100644 --- a/shell/source/unix/exec/shellexec.cxx +++ b/shell/source/unix/exec/shellexec.cxx @@ -153,52 +153,9 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar // the CWD) on stderr and SystemShellExecuteException. aBuffer.append("open --"); #else - // The url launchers are expected to be in the $BRAND_BASE_DIR/LIBO_LIBEXEC_FOLDER - // directory: - css::uno::Reference< css::util::XMacroExpander > exp = css::util::theMacroExpander::get(m_xContext); - OUString aProgramURL; - try { - aProgramURL = exp->expandMacros( "$BRAND_BASE_DIR/" LIBO_LIBEXEC_FOLDER "/"); - } catch (css::lang::IllegalArgumentException &) - { - throw SystemShellExecuteException( - "Could not expand $BRAND_BASE_DIR path", - static_cast < XSystemShellExecute * > (this), ENOENT ); - } - - OUString aProgram; - if ( FileBase::E_None != FileBase::getSystemPathFromFileURL(aProgramURL, aProgram)) - { - throw SystemShellExecuteException( - "Cound not convert executable path", - static_cast < XSystemShellExecute * > (this), ENOENT ); - } - - OString aTmp = OUStringToOString(aProgram, osl_getThreadTextEncoding()); - escapeForShell(aBuffer, aTmp); - -#ifdef SOLARIS - if ( m_aDesktopEnvironment.getLength() == 0 ) - m_aDesktopEnvironment = OString("GNOME"); -#endif - - // Respect the desktop environment - if there is an executable named - // -open-url, pass the url to this one instead - // of the default "open-url" script. - if ( !m_aDesktopEnvironment.isEmpty() ) - { - OString aDesktopEnvironment(m_aDesktopEnvironment.toAsciiLowerCase()); - OStringBuffer aCopy(aTmp); - - aCopy.append(aDesktopEnvironment + "-open-url"); - - if ( 0 == access( aCopy.getStr(), X_OK) ) - { - aBuffer.append(aDesktopEnvironment + "-"); - } - } + // Just use xdg-open on non-Mac - aBuffer.append("open-url"); + aBuffer.append("/usr/bin/xdg-open"); #endif aBuffer.append(" "); escapeForShell(aBuffer, OUStringToOString(aURL, osl_getThreadTextEncoding())); diff --git a/shell/source/unix/misc/kde4-open-url.sh b/shell/source/unix/misc/kde4-open-url.sh deleted file mode 100755 index c6e8b17453e8..000000000000 --- a/shell/source/unix/misc/kde4-open-url.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -# use kde-open or xdg-open if available, falling back to our own open-url -kde-open "$1" 2>/dev/null || xdg-open "$1" 2>/dev/null || `dirname "$0"`/open-url "$1" 2>/dev/null diff --git a/shell/source/unix/misc/open-url.sh b/shell/source/unix/misc/open-url.sh deleted file mode 100755 index 72aa566e9aa9..000000000000 --- a/shell/source/unix/misc/open-url.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/sh -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -# tries to locate the executable specified -# as first parameter in the user's path. -which() { - if [ ! -z "$1" ]; then - for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do - if [ -x "$i/$1" -a ! -d "$i/$1" ]; then - echo "$i/$1" - break; - fi - done - fi -} - -# checks for the original mozilla start script(s) -# and restrict the "-remote" semantics to those. -run_mozilla() { - if file "$1" | grep script > /dev/null && grep NPL "$1" > /dev/null; then - "$1" -remote 'ping()' 2>/dev/null >/dev/null - if [ $? -eq 2 ]; then - "$1" "$2" & - else - "$1" -remote \ - "openURL($(printf '%s' "$2" \ - | sed -e 's/(/%28/g' -e 's/)/%29/g' -e 's/,/%2C/g'),new-window)" & - fi - else - "$1" "$2" & - fi -} - -# special handling for mailto: uris -if echo "$1" | grep '^mailto:' > /dev/null; then - # check for xdg-email - mailer=`which xdg-email` - if [ ! -z "$mailer" ]; then - $mailer "$1" & - exit 0 - fi - # check $MAILER variable - if [ ! -z "$MAILER" ]; then - $MAILER "$1" & - exit 0 - fi - # mozilla derivates may need -remote semantics - for i in thunderbird mozilla netscape icedove iceape; do - mailer=`which $i` - if [ ! -z "$mailer" ]; then - run_mozilla "$mailer" "$1" - exit 0 - fi - done - # handle all non mozilla mail clients below - # .. -else - # check for xdg-open - browser=`which xdg-open` - if [ ! -z "$browser" ]; then - $browser "$1" & - exit 0 - fi - # check $BROWSER variable - if [ ! -z "$BROWSER" ]; then - $BROWSER "$1" & - exit 0 - fi - # mozilla derivates may need -remote semantics - for i in chrome seamonkey firefox iceweasel iceape; do - browser=`which $i` - if [ ! -z "$browser" ]; then - run_mozilla "$browser" "$1" - exit 0 - fi - done - # handle all non mozilla browsers below - # .. -fi -exit 1 diff --git a/shell/source/unix/misc/tde-open-url.sh b/shell/source/unix/misc/tde-open-url.sh deleted file mode 100755 index b0eac27963df..000000000000 --- a/shell/source/unix/misc/tde-open-url.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -# special handling for mailto: uris -if echo $1 | grep '^mailto:' > /dev/null; then - kmailservice "$1" & -else - kfmclient openURL "$1" & -fi -- cgit