Skip to content

Releases: bluescan/tacentview

Quality of Life

23 Mar 10:55

Choose a tag to compare

This is a QOL release that fixes a number of critical image loading issues, increases maximum image dimension to 65536x65536, and introduces a locked-aspect mode while cropping.

Image Loading

WEBP

Some animated webp files would cause a crash if frame-size didn't match the canvas-size. This is now addressed and and proper blending of each animated frame is implemented. Webp images that have transparency are often displayed with a background colour in browseers and other viewers. The background colour is stored in the webp. Tacent View now has a checkbox to use the stored background colour. The checkbox is in the properties popup while viewing webp images.

DDS

There are some dds files in the wild that do not have their header flags set correctly. If strict loading is off in the preferences (the default), these files are still loaded so long as a valid FourCC code is still present.

QOI

Qoi images were loaded and saved upside-down. This is now fixed,

Dimension

Some game engines support height-maps up to 64Kx64K in size. Tacent View has increased the maximum allowed image dimensions to match. Previously the max was 32Kx32K.

Ill-formed Images

Tacent View is now more resilient when loading ill-formed image files. Images that fail to load are simply skipped by the viewer and a warning is printed to the log (Ctrl-L).

Cropping

The biggest feature in this release is locked-aspect mode cropping. This was badly needed when cropping photos to a specific ratio. In cropping mode you can now choose to modify the crop area normally (free mode), set the cropping to a specific aspect-ratio (locked-aspect mode) , or specify the aspect ratio manually (custom mode). All common aspect-ratios are supported as presets in the aspect-mode combo box. This includes many that are for prints. Print aspect-ratios have the letter P in them.

Summary of Changes

  • Better handling of ill-formed images.
  • Loading of ill-formed DDS files.
  • Display 'Varies' for opacity in cases where animated or multi-frame images do not have the same opacity for all frames. Opaque means all pixels are opaque. Not opaque means some pixels are semitransparent.
  • Ability to override background colour for semitransparent WEBP files.
  • Increased maximum image dimensions to 65536x65536.
  • In some cases the previously opened image would fail to load when the viewer was re-opened. This could happen if the path to the last opened image file had brackets ( ). This is now fixed.
  • Fixed-aspect mode while cropping. Preset aspect-ratios include all common screen and print sizes.
  • Fixed QOI images loading in upside-down.

Full Changelog: v1.0.36...v1.0.37

Ctrl Cmd Enter

06 Mar 09:57

Choose a tag to compare

There are three new features in this release -- Ctrl-C/Ctrl-V images to/from the clipboard, a cmd-line interface for batch image processing and build pipelines, and improved focus-handling for all modal dialogs -- which now allow simply pressing Enter to proceed.

Command Line Interface

The most extensive feature is the command-line interface (CLI). On both Windows and Linux the TacentView executable (the same one that is run to bring up the ImGui interface) may also be used in a shell / command-prompt. There is some under-the-hood magic to allow the same executable in Windows to be used in a Command window without bringing up a new console, but it seems to be working fairly well. See this page for more information.

To use Tacent View in CLI mode, you specify the input image files. It then runs a number of operations, in order, on them. Finally the images are saved into whatever format you specify. The easiest way to get your feet wet is to call:

tacentview.exe --help

Further instructions may be found in the Tacent View Wiki.

Input Files

Input files may be of any type that the viewer supports. In addition one or more manifest files may be specified. When processing a directory you may only want to process specific image types -- this is also supported in CLI mode.

For example, to specify a single image plus a directory and a manifest file you would call:

tacentview.exe -c -i tga landscape.jpg foldername/ @imagelist.txt

The -c just means use CLI mode. The -i specifies only load targa files for any input directories that are encountered. The @ means read in a manifest file that lists further files and directories to process. The manifest file may contain empty lines and line comments. If a line is neither of those, it is interpreted as either a directory to look in, or an image file to process.

Operations

