pi-footer-dock 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,40 @@ All notable changes to Footer Dock are listed here. The format follows [Keep a C
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.1.3] - 2026-11-07
8
+
9
+ ### Added
10
+
11
+ - **New setting `shrink`: choose what gives way first when the footer is too narrow.** A list of step names (`drop:cost`, `shorten:quota`, ...) in the settings file or in `/dock-config`. The steps you name go first, in your order; every other step keeps its default order and goes where `"..."` stands. For example `{"shrink":["...","drop:cost"]}` keeps the cost until almost everything else has given way, and `{"shrink":["drop:speed"]}` makes the speed the first thing to go. The steps and the default order are listed in `docs/footer-configuration.md`. Unknown names are rejected and the project name can never be removed. Versions before 0.1.3 reject a settings file that contains `shrink`, so after going back to 0.1.2 remove that line; an older version that finds it in a saved session configuration ignores that entry.
12
+ - `/dock-debug` now says what became of every limit window the provider sent (`quotaProvider.windowReport`): its kind (5h, week, month; primary or secondary for Codex), whether the used share and the reset time were valid (and the length, for Codex), and whether the window is shown. A provider window that is dropped is no longer silent. It holds only names and yes or no answers, never a value or text from the provider. It comes from the Pi window that made the last request; another window shows `null`. `diagnosticVersion` is now 4.
13
+
14
+ ### Fixed
15
+
16
+ - Moving a footer item behind another one no longer glues them together. Only the two halves of one item (the context bar and its usage, the quota and its `›`) sit against each other, and only when they are next to each other; every other item keeps its own gap wherever you place it. The default footer looks the same.
17
+
18
+ ### Added
19
+
20
+ - **A red `⚠ N problems` marker and a problems screen.** While Footer Dock cannot apply your settings file, it runs on its defaults and shows `⚠ N problems` at the start of the first row, in red and blinking until you have opened the problems screen (click the marker, or run `/dock-settings`); after that it stays red until the file is valid. The screen lists every problem with where it is, which setting, what is wrong and what to change; press `r` there after fixing the file to apply it without restarting. The blinking stops when the quota animation is turned off in the settings. The marker cannot be hidden and is never given up when the footer is too narrow.
21
+
22
+ ### Changed
23
+
24
+ - **Settings problems are listed in full, with the fix.** When Footer Dock cannot apply your settings file, or a `/dock-config` command, it now lists every problem it finds in one go: the file or command, the setting, what is wrong in plain words and what to change, and it suggests the name you probably meant (`Did you mean "limits"?`, `did you mean drop:cost?`). Before, it reported only the first problem in a short sentence, and `/dock-config` said "Invalid footer configuration (two rows, unique slots)" whatever was wrong. Nothing is applied in part: a file with any problem runs Footer Dock on its defaults, and a bad `/dock-config` leaves the footer exactly as it was. Your file is never changed. A wrong file permission now says `Run: chmod 600 <file>`. (A marker in the footer and a problems screen follow in the same release.)
25
+ - **Parts of an item can be switched off.** The model's provider and its name, and the limit usage's meter and its reset time, are now separate choices: rows on the settings screen ("Model: provider", "Model: name", "Limit usage: meter", "Limit usage: reset time"), or `"slots":{"model":{"layers":{"provider":false}}}` in the settings file and `/dock-config`. A part that is off is never printed; with both parts of the model off the item is hidden. Nothing changes unless you set it. A settings file that has `layers` is not accepted by earlier versions.
26
+ - **The limit usage reads without words.** Each window is its name, a bar, the percent and, after the reload icon, the time until it resets: `5h ▰▰▱▱▱▱▱ 34% 󰑓 2h 15m │ week ▰▰▰▱▱▱▱ 48% 󰑓 3d 10h`. The words "left", "used" and "resets in" are gone from the footer. Where room is short, the wide separator between windows slims first, then the bar goes (the reset time outlives it), then the last window folds behind `›`, and the reset times go last. The Nerd Font set draws the reload icon; the portable set keeps `◌`. Click the limits (or run `/dock-info quota`) for a new "In the footer" section that says whether the number is what is left or what is used, and where to change it; the setting row is now called "Limit shows" (`left` or `used`; the key `slots.quota.wording` is unchanged). Because the quota is shorter, more of the row stays visible at the same width.
27
+ - **The footer gives way one item at a time.** When a row is too wide, items are shortened or dropped in a fixed order instead of the whole row changing to a more compact look at once. The order: the quota's separators (wide to slim), then cost, compaction, the cache, input and output, then (for items other extensions registered) those, then the quota's detail (the meter, then the last window, then the reset times), then the speed, and the project name last. Apart from the quota (below), the default footer is unchanged at 196 columns and wider. Below that the cost is the first item to go (0.1.2 kept it down to 80 columns and cut the quota's reset times instead); the quota keeps its meter and reset times longer, and the speed no longer changes how the whole row looks.
28
+ - The bar of dollars by category (cost screen) and the bar of token categories (cache screen) now have a blank row between the bar and its legend and another after the legend (the cache screen ran its legend straight into the next line), and the legend breaks between entries: a symbol, its name, its amount and its share always stay on one row, where before a narrow terminal could split `▒ cache` from `write`. The footer itself is unchanged.
29
+
30
+ ## [0.1.2] - 2026-10-20
31
+
32
+ ### Added
33
+
34
+ - The first time Footer Dock starts for a user who never chose an icon set, it says once what to do if the icons look like empty boxes (`/dock-glyphs`, or install a Nerd Font). It is remembered in the settings file as `glyphHintShown`; a settings file that had to be ignored is never rewritten for this. The README now says in the Install section that the icons need a Nerd Font. **New setting:** `glyphHintShown` (written automatically; you never need to set it). Versions before 0.1.2 reject a settings file that contains it, so after going back to 0.1.1 or 0.1.0 delete that line.
35
+ - The package manifest now names the launch video (`pi.video`), so the package page on pi.dev can play it. The video is hosted by GitHub as an attachment (the same one the README plays); it is not part of the npm package.
36
+
37
+ ### Fixed
38
+
39
+ - The cost screen's bar of dollars by category sat directly under the "This session" and "This month" lines; there is now a blank row between them, as on the other screens.
40
+
7
41
  ## [0.1.1] - 2026-10-19
8
42
 
9
43
  ### Changed
package/README.md CHANGED
@@ -8,6 +8,10 @@
8
8
  [![Pi 1.2 and 1.3](https://img.shields.io/badge/Pi-1.2%20%7C%201.3-b4befe)](#requirements)
9
9
  [![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)](CONTRIBUTING.md)
10
10
 
11
+ https://github.com/user-attachments/assets/2f7eab93-210e-40e2-8736-d7cc64520ccc
12
+
13
+ _The 30-second tour, also [on YouTube](https://youtu.be/fkBa8wB2_YI)._
14
+
11
15
  **A two-row status footer for [Pi](https://pi.dev) that tells you what is going on.** Git, model, context, tokens, cache, speed, provider limits and cost, in two rows that fit your terminal, with an explanation behind every value.
12
16
 
13
17
  ![Footer Dock on a wide terminal](docs/images/footer-wide.png)
@@ -24,6 +28,8 @@ pi install npm:pi-footer-dock
24
28
 
25
29
  Then restart Pi (or run `/reload`). That is all. Full instructions, updating, removing and troubleshooting: **[SETUP.md](SETUP.md)**.
26
30
 
31
+ **Icons need a [Nerd Font](https://www.nerdfonts.com/) in your terminal.** If the icons show up as empty boxes, your font does not have them: run `/dock-glyphs` for plain symbols that every font has, or install a Nerd Font. Footer Dock mentions this once, the first time it starts.
32
+
27
33
  ## What the footer shows
28
34
 
29
35
  | Item | What it is | Click the icon | Click the text |
package/SETUP.md CHANGED
@@ -79,6 +79,7 @@ This removes the package. Two small things stay behind and can be deleted by han
79
79
  | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
80
80
  | No footer after installing | Start a new Pi session or `/reload`. `pi list` should show `pi-footer-dock`. Check you are in Pi's interactive mode. |
81
81
  | Icons are boxes or question marks | `/dock-glyphs`, or install a Nerd Font in your terminal. |
82
+ | The limit meter looks different or broken | The terminal's font draws it, not Footer Dock. See [The meter or icons look wrong](#the-meter-or-icons-look-wrong). |
82
83
  | Clicks do nothing | Your terminal may not send mouse events to Pi. Use the keyboard path: `/dock-info cache`, `/dock-settings`. |
83
84
  | Limits show `quota unsupported` | Your provider has no limit source. Only ClinePass, OpenCode Go and OpenAI Codex have one; to add yours see `docs/adding-a-provider.md`. |
84
85
  | Limits show `limits off` | Asking providers for limits is off (the default). Turn on _Ask providers for limits_ in `/dock-settings` to see them. |
@@ -87,6 +88,42 @@ This removes the package. Two small things stay behind and can be deleted by han
87
88
  | Cost shows `≈$12.40 mo`, not my session | That is the month across all sessions. Change _Cost period_ in `/dock-settings`. |
88
89
  | Something else | Run `/dock-debug` and include its output in a bug report. It holds counters and settings only: no messages, no secrets, and no file paths (your home folder is shown as `~`). |
89
90
 
91
+ ### The meter or icons look wrong
92
+
93
+ Footer Dock prints plain text characters. Your terminal and its font decide how they look, and a terminal cannot tell Footer Dock which font it uses. So the same footer can look different in two terminals, or after a font or terminal change: the limit meter (`▰▱`) can come out as thick and dotted lines instead of slanted blocks, or an icon can show as an empty box.
94
+
95
+ **Find out whether it is the terminal.** In the same terminal window, outside Pi, run:
96
+
97
+ ```bash
98
+ printf '5h ▰▰▰▱▱▱▱ 36%% ◌ resets in 4h\n'
99
+ ```
100
+
101
+ - It looks wrong here too: the terminal's font is the cause. Use one of the fixes below. Nothing in Footer Dock needs to change.
102
+ - It looks right here, but wrong inside Pi: run `/dock-debug` and include its output in a bug report.
103
+
104
+ **Fix 1: use a font that has the characters.** List the installed fonts that contain the meter characters, then set one of them as your terminal font (or its fallback):
105
+
106
+ ```bash
107
+ fc-list ':charset=25b0 25b1 25cc' family
108
+ ```
109
+
110
+ **Fix 2: map only those characters to a font you like.** This leaves everything else as it is.
111
+
112
+ - Ghostty (`~/.config/ghostty/config.ghostty`; `ghostty +validate-config` checks the syntax, then restart Ghostty):
113
+
114
+ ```
115
+ font-codepoint-map = U+25B0-U+25B1=Your Font Name
116
+ font-codepoint-map = U+25CC=Your Font Name
117
+ ```
118
+
119
+ - kitty (`kitty.conf`):
120
+
121
+ ```
122
+ symbol_map U+25B0-U+25B1,U+25CC Your Font Name
123
+ ```
124
+
125
+ Icons that show as boxes are a different case: they need a Nerd Font, or `/dock-glyphs` for plain symbols (see the table above). `/dock-glyphs` does not change the limit meter.
126
+
90
127
  ## Where Footer Dock keeps things
91
128
 
92
129
  | Data | Location | Kept how |