Source Code File Search And Editing: The Depeche View Manual

Depeche View is a high speed text search and editor tool used primarily
to analyze thousands of source code files in realtime.

This is a copy of the help text contained within the tool.
It is recommended that you download the free Depeche View Lite or Pro Demo
to better understand what this help text is about.


Chapter 1: First Steps.

   running Depeche View from explorer
   creating a desktop icon
   running Depeche View from the Windows Command Prompt
   command line options short overview
   loading all text files from a directory tree
   loading filters: which files to load and which not
   loading by drag and drop from windows explorer
   Pro: archive file support
   Pro: how to load zip tar.gz and .tar.bz2 file contents
   switching to a larger display font

Chapter 2: How To Search A Word.

   search as you type
   stepping through search results
   editing the find mask
   clearing the find mask by INSERT key
   searching this help text using wildcards
   case insensitive search

Chapter 3: Basic Search Within Thousands Of Text Files.

   appending directory contents
   file to file jump
   goto start or end of all text files
   moving within a file
   moving horizontal
   surfing the text
   shift click search
   stepping through search results by the mouse wheel
   shift click phrase search

Chapter 4: Copying Text To Clipboard.

   copying a phrase within the same line
   copying a block from start line to end line
   instant copy a single line to clipboard
   copying the lines of the current screen to clipboard
   copying all lines of the active text file to clipboard
   copying the clipboard text into the find mask
   insert clipboard text within the find mask
   how to step through files while copying text

Chapter 5: Multi Window Text Operations.

   one click window creation
   closing a window, or leaving the tool
   one click opposite view activation
   one click own window activation
   one click window resize
   window frame modes
   shift click nearby search
   shift click nearby phrase search
   full screen toggling
   master frame maximize
   swapping view contents
   extended views creation
   instant view rearrangement
   horizontal tiling
   viewing help links in a different window

Chapter 6: Bookmark Basics.

   bookmark creation by phrase selection
   changing bookmark indentation
   rearranging bookmarks
   deleting bookmarks
   jumping to a bookmark in another view
   changing the displayed bookmarks width
   bookmark display in non-fullscreen mode
   saving bookmarks, bookmark filename
   changing the bookmark files location
   Pro: using multiple bookmark sets
   showing and hiding the bookmarks

Chapter 7: Advanced Search Within Many Text Files.

   using the path mask
   clearing the path mask
   further ways of editing the find or path mask
   combined search expressions
   logical operators for the search text
   Pro: searching TAB separated data columns of database exports
   escaping search operators
   disabling the search word sequence checking
   logical operators for the path
   one click search
   pros and cons of one click search
   narrowing the path mask
   reducing the path mask by a directory
   goto text line number
   goto filename and line number location
   Pro: compiler integration example
   punctuation insensitive search
   accent insensitive search
   graying out unselected file contents
   find mask auto reset on inactivity
   Pro: find mask auto suggest

Chapter 8: Filtered Views.

   filtered view creation
   filtered view line picking
   disable filename listings in a filtered view
   creating a list of all loaded or selected files
   copying a filtered view result to clipboard
   searching words or phrases in a filtered view
   searching words or phrases picked from a filtered view in another view
   autofilter for power users
   filtering the help for subjects

Chapter 9: Pro: The Integrated Text Editor.

   entering text edit mode
   leaving text edit mode
   one click text editing
   double click text edit save and exit
   search and replace within the text editor
   repeat edit: interactive search and replace
   repeat edit: insert word within line
   repeat edit: delete a word multiple times
   repeat edit: append word at end of line
   repeat edit limitations
   editor: cross copy words or lines between multiple views
   editor: cross move text blocks between multiple views
   editor: auto insert nearby words or text lines
   editor: saving with DOS (CRLF) or unix (LF) line endings
   editor: inserting TAB chars or spaces when pressing TAB
   internal text editor general limitations

Chapter 10: Pro: Painting In Text With Colorful Markers.

   highlighting words
   unhighlighting words
   highlighting character precise phrases
   word highlight case sensitivity

Chapter 11: Advanced Bookmarking.

   mixed display of text and bookmarks
   creating bookmark remarks
   creating an empty bookmark remark line
   changing an existing remark
   the mousebookdelay
   using a bookmark's search context
   jumping into a bookmark's path context
   exporting and importing bookmarks via clipboard
   searching the bookmarks, not the text

Chapter 12: The Message Log.


Chapter 13: Combining DView With An External Text Editor.

   how to jump from dview into your favourite editor
   how to jump from your favourite editor into dview
   Pro: auto reload of changed files
   Pro: optimizing and skipping of auto reload
   skip autoreload manually
   skip autoreload by file size
   limit autoreload to directory names

Chapter 14: Defining A Workspace.

   how to load only specific file types
   file loading filters and options dialog
   all command line options
   command line file selection examples
   defining filesets
   using workspace definitions from the command line
   using workspace definitions when starting by icon
   bookmark filename definition with filesets
   using plain filename lists
   loading text extracts from binary files
   loading hidden and system files
   excluding subdirectory contents during load

Chapter 15: The Configuration File.

   creating a configuration file
   automatic configuration storage
   disabling automatic configuration file save
   automatic extension of existing configurations
   non-automatic configuration entries
   editing an existing configuration file
   config creation and edit errors
   Pro: running self-defined commands on hotkeys
   Pro: running own scripts with the Razer Naga gaming mouse
   changing fonts
   loading or applying changes in the configuration file
   using alternative config files
   configuration by environment variables
   finding new config features in new dview versions

Chapter 16: Linux Specific Configuration.

   changing the PATH under Linux
   activating the ALT key under Linux

Chapter 17: The Easy Settings Button (No Panic Button).

   how to disable one click search and other stuff temporarily

Chapter 18: Tips and Tricks.

   getting more search results
   displaying TAB characters within the text
   select very large TAB sizes for better reading of CSV tables
   word wrapping
   how to search a combination of "30", "*" and "60"
   Pro: example for extending the syntax highlighting
   Pro: changing the syntax highlighting colors
   changing the display area size and location
   reducing load times through snapfiles
   special options
   optimizing the search delay after typing
   how to improve loading speed
   default load limit before DView asks back
   how to reduce memory use
   how to improve search speed
   how to improve text display speed
   registering Depeche View within windows explorer
   fine tuning the desktop icon
   optimizing the windows command prompt
   how to view an archive file from a web location
   testing extended mouse buttons
   testing the clipboard automation
   searching in .pdf and .xls files
   known issues and workarounds

Chapter 19: Function Reference and FAQ

   all functions, hotkeys and mouse moves overview
   frequently asked questions

Chapter 1: First Steps.

top

running Depeche View from explorer

top
Within Windows explorer,
-  double click on the dview.exe file,
   to start the tool without any loaded text.

-  OR drag+drop folders and files on to dview.exe
   to run the tool AND have those contents loaded immediately.

creating a desktop icon

top
make sure dview.exe is stored in a non-desktop location.
click on "setup" and then on "create desktop icon".
now you may drag+drop folders onto the created icon, just as in explorer.

running Depeche View from the Windows Command Prompt

top
Make sure dview.exe is located in a directory that is listed within
the PATH environment variable. then type "dview" and parameters.

formal syntax:

   dview [-options] singleDirectory fileNamePattern1 [pattern2 ...]
   dview -dir mydir1 mydir2 -file pattern1 pattern2

examples:
   
   dview mydir .cpp .hpp      - loads all .cpp and .hpp files from mydir,      
                                including all subdirectories.                  
   dview .                    - loads all TEXT files from the current dir.     
   dview -nosub .             - the same, but excluding subdirectories.        
      
   dview -dir mydir1 mydir2 -file .txt .doc -dir mydir3 -file !.bak            
      
        loads .txt and .doc files from mydir1 and mydir2, and loads all        
        files except .bak files from mydir3. note that .doc files are binary,  
        but by listing their extension explicitely, you force them to load.    
      
   dview . -all .doc .xls     - load all TEXT files, AND .doc .xls binaries.   

command line options short overview

top
Further options (to be specified directly after "dview"):                   

   -arc          dview Pro: load archive contents of .zip, .jar, .ear, .war,
                 .aar, .xpi, .tar, .gz, .bz2, .tar.gz, tar.bz2 and .tgz files.
                 when specifying a single archive file name on the command line
                 or in a file open dialog, -arc is assumed automatically.
   -allbin       also load all binary files (extracting text parts).
   -hidden       also load all HIDDEN or SYSTEM files (not default).
                 helpful if you need to search through configuration files,
                 for example of your web browser.
   -wrap[=n]     wrap long text lines at current screen width, or column n.
   -wrapbin=n    wrap text extracted from binary files at column n.
   
3.2. from the Linux Shell:

please type "wine dview -linux", and then read the Linux specific help.

loading all text files from a directory tree

top
Click on "open / load all text from a folder".
Then select a directory from which you want to load all text files.

NOTE: if you want to keep reading this help text, click on
      "open / append text from folder". This will append all
      loaded contents after this help text, making things easier.

All TEXT files from the selected directory, including all subdirectories,
will be loaded. TEXT means pure ASCII text, NOT MS Word .doc or other 
binary file formats.

loading filters: which files to load and which not

top
By default, "load all text from a folder" does exactly as it says,
it loads ALL text files found therein. But often this is too much.

If you click on "open" and then on "configure loading filters",
(or on the load options button right near "open")
you can define in detail what file extensions to include or exclude,
and what sub directory names to exclude.

For example:

   -  a filename filter ".cpp .hpp" will load ONLY .cpp and .hpp files.

   -  a filename filter "!.bak !.tmp" will load ALL files EXCEPT .bak
      and .tmp files.

   -  a sub directory filter "!\tmp !\save" will exclude all text files
      located in folders like "tmp", "tmp1", "save3" etc.

loading by drag and drop from windows explorer

top
You may drag and drop a folder, or multiple folders and files, 
from windows explorer into the DView window.

But think a moment: do you want to OPEN or APPEND those contents?

   -  if you press and hold the CONTROL key during drag+drop,
      the contents are APPENDED after existing content within DView.

   -  if you do NOT press any key during drag+drop, all existing text
      will be dropped from memory before the new contents are loaded.

If you have loaded some text, you may continue at how to search a word,
or read more below about changing the display font and how to load zip files.

Pro: archive file support

top
Depeche View Pro supports loading of archive file contents,
and even text from archives embedded in other archive files.

Depeche View recognizes archives with the following extensions:
.zip .jar .ear .war .aar .xpi .tar .gz .bz2 .tar.gz tar.bz2 .tgz

The following restrictions apply:

-  archive file contents must fit completely into memory.
   as a general rule, archives up to 100 MB should be OK,
   but beyond that your machine must provide enough memory.

-  archive contents larger than the maxcache setting (default = 300 mb)
   may be skipped. to load larger archive file contents, adjust this value
   in the config file.

-  zip files must use a normal compression format (DEFLATE),
   e.g. as it is produced by the InfoZIP or WinZIP tool.
   (most zip files in the internet use DEFLATE compression)
   exotic compressions and 64-bit zip files are not supported.

-  .tar, .tar.gz and .tar.bz2 files produced by non-Windows/Linux
   operating systems, or produced by old and exotic tar tools
   may slightly differ in their format, and may fail to read.

Pro: how to load zip tar.gz and .tar.bz2 file contents

top
-  click on Open, then select a single .zip, .jar, .tar etc. file.

   OR

-  drag and drop a .zip, .jar etc. archive from explorer into DView.

   OR

-  to load all archive files within a directory,

   1. click on the load option config button right near "open".
      it has no text on it, but four rectangular status lights.
   2. in the loading options dialog, enable "include .zip ..."
      then click on "apply changes".
   3. click on "Open", and select a directory containing archive files,
      or a mix of text files and archives.

   WARNING:

   -  the Open dialog presents you a tree view of the file system.
      you should NOT enter directories with many or large zip files
      through this tree view, because for unknown reasons, Windows tries
      to scan all zip files in the directory, which takes very long.

      instead, just enter the directory name in the edit field at the bottom,
      then optionally select an archive name from the presented list therein.

      under Linux (WINE), no edit field may be available.
      as a workaround, run dview from the command line and supply
      the directory or archive file name directly.

switching to a larger display font

