Bar widget for ŁKS Łódź and the friendly clubs: Lech Poznań, GKS Tychy, and Zawisza Bydgoszcz. Men's first football: next match, last result, upcoming fixtures, and the league table. Switch club and language from the panel header.
Plugin id: kjk.lks
Needs Omarchy with a running omarchy-shell, plus python3 on PATH (already present on a normal Omarchy install).
omarchy plugin add https://github.com/mobilekjk-coder/omarchy-lks.git --enableThat clones the plugin into ~/.config/omarchy/plugins/kjk.lks/ and puts the widget on the center of the bar. Move it if you want:
omarchy bar move kjk.lks --after omarchy.weatherLeft click opens the panel. Middle click refreshes. Right click sends a desktop notification for the next match.
Update later with:
omarchy plugin update kjk.lksomarchy plugin remove kjk.lksThat disables the widget and deletes the checkout. Cached fixtures in ~/.local/state/omarchy/kjk.lks/ are left behind; delete that directory if you want them gone too. The plugin does not rewrite other Omarchy config except its own bar-layout entry.
Set these on the bar entry (Setup, or omarchy bar set):
| Key | Default | Meaning |
|---|---|---|
source |
auto |
auto, lkslodz, or thesportsdb |
language |
auto |
auto (desktop locale), pl, or en |
club |
lks |
lks, lech, tychy, or zawisza |
section |
football-men |
Only men's first football is implemented so far |
refreshMinutes |
15 |
How often to refetch fixtures (live scores poll faster when a match is on) |
omarchy bar set kjk.lks source thesportsdb
omarchy bar set kjk.lks language pl
omarchy bar set kjk.lks club lech
omarchy bar set kjk.lks refreshMinutes 10Hover the word Mezdim in the panel to play Hava Nagila in full (mezdim.ogg). Move the pointer away and it fades out. That recording is public domain (Abraham Zevi Idelsohn, 1915, via Wikimedia Commons).
The panel, bar label, and notifications follow that language. auto uses Polish when the desktop locale is Polish, otherwise English. Tap PL / EN in the panel header to switch. Tap ŁKS · LECH · TYSCY · ZETKA to switch club.
auto picks sources per club:
- ŁKS — lkslodz.pl + 1liga.org + TheSportsDB
- Lech — lechpoznan.pl + ekstraklasa.org + TheSportsDB
- GKS Tychy and Zawisza — drugaliga.org + TheSportsDB
- ŁKS, Tychy, and Zawisza — TVP Sport transmissions when a stream is listed
- Optional live scores — API-Football when a free key is present
Fixture lists still come from the club sites. Live minutes and scores come from API-Football’s free plan (100 requests/day, no card).
- Register at dashboard.api-football.com (same account as api-sports.io)
- Copy the API key
- Save it as one line:
mkdir -p ~/.local/state/omarchy/kjk.lks
printf '%s\n' 'YOUR_KEY' > ~/.local/state/omarchy/kjk.lks/api-football.keyYou can also export APIFOOTBALL_KEY or API_FOOTBALL_KEY. Without a key the widget keeps working; it just will not update scores during a match. After saving the key, restart the shell (omarchy restart shell) or middle-click the bar widget.
The key is cached for team IDs and fixtures for three hours. While the selected club is actually playing, the widget polls about every 90 seconds so a 90-minute match stays inside the free daily limit.
Public JSON needs no key:
- lkslodz.pl — official
/wp-json/lks/v1/matchesand/league-table - ekstraklasa.org — Lech league calendar
- drugaliga.org — GKS Tychy and Zawisza calendar and table
- TheSportsDB — documented free API (cups and Europe)
- API-Football — optional live scores when
~/.local/state/omarchy/kjk.lks/api-football.keyis set
Kickoff times from Polish sites are treated as Europe/Warsaw, then shown in your desktop timezone. Results and tables come from those sites; this plugin is unofficial and not affiliated with the clubs.
Other club sections (volleyball, basketball, and so on) are not wired yet. The fetch layer is built so a new section is another source entry plus a parser.
MIT. See LICENSE.