# -*- mode: Org; -*-

* 2025-06-15: Version 5.2.2:

** improvements:

  - when opening libmagic, user customized content from /etc is also
    used.

** fixes:

  - fixed using the output of an own command and start prog as a
    custom attribute for files within archives.
  - fixed compilation with gcc 15.

* 2025-01-22: Version 5.2.1:

** improvements:
  - the size and content filter expressions now support a "follow"
    option to enable following symlink for size comparison and
    content check. It is off by default. Syntax is "size,follow==..."
    and "content,follow==..." and can be abbreviated with a single
    letter "f"
  - the follow symlinks option in search dialog is now also taken into
    account for the filter expression.

** fixes:
  - fixed invalid free of config objects on exit, depending on actual
    configurations.

** other changes:
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2025-01-11: Version 5.2.0:

** new features:

  - multiple new search command features
    - the file search can now removed all entries for a selectable base
      name from the result list.
    - the file search can optionally start from the list of selected
      entries. This can be configured in the search command
      configuration. If no entry is selected, it falls back to the
      whole directory.
    - multiple file name matches can be used by separting them with a
      comma (or any other configurable character).
    - entries can be ignored by labeling them with a special label
      "exclude_search" (the label can be configured too in the search
      dialog).
    - Match expressions can be defined in the search dialog for more
      complex search expression.
      - It uses the same syntax as the list view filters for keywords
        like name, size, or timemod.
      - Also, the keyword "content" can be used to check for specific
        regular expressions within the actual file data.
      - The "content" keyword can use comma-separated modifiers to
        limit the amount of bytes check or to configure case-sensitive
        content checks. The complete keyword is "content,case,1234"
        where the number defines the amount of bytes checked. This
        number can also use the typical suffixes mb, kib, etc.
      - Both modifiers "case" and file size limit can be left out. The
        default values are case-insensitive matching and no byte
        limit.
      - A list of available expression tokens are shown as clickable
        buttons to make it easier to construct valid expressions.
    - The expression can be mixed with the conditions including the
      content check. In this case, all thread conditions (name,
      content, expression) must match.
  - list view filter expression can now also use the "content" keyword
    to show files only containing some regular expressions.
    - In this use case, the default number of bytes checked is limited
      to 10k to limit the amount of time used to check all directory
      entries. It can be overwritten by using an explicit number (0
      meaning no limit).
    - The check can be interrupted by pressing Escape. In this case,
      the list view bar contains the hint "interrupted" to indicate
      that some results may not be visible due to the interruption.
  - label colors in the main configuration can now be applied to exact
    bookmark path matches only. This is useful when the directory mode
    option is enabled to apply those colors also to the parent
    directories. With this new option, this can be prevented. It is
    used in the example config for the exclude_search label.
  - The "External virtual dir" command now supports an interactive
    mode to enter the command to run in a dialog and also stores
    previously used commands in a history.
  - A new mouse configuration option allows to open the context menu
    by holding the activation button for half a second. This allows to
    access all mouse function without any additional key press.

** improvements:
  - the rename command now pre-selects the filename without its
    extension by default. The command can also be configured to select
    the complete name.
  - when renaming files with invalid utf8 characters, those are
    convert into \x00 notation in the dialog instead of often hiding
    the rest of the string.

** fixes:
  - fixed crash when the configuration was changed while the directory
    mode was inactive in either side.
  - on completely new configurations, the start prog command started
    with the wrong default settings. For example, when pressing enter
    on an executable, the settings were wrong so it could not be
    executed directly without changing the settings back to "global
    program" and "run in terminal".

** other changes:
  - added another dark mode theme
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2024-07-13: Version 5.1.0:

** new features:

  - the search entry command allows to configure an initial search
    string.
  - the search entry command also got an option to apply the search
    string without further editing.

** improvements:

  - improved performance of path jump dialog to open faster for very
    large databases (>100k entries)
  - the path jump dialog can be closed with Ctrl-Enter (or right click
    on the jump button) to directly jump to the full path of the
    selected entry, regardless of which path level is currently
    highlighted.
  - improve directory content reload to not use the previous file type
    of symlinks if the symlink changes from or to a broken symlink.

** fixes:

  - fixed variable use after free in volume manager which could result
    in crash.
  - fixed bug in some command configuration dialogs where any key
    press closed the window.

* 2024-03-09: Version 5.0.2:

** fixes:

  - the text view mode did not always started at the top of a viewed
    file and scrolled to the end instead (which is only intended
    behaviour when watching the file for changes).
  - fixed possible buffer read overrun when shrinking file names for
    display.

* 2024-01-20: Version 5.0.1:

** fixes:

  - fixed a bug introduced in 5.0.0 in text view copy to clipboard
    where in some situations data might not have been copied to the
    clipboard completely. This bug occurred when tab characters are
    inside the selected text.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2023-12-22: Version 5.0.0:

** new features:

  - added file copy and paste to/from external programs via
    freedesktop standard. The new command copy_files_to_clipboard with
    optional argument 'cut' will put the file names of the selected
    entries into the clipboard, and the command
    paste_files_from_clipboard will read a file list from the clipboard.
    - When pasting, a dialog asks to either copy them to the current
      directory or to create a virtual directory with these entries
      for further processing.
    - The context menu also has entries for cut/copy/paste for either
      the highlighted entry or all selected entries.
  - the list view can now be scrolled in a special panning mode.
    - If the scroll button (usually the third mouse button) is pressed
      in the inner part of the list view, the mouse can move
      horizontally or vertically to switch to the scroll mode.
    - The position of the mouse pointer within the list view directly
      sets the list view scroll position of the initially selected
      direction. This allows for fast access in large list views.
    - Also, horizontal scrolling with two-finger scrolling has been
      added.
  - text view elements also support panned scrolling by pressing the
    middle mouse button in the center area.
  - the text view mode can now be used to show the output of external
    commands too.
    - the 'own' command and 'start prog' command allow to select a
      new start mode which shows the output in the other panel.
    - in this mode, it is possible to select follow file and/or watch
      file to automatically update the content when the file changes.
    - the text view mode can also execute a specific file type action
      for the file type of the active file. To activate this mode, a
      new command 'activate text view mode" can be used to switch
      either side to the text mode and set the file type action to
      execute. It can also use to set the external program to execute
      directly.
      - the specified file type action must itself use the 'own'
        command to set the content of the text view mode.
      - example usage is to show file type specific information (like
        image dimensions, video parameters, audio file information,
        etc).
  - a new custom attribute column has been added to the file view.
    - each entry in the file list can have its own attribute which is
      only stored in memory.
    - the value can be set by either:
      - using the own command and selecting the start mode to show the
        command's output as custom attribute
      - or by using the start prog command by selecting the same start
        mode.
      - or by using the registered command set_custom_attribute with
        two arguments, one being the file name (which can be a flag to
        be dynamically replaced), and the actual string to be used as
        a custom attribute (which can also be a flag)
    - an example use is to calculate the sha256 checksum and show it
      for each file in the custom attribute column.
    - the custom attribute column must be added to the list of columns
      to show in the configuration.
    - the column is hidden if no value is set at all so it does not
      take any space unless actually used.
    - the example config brings two buttons for md5sum and sha256sum.
  - the command log now can copy a textual description of an entry to
    the clipboard. This can be used to manually undo operations, or to
    use the involved files for additional purposes.
  - added history of selected entries so a selection can be reverted
    after unselecting some entries. Whenever one or multiple entries
    are deselected (either explicitely via commands, or indirectly via
    flag replacements in command strings), a snapshot of the selected
    entries is stored. The command "revert_selection" can be called
    to revert the previous selection state. Optionally, an argument
    can be used to select any of the 10 previous states directly by
    given a number between 0 and 9. Any other argument strings opens a
    window with the list of selection state, showing their directory
    and the number of selected entries. Any state can be selected to
    be restored.
  - when executing registered list view commands with arguments from
    within the command menu, the dialog for requesting the arguments
    now gives some dynamic help about when can be entered as
    arguments.
  - the command menu command can be configured to open within some
    preselected sub menu for faster access.
  - the push mode of the Script command now optionally supports
    pushing the return code of the executed command on top of the
    stack. This allows to check both return code and output in
    scripted commands.
  - the list of ignored directories for file type check based on file
    content now also supports wildcard pattern based filters.
  - the start prog command history now also stores the execution
    settings so if some command should be run inside a terminal while
    another should be run directly, it is no longer necessary to
    explicitly select the correct settings each time running the
    command.
  - there are some new flags for building external command strings:
    - {E} and {oE} will be replaced with the file name extension of
      the first file in the current or other panel.
    - {s} and {os} will be replaced with the file size of the first
      file in the current or other panel.
    - {Tm} and {oTm} will be replaced with the last modification time
      of the first file in the current or other panel (in unix time).
    - {Tc} and {oTc} will be replaced with the last change time
      of the first file in the current or other panel (in unix time).
    - {currenttime} is the current time as unix time.
    - {random} is a 32 bit random value.

** improvements:

  - the configuration is checked for modifications on disk when
    opening the configuration dialog, so the configuration can be
    reloaded on demand.
  - reduced memory usage of internal text view.
  - improved performance when deleting a lot of files in the top level
    directory. There is now a rate limit for updating the list view.
  - the config window is not closed silently when pressing Escape to
    avoid losing changes. Instead, a confirmation dialog is shown.

** fixes:

  - fixed wrong script directory when executing custom directory info
    scripts. When the directory is empty, it started in the current
    working directory when Worker has been started.
  - fixed issue with files still opened in subprocesses even after
    main Worker process is already exited.
  - if the dbus server is not available, reconnects are no longer
    tried over and over again, avoiding failure ouputs. Instead,
    the volume manager allows to reconnect manually.

** other changes:

  - add example button to move files into trash (using external gio
    command).
  - C++17 is now required for compilation.

* 2023-03-05: Version 4.12.1:

** fixes:

  - fixed compilation with older OpenSSL versions.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2023-03-04: Version 4.12.0:

** new features:

  - add font configuration for alternative text view font.
    - font can be toggled in text view by either clicking on the
      corresponding button or pressing 'f'
    - can be used to have a variable width font and a monospaced font.

** improvements:

  - added text view scrolling when selecting text. This also fixes
    selection box drawing which could been drawn beyond the area of
    the text area.
  - added support for separate X11 clipboard buffer used with Ctrl-c/v
    copy-and-paste. Text in text fields and text view can be copied to
    X11 clipboard with Ctrl-c. In text fields Ctrl-x and Ctrl-v is
    available too. Copy and paste with middle mouse click is still
    available regularly.
  - when files or directories could not be copied completely because
    some error, there is now an additional dialog asking to continue,
    skip or cancel. This can happen if a directory could not be read,
    or a file could not be accessed. There has already been an error
    message previously, but now there is another dialog and a list of
    incomplete entries is shown at the end of the copy process.
  - updated openssl usage for file checksumming to not use deprecated
    functions if newer equivalents are available (OpenSSL 3).

** fixes:

  - fixed crash when a dot is entered in quick search mode in an empty
    directory.
  - fixed mouse over help sometimes missing for some windows.
  - fixed example scripts for virtual directories of git repositories,
    scripts for untracked and modified files had a wrong filter for
    .. files.
  - the command log for file renames showed the target name as the
    source name too.
  - pasting some utf8 text in text field might not always worked
    correctly.
  - fixed compilation when no regexp library is available.

** other changes:

  - updated worker.desktop file and added metainfo.xml file
    (Thanks to Tobias Quathamer)
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2022-09-18: Version 4.11.0:

** new features:

  - for the copy operation, the initial overwrite mode can be
    configured to always or never overwrite existing files, or to
    request on each existing entry (which is the default). If the
    config option is not set during command execution (via the
    "request flags" option), a confirmation is required if the option
    is not the default value to avoid unintended overwrites.
  - the directory compare command has a new option to compare file
    names case-insensitive.
  - the list view context menu about filters has new options to stash
    all currently active filters on a stack of stored filters. These
    stashed filters can be reapplied later from the same menu.  There
    are also new registered commands "stash_current_filters",
    "pop_stashed_filters", and "top_stashed_filters" to modify the
    stack directly without accessing the menu.  This feature allows to
    quickly switch between sets of filters without requiring to
    configure them manually.

** improvements:

  - when pressing Cursor right in a virtual directory to limit the
    virtual directory to the top level directory of the current entry,
    the previously active entry is activated again so it remains
    active.
  - the command log window now does not block the main program. The
    alternate function of the "go to" button keeps the window open.
  - the filter select command now groups all filters by matching and
    mismatching filters. All filters which has been used previously
    and matches the current entry will be shown at the bottom in the
    first table column for fast access. All filters which do not match
    the current entry are shown in the second column. Both filter
    groups can still be used but the separation makes it easier to
    select the wanted filter.
  - pressing Return in a context menu on an submenu entry will change
    the focus to the submenu to make navigation easier.
  - the list view context menu can now be opened even if no entries
    are shown. The menu content is reduced to allow for modification
    of active filters and access directory presets.
  - added support to increase memory limit for XZ handler inside AVFS
    when trying to open archives that require higher memory
    limits. When this happens (and is supported by AVFS), a dialog
    pops up to ask for confirmation.

** fixes:

  - fix possible crash with Xft font rendering.
  - some of the example scripts for virtual dirs based on git repo
    status failed when there were no entries.
  - fix some compiler warnings about deprecated C++ stuff.
  - in directory compare, the file size limit was not reset to
    unlimited if no value was entered but a non-zero values has been
    set before.
  - fixed generating temporary file copies for {t} if the file name
    does not have any file extension.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2022-04-27: Version 4.10.1:

** improvements:

  - path jump improvements:
    - use async existence test in path jump dialog for breadcrumb
      buttons to avoid blocking on entries for which the test takes a
      while (for example, if they are within archives).
    - the elements in the path jump window can be limited to the
      current directory either on startup by toggling the lock status
      with Ctrl-l. When locked, only entries in the current directory
      (and its subdirectories) are shown. Also, navigation outside the
      locked directory is forbidden.
    - the path jump command has a new option to open the path jump
      window in locked mode.
    - when entering a filter, only existing entries are used for
      matching if non-existing entries are hidden.
    - the path jump window does no longer shrink when toggling the
      inclusion of the archived entries.

** other changes:

  - add example script for creating a virtual dir of all changed files
    in a git repository since a specific commit. An example button is
    provided when starting the new version.
  - the git example scripts has been modified to work within
    subdirectories and only show matching entries in that
    subdirectory.
  - when creating temporary copies of files with flag {t}, for symlinks
    a copy of the target file is created.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2021-12-07: Version 4.10.0:

** new features:

  - the path jump dialog can now hide non-existing entries immediately
    without having to check all entries first. The hide button has
    been changed to a toggle button and it is also bound to
    Ctrl+e. There is no longer a dialog to ask for removal of
    non-existing entries from database. Use the regular cleanup button
    to remove those entries.
  - add a log of executed commands which work on files. The log shows
    the last 1000 commands and can be accessed via the main window
    menu or the new "view command log" command (bound to C-x l in
    default config).

