users/ryan/modules/sketchybar/bar-config/README.md

6ad98695409ab789b2b3b15c95de404daf46d1a7 · 3.7 KB · 63 lines raw

1 # SketchyBar config (translated from Waybar)
2
3 This is a translation of a Hyprland/Waybar setup (`config` + `style.css`) into an
4 equivalent [SketchyBar](https://github.com/FelixKratz/SketchyBar) config for macOS.
5 Layout, fonts, and colours mirror the originals as closely as macOS allows.
6
7 ## Install
8
9 ```sh
10 # 1. SketchyBar + the font your CSS references
11 brew tap FelixKratz/formulae
12 brew install sketchybar
13 brew install --cask font-anonymice-nerd-font # "AnonymicePro Nerd Font"
14
15 # 2. Drop these files in place
16 cp -r .config/sketchybar ~/.config/ # (or move this folder there)
17 chmod +x ~/.config/sketchybar/sketchybarrc ~/.config/sketchybar/plugins/*.sh
18
19 # 3. Start it
20 brew services start sketchybar
21 ```
22
23 ## Optional dependencies (items self-hide / degrade gracefully without them)
24
25 | Item | Needs | Install |
26 |-------------|--------------------------------|---------------------------------|
27 | workspaces | yabai (tiling WM) for `space` | `brew install koekeishiya/formulae/yabai` |
28 | bluetooth | `blueutil` | `brew install blueutil` |
29 | brightness | `brightness` CLI | `brew install brightness` |
30 | weather | `curl` (built in) | — |
31
32 > **Spaces / yabai:** the `space` component needs yabai, which needs SIP partially
33 > disabled. If you'd rather not touch SIP, [AeroSpace](https://github.com/nikitabobko/AeroSpace)
34 > is a SIP-free tiling WM — swap the `space` loop for its `aerospace_workspace_change`
35 > event and point `click_script` at `aerospace workspace $sid`.
36
37 ## Module mapping
38
39 | Waybar | SketchyBar | Notes |
40 |-----------------------|-----------------------------------|-------|
41 | hyprland/workspaces | `space` items (yabai) | number icon, dim→white for active (Waybar's 3px top-border → `icon.highlight`) |
42 | hyprland/window | `front_app` | shows app name; window *title* needs a yabai query (noted in plugin) |
43 | clock | `clock` | same `%a %d %b %H:%M` format |
44 | battery (BAT0) | `battery` | `pmset`; same icons, warning@25 / critical@10, charging bolt |
45 | bluetooth | `bluetooth` | `blueutil`; on/off/connected glyphs, click toggles power |
46 | network | `network` | ip + wifi/ethernet/off glyph (cidr & RSSI dropped — not exposed on macOS) |
47 | pulseaudio | `volume` | native `volume_change`; volume% + icon, mute glyph |
48 | backlight | `brightness` | `brightness` CLI; scroll to adjust (flaky on Apple Silicon) |
49 | custom/storage | `storage` | `df /`; warning@80 / critical@90 |
50 | custom/weather | `weather` | `wttr.in` in °F, click opens wttr.in |
51 | custom/mail | `mail` | Mail.app unread count (swap for your provider) |
52 | custom/spotify | `spotify` | native `media_change`; title–artist, click play/pause |
53 | idle_inhibitor | `caffeinate` | click toggles `caffeinate`; lock/unlock glyphs |
54
55 ## Omitted (no macOS/SketchyBar equivalent)
56
57 - **tray** — the macOS menu bar already renders status/menu-extra icons.
58 - **privacy** (screenshare/mic) — macOS shows camera/mic indicators natively.
59 - **hyprland/submap** — yabai has no submap concept.
60 - **battery#num2** (BAT1) — Macs have a single battery.
61
62 Colours in `colors.sh` and glyphs in `icons.sh` are taken verbatim from your
63 `style.css` and `config` (glyphs are byte-for-byte identical).