← Back to team overview

zim-wiki team mailing list archive

Disabling/Enabling plugins per Notebook



I'm kind of new to Zim, but I've been using it for the last couple of
weeks, and is quickly becoming one of my preferred apps. I'm using it
both on Linux (Ubuntu 12.04, which is my main platform) and Windows 7
(at my job), syncing my notebooks using Dropbox.

First of all, I'd like to thank Jaap and the other
developers/contributors for making Zim. It's very useful, mature and
polished! And above all, it's *very* flexible (I think that is one of
its biggest strengths).

Now, to business :)

I wonder if it is somewhere in the road map the ability to turn
plugins on and off in a notebook by notebook basis. I've been
searching in Launchpad any mentions to this, and I found a couple of
bugs tagged with "missing preferences" that might be related with the
topic, although not directly:
* https://bugs.launchpad.net/zim/+bug/539370 - Custom font selection
different per notebook
* https://bugs.launchpad.net/zim/+bug/656446 - Notebook-specific plugins

In both bug reports Jaap commented about a nice to have feature
allowing different configuration "profiles" for notebooks. Is this
still being considered?

My specific issue is this: I'd like to disable the Calendar plugin for
certain notebooks (the other way around would also work: having it
disabled globally, and enable it for certain notebooks). I have a
couple of notebooks where the Calendar plugin comes really handy, and
I like to have it integrated in the sidebar. The problem is: this
clutters other notebooks where it is totally irrelevant (and sometimes
I end up clicking a date by mistake, and creating unwanted

I suppose the "profile per notebook" feature would allow this, but
maybe that's something bigger and more complex to implement.

How difficult could it be to (optionally) support the "plugins" list
and the [*Plugin] sections in the notebook.zim file?

Another possibility could be adding support for a "notebooks=<list of
notebooks where the plugin is enabled>" setting in each [*Plugin]
section. This is maybe more easy, as the plugin configuration would
still be global.

I'm a developer, and although I code mostly in C# these days (because
of my work), I really love Python. My Python skills are a bit rotten,
I'm afraid, but if the idea makes sense, and someone else considers it
useful, and if it is relative simple to implement, I might try to
implement it myself, if you give me some clues/directions.

The most difficult part (for me, anyway) would be the GUI support for
this: I have very little experience with GTK.

What do you think? Does any of this make sense to anyone else?



Follow ups