emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [FR] 'org-columns-next-allowed-value' for 'summary-checkbox'es funct


From: Sławomir Grochowski
Subject: Re: [FR] 'org-columns-next-allowed-value' for 'summary-checkbox'es functions should have 'intermediate state' '[-]'
Date: Tue, 02 Apr 2024 14:23:24 +0200

After careful consideration, I believe it is most prudent to only
introduce a defcustom variable. This will allow for modification while
simultaneously preserving the current behavior.

Currently we can change the value of "org-columns-checkbox" with the
following keybindings:

(1)    C-c C-c (org-columns-toggle-or-columns-quit)

       Same behavior to toggle checkbox as 'C-c C-c (org-toggle-checkbox)' on
       "org-checkbox".

       It's a great idea that keybinding works in the same way as in the
       case of a regular checkbox. This provides a consistent interface
       for the "org-checkbox" and "org-columns-checkbox".
       
       So every user who starts using "org-columns" will try to use the same
       keybinding they used for "org-checkbox". That's how I used it too.

       But I would not implement other keybindings from "org-checkbox":
       C-u C-c C-c (org-toggle-checkbox) - add or remove checkboxes.
       C-u C-u C-c C-c (org-toggle-checkbox) - set the checkbox to "[-]".
       Because there are too complicated and uncomfortable.
       And this functionality can be easily replaced by adding defcustom
       variable and using keybinding describe in point (3) of this mail.  

(2)    n or S-RIGHT (org-columns-next-allowed-value)
       p or S-LEFT (org-columns-previous-allowed-value)

       Later on, I started using S-RIGHT & S-LEFT. It's simply more
       convenient than 'C-c C-c' because in "org-columns" we navigate
       with arrow keys. So, the right hand is always on the arrow keys, making
       it easier now to press just one SHIFT key with the left hand to
       change the value.

       When we have the default two states "[X]" and "[ ]", behavior is
       same as 'C-c C-c' - toggle within these two states. 

       But if we add the third state "[-]", it might not be
       well-received by users who use these keybindings, because now they
       would have to additionally cycle between those three states, not
       just two. And unfortunately, they wouldn't be able to change
       it. That's why I believe it's worth introducing a defcustom
       variable.

(3)    1..9,0 

       "Directly select the Nth allowed value, 0 selects the 10th
       value." 

       Now that's how I change the values in the "org-columns-checkbox".
       Because it's by far the fastest, simplest, and most convenient
       way. Only one key and I immediately have the state I want.

       Right now I'm using 4 states for "org-columns-checkbox":
       (setq org-columns-checkbox-states '("[X]" "[-]" "[ ]" "" ))

       So empty state "" at digit '4' I have option to remove checkbox.
       Digit '2' is "[-]".
       Super easy and convenient in comparison to:
       C-u C-c C-c (org-toggle-checkbox) - add or remove checkboxes.
       C-u C-u C-c C-c (org-toggle-checkbox) - set the checkbox to
       "[-]".

What do you think?
Patch in attachment.

Attachment: 0001-lisp-org-colview.el-Add-defcustom-org-columns-checkb.patch
Description: Text Data


Regards,
-- 
Slawomir Grochowski

reply via email to

[Prev in Thread] Current Thread [Next in Thread]