The operations are what you want to happen to the input images. Things like rotations, resizing, cropping etc. These operations are appied in-order to each and every input image. Supported operations:

  • resize -- Specify new dimensions, optionally preserve aspect ratio. Choose the resample filter and filter edge mode, etc.
  • canvas -- Resize the image my modifying the canvas area. These are resize modes that do not use resampling. You can choose new dimensions, anchor position, fill colour etc.
  • aspect -- Resize an image using aspect mode. You specify the desired aspect ratio and a specific mode (crop or letterbox). In letterbox mode a fill colour will be used. In crop mode the image sides may need to be cut. In either case there is no non-uniform scaling.
  • deborder -- Remove borders from an image by specifing a border colour. Optionally read the border colour from the image. You may also specify what colour channels to check during removal. This is useful if the border in the image is made of, for example, only transparent pixels but with varying colour values.
  • crop -- Crop an image by specfying a rectangular region. If the region is too big a fill colour wil be used. You may either specify the rectangle extents or an anchor and a size.
  • flip -- Horizontal or vertical flips.
  • rotate -- Rotate an image by specifying an arbitrary angle in degrees or radians. 90 and 180 degree rotations avoid resampling for better quality. After a rotation the image size will be larger. There are three different modes that allow you to choose how to handle this. The modes are fill, crop, and resize. All resampling filters me be optionally chosen.
  • levels -- Adjust image levels by specifying black, white, and mid-points. Choose which frame in animated images to adjust (or choose all of them). The frame number gets clamped to the frame-count of the image being processed. Additinally specify the channels to apply the adjustments to and the algorithm to use for the mid-tone gamma.
  • contrast -- Adjust the contrast of an image up or down. Optionally specify a frame number and channels.
  • brightness -- Adjust the brightness of an image up or down. Optionally specify a frame number and channels.
  • quantize -- Quantize the colours in an image using various high-quaity algorithms. The number of desired colours may be set. Supported algorithms include Wu, Neu, ScolorQ, and Fixed.
  • channel -- Various channel manipulations. This can be used to generate premultiplied-alpha images, spreading one channel to the others, setting a particular channel to a specific value, computing intensity and applying to specific channels (to create, for example, a black-and-white image), etc. The modes are blend, set, spread, and intensity.

Currently supported filters include: nearest box bilinear bicubic bicubic_catmullrom bicubic_mitchell bicubic_cardinal bicubic_bspline lanczos_narrow lanczos and lanczos_wide

Output Images

The output files are generated based on the input files and chosen operations. The type of the output images is specified with --outtype. The short version -o may also be used. If no out-type is specified the default is tga. Supported output types are: tga png jpg gif webp qoi apng bmp tif

The output filename matches the input filename except that the extension/type may be different. Eg. Seascape.jpg would save as Seascape.tga if the outtype was tga.

By default if an output file already exists, it is not overwritten. Use the --overwrite (-w) flag to allow overwrites. To have the tool try a different filename if it aready exists, use the --autoname (-a) flag. It will append the string _NN to the name where NN is a number that keeps incrementing until no existing file is found.

Different output image types have different features and may support different parameters when saving. Here is the list of the currently implemented output file types and what parameters may be specified:

  • APNG : Bits per pixel (or auto-decide) and an optional frame duration override for animated images.
  • BMP: Bits per pixel or auto.
  • GIF: Bits per pixel (2 to 256 colours), colour quantization method., number or loops (explicit or infinite), alpha threshold for GIFs with transparency, an optional duration override for animated GIFs, plus various parameters relating to the chosen quantization method (dither level, filter size, and sample factor).
  • JPG: Quality parameter.
  • PNG: Bits per pixel or auto (inspects image looking for non-opaque pixels).
  • QOI: Bits per pixel or auto, colour space (linear or sRGB).
  • TGA: Bits per pixel or auto, RLE encoding.
  • TIFF: Bits per pixel or auto, ZLib compress, frame duration override for multi-page TIFFs.
  • WEBP: Lossy or lossless image, quality or compression amount (depending on lossy/lossless), optional frame duration override for animated WEBP images.

Exit Code

The return error code is 0 for success and 1 for failure. For 0 to be returned every specified image must be successfully loaded, processed, and saved. A failure in any step for any image results in an error. By default processing continues to the next image even on a failure. If the --earlyexit (-e) flag is set, processing stops immediately on any failure. Either way, any failure returns a non-zero exit code.

Examples

tacentview.exe -cw -i tga images/ -o bmp -v 2 --op rotate[10]

In this example all images in the directory "images" that are tga files will be rotated 10 degrees anti-clockwise and than saved as bmp files. The -cw expands to -c -w. The -c means use CLI mode. The -w means overwrite existing output files. The -o specifies the image type of the output files. The -v 2 sets the verbosity level to high (0 is none, 1 is normal). Finally, the --op rotate[10] is the rotation operation.

Chaining operations together is also possible by specifying more than one operation:

tacentview.exe -cw -i tga images/ -o bmp --op rotate[10] --op channel[blend] --op contrast[0.6]