** improvements:

  - when filtering the file list and the filter string starts with a
    dot, hidden files are automatically shown. When the directory is
    changed, the previous state for showing/hiding hidden files is
    restored.
  - many dialog and configuration windows can be closed by pressing
    Escape.
  - the path jump dialog allows to move old, non-existing entries into
    an archive which is not shown by default and can be cleaned up
    separately. This makes using the path jump dialog faster for large
    databases.

** fixes:

  - improve performance when reading large directories when converting
    file times to local time.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2021-08-28: Version 4.9.0:

** new features:

  - new registered commands:
    - "show_entry" enters the directory of the given name and
      highlights the base name.
    - "vdir_add_entry" adds an full path name to an existing virtual
      dir or creates a new virtual dir with that entry.
    - "vdir_from_script_stack" creates a new virtual dir with all
      elements of a selected ScriptOp stack.
  - registered commands with arguments can now also be selected in
    ScriptOp and from command menu. In ScriptOp, the arguments can be
    given directly or via dynamic flag replacement. In command menu, a
    dialog appears asking for the argument, which can also be entered
    directly or via flag replacement.
  - the chmod command can now be configured to directly apply a
    given set of permissions without asking. The octal representation
    of the chosen permission is shown as well and can be entered
    directly too.

** improvements:

  - support config directory according to freedesktop specification in
    $HOME/.config/worker instead of $HOME/.worker. The latter
    directory still takes precedence over the former if it exists so
    no changes must be made and it only applies to new installations.

** fixes:

  - fixed problems with temporary files:
    - if /tmp (or $TMPDIR) is mounted noexec, command execution in a
      terminal did not work. The configuration value for the terminal
      to use must be changed to make it work. The default value is
      changed accordingly.
    - if $TMPDIR contains spaces or other special characters, command
      execution did not work correctly. Due to missing quoting, files
      that are part of the TMPDIR string might be unintentionally
      overwritten.
  - fixed bug in Polish translation which changed language back to
    English on save.

* 2021-05-01: Version 4.8.1:

** fixes:

  - fixed a console print out which happened in some configuration
    dialogs.
  - fixed possible crash on first startup in XFT font mode.

** other changes:

  - add missing config update files for lzip file type and buttons
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2021-04-05: Version 4.8.0:

** new features:

  - the "pattern select" command now has an option to directly apply
    the configured filter without asking for the filter.
  - a new option in the general settings allows to disable background
    file existence tests for some path prefix.
  - the path jump interface has a new option to only show relative
    paths if the display mode is limited to sub directories. This
    option is on by default.
  - the path jump command has additional configuration settings to
    select the initial display mode and whether to include all data
    sources directly on start.

** improvements:

  - popup help windows now only appear if the window has the focus,
    and close when the window loses the focus.

** fixes:

  - implement workaround for lost keyboard focus bug in some window
    manager when closing multiple windows.
  - fix handling of newlines when pasting content to text areas. If
    the element was part of the configuration, it could become
    unparsable due to the newline. Now newlines will be filtered when
    pasting text.
  - add a limit of background threads for file existence tests to
    avoid crashes when the thread pool is exhausted. It usually
    happened when there are entries in the path jump db or bookmark
    for which stat() blocks until the device becomes available
    again. Now Worker itself will eventually block until the device
    becomes available again, except of crashing.

** other changes:

  - the example script for showing the git branch in the list view bar
    now outputs an asterisk if the current checkout has some modified
    files. Also, it avoids using a lock which can interfere with
    user-started git commands
  - added lzip buttons and filetype
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2021-02-02: Version 4.7.0:

** new features:

  - the "pattern select" command now has an option to select the best
    matching pattern from the history or the file ending, or to use the
    fixed pattern.
  - the directory mode configuration allows to use a custom list view
    bar content which can also print the output of an external
    script. There is an example script "cdi_get_current_vc_branch.sh"
    which prints the current git branch name of the current repository
    (if any).

** improvements:

  - the command "view newest files" now also supports virtual
    directory as a base for searching newest files.
  - the progress in the directory compare command now updates the
    remaining number of files to compare after checksum calculation if
    that mode is chosen.
  - the main buttons in the button bank now also show a popup help
    describing the assigned actions when keeping the mouse pointer
    within that button for some seconds.

** fixes:

  - several fixes to the directory compare command:
    - fixed crash when comparing regular directories (flattened
      directories worked).
    - fixed checksum comparison which could result in quadratic
      runtime.
    - fixed marking directories as same even if the actual content may
      not be identical (happened when not using flattened
      directories).
    - if the key for same files was only the file name, the file size
      was still taken into account.
    - when comparing flattened directories and the checksum is used
      for comparison, an entry could be shown multiple times for each
      file of the same checksum on the other side.
    - canceling the compare progress was not always possible.

** other changes:

  - when entering an initial filter in popup menus, an entry is
    highlighted matching the filter at the beginning if possible,
    instead of just the first one containing the filter anywhere
    within the string.

* 2020-12-03: Version 4.6.1:

** fixes:

  - fixed compilation when openssl is not available.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2020-11-28: Version 4.6.0:

** new features:

  - the directory compare command can now also compare files based on
    their checksum, or just their file size.
    - depending on the selected mode, files are considered equal on:
      - same file name
      - same file name and file size
      - same file name, file size, and last modification date
      - same file name and file content
      - same file size
      - same file checksum
    - the last two modes can find identical files regardless of their
      name, while the first four modes only compares files of same
      name.

** fixes:

  - fixed issue with command execution of custom file type actions
    which did not take the actions of the parent file type into
    account.

* 2020-08-25: Version 4.5.1:

** fixes:

  - fix compilation for 32-bit architectures.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2020-08-13: Version 4.5.0:

** new features:

  - file types can have a priority value. A lower value means a higher
    priority. When deciding which file type a file is and multiple
    file types matches, the one with the highest priority wins. This
    can be useful if a file type checks some generic pattern while
    other file types uses additional checks to determine the actual
    type. In this scenario, the generic file type can use a lower
    priority to not match unless no other file type matches.

** improvements:

  - the file ending is added to temporary file copies when starting
    external programs with the flag {t}.
  - the X windows now uses the standard icon property to let the
    window manager display the icon in the window title bar and
    elsewhere.
  - when moving files, the initial free space check is skipped if the
    source and destination directory is on the same device, as moving
    files will likely not use any additional space.

** fixes:

  - in text view, the option to show non-printable characters was not
    correctly working when toggling other options like word wrapping.
  - in text view, the reload button did not always worked.
  - some list views in the configuration window missed keyboard focus
    support.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2020-04-12: Version 4.4.0:

** new features:

  - add a help command which toggles a help state and when enabled, a
    clicked button or pressed key will show all assigned commands for
    the button or key. If the key is part of a double key, all
    possible commands are shown.  In the default config and in the
    update config file, a help button is available bound to key F9.

** improvements:

  - when pressing enter on a file to execute its file type command and
    the file type has not yet been checked, the file type check is now
    executed immediately after the currently checked file to speed up
    reaction time.

** other changes:

  - key shortcut suggestions in the statebar are removed before
    executing commands so the regular info line is visible during
    execution.
  - add example script for creating a virtual dir of all changed files
    in a git repository. An example button is provided in the when
    starting the new version.
  - removed unused dependency to dbus-glib-1.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2020-01-26: Version 4.3.0:

** new features:

  - the file type name can now use the {mimetype} flag which is
    dynamically replaced by the actual mime type of the file. The
    default config uses the text string "ukn({mimetype})" so files can
    still be identified as unknown, but the mime type is visible too.
    - The info line below the list view also shows the verbatim file
      type description from libmagic (file).
    - The information mode shows the verbatim file type description
      for every file type.
    - The popup menu for files now also show an entry to create a new
      file type for unknown files based on the mime type, or to edit
      the file type of the current entry. The corresponding
      configuration dialog is opened to make it easier to change the
      file type configuration.
  - The start prog dialog now stores the command history for the mime
    type of unknown files in addition to the history of different file
    types. If the dialog is opened for unknown files, the command for
    the last file of the same mime type is suggested from the history.

** improvements:

  - the path jump UI now also highlights non-existing paths in the per
    filter tab.
  - the bookmark dialog now strikes out non-existing bookmark entries
    and non-existing bookmarks are ignored when trying to go to that
    directory.

** fixes:

  - fix compile issue with clang
  - the info line below the list view is updated even if just the file
    type changes.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2019-12-23: Version 4.2.0:

** new features:

  - added a new config section for directory presets for sort and
    filter settings. This configuration allows to set a list of paths
    for which custom sort and filter settings are used when those
    directories are entered.
    - When entering a directory, the longest path is used to determine
      which sort and filter settings are applied.
    - When a configured directory is leaved, the previous settings are
      restored.
    - The popup menu inside the directory view has a new sub-menu to
      store the current sort and filter settings for the current
      directory and also to directly access the configuration
      settings.

** improvements:

  - the path jump UI now only strikes out the path component that does
    not exists which makes it easier to see if the whole path or just
    the file no longer exists.

** other changes:

  - added a new option in "terminal program" configuration to indicate
    if the chosen terminal program returns early and does not wait for
    the given command to finish. If set, the temporary files are
    removed by a wrapper script. This option allows to use terminals
    like xfce4-terminal or gnome-terminal. It is however not
    recommended as multiple "own commands" will not wait for each
    other to finish if they are configured to be executed within a
    terminal.
  - the color settings configuration section allow to select a light
    or dark theme which overwrites the current palette and user
    interface colors. The config needs to be saved and Worker must be
    restarted to fully take effect.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2019-09-10: Version 4.1.0:

** new features:

  - the command completion in the start prog action now also stores
    the used command per file type so the first suggestion is based on
    the file type instead of the last command used for any file type.
  - the path jump dialog now also shows the list of external programs
    and their used files in another tab. Both lists are sorted by
    last access time. This is useful to find files for which the
    external program is known.
  - the filter submenu in the popup menu now allows to directly enter
    a custom filter to be enabled.

** fixes:

  - after deleting/moving a group of files which also included the
    active element, the new active element could be further away from
    the group then expected. Now the nearest element is chosen as the
    new active element.
  - fixed entering a filter in popup menus. Editable entries have not
    been used for filtering and the next matching entry was not always
    selected automatically.

** other changes:

  - changed update of the path db when using the path jump feature so
    that only the actual file is added instead of both the file and
    the base directory.
  - the file sizes of the path db files are shown at the cleanup
    buttons in the path jump window.

* 2019-08-03: Version 4.0.1:

** improvements:

  - if the entry ".." is visible it will be highlighted when entering
    a directory.

** fixes:

  - fix possible crash when the buffer for the scroll bar could not be
    allocated. It happened during startup when the width of the scroll
    bar is larger than default but it could also happen afterwards
    when resizing the window.

** other changes:

  - when evaluating internal commands with the ScriptOp, the current
    directory is no longer written to the path jump db.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2019-06-23: Version 4.0.0:

** new features:

  - path jump:
    - the path jump dialog now has a second tab showing the last accesses
      by any given filter string. This makes it easier and faster to
      access files and directories which has been accessed previously by
      a specific filter string.
    - the command to open the path jump window can be configured to start
      in any of the both tabs.
    - improved startup performance of the path jump dialog for large
      path databases.
    - removing unused elements from the path jump db is more
      flexible. Now it can remove all non-existing entries within a
      selected base directory and also based on the last usage.
    - the non-existing listed elements are striked out to easier skip
      those elements. Also, jumping to non-existing entries is disabled
      now.
  - list view scrolling: when shift is pressed the scrolling is applied
    to the inactive list view as well.
  - the scroll bar for the file list views will highlight the areas of
    selected files in the non-visible part to make it easier to spot
    selected files.
  - A new list view column is available to show the file extension.
  - The configuration menu to add commands to buttons, hotkeys, and
    file types now directly allow to select registered commands via
    scripting. This makes some existing commands obsolete which have
    been removed.

** fixes:

  - when updating internal state files (like for previously accessed
    bookmarks etc), write errors are now handled correctly to keep the
    previous state file instead of starting with an empty one again.
  - font changes did not immediately updated the breadcrumb button
    sizes.
  - the text viewer now uses the size of uncompressed files when
    asking for loading large files.
  - fixed crash on 32-bit architectures due to stack corruption.

** other changes:

  - the list view configuration dialog has been cleaned up to contain
    settings in separate tabs for sorting, filtering, and generic
    settings. Also, the tabs title and individual options show the
    indicator character used in the list view bar to give hint about
    how each setting is shown.
  - the button to configure the list view mode ("O") has been moved to
    the top list view bar and it also uses a small icon instead of the
    "O".
  - the buttons for opening a new tab and closing an existing one uses
    a small icon instead of the character "N" and "X".
  - when the context menu is opened with the "Open context menu"
    command, it is opened at the position of the row instead of the
    middle of the list view.
  - the catalog file for commands have been merged with the main file.
  - C++14 is now required for compilation.

* 2019-01-28: Version 3.15.4:

** fixes:

  - fixed compile issue on architectures with char being unsigned by
    default.

** other changes:

  - improved performance of the text viewer with word wrapping enabled
    for very long lines without any space.

* 2019-01-09: Version 3.15.3:

** fixes:

  - fixed drag'N'drop not working with utf8 file names.

** other changes:

  - add example script for adding all untracked files in a git
    repository into a virtual directory. Also fixed example script for
    modified git files to work in sub-directories.
  - change image mode script for ImageMagick to convert to png on the
    flight to avoid lockup when showing animated gif files.

* 2018-08-28: Version 3.15.2:

** fixes:

  - fixed drag'N'drop not working with some programs

* 2018-05-16: Version 3.15.1:

** fixes:

  - fixed use of uninitialized variable in copy with the option to
    preserve the directory structure enabled. This bug could result in
    inconsistent view of the virtual directory content.
  - fixed compiler warning about use of C++14 feature.

** other changes:

  - case insensitive sort of file names has been improved to create a
    stable sort order and to correctly restore file selection state on
    reload.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2018-01-22: Version 3.15.0:

** new features:

  - the command menu now also list all regular commands including
    interactive variants (commands which can be configured to query
    parameters before actual execution). This allows to access
    commands that are not assigned to any button or hotkey.
  - the copy command can now optionally preserve the directory
    structure when copying entries from virtual directories.  For
    example, if a virtual directory contains the elements a/foo and
    b/bar and the target directory is /c, with this option enabled
    both files will be copied to /c/a/foo and /c/b/bar respectively
    instead of just /c/foo and /c/bar. The intermediate directories
    "a" and "b" are created if necessary.
  - tabs can now be locked so they cannot be closed. Right-clicking on
    a tab opens a menu allowing to toggle the lock state and the
    "modify tabs" command can also be used to toggle the state.
  - tabs can be reordered by selecting the move option in the menu or
    the "modify tabs" command.
  - there is a new command "open tab menu" which opens the tab menu
    for the current tab.

