Fix connectivity staleness, distinct checking dot, read-only groups, poll/probe robustness
This commit is contained in:
@@ -9,20 +9,24 @@ GNOME, используя встроенный **Clash API**.
|
||||
|
||||
- монохромный индикатор-кружок (цвет берётся из цвета текста панели, поэтому
|
||||
индикатор одинаково читается на тёмной и светлой теме):
|
||||
- **залитый круг** — сервис работает и через активный outbound есть связь;
|
||||
- **яркий залитый круг** — сервис работает и через активный outbound есть связь;
|
||||
- **тусклый залитый круг** — сервис работает, связь ещё проверяется;
|
||||
- **яркое сплошное кольцо** — сервис работает, но связи через outbound нет;
|
||||
- **тусклое сплошное кольцо** — сервис работает, связь ещё проверяется;
|
||||
- **пунктирное тусклое кольцо** — сервис (Clash API) недоступен / подключение.
|
||||
|
||||
Различие «есть связь / нет связи / проверяется» доступно только при включённой
|
||||
опции «Connectivity check» (см. ниже) — иначе кружок просто залит, когда API
|
||||
отвечает, и пунктирный, когда нет;
|
||||
отвечает, и пунктирный, когда нет. Связь измеряется только для узла группы,
|
||||
показанной в панели; реальный трафик может идти по другим правилам и группам —
|
||||
см. разбивку соединений в меню;
|
||||
- имя активного outbound (текущий узел группы);
|
||||
- текущую скорость, например `↓2.4M ↑120k`.
|
||||
- текущую скорость, например `↓2.4M ↑120K`.
|
||||
|
||||
**В выпадающем меню (подробности):**
|
||||
|
||||
- `sing-box · Active / Unreachable`;
|
||||
- строка статуса: `sing-box · Active` / `Unreachable`, а при включённой проверке
|
||||
связности также `Active (checking…)` (связь проверяется) и `No connectivity`
|
||||
(связи через outbound нет);
|
||||
- полная скорость (`↓ 2.4 MB/s ↑ 120 KB/s`);
|
||||
- каждая группа outbound'ов отдельным подменю. **Selector**-группы переключаемы —
|
||||
выбор узла меняет активный outbound; **URLTest/Fallback**-группы показываются только
|
||||
@@ -94,10 +98,12 @@ API sing-box 1.13.13.
|
||||
## Файлы
|
||||
|
||||
- `extension.js` — точка входа, добавляет кнопку в панель.
|
||||
- `metadata.json` — метаданные расширения (UUID, версии GNOME Shell).
|
||||
- `lib/indicator.js` — виджет панели, меню, цикл опроса, отрисовка.
|
||||
- `lib/clashApi.js` — асинхронный клиент Clash API на libsoup 3.
|
||||
- `lib/format.js` — форматирование байтов и скорости.
|
||||
- `prefs.js` — настройки на Adwaita.
|
||||
- `stylesheet.css` — стили индикатора и меню.
|
||||
- `schemas/` — схема GSettings.
|
||||
|
||||
## Лицензия
|
||||
|
||||
Reference in New Issue
Block a user