In this example the rotation is performed, then an alpha pre-multiplication blend is performed, and finally the contrast is bumped up to 0.6 (0.5 is normal). This sequence is applied to all tga files in the images folder and a separate bmp file is written for each one.

Modal Focus

All the modal dialogs have been improved. The currently selected button or widget is now outlined, buttons can be 'pressed' with Enter or Space. For example, if you press 'del' to delete a file, a modal pops up asking you to confirm. You may now press 'OK' by simply pressing the Enter key. This is similar to how OS-native modal dialogs work. The Tab key also cycles between widgets that accept keyboard input.

Clipboard

Ctrl-C and Ctrl-V now work in Tacent View. Want to copy an image and paste into GIMP or PS? This now works. The image in Tacent View will briefly flash white when the copy operation is performed.

You may also paste an image into Tacent View with Ctrl-V. In this case a new image is created with an auto-generated name. The type of the image is specified in Preferences->System->PasteType. The image type may only be a type supporting lossless encoding, as you wouldn't want to lose information simply be pasting. In any event, this behaviour allows tacent to be a sort of 'factory' where you can paste a sequence of images and have it generate new files in a format of your liking.

Regarding Linux, Ctrl-C / Ctrl-V works if using the X11 display server protocol. Wayland is not yet supported by the clipping library. Additionally, cipboard memory is not a kernel-level construct with X11/Linux. If you copy from an app in Linux, that app must remain open when you paste the clipboard into another application.

Additional Improvements

These are in addition to the features listed above and does not represent the fill list of changes:

  • Fixed issue with the bottom...
Read more

Level Up

25 Jan 10:43

Choose a tag to compare

This release features image levels adjustments, improved UI readability on high-resolution displays, and fixes to the zoom mode when switching images.

Levels

The new levels dialog supports brightness, contrast, and a more comprehensive levels tab. The latter dsiplays a histogram of intensities present in the image and allows adjustments to the black, white, and mid points. The colour channels may be specified individually (R G B or Alpha) or composite RGB intensity may be chosen. To bring up the dialog either press the toolbar button or use the 'L' key on the keyboard. The default key bindings have been updated so that Ctrl-L now brings up the output-log.

LevelsRockyBeach

Tacent View is fast enough to modify the levels of a multi-frame (animated) image at interactive speeds. The image below is 128x128 and 64 frames. Modifying a single image of at least 1024x1024 is fast on even moderate hardware. If you don't want all frames modified uncheck 'All Frames' and only the current frame will be adjusted. Note: this checkbox is only present on images with more than one frame (animated webp, gif, apng, etc). The settings for channel selection and 'All Frames' are also available in the Contrast and Brightness tabs.

LevelsMultiFrame

Readability