** other changes:

  - files added to a virtual directory by the "external virtual dir"
    command are now normalized so that "." and ".." are no longer
    within the paths.
  - added another example script for the "external virtual dir"
    command to list all files matching a given checksum in a virtual
    directory. The corresponding button is available as a config
    update.
  - mouse selection in text view now works better when mouse is moved
    to the beginning or end of the visible text.
  - in text view window Ctrl-a will select all text.
  - double-clicking in the text view will select the word under the
    mouse pointer.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2017-12-08: Version 3.14.0:

** new features:

  - added new command "external virtual dir". The output of an
    external program is used to create a virtual directory, each
    output line being on entry in the virtual directory.
    An example button uses a simple script to output all modified
    files in a git repository so that those files are shown in a new
    tab as a virtual directory.
  - the font of the state bar can be configured individually instead
    of using the global font.
  - added new registered command "flatten_dir_follow_symlinks" which
    will create a flattened directory view just like the regular
    command "flatten_dir" but it will follow symlinks to directories.

** fixes:

  - fixed compiler warning on BSDs

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2017-11-14: Version 3.13.0:

** new features:

  - added new command "tab profiles". This command allows to save the
    opened directories in all tabs into named profiles and load those
    profiles back. Get more info here:
    http://www.boomerangsworld.de/cms/worker/documentation/commands/tabprofiles.html

** fixes:

  - fixed text drawing of very long lines with XFT. Usually happened
    for the text view with line length of multiple thousands of
    characters where the text width was not calculated correctly.

* 2017-09-12: Version 3.12.0:

** new features:

  - added new command "compare directories". This command allows to
    compare the active and inactive panel based on file size,
    modification time, or file content. The result is either applied
    as selection state, or as a new virtual directory containing the
    equal entries in one side and the unequal entries in the other
    side. Get more info here:
    http://www.boomerangsworld.de/cms/worker/documentation/commands/dircompare.html

** fixes:

  - when updating the current directory, keep the inotify watch so
    changes are not missed anymore
  - when reloading a directory, the file type of files with a changed
    file size is reset if it was not detected previously.
  - fix some compiler warnings

** other changes:

   - the number of hidden files and directories are now shown in the
     state bar.

* 2017-07-19: Version 3.11.0:

** new features:

  - improved DND support to use XDND protocol used by pretty much all
    current environments.  DND is still started a little bit unusual
    by selecting an entry and right-clicking the mouse. To abort a
    drop, press the Escape key (instead of right-clicking
    again). Also, only a single entry can be dropped out of
    Worker. When dropping entries into Worker, a new tab is opened
    with all local files added to a virtual directory. No actual copy
    is done but of course those files can be copied as usual within
    Worker.

** fixes:

  - fix some compiler warnings

** other changes:

  - use infinite timeout when unmounting devices
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2017-06-09: Version 3.10.0:

** new features:

  - the context menu now has an additional submenu for changing file
    filters. It is possible to remove active filters, or adding a
    filter based on the file ending of the current file. Also, the
    history of the filter select command and the set filter command is
    used to provide matching patterns for additional filters.
    Get more info here:
    http://www.boomerangsworld.de/cms/worker/documentation/features/contextmenus.html
  - there is now a reload button in the file viewer.
  - the file viewer now converts non-printable characters to a dot or
    a hexadecimal representation. The replacement variant can be
    selected within the file viewer window.  When selecting text with
    the mouse, the unmodified original data is copied into the
    clipboard in any case.
  - there is a new button in the file viewer to show the currently
    viewed file in the main list view.

** fixes:

  - the main window will be correctly updated if the window has been
    resized during blocked command execution.

** other changes:

  - added appdata xml file
  - the copy command now does not try to move directories (in move
    mode) if the option to adjust symlinks is selected. Instead it
    will work in copy & delete mode (like when moving between
    different devices).
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2017-04-18: Version 3.9.0:

** new features:

  - the command menu now can show only the recently used commands to
    allow faster access to often used commands. The example config
    (and the config update) binds this to Shift-F1.

** fixes:

  - the copy option to adjust relative symlinks had no effect if
    symlinks have been moved within the same device. Now it will be
    recreated with the adjusted target as intended.

** other changes:

  - the file type for unknown files now uses xdg-open as default
    action in the default config.
  - the pathjump filtering is now much faster by filtering
    asynchronously. If filtering is still ongoing, the filter string
    is appended by "...".
  - in the path jump window, pressing "Shift-Cursor right" will
    directly select the right most path component for fast access to
    actual files.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2017-01-07: Version 3.8.5:

** fixes:

  - fix check for support of utf8 in current locale. It could happen
    that UTF8 support has been disabled on runtime even though UTF8
    was actually available.
  - fix entry filtering in path jump when only sub-directories are
    shown. It had included directories which started with the same
    name as the currently selected.
  - fix compilation on NetBSD

** other changes:

  - improved saving and restoring main window position and size on
    exit and restart. It will now remember maximized state and also
    the position on multiple screens.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2016-09-17: Version 3.8.4:

** new features:

  - add new command "View newest files" to list all files that have
    been modified at the day as the newest file in the current
    directory. The result can be panelized to continue working with
    those files. This is helpful to catch up work from the previous
    day or more far away in the past.

** other changes:

  - improved writing persistent path database so the new file becomes
    valid only when it has been written completely.

* 2016-04-24: Version 3.8.3:

** fixes:

  - fix possible crashes in out-of-memory situations when using some X
    functions.

** other changes:

  - when replacing flags for command execution (and similar uses),
    both the file and its directory have been stored in the persistent
    path database. Now only the file is stored so that only the access
    probability of the file increases.
  - improved symlink handling when calculating relative
    symlinks. Worker now uses the shorter path for either the target
    or the realpath of the target. This has effect for symlinks stored
    in locations with symlinked directories.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2016-02-01: Version 3.8.2:

** new features:

  - the path jump dialog allows to filter for entries newer than a
    given time period.
  - add support for quick filtering the list view for modification or
    file access time. The keywords are timemod (or tm) and timeaccess
    (or ta) for the filter expression. You can use absolute times, for
    example: (tm>=2015-12-31) or relative times, for example:
    (tm>=1d). For absolute times, greater means younger than the date,
    for relative times it means older than the the given time span
    from now. Get more info here:
    http://www.boomerangsworld.de/cms/worker/documentation/features/filtering.html

** fixes:

  - the cleanup of the persistent path jump database works again and
    is also much faster.
  - in the path jump window, the button for ignoring the last access
    time now actually works (the keyboard shortcut was already
    working).

** other changes:

  - the path jump database will now be updated for copy and move
    operations to find files even if they are moved.
  - the persistent path jump database uses a lock file to avoid
    concurrent write access from multiple Worker instances.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2015-10-10: Version 3.8.1:

** new features:

  - the internal text view got a new search line which also shows the
    line of the current match (if any). Also, it is now possible to
    search backwards, or to restart the search from the top of the
    document. There are also some tooltips showing the keyboard
    shortcuts. The text view window will no longer close when escape
    is pressed, as escape can be used to deactivate the search text
    field.
  - added case-insensitive sort mode which can be configured in the
    general settings.
  - the command bound to a button is shown when the button clicked
    while the Control key is pressed.

** fixes:

  - fixed sorting in path jump UI, initial view was not sorted by last
    access.

** other changes:

  - the internal file viewer will no longer close the window when escape is
    pressed.
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2015-07-18: Version 3.8.0:

** new features:

  - added new command "change columns" to change the visible columns
    used in the active list view. The configuration is the same as for
    the global list view settings. Running the command twice,
    i.e. applying the same column set again, will switch back to
    global settings.
    This command can be used for example to use two different views,
    one only few columns, and a second for a more detailed view.
  - a comma separated list of patterns may be used now for file type
    name check. There is a new option in the file type configuration
    to enable this feature.
  - the context menu for file type actions will show the command to be
    executed in the state bar

** fixes:

  - fixed crash in internal view when it is called with no element

** other changes:

  - changed filter in command menu is only applied if the result view
    will not be empty
  - added configuration option for the volume manager to prefer udisks
    version 1 or 2
  - the delete dialog shows an additional warning if there are entries
    selected for deletion that are not visible
  - added tooltips for some buttons in the main window to make it
    easier for new users to find out the meaning of the buttons

* 2015-06-05: Version 3.7.1:

** new features:

  - added support for udisks2
  - the path jump database now also stores the last access time and
    sorts the suggestions when filtering based on that time
  - the path jump window also allows to hide non-existing entries, and
    optionally remove them from the persistent database as well

** fixes:

  - fixed crash when starting some commands on empty list views
    (reported by Anindya Mukherjee)

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2015-05-08: Version 3.7.0:

** new features:

  - added new command "change time" to change the modification and
    last access time of files and directories.
  - the copy operation has a new option to adjust relative
    symlinks. The feature has three possible values.
    - The default value will never adjust symlinks, i.e. Worker will
      use the symlink target as is.
    - The second value allows to adjust symlinks pointing to a file
      outside of the copy directory so that the new symlink still
      points to the same file. With this option, symlinks pointing
      inside the copy directory remain unchanged, other symlinks
      pointing outside the copy directory will be modified to point to
      the original file.
    - The third value will adjust all relative symlinks to point to
      the original files.
  - the copy operation also has a new option to ensure special file
    permissions.
    - it is possible to set user read and write permissions on all
      files copied.
    - additionally, read permissions for the group or all users
      can be added to file permissions.
    - this is especially useful when copying files from read-only
      devices (such as dvd roms) so that the files will get write
      permissions again.
  - the change symlink command got some new features:
    - the command can be configured to make symlink absolute or
      relative (or just editing them as before).
    - the edit dialog contains a new button to switch the current
      symlink text from absolute to relative location and vice versa.
  - the registered command "selectentry" now supports an optional
    argument to set the number of entries to select, and the
    direction. Positive numbers will select the corresponding number
    of elements starting and following the current elements, while
    negative numbers select the previous elements. The strings
    "pageup", "pagedown", "p", "-p" can also be used to select a whole
    page of entries.  The example config and the config updates
    contain example usages bound to
    Shift+PageUp/PageDown/CursorUp/CursorDown.
  - added ignore case option to the file type check based on libmagic.

** fixes:

  - fixes text selection in text view when it is scrolled horizontally

** other changes:

  - create symlink now uses the real path of the destination when
    generating a relative symlink. This avoids creating invalid
    symlinks.
  - the copy operation shows the failed command additionally to the
    error message to make it easier to understand the error.
  - the list view header line now indicates the current sort order.
  - the text viewer now uses the size of a symlink target for file
    size check.
  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Russian translation

* 2015-03-21: Version 3.6.2:

** fixes:

  - the flatten_dir command now also works for virtual directories
  - some inotify events are skipped to avoid unnecessary directory updates
    (especially on BSD systems because of different descriptor
    enumeration)

** other changes:

  - improved performance of pathjump UI when filtering the entries
  - added more lua versions as supported versions in configure script
  - improved configure script to give more hints about missing
    packages for certain features
  - added configure check for libinotify
  - the file name of the viewed file is now also shown in window title
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2015-02-14: Version 3.6.1:

** new features:

  - added general setting to use extended regular expressions instead
    of basic regular expressions
  - the label popup menu now remembers the last selected item and
    highlights it for the following usages, unless the menu is closed
    without selected any item
  - added option to "Open context menu" command to highlight the first
    user action in the menu when opening it. It makes accessing those
    user actions faster with the keyboard.

** fixes:

  - some compilation fixes for clang compiler
  - fixed a visual glitch in the move operation which always tries to
    scroll the list view to show the current file being moved. In some
    cases, the list view was scrolled to the wrong position so the
    current element moved was not on top of the list view.

** other changes:

  - if the expression for filtering list view content contains a file
    type check and a file type is not yet checked for a given file,
    the expression is now always true. Also, when file type check is
    completed, the view is updated to reflect the actual file
    types. For example, if the directory is updated with file type
    reset option, previously the filter matched nothing. Now the type
    check matches always, and only at the end of the type detection,
    the filter is re-evaluated.
  - the rename dialog now converts invalid file names (according to
    the current encoding) into valid ones, stripping invalid
    characters. This helps for renaming latin1 based file names in an
    utf8 environment. Accordingly, the change symlink dialog does the
    same for the link target.
  - added workaround code to free XLI resources in the show image
    mode. This avoids leaking X resources everytime the mode is turned
    off again.
  - added configure support for clang
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2015-01-08: Version 3.6.0:

** new features:

  - improved list view (temporary) filtering by supporting more
    complex expressions.
    - If the first character of the entered filter
      string starts with a "(", the string is evaluated as a boolean
      expression. This allows to combine checks for name, file type,
      size, and selection state. This is an example:
      "((n~foo|n=bar)&s>10m)" which means the name is either exactly
      "bar" or contains the characters "f", "o", and "o" and the size is
      larger than 10 megabytes.
    - More documentation can be found here:
      http://www.boomerangsworld.de/cms/worker/documentation/features/filtering.html
    - There is some interactive help shown in the statebar about how
      the expression should be continued. All possible alternatives at
      the end of the current string are shown after waiting one second.
  - added registered command "vdir_from_selected" which creates a new
    virtual directory containing all selected entries from the current
    directory (be it a real one or already a virtual one). The default
    config contains a corresponding button to activate this command,
    updating Worker from an older version will ask to import that
    button.
  - added registered command "vdir_add_selected_from_other_side" which
    adds all selected entries from the inactive panel to the current
    virtual directory. If the current directory is not virtual, a new
    virtual directory will be created. The default config contains a
    corresponding button to activate this command, updating Worker
    from an older version will ask to import that button.
  - when activating the search entry mode two times without entering
    anything in between (usually by just pressing Ctrl-s twice), the
    previously used filter string is inserted. This is useful to
    re-apply a filter to the same or different directory, or to refine
    a filter (like the new expression based filter).
  - added on-demand file type check for not yet known entries when
    double clicking/pressing enter on an entry or trying to open the
    context menu. With a lot of files, it may take some time until the
    active entry is actually checked, so this change helps speeding up
    the handling of such files.

** fixes:

  - fixed possible deadlock in subprocess handling when executing
    external commands. In some cases Worker was still waiting for the
    end of a command even it the executed program exited already.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)

* 2014-11-08: Version 3.5.2:

** new features:

  - added new configuration options (in initial directory section) to
    store and restore tabs. If enabled, Worker stores the opened
    directories and restores the tabs in the next session. It can be
    automatically or by asking interactively. There are also command
    line arguments to force the behavior.

** fixes:

  - fixed window layout when changing layout styles. Some GUI elements
    were not resized correctly.
  - fixed saving the configuration if the .worker directory is a
    symlink to another directory containing the configuration files.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation

* 2014-10-02: Version 3.5.1:

