Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Japanese Word a Day

A KDE Plasma 6 plasmoid that shows one Japanese word on a configurable schedule, either from a curated bundled list or from an Anki deck through AnkiConnect.

This is the vocab widget setup used in skerritt.blog/my-moe-desktop-rice-2026/.

The seed list is intentionally hand-picked around three themes:

  • funny: playful, memorable, or quirky words
  • concept: abstract or culturally interesting ideas
  • object: everyday concrete nouns

The current seed file contains 1380 interleaved entries so the schedule stays varied instead of clumping similar words together.

Shareable Repo Notes

This repo is safe to share as-is. It does not require API keys, cloud credentials, or external services. The only optional integration is a local AnkiConnect instance on http://127.0.0.1:8765.

Install

kpackagetool6 --type Plasma/Applet --install package

If it is already installed:

python scripts/build_words_bundle.py
kpackagetool6 --type Plasma/Applet --upgrade package

To remove it:

kpackagetool6 --type Plasma/Applet --remove io.github.bee.jpnwordaday

Data Format

package/contents/data/words.json is the source lexicon, and the plasmoid reads the bundled package/contents/data/words.js copy at runtime.

Each bundled entry is shaped like:

{
  "id": "concept-001",
  "category": "concept",
  "kanji": "生きがい",
  "kana": "いきがい",
  "meaning": "purpose in life"
}

The widget picks the entry by your configured local time interval. The default schedule is every hour, and the widget settings let you switch to presets like every 10 seconds, 10 minutes, 10 hours, or every day.

Anki Source

In the widget settings, switch Word source to Anki deck, then choose:

  • Note type: Kiku or Lapis
  • Deck: selected from AnkiConnect based on the chosen note type
  • Anki fields: the note type must expose Expression, ExpressionReading or ExpressionFurigana, and MainDefinition (with Glossary as fallback)

The plasmoid talks to Anki through AnkiConnect at http://127.0.0.1:8765. If AnkiConnect is unavailable, no matching deck is found, or the selected deck does not return usable notes, the widget falls back to the local word list automatically.

If AnkiConnect rejects the plasmoid origin and the error mentions NULL, add NULL to AnkiConnect's webCorsOriginList.

Left-clicking a local word opens the current Japanese term in Jisho. Left-clicking an Anki-backed word opens that note in Anki's Browse window.

If you edit words.json, rebuild the runtime bundle before upgrading:

python scripts/build_words_bundle.py

About

Japanese Word a Day KDE Plasma plasmoid with optional AnkiConnect integration

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages