aboutsummaryrefslogtreecommitdiff
path: root/fiv.c
Commit message (Collapse)AuthorAgeFilesLines
* Prepare for parallelized colour managementPřemysl Eric Janouch2024-01-281-2/+0
| | | | | | | | | This rewrite is more or less necessary for: - colour-managed browser thumbnails, - asynchronous image loading, - turning fiv-io into a reusable library. Little CMS has a fairly terrible API in this regard.
* Improve browser view stylingPřemysl Eric Janouch2024-01-261-2/+6
|
* Move colour management to its own compilation unitPřemysl Eric Janouch2024-01-261-9/+1
| | | | | | Also make it apparent that CMM profiles are pointer types. This isn't all that pretty, but it's a necessary first step.
* Add a --collection togglePřemysl Eric Janouch2024-01-261-4/+7
| | | | One possible use of it is to avoid thumbnailing the parent directory.
* Decrease sidebar paddingPřemysl Eric Janouch2024-01-261-1/+2
| | | | Nothing fits in there normally, it's about time to acknowledge that.
* Switch to a GAction-based menuPřemysl Eric Janouch2023-08-071-116/+215
| | | | | | | | | | | The new menu has a few more entries, and shows accelerators. Most shortcuts have now moved from on_key_press() to actions, and Alt-Shift-D has started working on macOS. This also adds support for the global menu in macOS, and moves some accelerators/key equivalents to the Command key. There is no other easy way of accessing that global menu in GTK+.
* Fix build under CygwinPřemysl Eric Janouch2023-07-071-0/+1
|
* Centralize the project's URLPřemysl Eric Janouch2023-06-261-1/+1
|
* Only show X11-specific option when it makes sensePřemysl Eric Janouch2023-06-251-0/+4
|
* Implement our own Preferences dialogPřemysl Eric Janouch2023-06-241-15/+104
| | | | And fix a resource leak.
* Make backspace go back in historyPřemysl Eric Janouch2023-06-221-0/+3
| | | | As on Windows.
* Improve compatibility with older dependenciesPřemysl Eric Janouch2023-06-101-1/+1
|
* Add support for the Little CMS fast float pluginPřemysl Eric Janouch2023-06-041-0/+10
| | | | | | On a sample of JPEGs, it improved loading speed from ~0.26s to ~0.15s. Unfortunately, it isn't normally installed.
* Shuffle code aroundPřemysl Eric Janouch2023-06-041-74/+76
|
* Convert to strictly non-unique GtkApplicationPřemysl Eric Janouch2023-06-041-93/+123
| | | | It's not pretty, but it works.
* Remove a macOS rendering bug workaroundPřemysl Eric Janouch2023-06-041-11/+0
| | | | Most important Cairo bugs seem to have been fixed recently.
* Process some GFileMonitor eventsPřemysl Eric Janouch2023-05-311-4/+14
| | | | So far, it's rather crude.
* Move FivIoModel to its own compilation unitPřemysl Eric Janouch2023-05-281-0/+1
|
* Revise documentation and help outputPřemysl Eric Janouch2023-04-171-14/+28
| | | | Split out clearly internal options.
* Make supported media type listing output uniquePřemysl Eric Janouch2023-04-171-2/+4
|
* Fix history behaviourPřemysl Eric Janouch2023-04-161-28/+27
| | | | | | When starting in A/B, then manually going up to A, and back down to A/B, going back in history to A was impossible, because it would actually end up being a /forward/ entry.
* CleanupPřemysl Eric Janouch2023-04-161-20/+31
|
* Avoid needless data duplicationPřemysl Eric Janouch2023-04-151-21/+21
| | | | And turn the initial load hack into somewhat clean-looking.
* Deduplicate file information structuresPřemysl Eric Janouch2023-04-141-2/+2
|
* Move and extend the browser toolbarPřemysl Eric Janouch2023-04-111-111/+217
| | | | | | This makes the user interface more cohesive, and easier to use. Both toolbars should ideally be made configurable.
* Add optional browser filename labelsPřemysl Eric Janouch2023-04-111-0/+21
|
* Add directory tree traversal functionalityPřemysl Eric Janouch2023-04-051-1/+34
| | | | Thus far merely bound to the [ and ] keys in the browser.
* Integrate online reverse image searchPřemysl Eric Janouch2023-03-151-4/+43
| | | | | | | | | | | 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.
* Make binaries say what git commit they come fromPřemysl Eric Janouch2022-08-131-3/+8
| | | | | The manual skipping of the initial "v" from tag names is unfortunate, but still a bit better than further cluttering up the build system.
* Resolve a few issues with MSYS2 cross-buildsPřemysl Eric Janouch2022-08-111-1/+7
| | | | | | | - 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.
* Fix the argument list of a callbackPřemysl Eric Janouch2022-08-101-1/+2
|
* Overload the F9 keyboard shortcutPřemysl Eric Janouch2022-08-091-7/+7
| | | | | | | It doesn't make a lot of sense to be able to toggle invisible widgets, so just make F9 toggle "the toolbar that can currently be seen". The more permanent setting can be adjusted in GSettings.
* Support opening collections of filesPřemysl Eric Janouch2022-08-081-27/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a process-local VFS to enable grouping together arbitrary URIs passed via program arguments, DnD, or the file open dialog. This VFS contains FivCollectionFile objects, which act as "simple" proxies over arbitrary GFiles. Their true URIs may be retrieved through the "standard::target-uri" attribute, in a similar way to GVfs's "recent" and "trash" backends. (The main reason we proxy rather than just hackishly return foreign GFiles from the VFS is that loading them would switch the current directory, and break iteration as a result. We could also keep the collection outside of GVfs, but that would result in considerable special-casing, and the author wouldn't gain intimate knowledge of GIO.) There is no perceived need to keep old collections when opening new ones, so we simply change and reload the contents when needed. Similarly, there is no intention to make the VFS writeable. The process-locality of this and other URI schemes has proven to be rather annoying when passing files to other applications, however most of the resulting complexity appears to be essential rather than accidental. Note that the GTK+ file chooser widget is retarded, and doesn't recognize URIs that lack the authority part in the location bar.
* Don't crash on orphan URIsPřemysl Eric Janouch2022-08-081-0/+4
|
* Make Alt+Return work in the browser as wellPřemysl Eric Janouch2022-08-061-0/+1
|
* Integrate dconf-editorPřemysl Eric Janouch2022-08-051-0/+18
| | | | This is a more than adequate solution for now.
* Improve support for opening HTTP URIsPřemysl Eric Janouch2022-08-051-6/+23
| | | | | While all GVfs files implement the mountable interface, mounting may not actually achieve anything.
* Add support for copying to clipboardPřemysl Eric Janouch2022-08-041-0/+1
|
* Capitalize modifier names, prefer Command on macOSPřemysl Eric Janouch2022-08-041-22/+22
| | | | | | So far, the macOS special casing is only partial. Also, GtkShortcutsWindow confusingly labels Command as Meta.
* Make the switch-to-browser button select last filePřemysl Eric Janouch2022-07-261-5/+13
| | | | Before, it was only possible to achieve the same result using keyboard.
* Add sidebar/toolbar toggles to GSettingsPřemysl Eric Janouch2022-07-251-2/+8
|
* Add thumbnail size to GSettingsPřemysl Eric Janouch2022-07-251-4/+6
|
* Add a dark theme toggle to GSettingsPřemysl Eric Janouch2022-07-251-7/+16
|
* Make the window assume a centred position on macOSPřemysl Eric Janouch2022-07-231-0/+10
| | | | | | Windows and Linux applications are more likely to not bother, and their desktop environments don't place windows right in the corner, which is what happens with GTK+/macOS.
* Fix thumbnail passing on WindowsPřemysl Eric Janouch2022-07-221-0/+9
| | | | LF was converted to CR LF, systematically corrupting bitmap data.
* Fix a function name conflict on Mingw-w64Přemysl Eric Janouch2022-07-221-6/+6
| | | | | This could also be resolved through `#define NO_OLDNAMES`, however the function rather deserved a more precise name.
* Handle back/forward mouse buttons on Win32/macOSPřemysl Eric Janouch2022-07-221-0/+3
| | | | | There is no conflict with X11/Wayland, because 4/5 are the scroll wheel, which never gets forwarded to button-press-event.
* Print errors from launching new instancesPřemysl Eric Janouch2022-07-211-3/+5
|
* Fix the About dialog animation on macOSPřemysl Eric Janouch2022-07-171-0/+11
|
* Add a key binding for keeping the zoom/positionPřemysl Eric Janouch2022-07-171-1/+2
|