Zim-desktop-wiki: Automatically move checked checkboxes to bottom

Created on 1 Jun 2017  路  8Comments  路  Source: zim-desktop-wiki/zim-desktop-wiki

Checked entries (OK and NOK) within a checkbox list could be moved automatically to the bottom of the list.

This would declutter the chekbox list.

enhancement plugin idea

Most helpful comment

...and I suppose that the "inverse" operation (that happens when you control-click on an already-checked checkbox), would be to:

  1. uncheck the box (of course), and
  2. move that line above any checked lines in the current outline group

All 8 comments

It's hard to imagine this being "correct" without distinguishing between ordered an unordered checkbox lists... :)

And to me... moving them to the top would make a bit more sense than the bottom... but in any case... how would you propose handling nested checkbox lists?

It's hard to imagine this being "correct" without distinguishing between ordered an unordered checkbox lists... :)

Can you give an example for an ordered and unordered list?

Moving to top or bottom is for me a question of preference. Both options could be offered in the settings.

I'll try with the following example to bring some light into nested checkboxes:

how to make a sculpture

[] have the right intention
[] a kiss of a muse
[] a place in nature
[] errands
      [] a huge stone
      [] a chisel
      [] lucky hat
[] patience
[] chisel away everything, that doesn't look like your imagined sculpture

Now I tick off a "normal" entry:

[] a kiss of a muse
[] a place in nature
[] errands
      [] a huge stone
      [] a chisel
      [] lucky hat
[] patience
[] chisel away everything, that doesn't look like your imagined sculpture
[v] have the right intention

Then a nested one:

[] a kiss of a muse
[] a place in nature
[] errands
      [] a chisel
      [] lucky hat
      [v] a huge stone
[] patience
[] chisel away everything, that doesn't look like your imagined sculpture
[v] have the right intention

A normal one:

[] a kiss of a muse
[] errands
      [] a chisel
      [] lucky hat
      [v] a huge stone
[] patience
[] chisel away everything, that doesn't look like your imagined sculpture
[v] have the right intention
[v] a place in nature

And finally a nested one:

[] a kiss of a muse
[] errands
      [] lucky hat
      [v] a huge stone
      [v] a chisel
[] patience
[] chisel away everything, that doesn't look like your imagined sculpture
[v] have the right intention
[v] a place in nature

Hope this helps!

Ahhh.... that does help; I see, now, why you want them at the bottom too....

In hind-sight, I think what I was referring to is "checkbox lists that should not be reordered", but I am not sure now.

There could still be an issue wrt mixed list types... or at least that would make programming this harder, but I think this could be fun and useful.

If I find the time, I might look to see if this can be done with a plugin.

After mulling over this for some time, I think what I'd like is this:

  • zim should test for modifier keys when clicking a checkbox
  • holding 'shift' behaves like "shift-f12" (it toggles the clicked checkbox between the exed & unchecked states; and having both options use the 'shift' modifier, would be a memetic gain, I think)
  • holding 'alt' will similarly toggle between the newer deferred/promoted state

In this way, the power-user will find setting and unsetting a checkbox to a particular/desired state both faster & more effecient (especially when compared to cycling through all four of the FSM states and the interference of the double-click detection), or having to use the context menu & retargeting on a menu option.

Then, if we 'hide' this requested line-shifting functionality behind a different modifier set (like "ctrl"), it works around the problem of "which outlines should be reordered", and can be baked right into zim as another one of it's productivity-enhancing documented-yet-you-didnt-know-about-it easter eggs because it would not interfere with normal usage... and doing so would be easier (methinks) than creating a new plugin framework/system/convention specifically for checkbox modifier key checking.

I've also considered that there might be some value in appending the time to the end of the displaced line, at least in my use cases.

...and I suppose that the "inverse" operation (that happens when you control-click on an already-checked checkbox), would be to:

  1. uncheck the box (of course), and
  2. move that line above any checked lines in the current outline group

Totally agree to @Osndok, although the time at the end of the displaced line should be optional, IMHO.

If you are interested in this, please consider contributing a plugin that implements the behavior.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sojusnik picture sojusnik  路  3Comments

Self-Perfection picture Self-Perfection  路  5Comments

ghost picture ghost  路  7Comments

ppsilva picture ppsilva  路  7Comments

neokeld picture neokeld  路  6Comments