inital import of the kde4 version of filelight

svn path=/trunk/playground/utils/filelight/; revision=920321
parent 50074106
Martin Sandsmark <sandsmark@samfundet.no>
Max Howell <max.howell@methylblue.com>
#######################################################################
# Copyright 2008-2009 Martin Sandsmark <sandsmark@samfundet.no>
#
# 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 the Free Software Foundation; either version 2 of
# the License or (at your option) version 3 or any later version
# accepted by the membership of KDE e.V. (or its successor approved
# by the membership of KDE e.V.), which shall act as a proxy
# defined in Section 14 of version 3 of the license.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#######################################################################
find_package(KDE4 REQUIRED)
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -fPIC)
include(KDE4Defaults)
include(MacroLibrary)
include_directories(src/ ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
add_subdirectory(src)
add_subdirectory(misc)
This diff is collapsed.
1.0.1
Added the Amarok crash-handler, which I wrote, in case you were wondering
Made the fixes suggested at http://www.englishbreakfastnetwork.org/
Deletes remove the segment deleted and re-render the map as expected rather than require a rescan, this wasn't trivial to do due to poor design on my part.. ;)
1.0
Added copy to clipboard function to segment context menus
Accepts URLs from drag and drop
......
Filelight INSTALL
===================
Simply:
$ ./configure && make && su -c "make install"
But, I recommend:
$ CXXFLAGS="-O3" ./configure --enable-final --disable-debug \
&& make && su -c "make install"
Troubleshooting
=================
Check you have the kde development packages installed, they'll be named
something like:
kde-devel
This should pull in a lot of other development packages (unless they are already
installed) like:
x11-devel
qt-devel
If you get stuck, please email me the config.log file with any information you
can provide. I will get back to you! Compile issues suck, I know this full well.
--------------------------------------------------------------------------------
I hope you enjoy using Filelight!
Max Howell <max.howell@methylblue.com>
Filelight INSTALL
===================
Simply:
$ mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
&& make && sudo make install
Troubleshooting
=================
Check you have the kde development packages installed, they'll be named
something like:
kde-devel
This should pull in a lot of other development packages (unless they are already
installed) like:
x11-devel
qt-devel
If you get stuck, please email me with any relevant information you can
provide. I will get back to you! Compile issues suck, I know this full well.
--------------------------------------------------------------------------------
We hope you enjoy using Filelight!
Martin Sandsmark <sandsmark@samfundet.no>
Max Howell <max.howell@methylblue.com>
AUTOMAKE_OPTIONS = foreign
SUBDIRS = src misc
messages: rc.cpp
$(EXTRACTRC) `find . -name "*.rc" -o -name "*.ui"` >> rc.cpp
LIST=`find src -name \*.h -o -name \*.cpp` ;\
if test -n "$$LIST"; then \
$(XGETTEXT) rc.cpp $$LIST -o $(podir)/filelight.pot; \
fi
......@@ -3,17 +3,17 @@
==================
Filelight allows you to understand exactly where your diskspace is being used by
graphically representing your file system as a set of concentric
graphically representating your filesystem as a set of concentric
segmented-rings.
README last updated with respect to 1.0
--------------------------------------------------------------------------------
Dependencies
==============
Filelight depends on KDElibs >= 3.2 and therefore Qt >= 3.2.
Filelight works on KDElibs >= 4.2 and therefore Qt >= 4.4 (lower versions may
work, but no guarantees).
Usage Tips
......@@ -26,14 +26,13 @@ Filelight depends on KDElibs >= 3.2 and therefore Qt >= 3.2.
* Increase the window size to see more detail
* Hover over segments to find out more information
* Available as a view-KPart in Konqueror
* You can specify a directory to scan on startup from the command line, for
example:
* You can specify a directory to scan on startup from the command line, eg:
$ filelight /home/mxcl
Install
=========
Installation
==============
See the accompanying file; INSTALL.
......@@ -41,10 +40,11 @@ See the accompanying file; INSTALL.
Bugs
======
There are less bugs everyday! Please report bugs to filelight@methylblue.com
There are less bugs everyday! Please report bugs to sandsmark@samfundet.no
--------------------------------------------------------------------------------
I hope you enjoy using Filelight!
We hope you enjoy using Filelight!
Martin Sandsmark <sandsmark@samfundet.no>
Max Howell <max.howell@methylblue.com>
......@@ -22,15 +22,6 @@
support other mouse actions for central circle (ie middle click, right click)
write caches for all scans, so if crash or something that root scan that took 20 mins is not lost
1.0.1
Check we are reporting same sizes as du, --> get du source code
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230849
Make first run for users at summary screen explain what is going on
* more click targets for showing that partition
* non intrusive help message of some kind
* explain why we look like a browser
Verify the part version is new enough
MAYBE
flicking mouse wheel shows different information in tooltip, and there's an off setting, show temp status message to reflect info box
ideally, eventually show which labels are children of which by grouping them with a coloured square or something
......
# -*-shell-script-*-
[Meta]
RootName: @methylblue.com/filelight:$SOFTWAREVERSION
DisplayName: Filelight
ShortName: filelight
Maintainer: Max Howell <max.howell@filelight.com>
Packager: Max Howell <max.howell@filelight.com>
Summary: Graphical disk-usage information
URL: http://www.methyblue.com/filelight/
License: GNU General Public License, Version 2
SoftwareVersion: 1.0.1
AutopackageTarget: 1.2
# Only uncomment InterfaceVersion if your package exposes interfaces to other software,
# for instance if it includes DSOs or python/perl modules. See the developer guide for more info,
# or ask on autopackage-dev if you don't understand interface versioning in autopackage.
#
# InterfaceVersion: 0.0
[Prepare]
requireAtLeast @kde.org/kdelibs:3.2
[Description]
Filelight allows you to understand exactly where your diskspace is being used by graphically
representating your filesystem as a set of concentric, segmented-rings.
[BuildPrepare]
echo "Do not build with unsermake! You must rebuild the Makefiles thus:"
echo " $ UNSERMAKE=no make -f Makefile.cvs"
echo
prepareBuild() --enable-final --disable-debug --without-arts
[BuildUnprepare]
unprepareBuild()
[Imports]
cd filelight
echo '*' | import
[Install]
PREFIX=getKdePrefix
# Put your installation script here
installExe bin/*
installLib lib/kde3/*
installDesktop share/applications/kde/filelight.desktop
installIcon share/icons/crystalsvg
installConfig share/config/filelightrc
copyFiles filelightui.rc filelight_partui.rc $PREFIX/share/apps/filelight/
[Uninstall]
# Usually just the following line is enough to uninstall everything
uninstallFromLog
KDE_DOCS = filelight
KDE_LANG = en
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&filelight;">
<!ENTITY filelight "<application>Filelight</application>">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE"><!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>The &filelight; Handbook</title>
<authorgroup>
<author>
<firstname>Max</firstname>
<surname>Howell</surname>
<affiliation><address><email>max.howell@methylblue.com</email></address></affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright><year>2006</year><holder>Max Howell</holder></copyright>
<!-- Translators: put here the copyright notice of the translation -->
<legalnotice>&FDLNotice;</legalnotice>
<date>14/09/2006</date>
<releaseinfo>3</releaseinfo>
<abstract><para>&filelight; creates an interactive map of concentric segmented-rings that helps visualise disk usage on your computer.</para></abstract>
<!-- These may be used by search engines -->
<keywordset>
<keyword>KDE</keyword>
<keyword>Filelight</keyword>
<keyword>du</keyword>
<keyword>disk usage</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<screenshot>
<screeninfo>&filelight; 1.0 Screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="radial_map.png" format="PNG"/></imageobject>
<textobject><phrase>Screenshot</phrase></textobject>
</mediaobject>
</screenshot>
<para>&filelight; allows you to quickly understand exactly where your diskspace is being used by graphically representing your file system as a set of concentric segmented-rings. You can use it to locate hotspots of disk usage and then manipulate those areas using &konqueror;.</para>
</chapter>
<chapter id="configuring">
<title>Configuring &filelight;</title>
<para>The &filelight; settings dialog has two tabs for configuring the &filelight; options. The two tabs are <guimenuitem>Scanning</guimenuitem> and <guimenuitem>Appearance</guimenuitem>. Below is a description of the settings tabs. The &filelight; settings dialog can be found by clicking <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure Filelight</guimenuitem></menuchoice>.</para>
<sect1 id="scanning">
<title>Scanning</title>
<screenshot>
<screeninfo>Scanning Screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
<textobject><phrase>Screenshot</phrase></textobject>
</mediaobject>
</screenshot>
<para>The scanning tab allows you to configure how &filelight; scans folders. The <guimenuitem> Don't scan these folders:</guimenuitem> is used to excluded certain folders from your scan. This option is very useful for skipping folders that you may not have permissions to read, or folders that are part of a virtual filesystem, such as /proc. To add a folder to the list, click the <guibutton>Add...</guibutton> button, this will start a dialog where you can choose the folder of your choice from a tree view. To remove a folder simply select the folder of your choice and click the <guibutton>Remove</guibutton> button.</para>
</sect1>
<sect1 id="appearance">
<title>Appearance</title>
<screenshot>
<screeninfo>Appearance Screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
<textobject><phrase>Screenshot</phrase></textobject>
</mediaobject>
</screenshot>
<para>The <guimenuitem>Appearance</guimenuitem> tab allows you to configure the way &filelight; looks.</para>
<para>The <guimenuitem>Scheme</guimenuitem> section is used to choose a color scheme for &filelight;. The color schemes are Rainbow, &kde; Colours, and High Contrast. There is also a <guimenuitem>Contrast:</guimenuitem> slider to adjust the contrast of the ring segments for easier viewing.</para>
<para>The <guimenuitem>Use anti-aliasing</guimenuitem> check box is used to enable the use of anti-aliasing in the &filelight; view. Selected, this option makes the ring segments have a much cleaner look.</para>
<para>The <guimenuitem>Vary label font sizes</guimenuitem> check box is useful when you have files or folders with long names. This option will change the size of the font to allow it to fit in the view better. When this option is enabled a <guimenuitem>Minimum font size:</guimenuitem> spinbox becomes available for choosing the smallest size font to scale to.</para>
<para>The <guimenuitem>Show small files</guimenuitem> option is disabled by default as small files tend to clutter the &filelight; view. Enable this option if you would like to have your small files included in the &filelight; view.</para>
</sect1>
</chapter>
<chapter id="using">
<title>Using &filelight;</title>
<sect1 id="starting">
<title>Starting &filelight;</title>
<para>&filelight; can be started from the K-Menu, or from the command-line</para>
<sect2 id="starting-from-the-menu">
<title>From the K-Menu</title>
<para>
Open the &kde; program menu by clicking on the
<guiicon>big K</guiicon> icon on your
panel. This will raise the <guimenu>program menu</guimenu>. Move your
cursor up the menu to the <guimenu>Utilities</guimenu> menu item. Choose
<guimenuitem>&filelight;</guimenuitem>.
</para>
</sect2>
<sect2 id="starting-from-the-command-line">
<title>From the Command Line</title>
<para>
You can start &filelight; by typing its name on the command line.
If you give it a folder name, as in the example below, it will scan that folder.
</para>
<informalexample>
<screen>
<prompt>%</prompt><userinput><command>filelight</command> <option><replaceable>/home</replaceable></option></userinput>
</screen>
</informalexample>
</sect2>
</sect1>
<sect1 id="scanning-folders">
<title>Scanning folders</title>
<para>
Scanning a folder shows it's contents as a filemap. To scan a folder, use the scan menu, or type a url straight into the location bar.
</para>
</sect1>
<sect1 id="exploring-filemaps">
<title>Exploring Filemaps</title>
<para>
Once a scan has completed you will be presented with a filemap that represents the folder you scanned. The filemap is a series of segmented-rings that expand from the center. Brightly coloured segments are folders, grey segments are files. Segments are sized in proportion to their filesize. Segments can be nested, so for example, /home/mxcl will be one level outwards and within the bounds of the segment representing /home. Segments are labeled and hovering the mouse over segments will give you more details of that segment and its child segments.
</para>
<screenshot>
<screeninfo>Filemap Screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="radial_map.png" format="PNG"/></imageobject>
<textobject><phrase>Screenshot</phrase></textobject>
</mediaobject>
</screenshot>
<para>
You can open folders with &konqueror; or &konsole; using the context menu for that segment. Middle clicks open files by mimetype, so images with Kuickshow. You can right click the central circle to get a context menu for the scanned folder. Left clicking segments will re-center the map on that segment.
</para>
<para>
If you want to improve the documentation, I'll happily accept patches :) Thanks.
</para>
</sect1>
</chapter>
<chapter id="commands">
<title>Menu and Command Reference</title>
<sect1 id="scan_menu">
<title>The Scan Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>o</keycap></keycombo>
</shortcut>
<guimenu>Scan</guimenu>
<guimenuitem>Scan folder..</guimenuitem>
</menuchoice></term>
<listitem><para><action>Offers a folder selection dialog so you can choose a folder to scan.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>Home</keycap></keycombo>
</shortcut>
<guimenu>Scan</guimenu>
<guimenuitem>Scan Home folder</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts a scan of the user's home folder.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Scan</guimenu>
<guimenuitem>Scan Root folder</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts a scan of the root folder.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Scan</guimenu>
<guimenuitem>Recent Scans</guimenuitem>
</menuchoice></term>
<listitem><para><action>Provides a list of your most recent scanned folders allowing quick access to these folders.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycap>F5</keycap>
</shortcut>
<guimenu>Scan</guimenu>
<guimenuitem>Rescan</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts a new scan of the current working folder, this is useful when changes have been made to the filesystem.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycap>Esc</keycap>
</shortcut>
<guimenu>Scan</guimenu>
<guimenuitem>Stop</guimenuitem>
</menuchoice></term>
<listitem><para><action>Stops the current scan.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>q</keycap></keycombo>
</shortcut>
<guimenu>Scan</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Quits &filelight;.</action></para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="go_menu">
<title>The Go Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Alt</keycap><keycap>Up</keycap></keycombo>
</shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Up</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves you up once in the filesystem.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Alt</keycap><keycap>Left</keycap></keycombo>
</shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Back</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves you one step back in your browsing of the filesystem.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Alt</keycap><keycap>Right</keycap></keycombo>
</shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Forward</guimenuitem>
</menuchoice></term>
<listitem><para><action>Moves you one step forward in your browsing of the filesystem.</action></para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="settings_menu">
<title>The Settings Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guisubmenu>Toolbars</guisubmenu>
<guimenuitem>Show Main Toolbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Enables or disable the main application toolbar.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guisubmenu>Toolbars</guisubmenu>
<guimenuitem>Show Location Toolbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Enables or disable the location toolbar.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Allows you to configure the &filelight; shortcuts.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Allows you to configure the &filelight; toolbar options.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Filelight...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts the Configure &filelight; dialog.</action></para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="help_menu">
<title>The Help Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>Filelight Handbook</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens this help document.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo><keycap>Shift</keycap><keycap>F1</keycap></keycombo>
</shortcut>
<guimenu>Help</guimenu>
<guimenuitem>What's This?</guimenuitem>
</menuchoice></term>
<listitem><para><action>Activates the "What's This?" mouse cursor allowing you to click an object to get a "What's this?" tooltip.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>Report Bug...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts the bug report tool dialog window.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>About Filelight</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts the About &filelight; dialog window.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>About KDE</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts the About &kde; dialog window.</action></para></listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<sect1 id="kapp">
<title>&filelight;</title>