Commit Graph

54 Commits

Author SHA1 Message Date
089c90004b
Produce a basic Windows installer package
We're very early adopters of msitools' new UI feature,
so this doesn't work on MSYS2 directly yet due to an old version.
2023-06-26 02:10:31 +02:00
a1f6ffd226
Make scripts capable of 32-bit Windows builds
Now binaries can be (cross-)built using GCC for 32- and 64-bit Windows.

Additional improvements:
 - Within MSYS2, try to install the required dependencies automatically.
 - Within MSYS2, fix passing libdir paths to pkg-config.
 - Prune documentation from extracted package files,
   addressing the incredible slowness of Windows filesystem operations.
 - Fix the script name in README.adoc instructions.
2023-06-22 18:33:31 +02:00
1eee1831a5
Windows seems to be mostly working fine 2023-06-22 11:05:04 +02:00
86622e0c31
Make cross-compilation scripts work from MSYS2
This is weird and runs very slowly.

Meson can also find libraries outside the subroot,
in particular the fast float plugin.
2023-06-22 04:06:38 +02:00
cc59e537da
Update meson invocation to avoid warnings 2023-06-04 17:15:37 +02:00
338ae69121
Add support for the Little CMS fast float plugin
On a sample of JPEGs, it improved loading speed from ~0.26s to ~0.15s.

Unfortunately, it isn't normally installed.
2023-06-04 16:16:52 +02:00
6a7c86a41b
Remove a macOS rendering bug workaround
Most important Cairo bugs seem to have been fixed recently.
2023-06-04 12:10:35 +02:00
8f0576d6bc
Update runtime dependencies 2023-06-03 21:36:45 +02:00
796b05c9a5
Integrate online reverse image search
This makes use of our image processing capabilities in order to
turn arbitrary image files into normalized thumbnails,
upload them to a temporary host, and pass the resulting URI
to a search provider.

In future, fiv should ideally run the upload itself,
so that its status and any errors are obvious to the user,
as well as to get rid of the script's dependency on jq.
2023-03-15 05:52:32 +01:00
0317b88c87
Don't require asciidoctor or a2x, import liberty 2022-10-09 01:24:03 +02:00
9fb90607ad
Add a traditional manual page for fiv 2022-08-24 05:23:34 +02:00
7cbd24dd2f
Bundle a fuller installation of Perl/ExifTool
wperl is necessary to get rid of the console window,
which is merely one of several issues with the PAR Packer-based
ExifTool bundle used in the last commit.

The Perl installation could be heavily trimmed down,
but it seems to require a very manual process.
2022-08-11 16:11:07 +02:00
1a163bdb8b
Resolve a few issues with MSYS2 cross-builds
- Fix launching of subprocesses (missing gspawn helpers).
 - Discard unused GSettings schemas.
 - Make the program find its user guide.
 - Bundle a somewhat suboptimal version of ExifTool.
2022-08-11 16:10:04 +02:00
cf19f82875
Automate Windows builds, add icons to executables
Scripts have been ported from sdtui, and adjusted for Meson.

The port is broken through and through on WINE,
but sort-of works natively.
2022-08-11 00:19:59 +02:00
dcc5b6c719
Use GSettings for a new native window toggle
Also, redo desktop files handling.
2022-07-25 19:05:27 +02:00
4fcc506d84
Update README.adoc 2022-07-22 20:49:54 +02:00
bd2e929b77
Add ability to keep zoom/position when browsing 2022-07-17 13:04:29 +02:00
024b5117b4
Get rid of our spng dependency
Thumbnails can be properly loaded using Wuffs now.
2022-06-04 23:14:15 +02:00
a68a73cf5c
Don't mention gdk-pixbuf as a direct dependency
It's a similar case to Cairo.
2022-02-19 22:02:22 +01:00
433ede4bf1
Add a lossless JPEG cropper
This is more of an MVP, as metadata probably need adjustments.
2022-02-19 20:48:38 +01:00
ee71fb0dd0
Start a basic user guide
Move some information out there from the README.
2022-01-25 05:54:00 +01:00
f2eb7621b4
Bump Wuffs, add TGA support through it 2022-01-22 21:02:56 +01:00
25dcc3b136
Handle view bindings through an action signal
This makes them adjustable.
2022-01-09 07:48:44 +01:00
7160a915e2
Update README 2022-01-07 12:16:19 +01:00
b0de0e09bd
Add a screenshot to the README 2022-01-06 12:43:27 +01:00
685defa684
Rename the whole project shorter
There is no point in claiming speed, it turns out to be a strange focus
to have, considering the amount of available innovations to make.

