A KDE Plasma 6 widget that displays a different Japanese kanji character each day, complete with meanings, readings, stroke count, and JLPT level information. Perfect for Japanese learners who want to incorporate daily kanji practice into their desktop workflow.
- Daily Kanji Display: Shows a new kanji every day with automatic midnight refresh
- Rich Information: Displays meanings (English), kun-yomi, on-yomi readings, stroke count, and JLPT level
- Multiple Kanji Sources: Choose from Jōyō kanji (2,136 characters) or all kanji
- JLPT Level Filtering: Filter by JLPT levels (N5-N1) or show all levels
- Offline Support: Caches the last kanji for offline viewing
- Click to Learn More: Click on kanji to open in your preferred dictionary
- Customizable Dictionary: Configure URL and language for external lookups
- Automatic Retry: Smart retry logic with exponential backoff for network issues
- Compact & Full Views: Works in both panel and desktop widget modes
- Modern Design: Clean interface that integrates with your KDE theme
- Responsive Layout: Adapts to different widget sizes
- KDE Plasma: 6.0 or higher
- Qt Version: 6.0+
- Internet Connection: Required for fetching kanji data (works offline with cached data)
- Download
dailykanji-v1.0.0.plasmoidfrom Releases - Right-click on the desktop or panel
- Select "Enter Edit Mode"
- Click "Add Widgets..."
- Click "Get New Widgets" → "Install Widget From Local File..."
- Select the downloaded
dailykanji-v1.0.0.plasmoidfile - Click "Install"
Download dailykanji-v1.0.0.plasmoid from Releases and install:
kpackagetool6 --type=Plasma/Applet --install dailykanji-v1.0.0.plasmoidNote: If the widget doesn't appear after installation, restart Plasma Shell:
kquitapp6 plasmashell && kstart plasmashellgit clone https://github.com/kurojs/DailyKanji.git
cd DailyKanji
kpackagetool6 --type=Plasma/Applet --install .kpackagetool6 --type=Plasma/Applet --upgrade dailykanji-v1.0.0.plasmoidRight-click the widget and select "Configure Daily Kanji..." to access settings:
- Jōyō Kanji (2,136 characters): Official list of everyday-use kanji
- All Kanji: Complete set of available kanji
Filter kanji by Japanese Language Proficiency Test level:
- All Levels (default): No filtering
- N5: Beginner level (~100 kanji)
- N4: Elementary level (~200 kanji)
- N3: Intermediate level (~350 kanji)
- N2: Upper-intermediate level (~400 kanji)
- N1: Advanced level (~1,000 kanji)
Configure what happens when you click on the kanji:
Redirect URL Template:
https://jotoba.de/search/default/%kanji%?l=%lang%
Available placeholders:
%kanji%: Replaced with the current kanji character%lang%: Replaced with the configured language code
Language Code:
- Default:
es-ES(Spanish) - Examples:
en-US,ja-JP,fr-FR,de-DE,pt-BR
Example Configurations:
For English Jisho.org:
URL: https://jisho.org/search/%kanji%
Language: en-US
For Japanese Weblio:
URL: https://www.weblio.jp/content/%kanji%
Language: ja-JP
For German Wadoku:
URL: https://www.wadoku.de/search/%kanji%
Language: de-DE
To Panel:
- Right-click on your panel
- Select "Add Widgets..."
- Search for "Daily Kanji"
- Add it to display in compact mode (kanji only)
To Desktop:
- Right-click on desktop
- Select "Add Widgets..."
- Add "Daily Kanji"
- Widget shows full view with kanji details
- New kanji appears automatically each day at midnight
- Click on kanji to search in configured dictionary
- Retry button appears if network fails
DailyKanji/
├── metadata.json # Widget metadata and info
├── LICENSE # MIT License
├── README.md # This file
└── contents/
├── config/
│ ├── config.qml # Configuration page definitions
│ └── main.xml # Configuration options schema
└── ui/
├── main.qml # Main widget logic
├── FullItem.qml # Desktop/full view
├── CompactItem.qml # Panel/compact view
└── configGeneral.qml # Configuration UI
This widget uses the KanjiAPI.dev API:
- Kanji Lists:
/v1/kanji/{set}- joyo, all, grade-1 to grade-6, jlpt-n5 to jlpt-n1 - Kanji Details:
/v1/kanji/{character}- Full information about specific kanji
Contributions are welcome! Please feel free to submit pull requests, report issues, or suggest new features.
If you encounter any issues or have questions:
- Check the existing issues on GitHub
- Create a new issue with detailed information about your problem
- Include your KDE Plasma version and system information
- KanjiAPI.dev for kanji data
- Jotoba for default dictionary
- KDE community for the Plasma desktop environment
This project is licensed under the MIT License - see the LICENSE file for details.