The original widget and font size was rather small -- a bit problematic if you have less than 20/20 vision or a 4K display. The UI size (including font) may now be set to Small, Medium, or Large, with Small matching the original font size (Tiny, Small, and Medium might be closer to the truth, but doesn't sound as good.)

The default bindings to increase or decrease the UI size are Shift+ and Shift-

SizeChange

Zoom Mode

The zoom mode and current zoom percent were intended to be either global or remembered with each image individually. This feature never quite worked in a clear and intuitive manner. Now under Preferences->Interface there is a 'Zoom Per Image' checkbox. This behaviour may now be enabled and disabled dynamically by pressing Shift-Z (and is also accessible from the View menu). With this set to true, when cycling through images, each one will have its own zoom settings and percent. Additionally, it is now clear when manually adjusting zoom that you always switch to the 'User' zoom mode. This is apparent by viewing the checks in the View menu.

Additional Changes

  • UI Size saved to config file. Three sizes are supported.
  • Default UI size key bindings set to Shift+ Shift-. Default UI Size set to medium.
  • Faster bootup by embedding the font atlases into the executable.
  • Fixed zoom mode and percent so it properly works whether user chooses to have it remembered with each image individually, or set globally for all images. There is now an explicit option in the preferences for 'zoom per image', and both the global zoom mode and percent are saved to the config file. Any manual zoom adjustment automatically sets the zoom mode to 'user'.
  • Toolbar icon for Levels modal dialog.
  • Adjustments (levels, contrast, brightness) integrated into Image class with full undo/redo stack.
  • Levels modal now has 3 tabs for the different types of adjustments instead of 3 separate dialogs.
  • UI for all 3 adjustment modes implemented.
  • Support colour-channel application for all image adjustments.
  • Levels histogram implemented with different colours depending on chosen channels. The histograms get populated specifically for each of the possible channel modes (R G B A RGB).
  • Logarithmic or linear scale on the levels histogram.
  • Widget dimensions on the Levels modal dialog support the 3 new UI sizes.
  • Ability to modify either a single frame or all frames when processing colour-level changes. This applies to animated images or images that support more than one 'page' (like tiff files). If the image has only one frame, the option is not presented.
  • File Dialog and Nav Bar supports UI Size.
  • Properties window and Save-As popups support UI Size.
  • All currently displayed dialogs save to config.
  • Initial positioning of all dialogs cleaned up to form a grid.
  • Main nav buttons adjust size depending on UI Size.
  • Content View and Colour Channels window supports UI Size.
  • Preferences and Cheat Sheet dialogs support UI Size.
  • File popups and Key-bindings dialogs support UI Size.
  • Crop, Resize Canvas (all 3 tabs) support UI Size.
  • Meta-Data and Zoom menu support UI Size.

Full Changelog: v1.0.34...v1.0.35

Like the Peanut Butter

30 Dec 10:13

Choose a tag to compare

This release allows high-quality GIFs to be created. GIF support before this did not do a good job of creating colour palettes and did not support saving transparency. In this version 3 high-quality colour quantizers have been added, transparency is supported, and palette-size (BPP) can be set anywhere between 1-bit (2 colour) to 8-bit (256 colour). Dithering is also supported for the spatial quantizer.

The available quantizers are:

  • NeuQuant. This is probably the most well-known high-quality quantizer. It uses a neural net to learn and reduce errors in colour differences. Works well for bigger palette sizes like 128 or 256 colours.
  • Wu Bipartition. With my simple test-case this performed really well at a range of bit-depths and was reasonably fast. it is the default quantizer in Tacent View.
  • Scolorq/Spatial. This is the only method to directly support dithering. It is quite slow but gives superior results for low bit-depths. Try using it for 5-bit (32-colour) or lower.
  • Fixed. A fixed palette. Does not inspect the image pixel colours but is useful for 1-bit palettes as it guarantees both black and white are included. It also highlights how much better the other methods are ;)

Some tests of the quantizers can be found in the Tacent Wiki Quantization Page

The new interface to save a GIF:

GifSave_2022_12_29

Most of the work for this release took place in the base Tacent library. This included the use of gifenc to do the encoding. Here is the related Tacent release.

Additional Improvements and Changes:

  • File dialog now pre-populates the base filename when selecting save-as.
  • Gif palette bit-depth displayed correctly in details panel. From 1 bit to 8 bit.
  • Simplified image loading and saving code to take advantage of the new tImage constructors.
  • No longer using hardcoded extensions for save-as and save-as-multiframe. Now uses the FileTypes object. Config file saves file-type name instead of arbitrary int.

Full Changelog: v1.0.33...v1.0.34

Quite OK Release

13 Nov 20:00

Choose a tag to compare

This release features support for 3 new image types in addition to a number of improvements and fixes. The newly supported file-types are:

  • QOI : The Quite OK Image format. This is a lossless image format with a fast encoder/decoder backend. Both loading and saving are supported.
  • KTX V1 : The last release supported ktx2 files. This release adds support for the original ktx files and for decoding of ASTC data in ktx, ktx2, and dds files.
  • ASTC : This format is the official ARM format for storing astc data. An astc file (.astc) contains data for a single image in one of the 14 block types ASTC provides.

Auto-gamma correction for ktx, ktx2, and dds files is now provided. In this mode the viewer tries to determine if the image colour-space is linear, and if it is, applies the sRGB transformation so it is displayed correctly. Note: Most image files, tgas, jpgs, etc are already in sRGB-space.

Additional Fixes and Notes

  • Fix animated image playback rate to take into account remaining time when detection of frame being over is encountered. Animated GIFs, APNGs, and WEBPs now playback at the correct speed (it was slightly slow previously).
  • KTX V1 support for all BC formats (BC1 to BC7), HDR float and half-float formats. ASTC encoded pixel data is now supported for ktx, ktx2, dds, and astc files.
  • Fixed issue with reset button in properties window overlapping with exposure control.
  • Fixed bug with some help-text causing a crash when displayed.
  • Support display of non-integral bpp in details popup. Some formats (astc) have variable and non-integral encoding rates.

Full Changelog: v1.0.32...v1.0.33