The new name does not appear to be taken by anything important.
2022-01-05 04:45:46 +01:00
336053f24d
Implement trivial wide thumbnail production
Also make libwebp a required dependency.
2021-12-27 21:51:01 +01:00
e5b1a1861c
Avoid double CM in saved WebPs 2021-12-26 02:02:57 +01:00
ccf15bc8ae
Almost fully colour-managed Wuffs (BMP, GIF, PNG) 2021-12-25 21:53:39 +01:00
7a4b5cd065
Colour manage opaque, up to 8-bit images 2021-12-25 18:28:37 +01:00
9899a26635
Add a file information dialog based on ExifTool
Right now, it isn't very pleasing to use.
2021-12-21 13:05:11 +01:00
b78010ccb1
Adopt shorter identifiers
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00
caca14036c
Add preliminary direct support for WebP 2021-12-12 19:15:34 +01:00
ac70c7724b
Add preliminary HEIF/AVIF support
The gdk-pixbuf plugin does not work here, for whatever reason.

Moreover, close integration exposes higher bit depths, metadata,
and auxiliary images.

The library is awful and copylefted, but it's the only reasonable
thing that works.
2021-12-11 16:11:25 +01:00
a31b08a2d1
RAW -> raw photos 2021-12-02 13:01:31 +01:00
666bfc0759
Support using libtiff directly
Multiple directories are read as multiple pages.

The error handling is mildly questionable, as is libtiff.
2021-11-28 02:20:23 +01:00
c597e7bc2c
Update README 2021-11-23 20:50:01 +01:00
e6ad6c6302
Update README 2021-11-22 20:52:12 +01:00
8efd11d4e5
Update README 2021-11-22 16:35:57 +01:00
f4b727589b
Update README
I've noticed people often desire editing capabilities,
which is an unreasonable expectation.
2021-11-21 15:45:35 +01:00
db7a28b187
Add support for opening Xcursor files
Sadly, they don't have a canonical extension, and they don't show up
in the browser.  We might want to employ some level of sniffing.
The first 16 bytes are enough to identify a lot.
2021-11-17 13:49:15 +01:00
9bebb0a3fe
Make this work at all in macOS/Homebrew 2021-11-16 08:51:29 +01:00
21b110a7d6
Use spng to load thumbnails
Speed matters here, and this makes us about 20 percent faster
at loading large directories.

Moreover, libpng's PNG_ALPHA_BROKEN is indeed broken.

Thumbnails have a fairly fixed format, so there are very few practical
corner cases that could have been missed.
2021-11-12 11:45:34 +01:00
cfd2e5d9a5
README.adoc: fix dependency list 2021-11-11 22:51:59 +01:00
192698b7bd
Add support for defaulting to gdk-pixbuf 2021-11-10 21:34:15 +01:00
1c5cc50939
Add very basic SVG support
We need to refactor, so that SVGs are pre-rendered on each change
of scaling by librsvg directly, because some elements may be rasterized.

It would be best to also support building against resvg.
2021-11-10 00:23:19 +01:00
dbc500ae9f
Improve thumbnail scaling and alignment
Stretch thumbnails by up to half a pixel so that they align nicely.

Make use of pixman's sRGB mode.
2021-11-03 14:03:28 +01:00
e3b8fc9599
Update README 2021-11-01 05:17:27 +01:00
f24885db54
Add a thumbnail loader
So far not used, we'll need another widget to make use of it.
2021-10-04 23:17:34 +02:00
58bbe1e2ff
Enable directory browsing
Extracting the appropriate globs from the MIME database.
2021-10-04 23:17:34 +02:00