1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540
|
FIM NEWS -- history of main user-visible changes in FIM.
Version 0.7.1
A release with small fixes at build, test, and runtime:
* Documentation and self-documentation improved and updated
* Command "help '/str'" will also search on occurrences of 'str' among set variable identifiers and their help
* Default binding of 'N' and 'P' changed to be more flexible: either page goto or category or directory goto
* Fix: GTK (-o gtk) mode had mouse coordinates slightly wrong (were including the menu bar)
* Fix: SDL mode (-o sdl) now allows fim (emergency) exit per windows quit button also in case no key is bound to 'quit'
* Fix: now in 'goto "+1p" "+1f"' the page jump takes precedence over the file jump
* Fix: had potential memory error after --sort and with absent files
* Fix: Before testing PS pr PDF functionality, Makefile will check if respective sample files are there
* Fix: --load-image-descriptions-file (-D) was opening files in append mode for no reason
* Fix: --mark-from-descriptions-file was opening files in append mode for no reason
* Fix: don't omit last Tab multiple autocompletion entry
* Fix: alias command to complain if being provided with one argument which is no alias
* Fix: more resilience on missing groff
* More and better tests
* Fix: SDL-1.2 compilation fix
* Fix: 32-bit build fix for GTK3
* Fix: pass CFLAGS, CPPFLAGS and LDFLAGS to helper programs
* Fix: configure was disabling crop tests by mistake
* Fix: configure now uses PKG_CONFIG to determine pkg-config
* Fix: configure had mistake leading to a few wrong src/Makefile rules
* Fix: configure poppler check: improved diagnostics, reflecting closer required headers, extend check to poppler-cpp
* Fix: in configure and Makefile when building with emscripten (WebAssembly)
* Fix: input of non-ASCII values to -k and -K was not being carried out correctly on systems with char being unsigned (e.g. aarch64)
* Misc minor fixes (e.g.: in tests, djvu error verbosity, readline, configure, configuration ...)
Version 0.7.0
A major release:
* New graphical windowed output mode via GTK3 (similar to SDL, but with menus), selected with -o gtk
* -o =OPTS / --output-device==OPTS / --output-device =OPTS will pass OPTS to the auto-selected output device
* Key presses passed at startup via the -k and -K options are executed in the order the options appear
* When auto-selecting the output device, also take in consideration environment variable WAYLAND_DISPLAY
* Closer behaviour of readline and history keys across the graphical modes
* --slideshow option now accepts decimal values
* Given string variables a and b, a-b is the value with all occurrences of regexp b removed from a (experimental)
* Introduce expansion-only variable description syntax "#!fim:@var=VAL"
* Support @-expansion of "@id" within "VAL" of "#!fim:var@=VAL" or "#!fim:@var@=VAL"
* When loading via an external converter, keep track of it in i:_external_decoder_program
* Load XCF (Gimp) files via the xcf2pnm utility
* Files with name ending in .NEF are now viewable via wrapper call to dcraw (if present)
* Support for reading QOI files via libqoi (experimental)
* Support for reading AVIF images via libavif (experimental)
* Support for reading WebP images via libwebp (experimental)
* Searches via '/' or '?' are now replayable via "recording 'repeat_last'"
* Simultaneous specification of file and page to 'goto' now possible
* Enable descriptions to be searched in "goto /PATTERN/" by keeping the newly introduced 'D' in _re_search_opts
* If there's only one file, passing a numeric argument to 'goto' will do a page jump
* Fix with SDL2 (-o sdl): reduce chance of intercepting Tab key during window switch
* Mouse scroll in SDL (-o sdl) and GTK (-o gtk) modes
* Mouse click and help grid map support for -o ca
* Move-trigged pan support for -o ca=w
* Specify a dithering algorithm DA as string or numeric index in -o ca=d:DA (e.g. -o ca=d:0)
* Scaling fix when starting with -o ca
* Introduce variable _lastpageindex to allow jump to last page
* Variable "_device_string" now contains the entire output device (graphical mode) specification
* The expandos of the form %:VAR: will first check for i:VAR, and then for VAR (experimental)
* Add configure option --disable-mouse
* Bugfix: in some cases the "#!fim:VAR=..." description syntax would not propagate VAR properly
* Fixes in the configure script (remove bashisms by SDL version recognition)
* Bugfix: configure --disable-system was bogus
* Bugfix: avoid terminal clutter after interruption of "endless_slideshow"
* Bugfix: avoid memory leak while decoding PDF
* Improve error handling when encountering corrupt or unsupported TIFF files
* More tests
* FIM requires a compiler supporting at least C++11
* Documentation and self-documentation improved and updated
Version 0.6-rc2
* File dropping support in SDL2 mode and more responsive readline mode
Version 0.6-rc1
* Experimental support for SDL2.
Version 0.6-rc0
A summary of major improvements:
* Colour ASCII-Art output via libcaca, selected with -o ca
* better mechanism to determine best output device
* font magnification by integer factors, good for higher resolutions
* runtime font selection
* new options to commands "scale", "goto", "limit", "list", ...
* 'limit' view to relevant image files based on properties (like in 'mutt')
* pass key presses to be automated at startup with -k and -K options
* pretty free from memory leaks
* -X switch inhibits custom external converters
* new powerful subcommand "list 'mark'"
* new command-line switches (--sort..) to sort the initial files list
* use mipmaps for faster scaling
* open files from a files list with -L
* load image description files with -D
* background recursive scan and load of files with -B
* search files at startup based on description with -/ and --//
* new verbosity and debug options
* better error handling when encountering corrupt files
* fast in-place switch to high-res file via --load-shadow-directory
* improvements in -o aa (ASCII-art output device with aalib)
* more options for window size selection in -o sdl
* Keys F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12 now usable with 'bind'
In detail, in no particular order:
* Experimental support for SDL2.
* More responsive readline mode.
* Switch --resolution 'fullscreen' appends 'W' if in SDL mode.
* If a "matrix market" file is loaded, its rows, columns and nnz are image variables, too.
* Introduce special 'early' form -C =var=val where variable var is assigned to unquoted and non-interpreted value val immediately.
* Variable i:__exif_orientation renamed into i:_exif_orientation
* Fix: --cd-and-readdir was not jumping back to first file.
* Fix: --device option not ignored anymore.
* Rename --no-etc-rc-file switch to --no-etc-fimrc-file .
* fimgs: bunzip2, wget, and xz are now optional.
* Bugfix: fimgs to properly remove temporary directory after loading downloaded files.
* Misc small improvements in documentation text output and reporting (no cursor in post-search output line; misc messages).
* Key 'Z' now assigned to 'sleep 1'.
* Key 'Del' now assigned to 'list "remove"'.
* Add -= as short form of the --no-auto-scale option.
* Experimental: add command "crop", also activated after selecting the area by holding Shift and clicking with left mouse button (if running with -o sdl).
* Add command "pan 'vsteps%' 'hsteps%'" and "'pan 'vsteps' 'hsteps'".
* Keys F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12 are now usable with 'bind' with modes -o aa, -o ca, -o dumb.
* Fix for -o sdl: when flipped or mirrored, it used to draw a smaller box by mistake.
* Only filenames matching "^[/A-Za-z0-9_.][/A-Za-z0-9_.-]*$" can occur in a conversion command involving an external program.
* --pread-cmd=command substitutes any occurrence of '{}' in command with the actual filename, executes the result and reads an image from its stdout.
* -o fb=S will not tolerate running under screen.
* Bugfix in --script-from-stdin now prevents possible crashes.
* Removed configure options --enable-c++11 -- use CXXFLAGS instead.
* Bugfix: 'autocmd_del' with no arguments would crash.
* Bugfix: autocommand "PostHardcodedConfigLoading" now triggers even if --disable-fimrc .
* Internals: considerably expanded 'make tests'.
* Add command 'stderr', similar to 'stdout'.
* This is the last FIM version supporting the C++03 standard.
* Refresh configure and Makefile templates.
* Build fixes for the MinGW environment.
* man fim: improve manual contents (on ~/.fim_history, individual options, wording, etc.).
* man fimrc: added a section with default aliases,
* Where appropriate, 'make tests' uses 'timeout' to prevent possible hangs.
* Switch -K <chars> aka --chars-press <chars> simulates input of characters at startup.
* Fix: slideshow function (e.g. `fim --slideshow=5 media/`) will now cycle forever, unless --once/-1 option specified (as in fbi).
* Fix: after 'quit' no command shall execute anymore (unless in -F).
* With SDL one can specify window size as percentage of allowed size (-o sdl=w55%), or draw a help grid map (-o sdl=h).
* With SDL (-o sdl), center window by default.
* Fix: now pressing keys "1n1n" will not execute 'n' 11 times, but twice.
* configure --enable-debug is a developer option now.
* libcaca (-o ca) mode is now complete and is the default ASCII Art mode.
* Slideshow function (e.g `fim --slideshow=5 *.jpg`) now more responsive.
* Arrow keys are now working in aalib (-o aa).
* Bugfix with aalib (-o aa): don't truncate long lines.
* Avoid memory leak in language parser.
* Avoid console buffer memory corruption.
* Eliminate a memory leak from file loading code.
* Eliminate memory leaks in PNG, JPG, TIFF, EXIF, and font decoding code.
* Fix possibly broken `make -j` in rebuilding fimgs.man and fimrc.man.
* Correct configure script check for regcomp() -- could lead to false negatives.
* Don't break build on missing 'gs'.
* Experimental: use --load-shadow-directory <dir> to add a "shadow directory".
Then 'scale "shadow"' (bound to key '"') will substitute the current displayed image
with that of the first same-named file located under a shadow directory.
* When loading a directory, regular expression from default "_pushdir_re" variable now matches filenames with .webp extension.
* Fix: `fim -c '/<pattern>'` was broken.
* Add " INTEGER , INTEGER IDENTIFIER arguments" syntax to repeat a command
on each file in the interval and substitute its name to '{}' in the arguments
to an iterated command IDENTIFIER.
* If a key is bound to e.g. 'goto "+1F"', keep pressing it to accelerate (not if e.g. "+1f").
* Internal fix: piping from external commands was using 0 instead of 'WNOHANG', leading to hanging.
* Internal fix: error handling was missing.
* fimgs now to handle tar.xz archives.
* Reload automatically image on file change.
* Command 'list' 'sort_var' 'var' to sort file list according to values of 'i:var'.
* Command 'list' 'sort_comment' to sort file list according to 'i:_comment' value.
* Add a --verbose-font-load switch to set '_fbfont_verbosity=1'.
* Variable '_fbfont_verbosity' sets verbose font loading.
* Fix: short options -b, -h, -R were not getting optional argument (e.g. -b1).
* Key combination C-r now assigned to "reload ''".
* Fix: symbol from fbi sources clashed with gcc-6 onwards, breaking compilation.
* Key combination C-w assigned to setting auto-scaling to width.
* Smoother scroll of large images.
* If SSH_TTY set and no output device specified, give precedence to aalib, then libcaca.
* Bugfix: in --as-text will avoid repeated reload of file.
* Hardcoded font (if configured in) will serve as fallback font.
* Add a --no-pipe-load / -X switch to _no_external_loader_programs=1;
* Description variables beginning with '_' will not go into i: .
* List variables in all i:* read from description file with "list 'vars|variables'".
* Expansion of @variables and @# comments from description files.
* The menu key in SDL mode shows a temporary mouse click actions menu.
* Bugfix: description file reading was crashing due to wrong check.
* Caption text of "_caption_over_image" takes at most half of the screen.
* If _caption_over_image=3, image is possibly drawn below the caption.
* The 'v' and 'S' keys now cause a redraw.
* The description line can be of any length.
* New configure option, defaulting to: --enable-paths-in-man; it generates man pages with configure specified paths (e.g. sysconfdir, docdir).
* Fix: -s switch was broken.
* Add a semicolon (;) to -C arguments if not present already.
* Framebuffer console switch off while loading: configure with the
--enable-framebuffer-switch-while-loading switch to have it back.
* Fix: configure would fail on --disable-aa and absent aalib.
* Now configure has --enable-seek-magic by default. And is more verbose.
* Command 'help' also shows key bindings, and give multiple answers if matching.
* For each word following switch --help, an individual help message is shown.
* Command 'goto' accepts multiple arguments; evaluating them until the first one triggering a jump.
* Command goto {'-/'|'+/'}[C] jumps to a file based on character C (default 'S').
If C is 's', to prev/next file with same directory name.
If C is 'd', to prev/next file with directory name down the same hierarchy.
If C is 'u', to prev/next file with directory name up the same hierarchy.
If C is 'b', to prev/next file with same basename.
If C is as above but uppercase, to the prev/next file not matching the criteria.
* Accordingly, aliases 'next_file_dir_same', 'next_file_dir_other', 'next_file_dir_up',
'next_file_dir_down', 'next_file_same_basename', 'prev_file_dir_same',
'prev_file_dir_other', 'prev_file_dir_up' 'prev_file_dir_down' 'prev_file_same_basename'.
* Fix: 'recording' command was not functioning properly.
* Fix: don't pop back last command if "recording 'stop'" executed outside of recording mode.
* Fix: won't clear recorded list if calling recording 'start' multiple times.
* Specifying more than once any of -p -i - causes a warning.
* New switch --verbose-interpreter to execute interpreter verbosely by setting adequately _debug_commands='ackC'.
* Strings specified within single quotes have single quotes escaped, just as double quotes.
So that e.g.: '\'hello\'' equals "'hello'" and "\"hello\"" equals '"hello"'.
* Variable '_debug_commands' is now a string with several verbosity options.
* Fix: misc fixes for --offset, e.g. avoiding probing for external loader programs.
* Add --verbose-load option for verbose file loading.
* -C '_seek_magic=..' probes whole range of specified signature when loading a file.
* Fix in _seek_magic documentation.
* Option --offset accepts numbers suffixed by one of K, M, and G for respectively kibi-, mebi-, and gibi- (2^10, 2^20 and 2^30) units.
* Bugfix: --offset option was ignoring lower bytes-offset.
* Fix: a check was missing in the PS decoder when reading from stdin.
* Command 'pan' accepts '-' and '+' to jump to prev/next file if border is reached.
* Command 'font' controls displayed font and scans font directories.
* Keys '{' and '}' cycle through available consolefonts.
* Variable _fbfont_magnify_factor scales text font at runtime.
* Variable _fbfont_as_screen_fraction; if >0, font is scaled to exceed 1/_fbfont_as_screen_fraction of both width and height. If _fbfont_as_screen_fraction<0, font scaling is fixed.
* Keys '[' and ']' bound to new aliases "font_reduce" and "font_magnify".
* Key '|' bound to new alias "toggle_font_auto_scale".
* Switch -r {width:height} / --resolution {width:height} behaves as expected in SDL mode.
* Variable _downscale_huge_at_load, if 1 (default), downscale automatically huge images at load time. To avoid loading images exceeding too much screen size.
* Variable i:_buffered_in_tmpfile stores temporary decoding image filename, if any.
* Internally load SVG files by invoking inkscape <file.svg> --without-gui --export-png <temp.png>. A file beginning with "<svg" is be considered an SVG (Scalable Vector Graphics).
* Command 'scrollforward' skips a border if this is less than a fraction of the screen; this smoothes up documents reading. The fraction is one over '_scroll_skip_page_fraction', if >1; 1/16 if 1, no tolerance if <1.
* Variable "_want_wm_mouse_ctrl" controls mouse click/movement behaviour in SDL mode.
* Variable "_min_cached_images" is the minimum number of images to keep from eviction.
* Commands scale '<' / scale '>' shrinks/magnifies the image using cached mipmaps.
* By default, show mouse cursor in full screen SDL mode.
* Autocommand "PostInteractiveCommand" does not trigger anymore after 'quit' command.
* In case of a CBZ,CBR,PDF,PS,DVI file, the fimgs script now uses '--autotop --autowidth'.
* The fimgs script now probes for unrar-nonfree/rar/unrar-free (in this order).
* Customize overlay text via variable '_caption_over_image_fmt'.
* Command syntax 'goto {+|-}identifier[+]' (new) jumps to next file having a different value of i:identifier, also empty if without trailing `+'.
* Command "limit '-set_union'" merges current limited list with the new one.
* Command "limit '-merge'" merges current limited list with the new one.
* Command "desc 'reload'" loads once again description files specified at the command line with --load-image-descriptions-file.
* FIM only checks for filename duplicates if a sorting option is specified.
* Switch -P/--text-reading fixed. Seems to be broken in version 0.5.
* Command "color": "color 'negate'" and "color 'desaturate'" introduced.
* Commands 'negate' and 'desaturate' deleted.
* Command "color CVS" (CVS among 'protanopia', 'deuteranopia', 'tritanopia', 'p', 'd', 't') simulates a color vision deficiency; adding 'daltonize' applies a tentative color correction; "color 'colorblind'" is short for "color 'deuteranopia'".
* Command "color 'identity'": populate the image with 'RGB identity' pixels.
* Introduce a "#!fim:/=dir" special description line to specify directory prepended to basename.
* Introduce a "#!fim:\=dir" special description line to specify directory prepended to filepath.
* Command limit '-list' lists existing variables identifiers as set via 'desc'
* Command limit '-list' 'id' lists existing values for instances of variable 'id' as set via 'desc'
* Command "limit '~i' MINIDX[-MAXIDX]", with MINIDX and MAXIDX numbers (possibly with K as x 1000 multiplier) restricts filenames list to the specified interval.
* Command "limit '~d'", limits to files having exact current file's modify date +- one day.
* Command "limit '~z'" limits to files having same file size as the current.
* Command "limit '~z' MINSIZE[-MAXSIZE]", with MINSIZE and MAXSIZE numbers with possibly K (x 1024) or M (x 1024 1024) multipliers, limits according to file size.
* Command "limit '~d' MINTIME[-MAXTIME]", with MINTIME and MAXTIME numbers, limits files list according to file modify date (expressed as seconds since the epoch, see 'man 2 time').
* Command "limit '~d' MINDATE[-MINDATE]", with MINDATE and MAXDATE dates as in DD/MM/YYYY, and after 1900.
* Command "limit '-further' ..." makes 'limit' act on the current list, rather than on the full anew.
* Command "limit" uses new criteria:
If invoked with '~!' it restricts to files with unique basename.
If with '~=', to files with duplicate basename;
if with '~^', to the first of the files with duplicate basename;
if with '~$', to the last of the files with duplicate basename.
* Alias "unlimit" resets the limited list.
* Add variable '_all_file_loaders': a space-separated list of hardcoded file loaders usable with '_file_loader'.
* Switch -R/--recursive[=arg] has now an optional argument; overwrites (if set) or appends to (if beginning with + or |) the "_pushdir_re" variable (recursed filename extensions).
* Introduce a "#!fim:+=" special description line to append to cached description.
* Introduce a "#!fim:^=" special description line to prepend to cached description.
* Introduce a "#!fim:!=" special description line to reset all variables of the cached namespace.
* Command 'desc "save"' functionality to save descriptions file data from the currently browsable images list.
* Command 'desc "-append" "save"' works in append mode.
* Command 'desc "-all" "save"' saves also all descriptions file variables.
* Command 'desc "-nooverw" "save"' does not force overwrite.
* To ease reproducible builds: imposing LC_ALL=C to $(YACC) and $(SORT), vim2html.pl reads SOURCE_DATE_EPOCH
* New switch --mark-from-image-descriptions-file: read file names from a description file and use them to mark current list files.
* Introduced alphanumeric restriction in the descriptions shebang variables: must begin with underscore or alphabetic, continue with underscore or alphanumeric.
* Keys '(' and ')' are now bound respectively to "goto '^p'" and "goto '$p'"; that is jump to first or last page.
* Available symkeys are now documented in a section of man fimrc.
* Switch -k --keysym-press <keysym> to simulate press of keysym at startup.
Keysym can be prefixed by a repetition count number.
* New switch -/ <pattern> as short form of of -c /<pattern>.
* New switch --// <pattern> as short form of of -c /<pattern> with _re_search_opts='f'.
* Tehe space key (' ') is now assigned to 'scrollforward' (earlier was 's').
* Introduced context prepend/append shebang syntax "#!fim:^=" and "#!fim:+=" in description files.
* Switch --read-from-stdin-elds supports now the ASCII NUL terminator (via '').
* Switch -V (--version) prints to stdout (not anymore to stderr).
* The -B switch is now shorthand for --background-recursive.
* If compiled in pre-C++11 flags, -B / --background-recursive behaves as -R.
* Switch -S is now short form of --image-descriptions-file-separator (not anymore for --sanity-check).
* Switch -D is now short form of --load-image-descriptions-file (not anymore for --dump-default-fimrc).
* Switch -L/--read-from-file: read an image list from file (similarly to the - switch).
* Now caching of mipmaps is on by default; can be turned off with new variable '_cache_control'.
* Variable "_push_pushes_dirs"; if it is 2, also push hidden files and directories; that is, ones whose names begin with a dot (.).
* configure --with-font-magnifying-factor=FACTOR controls text magnification by an integer factor.
If FACTOR is positive, this value is hardcoded and cannot be changed at runtime.
If FACTOR is negative, -FACTOR is default, but can be changed at runtime.
If FACTOR is 0 (default) a default of 1 applies, and can be changed at runtime.
This option is meant to be used on configurations with high resolutions and small consolefonts.
* configure --with-tmpfile specifies a new temporary directory.
* configure tries to detect curses/ncurses.
* Fix: mouse movement under SDL used to trigger unnecessary screen redraws.
* Fix: the last used image is to be evicted from the cache as last, after possibly prefetched images.
* Fix: in configure script, the regex_t check was unnecessarily broken.
* Fix: ./configure --disable-pcx was not properly disabling PCX format support
* With C++11 flags, --background-recursive loads images in the background recursively (experimental, unfinished).
* Use variable "i:_file_load_time" to store the time taken to load the file and decode the image.
* Use variable "_use_mipmaps=2" to compute the mipmaps faster, using every fourth source pixel. This can be a good solution for speeding up large photographs scaling.
* Description files beginning with "#!fim:desc" (of whatever extension) can now be loaded as they were normal image files.
* Add switch --reverse to reverse the file list.
* Add switch --sort-mtime to sort file list according to modification time.
* Add switch --sort-fsize to sort file list according to file size.
* Command "list 'sort_mtime'" to sort file list according to modification time.
* Command "list 'sort_fsize'" to sort file list according to file size.
* Command "list 'mark' {args}" accepts now exactly what "limit {args}" does.
* Command syntax 'list "markall"' introduced.
* Command syntax 'list "dumpmarked"' and 'list "unmarkall"' introduced.
* Command 'list "swap"' introduced.
* New '_lastgotodirection' variable, with the last file goto direction.
* Key 'Enter' now marks and goes forward or back according to variable '_lastgotodirection'.
* Fix: the largest mipmap was not always being used.
* Fix: -lfl linkage is not really necessary: removed it.
* Fix: support for PPM files with 2 bytes per sample.
* Fix: a few more checks when reading PCX files.
* Fix: documented that switch --sanity-check terminates the program, rather than continuing.
* Fix: when stdint.h is available use uint8_t, uint16_t, uint32_t instead of non-portable __u8, __u16, __u32
* Fix: compilation was broken without framebuffer (FIM_WITH_NO_FRAMEBUFFER)
* Fix: cleaned up the internal keysyms initialization code.
* Fix: removed obsolete documentation for the "window" command, now disabled.
* Bugfix: improve GIF error handling.
* Bugfix: on certain framebuffer configurations part of the screen was not being redrawn.
* Bugfix: conversion from external program was vulnerable to failure due to a missing check.
* Bugfix: avoiding data corruption when handling %k expando.
* Bugfix: repeating "recording 'repeat_last'" (default '.' key) by prepending a number now works.
* Fix: configure uses `sdl-config --static-lib`.
Version 0.5
* -R / --recursive switch to turn on recursive push of command line specified directories
* added --sort and --sort-basename to sort the images list
* introduced mipmap mechanism (_use_mipmaps) for faster display/scaling of images
* status bar customizable with _display_status_fmt and _info_fmt_str, which can be
controlled by the use of special image variable specifiers ('expandos'):
"%T" expando to get (and display) total memory used by the program
"%C" expando to get (and display) file/memory usage by image cache
"%M" expando to get (and display) memory used by the current (displayed) image
"%c" expando to get (and display) centering information
"%m" expando to get (and display) current image mipmap occupation information
"%k" expando to get (and display) current image i:_comment value
"%?PRE?VAR?POST?" expando to get (and display) "PRE".i:VAR."POST"
...
* search (and jump) on image descriptions via 'goto' and key '/'
* when repeating search with 'repeat_last', will use last direction
* '?' key is now assigned to backward search (goto '-//')
* default 'C-p' key is now assigned to repeat last backward search (goto '-//')
* image cache will remember alignment within viewport
* jump back and forth from the last viewed image with the ' (single quote aka apostrophe)
key and the _lastfileindex variable
* added --load-image-descriptions-file (equivalent to 'desc' 'load') to populate
the i:_comment values of each loaded image file and set _caption_over_image=2
(with it added also --image-descriptions-file-separator)
* added the 'desc "load"' command to load a textual files comments description file
* introduced a 'limit' command, with comment, file name, or marked file criteria
* the '`' key is bound to toggle limit'ing to the marked files list
* introduced 'list "mark"' and 'list "unmark"' subcommands styled as 'limit'
* load i:_comment and i:var from description file, with forms:
"filename comment" (to i:_comment),
"#!fim:var=value" (to set i:var=value on all all the files following)
"#!fim:var=" (to unset i:var=value on all all the files following)
"filename #!fim:=" (to i:_comment from the value read last)
"filename #!fim:+comment" (similar, but will append the new comment)
"filename #!fim:^comment" (similar, but will prepend the new comment)
"filename #!fim:s/f/t" (similar, but replace string f with string t)
* EXIF tags will be read with libexif and become i:EXIF_-prefixed variables
* if _want_exif_orientation is set, images will be reoriented according to EXIF
metadata (i:__exif_orientation, i:__exif_mirrored, i:__exif_flipped).
* the 'help' command will search also in fim command options
* will optionally use C++11 constructs with ./configure --enable-cxx11 (no user level impact)
* scaling image code faster (thanks to __restrict__ pointers)
* customizable SDL window caption line with _want_wm_caption_status
* BMP format support is now optional
* PCX format support (optional)
* changed meaning of variable _ignorecase: now it affects autocommands
* introduced variable _re_search_opts affecting regexp-based search
* default key 'r' is bound to 'rotate90', key 'R' to 'rotate270'
* can be invoked without stdin; e.g. from an X menu
* added "display 'resize'" to resize the SDL window, optionally to the image size
* default SDL mode is windowed now
* by default, the 'C-w' key will resize the SDL window to the original image size
* by default, the 'W' key will resize the SDL window to the image size,
and added an --autowindow switch to adapt window size to picture size
* the 'help' command will search in help items if argument starts with /
* special variable i:* expanding to all the variable name/value pairs of the current image
* opening image files in archives (e.g. CBZ,CBR,RAR,TAR,TGZ,TBZ,7Z,ISO,...)
with libarchive (experimental)
* JPEG-2000 file support via JasPer (experimental)
* added a ':- INTEGER' syntax, so one can specify the file in the list counting from the end
* added an _archive_files variable to specify which file name types specify archives
* added a 'list "pushdirr"' command, working like "pushdir" but recursively
* the _fbfont variable will contain the current console font file string
* mirror/flip are now being applied with respect to the viewport borders
* stat() checking of files on load can be disabled with _push_checks
* added --no-stat-push to set _push_checks=0 before initialization
* added the _caption_over_image variable (which is 0 unless --load-image-descriptions-file)
* 'Pause' and 'Menu' keys are now available in SDL (-o sdl) mode
* added 'list' 'marked' to show the list of marked files
* key 'Del' bound to pop (delete) the current image from the list
* i:_file loader will store the used loader string
* switch --offset accepts a range now (using the new _open_offset_retry variable)
* if an image has been opened with an offset, i:_open_offset will be set accordingly
* variable i:pagecount is now replaced by i:pages
* put aside (disabled) the v: b: and w: namespaces until they make more sense
* panning on mouse movement in SDL mode
* `make fim' goal has been deleted
* changed librsb library detection: now it's e.g.:
LIBS="`librsb-config --ldflags --extra_libs` " CXXFLAGS="`librsb-config --cflags` "\
./configure --enable-matrices-rendering
* bugfix: in some situations fim -o fb was not clearing the screen before drawing the image
* bugfix in the "list 'remove'" internals
* --binary=1/--binary=24 will not pad tiny renderings to _preferred_rendering_width pixels
* fix: corrected the quiet mode (-q) to be quieter
* fix: no zlib.h build time dependency (this will be reintroduced in the future)
Version 0.4
* changed --random semantics and introduced --random-no-seed switch
* customizable status bar file info string
* introduced --as-text to render printable bytes as text
* key r is bound to 'rotate90', key R to 'rotate270'
* bug fixes for the g: namespace, SDL/X mode, "list 'pop'" command,
the --offset option, 'ascale' and rotation, documentation.
Version 0.4-beta
* interface to the GraphicsMagic library (more graphics formats supported)
* introduced bitwise AND and OR operators
* support for rendering "matrix market" numerical matrix files (with librsb)
* X mode not anymore default in aalib, available at option
* libjpeg usage fixes
* libpng usage fixes (support for PNG_LIBPNG_VER>=10209)
* documentation improvements (e.g.: fim man page is auto-generated)
* "imlib2" X-based output device support
* "sdl" output device improvements (fullscreen/mouse/windowed options, I/O, ..)
* more default consolefont options (e.g.: hardcoded consolefonts support)
* configure option to disable the fim history file
* improvements to scale, goto, other commands
* improved directories reading
* introduced --no-commandline, --no-internal-config switches
* aggregated some commands for clarity
* output console can be disabled at configure time
* important fbdev bug fixes
* autocompletion of variable identifiers
Version 0.3
* minor strchr compilation problem on some systems
* better consolefonts support
* much better SDL support (different color modes)
* 'negate' feature
* -S, or 'sanity-check' switch [changed meaning in v0.6]
Version 0.3-beta-prerelease
* auto-generated documentation: more consistency
* grammar specification, in man fimrc
* internal commands,variables,autocommands reference man page, in man fimrc
* better internal help mechanisms
* more control (resolution change,windowed mode) in experimental sdl mode
* new commands (pread,reverse,shuffle,...)
* (temporarily) disabled internal windows splitting
* pushing files from a directory
* several minor and major bugfixes
Version 0.3-beta
* full support for AAlib (ASCII-art rendering) (-o aa)
* experimental support for SDLlib (Simple Directmedia Layer) (-o sdl) (X!)
* experimental PDF, PS, DJVU file support
* history file support (~/.fim_history)
* seamless caching and prefetching integration
* viewing of any type files as bitmaps (unset bits black, set bits white)
* viewing of any type files as pixmaps (as RGB triples)
* framebuffer driver now can be disabled at compile time
* colors inversion: saves a significant fraction of power when viewing documents
Version 0.3-alpha
* experimental support for AAlib (ASCII-art rendering) (-t)
* reading image files (-i) and scripts (-p) from stdin
* runs on the powerpc architecure
* rewritten from scratch the debug console, now buffered and with scrolling
* achieved speedup in magnifying pictures
* achieved speedup in displaying dithered images
* smarter quoting rules (looser quote checking) when "push"ing files
* dumping to file execution logs as executable scripts (-W/--write-scriptout)
* implemented regular expressions matching operator (=~)
* new default key bindings for split windows control
* could be compiled with no readline library (--disable-readline)
Version 0.2
* internal windowing (with splitting, resizing, swapping) support
* .xcf, .fig, .dia, .svg files now viewable via wrapper calls
* introduced interactive command iteration ( in the [n]<command key> form )
* fim will try to run under screen and over ssh now
* custom framebuffer device, fonts and gamma are supported
* enriched compile-time options via the ./configure script
* vim-styled variable scoping g:,i:,v:,w: (local variables)
* eradicated some bugs
* introduced new variables, commands
Version 0.2-alpha
* first windowing functionalities
* bugs and subtle flaws handling
* introduced new variables, commands
Version 0.1
* regular expressions for filtering the viewed image list
* vim-like autocommands
* command line autocompletion
* command line history
* completely customizable key bindings
* external/internal scriptability
|