Screenshot_QOISave_2022_11_13

KTX2 Support

30 Oct 05:03

Choose a tag to compare

Khronos KTX2 File Support

This release features loading support for KTX2 (Khronos TeXture version 2) files. This is a modern file format that can hold texture data in a variety of pixel-formats. This release supports mipmaps, cubemaps, and 2D textures in the following pixel-formats:

  • BC1DXT1
  • BC1DXT1A
  • BC2DXT2DXT3
  • BC3DXT4DXT5
  • BC4ATI1
  • BC5ATI2
  • BC6S
  • BC6U
  • BC7
  • R8 (L8 A8)
  • R8G8
  • R8G8B8
  • R8G8B8A8
  • B8G8R8
  • B8G8R8A8
  • B5G6R5
  • B4G4R4A4
  • B5G5R5A1
  • R16F
  • R16G16F
  • R16G16B16A16F
  • R32F
  • R32G32F
  • R32G32B32A32F

For the HDR formats (anything ending with an 'F' plus BC6S and BC6U) there is the option to control the exposure as well as colour-space conversions. KTX container parsing and supercompression decoding is done by the official KTX-Software library and decoding the BC formats is provided by bcdec. ASTC decoding for both dds and ktx files is not implemented yet (on the roadmap).

Addition Improvements And Fixes

  • Fixed per-image zoom.
  • Changed order of mipmap image binding. Removes the frame of displaying lowest mip level when switching images.
  • Select gamma-correction mode (None, Gamma, or sRGB) for linear (HDR) images.
  • Exposure control for all HDR formats in both DDS and KTX files.
  • Spread-luminance/red control in image properties UI for both DDS and KTX images (removed from preferences window).
  • Reticle visibility modes: Always-Hidden, Always-Visible, On-Select, and Auto-Hide. Default for main profile is On-Select. Default for basic profile is Auto-Hide.

Full Changelog: v1.0.31...v1.0.32

So Direct. Much Surface. Many Change.

03 Oct 09:29

Choose a tag to compare

Extended DDS File Support

This release updates DDS loading to support modern (well, more modern) dds files with the dx10 header as well as many more pixel formats. Some formats are only available with the header, and some legacy formats are only available with legacy dds files (no header). The full list of formats supported for loading in this release is:

  • BC1 (DXT1 and DXT1A / Legacy and Modern)
  • BC2 (DXT2 and DXT3 / Legacy and Modern)
  • BC3 (DXT4 and DXT5 / Legacy and Modern)
  • BC4 (ATI1 / Legacy and Modern)
  • BC5 (ATI2 / Legacy and Modern)
  • BC6s (HDR. Modern)
  • BC6u (HDR. Modern)
  • BC7 (Modern)
  • A8 (Legacy and Modern)
  • L8 (Legacy and Modern/R8)
  • B8G8R8 (Legacy)
  • B8G8R8A8 (Legacy and Modern)
  • B5G6R5 (Legacy and Modern)
  • B4G4R4A4 (Legacy and Modern)
  • B5G5R5A1 (Legacy and Modern)
  • R16f (HDR. Legacy and Modern)
  • R16G16f (HDR. Legacy and Modern)
  • R16G16B16A16f (HDR. Legacy and Modern)
  • R32f (HDR. Legacy and Modern)
  • R32G32f (HDR. Legacy and Modern)
  • R32G32B32A32f (HDR. Legacy and Modern)

This is a superset of the possible export types provided by NVidia Texture Tools Exporter, but a sub-set of the possible types supported by Microsoft's DirectXTex texconv command-line tool. The heavy-lifting for decoding the BC formats was provided by https://github.com/iOrange/bcdec. This has also simplified the viewer code a little as before the decode was done by the GPU. It's a step forward to do it on the CPU since driver support for GPU-decode while generating thumbnails on separate threads with separate contexts was a little suspect (especially for Linux/Wayland).

Addition Improvements And Fixes

  • Contact sheet generation filters and edge modes are now chosen separately from other resample filters. The contact sheet filter used on individual frames and the final output filter are now distinct. The UI will only display the filtering options if they will be used -- if you pre-author all the correct sizes, no filtering will be needed.
  • Fixed a slight display problem with UV clamping when not displaying in tiled mode.
  • Fixed issue with selecting mipmap filter in prefs. None (disable mipmapping) was unavailable from the combo-box.
  • Fixed cursor move issue where sometimes shift-arrow would not update cursor position.
  • Improved when decision to draw cursor as a square outline vs a reticle. It is now based on screen-space pixels rather than zoom amount.
  • Improved cursor colour choice decision. It now takes intensity/alpha into account rather than only the Value in HSV-space.
  • Zoom amount now stored per-image instead of globally. You can now flip between different images and they remember their zoom (if zoom mode is 'user').
  • Spread-luminance option in preferences. Makes single-channel luminance images display as greyscale.

