This commit is contained in:
vinceliuice 2024-10-13 20:36:04 +08:00
parent 68635a8997
commit e60692a414
11 changed files with 162 additions and 142 deletions

View File

@ -79,8 +79,8 @@ OPTIONS:
-t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey|all] -t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey|all]
Set theme accent color. Repeatable. Default is BigSur-like theme Set theme accent color. Repeatable. Default is BigSur-like theme
-s, --size [default|180|220|240|260|280] -s, --scheme [standard|nord]
Set Nautilus (version lower than 40.0) sidebar minimum width. Default is 200px Set theme colorscheme style. Repeatable. Default is 'standard'
-m, --monterey -m, --monterey
Set to MacOS Monterey style. Set to MacOS Monterey style.
@ -124,9 +124,6 @@ OPTIONS:
--darker, --darkercolor --darker, --darkercolor
Install darker 'WhiteSur' dark themes. Install darker 'WhiteSur' dark themes.
--nord, --nordcolor
Install 'WhiteSur' Nord ColorScheme themes.
--dialog, --interactive --dialog, --interactive
Run this installer interactively, with dialogs. Run this installer interactively, with dialogs.
@ -205,6 +202,9 @@ OPTIONS:
-t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey] -t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey]
Set 'WhiteSur' GDM/Flatpak theme accent color. Default is BigSur-like theme Set 'WhiteSur' GDM/Flatpak theme accent color. Default is BigSur-like theme
-s, --scheme [standard|nord]
Set theme colorscheme style. Default is 'standard'
Tweaks for GDM theme. options Tweaks for GDM theme. options
@ -224,8 +224,6 @@ OPTIONS:
7. -nb, -noblur Don't blur 'WhiteSur' GDM theme background image 7. -nb, -noblur Don't blur 'WhiteSur' GDM theme background image
8. -nord, -nordcolor Install 'WhiteSur' Nord ColorScheme gnome-shell themes
Tweaks for firefox. options Tweaks for firefox. options
@ -255,6 +253,8 @@ OPTIONS:
3. -t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey] Set 'WhiteSur' flatpak theme accent color Default is BigSur-like theme 3. -t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey] Set 'WhiteSur' flatpak theme accent color Default is BigSur-like theme
4. -s, --scheme [standard|nord] Set 'WhiteSur' flatpak theme colorscheme style Default is 'standard'
-d, --dash-to-dock -d, --dash-to-dock
Fixed Dash to Dock theme issue. Fixed Dash to Dock theme issue.

View File

@ -29,7 +29,8 @@ usage() {
helpify "-c, --color" "[$(IFS='|'; echo "${COMMAND_COLOR_VARIANTS[*]}")]" " Set theme color variants" "Repeatable. Default is all variants" helpify "-c, --color" "[$(IFS='|'; echo "${COMMAND_COLOR_VARIANTS[*]}")]" " Set theme color variants" "Repeatable. Default is all variants"
helpify "-a, --alt" "[$(IFS='|'; echo "${ALT_VARIANTS[*]}")|all]" " Set window control buttons variant" "Repeatable. Default is 'normal'" helpify "-a, --alt" "[$(IFS='|'; echo "${ALT_VARIANTS[*]}")|all]" " Set window control buttons variant" "Repeatable. Default is 'normal'"
helpify "-t, --theme" "[$(IFS='|'; echo "${THEME_VARIANTS[*]}")|all]" " Set theme accent color" "Repeatable. Default is BigSur-like theme" helpify "-t, --theme" "[$(IFS='|'; echo "${THEME_VARIANTS[*]}")|all]" " Set theme accent color" "Repeatable. Default is BigSur-like theme"
helpify "-s, --size" "[$(IFS='|'; echo "${SIDEBAR_SIZE_VARIANTS[*]}")]" " Set Nautilus (version < 40.0) sidebar minimum width" "Default is 200px" helpify "-s, --scheme" "[$(IFS='|'; echo "${SCHEME_VARIANTS[*]}")]" " Set theme colorscheme style" "Repeatable. Default is 'standard'"
# helpify "-s, --size" "[$(IFS='|'; echo "${SIDEBAR_SIZE_VARIANTS[*]}")]" " Set Nautilus (version < 40.0) sidebar minimum width" "Default is 200px"
helpify "-m, --monterey" "" " Set to MacOS Monterey style" "" helpify "-m, --monterey" "" " Set to MacOS Monterey style" ""
helpify "-N, --nautilus" "[$(IFS='|'; echo "${NAUTILUS_STYLE_VARIANTS[*]}")]" " Set Nautilus style" "Default is BigSur-like style (stabled sidebar)" helpify "-N, --nautilus" "[$(IFS='|'; echo "${NAUTILUS_STYLE_VARIANTS[*]}")]" " Set Nautilus style" "Default is BigSur-like style (stabled sidebar)"
@ -47,7 +48,6 @@ usage() {
helpify "--round, --roundedmaxwindow" "" " Set maximized window to rounded" "Default is square" helpify "--round, --roundedmaxwindow" "" " Set maximized window to rounded" "Default is square"
helpify "--black, --blackfont" "" " Set panel font color to black" "Default is white" helpify "--black, --blackfont" "" " Set panel font color to black" "Default is white"
helpify "--darker, --darkercolor" "" " Install darker '${THEME_NAME}' dark themes" "" helpify "--darker, --darkercolor" "" " Install darker '${THEME_NAME}' dark themes" ""
helpify "--nord, --nordcolor" "" " Install '${THEME_NAME}' Nord ColorScheme themes" ""
helpify "--dialog, --interactive" "" " Run this installer interactively, with dialogs" "" helpify "--dialog, --interactive" "" " Run this installer interactively, with dialogs" ""
helpify "--silent-mode" "" " Meant for developers: ignore any confirm prompt and params become more strict" "" helpify "--silent-mode" "" " Meant for developers: ignore any confirm prompt and params become more strict" ""
helpify "-r, --remove, -u, --uninstall" "" " Remove all installed ${THEME_NAME} themes" "" helpify "-r, --remove, -u, --uninstall" "" " Remove all installed ${THEME_NAME} themes" ""
@ -80,6 +80,8 @@ while [[ $# -gt 0 ]]; do
check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;; check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;;
-t|--theme) -t|--theme)
check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;; check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;;
-s|--scheme)
check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;;
-a|--alt) -a|--alt)
check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;; check_param "${1}" "${1}" "${2}" "not-at-all" "must" "must" && shift 2 || shift ;;
# Parameters that require a value, single use # Parameters that require a value, single use
@ -87,8 +89,8 @@ while [[ $# -gt 0 ]]; do
check_param "${1}" "${1}" "${2}" "must" "must" "not-at-all" && shift 2 || shift ;; check_param "${1}" "${1}" "${2}" "must" "must" "not-at-all" && shift 2 || shift ;;
-n|--name) -n|--name)
check_param "${1}" "${1}" "${2}" "must" "must" "not-at-all" && shift 2 || shift ;; check_param "${1}" "${1}" "${2}" "must" "must" "not-at-all" && shift 2 || shift ;;
-s|--size) # only works on gnome < 40.0 # -s|--size) # only works on gnome < 40.0
check_param "${1}" "${1}" "${2}" "optional" "optional" "optional" && shift 2 || shift ;; # check_param "${1}" "${1}" "${2}" "optional" "optional" "optional" && shift 2 || shift ;;
-N|--nautilus) -N|--nautilus)
check_param "${1}" "${1}" "${2}" "optional" "optional" "optional" && shift 2 || shift ;; check_param "${1}" "${1}" "${2}" "optional" "optional" "optional" && shift 2 || shift ;;
# Parameters that require a second value # Parameters that require a second value
@ -121,8 +123,6 @@ while [[ $# -gt 0 ]]; do
black_font="true"; shift ;; black_font="true"; shift ;;
--darker|--darkercolor) --darker|--darkercolor)
darker="true"; shift ;; darker="true"; shift ;;
--nord|--nordcolor)
colorscheme="-nord"; shift ;;
-HD|--highdefinition) -HD|--highdefinition)
compact="false"; shift ;; compact="false"; shift ;;
-m|--monterey) -m|--monterey)
@ -173,17 +173,18 @@ else
show_needed_dialogs show_needed_dialogs
fi fi
prompt -w "Removing the old '${name}${colorscheme}' themes...\n" prompt -w "Removing the old '${name}' themes...\n"
remove_themes; customize_theme; avoid_variant_duplicates; remove_themes; customize_theme; avoid_variant_duplicates;
prompt -w "Installing '${name}${colorscheme}' '${themes[*]}' themes in '${dest}'...\n"; prompt -w "Installing '${name}' '${themes[*]}' '${schemes[*]}' themes in '${dest}'...\n";
prompt -t "--->>> GTK | GNOME Shell | Cinnamon | Metacity | XFWM | Plank <<<---" prompt -t "--->>> GTK | GNOME Shell | Cinnamon | Metacity | XFWM | Plank <<<---"
prompt -i "Color variants : $( IFS=';'; echo "${colors[*]}" )" prompt -i "Color variants : $( IFS=';'; echo "${colors[*]}" )"
prompt -i "Theme variants : $( IFS=';'; echo "${themes[*]}" )" prompt -i "Theme variants : $( IFS=';'; echo "${themes[*]}" )"
prompt -i "Opacity variants : $( IFS=';'; echo "${opacities[*]}" )" prompt -i "Opacity variants : $( IFS=';'; echo "${opacities[*]}" )"
prompt -i "Alt variants : $( IFS=';'; echo "${alts[*]}" )" prompt -i "Alt variants : $( IFS=';'; echo "${alts[*]}" )"
prompt -i "Scheme variants : $( IFS=';'; echo "${schemes[*]}" )"
prompt -i "Icon variant : ${icon}" prompt -i "Icon variant : ${icon}"
prompt -i "Nautilus variant : ${nautilus_style}" prompt -i "Nautilus variant : ${nautilus_style}"

