Colin Clark [Wed, 24 May 2023 13:03:14 +0000 (14:03 +0100)]
Documentation: Use G_SOURCE_CONTINUE and G_SOURCE_REMOVE
Colin Clark [Mon, 22 May 2023 17:23:20 +0000 (18:23 +0100)]
Fix typo in Readme file
Colin Clark [Mon, 22 May 2023 12:25:09 +0000 (13:25 +0100)]
Include package status in the Readme file
Colin Clark [Sun, 21 May 2023 15:16:07 +0000 (16:16 +0100)]
Fix typo in previous commit
Colin Clark [Sun, 21 May 2023 14:52:34 +0000 (15:52 +0100)]
Include executable test in GitHub action
- Include basic executable test - get version
- Use -D<option>=disabled for the no-options test
Colin Clark [Sat, 20 May 2023 10:24:26 +0000 (11:24 +0100)]
Include a build status badge in the Readme file
Colin Clark [Fri, 19 May 2023 15:09:26 +0000 (16:09 +0100)]
Include GitHub action to check builds
Tomasz Golinski [Mon, 15 May 2023 22:40:13 +0000 (00:40 +0200)]
Protect another g_memdup2 in exif.cc with ifdef
Tomasz Golinski [Mon, 15 May 2023 21:57:13 +0000 (23:57 +0200)]
Replace g_memdup with safer g_memdup2
g_memdup is declared as deprecated in current GLib, safer replacement g_memdup2 is available since GLib-2.68.
Code is protected by GLIB_CHECK_VERSION macro, so should build on older distros as well.
See https://docs.gtk.org/glib/func.memdup2.html
Tomasz Golinski [Mon, 15 May 2023 21:38:41 +0000 (23:38 +0200)]
Add missing #ifdef for DEBUG_FD
Amends commit
cd72fa8
Colin Clark [Fri, 12 May 2023 09:01:28 +0000 (10:01 +0100)]
Revert "FIXME: this can be rather slow and blocks until the size is known"
This reverts commit
8aeeb06fa5ab39f9e58938c2a8af3029fd67cbff.
Uncomment the callbacks.
Colin Clark [Fri, 12 May 2023 08:48:25 +0000 (09:48 +0100)]
Revert "FIXME: this can be rather slow and blocks until the size is known"
This reverts commit
8aeeb06fa5ab39f9e58938c2a8af3029fd67cbff.
gdk_pixbuf_get_file_info() can only get the file info from file types that it knows.
Colin Clark [Tue, 9 May 2023 09:27:39 +0000 (10:27 +0100)]
Bug fix: Copy icon not displayed
In the Copy dialog, the Copy icon was shown as a broken icon. Reverting
from gtk_image_new_from_icon_name() to gtk_image_new_from_stock() solves
the problem. I do not know why.
Andreas Rönnquist [Sun, 7 May 2023 19:55:55 +0000 (21:55 +0200)]
Do more casting to avoid build errors
Colin Clark [Mon, 8 May 2023 15:36:15 +0000 (16:36 +0100)]
Use emblems for some folder icons
- Use emblems for read-only, symlink and no-access folder icons
- Use standard folder icon for shortcuts and bookmarks
- Remove redundant GQview icons
n.b. It was not possible to get g_emblemed_icon_new() to work, so the
interim solution is to use gdk_pixbuf_composite()
Andreas Rönnquist [Sun, 7 May 2023 13:52:41 +0000 (15:52 +0200)]
Don't use too new *_DEFAULT defines
Colin Clark [Sun, 7 May 2023 13:02:12 +0000 (14:02 +0100)]
Remove "dot" entry from shortcuts pane
The "dot" entry had no meaning in the shortcuts pane, so is removed from
the defaults.
Current users can now delete the entry with a right-click.
Colin Clark [Sun, 7 May 2023 10:51:14 +0000 (11:51 +0100)]
Fix #1080: Cannot build with meson 0.56.2
https://github.com/BestImageViewer/geeqie/issues/1080
Sam James [Sat, 6 May 2023 11:46:40 +0000 (12:46 +0100)]
Drop stale intltool references
Moved to gettext when porting to meson.
Signed-off-by: Sam James <sam@gentoo.org>
Colin Clark [Mon, 1 May 2023 15:45:34 +0000 (16:45 +0100)]
Bug fix: Generation of translators list
Wrong text offset used
Colin Clark [Mon, 1 May 2023 15:31:11 +0000 (16:31 +0100)]
Fix #1079: Delete a keyboard shortcut
https://github.com/BestImageViewer/geeqie/issues/1079
Additional button on Preferences/Keyboard to clear selected shortcuts
Colin Clark [Mon, 1 May 2023 09:51:43 +0000 (10:51 +0100)]
Credit webpage artwork
- Credit webpage artwork
- Remove unused variable
Colin Clark [Sun, 30 Apr 2023 14:38:23 +0000 (15:38 +0100)]
Revise gresources use
Colin Clark [Fri, 21 Apr 2023 10:01:59 +0000 (11:01 +0100)]
Auto-generate list of authors and translators
- Get list of authors from git log, ordered by number of commits
- Get list of translators from headers in the .po files
- Lists are displayed in the About dialog
Colin Clark [Mon, 17 Apr 2023 15:38:25 +0000 (16:38 +0100)]
Bug fix: Error in typecast
Colin Clark [Sun, 9 Apr 2023 16:02:16 +0000 (17:02 +0100)]
Fix #1077: allow split view with user specified layout
https://github.com/BestImageViewer/geeqie/issues/1077
Additional layout - 3 horizontal panes
Colin Clark [Fri, 7 Apr 2023 17:05:56 +0000 (18:05 +0100)]
Fix c++ compiler warnings
... and this one...
Colin Clark [Fri, 7 Apr 2023 17:04:29 +0000 (18:04 +0100)]
Fix c++ compiler wrnings
Most of the remaining warnings eliminated
Colin Clark [Fri, 7 Apr 2023 09:28:02 +0000 (10:28 +0100)]
Fix c++ compiler warnings
Geeqie compiles without the -fpermissive option,
Colin Clark [Mon, 3 Apr 2023 08:59:02 +0000 (09:59 +0100)]
Fix c++ cmpiler warnings
GdkModifierType cast
Colin Clark [Mon, 3 Apr 2023 08:42:35 +0000 (09:42 +0100)]
Fix c++ compiler warnings
Bug fix for previous commit
Colin Clark [Sun, 2 Apr 2023 09:16:00 +0000 (10:16 +0100)]
Fix c++ compiler warnings
const gchar * casts
Colin Clark [Fri, 31 Mar 2023 17:28:34 +0000 (18:28 +0100)]
Fix c++ cmpiler warnings
Include the gconstpointer casts missed from the previous commit
Colin Clark [Fri, 31 Mar 2023 16:59:46 +0000 (17:59 +0100)]
Fix c++ compiler warnings
An awk script was used to generate the changes. Hand editing was also
required:
function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
BEGIN {
}
/invalid conversion from ‘gpointer’/ {
split($0, file, ":"); # file-name line-number
split($0, fields, "[‘’]"); # get the typecast - these two characters are
UTF8 and are NOT the same
split(fields[6], cast, "*")
getline;
split($0, code, "[|=;]");
print "sed -i '" file[2]"s/"code[3]"/ static_cast<" cast[1] " *>("
trim(code[3]) ")/' " "./src/"file[1] ;
Colin Clark [Thu, 30 Mar 2023 16:00:17 +0000 (17:00 +0100)]
Change c-style typecasts to c++ style
Change the c-style typecasts inserted in commit
3de5f843397ae5f to c++
style static_casts
Colin Clark [Wed, 29 Mar 2023 18:27:41 +0000 (19:27 +0100)]
Fix more c++ compiler warnings
Colin Clark [Wed, 29 Mar 2023 15:41:11 +0000 (16:41 +0100)]
Fix some c++ compiler warnings
Colin Clark [Tue, 28 Mar 2023 17:51:01 +0000 (18:51 +0100)]
GTK4: button-press-event deprecated
GTK4 migration
- replace button-press-event with gtk_gesture_click
Colin Clark [Tue, 28 Mar 2023 17:26:44 +0000 (18:26 +0100)]
GTK4: button-press-event deprecated
GTK4 migration
- replace button-press-event with gtk_gesture_click
- include the mechanism for HAVE_GTK4 (but this is not for users)
Marcel Pol [Mon, 27 Mar 2023 09:22:33 +0000 (11:22 +0200)]
Add my name to translators
Marcel Pol [Mon, 27 Mar 2023 09:21:25 +0000 (11:21 +0200)]
Update Dutch translation (nl)
Colin Clark [Sun, 26 Mar 2023 18:11:50 +0000 (19:11 +0100)]
Update documentation for --selection options
Update man page and Help file/Reference for new command line options.
Colin Clark [Sun, 26 Mar 2023 17:53:05 +0000 (18:53 +0100)]
Ref #1025: "Move to trash" does not do anything (cross-filesystem)
https://github.com/BestImageViewer/geeqie/issues/1025
Co-authored-by: BecauseTheWorldIsRound
- A warning dialog is displayed if trash fails
- A workaround is documented
Colin Clark [Thu, 23 Mar 2023 16:10:17 +0000 (16:10 +0000)]
Bug fix: Layout window id not set
If there is no geeqierc.xml file, the lw->options.id is not set. This
leads to a glib critical error in some cases.
Omari Stephens [Mon, 13 Mar 2023 03:02:32 +0000 (03:02 +0000)]
Adds a `--selection-remove` command to the remote API.
This allows removing any selected file from the selection set, either by filename or full filepath.
Omari Stephens [Mon, 13 Mar 2023 03:02:32 +0000 (03:02 +0000)]
Adds a `--selection-clear` command to the remote API.
This simply clears the current selection. Note that this _does not_ re-add the current image to the selection.
Omari Stephens [Mon, 13 Mar 2023 03:02:32 +0000 (03:02 +0000)]
Adds a `--selection-add` command to the remote API.
This allows adding any listed file to the selection set, either by filename or full filepath.
Note that this is responsive to the UI, so (for instance) will rely on which directory is open, and whether sidecars for a given file are expanded or not.
Omari Stephens [Mon, 13 Mar 2023 02:45:22 +0000 (02:45 +0000)]
Adds a `--get-selection` remote command that shows selected files (including sidecars) in the same style as `--get-filelist:`
Colin Clark [Sun, 19 Mar 2023 10:28:13 +0000 (10:28 +0000)]
Bug fix: keyword_store not initialized
If no geeqierc.xml file, the keyword_store was not initialized which
resulted in glib critical errors.
Colin Clark [Sat, 18 Mar 2023 15:28:43 +0000 (15:28 +0000)]
Bug fix: Glib Critical error when no configuration file
If geeqierc.xml does not exist, there is a critical error -
file_data_pool is not initialized.
Colin Clark [Sat, 18 Mar 2023 10:48:18 +0000 (10:48 +0000)]
Extended stack trace
- Extended stack trace using backward-cpp. Enabled by option "devel"
- Trap more signals when not using backward-cpp
- Remove tee stderr to log window - does not work with backward-cpp, but
is of low value
Colin Clark [Thu, 16 Mar 2023 10:29:45 +0000 (10:29 +0000)]
Bug fix in debug backtrace
Colin Clark [Thu, 16 Mar 2023 10:04:09 +0000 (10:04 +0000)]
Document animated webp files
Colin Clark [Mon, 13 Mar 2023 14:13:19 +0000 (14:13 +0000)]
Use webp-pixbuf-loader instead of image-load-webp()
webp-pixbuf-loader also supports animation
Colin Clark [Mon, 13 Mar 2023 13:50:31 +0000 (13:50 +0000)]
Fix #1067: Restore zoom quality after viewing a GIF
https://github.com/BestImageViewer/geeqie/issues/1067
Colin Clark [Fri, 10 Mar 2023 15:56:13 +0000 (15:56 +0000)]
Seg fault handler
- Local handler for seg. fault
- Stack dump on seg. fault
- Stack dump option in meson_options.txt
- Bug fix in DEBUG_BT()
Colin Clark [Fri, 10 Mar 2023 12:52:39 +0000 (12:52 +0000)]
Fix error in README - meson configure
Colin Clark [Fri, 10 Mar 2023 11:48:38 +0000 (11:48 +0000)]
Update usage documentation in plugins template
Colin Clark [Wed, 8 Mar 2023 13:02:45 +0000 (13:02 +0000)]
Bug fix: Remote option --list-add parameter
If the parameter to --remote --list-add: is not a full path to an
existing file Geeqie will crash.
Colin Clark [Sun, 5 Mar 2023 11:34:13 +0000 (11:34 +0000)]
Additional doc. for X-Geeqie-Filter in Sort Manager
Andreas Rönnquist [Sat, 4 Mar 2023 14:31:19 +0000 (14:31 +0000)]
Bug Fix: Use GResource for icon files
String concatenation error.
Colin Clark [Fri, 3 Mar 2023 16:44:55 +0000 (16:44 +0000)]
Use GResource for icon files
Colin Clark [Mon, 20 Feb 2023 14:06:21 +0000 (14:06 +0000)]
Include DEBUG_BT() and DEBUG_FD() functions
- DEBUG_BT print backtrace of Geeqie calls
- DEBUG_FD print dump of FileData hash file
Colin Clark [Mon, 20 Feb 2023 09:45:25 +0000 (09:45 +0000)]
Fix #1061: meson fails to detect strverscmp
https://github.com/BestImageViewer/geeqie/issues/1061
Delete Sort By Number option. Use Natural Sort Order on
Edit/Preferences/File Filters instead.
Colin Clark [Thu, 26 Jan 2023 13:15:17 +0000 (13:15 +0000)]
Fix #1002: New build-dependency xxd
https://github.com/BestImageViewer/geeqie/issues/1002#
Colin Clark [Sat, 21 Jan 2023 16:38:37 +0000 (16:38 +0000)]
Fix #1002: New build-dependency xxd
https://github.com/BestImageViewer/geeqie/issues/1002
Include checks for xxd or xxdi.pl in meson.build. If neither exist,
disable color management.
Tomasz Goliński [Sat, 21 Jan 2023 16:32:38 +0000 (16:32 +0000)]
Fix #1002: New build-dependency xxd
xxdi.pl doesn't accept output file as a second parameter and needs a redirect >. Since vim xxd in case of no second parameter uses stdout by default, it is safe to add a redirect in any case.
Colin Clark [Tue, 3 Jan 2023 16:17:51 +0000 (16:17 +0000)]
Fix #990: Display full-resolution embedded jpg from CR3 files
https://github.com/BestImageViewer/geeqie/issues/990
- Use libraw in preference to exiv2, as it will extract the largest
preview image from a .cr3 file
- Revise export-jpeg plugin to also use exiftool when it detects a
larger number of preview images than exiv2, and additionally include
image auto-rotate
Colin Clark [Tue, 20 Dec 2022 13:15:18 +0000 (13:15 +0000)]
Script to compile linuxdeploy on arm
Colin Clark [Tue, 20 Dec 2022 12:56:20 +0000 (12:56 +0000)]
Bug fix: Ensure LUA API is displayed in Help files
The source file suffix is now .cc and not.c
Colin Clark [Tue, 20 Dec 2022 11:13:40 +0000 (11:13 +0000)]
Bug fix: Typo in Help file
Colin Clark [Fri, 16 Dec 2022 15:11:21 +0000 (15:11 +0000)]
Note that Geeqoe can be run on Windows 11
Colin Clark [Tue, 13 Dec 2022 19:03:46 +0000 (19:03 +0000)]
Preferred date format for documenttaion
Use ISO format (YYYY-MM-DD)
Colin Clark [Tue, 13 Dec 2022 11:09:39 +0000 (11:09 +0000)]
Reminder to update Wikipedia entry in CHECKLIST.md
Colin Clark [Thu, 8 Dec 2022 15:59:27 +0000 (15:59 +0000)]
FIXME: this can be rather slow and blocks until the size is known
Instead of using image_loader() use gdk_pixbuf_get_file_info() to get
image size - this function reads only a small part of the file.
Colin Clark [Mon, 5 Dec 2022 10:42:50 +0000 (10:42 +0000)]
AppImage version update notification
If Geeqie is being run as an AppImage and the version on the server is
newer than the one currently being run, a fade-out message is shown on
start-up.
This can be disabled via an option on Preferences/General.
An Internet connection is required.
The option is not displayed if not being run as an AppImage.
Colin Clark [Wed, 30 Nov 2022 13:19:46 +0000 (13:19 +0000)]
Fix #841: Copy image(s) to clipboard as file(s)
https://github.com/BestImageViewer/geeqie/issues/841
In Preferences/Behavior ensure that clipboard Selection is set to
"Clipboard" or "Both".
Colin Clark [Sat, 26 Nov 2022 11:36:35 +0000 (11:36 +0000)]
Change filetype from .c to .cc in untranslated-text.sh
Colin Clark [Sat, 26 Nov 2022 11:33:53 +0000 (11:33 +0000)]
Fix #1051: Add meson option to allow disabling doxygen detection
https://github.com/BestImageViewer/geeqie/pull/1051/commits/
eaea66dec93dea0e7b1d3638961f4f32658ca602
Also include options for evince, git, pandoc and yelp-build
Greg Troxel [Tue, 22 Nov 2022 13:57:16 +0000 (08:57 -0500)]
Disable SIGBUS handler
This handler leads to undefined behavior. Further, it calls mmap in a
way that POSIX says must fail with EBADF. This commit returns to
simply taking SIGBUS if it occurs and exiting. If that happens, then
an issue can be created and a way forward discusssed. See
https://github.com/BestImageViewer/geeqie/issues/1052 for more
context.
Colin Clark [Thu, 24 Nov 2022 15:42:03 +0000 (15:42 +0000)]
Bug fix: Segfault during DnD
There will be a segfault when making a DnD from the files pane to the
folders pane if the image has an extremely high aspect ratio - when
rescaled to icon size the pixbuf width or height may round to 0.
Colin Clark [Tue, 15 Nov 2022 10:10:12 +0000 (10:10 +0000)]
Fix #1049: Please don't hardcode lua version in lua package name
https://github.com/BestImageViewer/geeqie/pull/1049
Colin Clark [Sun, 13 Nov 2022 10:33:32 +0000 (10:33 +0000)]
Fix #981: Missing color profile support for AVIF/HEIF and possible others formats
https://github.com/BestImageViewer/geeqie/issues/981
Colin Clark [Tue, 25 Oct 2022 14:09:35 +0000 (15:09 +0100)]
Fix #1037: Fullscreen loads black
The problem occurs when zoom is set to Original Size.
An extra reload is required to force the image to be displayed.
This is probably not the correct solution.
Eli Schwartz [Thu, 20 Oct 2022 20:21:13 +0000 (16:21 -0400)]
meson: distribute changelog when running `meson dist`, and install it
Installing without a changelog is still supported, if building without
git *and* without an official dist tarball.
Fixes #1044
Eli Schwartz [Wed, 19 Oct 2022 22:08:18 +0000 (18:08 -0400)]
meson: only run doxygen when building from git
It uses git commands.
Eli Schwartz [Wed, 19 Oct 2022 22:08:15 +0000 (18:08 -0400)]
fix unpredictable behavior in doxygen generator script
We know that SRCDIR is the location of doxygen.conf, and that it is ../
from the doc directory. But we don't know that the current working
directory of the script is the doc directory -- the reference version of
Meson currently sets that, but other implementations of Meson such as
muon (c99) set it to the project root. Meson's own documentation says to
NOT rely on this as it is officially unspecified.
The solution is actually super simple though, because we already pass
the project root as a script argument, so just... use that. :D
Eli Schwartz [Wed, 19 Oct 2022 22:08:12 +0000 (18:08 -0400)]
meson: run pandoc as a build time rule
We don't need a proxy shell script at all, as it turns out. And Meson
can verify that the command succeeded, or update the built HTML if the
README itself changes.
Eli Schwartz [Wed, 19 Oct 2022 22:08:08 +0000 (18:08 -0400)]
meson: migrate ChangeLog generator to a proper build target
We still run the same script. But now it is run at build time, not
configure time, and Meson checks that it successfully ran -- it
really, really, really, should.
That is, assuming that git is installed and this is a git repo. If not,
we can simply refrain from running anything at all, instead of checking
the return code of gen_changelog.sh
Eli Schwartz [Wed, 19 Oct 2022 22:07:52 +0000 (18:07 -0400)]
meson: only calculate the version once
Once set in project() it will make that value accessible without
re-running a shell script, which speeds up configuration slightly due to
less forking.
Bernard Cafarelli [Tue, 18 Oct 2022 13:21:44 +0000 (15:21 +0200)]
Allow to use xxdi, lightweight alternative to vim's "xxd -i"
xxdi [0] is a lightweight script that can replace "xxd -i", which is now
needed to build geeqie. This is helpful on systems not running vim.
This checks for its availability on the system and falls back to
existing vim mode if not installed.
[0] https://github.com/gregkh/xxdi
Colin Clark [Sun, 16 Oct 2022 08:52:35 +0000 (09:52 +0100)]
Include arm64 AppImages
Colin Clark [Fri, 7 Oct 2022 12:58:41 +0000 (13:58 +0100)]
Bug fix: check-compiles.sh
- Did not change compilers correctly.
- Use --auto-features option
Colin Clark [Fri, 7 Oct 2022 09:57:24 +0000 (10:57 +0100)]
Remove unused functions
Most have been simply commented out, in case they may be of use in the
future
Colin Clark [Thu, 6 Oct 2022 14:19:44 +0000 (15:19 +0100)]
Remove redundant includes
The program deheader was used to create a list of redundant headers:
https://gitlab.com/esr/deheader
This change was necessary in the deheader python file:
command = maker
This script was run:
if [ $(echo $CFLAGS | grep -c "Werror-implicit-function-declaration" )
-ne 1 ]
then
export CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
fi
rm -r build
meson setup build
ninja -C build
for file in "$@"
do
filename=${file##*/}
filestem=${filename%.*}
$HOME/bin/deheader/deheader -m 'ninja -C build' -i
"$filestem.h" "$file" # include -r for final run
touch "$file"
done
Colin Clark [Wed, 5 Oct 2022 13:11:17 +0000 (14:11 +0100)]
Include cppcheck configuration file
Omari Stephens [Sun, 4 Sep 2022 22:52:54 +0000 (22:52 +0000)]
Avoids C linkage in geeqie files now that we're trying to compile everything as C++
zonedetect.h and whereami.h are external libraries, so they're left as-is.
Omari Stephens [Fri, 26 Aug 2022 17:34:50 +0000 (17:34 +0000)]
Adds warning-as-error suppressions for C conventions that are deprecated in C++
Omari Stephens [Sun, 4 Sep 2022 21:18:21 +0000 (21:18 +0000)]
Changes language for Geeqie's source files from C to C++ by renaming 'src/**.c' files to 'src/**.cc'.
commit auto-generated with:
$for file in $(find src/ -type f -iname '*.c'); do ccfile=$(echo "$file" | sed -e 's#\.c$#.cc#'); git mv -- "$file" "$ccfile"; done
Omari Stephens [Sun, 4 Sep 2022 21:03:14 +0000 (21:03 +0000)]
Manual .c->.cc fixups