diff --git a/install.sh b/install.sh index 4d0b35e..444d28f 100755 --- a/install.sh +++ b/install.sh @@ -242,6 +242,18 @@ install_gdm() { fi } +install_theme() { + for color in "${colors[@]-${COLOR_VARIANTS[@]}}"; do + for opacity in "${opacities[@]-${OPACITY_VARIANTS[@]}}"; do + for alt in "${alts[@]-${ALT_VARIANTS[@]}}"; do + for icon in "${icons[@]-${ICON_VARIANTS[0]}}"; do + install "${dest:-${DEST_DIR}}" "${name:-${THEME_NAME}}" "${color}" "${opacity}" "${alt}" "${icon}" + done + done + done + done +} + remove_theme() { for color in "${colors[@]-${COLOR_VARIANTS[@]}}"; do for opacity in "${opacities[@]-${OPACITY_VARIANTS[@]}}"; do @@ -313,38 +325,29 @@ install_dialog() { fi } -install_depends() { - if [ ! "$(which glib-compile-resources 2> /dev/null)" ]; then - prompt -w "\n 'glib2.0' needs to be installed for this shell" - if has_command apt; then - sudo apt install libglib2.0-dev-bin - elif has_command dnf; then - sudo dnf install -y glib2-devel - fi - fi -} - -run_sidebar_dialog() { +sidebar_dialog() { if [[ -x /usr/bin/dialog ]]; then tui=$(dialog --backtitle "${THEME_NAME} gtk theme installer" \ --radiolist "Choose your nautilus sidebar size (default is 200px width):" 15 40 5 \ - 1 "200px" on \ - 2 "220px" off \ - 3 "240px" off \ - 4 "260px" off \ - 5 "280px" off --output-fd 1 ) + 1 "220px" on \ + 2 "240px" off \ + 3 "260px" off \ + 4 "280px" off --output-fd 1 ) case "$tui" in - 1) sidebar_size="200px" ;; - 2) sidebar_size="220px" ;; - 3) sidebar_size="240px" ;; - 4) sidebar_size="260px" ;; - 5) sidebar_size="280px" ;; + 1) sidebar_size="220px" ;; + 2) sidebar_size="240px" ;; + 3) sidebar_size="260px" ;; + 4) sidebar_size="280px" ;; *) operation_canceled ;; esac fi } -run_shell_dialog() { +run_sidebar_dialog() { + install_dialog && sidebar_dialog && change_size && parse_sass +} + +shell_dialog() { if [[ -x /usr/bin/dialog ]]; then tui=$(dialog --backtitle "${THEME_NAME} gtk theme installer" \ --radiolist "Choose your panel transparency @@ -375,7 +378,11 @@ run_shell_dialog() { fi } -run_theme_dialog() { +run_shell_dialog() { + install_dialog && shell_dialog && change_transparency && parse_sass +} + +theme_dialog() { if [[ -x /usr/bin/dialog ]]; then tui=$(dialog --backtitle "${THEME_NAME} gtk theme installer" \ --radiolist "Choose your theme color (default is Mac Blue):" 20 50 10 \ @@ -401,6 +408,10 @@ run_theme_dialog() { fi } +run_theme_dialog() { + install_dialog && theme_dialog && change_theme_color && parse_sass +} + parse_sass() { cd ${REPO_DIR} && ./parse-sass.sh } @@ -412,6 +423,13 @@ change_size() { prompt -w "Change nautilus sidebar size ..." } +change_transparency() { + cd ${SRC_DIR}/sass + cp -an _colors.scss _colors.scss.bak + sed -i "/\$panel_opacity/s/0.16/${panel_trans}/" _colors.scss + prompt -w "Change panel transparency ..." +} + change_theme_color() { notify-send "Notice" "It will take a few minutes to regenerate the assets files, please be patient!" -i face-wink @@ -511,13 +529,6 @@ restore_assets_files() { prompt -w "Restore assets files ..." } -change_transparency() { - cd ${SRC_DIR}/sass - cp -an _colors.scss _colors.scss.bak - sed -i "/\$panel_opacity/s/0.16/${panel_trans}/" _colors.scss - prompt -w "Change panel transparency ..." -} - restore_applications_file() { cd ${SRC_DIR}/sass/gtk [[ -f _applications.scss.bak ]] && rm -rf _applications.scss @@ -550,18 +561,6 @@ while [[ $# -gt 0 ]]; do gdm='true' shift 1 ;; - -s|--size) - size='true' - shift 1 - ;; - -t|--theme) - theme='true' - shift 1 - ;; - -p|--panel) - panel='true' - shift 1 - ;; -r|--remove) remove='true' shift 1 @@ -686,6 +685,169 @@ while [[ $# -gt 0 ]]; do esac done ;; + -t|--theme) + theme='true' + tdialog='true' + shift + for theme_color in "${@}"; do + case "${theme_color}" in + blue) + tdialog='false' + theme_color='#2E7CF7' + shift + ;; + purple) + tdialog='false' + theme_color='#9A57A3' + shift + ;; + pink) + tdialog='false' + theme_color='#E55E9C' + shift + ;; + red) + tdialog='false' + theme_color='#ED5F5D' + shift + ;; + orange) + tdialog='false' + theme_color='#E9873A' + shift + ;; + yellow) + tdialog='false' + theme_color='#F3BA4B' + shift + ;; + green) + theme_color='#79B757' + shift + ;; + grey) + tdialog='false' + theme_color='#8C8C8C' + shift + ;; + dialog) + run_theme_dialog + ;; + -*|--*) + break + ;; + *) + run_theme_dialog + ;; + esac + done + ;; + -s|--size) + size='true' + sdialog='true' + shift + for sidebar_size in "${@}"; do + case "${sidebar_size}" in + 220px) + sdialog='false' + sidebar_size='220px' + shift + ;; + 240px) + sdialog='false' + sidebar_size='240px' + shift + ;; + 260px) + sdialog='false' + sidebar_size='260px' + shift + ;; + 280px) + sdialog='false' + sidebar_size='280px' + shift + ;; + dialog) + run_sidebar_dialog + ;; + -*|--*) + break + ;; + *) + run_sidebar_dialog + ;; + esac + done + ;; + -p|--panel) + panel='true' + pdialog='true' + shift + for panel_trans in "${@}"; do + case "${panel_trans}" in + 80%) + pdialog='false' + panel_trans='0.20' + shift + ;; + 75%) + pdialog='false' + panel_trans='0.25' + shift + ;; + 70%) + pdialog='false' + panel_trans='0.30' + shift + ;; + 65%) + pdialog='false' + panel_trans='0.35' + shift + ;; + 60%) + pdialog='false' + panel_trans='0.40' + shift + ;; + 55%) + pdialog='false' + panel_trans='0.45' + shift + ;; + 50%) + pdialog='false' + panel_trans='0.50' + shift + ;; + 45%) + pdialog='false' + panel_trans='0.55' + shift + ;; + 40%) + pdialog='false' + panel_trans='0.60' + shift + ;; + 35%) + pdialog='false' + panel_trans='0.65' + shift + ;; + dialog) + run_shell_dialog + ;; + -*|--*) + break + ;; + *) + run_shell_dialog + ;; + esac + done + ;; -h|--help) usage exit 0 @@ -698,34 +860,40 @@ while [[ $# -gt 0 ]]; do esac done -install_theme() { - for color in "${colors[@]-${COLOR_VARIANTS[@]}}"; do - for opacity in "${opacities[@]-${OPACITY_VARIANTS[@]}}"; do - for alt in "${alts[@]-${ALT_VARIANTS[@]}}"; do - for icon in "${icons[@]-${ICON_VARIANTS[0]}}"; do - install "${dest:-${DEST_DIR}}" "${name:-${THEME_NAME}}" "${color}" "${opacity}" "${alt}" "${icon}" - done - done - done - done -} - -install_depends - -if [[ "${size:-}" == 'true' ]]; then - install_dialog && run_sidebar_dialog - - if [[ "$sidebar_size" != '200px' ]]; then - change_size && parse_sass +if [ ! "$(which glib-compile-resources 2> /dev/null)" ]; then + prompt -w "\n 'glib2.0' needs to be installed for this shell" + if has_command apt; then + sudo apt install libglib2.0-dev-bin + elif has_command dnf; then + sudo dnf install -y glib2-devel fi fi -if [[ "${theme:-}" == 'true' ]]; then - install_dialog && run_theme_dialog && change_theme_color && parse_sass +if [[ "${panel:-}" == 'true' ]]; then + if [[ "${pdialog}" == 'false' ]]; then + change_transparency && parse_sass + else + run_shell_dialog + fi + notify-send "Finished" "Enjoy your new WhiteSur theme!" -i face-smile fi -if [[ "${panel:-}" == 'true' ]]; then - install_dialog && run_shell_dialog && change_transparency && parse_sass +if [[ "${size:-}" == 'true' ]]; then + if [[ "${sdialog}" == 'false' ]]; then + change_size && parse_sass + else + run_sidebar_dialog + fi + notify-send "Finished" "Enjoy your new WhiteSur theme!" -i face-smile +fi + +if [[ "${theme:-}" == 'true' ]]; then + if [[ "${tdialog}" == 'false' ]]; then + change_theme_color && parse_sass + else + run_theme_dialog + fi + notify-send "Finished" "Enjoy your new WhiteSur theme!" -i face-smile fi if [[ "${gdm:-}" != 'true' && "${remove:-}" != 'true' ]]; then @@ -756,7 +924,5 @@ if [[ -f "${SRC_DIR}"/assets/gtk-3.0/thumbnail.svg.bak ]]; then restore_assets_files fi -notify-send "Finished" "Enjoy your new WhiteSur theme!" -i face-smile - echo prompt -s Done. diff --git a/src/main/gnome-shell/gnome-shell-dark-alt.css b/src/main/gnome-shell/gnome-shell-dark-alt.css index 6e59ff8..08a2187 100644 --- a/src/main/gnome-shell/gnome-shell-dark-alt.css +++ b/src/main/gnome-shell/gnome-shell-dark-alt.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(16, 16, 16, 0.25); } +#dashtodockContainer #dash { + background-color: rgba(16, 16, 16, 0.25); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(255, 255, 255, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-dark-solid-alt.css b/src/main/gnome-shell/gnome-shell-dark-solid-alt.css index 3b35792..a904cc1 100644 --- a/src/main/gnome-shell/gnome-shell-dark-solid-alt.css +++ b/src/main/gnome-shell/gnome-shell-dark-solid-alt.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(16, 16, 16, 0.25); } +#dashtodockContainer #dash { + background-color: rgba(16, 16, 16, 0.25); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(255, 255, 255, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-dark-solid.css b/src/main/gnome-shell/gnome-shell-dark-solid.css index 3b35792..a904cc1 100644 --- a/src/main/gnome-shell/gnome-shell-dark-solid.css +++ b/src/main/gnome-shell/gnome-shell-dark-solid.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(16, 16, 16, 0.25); } +#dashtodockContainer #dash { + background-color: rgba(16, 16, 16, 0.25); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(255, 255, 255, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-dark.css b/src/main/gnome-shell/gnome-shell-dark.css index 6e59ff8..08a2187 100644 --- a/src/main/gnome-shell/gnome-shell-dark.css +++ b/src/main/gnome-shell/gnome-shell-dark.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(16, 16, 16, 0.25); } +#dashtodockContainer #dash { + background-color: rgba(16, 16, 16, 0.25); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(255, 255, 255, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-light-alt.css b/src/main/gnome-shell/gnome-shell-light-alt.css index 0cade1b..ad6d048 100644 --- a/src/main/gnome-shell/gnome-shell-light-alt.css +++ b/src/main/gnome-shell/gnome-shell-light-alt.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(241, 241, 241, 0.15); } +#dashtodockContainer #dash { + background-color: rgba(241, 241, 241, 0.15); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(0, 0, 0, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-light-solid-alt.css b/src/main/gnome-shell/gnome-shell-light-solid-alt.css index ef308db..3c01c27 100644 --- a/src/main/gnome-shell/gnome-shell-light-solid-alt.css +++ b/src/main/gnome-shell/gnome-shell-light-solid-alt.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(241, 241, 241, 0.15); } +#dashtodockContainer #dash { + background-color: rgba(241, 241, 241, 0.15); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(0, 0, 0, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-light-solid.css b/src/main/gnome-shell/gnome-shell-light-solid.css index ef308db..3c01c27 100644 --- a/src/main/gnome-shell/gnome-shell-light-solid.css +++ b/src/main/gnome-shell/gnome-shell-light-solid.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(241, 241, 241, 0.15); } +#dashtodockContainer #dash { + background-color: rgba(241, 241, 241, 0.15); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(0, 0, 0, 0.85); } diff --git a/src/main/gnome-shell/gnome-shell-light.css b/src/main/gnome-shell/gnome-shell-light.css index b9a1e49..ce20c3d 100644 --- a/src/main/gnome-shell/gnome-shell-light.css +++ b/src/main/gnome-shell/gnome-shell-light.css @@ -3942,6 +3942,10 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { background-color: rgba(241, 241, 241, 0.15); } +#dashtodockContainer #dash { + background-color: rgba(241, 241, 241, 0.15); +} + #dashtodockContainer #dash .app-well-app-running-dot { background-color: rgba(0, 0, 0, 0.85); } diff --git a/src/sass/gnome-shell/extensions/_dash-to-dock.scss b/src/sass/gnome-shell/extensions/_dash-to-dock.scss index 5788671..41d93c1 100644 --- a/src/sass/gnome-shell/extensions/_dash-to-dock.scss +++ b/src/sass/gnome-shell/extensions/_dash-to-dock.scss @@ -100,6 +100,8 @@ $dash_radius: 18px; &.dashtodock #dash { background-color: $dash_panel_bg; } #dash { // default-mode + background-color: $dash_panel_bg; + .app-well-app-running-dot { background-color: rgba($dash_panel_fg, 0.85); }