View File

@ -93,6 +93,7 @@ COLOR_VARIANTS=('Light' 'Dark')
OPACITY_VARIANTS=('normal' 'solid') OPACITY_VARIANTS=('normal' 'solid')
ALT_VARIANTS=('normal' 'alt') ALT_VARIANTS=('normal' 'alt')
THEME_VARIANTS=('default' 'blue' 'purple' 'pink' 'red' 'orange' 'yellow' 'green' 'grey') THEME_VARIANTS=('default' 'blue' 'purple' 'pink' 'red' 'orange' 'yellow' 'green' 'grey')
SCHEME_VARIANTS=('standard' 'nord')
ICON_VARIANTS=('apple' 'simple' 'gnome' 'ubuntu' 'tux' 'arch' 'manjaro' 'fedora' 'debian' 'void' 'opensuse' 'popos' 'mxlinux' 'zorin' 'budgie' 'gentoo') ICON_VARIANTS=('apple' 'simple' 'gnome' 'ubuntu' 'tux' 'arch' 'manjaro' 'fedora' 'debian' 'void' 'opensuse' 'popos' 'mxlinux' 'zorin' 'budgie' 'gentoo')
SIDEBAR_SIZE_VARIANTS=('default' '180' '220' '240' '260' '280') SIDEBAR_SIZE_VARIANTS=('default' '180' '220' '240' '260' '280')
PANEL_OPACITY_VARIANTS=('default' '30' '45' '60' '75') PANEL_OPACITY_VARIANTS=('default' '30' '45' '60' '75')
@ -106,6 +107,7 @@ colors=("${COLOR_VARIANTS}")
opacities=("${OPACITY_VARIANTS}") opacities=("${OPACITY_VARIANTS}")
alts=("${ALT_VARIANTS[0]}") alts=("${ALT_VARIANTS[0]}")
themes=("${THEME_VARIANTS[0]}") themes=("${THEME_VARIANTS[0]}")
schemes=("${SCHEME_VARIANTS[0]}")
icon="${ICON_VARIANTS[0]}" icon="${ICON_VARIANTS[0]}"
sidebar_size="${SIDEBAR_SIZE_VARIANTS[0]}" sidebar_size="${SIDEBAR_SIZE_VARIANTS[0]}"
panel_opacity="${PANEL_OPACITY_VARIANTS[0]}" panel_opacity="${PANEL_OPACITY_VARIANTS[0]}"
@ -113,11 +115,10 @@ panel_size="${PANEL_SIZE_VARIANTS[0]}"
nautilus_style="${NAUTILUS_STYLE_VARIANTS[0]}" nautilus_style="${NAUTILUS_STYLE_VARIANTS[0]}"
background="blank" background="blank"
compact="true" compact="true"
colorscheme=""
#--Ambigous arguments checking and overriding default values--# #--Ambigous arguments checking and overriding default values--#
declare -A has_set=([-b]="false" [-s]="false" [-p]="false" [-h]="false" [-s]="false" [-d]="false" [-n]="false" [-a]="false" [-o]="false" [-c]="false" [-i]="false" [-t]="false" [-N]="false") declare -A has_set=([-b]="false" [-s]="false" [-p]="false" [-h]="false" [-d]="false" [-n]="false" [-a]="false" [-o]="false" [-c]="false" [-i]="false" [-t]="false" [-N]="false")
declare -A need_dialog=([-b]="false" [-s]="false" [-p]="false" [-h]="false" [-s]="false" [-d]="false" [-n]="false" [-a]="false" [-o]="false" [-c]="false" [-i]="false" [-t]="false" [-N]="false") declare -A need_dialog=([-b]="false" [-s]="false" [-p]="false" [-h]="false" [-d]="false" [-n]="false" [-a]="false" [-o]="false" [-c]="false" [-i]="false" [-t]="false" [-N]="false")
#------------Tweaks---------------# #------------Tweaks---------------#
need_help="false" need_help="false"
@ -433,7 +434,7 @@ parsimplify() {
echo "-i" ;; echo "-i" ;;
--theme) --theme)
echo "-t" ;; echo "-t" ;;
--size) --scheme)
echo "-s" ;; echo "-s" ;;
--nautilus) --nautilus)
echo "-N" ;; echo "-N" ;;
@ -504,10 +505,10 @@ check_param() {
case "${global_param}" in case "${global_param}" in
-d) -d)
if [[ "$(readlink -m "${value}")" =~ "${REPO_DIR}" ]]; then if [[ "$(readlink -m ${value})" =~ "${REPO_DIR}" ]]; then
prompt -e "'${display_param}' ERROR: Can't install in the source directory." prompt -e "'${display_param}' ERROR: Can't install in the source directory."
has_any_error="true" has_any_error="true"
elif [[ ! -w "${value}" && ! -w "$(dirname "${value}")" ]]; then elif [[ ! -w "${value}" && ! -w "$(dirname ${value})" ]]; then
prompt -e "'${display_param}' ERROR: You have no permission to access that directory." prompt -e "'${display_param}' ERROR: You have no permission to access that directory."
has_any_error="true" has_any_error="true"
else else
@ -519,7 +520,7 @@ check_param() {
dest="${value}" dest="${value}"
fi fi
remind_relative_path "${display_param}" "${value}"; variant_found="skip" ;; remind_relative_path "${display_param}" "${value}"; variant_found="skip";;
-b) -b)
if [[ "${value}" == "blank" || "${value}" == "default" ]]; then if [[ "${value}" == "blank" || "${value}" == "default" ]]; then
background="${value}" background="${value}"
@ -536,12 +537,12 @@ check_param() {
remind_relative_path "${display_param}" "${value}"; variant_found="skip" ;; remind_relative_path "${display_param}" "${value}"; variant_found="skip" ;;
-n) -n)
name="${value}"; variant_found="skip" ;; name="${value}"; variant_found="skip" ;;
-s) # -s)
for i in {0..5}; do # for i in {0..5}; do
if [[ "${value}" == "${SIDEBAR_SIZE_VARIANTS[i]}" ]]; then # if [[ "${value}" == "${SIDEBAR_SIZE_VARIANTS[i]}" ]]; then
sidebar_size="${value}"; variant_found="true"; break # sidebar_size="${value}"; variant_found="true"; break
fi # fi
done ;; # done ;;
-p) -p)
for i in {0..4}; do for i in {0..4}; do
if [[ "${value}" == "${PANEL_OPACITY_VARIANTS[i]}" ]]; then if [[ "${value}" == "${PANEL_OPACITY_VARIANTS[i]}" ]]; then
@ -593,17 +594,22 @@ check_param() {
for i in {0..8}; do for i in {0..8}; do
themes+=("${THEME_VARIANTS[i]}") themes+=("${THEME_VARIANTS[i]}")
done done
variant_found="true" variant_found="true"
else else
for i in {0..8}; do for i in {0..8}; do
if [[ "${value}" == "${THEME_VARIANTS[i]}" ]]; then if [[ "${value}" == "${THEME_VARIANTS[i]}" ]]; then
themes+=("${THEME_VARIANTS[i]}") themes+=("${THEME_VARIANTS[i]}")
variant_found="true" variant_found="true"; break
break
fi fi
done done
fi ;; fi ;;
-s)
for i in {0..1}; do
if [[ "${value}" == "${SCHEME_VARIANTS[i]}" ]]; then
schemes+=("${SCHEME_VARIANTS[i]}")
variant_found="true"; break
fi
done ;;
-N) -N)
for i in {0..4}; do for i in {0..4}; do
if [[ "${value}" == "${NAUTILUS_STYLE_VARIANTS[i]}" ]]; then if [[ "${value}" == "${NAUTILUS_STYLE_VARIANTS[i]}" ]]; then
@ -633,6 +639,7 @@ avoid_variant_duplicates() {
opacities=($(printf "%s\n" "${opacities[@]}" | sort -u)) opacities=($(printf "%s\n" "${opacities[@]}" | sort -u))
alts=($(printf "%s\n" "${alts[@]}" | sort -u)) alts=($(printf "%s\n" "${alts[@]}" | sort -u))
themes=($(printf "%s\n" "${themes[@]}" | sort -u)) themes=($(printf "%s\n" "${themes[@]}" | sort -u))
schemes=($(printf "%s\n" "${schemes[@]}" | sort -u))
} }
# 'finalize_argument_parsing' is in the 'MISC' section # 'finalize_argument_parsing' is in the 'MISC' section

