emacs-orgmode
[Top][All Lists]
Advanced

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

[RFC] [feat] org-colview/org-columns: 'column view' moving rows up/down


From: Sławomir Grochowski
Subject: [RFC] [feat] org-colview/org-columns: 'column view' moving rows up/down
Date: Thu, 06 Apr 2023 12:11:46 +0200

Dear All,

This is my first proposal & code submit. 
I will be very gratefull for you comments & feedback what can be done better.  

Recently I often use 'column view' feature. 
To my suprise in 'column view' user can't move rows up & down.
So I wrote a little code snippet to be able to do it, and I'm sharing it with 
you.

Questions:
1. Why user can't move rows up & down in 'column view'?
2. Is this was intentional design decision?

I think 'column view' is missing one the core feel & functionality of org-mode 
- moving rows (headings) up & down.
In my experiance with 'column view' & tables I shuffle a lot of columns & rows 
order.

In my point of view 'core fuctionalities of org-mode' are: 
1. moving 'things' headings, rows, columns
   1. horizontally (left-right)
   2. vertically (up-down)
2. cyclic visibility

Let's compare this functionality in 3 areas:  

|                   | heading | table | column view |
|-------------------+---------+-------+-------------|
| moving left-right | [X]     | [X]   | [X]         |
| moving up-down    | [X]     | [X]   | [ ]         |
| cyclic visibility | [X]     | NA    | [X]         |

Cyclic visibility does not apply to 'table' because it operate on simple data, 
which is not structured, nested.

'Column view' transform 'headings' into rows, and their properties into 
columns, creating a table.

'Column view' is a combination of 'table' & 'heading':
'Heading' gives a 'table' properties for columns and cyclic visibilty feature, 
because it provide nested structure.
'Table' gives a 'heading' a 'column view' on heading properties.

'Column view' is similar to 'table'. They operate on same actions & keybindings.

|                             | column view      | table            |
|-----------------------------+------------------+------------------|
| move column left-right      | [X]              | [X]              |
| move column left-right keys | meta left-right  | meta left-right  |
| move row up-down            | [ ]              | [X]              |
| move row up-down keys       |                  | meta up-down     |
| add column                  | [X]              | [X]              |
| add column keys             | shift-meta right | shift-meta right |
| remove column               | [X]              | [X]              |
| remove column keys          | shift-meta left  | shift-meta left  |

I thnik it would be beneficial to have consistance interface in 'column view' 
and 'table'.

Based on that, I propose to add functionality to 'move row up/down' in 'column 
view' and set keybinding the same as in table above -> meta up/down.
Patch is in the attachment.

What others think about it? 

Regards,
Sławomir Grochowski

Attachment: 0001-org-columns-add-feat-to-move-row-up-down.patch
Description: patch


reply via email to

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