aboutsummaryrefslogtreecommitdiff
path: root/users/ryan/modules/sketchybar/bar-config/README.md
blob: 7b1bf97b515d3bdeddf9ca77531f563a59a87ea8 (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
# SketchyBar config (translated from Waybar)

This is a translation of a Hyprland/Waybar setup (`config` + `style.css`) into an
equivalent [SketchyBar](https://github.com/FelixKratz/SketchyBar) config for macOS.
Layout, fonts, and colours mirror the originals as closely as macOS allows.

## Install

```sh
# 1. SketchyBar + the font your CSS references
brew tap FelixKratz/formulae
brew install sketchybar
brew install --cask font-anonymice-nerd-font   # "AnonymicePro Nerd Font"

# 2. Drop these files in place
cp -r .config/sketchybar ~/.config/          # (or move this folder there)
chmod +x ~/.config/sketchybar/sketchybarrc ~/.config/sketchybar/plugins/*.sh

# 3. Start it
brew services start sketchybar
```

## Optional dependencies (items self-hide / degrade gracefully without them)

| Item        | Needs                          | Install                         |
|-------------|--------------------------------|---------------------------------|
| workspaces  | yabai (tiling WM) for `space`  | `brew install koekeishiya/formulae/yabai` |
| bluetooth   | `blueutil`                     | `brew install blueutil`         |
| brightness  | `brightness` CLI               | `brew install brightness`       |
| weather     | `curl` (built in)              | —                               |

> **Spaces / yabai:** the `space` component needs yabai, which needs SIP partially
> disabled. If you'd rather not touch SIP, [AeroSpace](https://github.com/nikitabobko/AeroSpace)
> is a SIP-free tiling WM — swap the `space` loop for its `aerospace_workspace_change`
> event and point `click_script` at `aerospace workspace $sid`.

## Module mapping

| Waybar                | SketchyBar                        | Notes |
|-----------------------|-----------------------------------|-------|
| hyprland/workspaces   | `space` items (yabai)             | number icon, dim→white for active (Waybar's 3px top-border → `icon.highlight`) |
| hyprland/window       | `front_app`                       | shows app name; window *title* needs a yabai query (noted in plugin) |
| clock                 | `clock`                           | same `%a %d %b %H:%M` format |
| battery (BAT0)        | `battery`                         | `pmset`; same icons, warning@25 / critical@10, charging bolt |
| bluetooth             | `bluetooth`                       | `blueutil`; on/off/connected glyphs, click toggles power |
| network               | `network`                         | ip + wifi/ethernet/off glyph (cidr & RSSI dropped — not exposed on macOS) |
| pulseaudio            | `volume`                          | native `volume_change`; volume% + icon, mute glyph |
| backlight             | `brightness`                      | `brightness` CLI; scroll to adjust (flaky on Apple Silicon) |
| custom/storage        | `storage`                         | `df /`; warning@80 / critical@90 |
| custom/weather        | `weather`                         | `wttr.in` in °F, click opens wttr.in |
| custom/mail           | `mail`                            | Mail.app unread count (swap for your provider) |
| custom/spotify        | `spotify`                         | native `media_change`; title–artist, click play/pause |
| idle_inhibitor        | `caffeinate`                      | click toggles `caffeinate`; lock/unlock glyphs |

## Omitted (no macOS/SketchyBar equivalent)

- **tray** — the macOS menu bar already renders status/menu-extra icons.
- **privacy** (screenshare/mic) — macOS shows camera/mic indicators natively.
- **hyprland/submap** — yabai has no submap concept.
- **battery#num2** (BAT1) — Macs have a single battery.

Colours in `colors.sh` and glyphs in `icons.sh` are taken verbatim from your
`style.css` and `config` (glyphs are byte-for-byte identical).