diff options
Diffstat (limited to 'patches/www-client/firefox/firefox-kde.patch')
| -rw-r--r-- | patches/www-client/firefox/firefox-kde.patch | 283 | 
1 files changed, 0 insertions, 283 deletions
| diff --git a/patches/www-client/firefox/firefox-kde.patch b/patches/www-client/firefox/firefox-kde.patch deleted file mode 100644 index cb5578b..0000000 --- a/patches/www-client/firefox/firefox-kde.patch +++ /dev/null @@ -1,283 +0,0 @@ -# HG changeset patch -# User msirringhaus@suse.de -# Date 1559300151 -7200 -#      Fri May 31 12:55:51 2019 +0200 -# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec -# Parent  4faaad3619f286bd6077754d8e59d339a5142b80 -How to apply this patch: -1. Import and apply it -2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul -3. Find editBookmarkPanelDoneButton -4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style) -5. hg qrefresh - -diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js ---- a/browser/components/preferences/in-content/main.js -+++ b/browser/components/preferences/in-content/main.js -@@ -341,16 +341,23 @@ var gMainPane = { -         }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]); -       }; -  -       window.setTimeout(() => { -         window.requestIdleCallback(pollForDefaultBrowser); -       }, backoffTimes[this._backoffIndex]); -     } -  -+    var env = Components.classes["@mozilla.org/process/environment;1"] -+      .getService(Components.interfaces.nsIEnvironment); -+    var kde_session = 0; -+    if (env.get('KDE_FULL_SESSION') == "true") { -+      kde_session = 1; -+    } -+ -     this.initBrowserContainers(); -     this.buildContentProcessCountMenuList(); -  -     let performanceSettingsLink = document.getElementById( -       "performanceSettingsLearnMore" -     ); -     let performanceSettingsUrl = -       Services.urlFormatter.formatURLPref("app.support.baseURL") + -@@ -1199,16 +1206,27 @@ var gMainPane = { -       this._backoffIndex = 0; -  -       let shellSvc = getShellService(); -       if (!shellSvc) { -         return; -       } -       try { -         shellSvc.setDefaultBrowser(true, false); -+        if (kde_session == 1) { -+          var shellObj = Components.classes["@mozilla.org/file/local;1"] -+            .createInstance(Components.interfaces.nsILocalFile); -+          shellObj.initWithPath("/usr/bin/kwriteconfig"); -+          var process = Components.classes["@mozilla.org/process/util;1"] -+            .createInstance(Components.interfaces.nsIProcess); -+          process.init(shellObj); -+          var args = ["--file", "kdeglobals", "--group", "General", "--key", -+              "BrowserApplication", "firefox"]; -+          process.run(false, args, args.length); -+        } -       } catch (ex) { -         Cu.reportError(ex); -         return; -       } -  -       let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; -       document.getElementById("setDefaultPane").selectedIndex = selectedIndex; -     } -diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build ---- a/browser/components/shell/moz.build -+++ b/browser/components/shell/moz.build -@@ -28,16 +28,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco -     ] - elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': -     XPIDL_SOURCES += [ -         'nsIGNOMEShellService.idl', -     ] -  -     SOURCES += [ -         'nsGNOMEShellService.cpp', -+        'nsKDEShellService.cpp', -+        'nsUnixShellService.cpp', -     ] - elif CONFIG['OS_ARCH'] == 'WINNT': -     SOURCES += [ -         'nsWindowsShellService.cpp', -     ] -     LOCAL_INCLUDES += [ -         '../../../other-licenses/nsis/Contrib/CityHash/cityhash', -     ] -diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp -new file mode 100644 ---- /dev/null -+++ b/browser/components/shell/nsKDEShellService.cpp -@@ -0,0 +1,103 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* 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/. */ -+ -+#include "mozilla/ArrayUtils.h" -+ -+#include "nsCOMPtr.h" -+#include "nsKDEShellService.h" -+#include "nsShellService.h" -+#include "nsKDEUtils.h" -+#include "nsIPrefService.h" -+#include "nsIProcess.h" -+#include "nsIFile.h" -+#include "nsServiceManagerUtils.h" -+#include "nsComponentManagerUtils.h" -+#include "nsIMutableArray.h" -+#include "nsISupportsPrimitives.h" -+#include "nsArrayUtils.h" -+ -+using namespace mozilla; -+ -+nsresult -+nsKDEShellService::Init() -+{ -+    if( !nsKDEUtils::kdeSupport()) -+        return NS_ERROR_NOT_AVAILABLE; -+    return NS_OK; -+} -+ -+NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService) -+ -+NS_IMETHODIMP -+nsKDEShellService::IsDefaultBrowser(bool aForAllTypes, -+                                    bool* aIsDefaultBrowser) -+{ -+    *aIsDefaultBrowser = false; -+ -+    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID ); -+    if (!command) -+        return NS_ERROR_FAILURE; -+ -+    nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+    if (!str) -+        return NS_ERROR_FAILURE; -+ -+    str->SetData( NS_LITERAL_CSTRING( "ISDEFAULTBROWSER" )); -+    command->AppendElement( str ); -+ -+    if( nsKDEUtils::command( command )) -+        *aIsDefaultBrowser = true; -+    return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsKDEShellService::SetDefaultBrowser(bool aClaimAllTypes, -+                                     bool aForAllUsers) -+{ -+    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID ); -+    if (!command) -+        return NS_ERROR_FAILURE; -+ -+    nsCOMPtr<nsISupportsCString> cmdstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+    nsCOMPtr<nsISupportsCString> paramstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+    if (!cmdstr || !paramstr) -+        return NS_ERROR_FAILURE; -+ -+    cmdstr->SetData( NS_LITERAL_CSTRING( "SETDEFAULTBROWSER" )); -+    command->AppendElement( cmdstr ); -+ -+    paramstr->SetData( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" )); -+    command->AppendElement( paramstr ); -+ -+    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; -+} -+ -+NS_IMETHODIMP -+nsKDEShellService::GetCanSetDesktopBackground(bool* aResult) -+{ -+  *aResult = true; -+  return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsKDEShellService::SetDesktopBackground(dom::Element* aElement, -+                                        int32_t aPosition, -+                                        const nsACString& aImageName) -+{ -+    return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+NS_IMETHODIMP -+nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor) -+{ -+    return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+NS_IMETHODIMP -+nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor) -+{ -+    return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h -new file mode 100644 ---- /dev/null -+++ b/browser/components/shell/nsKDEShellService.h -@@ -0,0 +1,32 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* 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/. */ -+ -+#ifndef nskdeshellservice_h____ -+#define nskdeshellservice_h____ -+ -+#include "nsIGNOMEShellService.h" -+#include "nsToolkitShellService.h" -+#include "nsString.h" -+#include "mozilla/Attributes.h" -+ -+class nsKDEShellService final : public nsIGNOMEShellService, -+                                public nsToolkitShellService -+{ -+public: -+  nsKDEShellService() : mCheckedThisSession(false) { } -+ -+  NS_DECL_ISUPPORTS -+  NS_DECL_NSISHELLSERVICE -+  NS_DECL_NSIGNOMESHELLSERVICE -+ -+  nsresult Init(); -+ -+private: -+  ~nsKDEShellService() {} -+ -+  bool mCheckedThisSession; -+}; -+ -+#endif // nskdeshellservice_h____ -diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp -new file mode 100644 ---- /dev/null -+++ b/browser/components/shell/nsUnixShellService.cpp -@@ -0,0 +1,22 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* 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/. */ -+ -+ -+#include "nsUnixShellService.h" -+#include "nsGNOMEShellService.h" -+#include "nsKDEShellService.h" -+#include "nsKDEUtils.h" -+#include "mozilla/ModuleUtils.h" -+ -+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init) -+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init) -+ -+NS_IMETHODIMP -+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult) -+{ -+    if( nsKDEUtils::kdeSupport()) -+        return nsKDEShellServiceConstructor( aOuter, aIID, aResult ); -+    return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult ); -+} -diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h -new file mode 100644 ---- /dev/null -+++ b/browser/components/shell/nsUnixShellService.h -@@ -0,0 +1,15 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* 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/. */ -+ -+ -+#ifndef nsunixshellservice_h____ -+#define nsunixshellservice_h____ -+ -+#include "nsIGNOMEShellService.h" -+ -+NS_IMETHODIMP -+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult); -+ -+#endif // nsunixshellservice_h____ - | 