top
Instant switch to a larger font:

   If the default font is too small, press CONTROL+J to toggle the large main font,
   called "mainfont2" in the configuration file.

   DView may also select the large font automatically, depending on the window's
   pixel size at startup. See "autoselectfont2" in the config for details.

   Later, when we talk about bookmarks, you may also try CONTROL+SHIFT+J to toggle
   the bookmark font (you won't see any change as long as there are no bookmarks).

Alternatively, to select your own preferred font:

   -  click on "setup" at the right top, then on "fonts".

   -  then click on "change" near "main font 1"
      to select a different primary display font.


Chapter 2: How To Search A Word.

top
NOTE:
   The following experiments may jump to anywhere in the text.
   To jump back ==> HERE <== anytime, keep SHIFT pressed, then click HELP.

search as you type

top
To search the word "hello", just type "hello" now.
You may land --------/\------ here instantly, as this is
probably the first location where the word appears.

However, if you have loaded other text already,
which also contains this word, you may land anywhere.

stepping through search results

top
To go to the next search result, you may

   -  press SHIFT, keep SHIFT pressed, and press CURSOR DOWN.

   -  OR: press F3.

   -  OR: with a mouse, keep the left mouse button pressed
          (ideally somewhere on blank space),
          then turn the mouse wheel down.

To go to the previous search result, you may

   -  press SHIFT, keep SHIFT pressed, and press CURSOR UP.

   -  OR: press SHIFT+F3, or CONTROL+F3.

   -  OR: with a mouse, keep the left mouse button pressed,
          then turn the mouse wheel up.

editing the find mask

top
After typing "hello", the find mask looks like

   find: >hello<

with the edit cursor standing on "<". You can now press

   -  Cursor LEFT/RIGHT to move the cursor in the find mask.
   -  HOME/END to jump to the start or end of it.
   -  BACKSPACE to delete a single char.
   -  INSERT or SHIFT+BACKSPACE to delete the whole find mask.
      Note: if you press INSERT, then type nothing, dview will
            jump to the beginning of all loaded text files.

clearing the find mask by INSERT key

top
To repeat, the INSERT key behaves completely DIFFERENT then
in any other application: you do not "mark then overwrite"
to enter a new search phrase, but simply press INSERT once,
then type your word. Consequently, there is no character
overwrite mode; typed characters are always inserted.

If you have problems learning into this concept, you may
also use the classic find dialog, by pressing CONTROL+F.
However, working without this dialog is faster.

searching this help text using wildcards

top
You can use the "*" wildcard in your searches. For example, type

   book*width

to find something about changing bookmark display width, or

   conf*file

to find something about configuration files.

case insensitive search

top
Is default, meaning "a" is treated like "A". To activate
case sensitive search, click on the "case" button or press F4.

Chapter 3: Basic Search Within Thousands Of Text Files.

top

appending directory contents

top
Click on "open / append text from folder", then select a directory
containing many small ASCII text files (typically source code
from a big Open Source project, log files, HTML or XML files).

The contents from these files will be appended AFTER this help text.

NOTE: if you get impatient, you can stop the loading process anytime
      by pressing the ESCAPE key once (don't press it twice, as you
      may leave this tool then). This way only some files are loaded.

file to file jump

top
Press CONTROL and PAGE DOWN to jump, from this help text,
down to the first of those files that you have appended.
Repeat this move (CTRL+PAGEDOWN) to jump from file to file.

goto start or end of all text files

top
Press CONTROL+SHIFT+HOME to jump to the first loaded file.
Press CONTROL+SHIFT+END to jump to the end of the last loaded file.

moving within a file

top
Within a file, use CURSOR UP and CURSOR DOWN as usual
to scroll slowly through the text. Or use the MOUSE WHEEL.
PAGE UP and DOWN also work as usual. CONTROL+END jumps
to the end of the current file, CTRL+HOME to the start.

moving horizontal

top
CURSOR LEFT and RIGHT do NOT work as usual: they actually
control the orange cursor in the "find mask" at left bottom.
(If the mask is empty, nothing exciting will happen.)

So how do you SHIFT text horizontally, to read through
long lines? Simple: press SHIFT, hold SHIFT and then
press CURSOR RIGHT or LEFT.

And to jump back to the leftmost column anytime, just press ENTER.

surfing the text

top
Now, using CURSOR UP and DOWN or the MOUSEWHEEL is all nice,
we've seen that in every editor. But now try this:

   -  click the LEFT MOUSE BUTTON on BLANK space, somewhere
      in this text, for example here:

      ----- click below ---\/--- into BLANK SPACE ... -----




      ----- or click above ---/\--- it doesn't matter. ----

      and keep the left mouse button firmly PRESSED.

   -  then move the mouse DOWN or UP. What you experience now
      is the Depeche View Text Surf.

shift click search

top
You're stepping through many files, you read the stuff,
you know that typing "hello" instantly searches "hello".
But then you read a word that touches you deeply:

   DemuxedSystemOperatorDownloadControllerClass

this is so great, you want to search it as well.
But for heaven's sake, DON'T TYPE IT, or you may break
your fingers. Instead,

   -  press the SHIFT key and KEEP IT PRESSED.
   -  click on the word, with the left mouse button.
   -  release the left mouse button.
   -  release the SHIFT key.

And just as if you typed it, it is searched instantly,
and instantly Depeche View jumps to the first result
(which will be the same place as above, in this example).

Now repeat what you learned: press SHIFT+CURSOR_DOWN to
find further occurrences, if any. To make the above
exercise more fun, here is the word again:

   class DemuxedSystemOperatorDownloadControllerClass
      extends QuestionableBaseControlRerouterFirmwareListener

   (don't think about this example, it's just ... an example.)

stepping through search results by the mouse wheel

top
You don't have to use SHIFT+CURSOR DOWN/UP to walk through
search results, you can instead:

   -  click somewhere on blank space
   -  keep left mouse button pressed
   -  turn the mouse wheel down or up

to step from result to result as well. This is the recommended
move right after lunch time, if you're so slump in your chair
that the keyboard is out of reach.

Alternatively, you may also hold SHIFT, then turn the mouse wheel.

shift click phrase search

top
So far, we learned that clicking on a WORD searches that word,
instantly. But what if you have a text like
   long nResult = FooController::currentBar("Lemon");

and actually want to search the phrase "FooController::currentBar"?
Follow exactly these steps:

   -  press the SHIFT key and KEEP IT PRESSED.
   -  click on FooController and KEEP LEFT BUTTON PRESSED.
   -  move the mouse gently to the right, over to currentBar.
   -  RELEASE the mouse button.
   -  RELEASE the SHIFT key.

As you see, the full phrase "FooController::currentBar" is searched.


Chapter 4: Copying Text To Clipboard.

top

copying a phrase within the same line

top
Again, the text example from phrase search:

   long nResult = FooController::currentBar("Lemon");

if you want to copy the phrase "FooController::currentBar",

   -  press CONTROL and KEEP CONTROL PRESSED.

   -  LEFT CLICK into "FooController".

      then 

   -  LEFT CLICK into "currentBar"
      (or move the mouse over to "currentBar")

   -  RELEASE the CONTROL KEY.

   -  the phrase is now in your clipboard.

If you copy text phrases that way a hundred times a day,
you will notice that this is faster than the way that
any text editor does it.

copying a block from start line to end line

top
To copy a block of text lines to clipboard,

   -  press CONTROL and KEEP CONTROL PRESSED.

   -  LEFT CLICK into a word of the FIRST TEXT LINE
      in which you are interested.

      optionally, you may now also press page down/up
      to move through the text in page steps.

   -  LEFT CLICK into a word of the LAST TEXT LINE.
      all selected lines should appear in yellow now.

   -  RELEASE the CONTROL KEY.

   -  the selected lines are now in your clipboard.

instant copy a single line to clipboard

top
Hold CONTROL+SHIFT pressed, then left-click into a line
to copy the whole line instantly to the clipboard.
Blanks to the left and right are stripped automatically.

copying the lines of the current screen to clipboard

top
Press CONTROL+INSERT, or CTRL+C, to copy all lines which are
currently visible on screen to clipboard.

copying all lines of the active text file to clipboard

top
The active text is the one whose filename is highlighted
after a mouse move, or which covers the whole screen.

Press CONTROL+SHIFT+INSERT, or CTRL+SHIFT+C to have all lines
of this active text copied to clipboard. In a filtered view,
this will copy all filtered lines.

copying the clipboard text into the find mask

top
If you have a word or phrase in the clipboard that you
would like to search instantly:

   -  make sure that the cursor is currently within
      the find mask (press TAB if it isn't), and that
      the cursor looks like an underscore "_".
      (If it looks like "|", read on here)

   -  then press SHIFT+INSERT (or CONTROL+V).

You may also paste clipboard text into the path mask,
to change the current file selection.

As you see, the find mask content is completely replaced
by the clipboard text, so there is no need to clear it first.

insert clipboard text within the find mask

top
Sometimes, however, you may want to insert clipboard text
into an existing find mask, e.g. to combine it through AND,
OR, NOT with the existing search phrase. To do so,

   -  DOUBLE click somewhere into the find mask.

   -  the cursor changes from "_" to "|".

   -  now press SHIFT+INSERT (or CONTROL+V).

the text is inserted into the existing search phrase.

To go back into the "replace whole mask mode",
just double click into the mask again.

how to step through files while copying text

top
As long as text is marked for copy, CTRL+PAGE DOWN/UP 
does not jump to the next or previous file, but simply 
steps one page through the text. While copying text,
use CTRL+HOME/END to jump through files.


Chapter 5: Multi Window Text Operations.

top
As you may have noticed, to read and search trough 1000 files,
you don't have to open 1000 windows. From the start, all contents
are available in ONE window, making things damned fast.

But sometimes we want to keep an eye on one part of the text,
while reading through another one. So we need a further window.

one click window creation

top
Take a breath, then RIGHT CLICK somewhere on EMPTY SPACE.
(Do NOT right click on a WORD, we'll do that later)

Another window is created. Basically, it is another view
onto the same text. Everything is just like in the first
window or view. This second view tries to CLONE the first,
including the current text position, and the word you are
searching currently.

Now, whatever you learned, it works the same way in
both views, and you are ready for multi threaded reading:

   -  continue to READ this help text in the LEFT view,

   -  while doing all kinds of experiments in the RIGHT.

closing a window, or leaving the tool

top
If you have multiple windows, press ESCAPE to close
the currently active window.

If you have just one window left, ESCAPE will exit dview.
If this creates problems, i.e. if you are often leaving
the tool unintentionally, you change this behaviour
under Setup / general.

Pressing SHIFT+ESCAPE always forces dview to exit, 
no matter how many windows are open.

one click opposite view activation

top
So now you have two views. And things are different:
if you right click AGAIN into blank space ... no,
it it will no longer create another window,
but simply ACTIVATE the OTHER ("nearby") view.

The philosophy behind that is:

   "a right click SENDS something into a NEARBY view."

We didn't send much of interest yet, but that will change.

one click own window activation

top
A LEFT CLICK into BLANK SPACE activates the window
under the mouse cursor, as in every windows application.
Whenever you are unsure if keyboard input for the current
window is enabled, left click into the window.

one click window resize

top
By default, DView comes with a fixed window concept:
sizes and positions are predefined, to keep you from
time-wasting border dragging. But there are some ways
to change the relative window sizes:

If you click near the RIGHT border of the LEFT view,
or the LEFT border of the RIGHT view, you will not
just activate the window, but resize it one step:

   -> the right view is slightly expanded.
   -> the left view is  slightly shrunk.

If you are editing text, the left border click can
be done only within empty lines, to avoid 
ambiguities with text block selections.

This behaviour can also be disabled via the Mode button
under "one click resize". But even if disabled, 
a one click resize will always work near the window bottom, 
within the "find:" or "path:" line.

window frame modes

top
1. master frame mode

   By default, there is one large master frame window,
   containing all views (actual text windows). 

   By moving and resizing that master frame, you change
   the so-called "master area" in which all text views 
   are created and arranged.

   By clicking on the square button right to "setup",
   you can activate or deactivate:

2. isolated views mode

   In this mode, there is no master frame. Every window
   has it's own thick move and resize border, allowing
   to interleave the views with windows from other
   applications.

   The master area can NOT be changed in that mode.

   Therefore, if you want to use the iso mode,
   follow these steps first:

   -  1. enter master frame mode.
   -  2. move and resize the master frame window
         until the master area, in which windows
         should be created, is defined.
   -  3. then enter isolated views mode.

   In other words, no matter how you move and resize
   windows in iso mode, the windows creation area
   is not changed. Pressing F1 will force any window
   back into that area.

3. overscan mode

   if you are within master frame mode,
   then SHIFT or RIGHT click onto the square button,
   views will also be isolated, however without any resize border.
   this mode allows to view as much text as possible,
   however windows cannot be moved or freely resized.

   To re-enter master frame mode then, click the square again.

shift click nearby search

top
Activate the LEFT view (by left click into blank space).
Walk through the text. If you see a word that you like
to search in the OTHER (the right-side) view,

   -  hold SHIFT and KEEP SHIFT PRESSED.
   -  RIGHT CLICK on the word.
   -  RELEASE the SHIFT key.

      -> it is NOT searched in the current view,
         but in the nearby view.

To repeat above philosophy:

   "RIGHT click on a word SENDS it into a NEARBY view."

shift click nearby phrase search

top
Some pages ago, we searched a multi-word phrase like in

   long nResult = FooController::currentBar("Lemon");

within the current view. Now do this with the RIGHT button:

   -  hold SHIFT and KEEP SHIFT PRESSED.
   -  RIGHT click on FooController and KEEP BUTTON PRESSED.
   -  move the mouse gently to the right, to currentBar.
   -  RELEASE the RIGHT mouse button.
   -  RELEASE the SHIFT key.

As you see, the full phrase "FooController::currentBar"
is searched within the nearby view.

Actually, you can do the above move in different ways:

   -  the first way is to keep SHIFT and the right
      mouse button pressed all the time. It's the 
      "safety move", as you cannot leave the line 
      accidentially while marking the search phrase.

   -  the second way is to keep SHIFT pressed, but not
      the right button: just click into the first and
      last word of interest, within the same line,
      then release SHIFT. This may feel a bit faster.

And sometimes it isn't necessary to press SHIFT at all.
As long as you're within normal text, just keeping the
right button pressed while marking a phrase will search
it in a nearby view. However, this trick doesn't work
in a filtered view (discussed later), where right click
does something else. Therefore remember that
"SHIFT+click is the safe way to search".

full screen toggling

top
Click on "<>" in the right top or press F1 to toggle
between "full screen" and normal-size display of the 
current view. It is F1 because this key is easiest 
to reach, and you will use this function PERMANENTLY. 
Searching through much text is a permanent change between
comparing multiple parts and then reading (full-sized)
through a single part.

By default, "full screen" does not literally cover
the whole screen, but keeps a bit of space near
the desktop borders - to allow easy, instant access
to other application windows around.

master frame maximize

top
With master frame mode active, you may click on the maximize
button within the master frame, or press SHIFT+F1 to have
it maximized to the whole desktop size.

swapping view contents

top
Press CONTROL+CURSOR LEFT, or CONTROL+CURSOR UP to:
   -  cycle the contents of multiple views left,
      or up in case of horizontal tiling.

Press CONTROL+CURSOR RIGHT, or CONTROL+CURSOR DOWN to:
   -  cycle the contents of multiple views right,
      or down in case of horizontal tiling.

extended views creation

top
You really need a third (or even more) windows? Try this:

   -  in the SECOND view, on BLANK SPACE:

      -  press RIGHT button, and KEEP it pressed.

      -  then press the LEFT BUTTON as well.

This is the fastest way; alternatively, you may also
click on the dotted button left near the "<>" button.

A third window opens, creating a triple column arrangement.

The term NEARBY VIEW now gets a new meaning: in general,
it is the view to the RIGHT, but if you're already in the
rightmost view, it wraps around, and nearby then means
the leftmost view (within the same vertical position).

In 80% of working cases, three windows are sufficient for
intense text analysis. If you really need further windows,
repeat LCLICK+RCLICK in the most recent window.

instant view rearrangement

top
Imagine you have 3, 4 or even 5 views open, one of then
in fullscreen, some hidden in the background, and you start
loosing the overview ... then try this:

   -  DOUBLE CLICK on BLANK SPACE instantly stops all
      full screen displays, and rearranges all views
      in their default position and size.

horizontal tiling

top
Click on "=" or press F2 to toggle horizontal tiling.
This mode can be used only with at least 2 views open.

viewing help links in a different window

top
Just right-click on a help link, like "Back to contents" below,
to have it shown in a nearby view. It is recommended that you
view ALL help links only through the RIGHT mouse button,
to allow reading of the main help without interruptions.


Chapter 6: Bookmark Basics.

top
Let's have a look at another example text:

   long FooController::testBar(char *pszCandy)
   {
      // first install the candy in the testBar
      importantSubFunc();
      char *p = 0;
      *p = '\0';
      return 1;
   }

Now, pretend that the above text is THE text you were searching for.
Naturally, you want to remember it's location, to jump back
to this very important text anytime you like.

bookmark creation by phrase selection

top
To create a bookmark,
   -  first make sure that FULLSCREEN mode is active.
      If your window has no maximum size yet, press F1 to change that.
   -  then press ALT, and keep ALT pressed.
   -  LEFT click into "FooController". you may or may not keep
      the left mouse button pressed.
   -  LEFT click into "pszCandy" (or another word in the same line).
   -  then RELEASE the ALT key.

   (Linux users: use CTRL+RBUTTON instead of ALT+LBUTTON.
    More in the linux specific help.)

A bookmark is created, and shown at the right top.
In a bookmark, Depeche View remembers:
   -  the selected phrase, as the bookmark "title".

   -  the full line of the selected phrase. i.e. internally,
      dview also remembers the whole line from "long" until ")", 
      to allow safer bookmark searches later.

   -  the filename in which the bookmark was defined.

Now you can jump back to the remembered text location anytime
just by clicking on the bookmark.

Let's have another example text:

   void FooController::importantSubFunc()
   {
      printf("foo candy delivery just started\n");
   }

Just as above, bookmark the phrase from "Foo" until "Func".
Now you have two bookmarks:

   FooController::testBar(char *pszCandy
   FooController::importantSubFunc

Actually, "importantSubFunc" is a function called by "testBar".
To make this dependency clearer, it would be good if the
second bookmarks would be indented, like:

   FooController::testBar(char *pszCandy
      FooController::importantSubFunc

changing bookmark indentation

top
To achieve this,
   -  left click onto the 2nd bookmark, and keep left button pressed.

   -  then slowly move the mouse right or left.
      -> the indentation is changed.

   -  auto indentation of dependent sub bookmarks:

      if there are further bookmarks below which are already
      indented in a structured way like:

            int main()
              func1()
              func2()
                subfunc()

      and you move, for example, "int main()" to the right,
      then the following bookmarks will have their indentation
      changed as well. If you don't want this, keep CONTROL pressed
      while moving a bookmark to the left or right.

rearranging bookmarks

top
Or even better, click onto a bookmark, then move the mouse UP or DOWN
while keeping the left button pressed. {pic:bmseq}

   -> the bookmark's position is changed, like:

   FooController::importantSubFunc
   FooController::testBar(char *pszCandy

Of course, by clicking onto the bookmark, you also jump to that location.
If you want to avoid this, keep CONTROL pressed to click and rearrange
a bookmark without changing your text location.

deleting bookmarks

top
Click on the little "DEL" button at the right side of a bookmark to delete it.

jumping to a bookmark in another view

top
Bookmarks are always listed in the rightmost view. Now, if you have
three views open, how do you select a bookmark into the first one?

   -> right click on it.

So, just like searching with the right mouse button, right clicking
a bookmark selects it into the rightmost, or first (wrapped) view.

But what if you have three views and want to select a bookmark into the second?

   -> middle click on it.

The middle mouse button will send the bookmark location to the left side view.

An alternative method is this:

   1. RIGHT click on a bookmark, and keep the right button pressed.
   2. move the mouse a bit to the right,
      until the first view is highlighted (by a blue border).
   4. move the mouse more to the right, until the second is highlighted.
   5. release the right mouse button.

this makes sense especially when using 4 or 5 views.

changing the displayed bookmarks width

top
Click left near the bookmarks to change their displayed width.
Depeche View remembers 2 separate widths, one for fullscreen display,
and one for non-fullscreen. By the way,

bookmark display in non-fullscreen mode

top
When there is few horizontal space, some stuff like the DEL buttons is not displayed.
To delete bookmarks then, you have to enter the fullscreen mode first, through F1.

saving bookmarks, bookmark filename

top
When you press CTRL+S, the bookmarks are saved.
Alternatively, just try to close dview by pressing ESCAPE -
the tool will ask automatically if bookmarks should be saved.

The bookmark filename is based on what you loaded,
and how you loaded it. As a general rule,

   -  if you loaded a directory through a click on "OPEN",
      (dropping all other text from memory)
      then dview tries to build a bookmark filename
      PARALLEL to that directory, outside the directory.

   example:

   -  you OPEN the directory

         C:\mydocs\letters

      then the bookmark filename is 

         C:\mydocs\zz-letters-bookmarks.1.dvbm

      so the bookmarks are parallel to that directory.

   -  after that, you APPEND the directory

         C:\otherdocs\diverse

      but the bookmark filename STILL is

         C:\mydocs\zz-letters-bookmarks.1.dvbm

      as only OPEN redefines the bookmark path.

   -  you OPEN the single file
   
         C:\mydocs\letters\hello.txt

      then the bookmark filename is

         C:\mydocs\letters\hello.txt.1.dvbm

      so the bookmarks are parallel to exactly that file.

   -  if you specified multiple directories to load text from,
      esp. during start from the command line,
      the first of those directories is taken to build
      the bookmark filename.

   -  if you load a single file, the bookmark filename
      is based on that filename.

changing the bookmark files location

top
To load bookmark files from a different location than the default,
you may select "setup / config / bookmarks / load from".

On the command line, an option "-book basename" is available.
For example:

   dview -book mybooks thetextdir

will create bookmarks in the files

   mybooks.1.dvbm
   mybooks.2.dvbm
   mybooks.3.dvbm

instead of using the generated names

   zz-thetextdir.1.dvbm
   zz-thetextdir.2.dvbm
   zz-thetextdir.3.dvbm

NOTE: .1.dvbm is always appended automatically,
      so the -book option only sets the filename base.

Pro: using multiple bookmark sets

top
With Depeche View Pro, you can use up to 9 bookmark sets in parallel
on the same directory. To switch between them, click on the bookmark
set selectors showing number 1 to 9, just above the actual bookmarks
(you may have to click on the expander button "<" first to show all
selectors). Alternatively, press CTRL+1 to CTRL+9 for quick switching.

You may also reorder bookmark sets by simply renaming the .dvbm files.
e.g. zz-src1-bookmarks.1.dvbm -> zz-src1-bookmarks.5.dvbm.

showing and hiding the bookmarks

top
If you need to read text hidden behind bookmarks,
click on the ShowBM button or press CTRL+Q.

A mixed display of text and bookmarks is also possible.

Chapter 7: Advanced Search Within Many Text Files.

top
So far we learned that typing or clicking on "hello" searches this word
instantly, and EVERYWHERE. But what if we do NOT want to search everywhere,
but only in a specific file?

using the path mask

top
Below the "find:" mask at the left bottom, you see the "path:" mask.
Basically,

   "find:"  says WHAT you are searching - it is matched against
            the text content within selected files.

   "path:"  says WHERE you want it searched -  it is matched
            against the filenames.

By default, whatever you type goes into the FIND mask.
Concentrate on it, and spot the orange cursor within.

Now press the TAB key. Voila - the cursor is now in the PATH mask.

Whatever you type NOW changes that path mask, for example,
type "help" and you select all files having "help"
in their name, so probably just one file, right now.
The path mask is always case insensitive, so "help"
will also find files having "Help" in their name.

Now press TAB again - the cursor is back in the FIND mask.

Whatever you type NOW is searched ONLY within files having
"help" in their filename. Or let's say, the search scope
is reduced to that files.

clearing the path mask

top
Enough? Want unlimited search over everything again?

To achieve this, you may

   -  press TAB again, then INSERT to clear the PATH mask,
      and then TAB again to go back to the FIND mask.

   -  OR: click on the "clear" button in the right bottom
      (this button may be visible only in full screen mode,
       and it shows only with a non-empty path mask).

   -  OR: press CTRL+M.

And why CTRL+M? Because it's next to CTRL+N like narrow.
We'll come to that further below.

further ways of editing the find or path mask

top
Instead of pressing TAB, you may also change between "find" and "path"
by simply clicking into those masks.

The Depeche View Find and Path masks are optimized for speed:

   -  you do not have to press any hotkey to activate it.
      the find (or path) mask is always active.
      just type a word to find it, instantly.

   -  you do not mark anything in the mask to replace it's content;
      just press INSERT, and the whole mask is cleared, instantly.

   -  to paste a phrase from clipboard into the mask, press SHIFT+INSERT
      (or CONTROL+V). no other preparations are required. This way,
      repeated searches of words from other applications can be done
      with the least possible effort.

   -  to copy the mask content to clipboard, CONTROL+click into it.

However, it may take a while to learn into this concept. If you want
to search things in a more "Notepad" like way, press CONTROL+F,
which brings up a Find dialog with classic text fields.

combined search expressions

top
Imagine you want to find all text lines containing the words

      "foo"     OR      "bar"

then simply type

      foo OR bar

into the FIND mask. Note that you must type exactly " OR ",
that is BLANK, BIG O, BIG R, BLANK. A lowercase " or " will
be treated as normal text.

logical operators for the search text

top
And where is OR, there is AND, and ... one example:
If you type

   candy AND bar*banana NOT foobar

you are searching lines

   -  containing "candy"
   -  and having "bar" and "banana" in their text
   -  but excluding lines containing "foobar"

NOTE that the wildcard "*" is basically the same as AND.

The full list of supported operators:

   AND            find lines with both words
   *              same as AND, only shorter
   OR             find lines having one word or the other
   NOT            exclude lines having the word
   TAB            find TAB characters within text
   
   LSTART or LS   Pro: find only lines starting with that word
   LEND           Pro: find only lines ending with that word
   WORD           Pro: find a word made from a-z, 0-9 and _

   COLx[START/END/FULL]    Pro: search columns of TAB separated data.
                                for more on that see below.
                           
When using a mix of AND, OR and NOT, always place NOT phrases last.
For example, when typing

   foo NOT foobar AND footer

the intention is not clear: should foobar and footer be excluded,
or do you want to find lines with foo AND footer, excluding foobar?
Actually, dview will show an error and ignore "AND footer".
To make it work, rewrite the query like:

   foo NOT foobar NOT footer

More examples:

   "class *bar* obj OR warn NOT goo"

      finds lines containing "class FooBar: public Obj" or "warning" but not "CGooBar".

   "LS class OR LEND ;" 

      finds lines beginning with class or ending with ;
      
   "WORD i"
   
      finds places where "i" is used as an isolated word, like in
      
         for (int i=0; i<10; i++)
              |   |    |     |
          no hit  hit  hit   hit

   "foo TAB bar" 

      finds "foo bar" with a single TAB character inbetween.

   Type just "TAB" to find the word "TAB", but type "TAB " (with a blank)
   to find all TAB characters. And to highlight the actual TAB characters
   within the search results, press CTRL+T.

Pro: searching TAB separated data columns of database exports

top
Depeche View Pro can search database contents very fast and easy. To do so,

   -  the data must be exported as TAB separated data,
      into plain ASCII text files.

   -  then load these files in Depeche View.

   -  activate large TAB sizes for optimized display.

Then you may use the usual AND OR NOT search operators as described above,
plus the following specialized ones:

   COLn text      - search data column number n for text. the given text
                    will not be searched across whole lines, but only within
                    the text of that column.

   COLnSTART text - search columns starting like text.
   COLnEND text   - search columns ending like text.
   COLnFULL text  - search columns with the whole column content matching text.

Examples:

   COL1 foo AND COL2START bar*123 NOT COL3FULL hoo

      -> list all rows where column 1 contains "foo",
         column 2 starts like "bar" and contains "123" after that,
         but exclude rows where column 3 matches completely the word "hoo".

   In this example, the AND operator is optional and can be left out.

   Also note that "*" and AND behave different when searching columns:

      -  "COL2 bar*123" is searched within the same column.

      -  "COL2 bar AND 123" means to search column 2 for "bar"
         AND the rest of the line (from column 2) for "123".

         If word sequence checking is disabled,
         the whole line will be searched for "123".

COL syntax order limitations:

   Whenever you use NOT, use it last in your search query,
   as subsequent non-NOT operators are not supported.

   Good examples: - these are clear.

      headline OR COL1 foo AND COL2 bar NOT COL3 tmp NOT COL4 remark
      COL1START 02 NOT COL4 NORTH*TOWN

   Bad examples:  - these are ambiguous.

      COL1 foo AND COL2 bar NOT COL3 tmp OR headline
      COL1 foo AND COL2 bar NOT COL3 tmp COL4 remark
      COL1 foo AND COL2 bar NOT COL3 tmp AND COL4 remark
      COL1START 02 NOT COL4 NORTH AND TOWN

Column number limitations:

   The COL operator supports up to 100 columns.

escaping search operators

top
To find the * character itself, type **, e.g. "/** foo" actually finds "/* foo".
Alternatively, you may switch off wildcard detection via Mode / AND OR NOT ...
or by pressing CTRL+F4. If you need to find "foo *bar" with any chars allowed 
inbetween, use "foo AND **bar".

If you really need to search the literal string "foo AND bar" in
case sensitive mode, type "foo \AND bar" instead. If you need to 
search "foo \AND bar", press CTRL+F4 to switch operators off.

disabling the search word sequence checking

top
If you search "foo*bar*banana", you will only find lines where

   -  "bar" appears AFTER "foo"
   -  "banana" appears AFTER "bar"

Now, if you want to find lines having any combination of those words,
no matter in what sequence, click on the "noseq" button at the right bottom
or press SHIFT+F4. (The button appears as soon as there is a search phrase
containing * or AND).

logical operators for the path

top
Just as in the FIND mask, you can write the PATH mask like:

   foosys OR candy OR .cpp NOT .bak

which selects all files

   -  having foosys in their name
   -  OR having candy in their name
   -  OR having .cpp in their name
   -  however EXCLUDING all files having .bak in their name

NOTE: in the PATH mask, "AND" is the same as "OR".

one click search

top
You know that SHIFT+CLICK on a word searches that word.
But it can be done even easier, by activating the "1click" mode:

   -  click on "mode / one click search".

   -  now, a simple click on a word instantly runs a search,
      no SHIFT key required.

   -  a phrase search is nearly as simple:
      click on the first word, keep button pressed,
      then move the mouse to the last word.

   -  of course, RBUTTON clicks do all the same,
      only in a NEARBY view.

Now select "mode / one click search" again to switch it off,
and think for a moment about the:

pros and cons of one click search

top
One click search is very convenient, but if you click on a word
unintentionally, you run a search ... uninentionally.

And as soon as someone ELSE tries to use the Depeche View window
that you just opened, e.g. a colleague who simply wants to scroll
through the text and show you something, he may PANIC.

Yes, there is an easy settings button available for such cases,
but to summarize: it's a matter of taste.

One click search can be enabled or disabled per view,
and there is a config setting to activate it by default.

   see also: one click text editing

narrowing the path mask

top
If you are standing in a file

   C:\myproj\thecomplexdir\even\deeper\directory\howto.txt

and you want to search words just and only in that "howto.txt" file,
but not in all other "howto.txt" somewhere in other directories:

   -  press CONTROL+N like "narrow to this single file"

and the full path of the current file is copied into the "path:" mask.

(There is also a "local" button for the same function, but currently
 this button works fine only if you're within a large text that covers
 the whole screen.)

reducing the path mask by a directory

top
Let's repeat the above example. Your path mask contains:

   C:\myproj\thecomplexdir\even\deeper\directory\howto.txt

and now you want to search in all files of the directory

   C:\myproj\thecomplexdir\even\deeper\directory

then:

   -  click on the "pathup" button

   -  OR: press CONTROL+U like "up in the directory tree"

Of course, repeated CTRL+U will step up even further.

goto text line number

top
With the mouse cursor on empty space, press CTRL+G (like goto)
to enter a line number, and then jump to that line, within the
current text  file.

When doing so, display of the current line and column number
is activated (shown at the bottom), which can be deactivated
by pressing CTRL+I.

goto filename and line number location

top
Point the mouse cursor onto the beginning of a text phrase
indicating a filename and line number, for example:

   foobar.cpp 100
   sub/sys/lemon.hpp:195
   docs\info.txt(300)

then press CTRL+G or CTRL+X. DView will

   -  extract the filename and line number.

   -  set the PATH mask of a nearby view accordingly.

   -  and then jump to the given line within the matching file.

      If the given filename is not unqiue (check the "n files selected
      message" in the target window) DView will select the file
      being nearest (in terms of loading order) to the file 
      containing the search text phrase.

If there is no line number given, dview will jump to the beginning
of the first matching file. In other words, CTRL+G is also a quick way
to copy a filename into the PATH (not FIND) mask of a nearby view.

Also read the following example.

Pro: compiler integration example

top
DView is used primarily to search and edit huge amounts of source code,
e.g. a large C++ or Java project. To turn it into a low-overhead IDE,
a compiler must be called from within DView, and it's error output
must be used directly to jump to the error locations.

For example, assume there is a C++ project with files like

   C:\project\compile.bat
   C:\project\include\base.hpp
   C:\project\include\trace.hpp
   C:\project\source\driver.cpp
   C:\project\source\gui.cpp
   C:\project\source\db.cpp

With all files loaded in DView.
The project can be compiled on the command line by typing:

   C:
   cd \project
   compile.bat

The you can integrate this in the following way:

1. right click on "Setup" to edit the config file.

2. add:

on key f9
   set first.findmask = ""
   set first.pathmask = "zz-err.txt"
   first.runback -min "c:\project\zz-compile.bat"
   first.monitor "zz-err.txt" delay=300 maxwait=7000 show=bottom

3. save the changes.

4. on the command line, create another batch file
   which calls your original compile batch, but writing
   all console output to a file "zz-err.txt", like:

@rem ----- zz-compile.bat begin: -----

@echo off
C:
cd \project
compile.bat >zz-err.txt 2>&1

@rem ----- zz-compile.bat end -----

5. test zz-compile.bat by typing

      zz-compile.bat

   make sure an output file "zz-err.txt" has been created,
   by typing

      type zz-err.txt

6. reenter DView. the changed config file should be loaded automatically.

7. Open / Append the file "C:\project\zz-err.txt" .

8. Make sure you have at least two views open.
   If not, right click on blank space to create another view.

9. Now, whenever you want to compile your project,
   activate the right side view, then press F9. 
   this will

   -  locate the first view window to the file zz-err.txt
   -  run the compiler via zz-compile.bat
   -  display changes in the output file zz-err.txt,
      stopping if there are no changes over 7 seconds

   You may then see a compiler ouput in DView like

      c:\project\source\gui.cpp(10) : error C2065: 'mytest': missing declaration

   Now simply point the mouse on "source\..." and press CTRL+X
   to let the right side view jump to the error location.

   If the filename "source/gui.cpp" exists multiple times in your project, 
   DView will jump to the one nearest to the loaded zz-err.txt, 
   with nearest meaning in the sequence of loaded files.

   In other words, if you compile more than one project under C:\project,
   using different compile batches in different folders, also make sure
   to create different zz-err.txt files locally. After adding another
   compile batch and error file, it may help to close and re-open DView
   to load everything in the best sequence.

punctuation insensitive search

top
Select "mode / ignore punctuation" for puncuation insensitive search:

   -  slashes \ and / are treated as the same,

      helpful for text with mixed Windows/Unix filename formats.

   -  all quotations characters are treated as the same:

      " ' ` ´     and some more,

      in detail the ISO 8859-1 character codes 0x22, 0x27, 0x60,
      0x82, 0x84, 0x8B, 0x91, 0x92, 0x93, 0x94, 0x9B, 0xB4, 0xBB.

   -  , and . are treated as the same,

      helpful for text with mixed number formats.

accent insensitive search

top
When searching through text in European languages, containing
special characters like á (a accent) or ä (a umlaut), it is
sometimes helpful to treat those characters like a simple "a".
This can be done by activating accent insensitive search:

   1. Select "mode / ignore accents".

   2. now for example, type a German word like "blatt",
      and it should find both the words "blatt" and "blätter"
      (finding both the singular and plural forms of the word).

Accent insensitive search is based on the ISO 8859-1 character codes.

graying out unselected file contents

top
If you enter something in the PATH: mask, this means that some files
are included in your search, others are excluded. By default,
excluded files do not look different.

But if you select "mode / gray excluded files", excluded file contents
will be shown in pale gray. If you want to have this setting active
from startup, check Setup / search / gray out ...

find mask auto reset on inactivity

top
If your text analysis process looks like:

   type a word
   read text for a moment

   press INSERT to clear the find mask
   type another word
   read text for a moment

   press INSERT to clear the find mask
   type another word
   read text for a moment
   ...

then you can often save another key press this way:
Click on the reset button to toggle find mask auto reset.
For example, if you select 3 seconds, the find mask will be
grayed out after 3 seconds of inactivity (no further chars
typed into the find mask).

If the mask is gray, typing another char will clear it
automatically. This way you can type another word instantly,
without pressing INSERT first.

But what if the mask is grayed out, and you want to reuse
your search term? then press any of these keys:

   -  cursor left/right/home/end
   -  enter
   -  backspace

and the find mask will be unlocked, allowing further edits.

Find mask auto reset can also be toggled by the PAUSE key,
and it can be set active from startup by a config file entry
like "autoresetfind 3000", specifying milliseconds.

Pro: find mask auto suggest

top
Depeche View Pro may auto suggest words for the find mask, 
based on two dictionaries:

-  a local dictionary of all search terms that you used
   in the current workspace. this dictionary is saved
   together with the bookmarks.

-  optionally (if activated), a global dictionary
   of all words from the loaded text.

First, look at the dictionary control button,
a small balloon symbol below the "mode" button.

-  if it is gray, no auto suggest at all is active.

-  if it is blue, only the local dictionary (with the
   preferred search terms) is active.

-  if it is orange, both the local AND the global
   dictionary (of all words) is active.

The default is blue (local dictionary only). You may
left-click on the button to create and activate the
global dictionary as well, but be aware that on large
projects, this may use 10 to 30 percent of additional
memory. For example, on a 1 GB machine loading 40000 
source code files, the global dict may cause memory 
swapping, so loading may become very slow.

Activation of the global dictionary may take a moment
if you have much text loaded already.

To use the global dictionary always, from start,
check Setup / general / create autosuggest dictionary.

Different dictionary content is used whenever you load
text from a different folder, by "open / load" (not append).
Or in other words, whenever a different set of bookmarks
is selected by loading, the dictionaries change as well.

Now, whenever you start typing into the find mask, DView
first looks into the local dictionary of your preferred
search terms. If there are any matches, a suggestion
is shown right near the find mask. Press ENTER to use
this suggestion instantly.

If nothing is found in the local dictionary, AND the global
dictionary of all words is active, then DView looks for
a word that starts like your search term AND which appears
most often in the text. Again, a suggestion is shown right
to the find mask. You may press ENTER to accept that,
or keep typing, to let DView create further suggestions.

The local dictionary is saved parallel to the bookmark files,
within a file with extension ".dvdb".

The global dictionary exists only temporarily within memory.

Auto suggest can be disabled by a right click on the dictionary 
control button, or from startup by unchecking Setup / general /
autosuggest active from start.


Chapter 8: Filtered Views.

top
To repeat again, typing "foo" jumps to the first occurrence of it,
and then we can go through the result locations, step by step.

But how would it be to see ALL lines containing a hit instantly,
in one large overview? That's called a FILTERED VIEW.

filtered view creation

top
   -  type "foo" in the find mask.

   -  then click on the large "F" button, OR press CTRL+A
      (like "All results")

What you now see is a filtered view of all lines
having "foo" in their text.

filtered view line picking

top
LEFT CLICK into any of those lines: the filtered view is closed,
and you jump straight to the text location of that line.

Press CTRL+A again anytime to re-create the filtered view.

RIGHT CLICK into any of those lines to have the text location
shown in a NEARBY view, instead of your current view.
This way (using 2 or 3 windows) you can step through a result list
very fast, without the need to close and reopen the filtered view.

disable filename listings in a filtered view

top
By pressing CTRL+D (like Detail), you can toggle the listing of filenames
in a filtered view, to see only the pure result lines.

creating a list of all loaded or selected files

top
Whenever you clear the "find:" mask, the filtered view has no search results
to display. Instead, it turns into a plain listing of filenames:

   -  if the path mask is empty as well, you get a list of all loaded files.

   -  if the path mask is set, you get a list of all selected files.

      However, if only ONE file is selected, the filtered view is closed,
      and Depeche View jumps to the beginning of that file.

copying a filtered view result to clipboard

top
Press CTRL+SHIFT+INSERT to copy the whole filtered view's text to clipboard.
Press CTRL+INSERT to copy only the visible lines to clipboard.

searching words or phrases in a filtered view

top
IF you have one-click search active, AND you create a filtered view,
a conflict arises: if a LEFT CLICK into the filter view picks a line,
it can no longer run a search, can it? 

Example contents of a filtered view:

   FooController::testBar(char *pszCandy
   FooController::importantSubFunc
   FooController::testBar(char *pszCandy
      FooController::importantSubFunc
   FooController::importantSubFunc
   FooController::testBar(char *pszCandy
Now, how do you search for "testBar" from within a filtered view?
Of course, remember the Depeche View basic keys, then:

   -  press SHIFT, and keep it pressed.

   -  click onto "testBar".

-> the word is searched instantly.

The same applies for phrase search: keep left button pressed,
then click on "Foo" and move the mouse over to "candy".
A phrase like "FooController::testBar(char *pszCandy" 
will be searched immediately, leaving the filtered view.

searching words or phrases picked from a filtered view in another view

top
Now that's a long headline. If you have two or three windows open,
and in the first one a filtered view, then

   -  within the first window, keep SHIFT pressed.

   -  then RIGHT click onto a word or phrase.

and the word or phrase is searched in a NEARBY view.

autofilter for power users

top
If you like the filtered view so much that you can no longer
search without it, there is no need to press CTRL+A all the time.

RIGHT-CLICK on the large "F" button. AUTO-FILTER is activated, and locked.
The "F" button turns into an "A" button to make that visually clear.

From now on, whatever you search, the results are shown instantly
in a filtered view, with one exception: if there is exactly ONE
hit for your search (a straight match), Depeche View jumps straight
to that location in the text.

To stop auto filtering, RIGHT-CLICK on the "A" button again.

Note that by left-clicking on the button, you can still switch
a filtered view off or on for the moment, but the button will
still show "A" to tell that Auto Filter mode stays active.

To activate auto filter from startup, check:

   Setup / search / AutoFilter mode

RECOMMENDATION: ACTIVATE AUTO FILTER PERMANENTLY.

As soon as you collected some experience with Depeche View,
and feel safe with the filtered views, you SHOULD activate
the above Setup option to have AUTO FILTER ACTIVE ALL TIMES.

It is simply the fastest way of searching through text.

Whenever a search query is ambiguous, autofilter presents you
only with the lines containing your search phrase, and in 90%
of cases, you have the best result line just one click later.

filtering the help for subjects

top
As you may notice, this help text has a content overview,
but no word index. This is because the text itself IS the index.

For example, if you want to search the help for something
like "changing bookmark's width",

   -  type

         chang*book*width

   -  make sure the "noseq" button is activated, to ignore 
      word sequences. this gives you more results.

   -  then press CTRL+A.


Chapter 9: Pro: The Integrated Text Editor.

top
Depeche View Pro contains an integrated text editor, 
allowing to edit text files instantly.

entering text edit mode

top
To edit a text file, double click on a word in it's text.

A blinking cursor appears. From now, Depeche View runs in EDIT mode,
which behaves different to the global SEARCH mode. The tool rather
behaves like the Notepad from Windows:

   -  whatever you type is inserted into the text.
      the find and path mask for global search are inactive.

   -  blocks are marked by dragging the mouse over text,
      or by SHIFT+cursor movements.

   -  the INSERT key toggles insert or overwrite mode.

   -  pressing CONTROL+Z reverts the most recent edit operation (UNDO).
      up to 50 undo steps are available, however some operations
      like block replace may count as two or more steps.

   -  to run a local search for a word, press CONTROL+F
      which brings up a search and replace dialogue.

leaving text edit mode

top
While editing text, as soon as you typed in text changes,
you see two buttons at the right top, "Save" and "Revert". 

   -  when you click on "Save", all changes of all edited files
      are saved to disk, and all open editors are closed
      (DView goes back to search mode).

   -  when you click on "Revert", all changes (since the last save)
      are undone, and all open editors are closed.

Furthermore

   -  whenever you press CONTROL+S while editing text,
      the current changes are saved to disk, but the editor(s)
      are NOT closed, i.e. editing continues. This way
      you can save your work often and rapidly, which
      is always recommended in case of some major editing error,
      like a wrong block insert, or a PC crash to avoid
      losing your changes.

   -  when you press CONTROL+E, it does the same as the Save button,
      i.e. saving changes then ending the edit session.

   -  when you press F5 in edit mode, it does the same as Revert,
      i.e. discarding all changes and closing all editors.

one click text editing

top
If you jump across many files, quickly editing here and there,
sooner or later you wish you wouldn't need a DOUBLE click,
but just a SINGLE click to edit text instantly, just like
in any other text editor.

To enable this,

   -  click on the "mode" button at the bottom.

   -  select "one click edit" (or "o/c edit").

Now, a single click on any word is sufficient to enter edit mode.

Of course, this requires more discipline. Look where you click!

Sooner or later, you will enter the edit mode unintentionally, 
maybe inserting unwanted chars. In that case, click on the
Revert button to undo all changes.

double click text edit save and exit

top
When the text editor is active, it's also possible to save
changes and stop editing by a double click on blank space.
To do so, check Setup / edit / save and stop by double click.

search and replace within the text editor

top
If you are editing text, and you want to search a word:

   -  press CONTROL+F to open the Find And Replace dialog.
      type the word of interest, press ENTER.
      the editor will jump to the first occurrence after
      the current cursor position.

      this is a LOCAL search, done only within
      the currently edited file.

   if you then want to continue with a GLOBAL search
   for the same phrase,

   -  press ESCAPE to close the find dialogue.

   -  press CTRL+A to filter globally for the phrase.

   then, if you researched enough on global scope
   and want to continue editing, click on the gray
   "re-edit" button that appears at the right top.

To replace text, there are also two ways. Imagine you
want to replace the word "foo" by "bar" multiple times.
You may

   -  press CONTROL+F, type "foo", then TAB, then "bar", and
      then ENTER. The first occurrence of "foo" will be searched.

   -  now you can click on "Find Next", or on "Replace".

   -  when clicking "Replace", you see the word is replaced.
      if you click "Replace" again, the next occurrence is searched,
      and so on.
      
You also type operators in your search term:

   WORD foo       - Pro: finds "foo" as an insolated word,
                         but skips for example thefoo or foo2.
                         
   foo OR bar     - finds either "foo" or "bar".

operators can also be disabled by the "noops" button.
It appears at the right bottom if operators are detected.

However, instead of using the Search And Replace dialogue,
you should check a unique feature of the Depeche View Editor
called Repeat Edit, as it allows faster editing in most cases.

repeat edit: interactive search and replace

top
The DView text editor can recognize a few, simple edit operations
like a word replacement, and repeat them by pressing CONTROL+R.

Example: you want to replace "foo" by "bar" repeatedly.
To do so,

   -  search the first occurrence of "foo",
      by pressing CONTROL+F, typing "foo", then ENTER.

   -  close the find dialog by pressing ESCAPE once.
      the word "foo" is still highlighted.

   -  now just type "bar". Depeche View sees that you are
      replacing one word by typing over another one.

   -  now press CONTROL+R (like Repeat).
      DView will search the next occurrence of "foo".

      If another "foo" is found,

         -  you may press CONTROL+R again to have it replaced.

         OR

         -  you may press CURSOR RIGHT to step one character,
            THEN press CONTROL+R again, to skip the current word
            and have the next occurrence searched.

   -  this way you can step through all occurrences of "foo"
      in the current file, deciding everytime if you really
      want to replace the word, or not.

   -  by pressing CONTROL+SHIFT+R, the next occurrence
      is searched and replaced immediately, in one step.

Adaptive Case Replace

   -  if the search and replace phrase have the same length,
      pressing ALT+R finds the next occurrence and does
      a case adaptive replace, for example:

         initial search phrase : foosys
         initial replace phrase: barsys

         alt+r finds           : FooSys
         then alt+r replaces as: BarSys

repeat edit: insert word within line

top
If you need to insert the same word in several lines,
do it this way:

   -  go to the first insert position, type the word.

   -  press CURSOR DOWN to leave the line of edit.

   -  go to the next insert position.

   -  press CONTROL+R. the word should be inserted again.

repeat edit: delete a word multiple times

top
If you need to delete the same word multiple times,

   -  mark the first word by SHIFT+CURSOR RIGHT.

   -  press DELETE.

   -  press CONTROL+R. the next occurrence will be found.

   -  press CONTROL+R again to delete the word.

repeat edit: append word at end of line

top
The DView editor also recognizes when a phrase is appended
at the end of a line.

   -  go to a line's end, type a word.

   -  press CURSOR DOWN to leave the line of edit.

   -  go to the next target line, where the word should be appended.

   -  press CONTROL+R. no matter how long the line is,
      the word will be appended after the line's last character.

repeat edit limitations

top
The word edit auto recognition will be incomplete if you

   -  change between overwrite and insert mode while editing a word

   -  change multiple words in the same line.
   

editor: cross copy words or lines between multiple views

top
If two or more views are open, with at least one of them in edit mode,
then text blocks can be copied in an optimized way like this:

Example: 

   Three views open, editing in the middle view.
   
   -  You see some word in the left view that you want
      to insert at the edit cursor in the middle view.
      
      To do so, CONTROL+right click on that word.
      -> it is inserted instantly at the edit position. 
      
   -  You see a text line in the left view that you want
      to insert at the edit cursor in the middle view.
      
      To do so, SHIFT+CONTROL+right click on that line.
      -> it is inserted instantly at the edit position.

   -  You see a block of five text lines you want to insert.
   
      To do so, keep CONTROL pressed, then RIGHT click into
      the first and last line of the text block.
      -> it is inserted instantly at the edit position.
      

editor: cross move text blocks between multiple views

top
If two or more views are open, with at least two of them in edit mode,
then text blocks can be moved in an optimized way like this:

Example:

   Three views open, editing in the left and middle view.

   -  You see text line(s) in the left view that you want
      to move to the edit cursor in the middle view.

      To do so, mark the whole line by
      1. place cursor at the start of the first line
      2. keep SHIFT pressed
      3. press CURSOR DOWN, until all lines are marked.
      
      Then press CONTROL+DELETE. The whole line or block
      of lines is moved into the second view.
      

editor: auto insert nearby words or text lines

top
Imagine you are editing text, and within the same window,
you see some text above like

      int iTheFooCounter = 0;
      
Now you want to insert the word "iTheFooCounter"
at the editing cursor. There are three ways of doing it:

   1. Notepad style, slowest:
   
      -  double click on iTheFooCounter.
      -  CONTROL+C to copy into clipboard.
      -  click to your editing position.
      -  CONTROL+V to insert.
      
   2. Depeche View Quick Copy, faster:
   
      -  CONTROL+click into iTheFooCounter.
         (=keep CONTROL pressed, click into the word,
           release the CONTROL key.)
         the word is copied into the clipboard.
      -  press CONTROL+V to insert.
      
   3. Depeche View Auto Insert, fastest:
   
      -  click on the MODE button at right bottom,
         activate Auto Insert.
         
      -  now, while editing, just CONTROL+click
         into iTheFooCounter.
         
         -> it is copied to clipboard and then inserted 
            at the cursor position immediately.
            

editor: saving with DOS (CRLF) or unix (LF) line endings

top
If a file contains at least one CRLF (not just LF) line ending,
the editor saves it in that mode. otherwise [unix] is displayed.

Conversion from/to CRLF format must be done outside DView, 
for example with the Swiss File Knife's "remcr" or "addcr" command.

editor: inserting TAB chars or spaces when pressing TAB

top
If a file contains at least one TAB character, insertion of TABs
is also done with native TAB chars, otherwise as blanks.

However, you may select to always insert blanks when pressing TAB
by activation the mode menu option "always blank tabs".

Detabbing of text, i.e. conversion of all TAB chars to blank chars,
must be done outside DView, for example with the Swiss File Knife's
"detab" command.

internal text editor general limitations

top
PLEASE NOTE:

   -  the Depeche View internal text editor is a simple editor,
      suitable to edit many small text files, but not large ones.
      Editing of large files (multiple MB of text) can be slow.

      To edit large sections in a single file, it may still make
      sense to use an external editor, like described here.

   -  within one window, you can only edit a single text at a time.
      The other text files are grayed out until you leave edit mode
      either temporarily, e.g. by a global search, or permanently,
      e.g. by clicking on Save.

   -  only ASCII text files can be edited. it is not possible to edit
      wide character files, anything containing binary data, or files 
      within zip archives. DView internal text like the help text
      or clipboard contents cannot be edited as well.

   -  wrapped text cannot be edited.


Chapter 10: Pro: Painting In Text With Colorful Markers.

top

highlighting words

top
You are surfing over text and want, for example, all "Chapter"
words highlighted in a special color? In Depeche View Pro,
you may do this:

   -  point the mouse cursor at the word "Chapter" above.

   -  press CONTROL, release CONTROL, press CONTROL, release CONTROL,
      WITHOUT moving the mouse, all within a second.
      (a "double control" move).

Instantly, all visible "Chapter" words will be highlighted.

unhighlighting words

top
Repeat the above move on the same word to switch off the highlight.

To reset all highlights of all words, use Double Control on BLANK space.

You can highlight any number of words, however the number of 
available colors is limited.

highlighting character precise phrases

top
Let's look again at the great example:

   FooController::testBar(char *pszCandy)
   FooController::importantSubFunc
   FooController::testBar(char *pszCandy)
      FooController::importantSubFunc
   FooController::importantSubFunc
   FooController::testBar(char *pszCandy)

Now, if you want to highlight all "char *pszCandy" phrases,
whatever that is, but how do you do that?
Double Control on "char" only highlights the word "char".

Follow this slightly complicated process:

   -  move the mouse cursor onto "c" of "char" and concentrate.

   -  press CONTROL, release CONTROL,
      press CONTROL and KEEP IT PRESSED,

      then PRESS the LEFT MOUSE BUTTON
      and KEEP IT PRESSED,

      and do this all WITHIN ONE SECOND.

      the "c" should be highlighted.

      if it doesn't, you were too slow.
 
   -  move the mouse slowly over to "y" of "Candy".
      don't panic, you have endless time now.

   -  when done, RELEASE the mouse button.

   -  then RELEASE the CONTROL key.

With this "OneAndAHalve Control Presses", you can highlight
any phrase you like.

word highlight case sensitivity

top
If you mark "foobar" for highlight, will "FooBar" also be highlighted?
By default, yes. To change that, select "mode / case highlights",
which toggles highlight case sensitivity independent from the search.


Chapter 11: Advanced Bookmarking.

top

mixed display of text and bookmarks

top
Check Setup / general / allow text overlapping bookmarks
(or press CTRL+SHIFT+Q) to enable "text over bookmarks" display,
which means that text lines extending into the bookmark area
are displayed over the bookmark text.

With this mode active, the following mouse gestures can be used:

   -  to give bookmarks priority over text:

      move the mouse cursor into the bookmarks area,
      then leave the bookmarks area to the LEFT.

      -> the text is NOT visible (hidden under bookmarks)

   -  to give text priority over bookmarks:

      move the mouse cursor into the bookmarks area,
      then leave the bookmarks area to the BOTTOM.

      -> the text IS visible (over the bookmarks)

creating bookmark remarks

top
If you have many bookmarks, you may want to arrange them in blocks,
with blank or remark lines inbetween.

To create such a remark, press CONTROL+R (like Remark).

You will be prompted to enter the remark line text
(you may as well enter nothing to create a blank line),
which is then added after the currently selected bookmark.
If none is selected, the remark is added at the end of list.

creating an empty bookmark remark line

top
If you only want to insert a blank remark line (spacer)
after a bookmark, press CONTROL+SHIFT+R.

changing an existing remark

top
Doubleclick onto a bookmark remark to edit it's text.

the mousebookdelay

top
As long as the mouse cursor is located in the bookmark area,
any word search will be delayed. This is because any search
term entered also highlights bookmarks matching your search
(a pre-search in the bookmarks), so you have some time to
click on a highlighted bookmark, before a full text search
is started. Give it a try:

   -  move the mouse cursor into the bookmark area.

      concentrate on the "find:" mask.
      right beside it, it should now say "on bookmarks".

   -  now type what you want into the find mask.
      you will notice that the search is DELAYED,
      by default for 3 seconds. this delay can also 
      be configured by the config setting "mousebookdelay".

   -  if any bookmark text (or file path) matches
      your search term, those bookmarks will be highlighted.

   -  as soon as the mouse is moved outside the bookmark area,
      1. the search delay is set to the normal value.
      2. a pending search is started without further waiting.

using a bookmark's search context

top
When you create a bookmark, Depeche View also remembers
   -  the text in the find mask
   -  the text in the path mask

which is called a "search context". By default, it isn't used,
but for example, if you are searching a tracefile with a complex
expression like

   error: AND warn: AND subfunc AND foofunc NOT info:

and then create a bookmark within the text, you may want to reuse
this search expression later, to save much typing. To do so,

   -  click on the little box left to "DEL", right beside the bookmark.

The search context is then activated, which means:
whenever you click on the bookmark,

   -  the find mask is filled in
   -  the path mask is filled in

with your original search expression.

jumping into a bookmark's path context

top
Instead on just clicking a bookmark, you may hold SHIFT and then click on it.
In that case, the path of this text location is filled in automatically
into the path mask (independently from any search context use).

exporting and importing bookmarks via clipboard

top
Click on "setup" and then on "copy bookmarks to clipboard".
The current bookmark set is now within your clipboard,
in a plain text form suitable for emailing, or for editing
in a plain ASCII text editor like notepad.
When finished with editing, mark the whole bookmark text,
copy it to the clipboard again, then enter Depeche View.
Select "setup" and "import bookmarks from clipboard"
(or simply press SHIFT+INSERT). The existing bookmarks
are all replaced by those from the clipboard.

NOTE: search contexts cannot be exported, and are lost on import!


searching the bookmarks, not the text

top
If you have created many bookmarks and start loosing the overview,
have a close look on how the bookmarks are highlighted sometimes:

Whenever you type something into the find or path mask,
the bookmarks are searched FIRST if their content may match.
If so, the matching bookmarks are highlighted.

Therefore try this:

   -  move the mouse into the bookmark area,
      to delay automatic search while typing.

   -  then type, for example, "class".

      -> all bookmarks having "class" in their bookmark title,
         or in their full bookmark line (remembered internally)
         will be highlighted.

   -  or type ".cpp" into the path mask

      -> all bookmarks with a location in a .cpp file will be highlighted.

   -  after several seconds, dview will run a search for what you typed;
      if you're interested just in the bookmarks, ignore that.

      but if NO bookmark is highlighted, your search term didn't match
      any bookmark - so you were about to run a normal search, anyway.


Chapter 12: The Message Log.

top
Status informations are shown
   -  in the line right near the "find:" mask

   -  and in the message log at the right bottom.

Messages in the message log disappear after a few seconds,
but you can show these messages again by the log control button,
a small triangle in the very right bottom of a fullscreen view.
Hoover the mouse cursor over it for temporary display,
or click on it for a permanent display of log messages.


Chapter 13: Combining DView With An External Text Editor.

top

how to jump from dview into your favourite editor

top
Imagine you are within DView, the active file is foo.cpp,
and you are reading a text line like

   FooSys::BarDriver

now you want to jump into an external text editor,
to exactly that location. Then do the following:

   -  select: Setup / edit / external text editor / select
      and browse for your favourite editor's .exe file.

If the text editor command contains only that .exe,
DView will auto-append the absolute filename of the
target text when calling it. Alternatively, you may append

   $absfile    - the current file's absolute filename
   $curfile    - the current file's relative filename

surrounded by quotes, to be safe on paths containing blanks.
For example, your edit command may look like:

   c:\Program Files\FooEdit\FooEdit.exe "$absfile"

then close the Setup dialog, and press CONTROL+S to save
the changes into the configuration file.

Now, within any text shown in DView,

   -  locate the mouse on a text line of interest,
      in our example "FooSys::BarDriver".

   -  press CTRL+E like "Edit in External Editor".
      (please do not try that in this help text, it won't work)

Now the following should happen:

   -  the text line under the mouse cursor,
      e.g. "FooSys::BarDriver", is copied to clipboard.

   -  the exernal editor is started, and the current filename
      is passed, e.g. "c:\the\src\tree\foo.txt"

Now you are within your editor, with the current text file loaded.
To jump to the text line of interest,

   -  open a search dialog (CTRL+F within most editors).

   -  press CTRL+V. the text line of interest is pasted
      from the clipboard into the search dialog.

   -  press ENTER. maybe you also have to press ESCAPE
      to close the search dialog.

And then you are within the editor, in the same file,
at the same text line as you were in DView.

To repeat, the action sequence is
 
   -  point the mouse at a relevant text line within DView.

   -  press CTRL+E.

      the external editor should come up, loading the text.

   -  press CTRL+F, CTRL+V and ENTER in the editor.

Note: you may also use CTRL+SHIFT+E instead of CTRL+E to skip
      the text copy to clipboard before the editor is started.

how to jump from your favourite editor into dview

top
Imagine you are within your external editor or IDE,
within a file "foo.cpp", and see a section like

   int FooSys::BarFunc()
   {
      ...
   }   

now you wonder "who is calling BarFunc", i.e. where is
the word appearing in a global search? Naturally,
you want to run a quick search in DView.

To do so, there are two ways:

1. manual application change and search

   -  mark the word "BarFunc" in your editor,
      usually by a double mouse click.

   -  press CTRL+C to copy that to clipboard.

   -  activate the DView window, assuming that you
      ran DView previously.

   -  press CTRL+V to search "BarFunc".

This procedure can be optimized the following way:

2. DView Pro: clipboard hot search from external applications

   -  in DView Pro, click on "clip".

   -  under "Clipboard Hot Search", select "Search in First View".

   -  click on "Apply Changes".

   the "clip" button will be highlighted in orange.

   -  mark the word "BarFunc" in your editor,
      usually by a double mouse click.

   -  press CTRL+C to copy that to clipboard.

      -> the word is searched instantly in DView.

Pro: auto reload of changed files

top
With Depeche View Pro, F5 reloads all changed files.
CONTROL+F5 reloads only the current file (where the mouse is located).

To have all changed files reloaded automatically whenever you re-enter
the DView window, right click on the reload button, to activate
the auto reload mode.

If an editor is open in the current view, F5 does not reload,
but discards editing changes and closes the editor.

Pro: optimizing and skipping of auto reload

top
If you have many text files loaded (10000 and more), there can be
a second of delay whenever you reenter the DView window,
because DView has to check all those files for changes.

skip autoreload manually

top
If you press SHIFT, or CONTROL, or ALT while reentering the DView window,
you can skip the auto reload file scan. A blue "reload" button is shown,
allowing you to do the reload scan later on.

For example, if you are outside DView in a text editor, and then want
to copy a phrase from within DView, just keep CONTROL pressed as you
enter the DView window to INSTANTLY copy a phrase, without waiting
a millisecond for any reload operations.

skip autoreload by file size

top
Autoreload of large files may also be postponed automatically,
via Setup / workspace / delay auto reload of files larger than.
Just enter a MBytes value here and set the check box.

limit autoreload to directory names

top
Imagine you have a 20000 files project loaded that looks like:

   myproject\BaseLib\include
   myproject\BaseLib\source
   myproject\Tools
   myproject\DataBase
   myproject\GUI\library
   myproject\GUI\application
   myproject\Config\testdata
   myproject\Config\examples
   myproject\log
   myproject\errors

However, you are editing only within:

   myproject\GUI\application
   myproject\Config\testdata

and produce output files into:

   myproject\log
   myproject\errors

then it doesn't make sense to scan ALL files for changes
whenever you reenter DView. Instead, the tool should
scan only the four top level folders where changes are expected.

To do so, enter Setup / workspace:

   -  check "limit auto reload to top level folders".

   -  and below that, type the blank separated list of absolute path names:

      myproject\GUI\application myproject\Config\testdata myproject\log myproject\errors

Be aware that you can only list full top level path names
as they are shown under every :file: header, but no "*masks*"
or sub folder patterns of any kind. You may enter a line 
of up to 2000 characters.


Chapter 14: Defining A Workspace.

top

how to load only specific file types

top
If you open or append a directory content,
ALL text files from within that directory tree will be loaded.

In many cases, this is too much. Especially when searching
in a huge source code base, you may want to load all .java
or .cpp files, but not every .xml or .tmp file.

This can be achieved

   1. by the file loading filters and options dialog

   2. or by running dview from the command line

   3. or by creating fileset definitions.

file loading filters and options dialog

top
Click on the four-light button right next to "open".
The file loading options dialog appears, which is basically
self-explaining: hoover the mouse over any element,
and read the local help text shown under "additional infos".

Just a short summary of the most important fields:

   -  if you want to load ONLY files containing some word
      in their filename, enter the list under "load only
      from filenames", separated by blanks. if you want
      to EXCLUDE files containing some word, list them
      prefixed by "!". for example:

         .cpp .hpp .java !.tmp !.bak !.save

      loads foobar.cpp and goo.java but NOT foobar.bak

   -  if you want to EXCLUDE subdirectories containing
      a word in the directory name, make a list of words
      prefixed by "!", e.g.

         !\tmp !\save

      excludes all files from "tmp", "tmp1", "tmp100"
      and "save" directories.

all command line options

top
Depeche View uses the Swiss File Knife file selection syntax.

short format:

   dview [options] singleDirName [filePattern1 filePattern2 filePattern3 ...]

long format:

   dview [options] -dir mydir1 [-file fpat1 ...] -dir mydir2 [-file !fexpat3 ...]

The available options are:

   -area ...  set absolute startup window location and size
   -space ... set relative startup window location and size
              for details see display area size and location.
   -max       start maximized, covering the whole desktop.
   -lean      start with non maximized width, in isolated view mode
              (without a master frame, without pull down menu).
              as long as there is no second window, the initial one
              can be maximized by F1.
   -edit      Pro: if only a single file is loaded, enter edit mode.
   -isolated  starts with isolated frame mode. you may also use "-iso".
   -overscan  starts with isolated overscan mode. you may also use "-over".
   -verbose   during startup, tell in the message log in detail which root dirs,
              dir masks and file masks have actually been selected for loading. 
              helpful to analyze why some files are loaded, and others not. 
              the output may differ slightly from what you specified,
              for example "*" file masks may be added automatically if you only
              supplied an "!" exclusion, or ".zip" file masks may be converted
              into path masks (i.e., dir masks starting with "*").
   -nosub     do not load subdirectory contents.
   -hidden    also load all HIDDEN or SYSTEM files (not default).
              helpful if you need to search through configuration files,
              for example of your web browser.
   -allbin    also load all binary files (extracting text parts).
   -wrap[=n]  wrap long text lines at current screen width, or column n.
   -wrapbin=n wrap text extracted from binary files at column n.
   -arc       Pro: load contents of .zip .jar .ear etc. archives
              and also .gz, .bz2, .tar, .tar.gz and .tar.bz2
              as deep as possible, including nested archives.
   -qarc      Pro: quick load archives, load only archive entries
              at the top level, skipping nested archives.
   -since     load only files changed since this timestamp, e.g.
                 "2006-01-31 12:15:59" or 20060131121559
                 2006-01-31 or 20060131
                 today : files changed since midnight of today
                 1d    : changed since 1 day, i.e. not counting
                         from midnight, but 24 hours into the past
                 5h, 30m, 10s : 5 hours, 30 minutes, 10 seconds.
   -before    load files modified before that timestamp.
   -today     short replacement for "-since today".
   -usectime  use creation time instead of modification time.
              may not be available on some filesystems.
   -sincedir  compare against another directory, load files that
              have been added, have different time, or content.
   -sinceadd  like -sincedir, load only added files.
   -sincedif  like -sincedir, load only changed files.
              does not load files with diff. time but same content.
              does not load added files.
   -sincechg  load files with different content, and added files.
              does not load files with diff. time but same content.
   -umlauts   with binary-to-text conversion, include german characters.
   -flist fn  or "-fl fn" reads list of filenames from file fn.
   -fileset x use a fileset definition. more on that below.
   -utf       load also utf-16 (ucs-2, wide char) file contents.
              this option is experimental, and will only extract
              plain ASCII text contents from those files.
   -memlimit=n set the caching memory limit to n mbytes (default=300).
              if zip etc. archive processing is very slow, it may be caused by
              a cache overflow. try to increase the -memlimit then.

   details of filename / extension selection:

      - when specifying a filename pattern beginning with a dot "."
        and no wildcard, only files with this extension will be selected.

      - otherwise the pattern is searched anywhere within the filename.
        to force a filename start comparison, say \pattern (with a slash).

      - filename means the relative filename, not directory or path name.

command line file selection examples

top
dview foodir .txt .hpp .cpp

   loads all .txt, .hpp and .cpp files from the directory tree foodir,
   including all subdirectories. this is the short file selection syntax,
   with ONE directory name, and MANY file patterns.

dview -nosub -today foodir

   loads all text files from foodir that have been changed today,
   however excluding sub direcory contents.

dview -dir foodir1 -file .h .c -dir foodir2 -file .txt !.tmp.txt

   loads all .h, .c and .txt files from foodir1 and all .txt files from foodir2,
   however excluding all files from foodir2 ending with ".tmp.txt".
   this is the long file selection syntax, supporting any number of directories
   and any number of file patterns.

dview -arc -dir foo1.zip foo2.tar.bz2

   loads all text files from foo1.zip and foo2.tar.bz2.
   note that archive files are treated as directories.
   by default, archive files embedded within the listed
   archive files are loaded as well.

dview -arc -dir foo1.zip foo2.tar.bz2 -file .txt .js .cc

   loads .txt, .js and .cc files from the archives
   foo1.zip and foo2.tar.bz2. in this case, the same
   file filter is used for both directories.

dview -arc -dir foo1.zip -file .txt -dir foo2.tar.bz2 -file .cpp

   load all .txt from foo1.zip, and all .cpp from foo2.tar.bz2.
   in this case, separate file filters are used per directory.

Typical errors in command line file selection

   BAD: dview -arc foo1.zip foo2.tar.bz2

        -> this actually means "load all files having foo2.tar.bz2
           in their name from foo1.zip", and will not load anything.
           use "dview -arc -dir foo1.zip foo2.tar.bz2" instead.

   BAD: dview -nosub -arc -dir foo1.zip

        -> exclusion of subdirectories is not supported within archive files.
           however, if you want to disable the processing of archives embedded
           within archives, you may use "dview -qarc -dir foo1.zip"

   BAD: dview -arc -dir . *.xpi *mysrc.tar.bz2

        -> the intention is to load only contents from .xpi files
           and mysrc.tar.bz2. however, if many other archive files
           are present within the current directory ".", dview
           will SCAN THEM ALL, searching for files embedded within
           ANY archive having ".xpi" or "mysrc.tar.bz2" in their name.

           so, the command must be rewritten to list the exact names
           that should be loaded, like

              dview -arc -dir foo1.xpi foo2.xpi foo3.xpi mysrc.tar.bz2

Whenever in doubt, use option -verbose to see in the message log
what DView really tries to load.

defining filesets

top
Another way is to define "file sets", which are simply text files containing:

   -  directory names to include or exclude

   -  filename patterns or extensions to include or exclude

example: 
-------- file mywork1.txt begin ----------

      # within this directory tree
      -dir  mysrc\baselib

         # take only .h .c .txt files
         -file .h .c .txt

      # within this directory tree
      -dir  mysrc\foobank

         # exclude all save and tmp dirs
         !\save\
         !\tmp\

         # then take only .hpp and .cpp files
         -file .hpp .cpp

      # from this directory tree
      -dir  "C:\Docs With Blanks"

         # take all files except .bak and .tmp
         # and except names containing "old stuff"
         -file -all !.bak !.tmp "!old stuff"

-------- file mywork1.txt end ----------

As you may guess, lines having '#' as first character are remarks,
and names containing blanks must be surrounded by double quotes "".

using workspace definitions from the command line

top
So the above fileset defines 3 directories, and what to load
and not to load from those directories. Now copy the above
text into a file "mywork1.txt", then run dview from the command line:

   dview -fileset mywork1.txt

And dview will load the text files as defined in mywork1.txt.

using workspace definitions when starting by icon

top
You may also create a Depeche View Icon on the desktop,
via the Icon button, then open the Icon properties,
and change the Icon's "target" field. For example, 
if dview is located in C:\app\bin, you may change it to

   C:\app\bin\dview.exe -cfg1 -fileset mywork1.txt

Then, a double click onto that icon will load that workspace.
(-cfg1 is not strictly required, but recommended as it tells
the tool that it's started by an Icon.)

bookmark filename definition with filesets

top
When using filesets, what will be the bookmark filename?
Just as if you say "-dir mydir1 -dir mydir2" on the commandline,
the first directory tree will be taken to build the bookmark
file base name, all others will be ignored.

In the example

      -dir  mysrc\baselib
         -file .h .c .txt !.hpp !.cpp

      -dir  mysrc\foobank
         -file .hpp .cpp

      -dir  mysrc\formats
         -file -all !.bak

the bookmark filenames would be

      mysrc\zz-baselib-bookmarks.1.dvbm
      mysrc\zz-baselib-bookmarks.2.dvbm
      mysrc\zz-baselib-bookmarks.3.dvbm
      ...

If you want to load bookmarks from somewhere else, read more here.

using plain filename lists

top
Sometimes you may want to load files whose names are listed in a simple text file,
called a file list. This can be done by

   dview -flist names.txt

loading text extracts from binary files

top
By default, dview skips all binary file contents. But sometimes it may be
interesting to take a peek into binary files, e.g. to search through
meta informations in (smaller) media files. To do so, you can

   -  click on the load options button right next to "open",
      then check "load text from binary files".

   -  OR: click "open / load text from a single file", then select
          a single binary file. this way you don't have to check
          the "load text from binary files" option.

   -  OR: run dview from the command line,
          supplying a single binary file name

   -  OR: run dview from the command line,
          with option "-allbin" and a directory name, e.g.

            dview -allbin mydir

In all these cases, dview tries to identifiy readable text informations
from binary files encountered, which may or may not produce anything useful.

loading hidden and system files

top
Hidden files and directories are, as the name implies, invisible,
so the directories do NOT appear in the Open dialogue, and their
contents are NOT loaded, even if you load a surrounding directory.

But sometimes it is helpful to load also hidden files.

For example, if your Firefox browser behaves unexpected,
it is very helpful to take a deeper look into it's configuration files,
especially "prefs.js". But where are those files?

Under Windows XP, they are somewhere below

   C:\Documents and Settings\userid\Application Data\Mozilla\Firefox\ ...

But, to repeat, because "Application Data" can be a HIDDEN folder already,
it may NOT appear within the Open dialogue.

So try exactly these steps:

   1. click on the load options button right next to "Open",
      check "include hidden and system files", and close Setup.

   2. select "open / load all text from a folder".

   3. click into the "folder" text entry field at the bottom.
      (may not work under Linux, as the WINE dialog might be limited)

      Now type MANUALLY:

         -  C:\documents and settings\

         -  then your userid and "\"

         -  then "application data\"

            as soon as you type the "\", the Open dialog will offer you
            further directories within the hidden folder!

         -  now type "mozilla\firefox"

      and finally press ENTER. so the whole path would be

            C:\documents and settings\yourUserID\application data\mozilla\firefox

   4. dview will load all config files of firefox.

   5. type "prefs.js" into the PATH: field.

      Now you should see what the startup config of Firefox is.

Another way: use dview from the command line

   The command

      dview -hidden -dir "C:\documents and settings" "*firefox*"

   Does the following:

      -  walk through all normal and hidden files within "C:\documents and settings",
         including all (hidden) subdirectories.

      -  but load only files having "firefox" in their path.
         (*firefox* is called a "path mask" in dview, identified by the wildcards.)

excluding subdirectory contents during load

top
By default, if you select a folder through the Open button,
dview loads the files from that folder and all it's subdirectories.

If you do NOT want to include subdirectory contents,

-  click on the load options button right to "open".

-  disable "include subdirectory contents" and close Setup.

On the next Open or Append operation, subdirs will be excluded.

When running dview from the command line, use option "-nosub".


Chapter 15: The Configuration File.

top
Intense Depeche View users will be interested in

-  how to change default settings,
   e.g. if autofilter is active already on startup.

-  how to redefine (some) hotkeys with own commands.

-  how to write own scripts and call external programs
   from within Depeche View.

-  how to extend the syntax highlighting by further languages,
   and how to change colors of the syntax highlighting.

this and more is made possible by a configuration file.

creating a configuration file

top
Click on "setup" at the right top, and then on "config".
Look at the configuration file section. 

Depeche View searches for a file dview-config.txt

   -  within the current dir (startup dir) of the program.

   -  in all directories listed in the PATH environment variable.

      (Linux users: the PATH under Wine is something different
       than the PATH environment variable, read on here.)

   -  parallel to it's own executable (in the same dir as dview.exe).

   -  in a folder "DepecheView" under "My Documents".
      ( e.g. C:\Users\yourUserName\Documents\DepecheView\dview-config.txt )

   -  in the "My Documents" folder (at top level).
      ( e.g. C:\Users\yourUserName\Documents\dview-config.txt )

   if the file is found in any of the above, this one is taken.
   otherwise, the tool will suggest a path for creation:

   -  if DView it is NOT located within "Program Files", 
      the location parallel to it's own executable is suggested.

   -  otherwise, the "My Documents" location (top level) is suggested.

   the found or suggested location is then displayed in Setup / config.

   -  if no config file exists, a create button is shown.

      to create a config at the suggested location, click on create.

      (if you prefer to create a config within "My Documents", 
       no matter what is suggested, then SHIFT or CONTROL click on create.)

   -  the config is created, and dview tries to run notepad
      to allow instant editing. if no notepad window appears,
      open and edit the config file manually with any text editor.

      if notepad appears but cannot load dview-config.txt,
      read on under config creation and edit errors.

      further information is present within that config file itself,
      through remark lines starting with "//", or by remark blocks
      surrounded by "/*" and "*/".

   -  save your changes (press CTRL+S within notepad).

   -  re-enter Depeche View. the new or changed config file should be
      loaded automatically, but sometimes it may also be necessary
      to Close and Re-Run Depeche View.

    Any errors are listed in the message log at the right bottom.
    Some features are explained only in the config file, not in this help.

Special case: the PortableApps mode

   If the Depeche View Lite executable is named DepecheViewPortable.exe,
   then it searches and creates the config file in a folder "Data"
   parallel to it's own executable.
   

automatic configuration storage

top
Since Depeche View 1.4.5, most of the settings that can be changed
in the Setup dialog or mode button menu are written back to the
configuration file automatically.

The configuration file is written

   -  whenever you press CONTROL+S (like Save),
      outside the text editing mode,
      IF there are any configuration changes.

   -  whenever you press CONTROL+SHIFT+S
      outside the text editing mode,
      no matter if there are configuration changes.

   -  when exiting Depeche View.

This means, in most cases you don't have to actively save changes
of your settings, it will be done anyway when you leave the program.

But: if you leave the DView Window, then do something in another
application, then re-enter DView, the config file might be reloaded,
and your config changes are lost. Therefore in that case, always
press CONTROL+S after closing the Setup dialogue, or after toggling
things like Autoreload.

Config saving requires that DView has full write access to the
configuration file. Therefore dview.exe should be stored in, and run from,
a folder where you always have write access, like "C:\app\dview",
or some subfolder on the Desktop, or within "Own Documents".

Please test if the config file can be written by selecting

   Settings / Save Config Now

from the pulldown menu (in master frame mode). If writing fails, 
this function will produce a popup message with detailed infos.

disabling automatic configuration file save

top
Automatic config save at program end can be disabled
by editing the line "saveConfigOnExit" in the config file.

Config save on every CONTROL+S can be disabled
by editing the line "saveConfigOnCtrlS" in the config file.

You then have to select "Settings / Save Config Now" in the
pulldown menu to save the config, or use CONTROL+SHIFT+S.

automatic extension of existing configurations

top
DView now changes entries in the config file automatically.
To do so, it scans the file for active settings, then changes these.
Active means NOT out-commented by // or /* */ comments.

However, in config files prior to DView 1.4.5, most entries
where out-commented. In this case, DView will append changed
settings at the file end, isolated from their help text blocks.

To avoid this, it is recommended to create a new default config file
through Setup / config / create to ... , then merge your old changes
(scripts, syntax highlightings) into that, and finally replace your 
old config file by the new one.

non-automatic configuration entries

top
Some settings are not available via the Setup dialog and can 
be changed only by editing the configuration file manually:

   linux
   autosaveconfig
   maxload
   maxcache
   reload-scan-max-time
   oneclicksearchdelay
   cursorblinkspeed
   userkeys
   autoloadconfig
   searchdelay
   mousebookdelay
   noumlauts
   tabsize
   wordshowtime
   wordshowdelay
   clipautodelay
   separatorline

Most of these settings are very specific tuning parameters
that you never need to change. For detailed descriptions, 
read the remarks in the config file.      

Furthermore, to define own script commands, or to extend
the syntax highlighting by further file extensions,
you also have to edit the config file.

editing an existing configuration file

top
If a config file exists already,

   -  Setup / config shows an edit button, to allow editing anytime.

   -  alternatively, you may right click on the setup button itself,
      to edit the config instantly.

config creation and edit errors

top
If you try to create or edit a config file, but the notepad
pops up with an empty window, unable to load the file,
the reason might be a protected folder like "Program Files".

If you copied dview.exe into a folder like

   C:\Program Files\DView

the tool may suggest to create dview-config.txt therein.
But this works only if the tool is run as Administrator,
which is NOT the default under Windows 7, even if
you are an admin user.

Without admin rights, Windows Vista and Windows 7 will 
REDIRECT any read or write access to that folder to:

   C:\Users\yourUserName\AppData\Local\VirtualStore\Program Files\DView\...

If such a folder was created by Windows, it is recommended
to delete it instantly, as the redirect seems to fail for notepad,
which cannot load and edit a config file from that path.

Solution 1: move dview.exe to a different folder

   Do not copy dview.exe to a Program Files folder,
   but for example to a self-created folder like
   
      C:\app\dview
   
   or to some sub folder of your desktop, or into "My Documents".

Solution 2: create dview-config.txt to My Documents

   Since DView 1.4.5, you may use Setup / config / create to ...
   then select your (My) Documents folder, and create dview-config.txt
   directly therein. If there is a "create" button at the left,
   you may also SHIFT click on it to do this instantly.

   On the next start, DView should find the file.

   However, if the tool is located in "Program Files",
   and the above mentioned VirtualStore file was created already,
   you have to delete that first, or your new config will be ignored.

Pro: running self-defined commands on hotkeys

top
You can configure Depeche View Pro to call external tools,
e.g. text editors or IDE's, or to change the find and path mask
through self defined hotkeys. Read the comments on that
in the configuration file.

Pro: running own scripts with the Razer Naga gaming mouse

top
The Razer Naga mouse comes with a built-in number keypad,
providing the digit keys 1, 2, 3 ... like on a normal keyboard
or like on a numeric keypad block. In other words, the Naga
provides more than NINE extended buttons which can be used
for scripting in Depeche View Pro.

This however requires that

   -  the Naga is running in NUMLOCK mode. turn the mouse over,
      look at it's bottom side. the config switch must be set to "Num"
      instead of "123". this way the mouse provides a numeric keypad.

   -  the Windows keyboard must also be set to NUMLOCK mode.
      If it isn't, press the "Num" key on your PC keyboard.
      If you have no "Num" key (like on many notebooks without
      a numeric keybad block), connect any cheap external keyboard,
      then press "Num", then disconnect that.

After these preparations, test your Naga keys:

   -  click on Setup / config, move the mouse into "additional infos".

   -  then press any of the Naga keys. you should see the message
      "Numeric keypad n detected". If not, check both the mouse
      and your PC keyboard for the settings described above.
      Don't be irritated if you hear beeps; this is because
      the Naga sends key press events into the Setup dialogue. 
      When used for scripting within DView Pro, the keys do not beep.

If the test succeeds, you may write config file scripts like

on key num1up
   set findmask = "class $findmask "

In this example, pressing (and then releasing) the key "1" on the mouse
extends the current search term to search for a class of that name.

NOTE: as soon as you define one or more "on key num..." commands,
      the number keypad keys can no longer be used to type digits
      into the find mask, or within text in the editor.

changing fonts

top
The display font as well as bookmark fonts can be changed
under Setup / fonts. DView will store your font settings
in the config file within statements like

   mainfont Fixedsys,8,12,400,0,0,0,0,0

which are explained in the config file itself. All of the
given parameters are selected within the Setup dialog,
except for the character width (first number on every
font statement). If you want to further optimize the
width versus height ratio of a font, you may do so
by changing that first value directly in the config file.

loading or applying changes in the configuration file

top
If you edit and save the configuration file outside dview,
then re-enter dview by activating it's window, changes in
the config file should be loaded automatically.

If you're not sure if changes have been loaded yet,
click on "reload" within Setup / config.

If you want to disable the automatic loading of config changes,
search the config file for a line with "autoloadconfig".

using alternative config files

top
As the other buttons in the setup dialog say, you can also load
config files from any location, or save them to any location.

On restart of dview, the tool searches for "dview-config.txt"
in all directories of the PATH environment variable.

But you may also supply an option "-conf filename" on startup
to load the config from a given filename. Option -conf must be
supplied first, right after "dview" (or after -linux).

If you run dview through a desktop icon, "-conf filename"
can be supplied in the icon's properties.

configuration by environment variables

top
Many settings available through the config file may also be defined
by an environment variable DVIEW_CONFIG. If present, those settings
have priority over the config file settings. For example,

   set DVIEW_CONFIG="case:yes,searchseq:no"

finding new config features in new dview versions

top
Whenever you download a new version of Depeche View, most probably
the config file supports new features. To find out about them,

   -  click "Setup" then "config"

   -  click "create to", then select a new config file name,
      for example "dview-config-new.txt"

   -  the latest default config will be written,
      and opened within notepad.

this way, you can read through all new config features,
play around with them (the new config file name will be used
until you close dview), and then decide what to take over
from the new one into your old config file.


Chapter 16: Linux Specific Configuration.

top

changing the PATH under Linux

top
Whenever the PATH is mentioned in this help, Linux users must be aware
that in many cases, this is NOT the PATH environment variable of their
Linux command shell, but a registry entry in the WINE environment,
called the "WINE PATH" here. To edit and extend this WINE PATH,

   -  type "wine regedit"

   -  then search for the word PATH (activate full word search),
      somewhere under System...Environment

   -  it's content should read like "C:\windows\system...".

      Then find out in what WINE compliant directory dview.exe is located.
      WINE compliant means the path name should start with "Z:\",
      e.g. "Z:\home\user". Then edit the WINE PATH, and add this string.

DView searches all directories of the WINE PATH for "dview.exe",
"dviewnnn.exe" (with nnn being the version number) and simply "dview"
to determine, for example, the default location for the config file.

activating the ALT key under Linux

top
It is recommended to reconfigure KDE or GNOME to NOT use the ALT key to
control window movements (eg. Ubuntu: system/settings/window settings).
Then you can use the Alt key the same way as with windows.


Chapter 17: The Easy Settings Button (No Panic Button).

top

how to disable one click search and other stuff temporarily

top
Face it - whenever a colleague, who has never seen Depeche View before,
tries to do something with this tool, he will

   -  click around in the text, just to activate the window.

   -  and if you have one click search active,
      this will ... run an instant search and jump to anywhere!

   -> your colleague will PANIC, and possibly jump out of the application window.

   -  OR: he uses dview already, but doesn't have all those
          user key definitions that you use.

   -  OR: he doesn't know what an autofilter is good for,
          but you use it all the time.

To avoid such irritating situations, do the following:

   1. colleague approaches your working place.

   2. click on the big round button right to "F" or "A".

      -> one-click search is deactivated in all views.

      -> your custom keyboard layout (if any) is decativated in all views.
         (ukeys button at the right bottom grays out)

      -> autofilter is deactivated in the current view.
         (filter button at the right bottom grays out)

      -> if a filtered view is open in the current view, it is closed.

      instead of clicking on the button, you may also

         -  press CONTROL+BLANK

      which is a bit more inconspicuous.

   3. now, let the colleague show you something in the text.
      he can click on any word - nothing will happen,
      except some text surf, which is actually a bit easier now.

      whenever you want to search a visible word or phrase, 
      use SHIFT+LBUTTON instead of just the LBUTTON.

   4. as soon as the colleague leaves your working place,
      and you need the full input power back,
      press CTRL+BLANK again. Be aware that you cannot
      use the easy button to reactivate power settings -
      this button guarantees easy settings, and nothing else.


Chapter 18: Tips and Tricks.

top

getting more search results

top
"I cannot find anything in those loaded files... But it MUST be somewhere!"

If you are rather sure that a searched phrase MUST exist within the directory
you loaded into dview, but still get no satisfying results, try these steps:

   1. are you sure that EVERYTHING from the directory was loaded?

      -  may the directory contain HIDDEN files or folders?

         Some applications (e.g. Eclipse) hide their workspace
         configuration data in hidden folders like ".settings".

         -> check "include hidden and system files" in the loading options,
            then Open the folder again.

      -  maybe you overlooked a (hidden) folder parallel
         to the folder you actually loaded?

      -  really loaded the subdirectory contents?

         -> check if the "include subdirectory contents" is active
            within the loading options.

      -  Pro: may the stuff be hidden within .zip, .jar, .tar etc. files?

         -> check "include .zip ..." in the loading options.

      -  do you try to search through binary files?

         e.g. PDF files will usually NOT produce helpful results,
              as the actual text therein is compressed.
 
         -> research how to convert binary files to plain ASCII.

            For many file formats like .pdf and .xls,
            there are free solutions somewhere for download.

      -  do you try to search wide character (UTF-16, UCS/2) files?

         by default, those files are treated as binary, and not loaded.
         but you may check "load text from wide character files" in the
         loading options dialog (button right near open), or supply the
         command line option "-utf". this feature is experimental, 
         and it only extracts any ASCII text found within those files
         (no true conversion of special characters).

      -  did you click on "open / load ..." instead of "open / append ..." ?

         then older file contents may have been dropped from memory.

         -> clear the FIND: and PATH: mask, then click on "filter",
            to view the list of all loaded files.

   2. are your search settings fuzzy enough?

      -  the "case" button should NOT be active (case insensitive search).

      -  the PATH: field should be empty (global search accross everything).

      -  searching for words that may contain special characters of European languages?

         then accent insensitive search may help.

      -  not sure if the word is somewhere between "" quotes, '' or even ´` quotes?
         or may foo\bar\path also appear as foo/bar/path ?

         then punctuation insensitive search may help.

      -  searching a combined phrase like "foo*bar"?

         +  then click on the "noseq" button to ignore the word sequence.
            with "noseq" active, the phrase "foo*bar" will find:

            (1)   foo went to the zoo and talked to bar.
            (2)   bar was talked to when foo walked to the zoo.
   
            Case (2) will NOT be found with the default setting (noseq not active).

         +  if you are reading through wrapped text,
            "bar" may appear on a different line then "foo",
            and therefore some possible results may not be found.

      -  sure it is exactly that word? try word variations, e.g.

            "bean" instead of "beans"
            color OR colour

displaying TAB characters within the text

top
Press CTRL+T to highlight all TAB and SPACE characters in the text.
TABs will be shown in blue, SPACEs are shown in yellow.

select very large TAB sizes for better reading of CSV tables

top
If you have loaded TAB separated ASCII CSV data, e.g. a spreadsheet export,
try CONTROL+SHIFT+TAB to select very large TAB distances from 20 to 60 chars.
This should make reading of table data much easier.

Use just CONTROL+TAB to go back to normal TAB sizes from 2 to 8 chars.

word wrapping

top
Press CTRL+W to wrap the current selected text to the current window size.
Existing line breaks (paragraphs) are kept; this means that if there are
only short lines that do not go beyond the right window border, you will
see no difference.

If you wrapped a text, then change the window size afterwards,
or change to a window with a different width,
you have to press CTRL+W again to readjust the wrapping.

With stream text, e.g. text extracted from PDF files, you may also try
CTRL+SHIFT+W to force a streamed wrapping, ignoring simple line breaks.

There is also a command line option to wrap text while it is loaded,
but this is less flexible as you may not change the wrapping afterwards.

Limitations:
-  wrapped text cannot be edited unless unwrapped,
   and word wrapping cannot be used in text edit mode.
-  this help text cannot be wrapped.

how to search a combination of "30", "*" and "60"

top
If you want to search occurrences of the literals "30", "*" (the actual star)
and "60" within the same line, because you want to find stuff like:

   long   nSeconds = 30 * 60;       // wait 30 minutes
   long   nSeconds = 30*60;         // wait 30 minutes
   double dSeconds = 30.0 * 60.0;   // wait 30 minutes

a bit of thinking is required:

   -  just typing "30*60" may not help, as it finds literal "30" and "60"
      with any text inbetween, producing too many results.

   -  switching off operators won't help as well, in this case
      only the literal 5-character string "30*60" is searched.

   -  escaping the phrase like "30***60" doesn't help either,
      dview takes the first "**" encountered and searches
      for a literal "30*", then anything, then "60".

Therefore, use "30 AND ** AND 60" instead, to make sure a literal star "*"
is really included in your search.

Pro: example for extending the syntax highlighting

top
Depeche View comes with a default syntax highlighting for some programming languages,
which is kept very simple, using very short word lists to keep the executable small.

Depeche View Pro allows to extend the syntax highlighting by selfdefined languages.

For example, if you want to read through many JavaScript files, it can make sense
to extend the syntax highlighting by something more comfortable.

To do so, add the following block to the configuration file:

<Language name="javascript" ext="js" commentLine="//" commentStart="/*" commentEnd="*/">

   <Keywords name="keys6">
   </Keywords>

   <Keywords name="keys2">
   </Keywords>

</Language>

This is an empty language definition for all .js files, defining two groups of keywords.
By the way, it is "keys6" and not "keys1" by intention, more on that below.

Now, all you have to do is to fill in long keyword lists between the <Keywords>
and </Keywords> lines. 

For example, you may download the free Notepad++, then look for the files

   langs.xml
   plugins\APIs\javascript.api

Search "langs.xml" for the string "javascript", and you find a block like

   <Language name="javascript" ext="js" commentLine="//" commentStart="/*" commentEnd="*/">
      <Keywords name="instre1">abstract boolean break byte ...
   </Language>

Simply take the words from the <Keywords> block and fill it in above after "keys6":

   <Keywords name="keys6">
   abstract boolean break byte 
   case catch char class
   ...
   </Keywords>

But these are only the most basic commands of Javascript. What is missing is a long list
of well-known class and object names. To do so, load the plugins\APIs\javascript.api file,
which contains a list of keywords like:

   Anchor
   Applet
   Area
   Array
   ...
   window
   with
   zIndex

Copy and paste the whole list into between <Keywords name="keys2"> and </Keywords>,
that it will look like:

   <Keywords name="keys2">
Anchor
Applet
Area
...
   </Keywords>

That's it! After a reload of the config file, all .js file contents will be highlighted
by the new definition.

And why "keys6"? We could have used "keys1" as well, but by default,

   -  keyword lists 1 to 5 all use BLUE color.
   -  keyword list 6 uses ORANGE color.

therefore we use "keys6" to have an instant optical difference.

Pro: changing the syntax highlighting colors

top
DView's syntax highlighting supports six different keyword groups,
and each group can be assigned an individual color in the config file:

   color shl-keys1   0000D0   // keywords group 1, blue color
   color shl-keys2   0000D0   // group 2
   color shl-keys3   0000D0   // group 3
   color shl-keys4   0000D0   // group 4
   color shl-keys5   0000D0   // group 5
   color shl-keys6   F06000   // group 6, orange
   color shl-remarks 008060   // remark lines and blocks
   color shl-strings 707070   // string literals

The "0000D0" etc. values are RGB encoded colors, i.e. 0000D0 is BLUE.
The default highlighting uses group 5, 6, and the remarks and strings
color definitions. If you change these lines, the default colors are changed.

If you want to extend the syntax highlighting with own experimental colors,
best use groups 1 to 4, like:

------------- example-begin ------------

<Language name="mylang" ext="xyz efg" commentLine="//" commentStart="/*" commentEnd="*/">
   <Keywords name="keys1">foo</Keywords>
   <Keywords name="keys2">bar</Keywords>
   <Keywords name="keys3">goo</Keywords>
   <Keywords name="keys4">hoo</Keywords>
</Language>

color shl-keys1  FF0000  // red
color shl-keys2  00FF00  // green
color shl-keys3  0000FF  // blue
color shl-keys4  00FFFF  // cyan

------------- example-end ------------

In this example, all files with an extension of ".xyz" or ".efg"
(make sure NOT to write the point "." in the extension list)
will be highlighted in six different colors:

   -  all "foo" words will be shown in red.
   -  all "bar" words will be shown in green.
   -  all "goo" words will be shown in blue
   -  all "hoo" words will be shown in cyan.

   -  all remarks starting with "//" will be shown in green (default color).
   -  all "" and '' string literals will be shown in gray   (default color).

More details and examples can be found in the config file's remarks.

changing the display area size and location

top
By default, Depeche View covers nearly the whole desktop.
You can configure the tool to use a different area from start:

   -  by setting a configuration entry "area x:y:w:h"
      or by supplying a command line option "-area x:y:w:h"

      where x,y = position of left top corner
            w,h = width and height of area in pixels

      example: area 20:20:800:500

   -  by setting a configuration entry "space"
      or by supplying a command line option "-space"
      to use the whole desktop minus some free border space.

      the space option accepts these parameter formats:

         space n        - space for top,right,bottom,left
         space v:h      - vertical and horizontal space
         space t:h:b    - top, horizontal, and bottom space
         space t:r:b:l  - top, right, bottom, and left space

      examples:
 
         space 0        - cover the whole desktop, leave no space around
         space 20:40    - leave 20 pixels vertically, and 40 horizontally
         space 0:0:40:0 - cover whole desktop except 40 pixels at bottom

If several windows are opened, this area defines the overall area
that is used by all windows together. After changes to this option
Depeche View must be restarted.

reducing load times through snapfiles

top
Loading thousands of small files can take quite some time,
but loading one large file with the same content is faster.

If you often search within directories whose content never changes,
e.g. all header files of your compiler, or html documentation files,
you may pack them all together into one large file,
the so-called "snapfile" (a snapshot of file contents).

This can be done with the free Swiss File Knife, available from
http://stahlworks.com/dev/

Type on the command line:

   sfk snapto=all.txt thedir .cpp .hpp .xml                                 

This command collects all .cpp .hpp and .xml files from "thedir" into
one large snapfile, "all.txt".

Or, if you have defined a fileset, simply type

   sfk snapto=all.txt -fileset myfileset.txt

to collect all that is defined in myfileset.txt into all.txt.

Then type "dview all.txt", and the tool will load this file directly.

NOTE: if the text files change on the harddisk after snapfile creation,
      you get the old contents displayed. clicking reload will only work
      if the snapfile contains time informations (requires sfk >= 1.5.0),
      and even then the scanning of all file times will take some time.
      Therefore snapfiles should be used only for files that do not change.

NOTE: if you load a directory tree containing snapfiles, they are skipped,
      as dview expects them to be redundant copies of the directory content.
      to load a snapfile, you must explicitely supply it's name on startup,
      or later through clicking "open / load from file", and then selecting it.
      Appended snapfiles MUST use the same filename header prefix (":file:").

special options

top
Command line option -noshl or pressing CTRL+F8 disables syntax highlighting.

Press CTRL+SHIFT+P to activate the "power settings", meaning:
autofilter, autoreload, nocase, accent, punctuation and sequence
insensitive search, and reduced search delay after typing.

optimizing the search delay after typing

top
Whenever you type something into the find or path mask, dview waits
a moment before the next search is started. The calculated wait time
is a compromise between fast reaction to your input, and to avoid
unwanted interruptions of your typing, as long as your search phrase
is not complete. You can toggle the maximum time that dview waits
by pressing CTRL+P, or by setting the "searchdelay" config file entry.

-  with small projects below 5000 files, you can try to reduce
   the max delay to 400 or 200 msec for a faster feeling,
   however, this is also a matter of taste; not everyone likes
   an instant screen update on every key press.

-  with large projects of 10000 files or more, you should try
   to select 1200 msec through CTRL+P, or even a higher value
   through the "searchdelay" config file entry, to make sure your
   typing is not interrupted too often.

how to improve loading speed

top
If you work on a machine with few memory, and try to load
a large project, it may happen that loading is fast
at the beginning, but then becomes very slow after a while. 
In that case, the system is probably swapping,
i.e. there is not enough physical memory available.
You may then try the tips under how to reduce memory use.

To improve loading of many small files in general,
you may also read: reducing load times through snapfiles.

default load limit before DView asks back

top
If you are loading text from a very large directory tree,
there is a danger that too much memory is consumed,
making the program extremely slow and unusable, as the
operating system starts "swapping" memory to hard disk.

To avoid this, DView will pause loading when reaching
a load limit, calculated from the amount of available
free memory on your system. It then shows a popup,
and you can decide if to continue loading, or to stop.

To disable the popup permanently, search the configuration file
for an entry "maxload". For example "maxload 1000" will lift
the popup limit to 1000 MB of text.

how to reduce memory use

top
-  check if the global dictionary is active. look at
   the small balloon button below "mode": if it's orange,
   then stop loading, click on the button to deactivate,
   so that it appears blue. then load all text again.
   see also Setup / general / create dictionary ...

-  reduce the amount of loaded text by defining
   in further details what to load, and what not.
   find more under file loading filters and 
   under filesets.
   
-  you may also disable the Display Cache, as it takes
   some additional MBytes of memory per view.
   To do so, uncheck Setup / general / use display cache
   and then restart DView.

how to improve search speed

top
If you search words in really large projects (20000 files and more),
the following tips can help:

-  so far, using the OR operator is rather slow and will drop
   the search performance massively. using only AND phrases,
   or AND together with NOT, will keep your search at maximum speed.

-  a global search across all files will always take longer than a search
   that is limited to specific files. even if you don't know which files
   to include in your search, you will soon see in your search results
   some files that you want to exclude, so simply write "NOT " and
   the unwanted extension in the path mask.

-  hardware: DView is not optimized for multi core CPU's,
   therefore it is possible that a search runs faster on a single core
   then on a multi core CPU. it all depends on the number of GHz
   and cache size available per core.

how to improve text display speed

top
If you experience a slow down while surfing through text,
you can try (a combination of) the following:

-  make sure your mainfont does not use a negative line spacing.
   e.g. the default for the large mainfont2 is

      mainfont2 Courier New,11,22,700,-2

   with a line spacing of -2, for a compact display of many lines;
   however, this eats some performance. you may change that to

      mainfont2 Courier New,11,22,700,0

   in the config.

-  avoid using complex syntax highlighting extensions in the config.
   if you define own extensions with many keywords,
   processing may slow down.

-  try different fonts; for example, fixedsys performs better
   than Courier New.

-  switch off syntax highlighting completely (CTRL+F8).

registering Depeche View within windows explorer

top
   The following requires Windows adminstrator rights,
   to give DView the permission to change the Windows registry.
   Under Windows XP, it is sufficient if you are administrator.
   Under Vista and Windows 7, exit Depeche View, then press the right
   mouse button on the DView icon, and select "Run as Administrator".

   Within DView, click Setup / config and look at "Register Depeche View ...".
   By checking "add popup meny entry", DView creates a folder popup menu
   entry "Browse with Depeche View" within the Windows Explorer.
   Then you can, within Explorer, press the right mouse button over any
   folder, and select "Browse with Depeche View" to run the tool
   and load all contents of that folder.

   If you check any of the ".zip" etc. fields, DView will also register
   itself as the preferred application to open files with that extension.

   How to remove all registrations: as soon as you uncheck all
   registration options, DView is no longer registered in Explorer.

   But what happens if you register DView, but the executable was
   located on an USB stick which is no longer plugged into the PC?
   Whenever you check any of the registration options, DView also
   creates a Windows Start menu entry "Uninstall Explorer entries"
   under Start / Programs / Depeche View, to allow unregistration
   even if DView itself is no longer present.

   NOTE: whenever you change the location of dview.exe, e.g. by moving
         it from the desktop into a folder of the desktop, you have
         to update Explorer registrations, as they point to the old path.
         To do so, uncheck then recheck the registration check boxes.

fine tuning the desktop icon

top
   if you look at the properties of the icon, you'll find parameters like   

      -cfg1 -wrapbin=80 -file -all .doc .xls .ppt .pdf -any                 

   this tells dview not only to load pure ASCII text files, but also binary 
   office files like .doc, .xls etc., extract strings from them, and display
   these as well. now, if you want further files to be included, e.g. .dll  
   or further office formats, you may add their extensions to the list, e.g.

      -cfg1 -wrapbin=80 -file -all .doc .xls .ppt .pdf .dll .exe -any       

   you may also create several icons manually, with different parameters.   
   for example, one icon may contain                                        

      -cfg1 -wrapbin=80 -file .cpp .hpp -any                                

   which will load ONLY files of type .cpp .hpp (no "-all" specified).      

optimizing the windows command prompt

top
   It is recommended that your Windows Command Prompt is well configured,
   having quick edit and insert mode active, a large window buffer size,
   and many output columns. Step by step:

      1. create a shell shortcut on your desktop:
         - open "Start/Programs/Accessories".
         - move the mouse over "Command Prompt",
           then press right mouse button, and select Copy.
         - go to an empty place on the desktop.
         - select Paste.
      
      2. on the new desktop shortcut,
         - press right mouse button, select Properties.
      
      3. in the Command Prompt Properties, set
         - Options: activate QuickEdit and Insert mode
         - Font   : select 7 x 12
         - Layout : Screen buffer size: Width 160, Height 3000
                    Window size       : Width 160, Height   30
      
      4. close Properties by clicking OK.
      
      5. double-click on the Command Prompt icon to open a shell.

   With this comfortable command prompt, you can:

      - select text anytime with the left mouse button,
        then press right button to copy the text to clipboard.

      - paste text from the clipboard into the command line
        with the right mouse button.

      - this window remembers 3000 lines of output, which should be
        sufficient for long directory listings and command outputs.

      - by pressing the TAB key, filenames are expanded.
        for example, instead of typing

           dview theverycomplicateddirectoryname

        type

           dview the
    
        then press the TAB key. or, instead of typing

           cd verylongcomplicated\subdirectorystuff\deepdocuments

        type

           cd very{TAB}\sub{TAB}\deep{TAB}

        where {TAB} means pressing the tab key.

   working this way can be much faster than with windows explorer,
   especially when using the Swiss File Knife, a free multi function
   command line tool available from http://stahlworks.com/dev/

how to view an archive file from a web location

top
If you want to read the text contents of an archive file in the internet,
you can save time by running dview from within your browser.

For example, with Firefox:

   -  within a web page, click on a link of a .zip, .tar.gz etc. file.
   -  then select "Open with ...", click on "Browse".
   -  within "Choose Helper Application", click on "Browse" again.
   -  find the location of dview.exe, and select it.

   Firefox will download the file into a temporary directory,
   then dview will be started, viewing the contents of that file.

   If you select "Do this automatically for files like this",
   all further clicks on archive links will run dview instantly.

   If you change your mind later about this, open "Tools / Options"
   within Firefox, then enter the "Applications" Tab, search
   where dview is listed, and change the setting to "always ask".

testing extended mouse buttons

top
To check which mouse buttons can be used by Depeche View, do this:

   -  click on "Setup" and then "config".

   -  move the mouse cursor into the field "additional infos".

   -  now perform your tests:

      1. click the left, right, middle, or any extra mouse button
         and keep it pressed, WITHOUT moving the mouse.
         A message should appear instantly: "... button pressed."

      2. release the mouse button, WITHOUT moving the mouse.
         Another message should appear instantly: "... button released."

   -  if you have a Razer Naga mouse with an integrated number pad,
      read on here how to configure and test.

If the messages do not appear instantly, if they appear delayed (e.g.
only after a mouse move) or not at all, then you can NOT use those events
to run own scripts under Depeche View Pro.

testing the clipboard automation

top
Whenever an external application changes the clipboard, Depeche View Pro
can run up to three instant searches in three different views.

However, DView requires the cooperation of other applications:

   -  if an app is writing to the clipboard, it must use the correct steps,
      resulting in a single clipboard update message. some applications
      contain errors, producing multiple messages on a single clipboard change.

   -  if another app is listening on clipboard change events as well,
      it also must forward the event to other applications like DView,
      if DView was started later.

If you are planning to use clipboard automation intensely with DView Pro,
first run a test under Pro Demo to see if it works in your specific environment.

To test if clipboard changes are received correctly,

   -  download and run Depeche View Pro Demo.
   -  click on the "clip" button.
   -  activate "Auto Reload Clipboard Text".
   -  click on "Apply Changes".

   -  if multiple views are open, make sure that
      the FIRST one is visible (NOT hidden by other windows).

   -  then enter another application,
      and copy some text into the clipboard.
      you should see an instant update in Depeche View's FIRST view.
      (although all views have access to the same global text,
       clipboard changes are shown in the first view only.)

The external application must copy plain ASCII text to the clipboard,
otherwise nothing will happen.

If you see the message "clipboard access conflict", and/or the external application
shows errors as it tries to write to the clipboard, then there is a problem:
The external application is buggy, it uses the clipboard in a wrong way. 

DView may try to compensate this by waiting a moment after every clipboard change,
before it reads from the clipboard. This delay can also be preconfigured, find
more in the config file under "clipautodelay"; but this is only a workaround
that may or may not work. Some application vendors fix their clipboard handling
after a while, so look out for newer releases.

searching in .pdf and .xls files

top
If you have to run MANY searches through the same set of PDF, Excel
or other office files, then the fastest way of doing so is

   -  to convert them to plain ASCII text
   -  then load the stuff in Depeche View.

Conversions can be done either by Adobe Reader or Excel themselves
(select Save As with the correct format), or through one of the 
many tools available in the internet.

When saving from Excel, always select "Text (Tab Separated)",
then load it in DView and select a large TAB size for viewing.

To search word combinations in PDF extracts, it can be helpful
to reformat the text by CTRL+SHIFT+W (see word wrapping).

known issues and workarounds

top
Window Focus lost after executing a self-defined command:

   Whenever you run an external command trough a self-defined "on key"
   statement in the config, and this command opens a window temporarily,
   the focus of Depeche View's window is lost, showing all views
   with a gray border. You then have to
   
      -  click into another view (not the one where you ran the command)
   
      -  then click again into the view in which you ran the command
   
   to reactivate that view.

Daylight Saving Time Change and SnapFile Endless Reload:

   If you create a snapfile with sfk during summertime,
   then load this within winter time (or vice versa), it may happen that
   (auto)reload tries to reload ALL contained files, as the timestamps 
   within the snapfile are out of sync with the ones on your hard disk. 
   In this case, you may switch off autoreload, or recreate the snapfile.
   If you are sure that none of the snapfile contents should ever be reloaded,
   you may also create the snapfile with sfk option -nometa, which leaves out
   the file time informations.


Chapter 19: Function Reference and FAQ

top

all functions, hotkeys and mouse moves overview

top
      General Depeche View Input Scheme
      ---------------------------------

         SHIFT    Key selects for SEARCH.
         CONTROL  Key selects for COPY.
         ALT      Key selects for BOOKMARKING.

         LEFT MOUSE BUTTON    operates in the CURRENT View (Window).
         RIGHT MOUSE BUTTON   sends something into the NEARBY View.
                              NEARBY means the view to the right,
                              or if there is none, the leftmost.
         MIDDLE MOUSE BUTTON  sends something into the LEFT SIDE View.
                              If there is none, it sends to the rightmost.

         A view can send into another view:
                  -  a phrase search
                  -  a bookmark location
                  -  a filtered view line selection.

      Keyboard       Mouse Action         Function
      -------------- -------------------- ---------------------------
      F1             lclick on "<>"       full window size
      F1+SHIFT                            toggle master frame maximize
      F2             lclick on "="        horizontal tiling
      F2+CTRL        lclick on rfocus     result focus location
      F3             lbutton+wheel_down   next search result
      F3+CTRL        lbutton+wheel_up     previous search result
      F4             lclick on case       case sensitive search
      F4+SHIFT       lclick on noseq      ignore word sequence
      F4+CTRL        lclick on noops      disable AND OR NOT *
      F5             lclick on reload     Pro: reload changed files.
                                          Pro: in edit mode: revert and end edit.
      F5+CTRL                             Pro: reload current file.
      F6             lclick on "_"        minimize all views
      F7                                  search for "class ..."
      F8             lclick on help       open help text
      F8+CTRL                             disable syntax highlighting
      F9                                  Pro: open file in notepad
      F10                                 Pro: open empty notepad
      F11                                 Pro: browse folder of current file
      F12                                 Pro: open file in associated application
   
      CTRL+1         lclick on "1"        Pro: select bookmark set no. 1
      ...
      CTRL+9         lclick on "9"        Pro: select bookmark set no. 9
   
      CTRL+Q         lclick on showbm     hide or show bookmarks
      CTRL+SHIFT+Q                        enable text over bookmarks
      CTRL+W                              word wrap current text file
      CTRL+SHIFT+W                        stream wrap current text
      CTRL+E                              edit file in external editor.
                                          in edit mode: save and end edit.
      CTRL+SHIFT+E                        edit file w/o changing clipboard
      CTRL+R                              create bookmark remark
                                          Pro: in edit mode: Repeat Edit
      ALT+R                               Pro: in edit mode: Repeat Edit Case Adaptive
                                          if search and replace have same length.
      CTRL+SHIFT+R                        create empty remark line
      CTRL+T         lclick on showtab    show tabs and spaces
      CTRL+U         lclick on pathup     one step up in "path:"
      CTRL+I                              show line/column info
      CTRL+O         lclick on open       open directory or file
      CTRL+P                              change search delay
      CTRL+SHIFT+P                        autoload, noseq and more
      CTRL+A         lclick on filter     toggle filtered view
      CTRL+SHIFT+A   rclick on filter     toggle autofilter
      CTRL+S                              save bookmark changes.
                                          Pro: in edit mode: save text changes.
      CTRL+SHIFT+S                        force save of bookmarks
      CTRL+D                              toggle filter view details.
                                          Pro: editor: delete whole line.
      CTRL+F         lclick on find       open find dialog
      CTRL+SHIFT+F   lclick on find       open find dialog
      CTRL+G                              goto line or location
      CTRL+H                              Pro: enter a word for highlight
      CTRL+SHIFT+H   mode / highresline   highlight whole search result line,
                                          or toggle fview result highlight
      CTRL+J                              alternative main font
      CTRL+SHIFT+J   rclick on showbm     alternative bookmark font
      CTRL+K         mode / one click     mark excluded files in gray
      CTRL+SHIFT+L   rclick on reload     Pro: toggle auto reload
      CTRL+Z                              undo (before last search)
      CTRL+X                              same as CTRL+G
      CTRL+C                              copy screen  text to clipboard
                                          (only the visible lines)
      CTRL+SHIFT+C                        copy current text to clipboard
                                          (all lines of the active subfile)
                                          Pro: editor: duplicate current line.
                                          if not within editor
      CTRL+V                              copy clipboard to "find:"
      CTRL+N         lclick on normal     narrow path to current file
      CTRL+SHIFT+N                        "" and run instant search
      CTRL+M         lclick on clear      clear path mask
      PAUSE          lclick on reset      toggle find mask auto reset

      rclick on showbm     toggle bookmark font/color
      rclick on setup      edit config file in notepad
      SHIFT+click on case  toggle punctuation insensitive search
      CTRL +click on case  toggle accent insensitive search
   
      Insert               reset the find or path mask.
      SHIFT+Backspace      reset the find or path mask.
      CTRL+Insert          same as CTRL+C, copy screen text to clipboard.
                           in a filtered view, copies only visible lines.
                           in edit mode: copy selection to clipboard.
      CTRL+SHIFT+Insert    same as CTRL+SHIFT+C, copy current text to clip.
                           in a filtered view, copies all filtered lines.
      CTRL+Delete          in edit mode: move block to editor in nearby view.
                           see also CTRL+right button below (cross copy).
      CTRL+Home            jump to start of current or previous file
      CTRL+End             jump to end   of current or next     file
      CTRL+SHIFT+Home      jump to start of all loaded files
      CTRL+SHIFT+End       jump to end   of all loaded files
      SHIFT+Left/Right     horizontal motion (ENTER to reset)
      SHIFT+Down/Up        next, previous search result
      ENTER                reset horizontal motion
      SHIFT+ENTER          editor: insert blank line.
      CTRL+TAB             change tab size
      CTRL+SHIFT+TAB       toggle large tab sizes
      ESCAPE               close most recent view
      ESCAPE+SHIFT         close all and exit application
      CTRL+Space           activate easy settings

      DOUBLE CONTROL       Pro: on a word marks it for highlighting
      DOUBLE CONTROL       Pro: on blank space resets word highlights
      SHIFT+DOUBLE CONTROL Pro: on a word marks it everywhere for highlighting
      SHIFT+DOUBLE CONTROL Pro: on blank space resets highlights everywhere
      rclick on case       Pro: toggle case sensitivity for highlighted words
      CTRL PRESS/RELEASE/PRESS then LEFT MOUSE BUTTON DOWN
                           Pro: begins selection of a phrase for highlight,
                                until the control key is released.

      left  button down, mouse wheel   -  next/previous search result
      left  button down, mouse  move   -  surf the text
                   ... on a bookmark   -  move or indent bookmark
             ... left near bookmarks   -  change bookmarks width
      right button down on blank space -  create second window (view), or activate
                                          first window, and copy search context
      right and left button on blank   -  if in second window, create third
      right button down on word        -  search in nearby view
      middle button down on word       -  search in left side view (if any)
      double click on blank space      -  pull all views to top, and rearrange
      left  click on a bookmark        -  goto bookmark in the same view
      right click on a bookmark        -  goto bookmark in a nearby view,
                                          move mouse while button down to select view.
      middle click on a bookmark       -  goto bookmark in left side view
      lclick near right border of view -  if in the left  view of two, resize both
      lclick near left border of view  -  if in the right view of two, resize both
                                          (only in blank lines while editing)
   
      SHIFT+left button down on a word -  begin search phrase selection       (1)
      CTRL +left button down on a word -  begin copy to clipboard selection   (1)
      ALT  +left button down on a word -  begin bookmark create selection     (1)
      SHIFT+right button     on a word -  begin search select for nearby view (1)
      CTRL +right button     on a word -  begin bookmark create selection     (1)
                                          Pro: in edit mode: cross copy to editor
                                          within a nearby view.
      CTRL +SHIFT+left click in a line -  copy whole line text into clipboard
      CTRL+SHIFT+right click in a line -  Pro: in edit mode: cross copy text line
                                          to editor within a nearby view
            middle button    on a word -  begin search select for left view

      (1) after start of selection, click on another word within the same line.
          in case of copy to clipboard, words in other lines work as well.
          finally, release the keyboard key (SHIFT, CTRL or ALT).

      CTRL+left click into find mask   -  copy find mask content to clipboard.
      CTRL+left click into path mask   -  copy path mask content to clipboard.
      CTRL+SHIFT+lclick into top line  -  copy current filename  to clipboard.

   Note: some buttons mentioned under "Mouse Action" appear only temporary,
         e.g. the "rfocus" button is visible once there are search results.


frequently asked questions

top
Command Line Options -> more

Change bookmark order, reorder bookmarks -> more

Change window width, size -> by middle click
Change window width, size -> by fullscreen toggling
Change window width, size -> by area option

Slow search, tool waits long before search -> see mousebookdelay

Customized syntax highlighting -> see config file
Change text colors -> see config file

Q: when I create a config file through Setup / config / edit, 
   the notepad comes up empty, asking to create an empty file.

   A: this happens if DView is run from a protected folder like
      "C:\Program Files", and therefore tries to create the config
      within that. read more under config creation and edit errors.

Q: my configuration changes are not saved.

   A: the config file is saved on program exit, or when pressing CONTROL+S.
      
      If you change settings, then go into a different application,
      then reenter DView, the config file might be reloaded, and your
      changes are lost.
      
      Therefore, after changing anything in the Setup dialogue,
      close the dialogue and then

      -  press CONTROL+S to save all changes.

      OR

      -  select "Settings / Save Config Now" from the 
         pulldown menu (in master frame mode).

      If any errors occur, e.g. the config file cannot be written,
      you should also see those errors at that point.
      
Q: autoreload or autofilter buttons are changed on window activation.

   A: after toggling these buttons, press CTRL+S to save
      the config file immediately, so if the config is 
      reloaded during the next window activation, 
      it contains the new button settings.

Q: when I search words in this help text, sometimes there are results
   within lines that do not contain the searched word.

   A: these lines contain help links, and the text is hidden within that link;
      please ignore the superfluous lines.

Q: when I enter a directory in the "open / folder" dialog, I have to wait endless

   A: do not enter the directory via the tree view, but enter it's name
      directly in the edit field at the bottom of the dialog,
      otherwise windows may try to read all contained zip file contents,
      which can take very long.

      read more under how to load zip tar.gz and .tar.bz2 file contents

Q: how to edit a text file in an external editor from within Depeche View

   A: move the mouse to some text line within the text of interest,
      then press CTRL+E. by default, this will run the notepad,
      allowing to edit the file. CTRL+E also copies the current text line
      to clipboard, allowing an instant search in the external editor.
      you can use any editor by creating a config file entry "runeditor".

            for more on that, read on here.

      when editing files, it is recommended to have auto reload active:
      right-click on reload to activate, and whenever you re-enter the
      dview window, all files will be scanned for changes.

Q: if text is moved across files, bookmarks fail to readjust correctly

   A: dview searches for bookmarks this way:

      1. local search, within the same file, for the full line text
         (not just the visible bookmark title).

      2. local search, within the same file, just for the visible
         bookmark title text, to keep the bookmark even if the text
         around it is slightly changed.

      3. global search (over all files) for the full line text.

      if step 1 fails, step 2 requires that your bookmark title text
      is unique enough, for example: "FooClass::startup" is better
      than just "startup", as "startup" may appear also in other lines.

      in other words, if you move text across files, the word(s) that
      you selected for your bookmarks should not appear a second time
      within the same file.

Q: cannot repeatedly view .zip tar.gz or tar.bz2 file via web browser

   A: check carefully if the browser stored the file with the correct
      file extension. For example, if you download the same .tar.bz2
      archive twice with Firefox, the browser will rename the second
      download to something like ".tar-1.bz2", and therefore DView
      no longer recognizes that it's a .tar within a .bz2 file.

Q: loading of large zip tar.gz or tar.bz2 file contents is very slow,
   or large archive entries are skipped during load.

   A: this can happen if a single archive file entry is larger
      than the load cache limit. if you have a machine with
      much memory (about 2 GB), you may try to increase the
      maxcache config setting to 500 (megabytes) or more.
      the default is 300, which is sufficient for most cases.

Q: i press CTRL+E then jump into my favourite editor.
   however, on CTRL+F CTRL+V the editor cannot find the text line.

   A: check if your editor has a special search mode active,
      especially if regular expressions are active. in that case,
      characters like "*" might be misinterpreted and not found.

Q: how can i activate syntax highlighting for all xml files
   with file extension .xyz, .foo and .bar ?

   A: extend the configuration file by an entry like:

     <Language name="myxml" extends="xml" ext="xyz foo bar">
     </Language>

Q: how can i view the contents of .dvdb word suggestion files?

   A: just like bookmark files, dview treats them as binary,
      to make sure the files are skipped if you load a folder
      containing such files within nested folders.

      if you really want to read the content of .dvdb files,
      do it with your favourite ASCII text editor. This also
      allows to edit the file, but make sure to keep exactly
      the same format:

         word TAB score CR LF

      with score reflecting the importance of this word,
      i.e. highest scores will be suggested first.

      Note: if you edit the contents of .dvdb files,
            there is no guarantee that self-defined words
            will work as expected.

Q: how can i integrate command line compiler error output?

   A: see compiler integration.
   
Q: drag and drop of files isn't working, without any error shown.

   A: this can happen if DView is running in a different user
      context than the source of drag and drop. For example,
      if DView is started from a cmd.exe window which itself
      is running "As Administrator", then DView itself is
      running in Admin mode. Then, if you try to drag & drop 
      a folder from Explorer (which is running in normal
      user mode), it won't work.