84 lines
No EOL
2.4 KiB
Bash
Executable file
84 lines
No EOL
2.4 KiB
Bash
Executable file
#! /bin/bash
|
|
|
|
THEMES_DIR=color_themes
|
|
CSS_LINK_NAME=theme_colors.css
|
|
IMPORTS_DIR=imports
|
|
IMPORT_FILE=import.css
|
|
IMPORT_FILE_HONOR_PLASMA=import_honor_plasma.css
|
|
IMPORT_FILE_IGNORE_PLASMA=import_ignore_plasma.css
|
|
|
|
PLASMA_ACTIVE=plasma_active
|
|
PLASMA_INACTIVE=plasma_inactive
|
|
|
|
PLASMA_SOURCE_CSS_FILE=~/.config/gtk-3.0/colors.css
|
|
LINK_TO_PLASMA_SOURCE_FILE=plasma_colors.css
|
|
|
|
maxParams=1
|
|
|
|
usage() {
|
|
|
|
echo -e "Usage: $(basename "$0") [--current-status] \n" >&2
|
|
echo -e "Toggles honoring Plasma's color theme on or off. If there is no color theme for GTK generated by Plasma, it won't be toggled on" >&2
|
|
echo -e "\nOption --current-status tells if the theme is currently honoring Plasma color scheme or not" >&2
|
|
|
|
}
|
|
|
|
|
|
if [ $# -gt $maxParams ]
|
|
then
|
|
echo -e "\nError: Incorrect usage." >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
if [ $# -eq 1 ]
|
|
then
|
|
if [ $1 = "--current-status" ]
|
|
then
|
|
[ -e $IMPORTS_DIR/PLASMA_ACTIVE ] && echo -e "The theme is honoring Plasma's color scheme\n" || echo -e "\nThe theme is NOT honoring Plasma's color scheme\n"
|
|
exit 0
|
|
else
|
|
echo -e "\nError: Incorrect usage." >&2
|
|
usage
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
|
|
# Making sure we are in the script's directory, otherwise it's not going to work
|
|
SCRIPT_PATH=`realpath "$0"`
|
|
SCRIPT_DIR=`dirname "$SCRIPT_PATH"`
|
|
cd $SCRIPT_DIR
|
|
|
|
|
|
|
|
cd $IMPORTS_DIR
|
|
|
|
#if we are honoring Plasma colors...
|
|
if [ -e $PLASMA_ACTIVE ]
|
|
then
|
|
# deactivate it
|
|
[ -h $IMPORT_FILE ] && rm $IMPORT_FILE
|
|
ln -s $IMPORT_FILE_IGNORE_PLASMA $IMPORT_FILE
|
|
rm $PLASMA_ACTIVE
|
|
touch $PLASMA_INACTIVE
|
|
echo -e "\n Plasma theme honoring toggled OFF (that is: GTK theme will not follow current Plasma color scheme)\n"
|
|
else
|
|
#before activating Plasma, check if plasma colors.css file exists!
|
|
if [ ! -e $PLASMA_SOURCE_CSS_FILE ]
|
|
then
|
|
echo -e "Could not find Plasma color theme for GTK ($PLASMA_SOURCE_CSS_FILE), so GTK theme will continue not attempting to follow Plasma color scheme. Not doing anything, therefore..."
|
|
cd cd $SCRIPT_DIR
|
|
exit 2
|
|
fi
|
|
[ -h $IMPORT_FILE ] && rm $IMPORT_FILE
|
|
ln -s $IMPORT_FILE_HONOR_PLASMA $IMPORT_FILE
|
|
|
|
[ -h $LINK_TO_PLASMA_SOURCE_FILE ] && rm $LINK_TO_PLASMA_SOURCE_FILE
|
|
ln -s $PLASMA_SOURCE_CSS_FILE $LINK_TO_PLASMA_SOURCE_FILE
|
|
|
|
[ -e $PLASMA_INACTIVE ] && rm $PLASMA_INACTIVE
|
|
touch $PLASMA_ACTIVE
|
|
echo -e "\n Plasma theme honoring toggled ON (that is: GTK theme will follow current Plasma color scheme)\n"
|
|
fi
|
|
cd $SCRIPT_DIR |