summaryrefslogtreecommitdiff
path: root/mac/.config/sketchybar/plugins/front_app.sh
blob: fcae89d35af1f2cf7357c4caae44d0bb04e95434 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/usr/bin/env bash

# Source colors and icons for consistent theming
source "$CONFIG_DIR/colors.sh"
source "$CONFIG_DIR/icons.sh"

# Get the current application
if [ "$SENDER" = "front_app_switched" ]; then
    APP_NAME="$INFO"
else
    APP_NAME=$(yabai -m query --windows --window | jq -r '.app' 2>/dev/null || echo "$(osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true')")
fi

# Icon mapping for common applications
case $APP_NAME in
    "Cursor")
        ICON="󰨞"
        ;;
    "Visual Studio Code")
        ICON="󰨞"
        ;;
    "Slack")
        ICON="󰒱"
        ;;
    "Discord")
        ICON="󰙯"
        ;;
    "Google Chrome")
        ICON="󰊯"
        ;;
    "Safari")
        ICON="󰀹"
        ;;
    "Firefox")
        ICON="󰈹"
        ;;
    "Terminal")
        ICON="󰆍"
        ;;
    "iTerm2")
        ICON="󰆍"
        ;;
    "Finder")
        ICON="󰀶"
        ;;
    "Spotify")
        ICON="󰓇"
        ;;
    "Music")
        ICON="󰎆"
        ;;
    "Mail")
        ICON="󰇮"
        ;;
    "Messages")
        ICON="󰍦"
        ;;
    "FaceTime")
        ICON="󰍫"
        ;;
    "Zoom")
        ICON="󰊶"
        ;;
    "Notion")
        ICON="󰈭"
        ;;
    "Obsidian")
        ICON="󰈭"
        ;;
    "Xcode")
        ICON="󰙳"
        ;;
    "Docker")
        ICON="󰡨"
        ;;
    "Figma")
        ICON="󰤼"
        ;;
    "Sketch")
        ICON="󰤼"
        ;;
    "Photoshop")
        ICON="󰤿"
        ;;
    "System Preferences")
        ICON="󰒓"
        ;;
    "System Settings")
        ICON="󰒓"
        ;;
    "Activity Monitor")
        ICON="󰖚"
        ;;
    *)
        # Default icon for unknown applications
        ICON="󰄛"
        ;;
esac

# Update the front_app item
sketchybar --set "$NAME" icon="$ICON" \
                        icon.color=$ACCENT_QUATERNARY \
                        label="$APP_NAME" \
                        label.color=$WHITE