** new features:

 - the startprog command now also allows to use the flags from the own
   command to be replaced with the selected files etc. It is now
   possible to enter commands like "ls -l {a}". As a side effect, the
   string protection rules changed, so that backslashes need to be
   entered as double backslashes and the characters { and } need to be
   protected with a backslash if they are supposed to be part of the
   final command string. As before, the default file name is still
   protected to be usefull with modifications.
 - added additional GUI face definition for popup menus: "popup-bg",
   "popup-fg", and "popup-submenu-arrow"

** other changes:

  - if copy is started while the inactive panel is not the directory
    mode, the dialog asking for the directory now allows to skip this
    dialog as long the path is still the same as the one accepted
    in the last dialog.
  - some changes to make it compile with gcc 4.6 again

* 2014-08-16: Version 3.5.0:

** new features:

  - added system to modify the colors of the GUI elements by using
    so-called faces. The colors of general GUI elements can be
    configured by modifying the faces values in the configuration of
    the UI. The Worker specific UI elements can still be configured
    separately as before.
  - added info line below list view to show additional information
    regarding the current entry. The content of this line is
    configurable in the directory mode configuration. It can be either
    a string with special flags replaced by file name, file size,
    symlink destination, etc. Or, if LUA is available, the string can
    be evaluated with LUA for complete programmable content. The line
    can be disabled.

** other changes:

  - improved the persistent path jump database to update the data base
    file in a background thread. This significantly increases the
    performance if the option to store all used files is enabled and a
    large number of files is used for executing an external program.
  - directories are now updated when switching tabs
  - the breadcrumb path is now stored separately for each tab
  - if copy is started while the inactive panel is not the directory
    mode, the directory previously shown is used as default value for
    the target dialog.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation
    (Thanks to Serg Markov)

* 2014-06-09: Version 3.4.1:

** new features:

  - added breadcrumb navigation line to quickly change directories. It
    can be disabled in the configuration of the directory mode.
  - the copy window of background copy operations remains opened
    after finish. There is a new checkbox to select this behavior
    (keep or close the copy window).

** fixes:

  - search mode is no longer activated on key press if that key is
    part of a double shortkey.
  - fixed memory leak in text view mode (text GUI elements have not
    been removed properly when switching mode off).

** other changes:

  - it is now possible again to show the ".." entry in the list view.
    There is a configuration option in the corresponding configuration
    of the directory mode. It is a fake element that does not show
    the file system values of the real ".." entry of a directory.
  - skip remaining space check for copy if total space is zero (in
    case this information is invalid)
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation
    (Thanks to Serg Markov)

* 2014-05-01: Version 3.4.0:

** new features:

  - copy operations can be put into background so Worker can be used
    normally while copying
  - added configuration option to place the path field on top of the
    list view (in list view settings)
  - added some keyboard shortcuts to the text field
    (Ctrl-x/c/v for cut/copy/paste, Meta-f/b for next/prev word)
  - added new registered command "go_to_previous_dir" which
    jumps to through the cache of directories.
    In the default configuration, the key Backspace is bound to
    this command.
  - added option to path jump feature to always stored files in the
    database which are used for commands

** fixes:

  - clicking into the path field activates the corresponding list view
    again

** other changes:

  - improved internal database of often used commands in the command
    menu so support entries with the same name but different commands
    assigned to it (like two "status" buttons for svn and git)
  - warn if more than 100% of a file has been copied (due to file size
    changes during copy)
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)

* 2014-03-06: Version 3.3.3:

** new features:

  - added new registered command "flatten_dir" to show all files in
    all sub-directories in a flat view (as a virtual directory). This
    is a shortcut for searching for all files and then panelizing the
    results.
    A corresponding button is available as an update (Worker asks
    after first start to add this button).
  - in ScriptOp command configuration, the eval_command section now
    shows all registered commands to choose from.
  - unified xliwrapper and displaywrapper script to choose the best
    available viewer for the show image mode.
  - the filterselect/unselect command now selects the best matching
    previous filter based on the file currently active. If none is
    found, the file extension of the current file is used for the
    default value.
  - the path jump now also stores the file used after jumping to a
    directory to make accessing often used files much faster.
  - added isBrokenSymlink() function to the extended file type test,
    allowing to match such symlinks and set custom actions or colors.
    A corresponding file type is available as an update (Worker
    asks after first start to add this type).

** fixes:

  - implemented workaround for keyboard focus loss with some XIM
    servers.
    Worker should identify stuck keyboard and asks to enable
    workaround.
  - path text field will be restored to correct previous value if Escape
    has been pressed.
  - fixed bug in search entry function which jump to the next entry
    even if another window is actually opened.

** other changes:

  - mentioned all important files in .worker configuration directory.
  - search window title now contains the path and pattern for the
    search currently shown.
  - it is now possible to select multiple file types in the
    configuration to delete them all together.
  - the command history in the start prog interface now does not store
    the command if it starts with a space.

* 2014-01-20: Version 3.3.0:

** new features:

  - several path jump improvements:
    - it is possible to hold the currently visible entries and reset the filter.
      This allows to refine a search with a new filter.
    - holding entries is also possible depending on the match class (best matches only,
      second best matches also, and so on).
    - a separate list view shows the number of matches for each class and the corresponding
      key to hold those entries (Ctrl-1 to Ctrl-9).
    - Ctrl-0 will release the held entries.
    - it is now also possible the show the path jump matches in the list view as a virtual
      directory (panelize button).
  - the command menu now also temporarily highlights the button which corresponds to the
    current entry in the menu.
  - the start prog interface now supports command completion based on the commands previously
    used. The best match will be suggested directly, others are available for selection
    with cursor up/down. Completion can be disabled by changing the cursor position.
  - the behavior of parent dir/enter active dir (left and right cursor keys) have been
    improved for virtual dirs. With the right key, the virtual dir is refined to only
    contain those entries that have the same base directory as the current one.
    The left key will search the cache for best matching parent virtual dir.
    This allows for better browsing of virtual directories.

** fixes:

  - when activating the entry search with a key press, the pressed key is now
    correctly used for the initial character. Also, the characters are matched
    from the beginning, not inside, by default (no implicit * at the beginning).

** other changes:

  - the old directory mode has been removed. The list view bar on top of the list view
    shows whether a real directory or a virtual one is shown.
  - improved window placement so some windows are not created at a fixed position (top left)
    (depending on the window manager placement strategy).
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Russian translation
    (Thanks to Serg Markov)

* 2013-12-16: Version 3.2.1:

** new features:

  - command menu shows also the assigned shortkey if available
  - the search entry can be activated without ctrl-s by pressing a key.
    The feature can be disabled in the configuration of the virtual dir mode.
  - if the search windows is opened from a virtual directory, it searches
    only those entries
  - added new entries to the command menu to
    - switch list modes
    - open list mode configuration
    - access registered commands
  - search entry in list mode now highlights the matching characters
    temporarily
  - bookmark dialog and path jump dialog also highlights matching
    characters when applying a filter

** fixes:

  - fixed copy time estimation when renaming files
  - jumping to next matching entry with ctrl-s works now also
    for flexible matching
  - command menu is updated after reconfiguration
  - file type recognition on content did not work for empty directories
    even after reload

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)

* 2013-11-18: Version 3.2.0:

** new features:

  - added command menu to access menus, buttons, hotkeys with keyboard.
    There is a new command called "command menu" which opens a window
    showing all registered commands and menus. It is possible to select
    an entry with the cursor keys or by entering a filter string.
  - added a filter in the "start prog" dialog in the tab for handling
    as a specific file type.
  - the list view bar shows a text while reading a directory to give
    better visual feedback about the state.
  - added an update feature to import new configuration items to
    an existing configuration when starting a newer version. Worker
    will ask to import new hotkeys, buttons, and filetypes. It's
    possible to modify the items to import or skip this update.
  - added file type option to use the MIME description from libmagic
    instead of the plain text description.

** fixes:

  - fixed pattern rename script to work with virtual directories.
  - the move operation in the virtual dir mode now correctly highlights
    the entry currently moved.
  - the directory size command in the virtual dir mode now updates the
    entries correctly during calculation.
  - delete in virtual dir mode now removes the deleted entries during
    the operation, not just at the end.
  - fixed external command execution if the tmp directory is mounted
    with NOEXEC option.
  - virtual dir mode ignored the list of directories to ignore for
    content check for file types

** other changes:

  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation
    (Thanks to Serg Markov)

* 2013-10-06: Version 3.1.0:

** new features:

  - all commands now also works within the new virtual dir mode (introduced
    in Worker 3.0.0)
  - configuration of the virtual dir mode is now possible
  - filters are also working
  - the virtual dir mode is now the default mode but the old directory
    mode is still available
  - added option to file search to only match files (new default) or
    also directories (has been the default value in the past)
  - panelize feature in search UI and changing list view to show match
    can now be activated with key F2 and F1 respectively

** fixes:

  - the volume manager sometimes did not report new devices (optical discs)
  - skipping symlinks in copy did reduced the total number of bytes remaining
    incorrectly

** other changes:

  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2013-06-24: Version 3.0.0:

** new features:

  - add new list view mode "virtual dir mode" which is able to
    show so called virtual directories. Those directories may contain
    entries from different actual directories.
    This mode is used to panelize search results. Limited features
    from the main directory mode is available but it is planned to
    eventually replace the normal directory mode.
    The following features are available:
    - browse regular directories
    - tabs
    - directory cache
    - context menu
    - bookmarks
    - filetype recognition
    - executing external programs
  - a C++11 compatible compiler is required now. Not all features
    must be supported though. For GCC, it must be version 4.6 at least.
  - the configuration dialog for the list view modes has been changed to
    make the usage easier. This can be accessed by right-clicking on the
    list view bar or calling the command "file lister settings" (bound
    to Ctrl-F1/F2)

** fixes:

  - copy & paste of UTF8 strings works now correctly
  - disabled fast copy mode. If files are moved in fast copy mode to a
    different device (i.e. files are copied and deleted afterwards),
    already freed memory is accessed. This could lead to crashes, or
    incomplete removal of correctly copied files, or deletion of wrong files
    (even though this is very unlikely ).
    Bug existed at least since version 2.0.0 so this mode was probably never
    used and will be removed.

** other changes:

  - XFT is now enabled by default
  - configurations in old binary format (Worker 1 and early Worker 2
    version) can no longer be loaded.
  - set the X window type for dialogs to improve handling
    in some window managers.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation
    (Thanks to Serg Markov)

* 2012-11-22: Version 2.19.6:

** other changes:

  - reload due to inotify event does not deactivate the search entry
    mode
  - in the text view, pressing Enter or n will search for next match
    even if the text field is not active
  - path jump also shows other matching entries even there are some
    perfect matches
  - some improvements were made to the default config (cleanups for
    file types, buttons; new buttons for volume manager and path jump;
    default fonts)

* 2012-09-04: Version 2.19.5:

** new features:

 - added evaluate command in ScriptOp command which makes it easier to
   add new commands
 - added "recenter_top_bottom" command which centers the current entry
   (or put it on top or bottom of the list view). It's bound to "C-l
   C-l" in the default configuration.
 - improved entry search mode: pressing / will enter the directory of
   the current entry which keeping the search enabled. The first entry
   of the entered directory will be highlighted to make browsing
   faster. Backspace in an empty search will go to the parent
   directory.
 - added directory watching with inotify. In case of changes, the
   directory will be automatically reloaded. This behavior can be
   disabled in the file lister configuration.
 - added button next to the path field to directly access file lister
   configuration.
 - file copy offers a retry option in case of errors (due to out of
   space or other errors).
 - file copy asks to continue if the free space on the target directory
   is less than the sum of the bytes to copy.
 - added slider to button banks to visualize the currently displayed
   bank.

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)

* 2012-07-05: Version 2.19.4:

** new features:

 - hints about Worker features and key shortcuts are shown in the
   clockbar. The feature can be disabled in the clockbar
   configuration.
 - it is now possible to filter commands in the configuration of
   buttons, file types, and hotkeys.

** fixes:

 - the remaining time for copying files based on the current transfer
   rate showed wrong values when the overwrite dialog was visible.
 - improved text pasting into QT applications (and possibly other
   environments too).

** other changes:

  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)

* 2012-06-15: Version 2.19.3:

 new features:
  - added xinerama support for windows which try to be as large as
    possible.
  - the path jump UI has been improved to allow to only show sub-
    directories of the currently selected entry and path component.
    It makes navigation easier if many entries exist.
  - the path jump UI supports removing non-existing entries from the
    persistent list of visited directories.
  - text can now be selected with the mouse in the internal text
    viewer, the string will be copied into the clipboard.

 fixes:
  - the path text area is not cleared when just pressing a key for jumping
    to the next entry beginning with that character.

* 2012-03-29: Version 2.19.2:

 new features:
  - it's now possible to enter (or paste) full file names into the
    path text field. Worker will change to that directory and highlight
    the file.
  - added command "copy string to clipboard" which copies an arbitrary
    string into the clipboard for pasting that into other applications.
    Regular flag replacement will be done so it's possible to copy
    the file into the clipboard. The root file type in the default config
    contains an example action for this.
  - added persistent store for the path jump command which stores
    all visited directories. All running Worker instances share this
    database. The feature must be enabled explicitly by setting a
    list of directories which are allowed to be tracked.
  - improved the matching algorithm in the path jump command to favor
    matching entries with less non-matching characters. A quality value
    is shown to make it easier to identify the wanted entry.
  - the path jump command now also can show all entries known to the
    database. By default only the paths visited in the current session
    are shown. The other entries are all bookmarks and all entries
    from the persistent path store.

 fixes:
  - fixed date replacement strings for the time columns to correctly
    work with utf8 strings (the replacement for "today", "tomorrow", and
    "yesterday")

* 2012-02-19: Version 2.19.1:

 fixes:
  - fixed memory leak and large cpu usage in the dbus code for udisks.

* 2012-01-31: Version 2.19.0:

 new features:
  - context menus (and double click commands) now can access all
    selected entries instead of just the clicked one. All flags
    for external commands can be used now but there is one difference
    to regular call (via buttons or hotkeys): the flag for first
    selected entry will be the highlighted entry (double clicked or
    selected with context menu).
  - added support for using udisks instead of HAL in the volume
    manager. Only simple stuff like mounting, unmounting, ejecting
    devices, but no authentication support.
  - added new command "path jump" to quickly access already
    visited path by using type-ahead filter and breadcrumb-like
    navigation. In the default configuration the command is mapped
    to the key "/". When started, it shows all visited directories.
    Parent directory are merged with deeper directories so only
    the longest path is used. All path components can be selected
    with left or right keys.
    Also, it is possible to enter a filter so only those entries
    are shown which match (either by the complete string or
    by using flexible matching). The path component matching
    the filter will be highlighted for direct use. For example,
    if /c and /a/b/c has been visited, the dialog will show both
    directories. If "c" is entered, still both are visible but if
    "ac" is entered, only /a/b/c is visible and the last path component
    "/c" will be highlighted.  If "ab" is entered, /a/b/c will still
    be visible but /b will be highlighted.
    If a filter is entered but no entry matches, then a matching
    bookmark entry will be shown instead making it easy to access
    bookmarks as well with the same dialog.

 fixes:
  - fixed memory leak in the experimental XFT support
  - fixed saving a configuration if no other configuration file exists

 other changes:
  - added second prediction for end of copy time based on the current
    rate (rather than the average rate).
  - changed the default config to use a common root file type to
    make global file type configuration easier.
  - when adding bookmarks with the label context menu, directories
    no longer use the "use parent directory" flag.
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Russian translation and Ukrainian translation
    (Thanks to Serg Markov and Pavlo Greenberg)

