aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2025-10-18 17:47:25 +0100
committerPřemysl Eric Janouch <p@janouch.name>2025-10-18 17:47:25 +0100
commitbdd18fc898aa245c9a5b60491a336e5967498fa4 (patch)
tree56a608179cc57bdc150a22a3395be1a1822bc5d1
parentcf6ded1d03f0b78c18ba1a26fc3e3e6d77762f4b (diff)
downloadfiv-bdd18fc898aa245c9a5b60491a336e5967498fa4.tar.gz
fiv-bdd18fc898aa245c9a5b60491a336e5967498fa4.tar.xz
fiv-bdd18fc898aa245c9a5b60491a336e5967498fa4.zip
Very slightly improve file updates on macOS
-rw-r--r--fiv-io-model.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fiv-io-model.c b/fiv-io-model.c
index 3309702..6da3e3c 100644
--- a/fiv-io-model.c
+++ b/fiv-io-model.c
@@ -382,6 +382,9 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
switch (event_type) {
case G_FILE_MONITOR_EVENT_CHANGED:
case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
+ // On macOS, we seem to not receive _CHANGED for child files.
+ // And while this seems to arrive too early, it's a mild improvement.
+ case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
event = MONITOR_CHANGING;
new_entry_file = file;
break;
@@ -400,8 +403,6 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
new_entry_file = file;
break;
- case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
- // TODO(p): Figure out if we can't make use of _CHANGES_DONE_HINT.
case G_FILE_MONITOR_EVENT_PRE_UNMOUNT:
case G_FILE_MONITOR_EVENT_UNMOUNTED:
// TODO(p): Figure out how to handle _UNMOUNTED sensibly.