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).
|