View File

@ -7,8 +7,9 @@ pakitheme_gtk3() {
local opacity="$(destify ${2})" local opacity="$(destify ${2})"
local alt="$(destify ${3})" local alt="$(destify ${3})"
local theme="$(destify ${4})" local theme="$(destify ${4})"
local scheme="$(destify ${5})"
local FLATPAK_THEME="${name}${color}${opacity}${alt}${theme}${colorscheme}" local FLATPAK_THEME="${name}${color}${opacity}${alt}${theme}${scheme}"
local GTK_3_THEME_VER=3.22 local GTK_3_THEME_VER=3.22
local cache_home="${XDG_CACHE_HOME:-$HOME/.cache}" local cache_home="${XDG_CACHE_HOME:-$HOME/.cache}"
@ -37,6 +38,7 @@ pakitheme_gtk3() {
prompt -i "-c, --color [$(IFS='|'; echo "${COLOR_VARIANTS[*]}")]" prompt -i "-c, --color [$(IFS='|'; echo "${COLOR_VARIANTS[*]}")]"
prompt -i "-a, --alt [$(IFS='|'; echo "${ALT_VARIANTS[*]}")|all]" prompt -i "-a, --alt [$(IFS='|'; echo "${ALT_VARIANTS[*]}")|all]"
prompt -i "-t, --theme [$(IFS='|'; echo "${THEME_VARIANTS[*]}")|all]" prompt -i "-t, --theme [$(IFS='|'; echo "${THEME_VARIANTS[*]}")|all]"
prompt -i "-s, --scheme [$(IFS='|'; echo "${SCHEME_VARIANTS[*]}")]"
prompt -i "..." prompt -i "..."
echo echo
exit 0 exit 0
@ -112,10 +114,11 @@ flatpak_remove() {
local opacity="$(destify ${2})" local opacity="$(destify ${2})"
local alt="$(destify ${3})" local alt="$(destify ${3})"
local theme="$(destify ${4})" local theme="$(destify ${4})"
local scheme="$(destify ${5})"
if [[ -w "/root" ]]; then if [[ -w "/root" ]]; then
sudo flatpak remove -y --system org.gtk.Gtk3theme.${name}${color}${opacity}${alt}${theme}${colorscheme} sudo flatpak remove -y --system org.gtk.Gtk3theme.${name}${color}${opacity}${alt}${theme}${scheme}
else else
flatpak remove -y --user org.gtk.Gtk3theme.${name}${color}${opacity}${alt}${theme}${colorscheme} flatpak remove -y --user org.gtk.Gtk3theme.${name}${color}${opacity}${alt}${theme}${scheme}
fi fi
} }

View File

@ -352,13 +352,14 @@ install_shelly() {
local opacity="$(destify ${2})" local opacity="$(destify ${2})"
local alt="$(destify ${3})" local alt="$(destify ${3})"
local theme="$(destify ${4})" local theme="$(destify ${4})"
local icon="$(destify ${5})" local scheme="$(destify ${5})"
local icon="$(destify ${6})"
local TARGET_DIR= local TARGET_DIR=
if [[ -z "${6}" ]]; then if [[ -z "${7}" ]]; then
TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}${colorscheme}/gnome-shell" TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}${scheme}/gnome-shell"
else else
TARGET_DIR="${6}" TARGET_DIR="${7}"
fi fi
mkdir -p "${TARGET_DIR}" mkdir -p "${TARGET_DIR}"
@ -369,7 +370,7 @@ install_shelly() {
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/common-assets/"*".svg" "${TARGET_DIR}/assets" cp -r "${THEME_SRC_DIR}/assets/gnome-shell/common-assets/"*".svg" "${TARGET_DIR}/assets"
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/assets${color}/"*".svg" "${TARGET_DIR}/assets" cp -r "${THEME_SRC_DIR}/assets/gnome-shell/assets${color}/"*".svg" "${TARGET_DIR}/assets"
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/theme${theme}${colorscheme}/"*".svg" "${TARGET_DIR}/assets" cp -r "${THEME_SRC_DIR}/assets/gnome-shell/theme${theme}${scheme}/"*".svg" "${TARGET_DIR}/assets"
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities/activities${icon}.svg" "${TARGET_DIR}/assets/activities.svg" cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities/activities${icon}.svg" "${TARGET_DIR}/assets/activities.svg"
cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities/activities${icon}.svg" "${TARGET_DIR}/assets/activities-white.svg" cp -r "${THEME_SRC_DIR}/assets/gnome-shell/activities/activities${icon}.svg" "${TARGET_DIR}/assets/activities-white.svg"
cp -r "${WHITESUR_TMP_DIR}/beggy.png" "${TARGET_DIR}/assets/background.png" cp -r "${WHITESUR_TMP_DIR}/beggy.png" "${TARGET_DIR}/assets/background.png"
@ -391,6 +392,7 @@ install_theemy() {
local opacity="$(destify ${2})" local opacity="$(destify ${2})"
local alt="$(destify ${3})" local alt="$(destify ${3})"
local theme="$(destify ${4})" local theme="$(destify ${4})"
local scheme="$(destify ${5})"
if [[ "${color}" == '-Light' ]]; then if [[ "${color}" == '-Light' ]]; then
local iconcolor='' local iconcolor=''
@ -398,21 +400,21 @@ install_theemy() {
local iconcolor='-Dark' local iconcolor='-Dark'
fi fi
local TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}${colorscheme}" local TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}${scheme}"
local TMP_DIR_T="${WHITESUR_TMP_DIR}/gtk-3.0${color}${opacity}${alt}${theme}${colorscheme}" local TMP_DIR_T="${WHITESUR_TMP_DIR}/gtk-3.0${color}${opacity}${alt}${theme}${scheme}"
local TMP_DIR_F="${WHITESUR_TMP_DIR}/gtk-4.0${color}${opacity}${alt}${theme}${colorscheme}" local TMP_DIR_F="${WHITESUR_TMP_DIR}/gtk-4.0${color}${opacity}${alt}${theme}${scheme}"
mkdir -p "${TARGET_DIR}" mkdir -p "${TARGET_DIR}"
local desktop_entry="[Desktop Entry]\n" local desktop_entry="[Desktop Entry]\n"
desktop_entry+="Type=X-GNOME-Metatheme\n" desktop_entry+="Type=X-GNOME-Metatheme\n"
desktop_entry+="Name=${name}${color}${opacity}${alt}${theme}${colorscheme}\n" desktop_entry+="Name=${name}${color}${opacity}${alt}${theme}${scheme}\n"
desktop_entry+="Comment=A MacOS BigSur like Gtk+ theme based on Elegant Design\n" desktop_entry+="Comment=A MacOS BigSur like Gtk+ theme based on Elegant Design\n"
desktop_entry+="Encoding=UTF-8\n\n" desktop_entry+="Encoding=UTF-8\n\n"
desktop_entry+="[X-GNOME-Metatheme]\n" desktop_entry+="[X-GNOME-Metatheme]\n"
desktop_entry+="GtkTheme=${name}${color}${opacity}${alt}${theme}${colorscheme}\n" desktop_entry+="GtkTheme=${name}${color}${opacity}${alt}${theme}${scheme}\n"
desktop_entry+="MetacityTheme=${name}${color}${opacity}${alt}${theme}${colorscheme}\n" desktop_entry+="MetacityTheme=${name}${color}${opacity}${alt}${theme}${scheme}\n"
desktop_entry+="IconTheme=${name}${iconcolor}\n" desktop_entry+="IconTheme=${name}${iconcolor}\n"
desktop_entry+="CursorTheme=WhiteSur-cursors\n" desktop_entry+="CursorTheme=WhiteSur-cursors\n"
desktop_entry+="ButtonLayout=close,minimize,maximize:menu\n" desktop_entry+="ButtonLayout=close,minimize,maximize:menu\n"
@ -425,13 +427,13 @@ install_theemy() {
cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/assets" "${TMP_DIR_T}" cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/assets" "${TMP_DIR_T}"
cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/sidebar-assets/"*".png" "${TMP_DIR_T}/assets" cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/sidebar-assets/"*".png" "${TMP_DIR_T}/assets"
cp -r "${THEME_SRC_DIR}/assets/gtk/scalable" "${TMP_DIR_T}/assets" cp -r "${THEME_SRC_DIR}/assets/gtk/scalable" "${TMP_DIR_T}/assets"
cp -r "${THEME_SRC_DIR}/assets/gtk/windows-assets/titlebutton${alt}${colorscheme}" "${TMP_DIR_T}/windows-assets" cp -r "${THEME_SRC_DIR}/assets/gtk/windows-assets/titlebutton${alt}${scheme}" "${TMP_DIR_T}/windows-assets"
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-3.0/gtk${color}.scss" "${TMP_DIR_T}/gtk.css" sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-3.0/gtk${color}.scss" "${TMP_DIR_T}/gtk.css"
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-3.0/gtk-Dark.scss" "${TMP_DIR_T}/gtk-dark.css" sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-3.0/gtk-Dark.scss" "${TMP_DIR_T}/gtk-dark.css"
mkdir -p "${TARGET_DIR}/gtk-3.0" mkdir -p "${TARGET_DIR}/gtk-3.0"
cp -r "${THEME_SRC_DIR}/assets/gtk/thumbnails/thumbnail${color}${theme}${colorscheme}.png" "${TARGET_DIR}/gtk-3.0/thumbnail.png" cp -r "${THEME_SRC_DIR}/assets/gtk/thumbnails/thumbnail${color}${theme}${scheme}.png" "${TARGET_DIR}/gtk-3.0/thumbnail.png"
echo '@import url("resource:///org/gnome/theme/gtk.css");' > "${TARGET_DIR}/gtk-3.0/gtk.css" echo '@import url("resource:///org/gnome/theme/gtk.css");' > "${TARGET_DIR}/gtk-3.0/gtk.css"
echo '@import url("resource:///org/gnome/theme/gtk-dark.css");' > "${TARGET_DIR}/gtk-3.0/gtk-dark.css" echo '@import url("resource:///org/gnome/theme/gtk-dark.css");' > "${TARGET_DIR}/gtk-3.0/gtk-dark.css"
glib-compile-resources --sourcedir="${TMP_DIR_T}" --target="${TARGET_DIR}/gtk-3.0/gtk.gresource" "${THEME_SRC_DIR}/main/gtk-3.0/gtk.gresource.xml" glib-compile-resources --sourcedir="${TMP_DIR_T}" --target="${TARGET_DIR}/gtk-3.0/gtk.gresource" "${THEME_SRC_DIR}/main/gtk-3.0/gtk.gresource.xml"
@ -446,7 +448,7 @@ install_theemy() {
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-4.0/gtk-Dark.scss" "${TMP_DIR_F}/gtk-dark.css" sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-4.0/gtk-Dark.scss" "${TMP_DIR_F}/gtk-dark.css"
mkdir -p "${TARGET_DIR}/gtk-4.0" mkdir -p "${TARGET_DIR}/gtk-4.0"
cp -r "${THEME_SRC_DIR}/assets/gtk/thumbnails/thumbnail${color}${theme}${colorscheme}.png" "${TARGET_DIR}/gtk-4.0/thumbnail.png" cp -r "${THEME_SRC_DIR}/assets/gtk/thumbnails/thumbnail${color}${theme}${scheme}.png" "${TARGET_DIR}/gtk-4.0/thumbnail.png"
echo '@import url("resource:///org/gnome/theme/gtk.css");' > "${TARGET_DIR}/gtk-4.0/gtk.css" echo '@import url("resource:///org/gnome/theme/gtk.css");' > "${TARGET_DIR}/gtk-4.0/gtk.css"
echo '@import url("resource:///org/gnome/theme/gtk-dark.css");' > "${TARGET_DIR}/gtk-4.0/gtk-dark.css" echo '@import url("resource:///org/gnome/theme/gtk-dark.css");' > "${TARGET_DIR}/gtk-4.0/gtk-dark.css"
glib-compile-resources --sourcedir="${TMP_DIR_F}" --target="${TARGET_DIR}/gtk-4.0/gtk.gresource" "${THEME_SRC_DIR}/main/gtk-4.0/gtk.gresource.xml" glib-compile-resources --sourcedir="${TMP_DIR_F}" --target="${TARGET_DIR}/gtk-4.0/gtk.gresource" "${THEME_SRC_DIR}/main/gtk-4.0/gtk.gresource.xml"
@ -456,39 +458,39 @@ install_theemy() {
mkdir -p "${TARGET_DIR}/cinnamon" mkdir -p "${TARGET_DIR}/cinnamon"
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/cinnamon/cinnamon${color}.scss" "${TARGET_DIR}/cinnamon/cinnamon.css" sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/cinnamon/cinnamon${color}.scss" "${TARGET_DIR}/cinnamon/cinnamon.css"
cp -r "${THEME_SRC_DIR}/assets/cinnamon/common-assets" "${TARGET_DIR}/cinnamon/assets" cp -r "${THEME_SRC_DIR}/assets/cinnamon/common-assets" "${TARGET_DIR}/cinnamon/assets"
cp -r "${THEME_SRC_DIR}/assets/cinnamon/assets${color}${colorscheme}/"*".svg" "${TARGET_DIR}/cinnamon/assets" cp -r "${THEME_SRC_DIR}/assets/cinnamon/assets${color}${scheme}/"*".svg" "${TARGET_DIR}/cinnamon/assets"
cp -r "${THEME_SRC_DIR}/assets/cinnamon/theme${theme}${colorscheme}/"*".svg" "${TARGET_DIR}/cinnamon/assets" cp -r "${THEME_SRC_DIR}/assets/cinnamon/theme${theme}${scheme}/"*".svg" "${TARGET_DIR}/cinnamon/assets"
cp -r "${THEME_SRC_DIR}/assets/cinnamon/thumbnails/thumbnail${color}${theme}${colorscheme}.png" "${TARGET_DIR}/cinnamon/thumbnail.png" cp -r "${THEME_SRC_DIR}/assets/cinnamon/thumbnails/thumbnail${color}${theme}${scheme}.png" "${TARGET_DIR}/cinnamon/thumbnail.png"
#----------------Misc------------------# #----------------Misc------------------#
mkdir -p "${TARGET_DIR}/gtk-2.0" mkdir -p "${TARGET_DIR}/gtk-2.0"
cp -r "${THEME_SRC_DIR}/main/gtk-2.0/gtkrc${color}${theme}${colorscheme}" "${TARGET_DIR}/gtk-2.0/gtkrc" cp -r "${THEME_SRC_DIR}/main/gtk-2.0/gtkrc${color}${theme}${scheme}" "${TARGET_DIR}/gtk-2.0/gtkrc"
cp -r "${THEME_SRC_DIR}/main/gtk-2.0/menubar-toolbar${color}.rc" "${TARGET_DIR}/gtk-2.0/menubar-toolbar.rc" cp -r "${THEME_SRC_DIR}/main/gtk-2.0/menubar-toolbar${color}.rc" "${TARGET_DIR}/gtk-2.0/menubar-toolbar.rc"
cp -r "${THEME_SRC_DIR}/main/gtk-2.0/common/"*".rc" "${TARGET_DIR}/gtk-2.0" cp -r "${THEME_SRC_DIR}/main/gtk-2.0/common/"*".rc" "${TARGET_DIR}/gtk-2.0"
cp -r "${THEME_SRC_DIR}/assets/gtk-2.0/assets-common${color}${colorscheme}" "${TARGET_DIR}/gtk-2.0/assets" cp -r "${THEME_SRC_DIR}/assets/gtk-2.0/assets-common${color}${scheme}" "${TARGET_DIR}/gtk-2.0/assets"
cp -r "${THEME_SRC_DIR}/assets/gtk-2.0/assets${color}${theme}${colorscheme}/"*".png" "${TARGET_DIR}/gtk-2.0/assets" cp -r "${THEME_SRC_DIR}/assets/gtk-2.0/assets${color}${theme}${scheme}/"*".png" "${TARGET_DIR}/gtk-2.0/assets"
local HDPI_TARGET_DIR="${TARGET_DIR}-hdpi" local HDPI_TARGET_DIR="${TARGET_DIR}-hdpi"
local XHDPI_TARGET_DIR="${TARGET_DIR}-xhdpi" local XHDPI_TARGET_DIR="${TARGET_DIR}-xhdpi"
mkdir -p "${TARGET_DIR}/xfwm4" mkdir -p "${TARGET_DIR}/xfwm4"
cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}${colorscheme}/"*".png" "${TARGET_DIR}/xfwm4" cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}${scheme}/"*".png" "${TARGET_DIR}/xfwm4"
cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${TARGET_DIR}/xfwm4/themerc" cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${TARGET_DIR}/xfwm4/themerc"
mkdir -p "${HDPI_TARGET_DIR}/xfwm4" mkdir -p "${HDPI_TARGET_DIR}/xfwm4"
cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}${colorscheme}-hdpi/"*".png" "${HDPI_TARGET_DIR}/xfwm4" cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}${scheme}-hdpi/"*".png" "${HDPI_TARGET_DIR}/xfwm4"
cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${HDPI_TARGET_DIR}/xfwm4/themerc" cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${HDPI_TARGET_DIR}/xfwm4/themerc"
mkdir -p "${XHDPI_TARGET_DIR}/xfwm4" mkdir -p "${XHDPI_TARGET_DIR}/xfwm4"
cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}${colorscheme}-xhdpi/"*".png" "${XHDPI_TARGET_DIR}/xfwm4" cp -r "${THEME_SRC_DIR}/assets/xfwm4/assets${color}${scheme}-xhdpi/"*".png" "${XHDPI_TARGET_DIR}/xfwm4"
cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${XHDPI_TARGET_DIR}/xfwm4/themerc" cp -r "${THEME_SRC_DIR}/main/xfwm4/themerc${color}" "${XHDPI_TARGET_DIR}/xfwm4/themerc"
mkdir -p "${TARGET_DIR}/metacity-1" mkdir -p "${TARGET_DIR}/metacity-1"
cp -r "${THEME_SRC_DIR}/main/metacity-1/metacity-theme${color}.xml" "${TARGET_DIR}/metacity-1/metacity-theme-1.xml" cp -r "${THEME_SRC_DIR}/main/metacity-1/metacity-theme${color}.xml" "${TARGET_DIR}/metacity-1/metacity-theme-1.xml"
cp -r "${THEME_SRC_DIR}/main/metacity-1/metacity-theme-3.xml" "${TARGET_DIR}/metacity-1" cp -r "${THEME_SRC_DIR}/main/metacity-1/metacity-theme-3.xml" "${TARGET_DIR}/metacity-1"
cp -r "${THEME_SRC_DIR}/assets/metacity-1/titlebuttons${color}${colorscheme}" "${TARGET_DIR}/metacity-1/titlebuttons" cp -r "${THEME_SRC_DIR}/assets/metacity-1/titlebuttons${color}${scheme}" "${TARGET_DIR}/metacity-1/titlebuttons"
cp -r "${THEME_SRC_DIR}/assets/metacity-1/thumbnail${color}${colorscheme}.png" "${TARGET_DIR}/metacity-1/thumbnail.png" cp -r "${THEME_SRC_DIR}/assets/metacity-1/thumbnail${color}${scheme}.png" "${TARGET_DIR}/metacity-1/thumbnail.png"
( cd "${TARGET_DIR}/metacity-1" && ln -s "metacity-theme-1.xml" "metacity-theme-2.xml" ) ( cd "${TARGET_DIR}/metacity-1" && ln -s "metacity-theme-1.xml" "metacity-theme-2.xml" )
mkdir -p "${TARGET_DIR}/plank" mkdir -p "${TARGET_DIR}/plank"
@ -498,9 +500,9 @@ install_theemy() {
} }
remove_packy() { remove_packy() {
rm -rf "${dest}/${name}$(destify ${1})$(destify ${2})$(destify ${3})$(destify ${4})${colorscheme}" rm -rf "${dest}/${name}$(destify ${1})$(destify ${2})$(destify ${3})$(destify ${4})$(destify ${5})"
rm -rf "${dest}/${name}$(destify ${1})${colorscheme}-hdpi" rm -rf "${dest}/${name}$(destify ${1})$(destify ${2})$(destify ${5})-hdpi"
rm -rf "${dest}/${name}$(destify ${1})${colorscheme}-xhdpi" rm -rf "${dest}/${name}$(destify ${1})$(destify ${2})$(destify ${5})-xhdpi"
} }
remove_old_packy() { remove_old_packy() {
@ -516,6 +518,7 @@ remove_old_packy() {
config_gtk4() { config_gtk4() {
local color="$(destify ${1})" local color="$(destify ${1})"
local alt="$(destify ${2})" local alt="$(destify ${2})"
local scheme="$(destify ${3})"
local TARGET_DIR="${HOME}/.config/gtk-4.0" local TARGET_DIR="${HOME}/.config/gtk-4.0"
@ -525,18 +528,19 @@ config_gtk4() {
rm -rf "${TARGET_DIR}/"{gtk.css,gtk-Light.css,gtk-Dark.css,assets,windows-assets} rm -rf "${TARGET_DIR}/"{gtk.css,gtk-Light.css,gtk-Dark.css,assets,windows-assets}
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-4.0/gtk-Light.scss" "${TARGET_DIR}/gtk-Light.css" sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-4.0/gtk-Light.scss" "${TARGET_DIR}/gtk-Light.css"
sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-4.0/gtk-Dark.scss" "${TARGET_DIR}/gtk-Dark.css" sassc ${SASSC_OPT} "${THEME_SRC_DIR}/main/gtk-4.0/gtk-Dark.scss" "${TARGET_DIR}/gtk-Dark.css"
ln -sf "${TARGET_DIR}/gtk-${colors}.css" "${TARGET_DIR}/gtk.css" ln -sf "${TARGET_DIR}/gtk-${color}.css" "${TARGET_DIR}/gtk.css"
cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/assets" "${TARGET_DIR}" cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/assets" "${TARGET_DIR}"
cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/sidebar-assets/"*".png" "${TARGET_DIR}/assets" cp -r "${THEME_SRC_DIR}/assets/gtk/common-assets/sidebar-assets/"*".png" "${TARGET_DIR}/assets"
cp -r "${THEME_SRC_DIR}/assets/gtk/scalable" "${TARGET_DIR}/assets" cp -r "${THEME_SRC_DIR}/assets/gtk/scalable" "${TARGET_DIR}/assets"
cp -r "${THEME_SRC_DIR}/assets/gtk/windows-assets/titlebutton${alt}${colorscheme}" "${TARGET_DIR}/windows-assets" cp -r "${THEME_SRC_DIR}/assets/gtk/windows-assets/titlebutton${alt}${scheme}" "${TARGET_DIR}/windows-assets"
} }
install_libadwaita() { install_libadwaita() {
opacity="${opacities[0]}" opacity="${opacities[0]}"
color="${colors[1]}" color="${colors[1]}"
scheme="${schemes[0]}"
gtk_base && config_gtk4 "${colors}" "${alts}" gtk_base && config_gtk4 "${color}" "${alt}" "${scheme}"
} }
remove_libadwaita() { remove_libadwaita() {
@ -564,13 +568,15 @@ install_themes() {
install_theme_deps; start_animation; install_beggy install_theme_deps; start_animation; install_beggy
for color in "${colors[@]}"; do
for opacity in "${opacities[@]}"; do for opacity in "${opacities[@]}"; do
for alt in "${alts[@]}"; do for alt in "${alts[@]}"; do
for theme in "${themes[@]}"; do for theme in "${themes[@]}"; do
for color in "${colors[@]}"; do for scheme in "${schemes[@]}"; do
gtk_base gtk_base
install_theemy "${color}" "${opacity}" "${alt}" "${theme}" install_theemy "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}"
install_shelly "${color}" "${opacity}" "${alt}" "${theme}" "${icon}" install_shelly "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}" "${icon}"
done
done done
done done
done done
@ -586,24 +592,26 @@ remove_themes() {
for opacity in "${OPACITY_VARIANTS[@]}"; do for opacity in "${OPACITY_VARIANTS[@]}"; do
for alt in "${ALT_VARIANTS[@]}"; do for alt in "${ALT_VARIANTS[@]}"; do
for theme in "${THEME_VARIANTS[@]}"; do for theme in "${THEME_VARIANTS[@]}"; do
remove_packy "${color}" "${opacity}" "${alt}" "${theme}" & for scheme in "${SCHEME_VARIANTS[@]}"; do
remove_packy "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}" &
process_ids+=("${!}") process_ids+=("${!}")
done done
done done
done done
done done
done
for color in '-light' '-dark'; do # for color in '-light' '-dark'; do
for opacity in "${OPACITY_VARIANTS[@]}"; do # for opacity in "${OPACITY_VARIANTS[@]}"; do
for alt in "${ALT_VARIANTS[@]}"; do # for alt in "${ALT_VARIANTS[@]}"; do
for theme in "${THEME_VARIANTS[@]}"; do # for theme in "${THEME_VARIANTS[@]}"; do
for scheme in '' '-nord'; do # for scheme in '' '-nord'; do
remove_old_packy "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}" # remove_old_packy "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}"
done # done
done # done
done # done
done # done
done # done
wait ${process_ids[*]} &> /dev/null wait ${process_ids[*]} &> /dev/null
} }
@ -617,7 +625,7 @@ install_gdm_theme() {
gtk_base gtk_base
if check_theme_file "${COMMON_CSS_FILE}"; then # CSS-based theme if check_theme_file "${COMMON_CSS_FILE}"; then # CSS-based theme
install_shelly "${colors[0]}" "${opacities[0]}" "${alts[0]}" "${themes[0]}" "${icon}" "${WHITESUR_GS_DIR}" install_shelly "${colors[0]}" "${opacities[0]}" "${alts[0]}" "${themes[0]}" "${schemes[0]}" "${icon}" "${WHITESUR_GS_DIR}"
sed $SED_OPT "s|assets|${WHITESUR_GS_DIR}/assets|" "${WHITESUR_GS_DIR}/gnome-shell.css" sed $SED_OPT "s|assets|${WHITESUR_GS_DIR}/assets|" "${WHITESUR_GS_DIR}/gnome-shell.css"
if check_theme_file "${UBUNTU_CSS_FILE}"; then if check_theme_file "${UBUNTU_CSS_FILE}"; then
@ -633,7 +641,7 @@ install_gdm_theme() {
# Fix previously installed WhiteSur # Fix previously installed WhiteSur
restore_file "${ETC_CSS_FILE}" restore_file "${ETC_CSS_FILE}"
else # GR-based theme else # GR-based theme
install_shelly "${colors[0]}" "${opacities[0]}" "${alts[0]}" "${themes[0]}" "${icon}" "${WHITESUR_TMP_DIR}/shelly" install_shelly "${colors[0]}" "${opacities[0]}" "${alts[0]}" "${themes[0]}" "${schemes[0]}" "${icon}" "${WHITESUR_TMP_DIR}/shelly"
sed $SED_OPT "s|assets|resource:///org/gnome/shell/theme/assets|" "${WHITESUR_TMP_DIR}/shelly/gnome-shell.css" sed $SED_OPT "s|assets|resource:///org/gnome/shell/theme/assets|" "${WHITESUR_TMP_DIR}/shelly/gnome-shell.css"
if check_theme_file "$POP_OS_GR_FILE"; then if check_theme_file "$POP_OS_GR_FILE"; then
@ -831,11 +839,13 @@ revert_dash_to_dock_theme() {
connect_flatpak() { connect_flatpak() {
install_flatpak_deps install_flatpak_deps
for color in "${colors[@]}"; do
for opacity in "${opacities[@]}"; do for opacity in "${opacities[@]}"; do
for alt in "${alts[@]}"; do for alt in "${alts[@]}"; do
for theme in "${themes[@]}"; do for theme in "${themes[@]}"; do
for color in "${colors[@]}"; do for scheme in "${schemes[@]}"; do
pakitheme_gtk3 "${color}" "${opacity}" "${alt}" "${theme}" pakitheme_gtk3 "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}"
done
done done
done done
done done
@ -843,11 +853,13 @@ connect_flatpak() {
} }
disconnect_flatpak() { disconnect_flatpak() {
for color in "${colors[@]}"; do
for opacity in "${opacities[@]}"; do for opacity in "${opacities[@]}"; do
for alt in "${alts[@]}"; do for alt in "${alts[@]}"; do
for theme in "${themes[@]}"; do for theme in "${themes[@]}"; do
for color in "${colors[@]}"; do for scheme in "${schemes[@]}"; do
flatpak_remove "${color}" "${opacity}" "${alt}" "${theme}" flatpak_remove "${color}" "${opacity}" "${alt}" "${theme}" "${scheme}"
done
done done
done done
done done
@ -889,6 +901,10 @@ gtk_base() {
if [[ "${theme}" != '' ]]; then if [[ "${theme}" != '' ]]; then
sed $SED_OPT "/\$theme/s/default/${theme}/" "${THEME_SRC_DIR}/sass/_gtk-base-temp.scss" sed $SED_OPT "/\$theme/s/default/${theme}/" "${THEME_SRC_DIR}/sass/_gtk-base-temp.scss"
fi fi
if [[ "${scheme}" == 'nord' ]]; then
sed $SED_OPT "/\$scheme/s/standard/nord/" "${THEME_SRC_DIR}/sass/_gtk-base-temp.scss"
fi
} }
############################################################################### ###############################################################################
@ -898,12 +914,6 @@ gtk_base() {
customize_theme() { customize_theme() {
cp -rf "${THEME_SRC_DIR}/sass/_theme-options"{".scss","-temp.scss"} cp -rf "${THEME_SRC_DIR}/sass/_theme-options"{".scss","-temp.scss"}
# Nord dark colors
if [[ "${colorscheme}" == '-nord' ]]; then
prompt -s "Changing ColorScheme style to nord version ...\n"
sed $SED_OPT "/\$colorscheme/s/default/nord/" "${THEME_SRC_DIR}/sass/_theme-options-temp.scss"
fi
# Darker dark colors # Darker dark colors
if [[ "${darker}" == 'true' ]]; then if [[ "${darker}" == 'true' ]]; then
prompt -s "Changing dark color style to darker one ...\n" prompt -s "Changing dark color style to darker one ...\n"

View File

@ -30,7 +30,7 @@ $fg_color: if($variant == 'light', #242424, #dedede);
$alt_fg_color: if($variant == 'light', #424242, #afafaf); $alt_fg_color: if($variant == 'light', #424242, #afafaf);
$hint_fg_color: if($variant == 'light', #565656, #999999); $hint_fg_color: if($variant == 'light', #565656, #999999);
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$base_color: if($variant == 'light', #fbfcfd, if($darker == 'true', #1d2025, #252932)); $base_color: if($variant == 'light', #fbfcfd, if($darker == 'true', #1d2025, #252932));
$text_color: if($variant == 'light', #2b303b, #d3d7df); $text_color: if($variant == 'light', #2b303b, #d3d7df);
$bg_color: if($variant == 'light', #f3f4f6, if($darker == 'true', #23272f, #2b303b)); $bg_color: if($variant == 'light', #f3f4f6, if($darker == 'true', #23272f, #2b303b));
@ -60,38 +60,38 @@ $light_divider_color: rgba(white, 0.12);
$light_fill_color: rgba(white, 0.06); $light_fill_color: rgba(white, 0.06);
$selected_fg_color: $light_fg_color; $selected_fg_color: $light_fg_color;
$selected_bg_color: if($colorscheme == 'nord', $nord_color_default, $theme_color_default); $selected_bg_color: if($scheme == 'nord', $nord_color_default, $theme_color_default);
@if $theme == 'blue' { @if $theme == 'blue' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_blue, $theme_color_blue); $selected_bg_color: if($scheme == 'nord', $nord_color_blue, $theme_color_blue);
} }
@if $theme == 'purple' { @if $theme == 'purple' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_purple, $theme_color_purple); $selected_bg_color: if($scheme == 'nord', $nord_color_purple, $theme_color_purple);
} }
@if $theme == 'pink' { @if $theme == 'pink' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_pink, $theme_color_pink); $selected_bg_color: if($scheme == 'nord', $nord_color_pink, $theme_color_pink);
} }
@if $theme == 'red' { @if $theme == 'red' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_red, $theme_color_red); $selected_bg_color: if($scheme == 'nord', $nord_color_red, $theme_color_red);
} }
@if $theme == 'orange' { @if $theme == 'orange' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_orange, $theme_color_orange); $selected_bg_color: if($scheme == 'nord', $nord_color_orange, $theme_color_orange);
} }
@if $theme == 'yellow' { @if $theme == 'yellow' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_yellow, $theme_color_yellow); $selected_bg_color: if($scheme == 'nord', $nord_color_yellow, $theme_color_yellow);
} }
@if $theme == 'green' { @if $theme == 'green' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_green, $theme_color_green); $selected_bg_color: if($scheme == 'nord', $nord_color_green, $theme_color_green);
} }
@if $theme == 'grey' { @if $theme == 'grey' {
$selected_bg_color: if($colorscheme == 'nord', $nord_color_grey, $theme_color_grey); $selected_bg_color: if($scheme == 'nord', $nord_color_grey, $theme_color_grey);
} }
$primary_color: $selected_bg_color; $primary_color: $selected_bg_color;
@ -112,32 +112,32 @@ $alt_dark_bg_color: rgba(black, 0.3);
$solid_bg_color: if($variant == 'light', #eeeeee, #555555); $solid_bg_color: if($variant == 'light', #eeeeee, #555555);
$alt_solid_bg_color: if($variant == 'light', #c0c0c0, #242424); $alt_solid_bg_color: if($variant == 'light', #c0c0c0, #242424);
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$solid_bg_color: if($variant == 'light', #eaecf0, #464f62); $solid_bg_color: if($variant == 'light', #eaecf0, #464f62);
$alt_solid_bg_color: if($variant == 'light', #b6bdca, #1e222a); $alt_solid_bg_color: if($variant == 'light', #b6bdca, #1e222a);
} }
// Link colors // Link colors
$link_color: if($colorscheme == 'nord', #5e81ac, #3484e2); $link_color: if($scheme == 'nord', #5e81ac, #3484e2);
$link_visited_color: if($variant == 'light', lighten($text_color, 10%), darken($text_color, 15%)); $link_visited_color: if($variant == 'light', lighten($text_color, 10%), darken($text_color, 15%));
// Theme colors // Theme colors
$selection_mode_bg: lighten($selected_bg_color, 15%); $selection_mode_bg: lighten($selected_bg_color, 15%);
$warning_color: if($colorscheme == 'nord', $nord_color_orange, $theme_color_orange); $warning_color: if($scheme == 'nord', $nord_color_orange, $theme_color_orange);
$error_color: if($colorscheme == 'nord', $nord_color_red, $theme_color_red); $error_color: if($scheme == 'nord', $nord_color_red, $theme_color_red);
$success_color: if($colorscheme == 'nord', $nord_color_green, $theme_color_green); $success_color: if($scheme == 'nord', $nord_color_green, $theme_color_green);
$destructive_color: if($colorscheme == 'nord', $nord_color_red, $theme_color_red); $destructive_color: if($scheme == 'nord', $nord_color_red, $theme_color_red);
$suggested_color: if($colorscheme == 'nord', $nord_color_blue, $theme_color_blue); $suggested_color: if($scheme == 'nord', $nord_color_blue, $theme_color_blue);
$progress_color: $selected_bg_color; $progress_color: $selected_bg_color;
$drop_target_color: if($colorscheme == 'nord', $nord_color_orange, $theme_color_orange); $drop_target_color: if($scheme == 'nord', $nord_color_orange, $theme_color_orange);
// Headerbar colors // Headerbar colors
$header_bg: if($variant == 'light', #ffffff, if($darker == 'true', #1e1e1e, #373737)); $header_bg: if($variant == 'light', #ffffff, if($darker == 'true', #1e1e1e, #373737));
$header_highlight: if($variant == 'dark', if($darker == 'true', #242424, #434343), #f5f5f5); // For metacity $header_highlight: if($variant == 'dark', if($darker == 'true', #242424, #434343), #f5f5f5); // For metacity
$header_fg: if($variant == 'light', #575757, #FDFDFD); $header_fg: if($variant == 'light', #575757, #FDFDFD);
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$header_bg: if($variant == 'light', #fbfcfd, if($darker == 'true', #191c23, #2e3440)); $header_bg: if($variant == 'light', #fbfcfd, if($darker == 'true', #191c23, #2e3440));
$header_highlight: if($variant == 'dark', if($darker == 'true', #1e222a, #383f4e), #f3f4f7); // For metacity $header_highlight: if($variant == 'dark', if($darker == 'true', #1e222a, #383f4e), #f3f4f7); // For metacity
$header_fg: if($variant == 'light', #57647f, #f8f9fc); $header_fg: if($variant == 'light', #57647f, #f8f9fc);
@ -153,9 +153,9 @@ $opacity: 0.96;
@if $trans=='true' { @if $trans=='true' {
@if $variant=='light' { @if $variant=='light' {
$dark_sidebar_bg: rgba(if($colorscheme == 'nord', #eeeff2, #f0f0f0), $opacity); $dark_sidebar_bg: rgba(if($scheme == 'nord', #eeeff2, #f0f0f0), $opacity);
} @else { } @else {
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$dark_sidebar_bg: rgba(if($darker == 'true', #22262e, #2b303b), $opacity); $dark_sidebar_bg: rgba(if($darker == 'true', #22262e, #2b303b), $opacity);
} @else { } @else {
$dark_sidebar_bg: rgba(if($darker == 'true', #282828, #333333), $opacity); $dark_sidebar_bg: rgba(if($darker == 'true', #282828, #333333), $opacity);
@ -163,9 +163,9 @@ $opacity: 0.96;
} }
} @else { } @else {
@if $variant=='light' { @if $variant=='light' {
$dark_sidebar_bg: if($colorscheme == 'nord', #eeeff2, #f0f0f0); $dark_sidebar_bg: if($scheme == 'nord', #eeeff2, #f0f0f0);
} @else { } @else {
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$dark_sidebar_bg: if($darker == 'true', #22262e, #2b303b); $dark_sidebar_bg: if($darker == 'true', #22262e, #2b303b);
} @else { } @else {
$dark_sidebar_bg: if($darker == 'true', #282828, #333333); $dark_sidebar_bg: if($darker == 'true', #282828, #333333);
@ -185,10 +185,10 @@ $dialog_bg_color: if($variant == 'light', $bg_color, $base_col
} }
//OSD colors //OSD colors
$osd_fg_color: if($colorscheme == 'nord', #dadada, #d3d7df); $osd_fg_color: if($scheme == 'nord', #dadada, #d3d7df);
$osd_bg_color: if($trans == 'true', rgba(if($darker == 'true', #1a1a1a, #2a2a2a), $opacity), if($darker == 'true', #1a1a1a, #2a2a2a)); $osd_bg_color: if($trans == 'true', rgba(if($darker == 'true', #1a1a1a, #2a2a2a), $opacity), if($darker == 'true', #1a1a1a, #2a2a2a));
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$osd_bg_color: if($trans == 'true', rgba(if($darker == 'true', #16191e, #222730), $opacity), if($darker == 'true', #16191e, #222730)); $osd_bg_color: if($trans == 'true', rgba(if($darker == 'true', #16191e, #222730), $opacity), if($darker == 'true', #16191e, #222730));
} }
@ -216,7 +216,7 @@ $submenu_bg_color: if($variant == 'light', rgba(white, 1), rgba
$submenu_bg_color: if($variant == 'light', rgba(white, 0.75), rgba(white, 0.15)); $submenu_bg_color: if($variant == 'light', rgba(white, 0.75), rgba(white, 0.15));
} }
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$submenu_bg_color: if($variant == 'light', rgba(#fbfcfd, 1), rgba(#fbfcfd, 0.1)); $submenu_bg_color: if($variant == 'light', rgba(#fbfcfd, 1), rgba(#fbfcfd, 0.1));
@if $trans=='true' { @if $trans=='true' {
@ -227,7 +227,7 @@ $submenu_bg_color: if($variant == 'light', rgba(white, 1), rgba
// Panel colors // Panel colors
$panel_bg: if($variant == 'light', #f1f1f1, if($darker == 'true', #1f1f1f, #2a2a2a)); $panel_bg: if($variant == 'light', #f1f1f1, if($darker == 'true', #1f1f1f, #2a2a2a));
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$panel_bg: if($variant == 'light', #f0f1f4, if($darker == 'true', #1a1d24, #222730)); $panel_bg: if($variant == 'light', #f0f1f4, if($darker == 'true', #1a1d24, #222730));
} }
@ -238,14 +238,14 @@ $panel_bg: if($variant == 'light', #f1f1f1, if($darker
$panel_bg: if($variant == 'light', rgba(white, $panel_opacity/2 + 0.08), rgba(black, $panel_opacity/2)); $panel_bg: if($variant == 'light', rgba(white, $panel_opacity/2 + 0.08), rgba(black, $panel_opacity/2));
} }
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$panel_bg: if($variant == 'light', rgba(#9da8be, $panel_opacity/2 + 0.12), rgba(#1a1d23, $panel_opacity + 0.08)); $panel_bg: if($variant == 'light', rgba(#9da8be, $panel_opacity/2 + 0.12), rgba(#1a1d23, $panel_opacity + 0.08));
} }
} }
$panel_text: if($variant == 'light', #363636, white); $panel_text: if($variant == 'light', #363636, white);
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$panel_text: if($variant == 'light', #2d333f, #fbfcfd); $panel_text: if($variant == 'light', #2d333f, #fbfcfd);
} }
@ -260,7 +260,7 @@ $dash_bg: if($variant == 'light', rgba(#d1d1d1, $panel
$dash_bg: if($variant == 'light', rgba(#d1d1d1, $panel_opacity/2 + 0.08), rgba(if($darker == 'true', #1f1f1f, #222222), $panel_opacity + 0.15)); $dash_bg: if($variant == 'light', rgba(#d1d1d1, $panel_opacity/2 + 0.08), rgba(if($darker == 'true', #1f1f1f, #222222), $panel_opacity + 0.15));
} }
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$dash_bg: if($variant == 'light', rgba(#9da8be, $panel_opacity + 0.33), rgba(if($darker == 'true', #1a1d24, #1d2027), $panel_opacity/2 + 0.6)); $dash_bg: if($variant == 'light', rgba(#9da8be, $panel_opacity + 0.33), rgba(if($darker == 'true', #1a1d24, #1d2027), $panel_opacity/2 + 0.6));
@if $trans == 'true' and $panel_font == 'black' { @if $trans == 'true' and $panel_font == 'black' {
@ -277,7 +277,7 @@ $entry_highlight: rgba($selection_mode_bg, 0.75);
// Button colors // Button colors
$button_bg: if($variant == 'light', white, #656565); $button_bg: if($variant == 'light', white, #656565);
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$button_bg: if($variant == 'light', #fbfcfd, #556075); $button_bg: if($variant == 'light', #fbfcfd, #556075);
} }

View File

@ -2,3 +2,4 @@
$laptop: 'true'; $laptop: 'true';
$trans: 'true'; $trans: 'true';
$theme: 'default'; $theme: 'default';
$scheme: 'standard';

View File

@ -2,9 +2,6 @@
// THEME OPTIONS // THEME OPTIONS
// //
// Colorscheme type
$colorscheme: 'default'; // default/nord
// Nautilus sidebar sizes (when nautilus_use_colors is false) // Nautilus sidebar sizes (when nautilus_use_colors is false)
$sidebar_size: 200px; $sidebar_size: 200px;

View File

@ -32,7 +32,7 @@
border-radius: $bd_radius * 4; border-radius: $bd_radius * 4;
border: none; border: none;
box-shadow: none; box-shadow: none;
background-color: rgba(if($colorscheme == 'nord', #20242c, #262626), 0.9); background-color: rgba(if($scheme == 'nord', #20242c, #262626), 0.9);
color: $light_alt_fg_color; color: $light_alt_fg_color;
.folder-name-container { .folder-name-container {

View File

@ -75,7 +75,7 @@ $list_shadow: if($variant == 'light',
background-color: if($variant == 'light', rgba(black, 0.03), rgba(white, 0.05)); background-color: if($variant == 'light', rgba(black, 0.03), rgba(white, 0.05));
border: none; border: none;
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
background-color: if($variant == 'light', rgba(#2e3440, 0.06), rgba(#4c566a, 0.25)); background-color: if($variant == 'light', rgba(#2e3440, 0.06), rgba(#4c566a, 0.25));
} @else { } @else {
background-color: if($variant == 'light', rgba(black, 0.03), rgba(white, 0.05)); background-color: if($variant == 'light', rgba(black, 0.03), rgba(white, 0.05));
@ -1960,7 +1960,7 @@ window.background > box.vertical > headerbar:not(.titlebar) { // reset headerbar
$pathbar_button_checked_bg: if($variant == 'light', #808080, #b8b8b8); $pathbar_button_checked_bg: if($variant == 'light', #808080, #b8b8b8);
@if $colorscheme == 'nord' { @if $scheme == 'nord' {
$pathbar_button_checked_bg: if($variant == 'light', #6b7894, #adb4c3); $pathbar_button_checked_bg: if($variant == 'light', #6b7894, #adb4c3);
} }
@ -2867,7 +2867,7 @@ checkbutton, radiobutton {
} }
$check_radio_border: if($variant == 'light', rgba(black, 0.2), rgba(black, 0.1)); $check_radio_border: if($variant == 'light', rgba(black, 0.2), rgba(black, 0.1));
$check_radio_image: if($colorscheme == 'nord', linear-gradient(0deg, #59647b 0%, #475061 100%), linear-gradient(0deg, #6a6a6a 0%, #545454 100%)); $check_radio_image: if($scheme == 'nord', linear-gradient(0deg, #59647b 0%, #475061 100%), linear-gradient(0deg, #6a6a6a 0%, #545454 100%));
$check_radio_checked_image: linear-gradient(0deg, darken($selected_bg_color, 5%) 0%, lighten($selected_bg_color, 5%) 100%); $check_radio_checked_image: linear-gradient(0deg, darken($selected_bg_color, 5%) 0%, lighten($selected_bg_color, 5%) 100%);
%check, %check,

View File

@ -33,6 +33,7 @@ usage() {
helpify "-o, --opacity" "[$(IFS='|'; echo "${OPACITY_VARIANTS[*]}")]" " Set '${THEME_NAME}' GDM/Flatpak theme opacity variants" "Default is 'normal'" helpify "-o, --opacity" "[$(IFS='|'; echo "${OPACITY_VARIANTS[*]}")]" " Set '${THEME_NAME}' GDM/Flatpak theme opacity variants" "Default is 'normal'"
helpify "-c, --color" "[$(IFS='|'; echo "${COMMAND_COLOR_VARIANTS[*]}")]" " Set '${THEME_NAME}' GDM/Flatpak theme color variants" "Default is 'light'" helpify "-c, --color" "[$(IFS='|'; echo "${COMMAND_COLOR_VARIANTS[*]}")]" " Set '${THEME_NAME}' GDM/Flatpak theme color variants" "Default is 'light'"
helpify "-t, --theme" "[$(IFS='|'; echo "${THEME_VARIANTS[*]}")]" " Set '${THEME_NAME}' GDM/Flatpak theme accent color" "Default is BigSur-like theme" helpify "-t, --theme" "[$(IFS='|'; echo "${THEME_VARIANTS[*]}")]" " Set '${THEME_NAME}' GDM/Flatpak theme accent color" "Default is BigSur-like theme"
helpify "-s, --scheme" "[$(IFS='|'; echo "${SCHEME_VARIANTS[*]}")]" " Set theme colorscheme style" "Default is 'standard'"
helpify "" "" "Tweaks for GDM theme" "options" helpify "" "" "Tweaks for GDM theme" "options"
sec_title "-g, --gdm" "" " Without options default GDM theme will install..." "" sec_title "-g, --gdm" "" " Without options default GDM theme will install..." ""
@ -43,7 +44,6 @@ usage() {
sec_helpify "5. -s, -smaller" "" " Set GDM font size to smaller (10pt)" "Default is 11pt" sec_helpify "5. -s, -smaller" "" " Set GDM font size to smaller (10pt)" "Default is 11pt"
sec_helpify "6. -nd, -nodarken" "" " Don't darken '${THEME_NAME}' GDM theme background image" "" sec_helpify "6. -nd, -nodarken" "" " Don't darken '${THEME_NAME}' GDM theme background image" ""
sec_helpify "7. -nb, -noblur" "" " Don't blur '${THEME_NAME}' GDM theme background image" "" sec_helpify "7. -nb, -noblur" "" " Don't blur '${THEME_NAME}' GDM theme background image" ""
sec_helpify "8. -nord, -nordcolor" "" " Install '${THEME_NAME}' Nord ColorScheme gnome-shell themes" ""
helpify "" "" "Tweaks for firefox" "options" helpify "" "" "Tweaks for firefox" "options"
sec_title "-f, --firefox" " [(monterey|flat)|alt|(darker|adaptive)]" " Without options default WhiteSur theme will install..." " Options:" sec_title "-f, --firefox" " [(monterey|flat)|alt|(darker|adaptive)]" " Without options default WhiteSur theme will install..." " Options:"
@ -60,6 +60,7 @@ usage() {
sec_helpify "1. -o, --opacity" "[$(IFS='|'; echo "${OPACITY_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme opacity variants" "Default is 'normal'" sec_helpify "1. -o, --opacity" "[$(IFS='|'; echo "${OPACITY_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme opacity variants" "Default is 'normal'"
sec_helpify "2. -c, --color" "[$(IFS='|'; echo "${COLOR_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme color variants" "Default is 'light'" sec_helpify "2. -c, --color" "[$(IFS='|'; echo "${COLOR_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme color variants" "Default is 'light'"
sec_helpify "3. -t, --theme" "[$(IFS='|'; echo "${THEME_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme accent color" "Default is BigSur-like theme" sec_helpify "3. -t, --theme" "[$(IFS='|'; echo "${THEME_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme accent color" "Default is BigSur-like theme"
sec_helpify "4. -s, --scheme" "[$(IFS='|'; echo "${SCHEME_VARIANTS[*]}")]" " Set '${THEME_NAME}' flatpak theme colorscheme style" "Default is 'standard'"
#helpify "-s, --snap" "" " Connect '${THEME_NAME}' theme the currently installed snap apps" "" #helpify "-s, --snap" "" " Connect '${THEME_NAME}' theme the currently installed snap apps" ""