emacs-orgmode
[Top][All Lists]
Advanced

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

Re: shrink table in columnmode view (poor man's issue system)


From: Marco Wahl
Subject: Re: shrink table in columnmode view (poor man's issue system)
Date: Mon, 27 Sep 2021 20:53:25 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Hi all!

Bastien <bzg@gnu.org> 
> Uwe Brauer <oub@mat.ucm.es> writes:
>> Thank you for the code! As I said, your code should be included. If you
>> have write access please push it.

Thanks Uwe.

> It's up to the maintainers to decide for pushing changes, and to
> regular contributors, for areas they feel confident they can push,
> like Marco does regularily (thanks).

Thanks Bastien.

> I don't see any patch in this thread - am I missing something?

There is no patch yet.  But I think the idea of Uwe is worthy to be
discussed.

Let me present the idea of Uwe with his columnview dynamic block example
(a little bit simplified.)

With the current state in Org one could get the following columnview
block in a respective Org file.

        #+BEGIN: columnview :format "%10ITEM(Problem) %5Is(Issue)"
        | Problem                                           | Issue |
        | Issues                                            |       |
        | Why is this item soooooooooooooooooooooooo wide ? |     9 |
        #+END:

The idea is to add a line with width indicators taken from the column
format.  Here (it is the first table line):

        #+BEGIN: columnview :format "%10ITEM(Problem) %5Is(Issue)"
        | <10>                                              | <5>   |
        | Problem                                           | Issue |
        | Issues                                            |       |
        | Why is this item soooooooooooooooooooooooo wide ? |     9 |
        #+END:

This would allow to use the C-c TAB feature to control the widths of the
columns.

We realized this using a newly defined personal dynamic block as
described in (info "(org) Dynamic Blocks").  Concretely:

        (defun org-dblock-write:columnview2 (params)
          "Write the column view table.
        
        Like org-dblock-write:columnview but write a line with shrink widths 
taken from the
        column view format.
        
        PARAMS is the same as in `org-dblock-write:columnview'."
          (insert (format "|%s|\n"
                          (mapconcat
                           (lambda (x) (concat "<" (number-to-string x) ">"))
                           (mapcar (lambda (x) (nth 2 x)) 
(org-columns-compile-format
                                                      (plist-get params 
:format)))
                           "|")))
          (org-dblock-write:columnview params))

I think the idea is good.  But possibly the extra line is too much for
some people.  Further I'm sure that the code can be improved and I don't
feel 100% confident in this dynamic block area.


Best regards!




reply via email to

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