#!/usr/bin/env bash
# This is a demo config to bring across some of the most important commands more easily.
# For a more advanced configuration example see https://github.com/FelixKratz/SketchyBar/discussions/47#discussion-3587958
FONT="Meslo"

############## BAR ##############
sketchybar -m --bar height=35        \
                    blur_radius=40   \
                    position=bottom     \
                    padding_left=10  \
                    padding_right=10 \
                    corner_radius=20 \
                    topmost=false \
                    color=0x44000000
                    #color=0x44FF8700
#spaces=()
#for i in {1..8}
#do
#    spaces+=(--add space space$i left \
#      --set space$i associated_display=1 associated_space=$i icon=$i)
#done

sketchybar -m \
  --add item yabai_spaces left \
  --set yabai_spaces script="~/.config/sketchybar/plugins/yabai_spaces.js --update" \
  --subscribe yabai_spaces #front_app_switched #\
  #"${spaces[@]}"

sketchybar -m --add event window_created \
              --add event window_destroyed

############## GLOBAL DEFAULTS ##############
sketchybar -m --default updates=when_shown                    \
                        drawing=on                            \
                        cache_scripts=on                      \
                        icon.font="Hack Nerd Font:Bold:17.0"  \
                        icon.color=0xffffffff                 \
                        label.font="Hack Nerd Font:Bold:14.0" \
                        label.color=0xffffffff

############## SPACE DEFAULTS ##############
sketchybar -m --default label.padding_left=2  \
                        label.padding_right=2 \
                        icon.padding_left=8   \
                        label.padding_right=8

############## PRIMARY DISPLAY SPACES ##############
#sketchybar -m --add space code left                              \
#              --set code associated_display=1                    \
#                         associated_space=1                      \
#                         icon.font="Hack Nerd Font:Bold:20.0"    \
#                         icon=                                  \
#                         icon.highlight_color=0xff48aa2a         \
#                         label=code                              \
#                         click_script="yabai -m space --focus 1" \
#                                                                 \
#              --add space tex left                               \
#              --set tex  associated_display=1                    \
#                         associated_space=2                      \
#                         icon=                                  \
#                         icon.highlight_color=0xfffab402         \
#                         label=tex                               \
#                         click_script="yabai -m space --focus 2"


############## ITEM DEFAULTS ###############
#sketchybar -m --default label.padding_left=2  \
#                        icon.padding_right=2  \
#                        icon.padding_left=6   \
#                        label.padding_right=6
#
#
############### LEFT ITEMS ##############
#sketchybar -m --add item space_separator left                                                  \
#              --set space_separator  icon=                                                    \
#                                     associated_space=1                                        \
#                                     icon.padding_left=15                                      \
#                                     label.padding_right=15                                    \
#                                     icon.font="Hack Nerd Font:Bold:15.0"                      \
#                                                                                               \
#              --add item gitNotifications left                                                 \
#              --set gitNotifications associated_space=1                                        \
#                                     update_freq=300                                           \
#                                     icon.font="Hack Nerd Font:Bold:18.0"                      \
#                                     icon=                                                    \
#                                     script="~/.config/sketchybar/plugins/gitNotifications.sh" \
#                                     click_script="open https://github.com/notifications"      \
#              --subscribe gitNotifications system_woke                                         \
#                                                                                               \
#              --add item githubIndicator left                                                  \
#              --set githubIndicator  associated_space=1                                        \
#                                     update_freq=1000                                          \
#                                     icon.font="Hack Nerd Font:Bold:18.0"                      \
#                                     icon=                                                    \
#                                     click_script="open https://github.com"                    \
#                                     script="~/.config/sketchybar/plugins/githubIndicator.sh"  \
#              --subscribe githubIndicator system_woke                                          \
#                                                                                               \
#              --add item topmem left                                                           \
#              --set topmem           associated_space=1                                        \
#                                     icon.padding_left=10                                      \
#                                     update_freq=15                                            \
#                                     script="~/.config/sketchybar/plugins/topmem.sh"
#
############### RIGHT ITEMS ##############
#sketchybar -m --add item clock right                                                                  \
#              --set clock         update_freq=10                                                      \
#                                  script="~/.config/sketchybar/plugins/clock.sh"                      \
#                                                                                                      \
#              --add item mailIndicator right                                                          \
#              --set mailIndicator associated_space=1,2,3                                              \
#                                  update_freq=30                                                      \
#                                  script="~/.config/sketchybar/plugins/mailIndicator.sh"              \
#                                  icon.font="Hack Nerd Font:Bold:20.0"                                \
#                                  icon=                                                              \
#                                  click_script="osascript -e 'tell application \"Mail\" to activate'"
#
## Creating Graphs
#sketchybar -m --add graph cpu_user right 200                                        \
#              --set cpu_user     graph.color=0xffffffff                             \
#                                 update_freq=2                                      \
#                                 width=0                                            \
#                                 associated_space=1                                 \
#                                 label.padding_left=0                               \
#                                 icon=                                             \
#                                 script="~/.config/sketchybar/plugins/cpu_graph.sh" \
#                                 lazy=on                                            \
#                                                                                    \
#              --add graph cpu_sys right 200                                         \
#              --set cpu_sys      label.padding_left=0                               \
#                                 associated_space=1                                 \
#                                 icon=                                             \
#                                 graph.color=0xff48aa2a                             \
#                                                                                    \
#              --add item topproc right                                              \
#              --set topproc      associated_space=1                                 \
#                                 label.padding_right=10                             \
#                                 update_freq=15                                     \
#                                 script="~/.config/sketchybar/plugins/topproc.sh"

###################### CENTER ITEMS ###################

# Adding custom events which can listen on distributed notifications from other running processes
#sketchybar -m --add event spotify_change "com.spotify.client.PlaybackStateChanged"                       \
#              --add item spotifyIndicator center                                                         \
#              --set spotifyIndicator script="~/.config/sketchybar/plugins/spotifyIndicator.sh"           \
#              --set spotifyIndicator click_script="osascript -e 'tell application \"Spotify\" to pause'" \
#              --subscribe spotifyIndicator spotify_change

############## FINALIZING THE SETUP ##############
sketchybar -m --update

~/.config/sketchybar/plugins/yabai_spaces.js --refresh
echo "sketchybar configuration loaded.."