vinceliuice / Mojave-gtk-theme

Mojave is a macos Mojave like theme for GTK 3, GTK 2 and Gnome-Shell
GNU General Public License v3.0
1.5k stars 243 forks source link

System per-theme libadwaita install way #233

Open nick87720z opened 2 years ago

nick87720z commented 2 years ago

Right now libadwaita theme is installed only to user config dir. This requires to run ./install.sh -l each time to change theme. Instead - them could be just imported, while located in system per-theme dir like /usr/share/themes/Mojave-.../libadwaita (I noticed - gtk4 themes don't apply to libadwaita).

There's code I used in ebuild for such arrangement (of course, I still need tool to quickly change theme - I guess, it could be daemon, waiting for theme change and updating user's gtk.css to match system theme).

./install.sh --dest "${D}/usr/share/themes" --theme all
    (
        export HOME="${S}"
        mkdir -p "${S}/.config/gtk-4.0"
        declare -A _str
        _str=(
            [light]=Light
            [dark]=Dark
            [standard]=
            [solid]=-solid
            [alt]=-alt
        )
        for color in light dark; do
            for opacity in standard solid; do
                for alt in standard alt; do
                    for theme in blue purple pink red orange yellow green grey; do
                        ./install.sh --libadwaita -o ${opacity} -a ${alt} -c ${color} -t ${theme}
                        insinto "/usr/share/themes/Mojave-${_str[${color}]}${_str[${opacity}]}${_str[${alt}]}-${theme}/libadwaita"
                        doins -r '.config/gtk-4.0'/*
                        rm -r "${S}/.config/gtk-4.0"/*
                    done
                    ./install.sh --libadwaita -o ${opacity} -a ${alt} -c ${color}
                    insinto "/usr/share/themes/Mojave-${_str[${color}]}${_str[${opacity}]}${_str[${alt}]}/libadwaita"
                    doins -r '.config/gtk-4.0'/*
                    rm -r "${S}/.config/gtk-4.0"/*
                done
            done
        done
    )