diff options
author | Kyle K <kylek389@gmail.com> | 2020-02-16 16:35:01 -0600 |
---|---|---|
committer | Kyle K <kylek389@gmail.com> | 2020-02-16 16:35:01 -0600 |
commit | b84bd85d3dc45dda57aae4c0e499c5f0aaf0425c (patch) | |
tree | 5ade5897da645f3617ef26820637c302360d557c /patches/www-client/firefox/firefox-kde.patch | |
parent | faafb704e8fd9769250ad64522158ffde88f57bd (diff) | |
download | gentoox-b84bd85d3dc45dda57aae4c0e499c5f0aaf0425c.tar.gz gentoox-b84bd85d3dc45dda57aae4c0e499c5f0aaf0425c.tar.bz2 gentoox-b84bd85d3dc45dda57aae4c0e499c5f0aaf0425c.zip |
firefox 73.0 opensuse KDE patches and unity global menu
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____ - |