{ "schemaVersion": 1, "id": "devbook.futbar", "name": "FutBar", "version": "2.3.0", "author": "devbook", "license": "MIT", "description": "Live match center and football tracker with tactical lineups, real-time scores, league tables, and live event alerts.", "kinds": [ "bar-widget" ], "entryPoints": { "barWidget": "FutBar.qml" }, "barWidget": { "displayName": "FutBar", "description": "Compact top-bar football widget with real-time match tracking, tactical pitch lineups, live commentary, standings, and desktop event alerts.", "category": "Sports", "allowMultiple": false, "defaultSection": "right", "defaults": { "tabLabelStyle": "abbrev", "barWidgetMode": "icon", "timeFormat": "24h", "kickoffTimeFormat": "24h", "enableNotifications": true, "notifyGoals": true, "notifyEvents": true, "notifyScope": "primary", "antiSpoiler": false, "showOdds": true, "livePollRate": 10, "enableTrending": true }, "schema": [ { "key": "teamName", "type": "string", "label": "Team name", "description": "Use the name shown by ESPN, for example Barcelona or Arsenal." }, { "key": "league", "type": "string", "label": "ESPN league code", "description": "Examples: esp.1 (LaLiga), eng.1 (Premier League), ita.1 (Serie A), ger.1 (Bundesliga), uefa.champions." }, { "key": "teamId", "type": "string", "label": "ESPN team ID", "description": "Numeric ESPN team identifier, resolved automatically when you pick a club in the panel. Rarely needs manual editing." }, { "key": "tabLabelStyle", "type": "enum", "label": "Tab label style", "description": "Choose how followed tabs are labeled: abbrev (3 letters), short (short names), or full (full names).", "options": [ "abbrev", "short", "full" ], "defaultValue": "abbrev" }, { "key": "barWidgetMode", "type": "enum", "label": "Bar widget display mode", "description": "Choose what is displayed on the top bar: icon (minimal glyph), score (live match score), or next (upcoming fixture).", "options": [ "icon", "score", "next" ], "defaultValue": "icon" }, { "key": "timeFormat", "type": "enum", "label": "Time format", "description": "Format for match kickoff times: 24h (20:00) or 12h (8:00 PM).", "options": [ "24h", "12h" ], "defaultValue": "24h" }, { "key": "kickoffTimeFormat", "type": "enum", "label": "Kickoff time format", "description": "Format for match kickoff times: 24h (20:00), 12h (8:00 PM), or relative (in 2h 15m).", "options": [ "24h", "12h", "relative" ], "defaultValue": "24h" }, { "key": "enableNotifications", "type": "boolean", "label": "Enable desktop notifications", "description": "Master switch to enable or disable all desktop match notifications.", "defaultValue": true }, { "key": "notifyGoals", "type": "boolean", "label": "Goal alerts", "description": "Send desktop notification when a goal is scored.", "defaultValue": true }, { "key": "notifyEvents", "type": "boolean", "label": "Cards and match whistles", "description": "Send desktop notification on red cards, penalties, kickoff, and full-time.", "defaultValue": true }, { "key": "notifyScope", "type": "enum", "label": "Notification scope", "description": "Choose whether to receive alerts for primary club only or all followed tabs.", "options": [ "primary", "all" ], "defaultValue": "primary" }, { "key": "antiSpoiler", "type": "boolean", "label": "Anti-spoiler mode", "description": "Hide match scores behind a reveal badge until hovered or clicked.", "defaultValue": false }, { "key": "showOdds", "type": "boolean", "label": "Show pre-match betting odds", "description": "Show pre-match betting odds and win probability in fixture info.", "defaultValue": true }, { "key": "livePollRate", "type": "enum", "label": "Live polling interval (seconds)", "description": "Refresh rate during live matches: 10, 30, or 60 seconds.", "options": [ 10, 30, 60 ], "defaultValue": 10 }, { "key": "enableTrending", "type": "boolean", "label": "Trending & live matches", "description": "Show trending matches page and header button for live games and marquee tournaments across all leagues.", "defaultValue": true } ] } }