Hello community,

here is the log from the commit of package xdiskusage for openSUSE:Factory 
checked in at 2015-02-13 08:35:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdiskusage (Old)
 and      /work/SRC/openSUSE:Factory/.xdiskusage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xdiskusage"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xdiskusage/xdiskusage.changes    2012-09-25 
14:17:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xdiskusage.new/xdiskusage.changes       
2015-02-13 08:35:37.000000000 +0100
@@ -1,0 +2,9 @@
+Thu Feb 11 19:34:16 UTC 2015 - [email protected]
+
+- Updated to new upstream version, 1.51.
+
+- Removed xdiskusage-fltk13.patch and xdiskusage-remove-glu.patch as
+ they are no longer needed due to the use of 'fltk-config' in
+ the Makefile.
+
+-------------------------------------------------------------------

Old:
----
  xdiskusage-1.48.1.tar.bz2
  xdiskusage-fltk13.patch
  xdiskusage-remove-glu.patch

New:
----
  xdiskusage-1.51.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xdiskusage.spec ++++++
--- /var/tmp/diff_new_pack.aoiykj/_old  2015-02-13 08:35:38.000000000 +0100
+++ /var/tmp/diff_new_pack.aoiykj/_new  2015-02-13 08:35:38.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package xdiskusage
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,29 +18,21 @@
 
 # Note that this is NOT a relocatable package
 %define prefix          /usr
-%define bindir          /usr/bin
-%define mandir          /usr/share/man
+%define bindir          %{_prefix}/bin
+%define mandir          %{_datadir}/man
 %define tmppath         /tmp
-
-Summary:        Grapically displays the amount of disks used for by each 
subdirectory
-License:        GPL-2.0
-Group:          Applications/System
-
 Name:           xdiskusage
-Version:        1.48.1
+Version:        1.51
 Release:        0
+Summary:        Graphically displays the amount of disk space used by each 
subdirectory
+License:        GPL-2.0
+Group:          Applications/System
+Url:            http://xdiskusage.sourceforge.net/
 Source:         %{name}-%{version}.tar.bz2
-Patch0:         %{name}-fltk13.patch
-Patch1:         %{name}-remove-glu.patch
-%if 0%{?suse_version}
-%else
-%endif
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-Url:            https://code.google.com/p/xdiskusage-buildfix/
 BuildRequires:  fltk-devel
 BuildRequires:  gcc-c++
 BuildRequires:  libstdc++-devel
-
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
 BuildRequires:  libX11-devel
 BuildRequires:  libXext-devel
@@ -51,19 +43,6 @@
 BuildRequires:  Mesa-devel
 BuildRequires:  xorg-x11-devel
 %endif
-%if 0%{?mandriva_version}
-%ifarch x86_64
-BuildRequires:  lib64mesagl1-devel
-BuildRequires:  lib64x11_6-devel
-BuildRequires:  lib64xext6-devel
-BuildRequires:  lib64xinerama1-devel
-%else
-BuildRequires:  libmesagl1-devel
-BuildRequires:  libx11_6-devel
-BuildRequires:  libxext6-devel
-BuildRequires:  libxinerama1-devel
-%endif
-%endif
 
 %description
 xdiskusage is a user-friendly program to show you what is using 
@@ -74,23 +53,17 @@
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
 
 %build
-export CXXFLAGS="$RPM_OPT_FLAGS"
-export CFLAGS="$RPM_OPT_FLAGS"
-./configure --prefix=%prefix
-make
+export CXXFLAGS="%{optflags}"
+export CFLAGS="%{optflags}"
+./configure --prefix=%{prefix}
+make %{?_smp_mflags}
 
 %install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/%{bindir} $RPM_BUILD_ROOT/%{mandir}/man1
-make prefix=$RPM_BUILD_ROOT/%{prefix} \
-       mandir=$RPM_BUILD_ROOT/%{mandir} install
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+mkdir -p %{buildroot}/%{bindir} %{buildroot}/%{mandir}/man1
+make prefix=%{buildroot}/%{prefix} \
+       mandir=%{buildroot}/%{mandir} install
 
 %files
 %defattr(-,root,root)

++++++ xdiskusage-1.48.1.tar.bz2 -> xdiskusage-1.51.tar.bz2 ++++++
++++ 6570 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/Makefile new/xdiskusage-1.51/Makefile
--- old/xdiskusage-1.48.1/Makefile      2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/Makefile        2015-02-10 00:12:19.000000000 +0100
@@ -1,7 +1,7 @@
 SHELL=/bin/sh
 
 PROGRAM = xdiskusage
-VERSION = 1.48
+VERSION = 1.51
 
 CXXFILES = panels.C xdiskusage.C
 
@@ -17,9 +17,12 @@
 all:   $(PROGRAM)
 
 $(PROGRAM) : $(OBJECTS)
-       $(CXX) $(LDFLAGS) -o $(PROGRAM) $(OBJECTS) $(LIBS) $(LDLIBS)
+       $(CXX) -o $(PROGRAM) $(OBJECTS) `fltk-config --ldflags`
 
-makeinclude: configure
+configure: configure.in
+       autoconf
+
+makeinclude: configure makeinclude.in
        ./configure
 include makeinclude
 
@@ -75,4 +78,8 @@
        $(CC) $(CFLAGS_D) -c -o $@ $<
 
 $(PROGRAM_D) : $(OBJECTS_D)
-       $(CXX) $(LDFLAGS_D) -o $(PROGRAM_D) $(OBJECTS_D) $(LIBS) $(LDLIBS)
+       $(CXX) -o $(PROGRAM_D) $(OBJECTS_D) `fltk-config --ldflags`
+
+# Used to make the version that is gzipped and uploaded to web site
+static : $(OBJECTS)
+       $(CXX) -o $(PROGRAM) $(OBJECTS) `fltk-config --ldstaticflags`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/README new/xdiskusage-1.51/README
--- old/xdiskusage-1.48.1/README        2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/README  2015-02-10 00:12:27.000000000 +0100
@@ -1,4 +1,4 @@
-xdiskusage Version 1.46
+xdiskusage Version 1.51
 
 ----------------------------------------------------------------
 How to compile xdiskusage:
@@ -29,15 +29,12 @@
 
 Typing "xdiskusage file" where "file" is not a folder makes
 xdiskusage parse that file as though it was "du" output and display
-the result.
+the result. You can use "-" to read from stdin, thus allowing you
+to pipe a du command to the display, for instance "du -k . | xdiskusage".
 
 You can type several file and folder names and get several display
 windows.
 
-If no files are named, you can pipe the output from another program to
-xdiskusage. If stdin is not a terminal xdiskusage will parse it as "du"
-output and display the result. For instance "du -k . | xdiskusage".
-
 Typing just "xdiskusage" brings up the disk browser described here:
 
 ----------------------------------------------------------------
@@ -159,7 +156,7 @@
 <stephane dot gourichon at lip6 dot fr>
 
 ----------------------------------------------------------------
-Copyright (C) 2003 Bill Spitzak
+Copyright (C) 2014 Bill Spitzak
 ----------------------------------------------------------------
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -173,10 +170,10 @@
 
 You should have received a copy of the GNU General Public License
 along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
 USA.
 
-Written by Bill Spitzak                spitzak at dee two dot com
+Written by Bill Spitzak                spitzak at gee m ail dotcom
 ----------------------------------------------------------------
 END
 ----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/configure.in new/xdiskusage-1.51/configure.in
--- old/xdiskusage-1.48.1/configure.in  2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/configure.in    2014-11-20 22:19:10.000000000 +0100
@@ -6,11 +6,6 @@
 AC_PROG_CXX
 AC_PROG_INSTALL
 
-AC_PATH_XTRA
-echo "Ignoring libraries \"$X_PRE_LIBS\" requested by configure."
-dnl# LIBS="$LIBS$X_LIBS$X_PRE_LIBS"
-LIBS="$LIBS$X_LIBS"
-
 MAKEDEPEND="\$(CXX) -M"
 
 dnl# add warnings and optimization to compiler switches:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/makeinclude.in new/xdiskusage-1.51/makeinclude.in
--- old/xdiskusage-1.48.1/makeinclude.in        2009-12-02 11:41:48.000000000 
+0100
+++ new/xdiskusage-1.51/makeinclude.in  2014-11-20 22:20:11.000000000 +0100
@@ -8,6 +8,7 @@
 libdir         =@libdir@
 srcdir         =@srcdir@
 VPATH          =@srcdir@
+datarootdir     =@datarootdir@
 
 # compiler names:
 CXX    =@CXX@
@@ -21,6 +22,4 @@
 CXXFLAGS_D     =@CXXFLAGS_D@
 
 # libraries to link with:
-LDLIBS =@LIBS@ -lfltk -lXinerama -lGL -lGLU -lX11 -lXext @X_EXTRA_LIBS@ -lm
-
 INSTALL        =@INSTALL@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/panels.C new/xdiskusage-1.51/panels.C
--- old/xdiskusage-1.48.1/panels.C      2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/panels.C        2014-11-18 04:10:54.000000000 +0100
@@ -1,91 +1,87 @@
-// generated by Fast Light User Interface Designer (fluid) version 1.0011
+// generated by Fast Light User Interface Designer (fluid) version 1.0300
 
 #include "panels.H"
 
-Fl_Window *disk_chooser=(Fl_Window *)0;
+Fl_Double_Window *disk_chooser=(Fl_Double_Window *)0;
 
 Fl_Browser *disk_browser=(Fl_Browser *)0;
 
 Fl_Input *disk_input=(Fl_Input *)0;
 
 static void cb_browser(Fl_Button*, void*) {
-  const char* c = fl_file_chooser("Directory:", 0, disk_input->value());
+  const char* c = fl_file_chooser("Folder", "*/", disk_input->value());
 if (c) disk_input->value(c);
 }
 
 Fl_Check_Button *all_files_button=(Fl_Check_Button *)0;
 
