-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
173 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
set -eux -o pipefail | ||
|
||
brew tap FelixKratz/formulae | ||
brew install sketchybar | ||
|
||
ln -s ~/dot-files/sketchybar ~/.config/ | ||
brew install --cask font-hack-nerd-font |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
#!/bin/sh | ||
|
||
PERCENTAGE="$(pmset -g batt | grep -Eo "\d+%" | cut -d% -f1)" | ||
CHARGING="$(pmset -g batt | grep 'AC Power')" | ||
|
||
if [ "$PERCENTAGE" = "" ]; then | ||
exit 0 | ||
fi | ||
|
||
case "${PERCENTAGE}" in | ||
9[0-9]|100) ICON="" | ||
;; | ||
[6-8][0-9]) ICON="" | ||
;; | ||
[3-5][0-9]) ICON="" | ||
;; | ||
[1-2][0-9]) ICON="" | ||
;; | ||
*) ICON="" | ||
esac | ||
|
||
if [[ "$CHARGING" != "" ]]; then | ||
ICON="" | ||
fi | ||
|
||
# The item invoking this script (name $NAME) will get its icon and label | ||
# updated with the current battery status | ||
sketchybar --set "$NAME" icon="$ICON" label="${PERCENTAGE}%" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/sh | ||
|
||
# The $NAME variable is passed from sketchybar and holds the name of | ||
# the item invoking this script: | ||
# https://felixkratz.github.io/SketchyBar/config/events#events-and-scripting | ||
|
||
sketchybar --set "$NAME" label="$(date '+%b-%d %H:%M')" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/bin/sh | ||
|
||
# Some events send additional information specific to the event in the $INFO | ||
# variable. E.g. the front_app_switched event sends the name of the newly | ||
# focused application in the $INFO variable: | ||
# https://felixkratz.github.io/SketchyBar/config/events#events-and-scripting | ||
|
||
if [ "$SENDER" = "front_app_switched" ]; then | ||
sketchybar --set "$NAME" label="$INFO" | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/sh | ||
|
||
# The $SELECTED variable is available for space components and indicates if | ||
# the space invoking this script (with name: $NAME) is currently selected: | ||
# https://felixkratz.github.io/SketchyBar/config/components#space----associate-mission-control-spaces-with-an-item | ||
|
||
sketchybar --set "$NAME" background.drawing="$SELECTED" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/sh | ||
|
||
# The volume_change event supplies a $INFO variable in which the current volume | ||
# percentage is passed to the script. | ||
|
||
if [ "$SENDER" = "volume_change" ]; then | ||
VOLUME="$INFO" | ||
|
||
case "$VOLUME" in | ||
[6-9][0-9]|100) ICON="" | ||
;; | ||
[3-5][0-9]) ICON="" | ||
;; | ||
[1-9]|[1-2][0-9]) ICON="" | ||
;; | ||
*) ICON="" | ||
esac | ||
|
||
sketchybar --set "$NAME" icon="$ICON" label="$VOLUME%" | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
# 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="$CONFIG_DIR/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=24 blur_radius=30 color=0x40000000 | ||
|
||
##### 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=( | ||
padding_left=5 | ||
padding_right=5 | ||
icon.font="Hack Nerd Font:Bold:17.0" | ||
label.font="Hack Nerd Font:Bold:14.0" | ||
icon.color=0xffffffff | ||
label.color=0xffffffff | ||
icon.padding_left=4 | ||
icon.padding_right=4 | ||
label.padding_left=4 | ||
label.padding_right=4 | ||
) | ||
sketchybar --default "${default[@]}" | ||
|
||
##### Adding Mission Control Space Indicators ##### | ||
# Let's add some mission control spaces: | ||
# https://felixkratz.github.io/SketchyBar/config/components#space----associate-mission-control-spaces-with-an-item | ||
# to indicate active and available mission control spaces. | ||
|
||
SPACE_ICONS=("1" "2" "3" "4" "5" "6" "7" "8" "9" "10") | ||
for i in "${!SPACE_ICONS[@]}" | ||
do | ||
sid="$(($i+1))" | ||
space=( | ||
space="$sid" | ||
icon="${SPACE_ICONS[i]}" | ||
icon.padding_left=7 | ||
icon.padding_right=7 | ||
background.color=0x40ffffff | ||
background.corner_radius=5 | ||
background.height=25 | ||
label.drawing=off | ||
script="$PLUGIN_DIR/space.sh" | ||
click_script="yabai -m space --focus $sid" | ||
) | ||
sketchybar --add space space."$sid" left --set space."$sid" "${space[@]}" | ||
done | ||
|
||
##### Adding Left Items ##### | ||
# We add some regular items to the left side of the bar, where | ||
# only the properties deviating from the current defaults need to be set | ||
|
||
sketchybar --add item chevron left \ | ||
--set chevron icon= label.drawing=off \ | ||
--add item front_app left \ | ||
--set front_app icon.drawing=off script="$PLUGIN_DIR/front_app.sh" \ | ||
--subscribe front_app front_app_switched | ||
|
||
##### Adding Right Items ##### | ||
# In the same way as the left items we can add items to the right side. | ||
# Additional position (e.g. center) are available, see: | ||
# https://felixkratz.github.io/SketchyBar/config/items#adding-items-to-sketchybar | ||
|
||
# Some items refresh on a fixed cycle, e.g. the clock runs its script once | ||
# every 10s. Other items respond to events they subscribe to, e.g. the | ||
# volume.sh script is only executed once an actual change in system audio | ||
# volume is registered. More info about the event system can be found here: | ||
# https://felixkratz.github.io/SketchyBar/config/events | ||
|
||
sketchybar --add item clock right \ | ||
--set clock update_freq=10 icon= script="$PLUGIN_DIR/clock.sh" \ | ||
--add item volume right \ | ||
--set volume script="$PLUGIN_DIR/volume.sh" \ | ||
--subscribe volume volume_change \ | ||
--add item battery right \ | ||
--set battery update_freq=120 script="$PLUGIN_DIR/battery.sh" \ | ||
--subscribe battery system_woke power_source_change | ||
|
||
##### Force all scripts to run the first time (never do this in a script) ##### | ||
sketchybar --update |