worf: Update yabay/sketchybar/alacritty config
This commit is contained in:
parent
da2ca7f42e
commit
47db333feb
@ -19,7 +19,7 @@
|
|||||||
decorations = "none"; # full/none/transparent/buttonless
|
decorations = "none"; # full/none/transparent/buttonless
|
||||||
|
|
||||||
# Transparency:
|
# Transparency:
|
||||||
# opacity = 0.95;
|
opacity = 0.95;
|
||||||
};
|
};
|
||||||
|
|
||||||
scrolling = {
|
scrolling = {
|
||||||
|
@ -48,6 +48,10 @@
|
|||||||
emmet-vim # Ctrl+y + ,
|
emmet-vim # Ctrl+y + ,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"sketchybar".source = ./sketchybar;
|
||||||
|
};
|
||||||
|
|
||||||
# Copy Applications to ~/Applications to allow them to be launched from Spotlight
|
# Copy Applications to ~/Applications to allow them to be launched from Spotlight
|
||||||
disabledModules = [ "targets/darwin/linkapps.nix" ];
|
disabledModules = [ "targets/darwin/linkapps.nix" ];
|
||||||
home.activation = lib.mkIf pkgs.stdenv.isDarwin {
|
home.activation = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
|
26
hosts/worf/sketchybar/colors.sh
Executable file
26
hosts/worf/sketchybar/colors.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Color Palette
|
||||||
|
export BLACK=0xff181926
|
||||||
|
export WHITE=0xffcad3f5
|
||||||
|
export RED=0xffed8796
|
||||||
|
export GREEN=0xffa6da95
|
||||||
|
export BLUE=0xff8aadf4
|
||||||
|
export YELLOW=0xffeed49f
|
||||||
|
export ORANGE=0xfff5a97f
|
||||||
|
export MAGENTA=0xffc6a0f6
|
||||||
|
export GREY=0xff939ab7
|
||||||
|
export TRANSPARENT=0x00000000
|
||||||
|
|
||||||
|
# General bar colors
|
||||||
|
export BAR_COLOR=0xe62e2e2e
|
||||||
|
export BAR_BORDER_COLOR=0xff494d64 #0xa024273a
|
||||||
|
export ICON_COLOR=$WHITE # Color of all icons
|
||||||
|
export LABEL_COLOR=$WHITE # Color of all labels
|
||||||
|
export BACKGROUND_1=0x603c3e4f
|
||||||
|
export BACKGROUND_2=0x60494d64
|
||||||
|
|
||||||
|
export POPUP_BACKGROUND_COLOR=0xff1e1e2e
|
||||||
|
export POPUP_BORDER_COLOR=$WHITE
|
||||||
|
|
||||||
|
export SHADOW_COLOR=$BLACK
|
57
hosts/worf/sketchybar/icons.sh
Executable file
57
hosts/worf/sketchybar/icons.sh
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# General Icons
|
||||||
|
LOADING=
|
||||||
|
APPLE=
|
||||||
|
PREFERENCES=
|
||||||
|
ACTIVITY=
|
||||||
|
LOCK=
|
||||||
|
BELL=
|
||||||
|
BELL_DOT=
|
||||||
|
|
||||||
|
# Git Icons
|
||||||
|
GIT_ISSUE=
|
||||||
|
GIT_DISCUSSION=
|
||||||
|
GIT_PULL_REQUEST=
|
||||||
|
GIT_COMMIT=
|
||||||
|
GIT_INDICATOR=
|
||||||
|
|
||||||
|
# Spotify Icons
|
||||||
|
SPOTIFY_BACK=
|
||||||
|
SPOTIFY_PLAY_PAUSE=
|
||||||
|
SPOTIFY_NEXT=
|
||||||
|
SPOTIFY_SHUFFLE=
|
||||||
|
SPOTIFY_REPEAT=
|
||||||
|
|
||||||
|
# Yabai Icons
|
||||||
|
YABAI_STACK=
|
||||||
|
YABAI_FULLSCREEN_ZOOM=
|
||||||
|
YABAI_PARENT_ZOOM=
|
||||||
|
YABAI_FLOAT=
|
||||||
|
YABAI_GRID=
|
||||||
|
|
||||||
|
# Battery Icons
|
||||||
|
BATTERY_100=
|
||||||
|
BATTERY_75=
|
||||||
|
BATTERY_50=
|
||||||
|
BATTERY_25=
|
||||||
|
BATTERY_0=
|
||||||
|
BATTERY_CHARGING=
|
||||||
|
|
||||||
|
# Volume Icons
|
||||||
|
VOLUME_100=
|
||||||
|
VOLUME_66=
|
||||||
|
VOLUME_33=
|
||||||
|
VOLUME_10=
|
||||||
|
VOLUME_0=
|
||||||
|
|
||||||
|
# WiFi
|
||||||
|
WIFI_CONNECTED=
|
||||||
|
WIFI_DISCONNECTED=
|
||||||
|
|
||||||
|
# svim
|
||||||
|
MODE_NORMAL=
|
||||||
|
MODE_INSERT=
|
||||||
|
MODE_VISUAL=
|
||||||
|
MODE_CMD=
|
||||||
|
MODE_PENDING=
|
43
hosts/worf/sketchybar/icons_nerdfont.sh
Executable file
43
hosts/worf/sketchybar/icons_nerdfont.sh
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# General Icons
|
||||||
|
LOADING=
|
||||||
|
APPLE=
|
||||||
|
PREFERENCES=
|
||||||
|
ACTIVITY=
|
||||||
|
LOCK=
|
||||||
|
BELL=
|
||||||
|
BELL_DOT=
|
||||||
|
|
||||||
|
# Spotify Icons
|
||||||
|
SPOTIFY_BACK=
|
||||||
|
SPOTIFY_PLAY_PAUSE=
|
||||||
|
SPOTIFY_NEXT=
|
||||||
|
SPOTIFY_SHUFFLE=
|
||||||
|
SPOTIFY_REPEAT=
|
||||||
|
|
||||||
|
# Yabai Icons
|
||||||
|
YABAI_STACK=
|
||||||
|
YABAI_FULLSCREEN_ZOOM=
|
||||||
|
YABAI_PARENT_ZOOM=
|
||||||
|
YABAI_FLOAT=
|
||||||
|
YABAI_GRID=
|
||||||
|
|
||||||
|
# Battery Icons
|
||||||
|
BATTERY_100=
|
||||||
|
BATTERY_75=
|
||||||
|
BATTERY_50=
|
||||||
|
BATTERY_25=
|
||||||
|
BATTERY_0=
|
||||||
|
BATTERY_CHARGING=
|
||||||
|
|
||||||
|
# Volume Icons
|
||||||
|
VOLUME_100=
|
||||||
|
VOLUME_66=
|
||||||
|
VOLUME_33=
|
||||||
|
VOLUME_10=
|
||||||
|
VOLUME_0=
|
||||||
|
|
||||||
|
# WiFi
|
||||||
|
WIFI_CONNECTED=
|
||||||
|
WIFI_DISCONNECTED=
|
44
hosts/worf/sketchybar/items/apple.sh
Executable file
44
hosts/worf/sketchybar/items/apple.sh
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
POPUP_OFF='sketchybar --set apple.logo popup.drawing=off'
|
||||||
|
POPUP_CLICK_SCRIPT='sketchybar --set $NAME popup.drawing=toggle'
|
||||||
|
|
||||||
|
apple_logo=(
|
||||||
|
icon=$APPLE
|
||||||
|
icon.font="$FONT:Black:16.0"
|
||||||
|
icon.color=$GREEN
|
||||||
|
padding_right=15
|
||||||
|
label.drawing=off
|
||||||
|
click_script="$POPUP_CLICK_SCRIPT"
|
||||||
|
popup.height=35
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_prefs=(
|
||||||
|
icon=$PREFERENCES
|
||||||
|
label="Preferences"
|
||||||
|
click_script="open -a 'System Preferences'; $POPUP_OFF"
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_activity=(
|
||||||
|
icon=$ACTIVITY
|
||||||
|
label="Activity"
|
||||||
|
click_script="open -a 'Activity Monitor'; $POPUP_OFF"
|
||||||
|
)
|
||||||
|
|
||||||
|
apple_lock=(
|
||||||
|
icon=$LOCK
|
||||||
|
label="Lock Screen"
|
||||||
|
click_script="pmset displaysleepnow; $POPUP_OFF"
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item apple.logo left \
|
||||||
|
--set apple.logo "${apple_logo[@]}" \
|
||||||
|
\
|
||||||
|
--add item apple.prefs popup.apple.logo \
|
||||||
|
--set apple.prefs "${apple_prefs[@]}" \
|
||||||
|
\
|
||||||
|
--add item apple.activity popup.apple.logo \
|
||||||
|
--set apple.activity "${apple_activity[@]}" \
|
||||||
|
\
|
||||||
|
--add item apple.lock popup.apple.logo \
|
||||||
|
--set apple.lock "${apple_lock[@]}"
|
15
hosts/worf/sketchybar/items/battery.sh
Executable file
15
hosts/worf/sketchybar/items/battery.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
battery=(
|
||||||
|
script="$PLUGIN_DIR/battery.sh"
|
||||||
|
icon.font="$FONT:Regular:19.0"
|
||||||
|
padding_right=5
|
||||||
|
padding_left=0
|
||||||
|
label.drawing=off
|
||||||
|
update_freq=120
|
||||||
|
updates=on
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item battery right \
|
||||||
|
--set battery "${battery[@]}" \
|
||||||
|
--subscribe battery power_source_change system_woke
|
17
hosts/worf/sketchybar/items/calendar.sh
Executable file
17
hosts/worf/sketchybar/items/calendar.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
calendar=(
|
||||||
|
icon=cal
|
||||||
|
icon.font="$FONT:Black:12.0"
|
||||||
|
icon.padding_right=0
|
||||||
|
label.width=45
|
||||||
|
label.align=right
|
||||||
|
padding_left=15
|
||||||
|
update_freq=30
|
||||||
|
script="$PLUGIN_DIR/calendar.sh"
|
||||||
|
click_script="$PLUGIN_DIR/zen.sh"
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item calendar right \
|
||||||
|
--set calendar "${calendar[@]}" \
|
||||||
|
--subscribe calendar system_woke
|
53
hosts/worf/sketchybar/items/cpu.sh
Executable file
53
hosts/worf/sketchybar/items/cpu.sh
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cpu_top=(
|
||||||
|
label.font="$FONT:Bold:7"
|
||||||
|
label=CPU
|
||||||
|
icon.drawing=off
|
||||||
|
width=0
|
||||||
|
padding_right=15
|
||||||
|
y_offset=6
|
||||||
|
)
|
||||||
|
|
||||||
|
cpu_percent=(
|
||||||
|
label.font="$FONT:Bold:12"
|
||||||
|
label=CPU
|
||||||
|
y_offset=-4
|
||||||
|
padding_right=15
|
||||||
|
width=55
|
||||||
|
icon.drawing=off
|
||||||
|
update_freq=4
|
||||||
|
mach_helper="$HELPER"
|
||||||
|
)
|
||||||
|
|
||||||
|
cpu_sys=(
|
||||||
|
width=0
|
||||||
|
graph.color=$RED
|
||||||
|
graph.fill_color=$RED
|
||||||
|
label.drawing=off
|
||||||
|
icon.drawing=off
|
||||||
|
background.height=30
|
||||||
|
background.drawing=on
|
||||||
|
background.color=$TRANSPARENT
|
||||||
|
)
|
||||||
|
|
||||||
|
cpu_user=(
|
||||||
|
graph.color=$BLUE
|
||||||
|
label.drawing=off
|
||||||
|
icon.drawing=off
|
||||||
|
background.height=30
|
||||||
|
background.drawing=on
|
||||||
|
background.color=$TRANSPARENT
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item cpu.top right \
|
||||||
|
--set cpu.top "${cpu_top[@]}" \
|
||||||
|
\
|
||||||
|
--add item cpu.percent right \
|
||||||
|
--set cpu.percent "${cpu_percent[@]}" \
|
||||||
|
\
|
||||||
|
--add graph cpu.sys right 75 \
|
||||||
|
--set cpu.sys "${cpu_sys[@]}" \
|
||||||
|
\
|
||||||
|
--add graph cpu.user right 75 \
|
||||||
|
--set cpu.user "${cpu_user[@]}"
|
13
hosts/worf/sketchybar/items/front_app.sh
Executable file
13
hosts/worf/sketchybar/items/front_app.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
front_app=(
|
||||||
|
label.font="$FONT:Bold:12.0"
|
||||||
|
icon.background.drawing=on
|
||||||
|
display=active
|
||||||
|
script="$PLUGIN_DIR/front_app.sh"
|
||||||
|
click_script="open -a 'Mission Control'"
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item front_app left \
|
||||||
|
--set front_app "${front_app[@]}" \
|
||||||
|
--subscribe front_app front_app_switched
|
13
hosts/worf/sketchybar/items/media.sh
Normal file
13
hosts/worf/sketchybar/items/media.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
media=(
|
||||||
|
icon.background.drawing=on
|
||||||
|
icon.background.image=media.artwork
|
||||||
|
icon.background.image.corner_radius=9
|
||||||
|
script="$PLUGIN_DIR/media.sh"
|
||||||
|
label.max_chars=15
|
||||||
|
scroll_texts=on
|
||||||
|
updates=on
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item media center \
|
||||||
|
--set media "${media[@]}" \
|
||||||
|
--subscribe media media_change
|
51
hosts/worf/sketchybar/items/spaces.sh
Executable file
51
hosts/worf/sketchybar/items/spaces.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SPACE_ICONS=("1" "2" "3" "4" "5" "6" "7" "8" "9")
|
||||||
|
|
||||||
|
# Destroy space on right click, focus space on left click.
|
||||||
|
# New space by left clicking separator (>)
|
||||||
|
|
||||||
|
sid=0
|
||||||
|
spaces=()
|
||||||
|
for i in "${!SPACE_ICONS[@]}"
|
||||||
|
do
|
||||||
|
sid=$(($i+1))
|
||||||
|
|
||||||
|
space=(
|
||||||
|
space=$sid
|
||||||
|
icon="${SPACE_ICONS[i]}"
|
||||||
|
icon.padding_left=10
|
||||||
|
icon.padding_right=10
|
||||||
|
padding_left=2
|
||||||
|
padding_right=2
|
||||||
|
label.padding_right=20
|
||||||
|
icon.highlight_color=$RED
|
||||||
|
label.color=$GREY
|
||||||
|
label.highlight_color=$WHITE
|
||||||
|
label.font="sketchybar-app-font:Regular:16.0"
|
||||||
|
label.y_offset=-1
|
||||||
|
background.color=$BACKGROUND_1
|
||||||
|
background.border_color=$BACKGROUND_2
|
||||||
|
script="$PLUGIN_DIR/space.sh"
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add space space.$sid left \
|
||||||
|
--set space.$sid "${space[@]}" \
|
||||||
|
--subscribe space.$sid mouse.clicked
|
||||||
|
done
|
||||||
|
|
||||||
|
space_creator=(
|
||||||
|
icon=
|
||||||
|
icon.font="$FONT:Heavy:16.0"
|
||||||
|
padding_left=10
|
||||||
|
padding_right=8
|
||||||
|
label.drawing=off
|
||||||
|
display=active
|
||||||
|
click_script='yabai -m space --create'
|
||||||
|
script="$PLUGIN_DIR/space_windows.sh"
|
||||||
|
icon.color=$WHITE
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item space_creator left \
|
||||||
|
--set space_creator "${space_creator[@]}" \
|
||||||
|
--subscribe space_creator space_windows_change
|
202
hosts/worf/sketchybar/items/spotify.sh
Executable file
202
hosts/worf/sketchybar/items/spotify.sh
Executable file
@ -0,0 +1,202 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SPOTIFY_EVENT="com.spotify.client.PlaybackStateChanged"
|
||||||
|
POPUP_SCRIPT="sketchybar -m --set spotify.anchor popup.drawing=toggle"
|
||||||
|
|
||||||
|
spotify_anchor=(
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
click_script="$POPUP_SCRIPT"
|
||||||
|
popup.horizontal=on
|
||||||
|
popup.align=center
|
||||||
|
popup.height=150
|
||||||
|
icon=
|
||||||
|
icon.font="$FONT:Regular:25.0"
|
||||||
|
label.drawing=off
|
||||||
|
drawing=off
|
||||||
|
y_offset=2
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_cover=(
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
click_script="open -a 'Spotify'; $POPUP_SCRIPT"
|
||||||
|
label.drawing=off
|
||||||
|
icon.drawing=off
|
||||||
|
padding_left=12
|
||||||
|
padding_right=10
|
||||||
|
background.image.scale=0.2
|
||||||
|
background.image.drawing=on
|
||||||
|
background.drawing=on
|
||||||
|
background.image.corner_radius=9
|
||||||
|
shadow=on
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_title=(
|
||||||
|
icon.drawing=off
|
||||||
|
padding_left=0
|
||||||
|
padding_right=0
|
||||||
|
width=0
|
||||||
|
label.font="$FONT:Heavy:15.0"
|
||||||
|
label.max_chars=20
|
||||||
|
y_offset=55
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_artist=(
|
||||||
|
icon.drawing=off
|
||||||
|
y_offset=30
|
||||||
|
padding_left=0
|
||||||
|
padding_right=0
|
||||||
|
width=0
|
||||||
|
label.max_chars=20
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_album=(
|
||||||
|
icon.drawing=off
|
||||||
|
padding_left=0
|
||||||
|
padding_right=0
|
||||||
|
y_offset=15
|
||||||
|
width=0
|
||||||
|
label.max_chars=25
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_state=(
|
||||||
|
icon.drawing=on
|
||||||
|
icon.font="$FONT:Light Italic:10.0"
|
||||||
|
icon.width=35
|
||||||
|
icon="00:00"
|
||||||
|
label.drawing=on
|
||||||
|
label.font="$FONT:Light Italic:10.0"
|
||||||
|
label.width=35
|
||||||
|
label="00:00"
|
||||||
|
padding_left=0
|
||||||
|
padding_right=0
|
||||||
|
y_offset=-15
|
||||||
|
width=0
|
||||||
|
slider.background.height=6
|
||||||
|
slider.background.corner_radius=1
|
||||||
|
slider.background.color=$GREY
|
||||||
|
slider.highlight_color=$GREEN
|
||||||
|
slider.percentage=40
|
||||||
|
slider.width=115
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
update_freq=1
|
||||||
|
updates=when_shown
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_shuffle=(
|
||||||
|
icon=
|
||||||
|
icon.padding_left=5
|
||||||
|
icon.padding_right=5
|
||||||
|
icon.color=$BLACK
|
||||||
|
icon.highlight_color=$GREY
|
||||||
|
label.drawing=off
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
y_offset=-45
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_back=(
|
||||||
|
icon=
|
||||||
|
icon.padding_left=5
|
||||||
|
icon.padding_right=5
|
||||||
|
icon.color=$BLACK
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
label.drawing=off
|
||||||
|
y_offset=-45
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_play=(
|
||||||
|
icon=
|
||||||
|
background.height=40
|
||||||
|
background.corner_radius=20
|
||||||
|
width=40
|
||||||
|
align=center
|
||||||
|
background.color=$POPUP_BACKGROUND_COLOR
|
||||||
|
background.border_color=$WHITE
|
||||||
|
background.border_width=0
|
||||||
|
background.drawing=on
|
||||||
|
icon.padding_left=4
|
||||||
|
icon.padding_right=5
|
||||||
|
updates=on
|
||||||
|
label.drawing=off
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
y_offset=-45
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_next=(
|
||||||
|
icon=
|
||||||
|
icon.padding_left=5
|
||||||
|
icon.padding_right=5
|
||||||
|
icon.color=$BLACK
|
||||||
|
label.drawing=off
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
y_offset=-45
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_repeat=(
|
||||||
|
icon=
|
||||||
|
icon.highlight_color=$GREY
|
||||||
|
icon.padding_left=5
|
||||||
|
icon.padding_right=10
|
||||||
|
icon.color=$BLACK
|
||||||
|
label.drawing=off
|
||||||
|
script="$PLUGIN_DIR/spotify.sh"
|
||||||
|
y_offset=-45
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_controls=(
|
||||||
|
background.color=$GREEN
|
||||||
|
background.corner_radius=11
|
||||||
|
background.drawing=on
|
||||||
|
y_offset=-45
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add event spotify_change $SPOTIFY_EVENT \
|
||||||
|
--add item spotify.anchor center \
|
||||||
|
--set spotify.anchor "${spotify_anchor[@]}" \
|
||||||
|
--subscribe spotify.anchor mouse.entered mouse.exited \
|
||||||
|
mouse.exited.global \
|
||||||
|
\
|
||||||
|
--add item spotify.cover popup.spotify.anchor \
|
||||||
|
--set spotify.cover "${spotify_cover[@]}" \
|
||||||
|
\
|
||||||
|
--add item spotify.title popup.spotify.anchor \
|
||||||
|
--set spotify.title "${spotify_title[@]}" \
|
||||||
|
\
|
||||||
|
--add item spotify.artist popup.spotify.anchor \
|
||||||
|
--set spotify.artist "${spotify_artist[@]}" \
|
||||||
|
\
|
||||||
|
--add item spotify.album popup.spotify.anchor \
|
||||||
|
--set spotify.album "${spotify_album[@]}" \
|
||||||
|
\
|
||||||
|
--add slider spotify.state popup.spotify.anchor \
|
||||||
|
--set spotify.state "${spotify_state[@]}" \
|
||||||
|
--subscribe spotify.state mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.shuffle popup.spotify.anchor \
|
||||||
|
--set spotify.shuffle "${spotify_shuffle[@]}" \
|
||||||
|
--subscribe spotify.shuffle mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.back popup.spotify.anchor \
|
||||||
|
--set spotify.back "${spotify_back[@]}" \
|
||||||
|
--subscribe spotify.back mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.play popup.spotify.anchor \
|
||||||
|
--set spotify.play "${spotify_play[@]}" \
|
||||||
|
--subscribe spotify.play mouse.clicked spotify_change \
|
||||||
|
\
|
||||||
|
--add item spotify.next popup.spotify.anchor \
|
||||||
|
--set spotify.next "${spotify_next[@]}" \
|
||||||
|
--subscribe spotify.next mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.repeat popup.spotify.anchor \
|
||||||
|
--set spotify.repeat "${spotify_repeat[@]}" \
|
||||||
|
--subscribe spotify.repeat mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item spotify.spacer popup.spotify.anchor \
|
||||||
|
--set spotify.spacer width=5 \
|
||||||
|
\
|
||||||
|
--add bracket spotify.controls spotify.shuffle \
|
||||||
|
spotify.back \
|
||||||
|
spotify.play \
|
||||||
|
spotify.next \
|
||||||
|
spotify.repeat \
|
||||||
|
--set spotify.controls "${spotify_controls[@]}" \
|
44
hosts/worf/sketchybar/items/volume.sh
Executable file
44
hosts/worf/sketchybar/items/volume.sh
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
volume_slider=(
|
||||||
|
script="$PLUGIN_DIR/volume.sh"
|
||||||
|
updates=on
|
||||||
|
label.drawing=off
|
||||||
|
icon.drawing=off
|
||||||
|
slider.highlight_color=$BLUE
|
||||||
|
slider.background.height=5
|
||||||
|
slider.background.corner_radius=3
|
||||||
|
slider.background.color=$BACKGROUND_2
|
||||||
|
slider.knob=
|
||||||
|
slider.knob.drawing=on
|
||||||
|
)
|
||||||
|
|
||||||
|
volume_icon=(
|
||||||
|
click_script="$PLUGIN_DIR/volume_click.sh"
|
||||||
|
padding_left=10
|
||||||
|
icon=$VOLUME_100
|
||||||
|
icon.width=0
|
||||||
|
icon.align=left
|
||||||
|
icon.color=$GREY
|
||||||
|
icon.font="$FONT:Regular:14.0"
|
||||||
|
label.width=25
|
||||||
|
label.align=left
|
||||||
|
label.font="$FONT:Regular:14.0"
|
||||||
|
)
|
||||||
|
|
||||||
|
status_bracket=(
|
||||||
|
background.color=$BACKGROUND_1
|
||||||
|
background.border_color=$BACKGROUND_2
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add slider volume right \
|
||||||
|
--set volume "${volume_slider[@]}" \
|
||||||
|
--subscribe volume volume_change \
|
||||||
|
mouse.clicked \
|
||||||
|
\
|
||||||
|
--add item volume_icon right \
|
||||||
|
--set volume_icon "${volume_icon[@]}"
|
||||||
|
|
||||||
|
# sketchybar --add bracket status brew github.bell wifi volume_icon \
|
||||||
|
sketchybar --add bracket status wifi volume_icon \
|
||||||
|
--set status "${status_bracket[@]}"
|
14
hosts/worf/sketchybar/items/wifi.sh
Normal file
14
hosts/worf/sketchybar/items/wifi.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source "$CONFIG_DIR/icons.sh"
|
||||||
|
|
||||||
|
wifi=(
|
||||||
|
padding_right=7
|
||||||
|
label.width=0
|
||||||
|
icon="$WIFI_DISCONNECTED"
|
||||||
|
script="$PLUGIN_DIR/wifi.sh"
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add item wifi right \
|
||||||
|
--set wifi "${wifi[@]}" \
|
||||||
|
--subscribe wifi wifi_change mouse.clicked
|
15
hosts/worf/sketchybar/items/yabai.sh
Normal file
15
hosts/worf/sketchybar/items/yabai.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yabai=(
|
||||||
|
icon.width=0
|
||||||
|
label.width=0
|
||||||
|
script="$PLUGIN_DIR/yabai.sh"
|
||||||
|
icon.font="$FONT:Bold:16.0"
|
||||||
|
display=active
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --add event window_focus \
|
||||||
|
--add item yabai left \
|
||||||
|
--set yabai "${yabai[@]}" \
|
||||||
|
--subscribe yabai window_focus \
|
||||||
|
mouse.clicked
|
33
hosts/worf/sketchybar/plugins/battery.sh
Executable file
33
hosts/worf/sketchybar/plugins/battery.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source "$CONFIG_DIR/icons.sh"
|
||||||
|
source "$CONFIG_DIR/colors.sh"
|
||||||
|
|
||||||
|
BATTERY_INFO="$(pmset -g batt)"
|
||||||
|
PERCENTAGE=$(echo "$BATTERY_INFO" | /usr/bin/grep -Eo "\d+%" | cut -d% -f1)
|
||||||
|
CHARGING=$(echo "$BATTERY_INFO" | grep 'AC Power')
|
||||||
|
|
||||||
|
if [ $PERCENTAGE = "" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
DRAWING=on
|
||||||
|
COLOR=$WHITE
|
||||||
|
case ${PERCENTAGE} in
|
||||||
|
9[0-9]|100) ICON=$BATTERY_100; DRAWING=off
|
||||||
|
;;
|
||||||
|
[6-8][0-9]) ICON=$BATTERY_75; DRAWING=off
|
||||||
|
;;
|
||||||
|
[3-5][0-9]) ICON=$BATTERY_50
|
||||||
|
;;
|
||||||
|
[1-2][0-9]) ICON=$BATTERY_25; COLOR=$ORANGE
|
||||||
|
;;
|
||||||
|
*) ICON=$BATTERY_0; COLOR=$RED
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ $CHARGING != "" ]]; then
|
||||||
|
ICON=$BATTERY_CHARGING
|
||||||
|
DRAWING=off
|
||||||
|
fi
|
||||||
|
|
||||||
|
sketchybar --set $NAME drawing=$DRAWING icon="$ICON" icon.color=$COLOR
|
3
hosts/worf/sketchybar/plugins/calendar.sh
Executable file
3
hosts/worf/sketchybar/plugins/calendar.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
sketchybar --set $NAME icon="$(date '+%a %d. %b')" label="$(date '+%H:%M')"
|
5
hosts/worf/sketchybar/plugins/front_app.sh
Executable file
5
hosts/worf/sketchybar/plugins/front_app.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$SENDER" = "front_app_switched" ]; then
|
||||||
|
sketchybar --set $NAME label="$INFO" icon.background.image="app.$INFO"
|
||||||
|
fi
|
414
hosts/worf/sketchybar/plugins/icon_map.sh
Executable file
414
hosts/worf/sketchybar/plugins/icon_map.sh
Executable file
@ -0,0 +1,414 @@
|
|||||||
|
case "$1" in
|
||||||
|
"WhatsApp")
|
||||||
|
icon_result=":whats_app:"
|
||||||
|
;;
|
||||||
|
"Nova")
|
||||||
|
icon_result=":nova:"
|
||||||
|
;;
|
||||||
|
"Signal")
|
||||||
|
icon_result=":signal:"
|
||||||
|
;;
|
||||||
|
"Affinity Photo")
|
||||||
|
icon_result=":affinity_photo:"
|
||||||
|
;;
|
||||||
|
"Sublime Text")
|
||||||
|
icon_result=":sublime_text:"
|
||||||
|
;;
|
||||||
|
"Notion")
|
||||||
|
icon_result=":notion:"
|
||||||
|
;;
|
||||||
|
"Pine")
|
||||||
|
icon_result=":pine:"
|
||||||
|
;;
|
||||||
|
"Alacritty" | "Hyper" | "iTerm2" | "kitty" | "Terminal" | "终端" | "WezTerm")
|
||||||
|
icon_result=":terminal:"
|
||||||
|
;;
|
||||||
|
"Podcasts" | "播客")
|
||||||
|
icon_result=":podcasts:"
|
||||||
|
;;
|
||||||
|
"Spark Desktop")
|
||||||
|
icon_result=":spark:"
|
||||||
|
;;
|
||||||
|
"Dropbox")
|
||||||
|
icon_result=":dropbox:"
|
||||||
|
;;
|
||||||
|
"OmniFocus")
|
||||||
|
icon_result=":omni_focus:"
|
||||||
|
;;
|
||||||
|
"TIDAL")
|
||||||
|
icon_result=":tidal:"
|
||||||
|
;;
|
||||||
|
"Spotlight")
|
||||||
|
icon_result=":spotlight:"
|
||||||
|
;;
|
||||||
|
"Affinity Publisher")
|
||||||
|
icon_result=":affinity_publisher:"
|
||||||
|
;;
|
||||||
|
"Replit")
|
||||||
|
icon_result=":replit:"
|
||||||
|
;;
|
||||||
|
"Kakoune")
|
||||||
|
icon_result=":kakoune:"
|
||||||
|
;;
|
||||||
|
"Code" | "Code - Insiders")
|
||||||
|
icon_result=":code:"
|
||||||
|
;;
|
||||||
|
"Microsoft Excel")
|
||||||
|
icon_result=":microsoft_excel:"
|
||||||
|
;;
|
||||||
|
"League of Legends")
|
||||||
|
icon_result=":league_of_legends:"
|
||||||
|
;;
|
||||||
|
"Obsidian")
|
||||||
|
icon_result=":obsidian:"
|
||||||
|
;;
|
||||||
|
"Typora")
|
||||||
|
icon_result=":text:"
|
||||||
|
;;
|
||||||
|
"Blender")
|
||||||
|
icon_result=":blender:"
|
||||||
|
;;
|
||||||
|
"Microsoft Edge")
|
||||||
|
icon_result=":microsoft_edge:"
|
||||||
|
;;
|
||||||
|
"Caprine")
|
||||||
|
icon_result=":caprine:"
|
||||||
|
;;
|
||||||
|
"Figma")
|
||||||
|
icon_result=":figma:"
|
||||||
|
;;
|
||||||
|
"Folx")
|
||||||
|
icon_result=":folx:"
|
||||||
|
;;
|
||||||
|
"Arc")
|
||||||
|
icon_result=":arc:"
|
||||||
|
;;
|
||||||
|
"TeamSpeak 3")
|
||||||
|
icon_result=":team_speak:"
|
||||||
|
;;
|
||||||
|
"Drafts")
|
||||||
|
icon_result=":drafts:"
|
||||||
|
;;
|
||||||
|
"Jellyfin Media Player")
|
||||||
|
icon_result=":jellyfin:"
|
||||||
|
;;
|
||||||
|
"Element")
|
||||||
|
icon_result=":element:"
|
||||||
|
;;
|
||||||
|
"Numbers" | "Numbers 表格")
|
||||||
|
icon_result=":numbers:"
|
||||||
|
;;
|
||||||
|
"Airmail")
|
||||||
|
icon_result=":airmail:"
|
||||||
|
;;
|
||||||
|
"Preview" | "预览" | "Skim" | "zathura")
|
||||||
|
icon_result=":pdf:"
|
||||||
|
;;
|
||||||
|
"zoom.us")
|
||||||
|
icon_result=":zoom:"
|
||||||
|
;;
|
||||||
|
"IntelliJ IDEA")
|
||||||
|
icon_result=":idea:"
|
||||||
|
;;
|
||||||
|
"Music" | "音乐")
|
||||||
|
icon_result=":music:"
|
||||||
|
;;
|
||||||
|
"Safari" | "Safari浏览器" | "Safari Technology Preview")
|
||||||
|
icon_result=":safari:"
|
||||||
|
;;
|
||||||
|
"Finder" | "访达")
|
||||||
|
icon_result=":finder:"
|
||||||
|
;;
|
||||||
|
"TickTick")
|
||||||
|
icon_result=":tick_tick:"
|
||||||
|
;;
|
||||||
|
"Mattermost")
|
||||||
|
icon_result=":mattermost:"
|
||||||
|
;;
|
||||||
|
"Calendar" | "日历" | "Fantastical" | "Cron" | "Amie")
|
||||||
|
icon_result=":calendar:"
|
||||||
|
;;
|
||||||
|
"Todoist")
|
||||||
|
icon_result=":todoist:"
|
||||||
|
;;
|
||||||
|
"Live")
|
||||||
|
icon_result=":ableton:"
|
||||||
|
;;
|
||||||
|
"Logseq")
|
||||||
|
icon_result=":logseq:"
|
||||||
|
;;
|
||||||
|
"Parallels Desktop")
|
||||||
|
icon_result=":parallels:"
|
||||||
|
;;
|
||||||
|
"App Store")
|
||||||
|
icon_result=":app_store:"
|
||||||
|
;;
|
||||||
|
"ClickUp")
|
||||||
|
icon_result=":click_up:"
|
||||||
|
;;
|
||||||
|
"Docker" | "Docker Desktop")
|
||||||
|
icon_result=":docker:"
|
||||||
|
;;
|
||||||
|
"Trello")
|
||||||
|
icon_result=":trello:"
|
||||||
|
;;
|
||||||
|
"Microsoft To Do" | "Things")
|
||||||
|
icon_result=":things:"
|
||||||
|
;;
|
||||||
|
"Notability")
|
||||||
|
icon_result=":notability:"
|
||||||
|
;;
|
||||||
|
"Brave Browser")
|
||||||
|
icon_result=":brave_browser:"
|
||||||
|
;;
|
||||||
|
"网易云音乐")
|
||||||
|
icon_result=":netease_music:"
|
||||||
|
;;
|
||||||
|
"Messages" | "信息" | "Nachrichten")
|
||||||
|
icon_result=":messages:"
|
||||||
|
;;
|
||||||
|
"DEVONthink 3")
|
||||||
|
icon_result=":devonthink3:"
|
||||||
|
;;
|
||||||
|
"Bear")
|
||||||
|
icon_result=":bear:"
|
||||||
|
;;
|
||||||
|
"Notes" | "备忘录")
|
||||||
|
icon_result=":notes:"
|
||||||
|
;;
|
||||||
|
"GrandTotal" | "Receipts")
|
||||||
|
icon_result=":dollar:"
|
||||||
|
;;
|
||||||
|
"Cypress")
|
||||||
|
icon_result=":cypress:"
|
||||||
|
;;
|
||||||
|
"Sequel Pro")
|
||||||
|
icon_result=":sequel_pro:"
|
||||||
|
;;
|
||||||
|
"Sequel Ace")
|
||||||
|
icon_result=":sequel_ace:"
|
||||||
|
;;
|
||||||
|
"PomoDone App")
|
||||||
|
icon_result=":pomodone:"
|
||||||
|
;;
|
||||||
|
"mpv")
|
||||||
|
icon_result=":mpv:"
|
||||||
|
;;
|
||||||
|
"Orion" | "Orion RC")
|
||||||
|
icon_result=":orion:"
|
||||||
|
;;
|
||||||
|
"System Preferences" | "系统设置")
|
||||||
|
icon_result=":gear:"
|
||||||
|
;;
|
||||||
|
"Reminders" | "提醒事项")
|
||||||
|
icon_result=":reminders:"
|
||||||
|
;;
|
||||||
|
"MoneyMoney")
|
||||||
|
icon_result=":bank:"
|
||||||
|
;;
|
||||||
|
"MAMP" | "MAMP PRO")
|
||||||
|
icon_result=":mamp:"
|
||||||
|
;;
|
||||||
|
"Final Cut Pro")
|
||||||
|
icon_result=":final_cut_pro:"
|
||||||
|
;;
|
||||||
|
"Microsoft PowerPoint")
|
||||||
|
icon_result=":microsoft_power_point:"
|
||||||
|
;;
|
||||||
|
"VLC")
|
||||||
|
icon_result=":vlc:"
|
||||||
|
;;
|
||||||
|
"Chromium" | "Google Chrome" | "Google Chrome Canary")
|
||||||
|
icon_result=":google_chrome:"
|
||||||
|
;;
|
||||||
|
"Xcode")
|
||||||
|
icon_result=":xcode:"
|
||||||
|
;;
|
||||||
|
"Canary Mail" | "HEY" | "Mail" | "Mailspring" | "MailMate" | "邮件")
|
||||||
|
icon_result=":mail:"
|
||||||
|
;;
|
||||||
|
"Vivaldi")
|
||||||
|
icon_result=":vivaldi:"
|
||||||
|
;;
|
||||||
|
"Color Picker" | "数码测色计")
|
||||||
|
icon_result=":color_picker:"
|
||||||
|
;;
|
||||||
|
"Audacity")
|
||||||
|
icon_result=":audacity:"
|
||||||
|
;;
|
||||||
|
"WebStorm")
|
||||||
|
icon_result=":web_storm:"
|
||||||
|
;;
|
||||||
|
"Emacs")
|
||||||
|
icon_result=":emacs:"
|
||||||
|
;;
|
||||||
|
"GitHub Desktop")
|
||||||
|
icon_result=":git_hub:"
|
||||||
|
;;
|
||||||
|
"Setapp")
|
||||||
|
icon_result=":setapp:"
|
||||||
|
;;
|
||||||
|
"微信")
|
||||||
|
icon_result=":wechat:"
|
||||||
|
;;
|
||||||
|
"Alfred")
|
||||||
|
icon_result=":alfred:"
|
||||||
|
;;
|
||||||
|
"Tor Browser")
|
||||||
|
icon_result=":tor_browser:"
|
||||||
|
;;
|
||||||
|
"Skype")
|
||||||
|
icon_result=":skype:"
|
||||||
|
;;
|
||||||
|
"qutebrowser")
|
||||||
|
icon_result=":qute_browser:"
|
||||||
|
;;
|
||||||
|
"Firefox Developer Edition" | "Firefox Nightly")
|
||||||
|
icon_result=":firefox_developer_edition:"
|
||||||
|
;;
|
||||||
|
"Insomnia")
|
||||||
|
icon_result=":insomnia:"
|
||||||
|
;;
|
||||||
|
"LibreWolf")
|
||||||
|
icon_result=":libre_wolf:"
|
||||||
|
;;
|
||||||
|
"Tweetbot" | "Twitter")
|
||||||
|
icon_result=":twitter:"
|
||||||
|
;;
|
||||||
|
"FaceTime" | "FaceTime 通话")
|
||||||
|
icon_result=":face_time:"
|
||||||
|
;;
|
||||||
|
"Zotero")
|
||||||
|
icon_result=":zotero:"
|
||||||
|
;;
|
||||||
|
"1Password 7")
|
||||||
|
icon_result=":one_password:"
|
||||||
|
;;
|
||||||
|
"Slack")
|
||||||
|
icon_result=":slack:"
|
||||||
|
;;
|
||||||
|
"Spotify")
|
||||||
|
icon_result=":spotify:"
|
||||||
|
;;
|
||||||
|
"OBS")
|
||||||
|
icon_result=":obsstudio:"
|
||||||
|
;;
|
||||||
|
"Min")
|
||||||
|
icon_result=":min_browser:"
|
||||||
|
;;
|
||||||
|
"Default")
|
||||||
|
icon_result=":default:"
|
||||||
|
;;
|
||||||
|
"Pi-hole Remote")
|
||||||
|
icon_result=":pihole:"
|
||||||
|
;;
|
||||||
|
"VMware Fusion")
|
||||||
|
icon_result=":vmware_fusion:"
|
||||||
|
;;
|
||||||
|
"CleanMyMac X")
|
||||||
|
icon_result=":desktop:"
|
||||||
|
;;
|
||||||
|
"Telegram")
|
||||||
|
icon_result=":telegram:"
|
||||||
|
;;
|
||||||
|
"Bitwarden")
|
||||||
|
icon_result=":bit_warden:"
|
||||||
|
;;
|
||||||
|
"Iris")
|
||||||
|
icon_result=":iris:"
|
||||||
|
;;
|
||||||
|
"Neovide" | "MacVim" | "Vim" | "VimR")
|
||||||
|
icon_result=":vim:"
|
||||||
|
;;
|
||||||
|
"Warp")
|
||||||
|
icon_result=":warp:"
|
||||||
|
;;
|
||||||
|
"Zulip")
|
||||||
|
icon_result=":zulip:"
|
||||||
|
;;
|
||||||
|
"Thunderbird")
|
||||||
|
icon_result=":thunderbird:"
|
||||||
|
;;
|
||||||
|
"Tower")
|
||||||
|
icon_result=":tower:"
|
||||||
|
;;
|
||||||
|
"Matlab")
|
||||||
|
icon_result=":matlab:"
|
||||||
|
;;
|
||||||
|
"Joplin")
|
||||||
|
icon_result=":joplin:"
|
||||||
|
;;
|
||||||
|
"Android Studio")
|
||||||
|
icon_result=":android_studio:"
|
||||||
|
;;
|
||||||
|
"Keynote" | "Keynote 讲演")
|
||||||
|
icon_result=":keynote:"
|
||||||
|
;;
|
||||||
|
"Grammarly Editor")
|
||||||
|
icon_result=":grammarly:"
|
||||||
|
;;
|
||||||
|
"Firefox")
|
||||||
|
icon_result=":firefox:"
|
||||||
|
;;
|
||||||
|
"Zed")
|
||||||
|
icon_result=":zed:"
|
||||||
|
;;
|
||||||
|
"Sketch")
|
||||||
|
icon_result=":sketch:"
|
||||||
|
;;
|
||||||
|
"Discord" | "Discord Canary" | "Discord PTB")
|
||||||
|
icon_result=":discord:"
|
||||||
|
;;
|
||||||
|
"Evernote Legacy")
|
||||||
|
icon_result=":evernote_legacy:"
|
||||||
|
;;
|
||||||
|
"Zeplin")
|
||||||
|
icon_result=":zeplin:"
|
||||||
|
;;
|
||||||
|
"KeePassXC")
|
||||||
|
icon_result=":kee_pass_x_c:"
|
||||||
|
;;
|
||||||
|
"Microsoft Teams")
|
||||||
|
icon_result=":microsoft_teams:"
|
||||||
|
;;
|
||||||
|
"카카오톡")
|
||||||
|
icon_result=":kakaotalk:"
|
||||||
|
;;
|
||||||
|
"Linear")
|
||||||
|
icon_result=":linear:"
|
||||||
|
;;
|
||||||
|
"Microsoft Word")
|
||||||
|
icon_result=":microsoft_word:"
|
||||||
|
;;
|
||||||
|
"Atom")
|
||||||
|
icon_result=":atom:"
|
||||||
|
;;
|
||||||
|
"Keyboard Maestro")
|
||||||
|
icon_result=":keyboard_maestro:"
|
||||||
|
;;
|
||||||
|
"Transmit")
|
||||||
|
icon_result=":transmit:"
|
||||||
|
;;
|
||||||
|
"Android Messages")
|
||||||
|
icon_result=":android_messages:"
|
||||||
|
;;
|
||||||
|
"Pages" | "Pages 文稿")
|
||||||
|
icon_result=":pages:"
|
||||||
|
;;
|
||||||
|
"Affinity Designer")
|
||||||
|
icon_result=":affinity_designer:"
|
||||||
|
;;
|
||||||
|
"VSCodium")
|
||||||
|
icon_result=":vscodium:"
|
||||||
|
;;
|
||||||
|
"Reeder")
|
||||||
|
icon_result=":reeder5:"
|
||||||
|
;;
|
||||||
|
"Calibre")
|
||||||
|
icon_result=":book:"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
icon_result=":default:"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
echo $icon_result
|
18
hosts/worf/sketchybar/plugins/media.sh
Executable file
18
hosts/worf/sketchybar/plugins/media.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
update_media() {
|
||||||
|
STATE="$(echo "$INFO" | jq -r '.state')"
|
||||||
|
|
||||||
|
if [ "$STATE" = "playing" ]; then
|
||||||
|
APP=$(echo "$INFO" | jq -r '.app')
|
||||||
|
MEDIA="$(echo "$INFO" | jq -r '.title + " - " + .artist')"
|
||||||
|
sketchybar --set $NAME label="$MEDIA" drawing=on
|
||||||
|
else
|
||||||
|
sketchybar --set $NAME drawing=off
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"media_change") update_media
|
||||||
|
;;
|
||||||
|
esac
|
42
hosts/worf/sketchybar/plugins/space.sh
Executable file
42
hosts/worf/sketchybar/plugins/space.sh
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
update() {
|
||||||
|
source "$CONFIG_DIR/colors.sh"
|
||||||
|
COLOR=$BACKGROUND_2
|
||||||
|
if [ "$SELECTED" = "true" ]; then
|
||||||
|
COLOR=$GREY
|
||||||
|
fi
|
||||||
|
sketchybar --set $NAME icon.highlight=$SELECTED \
|
||||||
|
label.highlight=$SELECTED \
|
||||||
|
background.border_color=$COLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
set_space_label() {
|
||||||
|
sketchybar --set $NAME icon="$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse_clicked() {
|
||||||
|
if [ "$BUTTON" = "right" ]; then
|
||||||
|
yabai -m space --destroy $SID
|
||||||
|
else
|
||||||
|
if [ "$MODIFIER" = "shift" ]; then
|
||||||
|
SPACE_LABEL="$(osascript -e "return (text returned of (display dialog \"Give a name to space $NAME:\" default answer \"\" with icon note buttons {\"Cancel\", \"Continue\"} default button \"Continue\"))")"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
if [ "$SPACE_LABEL" = "" ]; then
|
||||||
|
set_space_label "${NAME:6}"
|
||||||
|
else
|
||||||
|
set_space_label "${NAME:6} ($SPACE_LABEL)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
yabai -m space --focus $SID 2>/dev/null
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"mouse.clicked") mouse_clicked
|
||||||
|
;;
|
||||||
|
*) update
|
||||||
|
;;
|
||||||
|
esac
|
21
hosts/worf/sketchybar/plugins/space_windows.sh
Executable file
21
hosts/worf/sketchybar/plugins/space_windows.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$SENDER" = "space_windows_change" ]; then
|
||||||
|
args=(--animate sin 10)
|
||||||
|
|
||||||
|
space="$(echo "$INFO" | jq -r '.space')"
|
||||||
|
apps="$(echo "$INFO" | jq -r '.apps | keys[]')"
|
||||||
|
|
||||||
|
icon_strip=" "
|
||||||
|
if [ "${apps}" != "" ]; then
|
||||||
|
while read -r app
|
||||||
|
do
|
||||||
|
icon_strip+=" $($CONFIG_DIR/plugins/icon_map.sh "$app")"
|
||||||
|
done <<< "${apps}"
|
||||||
|
else
|
||||||
|
icon_strip=" —"
|
||||||
|
fi
|
||||||
|
args+=(--set space.$space label="$icon_strip")
|
||||||
|
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
fi
|
147
hosts/worf/sketchybar/plugins/spotify.sh
Executable file
147
hosts/worf/sketchybar/plugins/spotify.sh
Executable file
@ -0,0 +1,147 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
next ()
|
||||||
|
{
|
||||||
|
osascript -e 'tell application "Spotify" to play next track'
|
||||||
|
}
|
||||||
|
|
||||||
|
back ()
|
||||||
|
{
|
||||||
|
osascript -e 'tell application "Spotify" to play previous track'
|
||||||
|
}
|
||||||
|
|
||||||
|
play ()
|
||||||
|
{
|
||||||
|
osascript -e 'tell application "Spotify" to playpause'
|
||||||
|
}
|
||||||
|
|
||||||
|
repeat ()
|
||||||
|
{
|
||||||
|
REPEAT=$(osascript -e 'tell application "Spotify" to get repeating')
|
||||||
|
if [ "$REPEAT" = "false" ]; then
|
||||||
|
sketchybar -m --set spotify.repeat icon.highlight=on
|
||||||
|
osascript -e 'tell application "Spotify" to set repeating to true'
|
||||||
|
else
|
||||||
|
sketchybar -m --set spotify.repeat icon.highlight=off
|
||||||
|
osascript -e 'tell application "Spotify" to set repeating to false'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
shuffle ()
|
||||||
|
{
|
||||||
|
SHUFFLE=$(osascript -e 'tell application "Spotify" to get shuffling')
|
||||||
|
if [ "$SHUFFLE" = "false" ]; then
|
||||||
|
sketchybar -m --set spotify.shuffle icon.highlight=on
|
||||||
|
osascript -e 'tell application "Spotify" to set shuffling to true'
|
||||||
|
else
|
||||||
|
sketchybar -m --set spotify.shuffle icon.highlight=off
|
||||||
|
osascript -e 'tell application "Spotify" to set shuffling to false'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
update ()
|
||||||
|
{
|
||||||
|
PLAYING=1
|
||||||
|
if [ "$(echo "$INFO" | jq -r '.["Player State"]')" = "Playing" ]; then
|
||||||
|
PLAYING=0
|
||||||
|
TRACK="$(echo "$INFO" | jq -r .Name)"
|
||||||
|
ARTIST="$(echo "$INFO" | jq -r .Artist)"
|
||||||
|
ALBUM="$(echo "$INFO" | jq -r .Album)"
|
||||||
|
SHUFFLE=$(osascript -e 'tell application "Spotify" to get shuffling')
|
||||||
|
REPEAT=$(osascript -e 'tell application "Spotify" to get repeating')
|
||||||
|
COVER=$(osascript -e 'tell application "Spotify" to get artwork url of current track')
|
||||||
|
fi
|
||||||
|
|
||||||
|
args=()
|
||||||
|
if [ $PLAYING -eq 0 ]; then
|
||||||
|
curl -s --max-time 20 "$COVER" -o /tmp/cover.jpg
|
||||||
|
if [ "$ARTIST" == "" ]; then
|
||||||
|
args+=(--set spotify.title label="$TRACK"
|
||||||
|
--set spotify.album label="Podcast"
|
||||||
|
--set spotify.artist label="$ALBUM" )
|
||||||
|
else
|
||||||
|
args+=(--set spotify.title label="$TRACK"
|
||||||
|
--set spotify.album label="$ALBUM"
|
||||||
|
--set spotify.artist label="$ARTIST")
|
||||||
|
fi
|
||||||
|
args+=(--set spotify.play icon=
|
||||||
|
--set spotify.shuffle icon.highlight=$SHUFFLE
|
||||||
|
--set spotify.repeat icon.highlight=$REPEAT
|
||||||
|
--set spotify.cover background.image="/tmp/cover.jpg"
|
||||||
|
background.color=0x00000000
|
||||||
|
--set spotify.anchor drawing=on )
|
||||||
|
else
|
||||||
|
args+=(--set spotify.anchor drawing=off popup.drawing=off
|
||||||
|
--set spotify.play icon= )
|
||||||
|
fi
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
scrubbing() {
|
||||||
|
DURATION_MS=$(osascript -e 'tell application "Spotify" to get duration of current track')
|
||||||
|
DURATION=$((DURATION_MS/1000))
|
||||||
|
|
||||||
|
TARGET=$((DURATION*PERCENTAGE/100))
|
||||||
|
osascript -e "tell application \"Spotify\" to set player position to $TARGET"
|
||||||
|
sketchybar --set spotify.state slider.percentage=$PERCENTAGE
|
||||||
|
}
|
||||||
|
|
||||||
|
scroll() {
|
||||||
|
DURATION_MS=$(osascript -e 'tell application "Spotify" to get duration of current track')
|
||||||
|
DURATION=$((DURATION_MS/1000))
|
||||||
|
|
||||||
|
FLOAT="$(osascript -e 'tell application "Spotify" to get player position')"
|
||||||
|
TIME=${FLOAT%.*}
|
||||||
|
|
||||||
|
sketchybar --animate linear 10 \
|
||||||
|
--set spotify.state slider.percentage="$((TIME*100/DURATION))" \
|
||||||
|
icon="$(date -r $TIME +'%M:%S')" \
|
||||||
|
label="$(date -r $DURATION +'%M:%S')"
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse_clicked () {
|
||||||
|
case "$NAME" in
|
||||||
|
"spotify.next") next
|
||||||
|
;;
|
||||||
|
"spotify.back") back
|
||||||
|
;;
|
||||||
|
"spotify.play") play
|
||||||
|
;;
|
||||||
|
"spotify.shuffle") shuffle
|
||||||
|
;;
|
||||||
|
"spotify.repeat") repeat
|
||||||
|
;;
|
||||||
|
"spotify.state") scrubbing
|
||||||
|
;;
|
||||||
|
*) exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
popup () {
|
||||||
|
sketchybar --set spotify.anchor popup.drawing=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
routine() {
|
||||||
|
case "$NAME" in
|
||||||
|
"spotify.state") scroll
|
||||||
|
;;
|
||||||
|
*) update
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"mouse.clicked") mouse_clicked
|
||||||
|
;;
|
||||||
|
"mouse.entered") popup on
|
||||||
|
;;
|
||||||
|
"mouse.exited"|"mouse.exited.global") popup off
|
||||||
|
;;
|
||||||
|
"routine") routine
|
||||||
|
;;
|
||||||
|
"forced") exit 0
|
||||||
|
;;
|
||||||
|
*) update
|
||||||
|
;;
|
||||||
|
esac
|
44
hosts/worf/sketchybar/plugins/volume.sh
Executable file
44
hosts/worf/sketchybar/plugins/volume.sh
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
WIDTH=100
|
||||||
|
|
||||||
|
volume_change() {
|
||||||
|
source "$CONFIG_DIR/icons.sh"
|
||||||
|
case $INFO in
|
||||||
|
[6-9][0-9]|100) ICON=$VOLUME_100
|
||||||
|
;;
|
||||||
|
[3-5][0-9]) ICON=$VOLUME_66
|
||||||
|
;;
|
||||||
|
[1-2][0-9]) ICON=$VOLUME_33
|
||||||
|
;;
|
||||||
|
[1-9]) ICON=$VOLUME_10
|
||||||
|
;;
|
||||||
|
0) ICON=$VOLUME_0
|
||||||
|
;;
|
||||||
|
*) ICON=$VOLUME_100
|
||||||
|
esac
|
||||||
|
|
||||||
|
sketchybar --set volume_icon label=$ICON
|
||||||
|
|
||||||
|
sketchybar --set $NAME slider.percentage=$INFO \
|
||||||
|
--animate tanh 30 --set $NAME slider.width=$WIDTH
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
# Check wether the volume was changed another time while sleeping
|
||||||
|
FINAL_PERCENTAGE=$(sketchybar --query $NAME | jq -r ".slider.percentage")
|
||||||
|
if [ "$FINAL_PERCENTAGE" -eq "$INFO" ]; then
|
||||||
|
sketchybar --animate tanh 30 --set $NAME slider.width=0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse_clicked() {
|
||||||
|
osascript -e "set volume output volume $PERCENTAGE"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"volume_change") volume_change
|
||||||
|
;;
|
||||||
|
"mouse.clicked") mouse_clicked
|
||||||
|
;;
|
||||||
|
esac
|
48
hosts/worf/sketchybar/plugins/volume_click.sh
Executable file
48
hosts/worf/sketchybar/plugins/volume_click.sh
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
WIDTH=100
|
||||||
|
|
||||||
|
detail_on() {
|
||||||
|
sketchybar --animate tanh 30 --set volume slider.width=$WIDTH
|
||||||
|
}
|
||||||
|
|
||||||
|
detail_off() {
|
||||||
|
sketchybar --animate tanh 30 --set volume slider.width=0
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle_detail() {
|
||||||
|
INITIAL_WIDTH=$(sketchybar --query volume | jq -r ".slider.width")
|
||||||
|
if [ "$INITIAL_WIDTH" -eq "0" ]; then
|
||||||
|
detail_on
|
||||||
|
else
|
||||||
|
detail_off
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle_devices() {
|
||||||
|
which SwitchAudioSource >/dev/null || exit 0
|
||||||
|
source "$CONFIG_DIR/colors.sh"
|
||||||
|
|
||||||
|
args=(--remove '/volume.device\.*/' --set "$NAME" popup.drawing=toggle)
|
||||||
|
COUNTER=0
|
||||||
|
CURRENT="$(SwitchAudioSource -t output -c)"
|
||||||
|
while IFS= read -r device; do
|
||||||
|
COLOR=$GREY
|
||||||
|
if [ "${device}" = "$CURRENT" ]; then
|
||||||
|
COLOR=$WHITE
|
||||||
|
fi
|
||||||
|
args+=(--add item volume.device.$COUNTER popup."$NAME" \
|
||||||
|
--set volume.device.$COUNTER label="${device}" \
|
||||||
|
label.color="$COLOR" \
|
||||||
|
click_script="SwitchAudioSource -s \"${device}\" && sketchybar --set /volume.device\.*/ label.color=$GREY --set \$NAME label.color=$WHITE --set $NAME popup.drawing=off")
|
||||||
|
COUNTER=$((COUNTER+1))
|
||||||
|
done <<< "$(SwitchAudioSource -a -t output)"
|
||||||
|
|
||||||
|
sketchybar -m "${args[@]}" > /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$BUTTON" = "right" ] || [ "$MODIFIER" = "shift" ]; then
|
||||||
|
toggle_devices
|
||||||
|
else
|
||||||
|
toggle_detail
|
||||||
|
fi
|
28
hosts/worf/sketchybar/plugins/wifi.sh
Executable file
28
hosts/worf/sketchybar/plugins/wifi.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
update() {
|
||||||
|
source "$CONFIG_DIR/icons.sh"
|
||||||
|
INFO="$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk -F ' SSID: ' '/ SSID: / {print $2}')"
|
||||||
|
LABEL="$INFO ($(ipconfig getifaddr en0))"
|
||||||
|
ICON="$([ -n "$INFO" ] && echo "$WIFI_CONNECTED" || echo "$WIFI_DISCONNECTED")"
|
||||||
|
|
||||||
|
sketchybar --set $NAME icon="$ICON" label="$LABEL"
|
||||||
|
}
|
||||||
|
|
||||||
|
click() {
|
||||||
|
CURRENT_WIDTH="$(sketchybar --query $NAME | jq -r .label.width)"
|
||||||
|
|
||||||
|
WIDTH=0
|
||||||
|
if [ "$CURRENT_WIDTH" -eq "0" ]; then
|
||||||
|
WIDTH=dynamic
|
||||||
|
fi
|
||||||
|
|
||||||
|
sketchybar --animate sin 20 --set $NAME label.width="$WIDTH"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"wifi_change") update
|
||||||
|
;;
|
||||||
|
"mouse.clicked") click
|
||||||
|
;;
|
||||||
|
esac
|
51
hosts/worf/sketchybar/plugins/yabai.sh
Executable file
51
hosts/worf/sketchybar/plugins/yabai.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
window_state() {
|
||||||
|
source "$CONFIG_DIR/colors.sh"
|
||||||
|
source "$CONFIG_DIR/icons.sh"
|
||||||
|
|
||||||
|
WINDOW=$(yabai -m query --windows --window)
|
||||||
|
STACK_INDEX=$(echo "$WINDOW" | jq '.["stack-index"]')
|
||||||
|
|
||||||
|
COLOR=$BAR_BORDER_COLOR
|
||||||
|
ICON=""
|
||||||
|
|
||||||
|
if [ "$(echo "$WINDOW" | jq '.["is-floating"]')" = "true" ]; then
|
||||||
|
ICON+=$YABAI_FLOAT
|
||||||
|
COLOR=$MAGENTA
|
||||||
|
elif [ "$(echo "$WINDOW" | jq '.["has-fullscreen-zoom"]')" = "true" ]; then
|
||||||
|
ICON+=$YABAI_FULLSCREEN_ZOOM
|
||||||
|
COLOR=$GREEN
|
||||||
|
elif [ "$(echo "$WINDOW" | jq '.["has-parent-zoom"]')" = "true" ]; then
|
||||||
|
ICON+=$YABAI_PARENT_ZOOM
|
||||||
|
COLOR=$BLUE
|
||||||
|
elif [[ $STACK_INDEX -gt 0 ]]; then
|
||||||
|
LAST_STACK_INDEX=$(yabai -m query --windows --window stack.last | jq '.["stack-index"]')
|
||||||
|
ICON+=$YABAI_STACK
|
||||||
|
LABEL="$(printf "[%s/%s]" "$STACK_INDEX" "$LAST_STACK_INDEX")"
|
||||||
|
COLOR=$RED
|
||||||
|
fi
|
||||||
|
|
||||||
|
args=(--bar border_color=$COLOR --animate sin 10 --set $NAME icon.color=$COLOR)
|
||||||
|
|
||||||
|
[ -z "$LABEL" ] && args+=(label.width=0) \
|
||||||
|
|| args+=(label="$LABEL" label.width=40)
|
||||||
|
|
||||||
|
[ -z "$ICON" ] && args+=(icon.width=0) \
|
||||||
|
|| args+=(icon="$ICON" icon.width=30)
|
||||||
|
|
||||||
|
sketchybar -m "${args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mouse_clicked() {
|
||||||
|
yabai -m window --toggle float
|
||||||
|
window_state
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$SENDER" in
|
||||||
|
"mouse.clicked") mouse_clicked
|
||||||
|
;;
|
||||||
|
"window_focus") window_state
|
||||||
|
;;
|
||||||
|
esac
|
39
hosts/worf/sketchybar/plugins/zen.sh
Executable file
39
hosts/worf/sketchybar/plugins/zen.sh
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
zen_on() {
|
||||||
|
sketchybar --set wifi drawing=off \
|
||||||
|
--set apple.logo drawing=off \
|
||||||
|
--set '/cpu.*/' drawing=off \
|
||||||
|
--set calendar icon.drawing=off \
|
||||||
|
--set separator drawing=off \
|
||||||
|
--set front_app drawing=off \
|
||||||
|
--set volume_icon drawing=off \
|
||||||
|
--set spotify.anchor drawing=off \
|
||||||
|
--set spotify.play updates=off \
|
||||||
|
--set volume drawing=off \
|
||||||
|
}
|
||||||
|
|
||||||
|
zen_off() {
|
||||||
|
sketchybar --set wifi drawing=on \
|
||||||
|
--set apple.logo drawing=on \
|
||||||
|
--set '/cpu.*/' drawing=on \
|
||||||
|
--set calendar icon.drawing=on \
|
||||||
|
--set separator drawing=on \
|
||||||
|
--set front_app drawing=on \
|
||||||
|
--set volume_icon drawing=on \
|
||||||
|
--set spotify.play updates=on \
|
||||||
|
--set volume drawing=on \
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" = "on" ]; then
|
||||||
|
zen_on
|
||||||
|
elif [ "$1" = "off" ]; then
|
||||||
|
zen_off
|
||||||
|
else
|
||||||
|
if [ "$(sketchybar --query apple.logo | jq -r ".geometry.drawing")" = "on" ]; then
|
||||||
|
zen_on
|
||||||
|
else
|
||||||
|
zen_off
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
86
hosts/worf/sketchybar/sketchybarrc
Executable file
86
hosts/worf/sketchybar/sketchybarrc
Executable file
@ -0,0 +1,86 @@
|
|||||||
|
export CONFIG_DIR="$HOME/.config/sketchybar"
|
||||||
|
|
||||||
|
source "$CONFIG_DIR/colors.sh" # Loads all defined colors
|
||||||
|
source "$CONFIG_DIR/icons.sh" # Loads all defined icons
|
||||||
|
|
||||||
|
ITEM_DIR="$CONFIG_DIR/items" # Directory where the items are configured
|
||||||
|
PLUGIN_DIR="$CONFIG_DIR/plugins"
|
||||||
|
|
||||||
|
FONT="Hack Nerd Font" # Needs to have Regular, Bold, Semibold, Heavy and Black variants
|
||||||
|
PADDINGS=3 # All paddings use this value (icon, label, background)
|
||||||
|
|
||||||
|
# Setting up and starting the helper process
|
||||||
|
# HELPER=git.felix.helper
|
||||||
|
# killall helper
|
||||||
|
# (cd $CONFIG_DIR/helper && make)
|
||||||
|
# $CONFIG_DIR/helper/helper $HELPER > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Unload the macOS on screen indicator overlay for volume change
|
||||||
|
#launchctl unload -F /System/Library/LaunchAgents/com.apple.OSDUIHelper.plist > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Setting up the general bar appearance of the bar
|
||||||
|
bar=(
|
||||||
|
height=40
|
||||||
|
color=$BAR_COLOR
|
||||||
|
border_width=2
|
||||||
|
border_color=$BAR_BORDER_COLOR
|
||||||
|
shadow=off
|
||||||
|
position=top
|
||||||
|
sticky=on
|
||||||
|
padding_right=10
|
||||||
|
padding_left=10
|
||||||
|
margin=0
|
||||||
|
topmost=window
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --bar "${bar[@]}"
|
||||||
|
|
||||||
|
# Setting up default values
|
||||||
|
defaults=(
|
||||||
|
updates=when_shown
|
||||||
|
icon.font="$FONT:Bold:14.0"
|
||||||
|
icon.color=$ICON_COLOR
|
||||||
|
icon.padding_left=$PADDINGS
|
||||||
|
icon.padding_right=$PADDINGS
|
||||||
|
label.font="$FONT:Semibold:13.0"
|
||||||
|
label.color=$LABEL_COLOR
|
||||||
|
label.padding_left=$PADDINGS
|
||||||
|
label.padding_right=$PADDINGS
|
||||||
|
padding_right=$PADDINGS
|
||||||
|
padding_left=$PADDINGS
|
||||||
|
background.height=26
|
||||||
|
background.corner_radius=9
|
||||||
|
background.border_width=2
|
||||||
|
popup.background.border_width=2
|
||||||
|
popup.background.border_color=$POPUP_BORDER_COLOR
|
||||||
|
popup.background.color=$POPUP_BACKGROUND_COLOR
|
||||||
|
popup.blur_radius=20
|
||||||
|
popup.background.shadow.drawing=on
|
||||||
|
scroll_texts=on
|
||||||
|
)
|
||||||
|
|
||||||
|
sketchybar --default "${defaults[@]}"
|
||||||
|
|
||||||
|
# Left
|
||||||
|
source "$ITEM_DIR/apple.sh"
|
||||||
|
source "$ITEM_DIR/spaces.sh"
|
||||||
|
source "$ITEM_DIR/yabai.sh"
|
||||||
|
source "$ITEM_DIR/front_app.sh"
|
||||||
|
|
||||||
|
# Center
|
||||||
|
source "$ITEM_DIR/spotify.sh"
|
||||||
|
# source "$ITEM_DIR/media.sh"
|
||||||
|
|
||||||
|
# Right
|
||||||
|
source "$ITEM_DIR/calendar.sh"
|
||||||
|
source "$ITEM_DIR/wifi.sh"
|
||||||
|
source "$ITEM_DIR/battery.sh"
|
||||||
|
source "$ITEM_DIR/volume.sh"
|
||||||
|
# source "$ITEM_DIR/cpu.sh"
|
||||||
|
|
||||||
|
sketchybar --hotload on
|
||||||
|
|
||||||
|
# Forcing all item scripts to run (never do this outside of sketchybarrc)
|
||||||
|
sketchybar --update
|
||||||
|
|
||||||
|
# vi: ft=bash
|
@ -7,29 +7,28 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.yabai;
|
package = pkgs.unstable.yabai;
|
||||||
enableScriptingAddition = true;
|
enableScriptingAddition = true;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
layout = "bsp";
|
layout = "bsp";
|
||||||
debug_output = "on";
|
debug_output = "on";
|
||||||
focus_follows_mouse = "autoraise";
|
focus_follows_mouse = "autoraise";
|
||||||
mouse_follows_focus = "off";
|
mouse_follows_focus = "on";
|
||||||
|
|
||||||
|
window_shadow = "on";
|
||||||
|
mouse_modifier = "alt";
|
||||||
window_placement = "second_child";
|
window_placement = "second_child";
|
||||||
window_opacity = "off";
|
window_opacity = "off";
|
||||||
window_border = "on";
|
insert_feedback_color = "#06d6a0";
|
||||||
window_border_width = 1;
|
|
||||||
window_border_blur = "off";
|
|
||||||
normal_window_border_color = "0xff404066";
|
|
||||||
active_window_border_color = "0xffff2020";
|
|
||||||
|
|
||||||
window_border_radius = 0;
|
window_border_radius = 0;
|
||||||
|
|
||||||
# top_padding = 10;
|
top_padding = 4;
|
||||||
# bottom_padding = 10;
|
bottom_padding = 4;
|
||||||
# left_padding = 10;
|
left_padding = 4;
|
||||||
# right_padding = 10;
|
right_padding = 4;
|
||||||
window_gap = 0;
|
window_gap = 10;
|
||||||
|
|
||||||
external_bar = "all:40:0";
|
external_bar = "all:30:0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -119,8 +118,16 @@ in {
|
|||||||
|
|
||||||
services.sketchybar = {
|
services.sketchybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.sketchybar;
|
extraPackages = with pkgs; [ jq ];
|
||||||
# The config is handled outside of nix, and is placed in ~/.config/sketchybar
|
# Configuration files are placed in hosts/worf/home.nix
|
||||||
|
};
|
||||||
|
|
||||||
|
services.jankyborders = {
|
||||||
|
enable = true;
|
||||||
|
active_color = "0xff76f6c0";
|
||||||
|
inactive_color = "0xc831dae2";
|
||||||
|
style = "square";
|
||||||
|
width = 4.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = [
|
fonts.packages = [
|
||||||
|
Loading…
Reference in New Issue
Block a user