* 2011-09-30: Version 2.18.1:

 new features:
  - the own command now creates temporary copies of virtual files
    for all flags (like {t}). The advantage is that external programs
    can access file in archives, remote sites and so on but changes
    are not copied back.
    This behavior can be disabled for each own command separately.
  - temporary files will deleted after the external program exits.
    This is important for programs ran in background so temporary
    copies live as long as the program using them.
  - when creating temporary files, a progress is shown in the
    state bar when it takes longer to copy it from the virtual
    file
  - the volume manager now also has keyboard shortcuts for open
    and close ('o' and 'c')
  - the search dialog now allows to jump to the selected entry
    but keeping the search window opened. This can be done by
    right-clicking the corresponding button in the window.

 fixes:
  - the status information hasn't been refreshed correctly when the
    search finished
  - fixed an endless loop in the tab completion with disabled utf8
    support

 other changes:
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Russian translation and Ukrainian translation
    (Thanks to Pavlo Greenberg)

* 2011-07-15: Version 2.18.0:

 new features:
  - the search dialog is now also asynchronous. That means that the window
    can remain opened and new windows can also be opened for different
    searches. The window share the same stored results but results
    currently shown in a search window cannot be accessed by a different
    window.
  - the search UI has been improved to better handle large number
    of results (faster update)

 fixes:
  - closing the configuration no longer resets custom column widths
  - the active entry in the search window now stays at the highlighted
    line when removing entries
  - fixed display bug in text view when a selection is at the end of a
    line and word wrapping is enabled.

 other changes:
  - removing a search result does no longer remove all results for the
    same file but will only remove the entry for the corresponding line
    number

* 2011-06-02: Version 2.17.13:

 fixes:
  - fixed bug in directory reload which prevented attributes from the directory
    cached to be restored (if version string compare is enabled)

 other changes:
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2011-05-27: Version 2.17.12:

 new features:
  - improved searching entries in list view. Flexible matching is used
    if the pattern doesn't match directly. In this mode, any entered character
    must be found in the same order but there may be any other characters
    between them. For example, entering "abc" would also match on "xaybzc" but
    not on "xayczb" since the former contains abc in the same order but not the
    latter. There is a new option in the search entry command to disable
    this behavior (it is enabled by default). If flexible matching is used,
    the list view bar will show a leading ~ before the actual string.
  - The entry search now also shows completions which can be completed by
    hitting the TAB key.
  - added a global option (in the general settings) to use strverscmp (if
    available on the system). The option is enabled by default. The name sort
    will respect numbers inside file names. For example, foo10 is sorted after
    foo2 which was previously not the case.
  - added a new command to switch the button bank

 other changes:
  - updated Czech translation
    (Thanks to Petr Korviny)
  - updated Russian translation and Ukrainian translation
    (Thanks to Pavlo Greenberg)

* 2011-03-17: Version 2.17.11:

 new features:
  - added new list view mode for quick viewing text files.
  - the text view will now read more of the shown file when the end of the
    file has been reached.
  - improved search: there is a new limit for searches in archives to prevent
    endless loops. The default value is 3 so the search stops in archives in
    archives in archives. But any other limit can be set in the search options.
    Also, when refining search results, enabling search archives works
    reliable.
  - The available commands in the configuration for buttons, file types, and
    hotkeys are now classified into categories to make it easier to find
    commands.
  - There are new popup menus for the list view tabs.

 fixes:
  - fixed text view scrolling if the slider buttons are used

 other changes:
  - Worker will show a short message if an external command exits with an
    exit code != 0
  - updated Czech translation
    (Thanks to Petr Korviny)

* 2011-01-30: Version 2.17.10:

 new features:
  - the history of patterns used for filter selection are persistent
    for all worker instances.
  - the list of all shortkeys can be sorted
  - the copy dialog uses human readable representations for the number
    of bytes (MB/GB/...)

 fixes:
  - when the maximum command line length has been reached for an external
    command the last file name has been truncated (for example, if {a} is
    used in an external command). This no longer happens. Now a dialog ask
    to continue with all files fitting in the command line or completely
    abort executing the external command.
  - the text selected in a text area hasn't been copied to the
    X clipboard if Shift+Home/End has been used
  - the AVFS module used for the "ftp connection" command is stored in
    the configuration as well (AVFS ftp or ucftp module)

 other changes:
  - list of activated features has been improved in the about window
  - the maximum command line length has been increased (depending on the
    actual system). External programs can be used with more arguments
    which is important for flags like {a}
  - empty menus no longer appear for eject/close tray if no device
    could be found
  - slightly changed determination of the free space of devices so it
    gets updated more often.

* 2010-08-31: Version 2.17.9:

 new features:
  - the bookmark manager now stores the number of accesses for each
    bookmark. When using "find-as-you-type" the entry with most uses
    is suggested making typical bookmark usage much faster.
  - added configuration option to use a custom font for the file
    viewer.
  - the file viewer is now asynchronous so a window does not need to
    be closed to continue. Due to internal limitations the file
    viewer window may not react in every situation.
  - added support for ejecting devices and closing trays in the volume
    manager. The list of volumes can also be updated without closing
    the window.
    The command to eject or to close the tray can be configured in the
    volume manager settings in case HAL support is not available.

 fixes:
  - file type recognition based on libmagic now works also on symlinked
    files.

 other changes:
  - updated Latvian translation
    (Thanks to Einars Sprugis)
  - updated Czech translation
    (Thanks to Petr Korviny)
  - new Ukrainian translation and updated Russian translation
    (Thanks to Pavlo Greenberg)
  - updated Italian catalog
    (Thanks to Giulio Canevari)
  - added worker.desktop file for menu entry in DEs
    (Thanks to Tobias Quathamer)

* 2010-06-24: Version 2.17.8:

 fixes:
  - fixed possible lockup when starting external programs
  - fixed color for line numbers in text view

 other changes:
  - updated Czech translation (Thanks to Petr Korviny)

* 2010-06-16: Version 2.17.7:

 new features:
  - it is now possible to enter new labels in the popup menu.
  - for own command and "start prog" command the output of the external
    program can be displayed with the internal viewer.
  - added new column to show file sizes in a human readable format (mb,gb,...)
  - the volume manager now also shows the volume label and size (if reported
    by HAL).

 fixes:
  - new device detection didn't work correctly if hal and fstab entries
    are mixed.
  - fixed wrong number display with thousands separator that uses more than
    one byte (utf8).
  - fixed small visual glitch with list view redraw when moving files.
    If a dialog comes up it was possible that the wrong entry was displayed.

 other changes:
  - files which cannot be stat'ed will be visible in the list view now.
    A dialog will no longer come up.
  - devices hidden in the volume manager will not be reported as new.
  - when opening the bookmark manager a best matching entry will be searched
    if the currently active entry is not stored as a bookmark.
  - changed method to run external programs which also makes the cygwin
    workaround flag in the configure script unnecessary.
  - slightly improved determination of free space to reduce update delays.

* 2010-03-01: Version 2.17.6:

 new features:
  - the event handling has been improved so the process does not wake up
    too often. That might be beneficial for laptop users to save battery
    power.
  - Worker now opens a dialog when new devices become available to ask
    what to do with them (mount them, open volume manager or do
    nothing). There is a new option in the volume manager section to
    disable this behavior.
  - it is now possible to sort the file list by file permissions
  - the layout configuration has an additional option to apply the
    list view weight relatively to the active side. That makes it
    possible to set the current side to 80% of the window width
    regardless of whether it is the left or right side.
  - there is a new command option --config to choose a different
    configuration directory.

 other changes:
  - HAL support status is shown in about window.
  - improved built-in configuration to be slightly more useful in case
    no other configuration is found.
  - the button for editing the list of hidden devices in the volume
    manager has been removed, the dialog can be accessed with the
    secondary button function of the hide button.

 fixes:
  - improved detection of new devices. Sometimes they were reported
    multiple times or never (if they have been reconnected).

* 2009-11-10: Version 2.17.5:

 new features:
  - added volume manager to mount and unmount devices
    - devices can be mounted via HAL if available and by traditional
      fstab mount
    - Worker shows an information in the state bar if a new device becomes
      available
    - A new command "Volume manager" is available to access the corresponding
      UI (the hotkey can be downloaded from the add-ons section at the
      homepage). The default key is Alt+v.
    - Commands used to mount/unmount devices can be configured in a new
      config section (only required if HAL is not used)

 other changes:
  - file list filter is shown in list view bar
  - added configure option --enable-cygwin-workaround so Worker runs without
    problems on Cygwin
  - updated Italian, Latvian and Czech translation

* 2009-06-02: Version 2.17.4:

 new features:
  - added "change layout" operation to change the main window layout during
    runtime
  - different weights may be used for the list views
  - added option to the "search entry" operation to match inside file name
  - Worker shows possible keys for double shortkeys in the state bar

 fixes:
  - fixed message about importing special file types, original and new one
    was swapped
  - fixed bug for label colors, it was possible that a color from an entry
    in a sub directory was used instead of the correct one

 other changes:
  - added Latvian translation
    (Thanks to Einars Sprugis)
  - changed tab text to only show base name instead of full path
  - added some hotkeys to default configuration for layout changes:
    Ctrl+l 1 will make left list view wider (80%/20% partitioning)
    Ctrl+l 2 will make both list views use 100% of the window width
  - added some hotkeys to show current path on the other side in a new tab
    (Alt+o and Alt+Shift+o)
  - the "go to directory" operation now accepts file names and will highlight
    the given file in the corresponding directory.
    There is an example button "go symlink" to follow a symlink to its real
    destination
  - changed mount/unmount button to give some message if the operation failed

* 2009-03-12: Version 2.17.3:

 fixes:
  - fixed compilation with gcc 4.3

 other changes:
  - updated Czech translation (Thanks to Petr Korviny)
  - updated Polish translation

* 2009-03-06: Version 2.17.2:

 new features:
  - added tabs;
    All tabs share the same directory cache so if you select some entries in
    a directory and you enter this directory in a different tab the previous
    selection is available.
  - added "modify tabs" command;
    default keys are ctrl+page up/down for previous/next tab and ctrl+t/w
    for new/close tab

 other changes:
  - improved layout configuration
  - made checks for bookmarks and labels faster
  - updated Czech and Slovak translation (Thanks to Petr Korviny and
    Stanislav Pavlica)

* 2008-12-18: Version 2.17.1:

 fixes:
  - fixed endless loop in layout function for the GUI which was triggered in
    version 2.17.0

 other changes:
  - bookmark UI tries to use as much space as necessary so no horizontal
    scrolling is required

* 2008-11-11: Version 2.17.0:

 new features:
  - added more options to find dialog
    it is possible to set modification time limits and search for given file
    size
  - files or directories can now be labeled to make it easier to find important
    or frequently used files
    - Each label may have a specific color which will be used to highlight the
      corresponding entries.
      There is a new configuration section for these colors.
    - Parent directories also will be displayed in this color to indicate that
      there are some labeled entries in this or some sub-directory (though this
      feature can be disabled in the configuration of the normal file lister)
    - there is a new command to change file labels which can set or remove
      a given label on the active entry or ask for the label with a popup menu.
      The same menu is available in the context menu of the selected entry.
      The example config comes with the hotkey alt+l for keyboard access.
    - all labeled entries are stored as bookmarks so they are available for
      editing in the bookmark dialog
  - the "set filter" command has been enhanced to allow showing only bookmarked
    entries or entries with a specific label. That makes finding some bookmarked
    (or labeled) entry much easier. The command may directly set the given filter
    without additional interaction or a popup menu may be used to query the
    filter. The example configuration uses the hotkey ctrl+d for opening the
    popup.
  - the bookmark dialog has been enhanced to handle the new labels.
    The current entry in the file list is also highlighted if it is also
    present in the bookmarks.

 fixes:
  - recursions in worker actions are now limited to not eating up all memory
  - fixed a bug where in some circumstance the file type recognition indicator
    keeps busy even if there were no files left to identify

 other changes:
  - the string filter (activated with ctrl+s) is now not cleared when
    reloading the same directory

* 2008-07-03: Version 2.16.5:

 fixes:
  - the default value for the libmagic decompression option was not
    correctly initialized

* 2008-07-01: Version 2.16.4:

 new features:
  - file type recognition by using libmagic can optionally decompress files

 fixes:
  - adding "run custom action" to command list of a file type opens the
    configuration just as for the other commands
  - fixed very rare problem when worker waits forever for an external
    program to exit

 other changes:
  - updated Slovak translation
    (Thanks to Stanislav Pavlica)
  - copy/move/delete operation limits redraw of file list to speedup operation
  - changing symlinks updates the directory afterwards
  - bookmarks are now sorted
  - creating new file types uses colors from parent type as default
  - the content of the text fields in the search UI is not copied to the
    clipboard when the window is opened

* 2008-04-17: Version 2.16.3:

 new features:
  - the file search can be limited to only search the same device as
    the base directory
  - added experimental XFT support (enabled with --enable-xft)
  - there is a new filter in the file type configuration for showing
    only matching file type names in a sorted list
  - added support for libmagic (from "file") so file types can also be
    recognized by the output of this library
  - added optional alias for bookmarks

 fixes:
  - fixed text search in file viewer; after the last match was found the next
    search did not started again at the beginning of the document
  - fixed a minor memory leak in configuration parsing if the configuration
    file contains errors

 other changes:
  - the command to calculate the directory sizes can now be aborted by
    pressing Escape and the window is also redrawn during operation.
    The directory name currently scanned is limited to fit into the
    state bar and it will only be updated once per second.
  - improved startup times
  - faster window update for file type updates during recognition

* 2008-02-11: Version 2.16.2:

 new features:
  - added text search in file viewer
    - search can be activated via hotkey '/', Ctrl+f, Ctrl+s or Ctrl+i
    - search is case sensitive for mixed/upper case characters and
      case insensitive if all characters are lower case
    - regular expressions can also be used
  - added configure settings for colors of text view selection
  - added option (in general settings) to disable saving the worker state on
    exit
  - added popup menu when clicking on the statebar with right mouse button;
    menu allows to access 'about', 'configure', 'quit', and to save the current
    worker state (useful if disabled in configuration via the new option)
  - added command to open the worker menu

 fixes:
  - fixed ftp command to store passwords (if enabled) of different servers
  - fixed file length limit in file viewer to correctly handle files
    larger than 2GB

 other changes:
  - file name in text view and search is shortened to fit into window
  - added double buffering in file viewer to avoid flickering