Zippier Zoom

06 Sep 10:39

Choose a tag to compare

This is an incremental release. It includes two important optimizations.

The first is much better performance while zoomed-in. Panning while at maximum zoom, for example, was really slow. This was due to drawing the background under the entire image, including the parts that were off-screen. This has been addressed. Additionally, there is no point drawing the background at all if it doesn't extend past the image extents and the image itself is completely opaque.

The second is a general speed improvement by updating Tacent to leverage the memory and speed optimized string class. Most string manipulation functions in the viewer no longer have to allocate and free memory every time a change is made.

There is an additional improvement to the image meta-data screen. By right clicking a row you can now copy the information to the clipboard. You may also copy-all to get all meta-data tags and values in one go.

Lastly, the background checkerboard size may now be set in the preferences.

Cropping Code and Cropping Code

06 Aug 12:55

Choose a tag to compare

Cropping Code

Cropping is now easier to use and allows setting the crop-lines to precise pixel values. The crop-lines define the outer outline of the pixels that will be kept (including the ones on the line). There is a quick crop-navigation widget that allows you to quickly snap/pan to the corner or side you want to adjust. The cursor move shortcuts can be used to move the last-selected crop anchor around one pixel at a time -- the default bindings for these are Shift-DirectionKey. The cropping lines are maintained if possible while you move between different images.

ScreenshotCropping

Cropping Code

Why the quip in the release title? There was also some code 'cropping'. In particular panning is handled more accurately, maintains the offset properly as you zoom, and has a less complex implementation. The code to handle the fixed-aspect work-area was also removed since allowing the image to fill as much screen real-estate as possible is always desireable. In addition button images were removed where they could be generated by simple UV flips of existing images.

Improvements

Additional fixes and improvements include:

  • File dialog keeps sync with underlying filesystem better. Last open file or directory remembered across runs of the viewer.
  • File dialog bookmarks cleared properly if the location no longer exists.
  • File dialog menubar for optionally showing hidden files and directories.
  • Pan offset displayed in image details next to zoom percent.
  • Upgraded to ImGui 1.88
  • Fixed potential crash in file dialog when switching directories after opening the dialog multiple times.
  • Fixed sorting issue when first opening file dialog.
  • Ability to refresh file dialog content view.
  • Button for moving up a single directory in the file dialog.
  • Pan reset button in main view.
  • Custom anchor widget for resize-canvas and crop popups.
  • Reduced number of button images loaded by using UV-flipping where possible

Network Locations, Meta-Data, and a File Dialog

12 Jul 03:47

Choose a tag to compare

This release contains big improvements in 3 areas. Image meta-data may now be viewed when loading JPG files. Windows network shares may now be accessed directly, and there is a file dialog for both opening and saving of images.

Meta-Data

EXIF image metadata can now be displayed for JPG images. EXIF orientation is now taken into account when loading JPG files that have the orientation tags set.

TacentViewMetaData

File Dialog

A file dialog for Save-As, Open File, and Open Directory operations. Supports sorting and filtering by various properties like modification date, hiding columns, and resizing tree-view, bookmark, and content panels.

TacentViewFileDialog

Network Shares

The dialog supports the ability to access and browse network shares on windows.

Other Improvments and Fixes

  • Fullscreen mode makes no changes to nav and menu bar. This is now handled by the profile only.
  • New operations that have been added do not invalidate previous config file settings. The new operations simply get default key-bindings.
  • Fixed shutdown crash on Linux due to not cleaning up all icon images properly.
  • Fixed cheat-sheet. Now shows all key-bindings.
  • Cleanup transition between profiles. Made nav-bar height the same as toolbar height so no adjustment to image centering seen. Fullscreen mode restores properly if you quit while fullscreen. All window geometry settings are now in global config section.
  • Direct UTF character support on windows without needing to set the beta Windows 11 option to assume UTF-8. Can now load files with characters outside the basic multilingual plane.
  • Added bit-depth option when saving PNG and BMP files.
  • Fixed an issue where shortcut keys would not function unless the toolbar was visible.
  • Multimonitor support on Linux.