diff options
Diffstat (limited to 'src-qt5/core/lumina-session/session.cpp')
-rw-r--r-- | src-qt5/core/lumina-session/session.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp index 6115c365..cba855c9 100644 --- a/src-qt5/core/lumina-session/session.cpp +++ b/src-qt5/core/lumina-session/session.cpp @@ -100,7 +100,7 @@ void LSession::procFinished(){ //Note about compton: It does not like running multiple sessions under the *same user* // (even on different displays). Run a blanket killall on it when closing down so that // any other Lumina sessions will automatically restart compton on that specific display - QProcess::execute("killall compton"); + QProcess::execute("pkill compton"); //More OS's have pkill instead of killall QCoreApplication::exit(0); }else{ //Make sure we restart the process as needed @@ -151,10 +151,16 @@ void LSession::setupCompositor(bool force){ //Compositing manager QSettings settings("lumina-desktop","sessionsettings"); if(settings.value("enableCompositing",false).toBool() || force){ - if(LUtils::isValidBinary("compton")){ + if(LUtils::isValidBinary("picom")){ + //New name for compton - removed the "-d" startup option (finally reads DISPLAY instead) (May 2020) + //Always use the GLX backend for picom - the xrender and hybrid backends cause lots of flickering + startProcess("compositing","picom --backend glx --config "+set, QStringList() << set); + + }else if(LUtils::isValidBinary("compton")){ QString disp = getenv("DISPLAY"); //Always use the GLX backend for compton - the xrender and hybrid backends cause lots of flickering startProcess("compositing","compton --backend glx -d "+disp+" --config "+set, QStringList() << set); + }else if(LUtils::isValidBinary("xcompmgr") && !settings.value("compositingWithGpuAccelOnly",true).toBool() ){ startProcess("compositing","xcompmgr"); } @@ -196,12 +202,12 @@ void LSession::start(bool unified){ startProcess("wm", WM); } //Compositing manager - setupCompositor(); + setupCompositor(true); //Desktop Next LSingleApplication::removeLocks("lumina-desktop"); startProcess("runtime","lumina-desktop"); //ScreenSaver - if(LUtils::isValidBinary("xscreensaver")){ startProcess("screensaver","xscreensaver -no-splash"); } + //if(LUtils::isValidBinary("xscreensaver")){ startProcess("screensaver","xscreensaver -no-splash"); } }else{ //unified process setupCompositor(true); //required for Lumina 2 |