* 2007-12-03: Version 2.16.1:

 new features:
  - improved chmod to allow adding or removing permissions instead of just only
    setting them (for example useful for setting the write bit while leaving
    all other permissions at original value)
  - added type-ahead filter for the context menu for faster access (disabling
    all entries not matching the filter)
    (backspace will clear the filter again)

 fixes:
  - the internal file viewer no longer blocks forever when trying to view
    non regular files like pipes. Worker now tries to read some bytes for only
    a few seconds.

 other changes:
  - improved the speed of the internal file viewer, word wrapping is much faster
    for large files. As a side effect the initial size with enabled word
    wrapping is increased to 512 KB
  - the maximal buffer size for the file viewer is limited to 1 GB and the
    reload key doesn't work anymore if the file is already loaded completely
  - correctly set keyboard focus for popup menus when using the mouse
  - added time out for double short keys
  - updated Italian catalog
    (Thanks to Giulio Canevari)

* 2007-11-08: Version 2.16.0:

 new features:
  - added context menu for access to actions defined for the corresponding
    entry
    The menu is opened with the right mouse button which was previously used
    for list view scrolling. This action is now activated by shift + right mouse
    but it can be changed in the section about mouse button configuration
  - added custom file type actions so it's possible to use more than 10 (user)
    actions and also give them a reasonable name.
    There is a corresponding command to activate a custom action by name and
    it can also be selected in the new popup menu
  - added modifier key option in the mouse button configuration so the four
    mouse actions can be assigned to mouse buttons
  - added command to activate context menu for keyboard use
    (assigned to Ctrl+Space in default config)

 fixes:
  - fixed compilation with gcc 4.3
    (Thanks to Tobias Toedter)
  - for very long file names the text view window was to wide
  - the dialog in text view was set transient for the wrong window
    (Reported by Sascha Hunold)
  - fixed missing redraw in automatic creation of file content test

 other changes:
  - viewing program in own command is hidden if it's not used
  - the dialog for large files in text view can be canceled
  - saving the configuration now only writes non-empty file type actions
  - added Czech translation
    (Thanks to erno)

