162 lines
4.8 KiB
Bash
Executable file
162 lines
4.8 KiB
Bash
Executable file
# vim: set filetype=sh :
|
|
# This is a demo config to showcase some of the most important commands.
|
|
# It is meant to be changed and configured, as it is intentionally kept sparse.
|
|
# For a (much) more advanced configuration example see my dotfiles:
|
|
# https://github.com/FelixKratz/dotfiles
|
|
|
|
PLUGIN_DIR="$HOME/dots/stow/.config/sketchybar/plugins"
|
|
|
|
##### Bar Appearance #####
|
|
# Configuring the general appearance of the bar.
|
|
# These are only some of the options available. For all options see:
|
|
# https://felixkratz.github.io/SketchyBar/config/bar
|
|
# If you are looking for other colors, see the color picker:
|
|
# https://felixkratz.github.io/SketchyBar/config/tricks#color-picker
|
|
|
|
sketchybar --bar position=top height=42 blur_radius=0 color=0x00000000 padding_right=15 padding_left=15 y_offset=0 corner_radius=0
|
|
|
|
source $PLUGIN_DIR/../colours.sh
|
|
|
|
##### Changing Defaults #####
|
|
# We now change some default values, which are applied to all further items.
|
|
# For a full list of all available item properties see:
|
|
# https://felixkratz.github.io/SketchyBar/config/items
|
|
|
|
default=(
|
|
icon.font="ComicShannsMono Nerd Font:Regular:16.0"
|
|
label.font="ComicShannsMono Nerd Font:Bold:12.0"
|
|
background.border_color=0x00000000
|
|
background.border_width=3
|
|
background.height=32
|
|
|
|
padding_left=1
|
|
padding_right=1
|
|
label.color=$PRIMARY_COLOUR
|
|
icon.color=$SECONDARY_COLOUR
|
|
background.color=$BACKGROUND_COLOUR
|
|
icon.padding_left=10
|
|
icon.padding_right=1
|
|
label.padding_left=7
|
|
label.padding_right=7
|
|
background.corner_radius=$ROUNDING
|
|
)
|
|
sketchybar --default "${default[@]}"
|
|
|
|
#
|
|
# Adding Left Items
|
|
#
|
|
|
|
# Aerospace workspace indicators
|
|
sketchybar --add event aerospace_workspace_change
|
|
for sid in $(aerospace list-workspaces --all); do
|
|
sketchybar --add item space.$sid left \
|
|
--subscribe space.$sid aerospace_workspace_change \
|
|
--set space.$sid \
|
|
background.color=$BACKGROUND_COLOUR \
|
|
background.drawing=true \
|
|
icon.drawing=false \
|
|
background.height=28 \
|
|
background.border_width=0 \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
label.color=$PRIMARY_COLOUR \
|
|
label="$sid" \
|
|
click_script="aerospace workspace $sid" \
|
|
script="$CONFIG_DIR/plugins/aerospace.sh $sid"
|
|
done
|
|
# background.corner_radius=0 \
|
|
|
|
|
|
|
|
# Yabai Workspace Indictators
|
|
#
|
|
SPACE_ICONS=("1" "2" "3" "4" "5" "6" "7" "8" "9")
|
|
for i in "${!SPACE_ICONS[@]}"
|
|
do
|
|
sid="$(($i+1))"
|
|
space=(
|
|
space="$sid"
|
|
icon="${SPACE_ICONS[i]}"
|
|
background.drawing=true \
|
|
icon.drawing=false \
|
|
background.height=28 \
|
|
background.border_width=0 \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
label.color=$PRIMARY_COLOUR \
|
|
label="$sid" \
|
|
script="$PLUGIN_DIR/space.sh"
|
|
click_script="yabai -m space --focus $sid"
|
|
)
|
|
sketchybar --add space space."$sid" left --set space."$sid" "${space[@]}"
|
|
done
|
|
|
|
|
|
# Focused window title
|
|
sketchybar --add item front_app left \
|
|
--set front_app icon=" " \
|
|
script="$PLUGIN_DIR/front_app.sh" \
|
|
--subscribe front_app front_app_switched \
|
|
|
|
# Currently playing music status (only works for Music.app)
|
|
sketchybar --add item music left \
|
|
--set music icon=" " update_freq=10 \
|
|
script="$PLUGIN_DIR/music.sh" \
|
|
click_script="osascript -e 'tell application \"Music\" to playpause'" \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
drawing=false \
|
|
scroll_texts=1 \
|
|
label.max_chars=50 \
|
|
label.scroll_duration=500 \
|
|
background.color=$PRIMARY_COLOUR \
|
|
icon.color=$BACKGROUND_COLOUR \
|
|
label.color=$BACKGROUND_COLOUR \
|
|
drawing=false
|
|
|
|
#
|
|
# Adding Right Items
|
|
#
|
|
|
|
# Clock
|
|
sketchybar --add item clock right \
|
|
--set clock icon=" " \
|
|
update_freq=10 \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
label.padding_right=10 \
|
|
script="$PLUGIN_DIR/clock.sh"
|
|
|
|
# Input Method
|
|
sketchybar --add item input-method right \
|
|
--set input-method icon="" \
|
|
update_freq=1 \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
script="$PLUGIN_DIR/input-method.sh"
|
|
|
|
# Battery
|
|
sketchybar --add item battery right \
|
|
--set battery update_freq=10 \
|
|
script="$PLUGIN_DIR/battery.sh" \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
|
|
# Backlight
|
|
sketchybar --add item backlight right \
|
|
--set backlight icon="" \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
script="$PLUGIN_DIR/backlight.sh" \
|
|
--subscribe backlight brightness_change \
|
|
|
|
# Volume
|
|
sketchybar --add item audio right \
|
|
--set audio \
|
|
background.padding_right=0 \
|
|
background.padding_left=0 \
|
|
script="$PLUGIN_DIR/volume.sh" \
|
|
--subscribe audio volume_change \
|
|
|
|
##### Force all scripts to run the first time (never do this in a script) #####
|
|
sketchybar --update
|