From 2d8722eac8e54418cdac3ae1a86eff1c097fcd2d Mon Sep 17 00:00:00 2001 From: Ruben Rodriguez <ruben@trisquel.info> Date: Sat, 8 Apr 2017 19:48:56 -0400 Subject: [PATCH] mate-session-manager: further improve composition management --- helpers/DATA/mate-session-manager/mate-wm | 23 +++++++++++++++++------ helpers/make-mate-session-manager | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/helpers/DATA/mate-session-manager/mate-wm b/helpers/DATA/mate-session-manager/mate-wm index 2b73e4c6..b2d1c00f 100755 --- a/helpers/DATA/mate-session-manager/mate-wm +++ b/helpers/DATA/mate-session-manager/mate-wm @@ -40,9 +40,22 @@ for n in "$@" ; do esac done +glxinfo |grep "OpenGL renderer"| grep -vi Gallium | grep -q . +IS_X_COMPOSITED=$? + # WINDOW_MANAGER overrides all if [ -z "$WINDOW_MANAGER" ] ; then - WINDOW_MANAGER=`gsettings get org.mate.session.required-components windowmanager 2> /dev/null` + WINDOW_MANAGER=`gsettings get org.mate.session.required-components windowmanager 2> /dev/null | sed s/\'//g` +fi + +if [ "x$WINDOW_MANAGER" = "xmarco-compton" ] && [ $IS_X_COMPOSITED != 0 ]; then + WINDOW_MANAGER=marco-no-composite + gsettings set org.mate.session.required-components windowmanager marco-no-composite +fi + +if [ "x$WINDOW_MANAGER" = "xmarco-compton" ] && [ $IS_X_COMPOSITED = 0 ]; then + WINDOW_MANAGER=marco-compton + gsettings set org.mate.session.required-components windowmanager marco-compton fi # Migrate compiz to compiz-manager if possible and needed @@ -69,16 +82,14 @@ if [ -z "$WINDOW_MANAGER" ] ; then # compositing ones when it makes sense KNOWN_WM="sawfish sawmill enlightenment icewm wmaker fvwm2 qvwm fvwm twm kwm" - # marco is still the default wm in MATE - KNOWN_WM="marco $KNOWN_WM" - #xdpyinfo 2> /dev/null | grep -q "^ *Composite$" 2> /dev/null - glxinfo |grep "OpenGL renderer"| grep -vi Gallium | grep -q . - IS_X_COMPOSITED=$? if [ $IS_X_COMPOSITED -eq 0 ] ; then KNOWN_WM="marco-compton mutter compiz-manager compiz beryl $KNOWN_WM" fi + # marco is still the default wm in MATE + KNOWN_WM="marco $KNOWN_WM" + OLDIFS=$IFS if [ -z "$DEFWM" -o "x$DEFWM" = "xmate-wm" ]; then diff --git a/helpers/make-mate-session-manager b/helpers/make-mate-session-manager index ec8e10de..e8df10b3 100644 --- a/helpers/make-mate-session-manager +++ b/helpers/make-mate-session-manager @@ -17,7 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=2 +VERSION=3 . ./config -- GitLab