# TODO: Implement the plugin system for easier setup of preconfigured items ############## BAR CONFIGURATION ################## sketchybar -m config height 25 sketchybar -m config position top sketchybar -m config padding_left 10 sketchybar -m config padding_right 10 sketchybar -m config bar_color 0x44000000 #0xaf202020 ############## SCRIPT CACHING ############ sketchybar -m default cache_scripts on ############# SETTING DEFAULT VALUES ####### sketchybar -m default icon_font "Hack Nerd Font:Bold:17.0" sketchybar -m default icon_color 0xffffffff sketchybar -m default label_font "Hack Nerd Font:Bold:14.0" sketchybar -m default label_color 0xffffffff sketchybar -m default label_padding_left 4 sketchybar -m default icon_padding_left 16 ############## CREATING SPACES ############### sketchybar -m add component space code left sketchybar -m set code associated_display 1 sketchybar -m set code associated_space 1 sketchybar -m set code icon_font "Hack Nerd Font:Bold:20.0" sketchybar -m set code icon  sketchybar -m set code icon_highlight_color 0xff48aa2a sketchybar -m set code icon_padding_left 0 sketchybar -m set code label code sketchybar -m set code click_script "yabai -m space --focus 1" sketchybar -m add component space writing left sketchybar -m set writing associated_display 1 sketchybar -m set writing associated_space 2 sketchybar -m set writing icon_highlight_color 0xfffab402 sketchybar -m set writing icon  sketchybar -m set writing label tex sketchybar -m set writing click_script "yabai -m space --focus 2" sketchybar -m add component space reading left sketchybar -m set reading associated_display 1 sketchybar -m set reading associated_space 3 sketchybar -m set reading icon_highlight_color 0xff7fe5f0 sketchybar -m set reading icon  sketchybar -m set reading label web sketchybar -m set reading click_script "yabai -m space --focus 3" sketchybar -m add component space entertainment left sketchybar -m set entertainment associated_display 1 sketchybar -m set entertainment associated_space 4 sketchybar -m set entertainment icon_font "Hack Nerd Font:Bold:19.0" sketchybar -m set entertainment icon_highlight_color 0xfffff68f sketchybar -m set entertainment icon  sketchybar -m set entertainment label idle sketchybar -m set entertainment click_script "yabai -m space --focus 4" sketchybar -m add component space zoom left sketchybar -m set zoom associated_display 2 sketchybar -m set zoom associated_space 5 sketchybar -m set zoom icon V sketchybar -m set zoom icon_padding_left 0 ################## CREATING LEFT ITEMS ################## sketchybar -m default label_padding_left 0 sketchybar -m default icon_padding_left 0 sketchybar -m add item vimSeparator left sketchybar -m set vimSeparator icon_font "Hack Nerd Font:Bold:15.0" sketchybar -m set vimSeparator icon  sketchybar -m set vimSeparator associated_space 1 sketchybar -m set vimSeparator associated_space 2 sketchybar -m set vimSeparator icon_padding_right 20 sketchybar -m set vimSeparator icon_padding_left 20 sketchybar -m add item vimIndicator left sketchybar -m set vimIndicator associated_space 1 sketchybar -m set vimIndicator associated_space 2 sketchybar -m set vimIndicator icon_font "Hack Nerd Font:Bold:19.0" sketchybar -m set vimIndicator icon "" sketchybar -m set vimIndicator icon_padding_right 4 sketchybar -m set vimIndicator label "normal" sketchybar -m set vimIndicator label_padding_right 10 sketchybar -m add item topmem left sketchybar -m set topmem associated_space 1 sketchybar -m set topmem script "~/.config/sketchybar/plugins/topmem.sh" sketchybar -m set topmem update_freq 15 ################# CREATING RIGHT ITEMS #################### sketchybar -m add item clock right sketchybar -m set clock update_freq 10 sketchybar -m set clock script "~/.config/sketchybar/plugins/clock.sh" sketchybar -m set clock label_padding_left 15 # Switching up the defaults for further items sketchybar -m default label_padding_left 4 sketchybar -m default icon_padding_left 15 sketchybar -m add item mailIndicator right # Items can be associated to multiple spaces / displays sketchybar -m set mailIndicator associated_space 1 sketchybar -m set mailIndicator associated_space 2 sketchybar -m set mailIndicator associated_space 3 sketchybar -m set mailIndicator update_freq 15 sketchybar -m set mailIndicator script "~/.config/sketchybar/plugins/mailIndicator.sh" sketchybar -m set mailIndicator icon_font "Hack Nerd Font:Bold:20.0" sketchybar -m set mailIndicator icon  sketchybar -m set mailIndicator click_script "osascript -e 'tell application \"Mail\" to activate'" sketchybar -m add item githubIndicator right sketchybar -m set githubIndicator associated_space 1 sketchybar -m set githubIndicator script "~/.config/sketchybar/plugins/githubIndicator.sh" sketchybar -m set githubIndicator update_freq 1000 sketchybar -m set githubIndicator icon_font "Hack Nerd Font:Bold:18.0" sketchybar -m set githubIndicator icon  sketchybar -m set githubIndicator click_script "open https://github.com" # Subscribing to system events for refresh sketchybar -m subscribe githubIndicator system_woke sketchybar -m default icon_padding_left 4 ########### CREATING GRAPHS ################### sketchybar -m add component graph cpu_user right 200 nospace sketchybar -m set cpu_user script "~/.config/sketchybar/plugins/cpu_graph.sh" sketchybar -m set cpu_user graph_color 0xffffffff sketchybar -m set cpu_user update_freq 1 sketchybar -m set cpu_user associated_space 1 sketchybar -m set cpu_user label_padding_left 0 sketchybar -m set cpu_user icon  sketchybar -m add component graph cpu_sys right 200 sketchybar -m set cpu_sys graph_color 0xff48aa2a sketchybar -m set cpu_sys label_padding_left 0 sketchybar -m set cpu_sys associated_space 1 sketchybar -m set cpu_sys icon  sketchybar -m add component graph network_down right 200 nospace sketchybar -m set network_down associated_space 3 sketchybar -m set network_down label_padding_left 0 sketchybar -m set network_down icon  sketchybar -m set network_down update_freq 1 sketchybar -m set network_down graph_color 0xffffffff sketchybar -m set network_down script "~/.config/sketchybar/plugins/network_graph.sh" sketchybar -m add component graph network_up right 200 sketchybar -m set network_up icon  sketchybar -m set network_up label_padding_left 0 sketchybar -m set network_up associated_space 3 sketchybar -m set network_up graph_color 0xff48aa2a sketchybar -m add item topproc right sketchybar -m set topproc associated_space 1 sketchybar -m set topproc icon_padding_left 10 sketchybar -m set topproc label_padding_right 5 sketchybar -m set topproc script "~/.config/sketchybar/plugins/topproc.sh" sketchybar -m set topproc update_freq 15 ###################### CENTER ITEMS ################### sketchybar -m default label_padding_right 15 sketchybar -m default icon_padding_right 4 # Adding custom events which can listen on distributed notifications from other running processes sketchybar -m add event spotify_change "com.spotify.client.PlaybackStateChanged" sketchybar -m add item spotifyIndicator center sketchybar -m set spotifyIndicator script "~/.config/sketchybar/plugins/spotifyIndicator.sh" sketchybar -m set spotifyIndicator click_script "osascript -e 'tell application \"Spotify\" to pause'" sketchybar -m subscribe spotifyIndicator spotify_change #################### RUN ALL SCRIPTS AND REDRAW ############### sketchybar -m update echo "sketchybar configuration loaded.."