From mboxrd@z Thu Jan 1 00:00:00 1970 From: James TD Smith Subject: Re: directory tree size browsing with column view Date: Sat, 24 Oct 2009 16:51:17 +0100 Message-ID: <20091024155117.GT72276@yog-sothoth.mohorovi.cc> References: <4AE304FC.4090608@alumni.ethz.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N1its-0002sH-CY for emacs-orgmode@gnu.org; Sat, 24 Oct 2009 11:51:28 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N1ito-0002qc-UW for emacs-orgmode@gnu.org; Sat, 24 Oct 2009 11:51:28 -0400 Received: from [199.232.76.173] (port=42652 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N1ito-0002qZ-P2 for emacs-orgmode@gnu.org; Sat, 24 Oct 2009 11:51:24 -0400 Received: from 81-86-40-42.dsl.pipex.com ([81.86.40.42]:51341 helo=yog-sothoth.mohorovi.cc) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1N1ito-0001GY-30 for emacs-orgmode@gnu.org; Sat, 24 Oct 2009 11:51:24 -0400 Content-Disposition: inline In-Reply-To: <4AE304FC.4090608@alumni.ethz.ch> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Michael Brand Cc: emacs-orgmode@gnu.org Hi Michael, On 2009-10-24 15:45:32(+0200), Michael Brand wrote: > Hi all, > > I would like to use the column view for browsing a hierarchical tree with a > summed up property like e. g. the directory sizes (inclusive cluster waste and > subdirectories from `du -sk`) of a directory tree. Just similar (only > unsorted) to the upper left pane of this GUI screenshot of WinDirStat here > http://windirstat.info/images/windirstat.jpg > > Let me make an example how I think to do the same with column view when given > a directory with the two shell outputs > > ---------------------------------------- > $ ls -lR dir_node > total 16 > drwxr-xr-x 2 usr grp 136 Oct 24 12:00 a > drwxr-xr-x 2 usr grp 102 Oct 24 12:00 b > -rw-r--r-- 1 usr grp 9070 Oct 24 13:00 t.txt > > dir_node/a: > total 2400 > -rw-r--r-- 1 usr grp 4535 Oct 24 12:00 x.txt > -rw-r--r-- 1 usr grp 1217312 Oct 24 12:00 y.txt > > dir_node/b: > total 16 > -rw-r--r-- 1 usr grp 4535 Oct 24 12:00 z.txt > ---------------------------------------- > > ---------------------------------------- > $ find dir_node -type d -exec du -sk {} \; > 1220 dir_node > 1200 dir_node/a > 8 dir_node/b > ---------------------------------------- > > For this I would like to have `some software' which uses the path to this > directory `dir_node' as input and produces the following output file > > ---------------------------------------- > -*- mode: org; eval: (org-columns) -*- > #+STARTUP: odd hidestars > #+PROPERTY: size > #+COLUMNS: %20ITEM %size{+} > > * dir_node > *** a > :PROPERTIES: > :size: 1200 > :END: > -rw-r--r-- 1 usr grp 4535 Oct 24 12:00 x.txt > -rw-r--r-- 1 usr grp 1217312 Oct 24 12:00 y.txt > *** b > :PROPERTIES: > :size: 8 > :END: > -rw-r--r-- 1 usr grp 4535 Oct 24 12:00 z.txt > *** . > :PROPERTIES: > :size: 12 > :END: > -rw-r--r-- 1 usr grp 9070 Oct 24 13:00 t.txt > ---------------------------------------- > > Opening this file in org-mode using column view now is comfortable to browse > and can look e. g. like here > > ---------------------------------------- > ITEM | size | > * dir_node | 1220 | > *** a | 1200 | > :PROPERTIES:... > -rw-r--r-- 1 usr grp 4535 Oct 24 12:00 x.txt > -rw-r--r-- 1 usr grp 1217312 Oct 24 12:00 y.txt > *** b | 8 |... > *** . | 12 |... > ---------------------------------------- > > where all not of interest can be left hidden and one can see easily that > - the directory `a' is by far the largest > - most of the disk usage is caused only by the file dir_node/a/y.txt. > - etc > > I would be able to implement this `some software' in a shell script (if I > would take the necessary time some day) but not within Emacs itself which > would be easier to use and IMHO would not be concerned that much with > portability issues. > > What do you think? Have you looked at org-fstree? http://repo.or.cz/w/org-fstree.git It generates an org tree for the contents of a directory. It doesn't have an option to include the size or other file attributes as properties as the moment, but I don't think this would be hard to add. Andreas and I have been working on it quite a lot over the last week, I'll see if I can add an option which would do what you want. James -- |---|