From 4e30c44daf54e313024b1e2ce6e5bcc003cb7bac Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Wed, 22 Aug 2018 18:10:20 -0400 Subject: A few fixes for Lumina: 1. Adjust the pkg-plist for FreeBSD to include the trident-dark color file. 2. Add a new function for fetching XDG standard directory paths (and create dir as needed) 3. Setup the desktop and lib classes to use the XDG standard path function now. 4. Add a bunch of fallback icons if the "start-here-lumina" icon could not be found in the current theme. These are all based on the OS name. 5. Ensure we run "xdg-user-dirs-update" before launching the session (if it is installed). This is used for the main standard dir detection. 6. Ensure that start-lumina-desktop *always* starts a new desktop session (bypassing any existing lock files for the desktop session). --- src-qt5/core/lumina-session/session.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src-qt5/core/lumina-session') diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp index c4707626..7ecebdcc 100644 --- a/src-qt5/core/lumina-session/session.cpp +++ b/src-qt5/core/lumina-session/session.cpp @@ -141,6 +141,10 @@ void LSession::start(bool unified){ setenv("QT_QPA_PLATFORMTHEME","lthemeengine", true); setenv("QT_NO_GLIB", "1", 1); //Disable the glib event loop within Qt at runtime (performance hit + bugs) unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR"); //need exact-pixel measurements (no fake scaling) + if(LUtils::isValidBinary("xdg-user-dirs-update")){ + //Make sure the XDG user directories are created as needed first + QProcess::execute("xdg-user-dirs-update"); + } if(!unified){ QSettings sessionsettings("lumina-desktop","sessionsettings"); @@ -181,13 +185,13 @@ void LSession::start(bool unified){ startProcess("wm", WM); } //Desktop Next - startProcess("runtime","lumina-desktop"); + startProcess("runtime","lumina-desktop -new-instance"); //ScreenSaver if(LUtils::isValidBinary("xscreensaver")){ startProcess("screensaver","xscreensaver -no-splash"); } }else{ //unified process setupCompositor(true); //required for Lumina 2 - startProcess("runtime","lumina-desktop-unified"); + startProcess("runtime","lumina-desktop-unified -new-instance"); } } -- cgit