#!/usr/bin/env bash # === CONFIG ROOT === CONFIG_DIR="$HOME/.config/sketchybar" PLUGIN_DIR="$CONFIG_DIR/plugins" # === COLORS === CLR_BG=0x00000000 # Transparent bar background CLR_COMP_BG=0xff1e1e2e # Compartment background (Mocha base) CLR_COMP_BORDER=0xff313244 # Compartment border (Mocha surface0) CLR_FG=0xffcdd6f4 CLR_MAUVE=0xffcba6f7 CLR_BLUE=0xff89b4fa CLR_GREEN=0xffa6e3a1 CLR_RED=0xfff38ba8 CLR_YELLOW=0xfff9e2af CLR_TEAL=0xff94e2d5 CLR_SUBTEXT=0xff6c7086 # Mocha surface2, good for secondary text # === PADDING CONSTANTS BAR_PADDING=8 # Outer bar padding (use compartments for outer spacing) ITEM_PADDING=6 # Default horizontal padding between items ICON_PADDING=2 # Consistent icon inner padding (reduced from mixed 2/4 for tighter look) LABEL_PADDING=2 # Consistent label inner padding (unified from 4/2) COMP_PADDING=6 # Compartment outer padding (increased from bar-level 0 for breathing room) # === SYSTEM METRICS PROVIDER === #pkill -f stats_provider >/dev/null 2>&1 #/Users/nate/Documents/scripts/stats_provider --cpu temperature & # === BAR (No outer padding; defer to compartments) === sketchybar --bar position=top height=34 blur_radius=0 color="$CLR_BG" padding_left="$BAR_PADDING" padding_right="$BAR_PADDING" # === WORKSPACES === sketchybar --add event aerospace_workspace_change LABELS=("" "" "" "" "" "" "󰖣" "" "󰎇") LEFT_SPACE_ITEMS=() INDEX=0 for sid in $(aerospace list-workspaces --all); do label="${LABELS[$INDEX]:-}" item="space.$sid" LEFT_SPACE_ITEMS+=("$item") sketchybar --add item "$item" left \ --subscribe "$item" aerospace_workspace_change \ --set "$item" \ background.color=0xff000000 \ background.corner_radius=5 \ background.height=20 \ background.drawing=off \ label="$label" \ icon.padding_left="$ICON_PADDING" \ icon.padding_right="$ICON_PADDING" \ label.padding_left="$LABEL_PADDING" \ label.padding_right="$LABEL_PADDING" \ click_script="aerospace workspace $sid" \ script="$PLUGIN_DIR/aerospace.sh $sid" ((INDEX++)) done # === DEFAULTS (Unified paddings for all items/icons/labels) === sketchybar --default \ padding_left="$ITEM_PADDING" \ padding_right="$ITEM_PADDING" \ icon.font="VictorMono Nerd Font:Regular:12.0" \ label.font="VictorMono Nerd Font:Regular:15.0" \ icon.color="$CLR_FG" \ label.color="$CLR_FG" \ icon.padding_left="$ICON_PADDING" \ icon.padding_right="$ICON_PADDING" \ label.padding_left="$LABEL_PADDING" \ label.padding_right="$LABEL_PADDING" # === FRONT APP sketchybar --add item front_app left \ --set front_app \ script="$PLUGIN_DIR/front_app.sh" \ label.y_offset=1 \ label.padding_right="$COMP_PADDING" \ --subscribe front_app front_app_switched # === RIGHT SIDE ITEMS === sketchybar --add item clock right \ --set clock update_freq=10 icon= script="$PLUGIN_DIR/clock.sh" label.padding_right="$COMP_PADDING" sketchybar --add item volume right \ --set volume script="$PLUGIN_DIR/volume.sh" \ --subscribe volume volume_change sketchybar --add item battery right \ --set battery update_freq=120 script="$PLUGIN_DIR/battery.sh" \ --subscribe battery system_woke power_source_change sketchybar --add item net right \ --set net update_freq=120 icon= script="$PLUGIN_DIR/wifi.sh" # sketchybar --add item cpu_temp right \ # --set cpu_temp icon= script="sketchybar --set cpu_temp label=\$CPU_TEMP" icon.padding_left="$COMP_PADDING" \ # --subscribe cpu_temp system_stats # === ITEM GROUPS === LEFT_ITEMS=("${LEFT_SPACE_ITEMS[@]}" front_app) RIGHT_ITEMS=(clock volume battery net cpu_temp) # === COMPARTMENTS (Outer padding for clean edges; height=26 leaves vertical margin in 34pt bar) === sketchybar --add bracket left_compartment "${LEFT_ITEMS[@]}" \ --set left_compartment \ background.color="$CLR_COMP_BG" \ background.corner_radius=8 \ background.height=26 \ background.border_color="$CLR_COMP_BORDER" \ background.border_width=1 \ background.drawing=on sketchybar --add bracket right_compartment "${RIGHT_ITEMS[@]}" \ --set right_compartment \ background.color="$CLR_COMP_BG" \ background.corner_radius=8 \ background.height=26 \ background.border_color="$CLR_COMP_BORDER" \ background.border_width=1 \ background.padding_left=0 \ background.drawing=on # === FINALIZE === sketchybar --update