Elegant implementation of the LiveChart.me Dankbar widget and slide-out panel, specifically designed for the Dank Material Shell.
Requires Dank Material Shell (DMS) 1.0 or higher.
- Real-time Tracking: Seamless integration of LiveChart.me seasonal schedules directly into your shell.
- Dankbar Integration: Clean, minimal status bar indicators that keep you informed about upcoming episodes.
- Premium Pop-up UI: A modernized, material-style interface with fluid animations, dynamic headers, and card-based layouts.
- Smart Interaction: Hover-driven feedback, status-aware card highlights, and sophisticated micro-animations.
- Material Aesthetics: Premium design tokens and transitions designed to feel native to the Dank Material Shell.
- Customizable Experience: Dedicated settings panel to fine-tune appearance and synchronization behavior.
- Local Data Fetching: Efficiently pulls data from local browser sessions for a personalized experience.
[!IMPORTANT]
Note: Some features may be limited as there is currently no public-facing API available for LiveChart.me.
Ensure you have Python 3 and the required dependencies installed:
pip install beautifulsoup4 browser-cookie3[!TIP] Make sure the
fetch_livechart.pyscript has execution permissions:
chmod +x fetch_livechart.py
If you're installing the plugin on NixOS, the plugin will not work as the fetcher script won't be able to find the python dependencies it needs to work. In order to make the plugin work, you'll need to wrap it with it's dependencies. Here's a code snippet that does it (installing the plugin with DMS' home-manager module):
Click to expand NixOS/Home Manager configuration
{
programs.dank-material-shell.plugins.liveChartSchedule = {
enable = true;
src = let
# If you're not using the DMS plugin registry's flake, you can replace this with the plugin's source you're using.
liveChartSchedule = inputs.dms-plugin-registry.packages.${pkgs.stdenv.hostPlatform.system}.liveChartSchedule;
in
lib.mkForce (pkgs.symlinkJoin {
inherit (liveChartSchedule) pname version;
paths = [ liveChartSchedule ];
nativeBuildInputs = with pkgs; [
python3Packages.wrapPython
];
pythonInputs = with pkgs.python3Packages; [
beautifulsoup4
browser-cookie3
];
postBuild = ''
buildPythonPath "$pythonInputs"
wrapProgram $out/fetch_livechart.py \
--prefix PATH : $program_PATH \
--set PYTHONHOME ${pkgs.python3} \
--set PYTHONPATH $program_PYTHONPATH
'';
});
};
}Alternatively you can make the dependencies available system-wide (for example if you're not installing the plugin through your NixOS configuration), but this is not recommended and your configuration will likely fail to build.
Click to expand Alternative System-wide Configuration
{
# On NixOS side
environment.systemPackages = with pkgs; [
(python3.withPackages (ps: with ps; [
beautifulsoup4
browser-cookie3
]))
];
# or on home-manager's side
home.packages = with pkgs; [
(python3.withPackages (ps: with ps; [
beautifulsoup4
browser-cookie3
]))
];
}Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Before reporting a new issue, take a look at the FAQ, the changelog and the already opened issues.
Built with ❤️ for the Dank Material Shell community.
This application is an independent utility and is not officially affiliated with LiveChart.me.
Part of DankMaterialShell. Check the main repository for license information.


