Xubuntu 20.04.3 with Compiz

I cannot seem to get Compiz (0.9.14.1) working correctly with XFCE (4.14) in Xubuntu (20.04.3).

I have installed compiz, have it running, but it is not loading the window decorator theme.

I enabled Window Decoration, but I get an error saying Failed to find a valid file for 'Adwaita'.

I then installed metacity through apt and still the same error.

I also made a symbolic link at /usr/local/share/themes that points to /usr/share/themes.

Same problem.

Trying

gtk-window-decorator --metacity-theme Adwaita --replace

Gives me the same error, cannot find theme/file.

(gtk-window-decorator:5038): WARNING **: 18:44:24.857: Failed to load metacity theme 'Adwaita': Failed to find a valid file for theme 'Adwaita'

I also tried a custom theme that has a metacity folder with metacity xml files and still the same error. It's like the default directory for metacity themes is somewhere other than Xubuntu's default directory. The custom theme I have is also installed in ~/.themes.

I've read countless posts about this setup on older versions of Xubuntu, none of which seem to apply to this scenario. The deconf-editor and changing gnome settings does not work at all. I tried every combo listed elsewhere. The issue is gtk-window-decorator not working correctly, ie doesn't know where themes are or isn't loading them correctly.

Does anyone know how to get window decorator themes working in Compiz on Xubuntu?


Solution 1:

Turns out there were permission problems on my theme files.

I found a script that can change the theme

#!/bin/bash

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

if [ ! -f /usr/bin/metacity ]; then
  zenity --warning --text="<b>You do not appear to have Metacity installed.</b>\n\nThe Compiz GTK window decorator uses Metacity libraries to operate. The Metacity theme is what this tool adjusts.\n\nInstall the metacity package if you would like to use the Compiz GTK window decorator."
fi

main_window() {
  selection=$(
    zenity --height 450 --width 320 --list --ok-label="Apply" --cancel-label="Close" --title="Metacity themes" \
    --column="Current theme: $( if [ $(gsettings get org.gnome.desktop.wm.preferences theme) == "''" ]; then
        echo Default
      else
        gsettings get org.gnome.desktop.wm.preferences theme
      fi)" \
    "Compiz GWD default" \
    $(
      for d in /usr/share/themes/*/metacity-1; do
        echo $d | sed 's:/usr/share/themes/::' | sed 's:/metacity-1::'
      done
    )
  )
}

while [ $? = 0 ]; do
if [ "$selection" == "Compiz GWD default" ]; then
  gsettings set org.gnome.desktop.wm.preferences theme ""
elif [ "$selection" != "" ]; then
  gsettings set org.gnome.desktop.wm.preferences theme "$selection"
fi
main_window
done

IFS=$SAVEIFS

And I noticed all the themes worked except for ones I've downloaded (WhiteSur-GTK themes). I realized I was unable to cd into one of the directories in the theme's metacity directory so I changed all the permissions to 755 and now it is working.