Files
omarchy/plugins/io.github.x3me.nexthop/manifest.json
T
asepharyana 1cdb82a76f Sync config from arch
- hypr/apps.lua
- hypr/autostart.lua
- hypr/envs.lua
- hypr/hyprland.lua
- hypr/hyprsunset.conf
- hypr/input.lua
- hypr/looknfeel.lua
- hypr/omasettings.lua
- hypr/xdph.conf
- omarchy/branding/about.txt
- omarchy/branding/screensaver.txt
- omarchy/extensions/omarchy-menu.jsonc
- omarchy/hooks/battery-low.d/play-warning-sound.sample
- omarchy/hooks/font-set.d/show-font-notification.sample
- omarchy/hooks/post-boot.d/weather.sample
- omarchy/hooks/post-update.d/install-voxtype.hook
- omarchy/hooks/post-update.d/setup-agent.hook
- omarchy/hooks/post-update.d/setup-fingerprint.hook
- omarchy/hooks/post-update.d/show-update-notification.sample
- omarchy/hooks/pre-refresh-pacman.d/add-custom-repo.sample
- omarchy/hooks/theme-set.d/show-theme-notification.sample
- omarchy/shell.json
- omarchy/shell.toml
- omarchy/theme.name
- omarchy/themes/azure-glow/README.md
- omarchy/themes/azure-glow/alacritty.toml
- omarchy/themes/azure-glow/btop.theme
- omarchy/themes/azure-glow/hyprland.conf
- omarchy/themes/azure-glow/hyprlock.conf
- omarchy/themes/azure-glow/icons.theme
- … 269 more
2026-09-23 15:19:12 +07:00

172 lines
5.7 KiB
JSON

{
"schemaVersion": 1,
"id": "io.github.x3me.nexthop",
"name": "Nexthop",
"version": "0.2.42",
"author": "Extreme Labs",
"license": "MIT",
"description": "Splits your Wi-Fi from your ISP, hop by hop. Continuous latency, jitter and loss on both legs of your connection, with history, outage detection and speed tests.",
"homepage": "https://github.com/x3me/omarchy-nexthop",
"repository": "https://github.com/x3me/omarchy-nexthop",
"keywords": [
"network",
"internet",
"latency",
"jitter",
"monitoring",
"speedtest",
"wifi"
],
"kinds": [
"bar-widget",
"service"
],
"entryPoints": {
"barWidget": "BarWidget.qml",
"service": "Service.qml"
},
"barWidget": {
"displayName": "Nexthop",
"description": "Connection quality on the bar; click for latency, speed, Wi-Fi and outage history split by leg",
"category": "Network",
"allowMultiple": false,
"defaultSection": "right",
"defaults": {
"displayMode": "Index",
"internetAnchor": "1.1.1.1",
"probeIntervalMs": 500,
"contentSpeed": true,
"contentSpeedIntervalMin": 60,
"peakEngine": "Auto",
"planDownMbps": 0,
"planUpMbps": 0,
"notifyOutage": true,
"historyDays": 7,
"throughputWindowS": 3,
"updateCheck": true,
"meteredCare": true
},
"schema": [
{
"key": "displayMode",
"type": "enum",
"label": "What the bar shows",
"options": [
"Index",
"Lag",
"Icon only"
],
"defaultValue": "Index",
"description": "Index is the 0-100 score. Lag is the felt-latency figure in milliseconds: p75 plus jitter and a loss penalty over the last 30 s. Icon only shows just the state glyph."
},
{
"key": "internetAnchor",
"type": "string",
"label": "Internet anchor",
"defaultValue": "1.1.1.1",
"description": "One of four internet-leg probe targets (pinged, and TCP-handshaked on 443). The scored leg comes from the two best instruments, so this one need not be among them."
},
{
"key": "probeIntervalMs",
"type": "integer",
"label": "Probe interval (ms)",
"min": 250,
"max": 5000,
"step": 250,
"defaultValue": 500,
"description": "500 ms is two samples a second, about 30 MB a day per ICMP target on the wire. Raise it to use less."
},
{
"key": "contentSpeed",
"type": "boolean",
"label": "Measure content speed automatically",
"defaultValue": true,
"description": "A short download and a small upload that score Speed honestly. About 14 MB per check."
},
{
"key": "contentSpeedIntervalMin",
"type": "integer",
"label": "Content speed interval (minutes)",
"min": 15,
"max": 1440,
"step": 15,
"defaultValue": 60
},
{
"key": "peakEngine",
"type": "enum",
"label": "Peak speed test engine",
"options": [
"Auto",
"Ookla",
"Cloudflare",
"fast.com"
],
"defaultValue": "Auto",
"description": "Auto prefers the official speedtest CLI when it is installed, then Cloudflare, then fast.com. Peak tests only ever run when you ask for one."
},
{
"key": "planDownMbps",
"type": "integer",
"label": "Plan download (Mbps)",
"min": 0,
"max": 10000,
"step": 10,
"defaultValue": 0,
"description": "Optional. When set, Speed is scored against your plan (ISP accountability) instead of the built-in experience curve and your own baseline."
},
{
"key": "planUpMbps",
"type": "integer",
"label": "Plan upload (Mbps)",
"min": 0,
"max": 10000,
"step": 10,
"defaultValue": 0,
"description": "Optional, used together with the plan download."
},
{
"key": "throughputWindowS",
"type": "integer",
"label": "Throughput averaging window (seconds)",
"min": 1,
"max": 30,
"step": 1,
"defaultValue": 3,
"description": "The receiving/sending numbers average over this window. Larger is calmer, smaller is livelier."
},
{
"key": "notifyOutage",
"type": "boolean",
"label": "Notify on outage and recovery",
"defaultValue": true,
"description": "A desktop notification once an outage has lasted a few seconds, and one when it clears, naming the leg that failed. Brief interruptions are logged, never notified."
},
{
"key": "updateCheck",
"type": "boolean",
"label": "Tell me when an update is published",
"defaultValue": true,
"description": "Once a day, asks the repository you installed from whether a newer version exists, and shows a small marker in the panel if so. It never installs anything and sends nothing about you. Turn it off and no check is made."
},
{
"key": "meteredCare",
"type": "boolean",
"label": "Go easy on phone hotspots",
"defaultValue": true,
"description": "When the connection comes from a phone sharing its data, pause the small hourly speed checks and ask twice before a full speed test. Turn this off if your plan is unlimited and you would rather keep measuring."
},
{
"key": "historyDays",
"type": "integer",
"label": "Keep per-minute history for (days)",
"min": 1,
"max": 90,
"step": 1,
"defaultValue": 7,
"description": "Hourly rollups are kept for a year regardless."
}
]
}
}