-Fl_Window* make_diskchooser() {
-  Fl_Window* w;
-  { Fl_Window* o = disk_chooser = new Fl_Window(404, 252, "Disk Usage 
Display");
-    w = o;
-    { Fl_Button* o = new Fl_Button(290, 10, 65, 20, "reload");
+Fl_Double_Window* make_diskchooser() {
+  { disk_chooser = new Fl_Double_Window(404, 252, "Disk Usage Display");
+    { Fl_Button* o = new Fl_Button(290, 10, 65, 20, "Reload");
       o->callback((Fl_Callback*)reload_cb);
-    }
+    } // Fl_Button* o
     { Fl_Button* o = new Fl_Button(365, 10, 25, 20, "\251");
       o->labelsize(18);
       o->callback((Fl_Callback*)copyright_cb);
-    }
-    { Fl_Browser* o = disk_browser = new Fl_Browser(15, 30, 375, 150, "Pick a 
disk:");
-      o->type(2);
-      o->callback((Fl_Callback*)disk_browser_cb);
-      o->align(FL_ALIGN_TOP_LEFT);
-      Fl_Group::current()->resizable(o);
+    } // Fl_Button* o
+    { Fl_Browser* o = disk_browser = new Fl_Browser(15, 30, 375, 150, "Select 
a file system:");
+      disk_browser->type(2);
+      disk_browser->callback((Fl_Callback*)disk_browser_cb);
+      disk_browser->align(Fl_Align(FL_ALIGN_TOP_LEFT));
+      Fl_Group::current()->resizable(disk_browser);
       static int widths[] = {200,0};
       o->column_widths(widths);
-    }
-    { Fl_Input* o = disk_input = new Fl_Input(15, 200, 335, 25, "Or type 
pathname in and hit Enter:");
-      o->callback((Fl_Callback*)disk_input_cb);
-      o->align(FL_ALIGN_TOP_LEFT);
-      o->when(FL_WHEN_ENTER_KEY_ALWAYS);
+    } // Fl_Browser* disk_browser
+    { Fl_Input* o = disk_input = new Fl_Input(15, 200, 335, 25, "[OR] Enter a 
full path:");
+      disk_input->callback((Fl_Callback*)disk_input_cb);
+      disk_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
+      disk_input->when(FL_WHEN_ENTER_KEY_ALWAYS);
       o->value("/");
-    }
+    } // Fl_Input* disk_input
     { Fl_Button* o = new Fl_Button(350, 200, 40, 25, "browser");
       o->labelsize(8);
       o->callback((Fl_Callback*)cb_browser);
-    }
-    { Fl_Check_Button* o = new Fl_Check_Button(15, 225, 185, 25, "measure 
directories only");
+    } // Fl_Button* o
+    { Fl_Check_Button* o = new Fl_Check_Button(15, 225, 185, 25, "Measure 
folders only");
       o->type(102);
       o->down_box(FL_DIAMOND_DOWN_BOX);
-      o->value(1);
-    }
-    { Fl_Check_Button* o = all_files_button = new Fl_Check_Button(190, 225, 
145, 25, "measure all files");
-      o->type(102);
-      o->down_box(FL_DIAMOND_DOWN_BOX);
-    }
-    o->end();
-  }
-  return w;
+    } // Fl_Check_Button* o
+    { all_files_button = new Fl_Check_Button(190, 225, 145, 25, "Measure every 
file");
+      all_files_button->type(102);
+      all_files_button->down_box(FL_DIAMOND_DOWN_BOX);
+      all_files_button->value(1);
+    } // Fl_Check_Button* all_files_button
+    disk_chooser->end();
+  } // Fl_Double_Window* disk_chooser
+  return disk_chooser;
 }
 
-Fl_Window *wait_window=(Fl_Window *)0;
+Fl_Double_Window *wait_window=(Fl_Double_Window *)0;
 
 Fl_Slider *wait_slider=(Fl_Slider *)0;
 
-Fl_Window* make_wait_window() {
-  Fl_Window* w;
-  { Fl_Window* o = wait_window = new Fl_Window(229, 100);
-    w = o;
-    w->hotspot(o);
-    { Fl_Slider* o = wait_slider = new Fl_Slider(10, 25, 205, 25, "Reading 
disk:");
-      o->type(3);
-      o->color(12);
-      o->selection_color(47);
-      o->align(FL_ALIGN_TOP_LEFT);
-      Fl_Group::current()->resizable(o);
+Fl_Double_Window* make_wait_window() {
+  { wait_window = new Fl_Double_Window(229, 100);
+    wait_window->hotspot(wait_window);
+    { Fl_Slider* o = wait_slider = new Fl_Slider(10, 25, 205, 25, "Scanning 
...");
+      wait_slider->type(3);
+      wait_slider->color((Fl_Color)12);
+      wait_slider->selection_color(FL_DARK1);
+      wait_slider->align(Fl_Align(FL_ALIGN_TOP_LEFT));
+      Fl_Group::current()->resizable(wait_slider);
       o->set_output();
-    }
+    } // Fl_Slider* wait_slider
     { Fl_Button* o = new Fl_Button(70, 60, 80, 25, "Cancel");
       o->shortcut(0xff1b);
       o->callback((Fl_Callback*)cancel_cb);
-    }
-    o->set_modal();
-    o->end();
-  }
-  return w;
+    } // Fl_Button* o
+    wait_window->set_modal();
+    wait_window->end();
+  } // Fl_Double_Window* wait_window
+  return wait_window;
 }
 
-Fl_Window *print_panel=(Fl_Window *)0;
+Fl_Double_Window *print_panel=(Fl_Double_Window *)0;
 
 Fl_Input *print_command_input=(Fl_Input *)0;
 
@@ -108,66 +104,65 @@
   o->window()->hide();
 }
 
-Fl_Window* make_print_panel() {
-  Fl_Window* w;
-  { Fl_Window* o = print_panel = new Fl_Window(345, 173, "Print");
-    w = o;
-    w->hotspot(o);
+Fl_Double_Window* make_print_panel() {
+  { print_panel = new Fl_Double_Window(345, 173, "Print");
+    print_panel->hotspot(print_panel);
     { Fl_Box* o = new Fl_Box(10, 5, 85, 25, "Print to:");
       o->labelfont(1);
       o->labelsize(18);
-      o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
-    }
+      o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
+    } // Fl_Box* o
     { Fl_Light_Button* o = new Fl_Light_Button(10, 35, 75, 25, "printer");
       o->type(102);
       o->value(1);
-    }
+    } // Fl_Light_Button* o
     { Fl_Input* o = print_command_input = new Fl_Input(85, 35, 250, 25);
       o->value("lpr");
-    }
-    { Fl_Light_Button* o = print_file_button = new Fl_Light_Button(10, 65, 75, 
25, "file");
-      o->type(102);
-    }
+    } // Fl_Input* print_command_input
+    { print_file_button = new Fl_Light_Button(10, 65, 75, 25, "file");
+      print_file_button->type(102);
+    } // Fl_Light_Button* print_file_button
     { Fl_Input* o = print_file_input = new Fl_Input(85, 65, 215, 25);
       o->value("xdiskusage.ps");
-    }
+    } // Fl_Input* print_file_input
     { Fl_Button* o = new Fl_Button(300, 65, 36, 25, "browser");
       o->labelsize(8);
       o->callback((Fl_Callback*)cb_browser1);
-    }
+    } // Fl_Button* o
     { Fl_Group* o = new Fl_Group(10, 90, 325, 35);
-      o->align(FL_ALIGN_LEFT);
-      { Fl_Check_Button* o = print_portrait_button = new Fl_Check_Button(10, 
90, 80, 25, "portrait");
-        o->type(102);
-        o->down_box(FL_DIAMOND_DOWN_BOX);
-        o->value(1);
-      }
+      o->align(Fl_Align(FL_ALIGN_LEFT));
+      { print_portrait_button = new Fl_Check_Button(10, 90, 80, 25, 
"portrait");
+        print_portrait_button->type(102);
+        print_portrait_button->down_box(FL_DIAMOND_DOWN_BOX);
+        print_portrait_button->value(1);
+      } // Fl_Check_Button* print_portrait_button
       { Fl_Check_Button* o = new Fl_Check_Button(90, 90, 100, 25, "landscape");
         o->type(102);
         o->down_box(FL_DIAMOND_DOWN_BOX);
-      }
+      } // Fl_Check_Button* o
       o->end();
-    }
+    } // Fl_Group* o
     { Fl_Group* o = new Fl_Group(10, 110, 330, 45);
-      o->align(FL_ALIGN_LEFT);
-      { Fl_Check_Button* o = fill_page_button = new Fl_Check_Button(10, 115, 
150, 25, "reshape to fill page");
-        o->type(102);
-        o->down_box(FL_DIAMOND_DOWN_BOX);
-        o->value(1);
-      }
+      o->align(Fl_Align(FL_ALIGN_LEFT));
+      { fill_page_button = new Fl_Check_Button(10, 115, 150, 25, "reshape to 
fill page");
+        fill_page_button->type(102);
+        fill_page_button->down_box(FL_DIAMOND_DOWN_BOX);
+        fill_page_button->value(1);
+      } // Fl_Check_Button* fill_page_button
       { Fl_Check_Button* o = new Fl_Check_Button(160, 115, 175, 25, "same 
shape as window");
         o->type(102);
         o->down_box(FL_DIAMOND_DOWN_BOX);
-      }
+      } // Fl_Check_Button* o
       o->end();
-    }
-    print_ok_button = new Fl_Return_Button(175, 140, 75, 25, "OK");
+    } // Fl_Group* o
+    { print_ok_button = new Fl_Return_Button(175, 140, 75, 25, "OK");
+    } // Fl_Return_Button* print_ok_button
     { Fl_Button* o = new Fl_Button(260, 140, 75, 25, "Cancel");
       o->shortcut(0xff1b);
       o->callback((Fl_Callback*)cb_Cancel);
-    }
-    o->set_modal();
-    o->end();
-  }
-  return w;
+    } // Fl_Button* o
+    print_panel->set_modal();
+    print_panel->end();
+  } // Fl_Double_Window* print_panel
+  return print_panel;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/panels.H new/xdiskusage-1.51/panels.H
--- old/xdiskusage-1.48.1/panels.H      2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/panels.H        2014-11-18 04:10:54.000000000 +0100
@@ -1,10 +1,10 @@
-// generated by Fast Light User Interface Designer (fluid) version 1.0011
+// generated by Fast Light User Interface Designer (fluid) version 1.0300
 
 #ifndef panels_H
 #define panels_H
 #include <FL/Fl.H>
-#include <FL/Fl_Window.H>
-extern Fl_Window *disk_chooser;
+#include <FL/Fl_Double_Window.H>
+extern Fl_Double_Window *disk_chooser;
 #include <FL/Fl_Button.H>
 extern void reload_cb(Fl_Button*, void*);
 extern void copyright_cb(Fl_Button*, void*);
@@ -17,13 +17,13 @@
 #include <FL/Fl_File_Chooser.H>
 #include <FL/Fl_Check_Button.H>
 extern Fl_Check_Button *all_files_button;
-Fl_Window* make_diskchooser();
-extern Fl_Window *wait_window;
+Fl_Double_Window* make_diskchooser();
+extern Fl_Double_Window *wait_window;
 #include <FL/Fl_Slider.H>
 extern Fl_Slider *wait_slider;
 extern void cancel_cb(Fl_Button*, void*);
-Fl_Window* make_wait_window();
-extern Fl_Window *print_panel;
+Fl_Double_Window* make_wait_window();
+extern Fl_Double_Window *print_panel;
 #include <FL/Fl_Box.H>
 #include <FL/Fl_Light_Button.H>
 extern Fl_Input *print_command_input;
@@ -34,5 +34,5 @@
 extern Fl_Check_Button *fill_page_button;
 #include <FL/Fl_Return_Button.H>
 extern Fl_Return_Button *print_ok_button;
-Fl_Window* make_print_panel();
+Fl_Double_Window* make_print_panel();
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/panels.fl new/xdiskusage-1.51/panels.fl
--- old/xdiskusage-1.48.1/panels.fl     2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/panels.fl       2014-11-18 04:10:54.000000000 +0100
@@ -12,7 +12,7 @@
     xywh {192 212 404 252} resizable visible
   } {
     Fl_Button {} {
-      label reload
+      label Reload
       callback reload_cb
       xywh {290 10 65 20}
     }
@@ -22,32 +22,32 @@
       xywh {365 10 25 20} labelsize 18
     }
     Fl_Browser disk_browser {
-      label {Pick a disk:}
+      label {Select a file system:}
       callback disk_browser_cb
       xywh {15 30 375 150} type Hold align 5 resizable
       code0 {static int widths[] = {200,0};}
       code1 {o->column_widths(widths);}
     }
     Fl_Input disk_input {
-      label {Or type pathname in and hit Enter:}
+      label {[OR] Enter a full path:}
       callback disk_input_cb
       xywh {15 200 335 25} align 5 when 10
       code0 {o->value("/");}
     }
     Fl_Button {} {
       label browser
-      callback {const char* c = fl_file_chooser("Directory:", 0, 
disk_input->value());
+      callback {const char* c = fl_file_chooser("Folder", "*/", 
disk_input->value());
 if (c) disk_input->value(c);}
       xywh {350 200 40 25} labelsize 8
       code0 {\#include <FL/Fl_File_Chooser.H>}
     }
     Fl_Check_Button {} {
-      label {measure directories only}
-      xywh {15 225 185 25} type Radio down_box DIAMOND_DOWN_BOX value 1
+      label {Measure folders only}
+      xywh {15 225 185 25} type Radio down_box DIAMOND_DOWN_BOX
     }
     Fl_Check_Button all_files_button {
-      label {measure all files} selected
-      xywh {190 225 145 25} type Radio down_box DIAMOND_DOWN_BOX
+      label {Measure every file} selected
+      xywh {190 225 145 25} type Radio down_box DIAMOND_DOWN_BOX value 1
     }
   }
 } 
@@ -58,7 +58,7 @@
     xywh {362 558 229 100} resizable hotspot modal visible
   } {
     Fl_Slider wait_slider {
-      label {Reading disk:}
+      label {Scanning ...}
       xywh {10 25 205 25} type {Horz Fill} color 12 selection_color 47 align 5 
resizable
       code0 {o->set_output();}
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/xdiskusage.1 new/xdiskusage-1.51/xdiskusage.1
--- old/xdiskusage-1.48.1/xdiskusage.1  2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/xdiskusage.1    2014-11-20 01:51:56.000000000 +0100
@@ -1,5 +1,5 @@
 .\"Man page for xdiskusage, by Bill Spitzak.
-.TH xdiskusage 1 "4 Sep 2003"
+.TH xdiskusage 1 "4 Sep 2014"
 .SH NAME
 \fIxdiskusage\fR - Graphical display of disk usage
 .SH SYNOPSIS
@@ -164,7 +164,7 @@
 
 .SH COPYRIGHT
 
-Copyright (C) 2003 Bill Spitzak
+Copyright (C) 2014 Bill Spitzak
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -178,9 +178,9 @@
 
 You should have received a copy of the GNU General Public License
 along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
 USA.
 
 .SH AUTHORS
 
-Written by Bill Spitzak                spitzak at dee two dot com
+Written by Bill Spitzak                spitzak at gee m ail dotcom
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/xdiskusage.C new/xdiskusage-1.51/xdiskusage.C
--- old/xdiskusage-1.48.1/xdiskusage.C  2009-12-02 11:41:48.000000000 +0100
+++ new/xdiskusage-1.51/xdiskusage.C    2015-02-10 00:29:18.000000000 +0100
@@ -1,8 +1,8 @@
 // xdiskusage.C
 
 const char* copyright = 
-"xdiskusage version 1.48\n"
-"Copyright (C) 2004 Bill Spitzak\n"
+"xdiskusage version 1.51\n"
+"Copyright (C) 2014 Bill Spitzak\n"
 "Based on xdu by Phillip C. Dykstra\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify "
@@ -17,7 +17,7 @@
 "\n"
 "You should have received a copy of the GNU General Public License "
 "along with this software; if not, write to the Free Software "
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 "
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 "
 "USA.";
 
 #if defined(DF_COMMAND)
@@ -32,7 +32,7 @@
 # define DF_COMMAND "/bin/df -k"
 # define DU_COMMAND "/bin/du -kd"
 #else // linux and irix
-# define DF_COMMAND "df -k"
+# define DF_COMMAND "df -k -x usbfs -x tmpfs"
 # define DU_COMMAND "du -kx"
 #endif
 
@@ -55,11 +55,17 @@
 
 // turn number of K into user-friendly text:
 const char* formatk(ull k) {
-  static char buffer[10];
-  if (k >= 1024*1024*1024) sprintf(buffer,"%.4gT",(double)k/(1024*1024*1024));
-  else if (k >= 1024*1024) sprintf(buffer,"%.4gG",(double)k/(1024*1024));
-  else if (k >= 1024) sprintf(buffer,"%.4gM",(double)k/1024);
-  else sprintf(buffer,"%.0fK",(double)k);
+  static char buffer[32];
+  int index = 0;
+  double dk = k;
+  while (dk >= 1024.0) {
+    index++;
+    dk /= 1024.0;
+  }
+  if (index)
+    sprintf(buffer, "%.4g%c", dk, "KMGTPEZY"[index]);
+  else
+    sprintf(buffer, "%dK", (int)k);
   return buffer;
 }
 
@@ -73,13 +79,34 @@
 };
 
 Disk* firstdisk;
+int quiet;
+
+void alert(const char* message)
+{ if (quiet) fprintf(stderr, "%s\n", message);
+  else fl_alert("%s", message);
+}
+
+void alert(const char* fmt, const char* s1)
+{ if (quiet) {fprintf(stderr, fmt, s1); fputc('\n', stderr);}
+  else fl_alert(fmt, s1);
+}
+
+void alert(const char* fmt, const char* s1, const char* s2)
+{ if (quiet) {fprintf(stderr, fmt, s1, s2); fputc('\n', stderr);}
+  else fl_alert(fmt, s1, s2);
+}
+
+void alert(const char* fmt, const char* s1, unsigned n, const char* s2)
+{ if (quiet) {fprintf(stderr, fmt, s1, n, s2); fputc('\n', stderr);}
+  else fl_alert(fmt, s1, n, s2);
+}
 
 // Run 'df' and create a list of Disk structures, fill in browser:
 void reload_cb(Fl_Button*, void*) {
   FILE* f = popen(DF_COMMAND, "r");
   if (!f) {
-    fprintf(stderr,"Can't run df, %s\n", strerror(errno));
-    exit(1);
+    alert("Can't run df, %s\n", strerror(errno));
+    return;
   }
   Disk** pointer = &firstdisk;
   for (;;) {
@@ -102,8 +129,8 @@
     Disk* d = new Disk;
     d->mount = strdup(word[n-1]);
     d->total = strtoul(word[n-5],0,10);
-    d->used=strtoul(word[n-4],0,10);
-    d->avail=strtoul(word[n-3],0,10);
+    d->used  = strtoul(word[n-4],0,10);
+    d->avail = strtoul(word[n-3],0,10);
     *pointer = d;
     d->next = 0;
     pointer = &d->next;
@@ -111,11 +138,16 @@
   pclose(f);
 
   if (!firstdisk) {
-    fl_alert("Something went wrong with df, no disks found.");
-  } else {
-    disk_browser->clear();
+    alert("Something went wrong with df, no disks found.");
+    return; // leave browser as-is
   }
 
+  // There is no browser widget if a file was given on the command line
+  if (!disk_browser)
+    return;
+
+  disk_browser->clear();
+
   for (Disk* d = firstdisk; d; d = d->next) {
     char buf[512];
     int pct;
@@ -126,16 +158,22 @@
       pct = int((d->used*100.0)/sum+.5);
       if (!pct && d->used) pct = 1;
     }
-#if FL_MAJOR_VERSION > 1
-    static const char* labels[] = {"mounted at", "size", "usage", 0};
-    static int widths[] = {-1, 50, 50, 0};
+    const char* mount = d->mount;
+    if (strlen(mount) > 255) mount = d->mount + strlen(mount) - 255;
+#if FL_MAJOR_VERSION > 1 || FL_MINOR_VERSION >= 3
+    static int widths[] = {0, 0, 0};
     if (d==firstdisk) {
+      if (widths[0] == 0) {
+        int n = disk_browser->textsize();
+        fl_font(disk_browser->textfont(), n);
+        widths[0] = fl_width("2.222Mn");
+        widths[1] = fl_width("00% n");
+      }
       disk_browser->column_widths(widths);
-      disk_browser->column_labels(labels);
     }
-    sprintf(buf, "@b;%s\t@n@r;%s\t@r;%2d%% \t", d->mount, formatk(d->total), 
pct);
+    sprintf(buf, "@r%s\t@r%d%% \t@b%s", formatk(d->total), pct, d->mount);
 #else
-    sprintf(buf, "@b%s\t@r%s %2d%%", d->mount, formatk(d->total), pct);
+    sprintf(buf, "%s  %02d%%  %s", formatk(d->total), pct, d->mount);
 #endif
     disk_browser->add(buf);
   }
@@ -148,9 +186,9 @@
 Fl_Window *copyright_window;
 void copyright_cb(Fl_Button*, void*) {
   if (!copyright_window) {
-    copyright_window = new Fl_Window(400,270,"about xdiskusage");
+    copyright_window = new Fl_Window(400,360,"About xdiskusage");
     copyright_window->color(FL_WHITE);
-    Fl_Box *b = new Fl_Box(10,0,380,270,copyright);
+    Fl_Box *b = new Fl_Box(10,0,380,360,copyright);
 #ifdef FL_NORMAL_SIZE
     b->labelsize(12);
 #endif
@@ -214,18 +252,25 @@
   static void print_cb(Fl_Widget* o, void*);
   static Node* sort(Node* n, int (*compare)(const Node*, const Node*));
   static OutputWindow* make(const char*, Disk* = 0);
+  static void print_file(OutputWindow* d, FILE *f, bool portrait, bool fill);
   ~OutputWindow();
 };
 
-int all_files, quiet;
+int all_files;
+char *outfile;
 int arg_cb(int, char **argv, int &i) {
   const char *s = argv[i];
   if (!s) return 0;
   if (*s != '-') return 0;
+  if (!s[1]) return 0; // plain "-" for pipe
   for (s++; *s; s++) {
     if (*s == 'a') all_files = 1;
     else if (*s == 'q') quiet = 1;
-    else return 0;
+    else if (*s == 'o' && argv[i+1]) { 
+     outfile = strdup(argv[i+1]);
+     i++;
+     quiet = 1;
+    } else return 0;
   }
   i++;
   return 1;
@@ -240,7 +285,7 @@
   Fl::set_color(FL_SELECTION_COLOR,0,0,128);
 #endif
   // Parse and -x switches understood by fltk:
-  int n; Fl::args(argc,argv,n, arg_cb);
+  int n; Fl::args(argc, argv, n, arg_cb);
   // Any remaining words are files/directories:
   if (n < argc) {
     if (argv[n][0] == '-') {
@@ -249,23 +294,36 @@
 "xdiskusage            display browser of disks to run du on\n"
 "xdiskusage directory...       run du on each named directory\n"
 "xdiskusage file...    assume the file contains du output\n"
-"du ... | xdiskusage   pipe du output to xdiskusage\n"
-" -a   show all files\n"
-" -q   (quiet) don't show the progress slider\n"
+"du ... | xdiskusage - pipe du output to xdiskusage\n"
+" -a           show all files\n"
+" -o file      immediately send postscript output to <file> (- means stdout)\n"
+" -q           (quiet) don't show the progress slider\n"
 "%s\n"
 " -help\n", Fl::help);
        return 1;
+      } else {
+       // plain "-" indicates pipe
+       argv[n] = 0;
       }
     }
     while (n < argc) {
       OutputWindow* d = OutputWindow::make(argv[n++]);
-      if (d) d->show(argc,argv);
+      if (outfile) {
+        if (!d) return 1;
+        FILE *f;
+        if (strcmp(outfile,"-")==0)
+          f = stdout;
+        else
+          f = fopen(outfile, "w");
+        if (!f) {
+          perror("Cannot open output file");
+          return 1;
+        }
+        d->print_file(d, f, true, true);
+        return 0;
+      }
+      else if (d) d->show();
     }
-  } else if (!isatty(0) && (n=getc(stdin))>=0) {
-    ungetc(n,stdin);
-    // test for pipe, if so read stdin:
-    OutputWindow* d = OutputWindow::make(0);
-    if (d) d->show(argc,argv);
   } else {
     // normal gui:
     make_diskchooser();
@@ -278,11 +336,10 @@
 void disk_browser_cb(Fl_Browser*b, void*) {
   int i = b->value();
   //printf("disk browser cb %d\n", i);
-#if FL_MAJOR_VERSION > 1
-  if (i < 0) return;
-#else
+#if FL_MAJOR_VERSION < 2
   i--;
 #endif
+  if (i < 0) return;
   Disk* d;
   for (d = firstdisk; i > 0; i--) d = d->next;
   all_files = all_files_button->value();
@@ -345,23 +402,6 @@
   return n;
 }
 
-int menu_columns[] =
-{
-  0, /* Unused */
-  0, /* Unused */
-  0, /* Unused */
-  2,
-  3,
-  4,
-  5,
-  6,
-  7,
-  8,
-  9,
-  10,
-  11
-};
-  
 static Fl_Menu_Item menutable[] = {
   {"set root", '\r', OutputWindow::setroot_cb},
   {"in", FL_Right, OutputWindow::in_cb},
@@ -372,23 +412,23 @@
   {"hide", 'h', OutputWindow::hide_cb},
   {"unhide", FL_SHIFT|'H', OutputWindow::unhide_cb},
   {"sort", 0, 0, 0, FL_SUBMENU},
-    {"largest first", 's', OutputWindow::sort_cb, (void*)"s"},
-    {"smallest first", 'r', OutputWindow::sort_cb, (void*)"r"},
-    {"alphabetical", 'a', OutputWindow::sort_cb, (void*)"a"},
-    {"reverse alphabetical", 'z', OutputWindow::sort_cb, (void*)"z"},
-    {"unsorted", 'u', OutputWindow::sort_cb, (void*)"u"},
+    {"largest first", 's', OutputWindow::sort_cb, (void*)'s'},
+    {"smallest first", 'r', OutputWindow::sort_cb, (void*)'r'},
+    {"alphabetical", 'a', OutputWindow::sort_cb, (void*)'a'},
+    {"reverse alphabetical", 'z', OutputWindow::sort_cb, (void*)'z'},
+    {"unsorted", 'u', OutputWindow::sort_cb, (void*)'u'},
     {0},
   {"columns", 0, 0, 0, FL_SUBMENU},
-    {"2", '2', OutputWindow::columns_cb, &menu_columns[2]},
-    {"3", '3', OutputWindow::columns_cb, &menu_columns[3]},
-    {"4", '4', OutputWindow::columns_cb, &menu_columns[4]},
-    {"5", '5', OutputWindow::columns_cb, &menu_columns[5]},
-    {"6", '6', OutputWindow::columns_cb, &menu_columns[6]},
-    {"7", '7', OutputWindow::columns_cb, &menu_columns[7]},
-    {"8", '8', OutputWindow::columns_cb, &menu_columns[8]},
-    {"9", '9', OutputWindow::columns_cb, &menu_columns[9]},
-    {"10", '0', OutputWindow::columns_cb, &menu_columns[10]},
-    {"11", '1', OutputWindow::columns_cb, &menu_columns[11]},
+    {"2", '2', OutputWindow::columns_cb, (void*)2},
+    {"3", '3', OutputWindow::columns_cb, (void*)3},
+    {"4", '4', OutputWindow::columns_cb, (void*)4},
+    {"5", '5', OutputWindow::columns_cb, (void*)5},
+    {"6", '6', OutputWindow::columns_cb, (void*)6},
+    {"7", '7', OutputWindow::columns_cb, (void*)7},
+    {"8", '8', OutputWindow::columns_cb, (void*)8},
+    {"9", '9', OutputWindow::columns_cb, (void*)9},
+    {"10", '0', OutputWindow::columns_cb, (void*)10},
+    {"11", '1', OutputWindow::columns_cb, (void*)11},
     {0},
   {"copy to clipboard", 'c', OutputWindow::copy_cb},
   {"print", 'p', OutputWindow::print_cb},
@@ -405,7 +445,7 @@
 
   FILE* f;
   bool true_file;
-  char buffer[1024];
+  char buffer[2048];
   char pathbuf[1024];
 
   if (!path) {
@@ -421,8 +461,7 @@
        int j = readlink(pathbuf, p, 1024-(p-pathbuf));
        if (j < 0) {
          if (errno != EINVAL) {
-           strcat(pathbuf, ": no such file");
-           fl_alert(pathbuf);
+           alert("%s: no such file", pathbuf);
            return 0;
          }
          break;
@@ -431,19 +470,28 @@
        p[j] = 0;
        path = pathbuf;
       }
+      // See if the path we were given is really a mountpoint, in which case
+      // we can figure out freespace.
+      reload_cb(0,0);
+      for (Disk* d=firstdisk; d; d=d->next) {
+        if(strcmp(d->mount, path) == 0) {
+          disk = d;
+          break;
+        }
+      }
     }
     // First, determine if the path we're given is an actual file, and
     // not a directory.  If it is a file, assume it's the output from a
     // du command the user ran by hand.
     struct stat stbuf;
     if (stat(path, &stbuf) < 0) {
-      fl_alert("%s : %s", path, strerror(errno));
+      alert("%s : %s", path, strerror(errno));
       return 0;
     }
     true_file = S_ISREG(stbuf.st_mode);
     f = fopen(path, "r");
     if (!f) {
-      fl_alert("%s : %s", path, strerror(errno));
+      alert("%s : %s", path, strerror(errno));
       return 0;
     }
   }
@@ -460,26 +508,29 @@
       sprintf(buffer, "du -k%c \"%s\"", all_files ? 'a' : ' ', path);
     else
 #endif
-      sprintf(buffer, DU_COMMAND"%c \"%s\"", all_files ? 'a' : ' ', path);
+      snprintf(buffer, 2048,
+               DU_COMMAND"%c \"%s\"", all_files ? 'a' : ' ', path);
     
     f = popen(buffer,"r");
     if (!f) {
-      fl_alert("Problem running '%s' : %s", buffer, strerror(errno));
+      alert("Problem running '%s' : %s", buffer, strerror(errno));
       return 0;
     }
   }
 
-  if (!wait_window) make_wait_window();
-  wait_slider->type(disk ? FL_HOR_FILL_SLIDER : FL_HOR_SLIDER);
-  wait_slider->value(0.0);
+  if (!quiet) {
+    if (!wait_window) make_wait_window();
+    wait_slider->type(disk ? FL_HOR_FILL_SLIDER : FL_HOR_SLIDER);
+    wait_slider->value(0.0);
 #if FL_MAJOR_VERSION > 1
-  wait_slider->box(FL_DOWN_BOX);
-  wait_slider->color(0);
-  wait_slider->selection_color(12);
+    wait_slider->box(FL_DOWN_BOX);
+    wait_slider->color(0);
+    wait_slider->selection_color(12);
 #endif
-  if (!quiet && !(path && true_file)) {
-    wait_window->show();
-    while (wait_window->damage()) Fl::wait(.1);
+    if (!(path && true_file)) {
+      wait_window->show();
+      while (wait_window->damage()) Fl::wait(.1);
+    }
   }
 
   Node* root = new Node;
@@ -510,10 +561,10 @@
       return 0;
     }
 
-    // FIXME: don't limit line length to 1024
-    if (!fgets(buffer, 1024, f)) {
+    // FIXME: don't limit line length to 2048
+    if (!fgets(buffer, 2048, f)) {
       if (!runningtotal) {
-       fl_alert("%s:%d empty or bad file", path ? path : "stdin", 
(int)line_no);
+       alert("%s: empty or bad file", path ? path : "stdin");
        cancelled = 1;
        continue;
       }
@@ -521,21 +572,19 @@
     }
 
     // If the line was longer than the maximum, warn about it,
-    // and discard the rest of the line.
+    // and discard the line.
     size_t len = strlen (buffer);
-    if (buffer[len-1] != '\n')
-      {
-       fprintf (stderr, "%s:%d: line too long, skipping it\n",
-                path ? path : "stdin", (int)line_no);
-       // Read until end of line or EOF.
-       while (1)
-         {
-           char c = getc (f);
-           if (c == '\n' || c == EOF)
-             break;
-         }
-       continue;
+    if (buffer[len-1] != '\n') {
+      fprintf (stderr, "%s:%u: line too long, skipping it\n",
+               path ? path : "stdin", (unsigned)line_no);
+      // Read until end of line or EOF.
+      while (1) {
+        char c = getc (f);
+        if (c == '\n' || c == EOF)
+          break;
       }
+      continue;
+    }
 
     // null-terminate the line:
     char* p = buffer+len;
@@ -544,8 +593,8 @@
     ull size = strtoull(buffer, &p, 10);
     if (!isspace(*p) || p == buffer) {
       if (!*p || *p=='#') continue; // ignore blank lines or comments (?)
-      fl_alert("%s:%d: does not look like du output: %s",
-              path ? path : "stdin", (int)line_no, p);
+      alert("%s:%u: does not look like du output: %s",
+            path ? path : "stdin", (unsigned)line_no, p);
       cancelled = 1;
       continue;
     }
@@ -609,6 +658,7 @@
   } else {
     pclose(f);
   }
+  if (!quiet)
   wait_window->hide();
 
   // remove all the common roots that were not given sizes by du:
@@ -720,7 +770,7 @@
       fl_color(FL_WHITE);
       fl_rectf(X+1,Y+1,W-1,H-1);
       fl_color(FL_BLACK);
-      if (n->size*scale > 10) {
+      if (n->size*scale > 10 && n->name && n->name[0]) {
        char buffer[256];
 #if FL_MAJOR_VERSION > 1
        snprintf(buffer, 256, "%s%c%s", n->name,
@@ -734,15 +784,8 @@
        int i,j; for (i = j = 0; i < 254;) {
          unsigned char c = (unsigned char)(n->name[j++]);
          if (!c) break;
-         if ((((c < 32) || (c >= 127)) &&
-              (c < 0xA0)) ||
-             (c == 255)) {
-           c = '?';
-         }
-         buffer[i++] = c;
-         if ((c == '@') || (c == '&')) {
-           buffer[i++] = c;
-         }
+         if (c < 32 || c==255) c = '?';
+         buffer[i++] = c; if (c=='@' || c=='&') buffer[i++] = c;
        }
        snprintf(buffer+i, 256-i, "%c%s",
                 n->size*scale > 20 ? '\n' : ' ',
@@ -1030,7 +1073,7 @@
 void OutputWindow::sort_cb(Fl_Widget* o, void*v) {
   OutputWindow* d = (OutputWindow*)(o->window());
   int (*compare)(const Node*, const Node*);
-  switch (*((char *)v)) {
+  switch ((char)(long)v) {
   case 's': compare = largestfirst; break;
   case 'r': compare = smallestfirst; break;
   case 'a': compare = alphabetical; break;
@@ -1043,7 +1086,7 @@
 
 void OutputWindow::columns_cb(Fl_Widget* o, void*v) {
   OutputWindow* d = (OutputWindow*)(o->window());
-  int n = *(int*)v;
+  int n = (int)(long)v;
   ::ncols = n;
   if (n == d->ncols) return;
   if (d->current_depth > d->root_depth+n-1) {
@@ -1107,7 +1150,7 @@
 
 #if FL_MAJOR_VERSION > 1
 static void ok_cb(Fl_Widget* w, void*) {
-  w->window()->set_value();
+  w->window()->set();
   w->window()->hide();
 }
 #endif
@@ -1137,21 +1180,30 @@
   } else {
     f = popen(print_command_input->value(), "w");
   }
+  print_file(d, f, print_portrait_button->value(), fill_page_button->value());
+  if (print_file_button->value()) {
+    fclose(f);
+  } else {
+    pclose(f);
+  }
+}
+
+void OutputWindow::print_file(OutputWindow* d, FILE *f, bool portrait, bool 
fill) {
   if (!f) {
-    fl_alert("Can't open printer output stream");
+    alert("Can't open printer output stream");
     return;
   }
   fprintf(f, "%%!PS-Adobe-2.0\n");
   int W = 7*72+36;
   int H = 10*72;
-  if (!print_portrait_button->value()) {int t = W; W = H; H = t;}
+  if (!portrait) {int t = W; W = H; H = t;}
   int X = 0;
   int Y = 0;
-  if (!fill_page_button->value()) {
+  if (!fill) {
     if (d->w()*H > d->h()*W) {int t = d->h()*W/d->w(); Y = (H-t)/2; H = t;}
     else {int t = d->w()*H/d->h(); X = (W-t)/2; W = t;}
   }
-  if (print_portrait_button->value())
+  if (portrait)
     fprintf(f, "%%%%BoundingBox: 36 36 %d %d\n",36+X+W,36+Y+H);
   else
     fprintf(f, "%%%%BoundingBox: 36 36 %d %d\n",36+Y+H,36+X+W);
@@ -1160,18 +1212,13 @@
   fprintf(f, "/Helvetica findfont 10 scalefont setfont\n");
   fprintf(f, "/fitshow {gsave 1 index stringwidth pop div dup 1 lt {dup sqrt 
scale} {pop} ifelse show grestore} bind def\n");
   fprintf(f, "0 setlinewidth\n");
-  if (print_portrait_button->value())
+  if (portrait)
     fprintf(f, "%d %d translate\n", 36+X, 36+Y+H);
   else
     fprintf(f, "%d %d translate 90 rotate\n", 36+Y, 36+X);
   double scale = (double)H/d->current_root->size;
   d->print_tree(f, d->current_root, 0, 0, scale, 0, W, H);
   fprintf(f,"showpage\npagelevel restore\n%%%%EOF\n");
-  if (print_file_button->value()) {
-    fclose(f);
-  } else {
-    pclose(f);
-  }
 }
 
 // End of xdiskusage.C
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdiskusage-1.48.1/xdiskusage.spec new/xdiskusage-1.51/xdiskusage.spec
--- old/xdiskusage-1.48.1/xdiskusage.spec       2009-12-02 11:41:48.000000000 
+0100
+++ new/xdiskusage-1.51/xdiskusage.spec 2015-02-10 00:12:52.000000000 +0100
@@ -6,7 +6,7 @@
 
 Summary:    Grapically displays the amount of disks used for by each 
subdirectory.
 Name:       xdiskusage
-Version:    1.43
+Version:    1.51
 Release:    1
 Source0:    http://xdiskusage.sourceforge.net/%{name}-%{version}.tgz
 Copyright:  GPL

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to