* 2007-06-07: Version 2.15.0:

 new features:
  - added directory bookmarks
    - it's possible to add directories and select whether a specific entry
      will be highlighted when jumping to the bookmark
    - the list of bookmarks can be filtered by entering some characters
      (Shift-Backspace clears the filter)
    - the list of bookmarks is written back to disc immediately whenever
      a change occurs so any running Worker will see the new list when
      opening the bookmark dialog
    - the default key in the example configuration is meta-b (and ctrl-\)

 fixes:
  - fixed some problems in the internal text view with very long text lines
    It could happen that the word wrapping doesn't work correctly or
    a line gets overdrawn making it unreadable
    As a side effect the text view is significantly faster if word wrapping
    is disabled
  - fixed a minor bug introduced in Worker 2.9.0
    many commands just didn't had any effect if they were assigned to
    drag'n'drop action
  - fixed bug in the configuration of the interval text viewer which
    prevented the setting of the the viewing mode
  - fixed a small visual glitch when "+" was displayed in the list view bar
    but no search filter was actually active
  - fixed file choose dialog in configuration export, it wasn't possible to
    enter a new name

 other changes:
  - the command "go to parent dir" now deactivates the search filter instead
    of actually going to the parent directory
  - since text viewing is much faster now the default buffer size is raised to
    2 MB (with enabled word wrapping it's still 64 KB)
    it is however now possible to increase the buffer on demand by clicking
    on "Read more" (or pressing "r") in the text view.
    The text viewer also asks to read the complete file if it's larger than
    the default buffer size
  - the horizontal scroller in the text view now only takes the visible lines
    into account
  - the scrollers in the text view no longer uses the background colour of the
    text view making them more readable
  - updated Italian catalog
    (Thanks to Giulio Canevari)

* 2007-03-22: Version 2.14.4:

 fixes:
  - fixed bug introduced in Worker 2.14.3: It was possible that the directory
    entry ".." was not visible but a phantom entry (from previous directory)
    was visible at the end of the file list.
    This can happen when hidden files are not visible and the file system
    returns the ".." entry in an unusual order.
    Worker outputs an error msg ("Nr of entries does not match real value!")
    in this case.
    (Thanks to Panayotis Papasotiriou for reporting this bug and helping
     tracking it down)

* 2007-03-19: Version 2.14.3:

 new features:
  - when searching an entry in the list view (with Ctrl-s) the list will be
    filtered on-the-fly to only show the matching entries. The filter is active
    until the directory is reloaded or another search is started.
    The list view bar indicates such a filter by using a "+" character (in
    contrast to "*" when normal filters are active)
    This feature can be deactivated in the configuration of the list view mode.
  - ftp command: it's possible to use an anonymous login

 fixes:
  - search: jumping to files containing wildcards characters ([,*...)
    didn't worked correctly
    (Reported by Johannes Rosky)
  - fixed a visual bug where it was possible that both sides highlight the
    active entry

 other changes:
  - added Slovak translation
    (Thanks to Stanislav Pavlica)
  - initial language selection shows now a list of available languages
  - search: the file name field is focused when opening the window
  - search: when the search is finished the number of results is updated
    correctly in the list of previous searches

* 2007-01-30: Version 2.14.2:

 fixes:
  - fixed a problem with corrupt directories
    If the entry ".." occurs several time in a directory listing, some real
    entries weren't shown in the list view
  - search result "/" (just the root dir) was displayed as "//"

 other changes:
  - match name in search is now case insensitive by default
  - pressing ctrl+return anywhere in the search window now immediately starts
    the search
  - text view highlights the line when jumping to a line or viewing a search
    result
    (Thanks to Sascha Hunold for a patch)
  - search results now uses list view colors from main list view
  - text view colors are configurable
  - the GUI is more responsive when the search finds a large number of results
    (Worker was busy fetching the results)
    (Reported by Sascha Hunold)
  - when saving the configuration, the old file will be renamed to wconfig.bck

* 2006-11-12: Version 2.14.1:

 fixes:
  - window titles are now correctly set to UTF8 strings if UTF8 is active
    (Reported by Carsten Hackbusch)

 other changes:
  - added Dutch translation
    (Thanks to Arnold A.Perne)
  - improved directory reload; if the previously active entry is not available
    anymore, the entry at the previous row will be activated
  - search now also matches directory names
    (Reported by Sascha Hunold)
  - if a "ScriptOp" operation cannot continue because an external commands
    outputs errors on stderr, the messages will be shown in the corresponding
    dialog

* 2006-09-12: Version 2.14.0:

 new features:
  - added search command
  - the internal text viewer is now able to show line numbers and jump to
    a line (shortcut "l" switches viewing of line numbers)

 fixes:
  - fixed bug in "set filter" command, the option "exclude" was not correctly
    written to config file
  - the avfs LDFLAGS has not been set correctly so Worker couldn't be compiled
    in some circumstances
    (Reported by Piotr Wawrzyniak)
  - fixed bug in Worker configuration in the section about the terminal
    program. Switching to a different panel didn't work as supposed.
    (Reported by Sascha Hunold)

 other changes:
  - pthread library is now required
  - gcc <3 support is officially removed
  - added Italian man page
    (Thanks to Giulio Canevari)

* 2006-07-21: Version 2.13.1:

 fixes:
  - fixed problem in font handling. Worker refused to start if the "fixed" font
    is not available. Some other fonts will be tried before giving up.
  - fixed bug in file type recognition. The flag "don't check virtual files for
    content" was ignored in some circumstances.

 other changes:
  - added French man page
    (Thanks to Kamardine Mohamed)
  - updated Italian catalog
    (Thanks to Giulio Canevari)

* 2006-06-22: Version 2.13.0:

 new features:
  - added utf8 support (can be disabled by configure option)

 fixes:
  - fixed small bug in font configuration which prevented configuring font
    for right list view
    (Reported by Panayotis Papasotiriou)
  - fixed thousands separator for utf8 locales
    (Reported by Emmanuel Proust)

 other changes:
  - the copy window update for file progress is limited to 15 updates
    per second
  - added text area for font configuration to test selected font
  - updated PatternRename script, default action is now preview/quit not rename

* 2006-05-03: Version 2.12.0:

 new features:
  - changed configuration so most options are directly configurable in the main
    window
  - added Space and Backspace keys in text-view for page scrolling
    (Thanks to Giulio Canevari for the patch)

 fixes:
  - fixed message string in "Start prog" command to use correct catalog entry

* 2006-03-06: Version 2.11.2:

 new features:
  - internal view now also decompress gzip/bzip2 files before viewing them
    (even inside archives)
  - internal view doesn't show \r anymore (for DOS files)
  - pressing escape in the delete window now also cancel it immediately

 fixes:
  - fixed window for "deselect filter" action
  - the "$" character in directory names prevented dir entering
    (Reported by Guilio Canevari)
  - in some circumstances clicking cancel in the copy window was ignored

 other changes:
  - removed dependency to libz/libbz2 and libxpkmaster
    all functionality is replaced by avfs usage
  - removed support for loading of Worker1 config files
  - added iso9660 and 7zip filetype to default config
    (Thanks to Giulio Canevari)
  - updated french catalog
    (Thanks again to rno)

* 2005-12-15: Version 2.11.1:

 new features:
  - The "search entry" command can now optionally search backwards
  - It is possible to jump to an entry in the list view by pressing the key
    matching the first character of the entry
    (This can be deactivated in the "normal mode" configuration)
  - the mouse actions in the list view can be configured (in the global
    configuration section)
    It is possible to swap any mouse button and select an alternative selection
    method which acts more like common desktop environments
  - mouse pointer changes when moving the mouse over the drag area in the
    list view headers

 fixes:
  - fixed segfault when the font name in the config file is invalid
    (Reported by Zhang Weiwu)
  - fixed segfault introduced in version 2.11.0 in the file requester, pressing
    enter was crashing worker
  - fixed small visual bug in the text area
 
 other changes:
  - added 7zip buttons to the default config and updated italian catalog
    (Thanks to Giulio Canevari)

* 2005-10-25: Version 2.11.0:

 new features:
  - Worker can now use any font not just fixed width fonts
  - it is now possible to change the width of the list view columns.
    Drag the end of the header box for a fixed width or double click it for
    dynamic width

 fixes:
  - fixed bug in internal view
    When started indirectly (for example when starting show action which
    contains the internal view command) worker did segfault.
  - fixed small display bug in state bar (KB suffix was inserted at wrong
    position sometimes)
  - Worker did show negative remaining time in file copy sometimes
  - Worker compiles again with IBM VisualAge compiler (xlC)
    (Thanks to Igor for report and proposed fixes)
  - Using information mode on ".." entry was forcing to many redraws

 other changes:
  - there is a new spanish translation thanks to Victor Alcazar
  - updated example configurations
  - updated license dialog
  - removed nanosleep declaration which was necessary for older Mac OS X
    releases but prevented compiling on later versions

* 2005-07-25: Version 2.10.2:

 new features:
  - improved "start prog" command
    It's now possible to handle the file as a different filetype or choose an
    avfs handler from a list of all possible avfs handlers.
  - double clicking on files with empty double click action list will start
    the improved "start prog" action
  - the seperator character in file sizes is now inserted every 3 digits no
    matter how large the number is (previously it was only inserted up to 3 times)
    (based on a patch from Tobias Toedter)

 fixes:
  - fixed bug in file copy: The return value of the final close() of the
    destination file wasn't checked which can lead to incomplete files in some
    circumstances (it occures on nfs devices where a write() to a full device
    is still successful but the final close() will fail)
    If you use avfs you also have to update to atleast avfs 0.9.6 as a similar
    bug was there too

 other changes:
  - the xliwrapper program for calling xli from the "image view mode" is now
    a shell script
    (Thanks to Tobias Toedter)

* 2005-06-23: Version 2.10.1:

 new features:
  - added internal text view command
    Currently the first 64 KB of a file will be shown with selectable
    word wrapping

 other changes:
  - improved color palette configuration
  - small GUI improvements (click on choose button text will toggle it)
  - updated italian catalog
    (Thanks again to Giulio Canevari)
  - updated cd2mp3/ogg/flac/wav script
    (Thanks again to Giulio Canevari)

* 2005-04-06: Version 2.10.0:

 new features:
  - added virtual file system using AVFS (avf.sf.net)
    Finally it is possible to access archives or files on remote computers.
    There is some basic introduction in the docs but for more information about
    the usage you should read the docs of AVFS
    But the default configuration already contains all filetype definitions
    needed to access archives. These definitions can also be downloaded from
    the add-on page for import.
  - virtual files can be excluded from file content test which is set by
    default (in the "dirs not to check" configuration for filetypes)
  - there is a new option for the "own command" and "start prog" operation
    which prevents Worker from entering the current directory
  - there is a new flag {t} for a temporary copy of the entry ({f}) to be able
    to use external programs with virtual files
  - there is a new operation "ftp connection" to access remote ftp sites
    It is possible to store the password in the configuration but not encrypted!
  - For the "Script" operation and for the extended test for filetypes there is
    a new function isLocal which can be used to test if the entry is a local or
    virtual file

 fixes:
  - compilation fix for upcoming gcc4 and a warning on 64bit system
    (Thanks to Andreas Jochens for the patch)
  - fixed update of free disk space information (update took too long and for
    symlinks to other partitions it showed the wrong information)
  - environment variables can now really be used for start directory and path
    entry
    (reported by Sascha Hunold)
  - fixed visual glitches in the path input line. Worker also restores the
    content if new path cannot be opened

 other changes:
  - temporary files will now be stored in an own directory worker-$USER in the
    tmp dir ($TMPDIR is now also honored)
  - Worker shows a dialog if entering a directory is not possible
  - updated man page
  - there is a new script "xeditor" which searches for existing editors. This
    script is used by the default and the editor used can be overridden by the
    env var WORKER_XEDITOR

* 2004-12-20: Version 2.9.0:

 new features:
  - added filetype hierarchie
    each filetype can contain subtypes
      subtypes will be checked if the filetype tests of the parent type matches
      the current file or the parent type does not use any tests
    the action of the parent type is used if the action list of the type is
      empty or the "parent action" command is used
      The "no operation" command can be used to not execute the commands of the
      parent type
  - there is now a filetype color configuration
    it's possible to select custom colors, use the colors of the parent type
    or even use the output of an external program to select the colors
  - it's now possible to cut and paste filetypes in the configuration

 fixes:
  - fixed bug where under certain circumstances Worker accessed freed pointers
    when executing actions
    This bug could appear if actions are used after using "enter dir" or
    "reload" command
  - a file will only be shown as executable if the user really has the
    permission to execute it
  - fixed compilation when pthreads is not used
  - extented filetype test honours the "dirs no to check"
  - fixed problem when sometimes filetype gets checked twice

 other changes:
  - improved check for identical source and destination file for file copy
  - the own command is now always the first entry in the command selection
    window
  - in the filecontent configuration for filetypes, the automatic creation
    now accepts any number of files
  - doubleclick on directories now honours the doubleclick action of the
    directory type (enter directory is the fallback action if the
    doubleclick action list is empty)
    (reported by Raik Lieske)
  - cursor keys can be used in requesters to change the focus element and
    the enter key can now also be used for any button and not just the first
    (reported by Loki and others)
  - copying of a corrupt symlink (link destination does not exists) in "follow
    symlinks" mode now copy the symlink itself instead of showing a error-
    requester
  - The email address "ralf.hoffmann@epost.de" will expire soon, new address
    is "ralf@boomerangsworld.de"

* 2004-07-28: Version 2.8.5:

 new features:
  - added more flexible filetype description using conditional expressions
    it's similar to the if-expression in the script command
    possible functions are:
      - toNum(...): change string to number
        toStr(...): change number to string
        isReg(): test for regular file
        isSock(): test for socket
        isFIFO(): test for FIFO (pipe)
        isSymlink(): test for symlink
        size(): size of file
        perm(mask): numerical permission
        toLower()/toUpper(): change string to lower/upper
        contentStr(x,y): y Bytes from file content starting at position x 
        contentNum(x,y): like contentStr but interpreted as a number
        name()/fullname(): file name/full file name
      - the flags {f} and {F} can be also used for the filename inside strings
        this allows for the use of any external program to determine the
        filetype (e.g. using the file command)
      - there are the usual operators as "<", ">=" and so on and it is possible
        to use regular expressions using ~=
    - there is also an more or less extensive help
    - some examples:
      - Test for shell scripts:
        ( contentStr( 0, 2 ) == "#!" ) && ( contentStr( 2, 10 ) ~= "/bin/[a-zA-Z]*sh.*" )
      - Test for OctaMED music files:
        ( toUpper( contentStr( 0, 3 ) ) == "MED" ) || ( toUpper( contentStr( 0, 4 ) ) ~= "MMD[0-9]" )
      - Use "file" for type recognition:
        ( ${file -b {F}} ~= "ASCII C program text" )
  - there is an extensive help for the pattern configuration

 fixes:
  - fixed copy of non-regular files if "follow symlinks" is used
    copying symlinks pointing to non-regular files (devices, pipes, ...) did not
    create these special files but only regular files
  - fixed text for move operation in the progress window, now it prints "Move"
    instead of "Copy"
  - compile fix for gcc 3.4
    (reported by Goetz Waschk)
  - compile fix for QNX
    (reported by Toni Ruza)

 other changes:
  - updated italian catalog
    (Thanks again to Giulio Canevari)

* 2004-03-17: Version 2.8.4:

 new features:
  - the layout of the main window is configurable (in global settings)
    Select the button and listview orientation and the positions of the elements
  - filetypes: added flag to match the full name (including the path) for
    pattern matching
  - copy/delete/rename/symlink: highlights entry currently processed
  - configuration: the button banks can be swapped
    (suggested by Harlock and Jan Windischmann)
 
 fixes:
  - fixed possible lockup when using threads
    (reported by Harlock and others)
 
 other changes:
  - GUI improvements
  - copy: updates "bytes to copy" when skipping files
  - copy: Worker updates the copy window before an error requester
  - filetypes: empty file content descriptions are now ignored
    (reported by Ulf Hartwig)
  - filetypes: fixed file content configuration to not select several entries
    at once
  - added some example scripts and corresponding buttons to convert
    cd tracks to several formats
    (Giulio Canevari)

* 2003-12-18: Version 2.8.3:

 fixes:
  - fixed a little bug which partialy prevents the configuration of
    the filetypes

  other changes:
   - window creation will wait till window mapping

* 2003-11-26: Version 2.8.2:

 new features:
  - the listview header colors are now configurable
    (reported by Piotr Rzepka)
  - search entry now allows case insensitive search (activate it in the command
    configuration)

 fixes:
  - fixed possible endless loop in directory read
    (reported by Florian Zwoch)
  - fixed information mode to keep currently visible information when other side
    is deactivated and no longer try to update information for a corrupt symlink
    (reported by Giulio Canevari)
  - improved configure checks for statvfs/statfs for improved compatibility
    Worker can now be compiled on OpenBSD
    (Thanks to Ingolf Schuchardt for support and access to an OpenBSD box)
  - some other code changes to allow compilation on Solaris2.7
    (Thanks to Jean-Francois Magni for testing)
  - the status bar is now correctly updated even when the listview doesn't
    list any directory

 other changes:
  - gui code cleanup
  - left align listview header text when it doesn't fit into the header
    (reported by Giulio Canevari)
  - print installation directory at the end of the configure script
  - Worker will now also compile on AIX with the gcc compiler

* 2003-08-17: Version 2.8.1:

 new features:
 - external programs which run in the foreground (i.e., Worker waits for
   completion) can now be detached with Escape or the middle mouse button
 - added some new columns: Inode number, number of hard links, number of
   blocks
   the information mode will also show this values
 - for devices the size of the entry is now the major/minor number
 - added headerline for the listview 
   you will see the field name and you can click on it to change the sortmode
 - there is an additional symbol in the listview bar (above the listview)
   which is visible when Worker is still recognizing filetypes

 fixes:
 - fixed buffer overflow in informationmode
   (reported by Cyriac Benoit)

 other changes:
 - chmod/chown: chmod will no longer read all affected directories at the
   beginning but change permissions on the fly. This way you are able to
   change the permissions for directories you are currently not able to read.
   the same goes for chown although you won't notice any different because
   chown is only allowed for root (on most systems) and root can always read
   the dirs
 - used thousand separator from current locale
   (Thanks for the patch to Tobias Toedter)
 - added some more tests for large files in the configure-script. This should
   fix compile problems with RedHat 7
 - modified default configs so TGZ/TBZ2 actions should work on any system no
   matter if tar doesn't understands the special options
   updated addons are also available
 - Worker will compile on AIX (only with xlc compiler)
 - updated italian catalog
   (Thanks to Giulio Canevari)

* 2003-06-08: Version 2.8.0:

 new features:
 - the configuration file format is now text based
   Worker will continue to load old binary files and old binary export files.
   You can now also import whole configurations
   Although you can now edit the config don't expect any documentation about
   the keywords and file structure and whatever
 - added new flag for "own command": {scripts} which will be replaced by the
   path to the scripts dir inside worker's share directory
   This can be used for easy access to additional scripts
 - there is a new bash script "pattern rename"
   For a given match pattern you can replace/add text at the beginning/mid/end
   of all matched filenames
   There is a button in the default config and you can also download this button
   from my homepage (->AddOns)
   (Thanks to aaron who wrote this script and the button)

 other changes:
  - worker will compile with Sun C++ compiler
  - renaming (in rename and copy) to empty name is now catched
  - when starting DoubleClick/Show/RawShow/User-action the selected entries
    will no longer be deselected at the beginning but only depending on the
    used flags in the actions
  - cancelling copy will open requester for confirmation
  - in the "disc is full"-requester the affected file will be shown
  - added italian catalog
    (Thanks to Amedeo Brunetti and Giulio Canevari)
  - updated russian catalog
    (Thanks again to Ilya V. Yalovoy)
  - fixed RAR buttons/filetype in the default configs
  - fixed button titles in import window

* 2003-04-27: Version 2.7.1:

 new features:
  - added support for large files (>= 2GB)
  - improved error requesters for un-stat-able directory entries
    you can abort the directory reading and directories containing such
    directories with these entries remain selected when copying/deleting them
  - support env variables in path buttons
    (suggested by Thomas Helbig)
  - worker compiles with Cygwin
    (Thanks to Stephan Henningsen)
  - chmod: the keypad can be used to select permissions also with NumLock=off
  - create symlink: function can now create absolute and relative symlinks
    option "local symlink" renamed to "relative symlink"
    example: link /usr/bin/gs to /usr/local/bin/gs will be "../../bin/gs"
  - show image mode:
    - Worker can use ImageMagick's display for embedded display
      (select it from the "show image mode"-configuration
       [Right click at list view bar->show image mode->set to default viewer])
      ImageMagick knows more file formats but is also slower
    - moved wrappers for xli/display to share/worker/scripts
  - configuration: ask when canceling a changed configuration
 
 security fixes:
  - copy: destination directories were created with 755 permissions and got
    correct permissions only at the end of directory copy
    now the destination directories will be created with 700 permissions
    (and of course get correct permission at the end)

 fixes:
  - fixed if-parser in the script command
    it was possible to use "=" instead of "==" which led to wrong results
  - copy: fixed restoring of old owner and permission
    copy will restore SUID/SGID bit only when root or owner of file
    (reported by Simonics Zsolt)
  - fixed resizing of some windows, some windowmanagers (like kwm) doesn't
    accept my way
  - fixed some problems with the script-command examples, the extension wasn't
    recognized correctly
    You can download the new example from my homepage, but they are of course
    included in the default configs
    (reported by aaron)
  - Worker will no longer try to enter a directory which is not executable for
    the user
  - fixed segfault when resizing some windows in the configuration
 
 other changes:
  - russian catalog (Thanks to Ilya V. Yalovoy)
  - worker searchs for the datadir (for catalogs, default configs...) now in
    the following places:
    1.compiled PREFIX/share/worker
    2.<exe-location>/../share/worker
    3./usr/share/worker
    4./usr/local/share/worker
    5.$HOME/share/worker
    This way moving around an already compiled version is much easier

* 2002-10-26: Version 2.7.0:

 - fixed a major security problem with filenames with special characters
   Since commands will be executed in a shell-script, characters in filenames
   with special meaning for the shell will disturb the correct execution.
   For example: Viewing a file "something`rm some_other_file`" would remove
                the "some_other_file"!!!!!
   All executed commands will be now protected in single quotes.
   As a side effect most of the shell features are no longer possible. The
   following list contains all allowed strings which have to appear as a single
   word:
   |		- pipe
   ;		- command separation
   &		- execute in background
   ||		- or
   &&		- and
   >, <, >&2,
   1>, 1>&2, 2>,
   2>&1, >>,
   1>>, 2>>	- redirections
   Because of the changes "With quotes" in the "own command" is removed because
   filenames are now always quoted. For example "xv {f}" will work for any
   filename.
   all flag-replacements in "own command" are always protected with quotes
   but you can disable this with "-" before the flag
   e.g.: make -f {f} {-Rs{Make target:}{}}
   But there is normally no need to change the commands because most will
   work just as before and e.g.
     xv "{f}"
   is still okay.
   Some of my examples for the "script" command need changes so I update the
   example configs and the AddOns on the homepage
 - this "special character" problem also affects the copy of special files
   (symlinks, pipes,...)
   worker copies these special files now with intern functions
   No extern command for these files anymore so removed the options in "copy"
   command configuration
 
 An update is highly recommended!!
 
 - copy: When a read error appears while copying a file this error was not
   noticed (no requester and this file was marked as correctly copied), fixed
   Also improved error requesters for other errors
 - copy: when resizing the copy-window, the filenames are redrawn (in the case
   they were too long)
 - copy: When canceling "move", you will be asked whether to delete the already
   correctly copied files from the source
 - because env-variables are no longer available with shell-features
   (e.g. $HOME) there is now a new flag for "own command" (and "script command")
   {vEnvName}, e.g. you get your home dir with {vHOME}
 - the default- and infotext for the Rs-Flag is now no longer length-limited
 - start prog: the string has the same limitations as "own command" so
   the default value (the active entry) is now already protected
 - added toNum and toStr to the if-parser in the "script" command
 - the informationmode now shows also the file permission as octal number
 - the permission string in the ListView now has 10 chars like ls or mc
   before the filename there is now also a special character for special files
   (pipes, devices...)
 - filterselect: window is now resizeable
 - new command: show directory cache
   it will open a window with all parent directory names for the current dir
   and all names from the directory cache. You can choose a dir or enter a
   new name
   doubleclick in the listview-bar (above the ListView) will also open this
   window
 - show image mode: the program string is now only the program name, no %s...
   anymore
 - fixed loading of Worker1 configs (shortkeys were lost)
   also fixed builtin config (when no config file is available)
 - updated for autoconf 2.54/automake 1.7
 - added parent dir buttons (..) to the path line for each side
   (suggested by Amedeo Brunetti)
 - added support non-latin character input like cyrillic chars and also
   support dead keys
   (Thanks to Ilya V. Yalovoy for hints and testing)
 - improved support for corrupt directories (without .. entry)

* 2002-08-26: Version 2.6.1:

 - fixed compile-bug for gcc >= 3.1
   (Thanks to Goetz Waschk for the patch)
 - the filetypes in the configuration are sorted now
   (suggested by Martin Kaehmer)
 - the mousewheel can be used to switch buttonbank when using it at the
   clockbar
 - improved diskspace updating, also fixed overflow for percent calculation
   in information mode
 - added 48x48, 32x32 and 16x16 icons

* 2002-08-18: Version 2.6.0:

 - return in requesters is now only allowed when okay button holds focus
   use space for any other button
 - fixed filetype-recognition order. Now it really first checks the content
   for all types and in a second run the pattern
 - filetype-recognition: scans the visible entries first
 - filetype-recognition: added "ignore case" flag and support for regular
   expressions
 - filetype-recognition: added support for bzip2 and xpkmaster
   Worker supports now:
    - gzip
    - bzip2
    - xpkmaster (currently the most important is sqsh)
 - configuration: when creating a filetype using "automatic creation", Worker
   will now also uncompress the files just like the recognition will do so you
   can select 3 files of the type no matter how they are compressed
 - configuration: copying a button/hotkey/path don't duplicate the shortkeys
 - configuration: when adding commands, the last used command is highlighted
 - configuration: when adding commands, the configuration is called if available
   doubleclicking a command from the list will now also open the configuration
 - fixed bug in infomode when displaying a symlink with no destination
 - own command: you can now select the program with a filerequester
 - new command "Script"
   It's now possible to create programs for the buttons/hotkeys/filetypes
   You can store data on stacks (as many as you want) and jump at condition to
   labels.
   Here's a list of what's possible with this new command:
    - push
      push a string (which can contains flags) or the output of this string
      on a stack of your choice
    - label
      just a label for if/goto
    - if
      test the condition and jump to label when true ( != 0 )
      you can use parentheses, && and || if needed.
      <, <=, ==, >=, >, != works as usual.
      "" marks a string which can contains the usual flags
      ${} will be replaced with the output the command in braces
      ?{} same with the returncode of the command
      true is always true
      false is always false
      isEmpty(nr) is true when stack <nr> is empty
      size(nr) is the size of stack <nr>
      filelistEmpty(0 or 1) is true when filelist is empty (no more {f})
        0 means the current panel, 1 the other
    - end
      immediatly stops the command-list execution
    - settings
      set "recursive" when you want collect the files recursive
      set "with quotes" when you want filenames in quotes
      set "also use dirs for flag-replacing" when you also want to use the
        directories themselve (when collecting recursive)
    - goto
      jump to given label
   For the own command (and also push/if) there are some new flags:
    - {top stack-number}
      gets the top element of the given stack
    - {pop stack-number}
      gets and remove the top element of the given stack
    - {size stack-number}
      gets the size of the stack
   You can run if and push in debug-mode so it's easier to check what's going on
   Finally you can also use a window to display some information to the user
    - there is a progressbar and a multi-line textarea
      both are controlled by strings which can contain the usual flags and also
      the output of the string can be used
      For a newline in the textarea use a '|' in the string.
      The progressbar-string will be converted to a number and has to be between
      0 and 100
   If you run into an endless loop you can send a USR1-signal to stop execution
   The execution will be stopped whenever you use the output/returncode of a
     command and this command writes something to stderr
   All in all I think this is a feature for the advanced user but it's not so
   difficult as it sounds. I added some buttons to the default config with some
   examples which can you also download from the new section "AddOns" from my
   homepage:
   The easiest example: Ask the bitrate and convert all selected files to mp3
   Other example: number all selected files through
 - show output didn't work for startprog, fixed
 - listview-scrollers have now a minimum width/height
 - go to dir: specialdir supports the usual flags from "own command"
 - copy: for the current file the rate over the last second is now displayed
   instead of the average rate (as shown before) which is now displayed in the
   next line
 - copy: show complete path when requesting new name because there is already
   an existing entry
 - copy: when requesting destination the default is now the directory from
   the other panel (suggested by Ernest Beinrohr)
 - the copy-window shows the progress in the title
   (suggested by Ernest Beinrohr)
 - when copy of non-regular file failed (with cp), the error-requester shows
   now also the error output of this command.
   There is now also a "Cancel" button
 - DND: Worker now deselect the dropped entry
   (reported by Gary Watson)
 - the compression-handler is displayed in the informationmode
 - rename: cancel now really aborts in any case
 - rename: the name in the StringGadget is now highlighted
 - rename: show active entry after rename
 - rename: redraw whole listview for each entry (just looks better because
   the columns are correct)
 - changed behaviour of Show/RawShow/User/DoubleClick/DND-Actions so they will
   only run for involved entries
   this means for example when doubleclicking a picture and you have the
   ShowAction in the DoubleClick-Action command list, the ShowAction will only
   run for the doubleclicked entry and not for all selected like before
 - the width/height of mainwindow is now stored for each screen independent
 - added GPL to the about requester
 - for flag-replacing in own command and the new script command:
   When collecting files recursive, you got an empty string for the directory
   names. Now you will only get the filenames by default, but there is a new
   switch "Also use dirs for flag-replacing" so you can also use the directory
   names
 - Worker checks for updated config file once per minute and ask you for reload

* 2002-05-26: Version 2.5.0:

 - added native chown
 - added focus handling for the gui
   use tab/shift-tab to switch to next/prev element
   use space to activate an element
   return is handled like clicking at okay (only when focus is not on any
   button of the bottom line (except okay of course))
 - you can now use as many shortkeys as you want for one button/hotkey/path
 - double shortkeys are also possible now (like Ctrl-x c)
 - filterselect, filterunselect and setfilter now have a history for used
   patterns
 - for chmod/chown "Request these flags" is now on as default
 - when running worker as root, the statebar turns red and the window title is
   "rootWorker"
 - faster startup (especially for big window)
 - worker now stores the position of the listview correctly when switching to
   other displaymode (informationmode, show image mode)
 - improved speed for filetype recognition (especially for big directories)
 - when deleting/moving files in some cases the progress-window wasn't updated
   correctly
 - fixed drawing/refresh problems for delete
 - fixed crash when mainwindow is too small (reported by Josef Oswald)
 - fixed bug in statebar calculation

* 2002-04-06: Version 2.4.0:

 - filetype-recognition is now done by threads
   this result in faster recognition at fast devices and no more waiting
   for slow devices (like floppydiscs)
   Thread-support can be disabled
 - partition-size-reading is now also done by a thread
 - own command got a new option "Run in background"
   Background commands will be disconnected from the Worker-process and won't
   be killed when worker quits
 - date/time format is now configurable (in "Global configuration") and there
   is also name-substitution for today, yesterday,...
 - added sortmodes for type and owner
 - configuration import/export added (buttons/filetypes/hotkeys)
 - changed behaviour and requester when disc is full while copying
   You can now choose to keep the incomplete file or delete it but in any
   case the sourcefile isn't deleted (which was done when "Okay" was chosen
   in the requester)
   reported by Rick Younie
 - reload got a new option "Keep filetypes"
 - dirsize will rebuild listview for each calculated element
   reported by Dirk Weber
 - show/rawshow/user/...-actions are now also applicable to the active entry
 - Buttons are now only clickable if they have assigned commands
 - the filetype-, hotkey- and flag-request-window (for own command) are now
   resizeable
 - no quit-requester when closing main-window
 - chmod-requester improved
 - polish catalog (Thanks to Pawel Kaczor)

* 2002-01-09: Version 2.3.1:

 - improved top statebar (Thanks to Martin Kähmer)
 - when changing sortmode, active entry is centered
 - new command "activate shortkey from list"
   You can choose shortkey from a list and activate it
   useful for forgotten shortkeys or as an overview of all defined shortkeys
 - fixed calculation of "bytes to copy"
 - copy/delete-windows are now resizeable
   also filename/dirname will be shorten to fit in the window
 - compiles (and runs :-) ) on Mac OS X (Darwin)
   (Thanks to Malcolm Cleland)

* 2001-11-05: Version 2.3.0:

 - some changes for gcc 3.0 but I have no chance to test it, reports are
   welcome
 - new option for delete-function to remove the active entry when no other are
   selected
 - new option for reload-function to reset the previous calculated dir sizes
 - added option to show "<DIR>" instead of the size for directories (of course
   only if the dirsize is unknown)
   you will find this option in the "global configuration"-section
 - when entering a shortkey in the configuration you can now remove an other
   reference to this key
 - the command-list in the configuration is now sorted ignoring case
 - some GUI improvements
   - nicer (atleast I think so) turned-down corner in buttons with two functions
   - buttons with no assigned function cannot be clicked
   - now left- or rightclick at the clockbar will show the next buttonbank
   - middleclick in the listview will just activate the entry without changing
     the selection state
 - fixed problem with dynamic coloumnwidth when filters are active and
   excluding some files
 - fixed problem when changing filters or showHidden-mode, which could stopped
   the filerecognition
 - dirs containing files which can't be stat-ed will now also be displayed
   (without these files but there will be a requester for each file)
 - finally: added a fontrequester so it's easy to select a different font

* 2001-07-08: Version 2.2.2:

 - configurable listview-background
 - wait-cursor while reading dir and executing external progs
 - improved cut&paste (works with more apps)
 - improved mainwindow-title (path of the active listview is shown)
 - some catalog-changes and updated french catalog
 - fixed filename-search when hiding hidden files
 - improved dir-cache-replacement-strategy
   not recently used are droped when cache is full
 - filters are now not applied for dirs
 - added "unset all filters" in filterconfiguration
 - icon will be installed in $prefix/share/pixmaps

* 2001-05-08: Version 2.2.1:

 - bug fix in delete window
 - minor bug fix for reloading a dir, sometimes the active entry was deactivated
 - new option for the copy-operation: preserve attributes
   when set, the permissions/owner/modificationtime/accesstime will be restored
   (as far as possible)
   default is on
 - a corrupt symlink will now be treated as file
 - the colors for the active entry can now be changed
 - improved search-operation:
   - a recall will search the next entry with the same prefix
   - stars (*) are also supported now so it's possibly to search for file
     containing the pattern inside the filename
     a trailing star is always implied

* 2001-03-20: Version 2.2.0:

 - sortmode change with the action will update the lvb
 - fixed problem with giving a startdir relative to the current dir
   (Martin Kaehmer)
 - worker_inst exists no longer, Worker will do it instead
 - it's now configurable what to show in the clockbar
   the configuration can be reached by a new subsection in the config-win
   it can show the time/ram, only the time, the worker version (for no system
   load) and the output of any external program
 - the correct background color is taken for the "show image mode"
   (rno)
 - in the button/path-configurations the actionmodes (copy/swap/delete)
   can stay active until other choose when selecting "extended" in the same
   window in the new cyclebutton
   this is useful for copying/swapping/deleting more than one button/path
 - dirs can now ignored for filetype-checking (exactly: in this dirs only
   the pattern is used (if used))
   the new configuration can be found in the filetype-settings
   this is useful for slow devices like a floppydisc
 - updated french catalog

* 2001-03-01: Version 2.1.0:

 - fixed bug in deleteop/copyop (buffer overflow)
   (Martin Kaehmer)
 - fixed bug when copy in readonly
 - added setsortmode op
   (Martin Kaehmer)
 - added setfilter
   (Martin Kaehmer)
 - the used terminal is now configurable
 - Worker can redraw the window when waiting for a extern command
 - cycle through cyclebuttons with right mouse button backwards
   (Martin Kaehmer)
 - the function "reload" can now also be used for DND-actions
 - after rename, the active entry is shown 
   (Martin Kaehmer)
 - the sortmode is shown in the bar above the lister
   N = namesort
   S = sizesort
   M = modificationtime-sort
   A = accesstime-sort
   C = changetime-sort
   R = reverse
   (Martin Kaehmer)
 - the ".."-entry is now always active for loaded dirs which are not in the cache
   (Martin Kaehmer)
 - new flag for the "own command": {dp} for the destination path of a DND-action
 - the requester for existing file in copy/move now shows
   the size and modificationtime of both files

* 2001-02-05: Version 2.0.2:

 - fixed bug when displaying name in first column, the line is empty
   (Thanks to Donald J. Maddox, Alan K. Jackson)
 - right justify size
   (Thanks to Martin Kaehmer)
 - fixed bug in text-entries
   (Thanks to Martin Kaehmer)
 - fixed bug in externop in flag parsing
   (Thanks to Rick Younie, Harlock)
 - support for filesizes/dirsizes >4GByte (if your system supports 64 bit type)
   (Thanks to Martin Kaehmer,Harlock)
 - no longer displays readable but not executable dirs (r--)
   side effect: dirsize will not show weird values
 - for own commands and string requests, Cancel will really cancel
   the operation
   (Thanks to Rick Younie)
 - in the configuration, the "Choose Command"-requester is now sorted and
   also resizeable
   (Thanks to Rick Younie)
 - the partitionsize/freespace of the actual dir can be shown in the
   listviewbar
   (Thanks to Rick Younie,Martin Kaehmer)
 - the display of owner/group is switchable ("user @ group" or "user.group")
   (Thanks to Rick Younie)
 - the ".."-entry is no longer selectable nor it will be counted
   (Thanks to Martin Kaehmer)
 - rewrote xliwrapper_worker and worker.inst (now worker_inst) in C
 - fixed foreground of empty buttons in the example-configurations
   (Thanks to Rick Younie)
 - finally DND is usable
   To activate: Select the entry and hold the left mousebutton, then click
                  the right.
		Now move to destination and release the left button.
		You can cancel DND with Escape or a rightclick when dragging!
		If there is no DND-action defined for the type of the
		  dragged entry, the DND-action from the "NoSelect"-type
		  is used!
   Limitations:
     You can only drag one entry
     This works only inside Worker

* 2001-01-10: Version 2.0.1:

 - fixed error in color handling >8 colors
 - fixed error in CopyOp with FastMode
 - don't refuse to copy in symlinked dir
 - fixed problem with catalog-loading
 - correct catalog templates
 - french catalog and example-config (Thanks to rno <noospot42@f2s.com> for this)
 - added Keypad-usage in StringGadget (you can now also enter the numbers with
   it)

* 2001-01-06: Version 2.0.0:

 - rewritten in C++
 - shown informations of entries can be freely configured
 - added show image mode for display of the active entry in the other side
 - added directory-buffer
 - show/hide hiddenfiles
 - can use more than one action for buttons/filetypes/hotkeys
 - takes two args and display the dirs
 - better GUI, f.i. the textinput doesn't block anymore and understands the
   shell-shortcuts (ctrl-a,...)
 - better searchmode, also doesn't block and begins at active entry
 - more call-possibilities for filetypes (f.i. doubleclick, show)
 - filterselect now on files OR dirs
 - doesn't accept duplicate shortcuts
 - correct display of NTFS directories (Thanks to Pawel Kaczor)
 - some fixes in configuration (Thanks to Fireball)
 - compiles and runs on FreeBSD 2.2.2 (Thanks to Fireball)
 - mouse wheel support
 - man page
 - many other small things I forgot

* 2000-01-22: Version 1.3.3:

 - bug fixes (Thanks to Thomas Bader)
   - compile error
 - now Dock-able (for WindowMaker and perhaps other)

* 1999-09-17: Version 1.3.2:

 - bug fixes (Thanks to Piergiorgio Ghezzo)
   - compile error
   - configuration segmentation fault

* 1999-09-07: Version 1.3.1:

 - compiling and installing using "configure"-Script
 - english documentation
 
* 1999-05-16: Version 1.3.0:

 - dynamic width of size, name and type to remove useless spaces between
   sections
 - if worker cannot repaint the window, X will use the color 0 as background
 - the copy-function has two new flags:
   - copy to same directory: for duplicate
   - request destination
 - the configuration-program now shows correctly the shift-flag
 - now there are some arguments, mainly for request the version:
   -V, --version, -help, --help
 - new functions:
   - chmod
   - toggle infomode
   - search entry
   - path to other lister
   - enter new path
 - the user-commando has an improvement:
   - the option {Rs} now can get an infostring and a defaultstring
     usage: {Rs<infostring><defaultstring>}
     NOTE: the chars "<" and ">" are importent

* 1999-04-29: Version 1.2.0:

 - great Speedimprovement in the CopyFile-Operation (especially on ZIP's ...)
 - removed Bug in the Move-operation: AFTER finish of move it's possibly that
   worker crashes
 - now worker can be compiled with egcs without any warning
 - complete showing of file-permissions
 - file-size will be printed with points after 3 and 6 digits for better
   reading
 - there is no longer an extra program for configuration, so you can
   configurate worker while running

* 1999-03-30: Version 1.1.0:

 - Worker and WConfig are font-sensitive
 - some improvements for successful compiling with egcs
 - better handling of file-selecting
 - Worker and WConfig supports infinite banks for buttons
 - Copy/Move ask for destination, if the other side doesn't support the action
 - improved performance of the DirSize-function
 - now using active entry if no other is selected (except the delete-function)
 - the move-operation now delete the files (if needed) on the end of the
   Operation

* 1999-03-06: Version 1.0.0:

 - first public release

#+TITLE:     ChangeLog
#+OPTIONS:   H:1 num:nil toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS: ^:nil
